Jens Lippmann, Marek Rouchal, Martin Wilck and
others -->
Links
(a regular column in intelligence magazine)
Syed
S. Ali
University of Wisconsin - Milwaukee
Preface
This
month I am happy to feature an article written by a guest editor, Amruth N.
Kumar of Ramapo College of New Jersey. Professor Kumar's research focuses on
reasoning about function; he has organized workshops and published extensively
in this area. The next issue will feature an article on Natural Language
Generation.
Several
areas of Artificial Intelligence have studied ``devices'', such as Model-based
reasoning, Rule-based reasoning, Case-based reasoning, and Qualitative Physics
to name a few. A device is a collection of modular components, whose behavior
arises from the interaction of the behaviors of those components, e.g., a car,
doorbell, or an organization.
Traditionally,
two types of device knowledge are used for reasoning: structure and behavior.
The structure of a device consists of the components in the device and their
interconnections. E.g., a table lamp consists of a power cord, connected
through a switch to a bulb. The behavior of a device is the relationship
between its inputs and outputs. E.g., a switch can open or close an electrical
circuit. Function is a third level of device knowledge used for reasoning, and
is the relation between the goal of a human user (purpose) and the behavior of
the component. E.g., the function of the switch in the table lamp is to turn
the lamp on/off. Therefore, function relates objective knowledge about a device
(i.e., structure and behavior) to subjective notions of its utility.
Consider
the distinction between behavior and function: The behavior of a component is
defined independently of the device in which it is embedded, and can be
specified without considering any interaction among larger collections of
components in the device. On the other hand, the function of a component in a
device is identified with respect to the device, and can vary from one device
to another. Therefore, behavior is local in nature, whereas function is
dependent on the context, i.e., the environment in which a component is used.
A
word of caution: there is disagreement among researchers about the use of
terminology. Some researchers use the term function for behavior, and vice
versa. Others use the term function for purpose. However, they all use
structure, behavior and function as three distinct types of knowledge with
which to reason about a device. Once the reader resolves the terminology among
various research groups, this confusion will be merely annoying, and not
dis-orienting.
The
representations of function used by researchers may be categorized into two
types: state-based representations and flow-based representations. In state-based
representations, function is expressed in terms of behavior states and state
transitions in a device. The semantics of each unit of function is individually
defined. In general, state-based approaches do not provide predefined function
primitives, but a language for building user-defined functional units on
demand.
In
flow-based representations, function is expressed in terms of the flow of
matter, energy and information among devices. Function primitives are defined
in terms of their effect on the flows. A set of these primitives is made
available, and functions of all encountered components are expressed in terms
of these primitives.
State-based
representations have the advantage that they provide the modeler the
flexibility to control the resolution of a representation by choosing the
appropriate behavioral states. Flow-based representations on the other hand
have the advantage that the representation is not subjective: given a set of
function primitives for a domain, the flow-based function model of a device
does not vary from one modeler to another. The two formalisms capture different
intuitions about a device, and could be used in a complementary fashion.
Weak
methods such as search, constraint propagation, and deduction are attractive
because of their generality, but typically in AI systems, domain-specific
knowledge is thrown in to improve their efficiency. Function is one such source
of knowledge about devices.
When
Model-based and Qualitative Reasoning systems use only structure and behavior
knowledge, for most non-trivial applications, their result is not sufficiently
constrained. E.g., a model-based diagnosis system may flag a large number of
components in a device as being suspect. In such cases, function is used to
improve the resolution of reasoning, i.e., eliminate many of the components
from further consideration in our example above.
Function
is being used in a wide variety of AI fields, including design, redesign,
diagnosis, vision, robotics, natural language processing, software debugging
and explanation generation. A few representative applications follow: Function
has been used to model large industrial systems, and to diagnose and redesign
such systems. It has been used to automate failure modes and effects analysis
of automobiles. It has been used to design software and hardware (such as a
photocopier) to enable reuse of components. It has been used by agents to learn
the function of objects, and analyze their suitability for a particular task.
Most of these applications and others have been discussed in the journal,
conference and workshop resources listed below. Individual references are being
withheld in this section for fear of omission.
Following
are some regular conference tracks and workshops held on ``Reasoning about
Function'':
·
Special
Tracks on Reasoning About Function (STRAF) held since 1995 at the International
FLAIRS conference, an annual international conference. For the next STRAF
event, visit http://orion.ramapo.edu/~csconf/straf/cfp.html
For past STRAF events, visit the STRAF site: http://www.dimi.uniud.it/~chittaro/straf.html
·
The
workshops on Functional Modeling held annually by the International Functional
Modeling and Application Association (IFMAA). Details may be found at:
http://www.enre.umd.edu/ifmaa/
At this site, you can also find abstracts of the
papers presented at the workshops, information for ordering the proceedings of
the workshops, and a roster of over 100 members of IFMAA.
·
The
series of workshops held during The National Conference on Artificial
Intelligence (AAAI) and International Joint Conference on Artificial
Intelligence (IJCAI): AAAI 93, Washington D.C., 7/11/93, AAAI 94, Seattle, WA,
8/3/94, IJCAI 95, Montreal, CA, 8/19/95, AAAI 96, Portland, OR, 8/4/96, IJCAI
97, Nagoya, Japan, 8/23/97 and AAAI 98, Madison, WI, 7/26/98. (These workshop
reports are not available except from participants.)
Following
are some special issues on ``Reasoning about Function'' that have appeared in
international journals in the past five years:
·
Special
issue of Artificial Intelligence in Engineering Journal on 'Reasoning
about Function', A.N. Kumar and L. Chittaro, ed., Vol 12(4), 10/98.
·
Special
issue of Reliability Engineering and System Safety Journal, on
'Functional Modeling Application to Complex Engineering Systems', M. Modarres,
ed., Vol. 64(2), 5/99.
·
Special
Issues of Applied Artificial Intelligence, An International Journal, on
'Function-based Reasoning', D. Allemang, D.Franke, J. Hodges, A. Kumar, J.
McDowell, J. Sticklen and S. Upadhyaya, ed., Vol 8(2), 8/94 and Vol 9(1), 1/95.
Following
are some tools that are available for use by third parties:
·
MFM
toolkit: MFM is a flow-based representation of function, which has been used
extensively in Europe and the U.S. This toolkit is currently being updated. For
details, visit http://www.dit.lth.se/~janeric/
·
DML-US-2000
is a commercial tool to build hierarchical models for simulation, diagnosis,
monitoring and control. It also uses a flow-based representation of function.
For details, visit http://www.DMLInternational.com
Finally,
if you would like to be included in a mailing list of researchers interested in
``Reasoning about Function'', please send me email at amruth@ramapo.edu.
The
author wishes to thank Luca Chittaro and James McDowell for their feedback on
drafts of this article.