Functional Reasoning, Explanation and Analysis: A Collective View

Functional Reasoning,
Explanation and Analysis:
A Collective View and A Proposal
Behrouz HOMAYOUN FAR
Department of Information and Computer Sciences
Saitama University, Japan
Contents
1. Introduction
2. Functional reasoning research
3. Qualitative Function Formation (QFF)
4. Functional design using QFF
5. Implementation perspective
6. Discussion & Conclusion
Chapter 1 :
Introduction
Three levels of
human cognitive processes
Basic
Knowledge
Skill-based
(autonomus)
level
Knowledge-based
(cognitive)
level
Time
spent
Prior
experiences
Comparison
Search
Rule-based
(associative)
level
Information
processes
Analogy, deduction,
induction, etc.
Factors affecting "cognitive overload"
of human designer :
1. Information accessibility
Information for decision making inferred along
causal chains;
2. Control directness
Initiating actions whose effects propagate on causal
chains to a target variable
3. Counter-intuition
Anticipating system behavior limited by:
- Nonlinearities in device model;
- Neglecting influence of overlapping procedures;
- Unanticipated timing and coordination of events;
Definition:
Function & Functional reasoning
1. Function
Function is usually mentioned together with
"behavior" , "goal" or "purpose".
Making effort to obtain a certain "result" or "good".
Tied with intention of humans (in design).
"Function is a relation between the goal of a human user and the
behavior of a system. In an assembly, the function of a component
relates the behavior of that component to the function of the assembly. "
[BOBROW 84]
2. Functional reasoning:
Functional reasoning enables people to reason about :
Presence and function of objects in a containing system;
Derive the purpose of the system;
Explain how it can be achieved;
Chapter 2 :
Functional reasoning
research
Functional Reasoning Research-1
Artificial Intelligence
Explanation;
Planning and Design;
Conceptualization;
Teleology;
Means-End Analysis;
ALLAN’ 52
BECKNER’ 69
NAGEL’ 77
Philosophy
Explaining existence of
organs in an organism;
HEMPEL’ 59
CANFIELD’ 64
WRIGHT’ 73
CUMMINS’ 74
Biology
Functional Reasoning Research-2
FRANKE’ 91
DORMOY’ 88
PU’ 88
MURAKAMI’ 88
ULRICH’ 88
CHANDRASEKARAN’ 90
BRADSHAW’ 91
IWASAKI’ 92
BYLANDER’ 85
SEMBUGAMOORTHY’ 86
SHEKAR’ 90
KEUNEKE’ 91
FAR’ 91
Conceptualization Methods
DEKLEER’ 84
FALTINGS’ 87
JOSKOWICZ’ 87
FINK’ 87
ABU-HANNA’ 91
PUNCH’ 92
TEZZA’ 88
Planning and Design Methods
Explanation Based Methods
Functional Reasoning Problems
1. Identification Problem :
Explaining function of a device using knowledge of
structure and behavior of components;
2. Explanation Problem :
Explaining presence of a component in a system
in terms of its contribution to function of the system;
3. Selection Problem :
Selecting a set of components that if used together
can achieve a desired function;
4. Verification problem :
Verifying whether an object can exhibit a given
function in a given situation;
Functional Reasoning Assumptions-1
1. Functionality in State Transition
a. A physical phenomena can be explained in terms of
‘histories’ and ‘states’ [HAYES 79];
b. History that leads to a function displays certain
patterns [BIGELOW87];
c. A state representation addresses a certain
characteristic of ite refered object [MATTEN 88];
Therefore :
Function concepts are defined with reference to
discovering an order in the state sequence
S1
S2
Function
S3
Sn
Functional Reasoning Assumptions-2
2. Functionality in Component Pair
Defining function concepts in terms of interaction
between pairs of components;
Locality of Histories [HAYES 79];
Connectivity Hypothesis [FORBUS 87];
Paiwise Interaction of Parts [FALTINGS 87];
C4
C3
Interaction
C1
C2
Component C1
Component C2
Function
Chapter 3 :
Qualitative Function
Formation (QFF)
Technique
Qualitative Modeling Concepts
1. Qualitative Model
2. Qualitative Flow Graph (QFG)
3. Qualitative Process (QP)
4. Behavioral Fragment (BF)
Qualitative Function Formation:
Qualitative Modeling
The conventional qualitative model is extended to include
physical and protocol based interactions.
Qualitative Model (QM) :
i
[Y] = O[X] ‘D’ LN
[Y] = O[X] ‘D’ O[Z]
O = {M+ , M- , I+ , I- }
D = {‘when’ , ‘until’ , ‘default’ , ‘set’ , ‘resert’}
Qualitative Process (QP):
String of connected arcs of the graph representation of QM.
Behavioral Fragment (BF):
Characteristic behavior of the qualitative processes.
Derived by:
a. Dependency constraint satisfaction;
b. Landmark value identification;
Repetition Cycle:
Repetitive behavior of the qualitative variables.
Clock and Dependency Constraints
For each qualitative operation "clock" and
"dependency" constraints are defined and
evaluated to a mod-3 integer.
1. Present (+
- 1): Two events occure concurently;
2. Absent (0) : Two events do not occure
concurently;
3. True (+1): An event has accured;
4. False (-1): An event has not yet occured;
QFF expression
Clock constraint
2
2
2
2
[Y] = O[X] + O[Z]
(y = x ) or (y = z )
i
[Y] = O[X] ‘when’ L
y = x (-n -n )
N
i
[Y] = O[X] ‘until’ LN
[Y] = O[X] ‘default’ O[Z]
2
2
2
2
2
2
2
y =x +z
i
N
i
[Y] = O[X] ‘reset’ LN
2
2
2
(1 - x )
2
2
2
y = x (-n -n )
y = x (-n)
O
O
[Y]
[Y]
2
O
[Y]
2
O
[Y]
2
O
[Y]
y : [X]
x : [X]
z
[Y] = O[X] ‘set’ L
2
y : [X]
2
y : [Z]
y : [X]
y = x (-n)
2
Dependency constraint
2
2
(1-x ) : [Z]
O
2
O
[Y]
2
O
[Y]
y : [X]
y : [X]
[Y]
Qualitative Flow Graph (QFG)
QFG is a digraph represented by 4 sets:
QFG = { V, A, O, C}
V : nodes (qualitative variables)
A : arcs (qualitative relations)
A : C ---> O
O : ordinary qualitative relations
O = { M+ , M- , I+ , I- }
C : dependency constraints for
coordinative qualitative relations
For each A when C is evaluated to either
(+1) or (+1)
then O is enabled.
-
EXAMPLE : Pressure Tank System
Material Supply
Compressed
air
S1
CV6
J1
CV5
E1
N1
T2
F1
Liquid A
CV1
Liquid B
G1
To reservoir
F2
tank
CV4 CV2
G2
U1
K2
U2
K1
T1
Liquid A
CV3
T4
Liquid C
To reservoir
tank
To reservoir
tank
T3
Liquid C
Liquid D
Pressure Tank
K2
Ω cv3
CV3 :
U2
<7>
M+
M+
G1
<1>
CV1 :
I+
M+
F in/T1
M+
M+
I
I
U1
+
F out/T2
M+
HT2
+
M+
<2>
CV2 :
I-
I
HB/T2
+
K1
To other subsystems
Ω cv6
E1
F in/T2
A in/T1
<6>
CV6 :
M+
M+
I+
PT1
I+
Ω cv4
Aout/T2
G2
I+
<4>
CV4 :
M+
I-
P1
PT2
M+
I+
Ω cv5
CV5 :
N1
<5>
I-
P2
<1> :
ω2cv1 (−ωcv1 −ω2cv1 )
<2> :
ω2cv2 (−ωcv2 −ω2cv2 )
<3> :
ω2cv3 (−ωcv3 −ω2cv3 )
<4> :
HA/T2
IF1
Ω cv2
HT1
M-
<8>
M+
Dependency Constraints:
F T1
F out/T1
<3>
Ω cv1
To other subsystems
M+
M+
J1
To other subsystems
ω2cv4 (−ωcv4 −ω2cv4 )
<5> :
ω2cv5 (−ωcv5 −ω2cv5 )
<6> :
ω2cv6 (−ωcv6 −ω2cv6 )
<7> :
u 2 (−ω − ω2 )
2
cv3
cv3
<8> :
g 2 (−ω − ω2 )
2
cv1
cv1
Qualitative Process (QP)
A qualitative process (QP) is a unidirectional finite sequence of
Nodes (qualitative variables) of QFG
connected by
Conditional arcs (qualitative relations)
Qualitative Behavioral Fragment (BF) -1
1. "Behavioral Fragment" is the record of
landmark values for qualitative variables
of a qualitative process.
2. BF is derived by "Qualitative Simulation"
in two steps :
a. Dependency constraint satisfaction
for the arcs of qualitative process.
b. Landmark value identification of
qualitative variables.
Qualitative Behavioral Fragment (BF) -2
1. The simulator looks for the antecedents of
conditional arcs of a qualitative process.
2. Only active qualitative processes can
take part in simulation.
3. By clock and dependency analysis the
active processes are identified.
4. A conventional qualitative simulation
program derives landmark value for the
qualitative variables of active processes.
Qualitative Function Concept
1. A "Function" is derived if a repetition cycle
or persistence in the sequence of states
is detected on "Behavioral Fragment".
2. Function has two attributes:
a. Operationality
b. Repetition cycle
Operationality
Operationality is the sum of
enabling conditions for the arcs
of qualitative processes whose
"Behavioral Fragments" lead
to a "Function".
Repetition Cycle in Qualitative Behavior
1. Repetition cycle is defined for the variables
of qualitative state vector.
2. Qualitative state vector for a component
pair is composed of "Landmark values" of
the "Behavioral Fragments" for qualitative
variables of active processes.
3. Different repetition cycles can be detected
each representing a "function" from a
different viewpoint.
Qualitative Function Formation Technique
Modeling interacting
component pairs:
(QM, QFG, QP)
Qualitative
Simulation
Behavior of the processes:
Behavioral Fragments
(BFs)
Qualitative
Function
Formation
(QFF)
QM, QFG:
Qualitative Model and
Qualitative Flow Graph
showing the viewpoint
based on which interactions
are modeled, including timing
and coordination of events;
QP:
Qualitative Processes
addressing mechanisms
in component pair;
QFF:
Function
Qualitative Function Formation detecting regularity in
behavior of component pairs;
Chapter 4 :
Functional Design
Using QFF
EXAMPLE : Pressure Tank System
Material Supply
Compressed
air
S1
CV6
J1
CV5
E1
N1
T2
F1
Liquid A
CV1
Liquid B
G1
To reservoir
F2
tank
CV4 CV2
G2
U1
K2
U2
K1
T1
Liquid A
CV3
T4
Liquid C
To reservoir
tank
To reservoir
tank
T3
Liquid C
Liquid D
Pressure Tank
EXAMPLE :
<The pressure tank system>
J1
Identification of Functions
N1
Pressure Tank
CV5
T2
Supply
S1
CV4
E1
Liquid A
CV6
F2
G2
F1
G1
Liquid B
U1
[Ωcv3]
P"1 :
<1>
[Ωcv1]
P1 :
[G 1 ]
<5>
M+
M+
Dependency
Constraints
<2> :
u
<3> :
f
−ω2
cv3
U2
<3>
[HT1 ]
<7>
M-
cv3
2
(−ω −ω2
2
cv3 cv3
2
(1-f 2 )
out/T1
in/T1
K2
CV3
[F T1 ]
I+
[HT1 ]
[F T1 ]
[F in/T1 ]
<4>
ω 2cv3(−ω
To reservoir
tank
[F out/T1 ]
M+
<1> :
Recycle
To reservoir
tank
K1
<2>
M+
Liquid A
CV1
CV2
[U 2 ]
T1
<6>
<7>
M+
I+
)
<4> :
ω 2cv1(−ω
)
<5> :
g 22 (−ω
<6> :
f
2
in/T1
−ω2
cv1
)
cv1
−ω 2 )
cv1 cv1
<7> : h 2
T1
Process model of the tank T1 and valves CV1 and CV3
EXAMPLE :
<The pressure tank system>
J1
N1
Pressure Tank
CV5
S1
CV4
T2
Supply
E1
Liquid A
CV6
[Ωcv2]
G2
F1
G1
P2 :
[Ωcv2]
<1’>
M+
<1’>
P3 :
[Ωcv2]
<4’>
K1
[F out/T2 ]
[HB/T2 ]
<3’>
M+
I-
M+
<1’>
<2’>
[U 1 ]
Recycle
To reservoir
tank
To reservoir
tank
I +
[U 1 ]
Liquid A
CV1
CV2
[U 1 ]
T1
F2
Liquid B
U1
P4 :
Functional Explanation
U2
Process model of the valve CV2
K2
Dependency
Constraints
[HT2 ]
<1’> :
ω 2cv2(−ω
<2’> :
u 21 (−ω
<3’> :
h2
<4’> :
f
[K1 ]
M+
CV3
T2
2
out/T2
−ω2
)
−ω2
)
cv2
cv2
cv2
cv2
Φmax
Φ
Φmax
Φmin
<Qualitative Model of the devices>
[F]
<1>
M-
<2>
I-
+
<5> : I
P1:
[F]
P2:
[F]
P3:
[F]
P4:
[F]
f
<2> :
f
<3> :
f
<4> :
f
<3>
M+
[G]
<1> :
<3>
I+
<4>
I<2>
<4>
I+
M-
2
2
2
2
[Φ]
2
(-x-x )
2
(-y-y )
(−φ
(−φ
−φ
max
<5> :
) (-v)
max
) (-u)
max
2
2
g (-w-w ) (−φ
min
<5>
I+
[G]
max
−φ 2
max
2
[Φ]
[G]
2
g (-w-w ) (−φ
[Φ]
M+
<1>
2
<5>
I+
[Φ]
[Φ]
)
)
Chapter 5 :
Implementation
perspective
Implementation
1. Qualitative Function
Formation tool
2. Experimental design
system QFF2
Overview of the system
Library of
component
models
Design
input
Designer’s
goals
Design knowledge-base
Design
output
QFF reasoning engine
Experimental Design System QFF2
Experimental QFF2
The prototype system contains:
1. Data translator for converting component model
to data structure used in the knowledge base;
2. Reasoning (inference) engine + learning module;
3. Qualitative simulator;
4. Window-based user interface;
The knowledge base contains:
1. Frame representation of component model;
2. Frame representation of design goals/functions;
3. Frame representation of component pairs;
4. Frame representation of customized components;
A Simple Component Model
[F1]
[G1]
P2
P1
CV1
Control Valve
Model
11
12
13
14
15
14
15
16
17
18
19
20
21
22
23
COMPONENT CV1;
INPUT F1;
CONNECT P1,CV1;
OUTPUT G1;
CONNECT CV1,P2;
STATE S1;
CONDITION
TASK (F1 =
ENDSTATE S1;
NEXTSTATE S2;
STATE S2;
CONDITION
TASK (G1 =
ENDSTATE S2;
STOP;
(ω CV1
>0);
G1);
(ω CV1
=0);
0);
[G1]
P2
P1
CV1
Control Valve
Model
#end_methods
)
#ps
CV1
P1
(F1)
P2
(G1)
S1
(ω
CV1>0);
S2
(ω
CV1=0);
Null
methods
[F1]
(Valve CV1
@super_class
@name
@Connect_1
@Variables_1
@Connect_2
@Variables_2
@State_1
@Condition_1
@State_2
@Condition_2
@Parts
#methods
slots
Frame Representation of Component Model
Frame Representation of a Device
COMPONENTS 1
SYSTEM 1
TANK
TANK_T1
VALVE_CV6
VALVE
VALVE_CV5
VALVE_CV4
VALVE_CV3
COMPONENTS ...
VALVE_CV2
BLOCK ...
#PS
BLOCK 1
TANK_T2
Class Objects
VALVE_CV1
Instance Objects
(Tank T2
#ps
@super_class
(Tank T1
T2
@name
#ps
@super_class
P1
@Connect_1
T1
@name
@Variables_1 P1(F1)
(Valve @Connect_1
CV6
P2
@Connect_2
(F1)
@Variables_1
#ps
@super_class
@Variables_2 P2(G1)
(Valve
CV5
@Connect_2
CV1 S1
@name @State_1#ps
@super_class
(Valve CV4
@Variables_2
P1 (G1)
@Connect_1
CV1
@Condition_1
@name
#ps
S1
@super_class
@Variables_1
P1(F1) S2
(Valve
CV3 @State_1
@State_2
@Connect_1
CV1
@name @Condition_1
P2
#ps(F1)
@Connect_2
@super_class
@Condition_2
@Variables_1
P1
@Connect_1
(Valve
CV2 @State_2
CV1P2(G1) S2
@Variables_2
@name
)
@Connect_2
#ps(F1)
@Variables_1
@super_class
@Condition_2
S1
(ω
>0);
P1 (G1)
@State_1
@Connect_1
(Valve
CV1
CV1
@Variables_2
P2
CV1
@Connect_2
@name
)
#ps(F1)
@Condition_1
S1
(ω
>0);
@Variables_1
@super_class
@State_1
P1 (G1)
(ω
CV1 =0);
@Variables_2
@Connect_1
S2
CV1
CV1
P2
@State_2
@Connect_2
@name
@Condition_1
S1
(ω
>0);
(F1)
@State_1
@Variables_1
(ω
CV1 =0);
P1 (G1)
@Condition_2
S2
@Variables_2
@Connect_1
CV1
@State_2
P2
@Condition_1
@Connect_2
S1(ω Null
(ω
>0);
@Parts (F1)
@State_1
=0);
@Variables_1
@Condition_2
CV1
S2
(G1)
CV1
@State_2
@Variables_2
P2
#methods
@Condition_1
@Connect_2
@Parts
S1(ω Null
(ω
>0);
@Condition_2
@State_1
=0);
CV1
(G1)
S2
CV1
@State_2
@Variables_2
#methods
Null
@Parts
@Condition_1
@Condition_2S1(ω
@State_1
S2 CV1=0);
#methods
@State_2
(ω
>0);
Null
#end_methodsCV1
@Parts
@Condition_1
@Condition_2 S2
)
#methods
@State_2
#end_methods
Null
@Parts
(ω
=0);
@Condition_2
CV1
)
#end_methods
#methods
Null
@Parts
)
#end_methods
#methods
)
#end_methods
#end_methods
)
)
T1, CV4
T1, CV3
T1, CV1
T1, other
@Connect
@Variables
@State_1
#ps
PP2
(CV2,T2)
Ω CV2
H B/T2
( H
,U1,K1,
,
F
T2
out/T2
,
)
(CV2,T2)
( Ω CV2,U1,K1,
H B/T2
,
H T2, F out/T2
)
@Condition_1
@State_1
@State_2
@Condition_1
@Condition_2
@State_2
@Condition_2
@Function
@Function
Derived function
using QFF
T2, CV6
T2, CV5
T2, CV4
T2, CV2
T2, CV1
T2, other
(Pair PP2
@super_class
@name
(Pair PP1
@Connect
#ps
@super_class
@Variables
PP1
@name
#methods
#methods
#end_methods
#end_methods
)
)
Qualitative
model
COMP. PAIRS
SYSTEM 1
#PS
Frame Representation of Component Pairs
Experimental Design System QFF2
Design
Input
Input Pre-processing
(#INPUT_TO_FRAME)
Version library
frame structure
New &
revised
Input
Input frame
structure
Learning
(#LEARN)
Check
Component pair
frame structure
Customization
(#ADJUSTMENT)
Function frame structure
Design
goals/
functions
Goal Pre-processing
(#GOAL_TO_FRAME)
Output
frame structure
Output Post-processing
(#FRAME_TO_OUTPUT)
Functional Reasoning
(#QFF)
Design
Output
[G1]
P2
P1
CV1
Iconic model of
a control valve
COMPONENT CV1;
INPUT F1;
CONNECT P1,CV1;
OUTPUT G1;
CONNECT CV1,P2;
STATE S1;
(ω CV1>0);
CONDITION
TASK (F1 = G1);
ENDSTATE S1;
NEXTSTATE S2;
(ω CV1=0);
STATE S2;
CONDITION
TASK (G1 = 0);
ENDSTATE S2;
STOP;
Design input code
(Valve CV1
@super_class
@name
@Connect_1
@Variables_1
@Connect_2
@Variables_2
@State_1
(when_asked
@Condition_1
@State_2
(when_asked
@Condition_2
@Parts
#methods
method M1(
method M2(
#methods_end
)
#ps
CV1
P1
(F1)
P2
(G1)
S1
M1()) (ω CV1>0)
S2
M2()) (ω CV1=0)
Null
)
)
methods
[F1]
11
12
13
14
15
14
15
16
17
18
19
20
21
22
23
slots
A Simple Component Model
Implementation Perspective
Preliminary
Arrangement
has_subfunction
Designer
Desired Goal/
Function
Derived
Function
has_input
Compare
has_function
has_model
Version
Library
has_input
has_function
Qualitative
Model
Qualitative
Simulator
has_effect_on
has_record
has_value: Temporal &
Dependency Constraints
Designer
has_option
Component
Library
Designer’s
Decision:
(when, until, set,
reset, default)
addes_to
has_record
Customized
Component
has_question
has_joint
Component
Pairs
has_version
has_version
Interface
has_parts
SubFunction
Question
has_answer
Design
Document
Conclusion
1. Surveying functional reasoning research
2. Function formation technique (QFF):
a. Extending common qualitative models to include
interactions and timing of events by defining temporal
and dependency constraints;
b. Defining function concepts as interpretation of a
persistance or a cycle in sequence of qualitative states;
3. Implementation :
Implementing QFF in an experimental design tool
4. Future works :
a. Formalization of design input/output
b. Automatic generation of qualitative model
c. Implementing analogical learning
d. Application to fault diagnosis and tool utilization