Model Synthesis for Model-Based Fault Analysis
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Model Synthesis for Model-Based Fault Analysis Claudia Picardi and Luca Console and Daniele Theseider Dupr´e
Abstract.Several model-based reasoning tasks benefit from the
use of models at multiple levels of abstraction,where a system is de-
scribed hierarchically as a set of subsystems(which can in turn be
decomposed down to basic components).Providing models at mul-
tiple level of abstraction by hand is not an option because it would
easily lead to inconsistencies.In this paper we propose an approach
to synthesize the model of a subsystem starting from the models of
its components with the goal of making it usable for a human mod-
eller.In particular,we aim at producing a model which is reasonably
compact(thus trying to avoid redundancies)and is expressed in the
same intensional format(i.e.the same constraint language)and with
the same modelling style as the original low-level models.This ap-
proach is thought as part of a software tool for fault analysis and
diagnosis.Several tasks could in fact benefit from automated model
synthesis,in particular model validation and debugging.
1Introduction
Models at multiple levels of abstraction or automatic model abstrac-
tion have been used in model-based reasoning for hierarchical can-
didate generation and test generation,or in general for improving
the efficiency of reasoning,across the whole history of MBR(e.g.,
[11,3,6,1,8,10,12]).
In this paper we address a different issue related to such multiple
models,namely the synthesis of a subsystem model from its compo-
nents models,derived as a simplification of their mere aggregation.
A main goal of this work is making the result readable for a human
modeller,to ease model validation and debugging.
The issue we deal with is related to both types of abstraction that
have been identified in MBR.Thefirst type is structural abstraction
in the component-oriented approach,where a system is described
in terms of subsystems,which can in turn be decomposed in terms
of further subsystems,down to basic components.A second type is
behavioural abstraction,where a detailed behaviour can be mapped
to an abstract behaviour using several abstraction operators such as
value abstraction(collapsing several values of a variable to a single
one)and deletion of variables.The two types of abstraction can be
combined to provide a behavioural abstraction of a subsystem model,
based on its detailed behaviour expressed in terms of its components
models.
Our goal is to exploit a form of combined abstraction in order to
evaluate at a higher level the consequences of modelling choices at
lower levels.In fact,it is well known that“modelling is the prob-
lem”for model-based reasoning.All models are abstractions of real
behaviours;choosing the right model for a system or a component
proach.Section 4explains our proposal for Model Synthesis,which is organized in three steps:Constraint Filtering,Constraint Selection and Constraint Aggregation.Section 5presents detailed results on the running example.Finally,section 6discusses the approach and outlines future work.
2The Goal
The goal of Model Synthesis is to generate a compact description of a subsystem behaviour from a combination of behaviour modes of its components.The subsystem is given as a pair C OMPS S TRUCT ;each component C OMPS has a set of finite-domain variables ,and we denote by the set of all components variables,that is
.
For each we moreover fix a behaviour mode ,given as a set of constraints over .We do not make any specific assumption on the constraint language used in mode definitions since the user is free to define the constraints she prefers.However,we assume that the constraint language contains at least the equality and inequality con-straints.Equality constraints are also used to represent connections between components,so that the whole subsystem can be expressed as a set of constraints.
Finally,we choose a set of variables ,which contains the variables that are interesting from the point of view of the subsys-tem.This choice means that the synthesized model does not need to constrain variables in ,unless they are needed for relating variables in without introducing new constraints.As an example,suppose that and ,where all the variables have boolean values.If constraints in are
and then,in order to reuse existing constraints
without introducing new ones,we need to keep in the synthesized
model.If,on the other hand,
then we do not need ,nor we need the second constraint.A synthesized model is a subset of that is equivalent to wrt the variables in [5];is an optimal synthesized model if it is minimal in cardinality.Building an optimal synthesized model would require an exhaustive search;we will use a greedy heuristic in order to keep reasonably small without of course giving up the equivalence with .
3Running Example
a flow reaches the actuator the pressure extends a mobile part of the actuator itself (variable E represents the extension,means there is an extension while means there is not.We consider also the value
which represent a retraction).When there is an extension,the pressure also generates a flow towards Out .
In figure 1each gray box represents a hydraulic interface ,that is group of hydraulic variables that are simultanously connected;more precisely,each interface contains three variables:Q ,P and R .Q rep-resents a flow.P represents the pressure in the circuit.R represents some local situation of extreme pressures.R is mainly useful in cir-cuits where the directions of flows can change depending on the pres-ence of leakages or blocks.
Thus each component has the following variables:
Pump:C,In.Q,In.P,In.R,PUout.Q,PUout.P,PUout.R (PUout is the interface connected to the pipe);
Pipe:PIin.Q,PIin.P,PIin.R (PIin is the interface connected to the pump),PIout.Q,PIout.P,PIout.R (PIout is the interface con-nected to the actuator);
Actuator:Ain.Q,Ain.P,Ain.R (Ain is the interface connected to the pipe),Out.Q,Out.P,Out.R,E .
From the point of view of the subsystem,the interesting variables are of course the external inputs and outputs,thus we have
C In.Q In.P In.R Out.Q Out.P Out.R E
The component models include the ok mode for all components and fault modes such as failed for the pump and heavy leakage for the pipe.
We will not provide complete models for the components;how-ever,we will highlight relevant parts of such models throughout the paper,in order to explain the main features of our approach.
In particular,throughout section 4we will refer to the model of the system for the mode assignment where all components are in the ok mode.
4Model Synthesis
We can divide the Synthesis process into three phases:Constraint Filtering ,Constraint Aggregation and Constraint Selection .Be-fore giving the details of each phase,let us give a sketch of the whole whole process is a table ref containing in (called -tuples )that satisfy all the table for the Hydraulic Actuation Subsys-there are 20‘legal’-tuples as follows:
pressure as in an inactive circuit,an outgoing flow,represents an no flow;a heavy leakage in the circuit,that means there is no anomaly in the flow such as a closed valve or an some trivial redundancy from ;the synthesized model is carried out by Con-is to start from the empty set of constraints,
C In.P Out.Q Out.R
000-1
0000
0001
000-1
0000
0001
010-1
0100
0101
010-1
0100
0101
1001
1001
10-1-1
10-10
1101
1101
11-1-1
11-10
In an integrated modelling environment,such a table is generated also for other fault-related analyses,such as diagnosability analysis or FMEA(Fail-ure Mode and Effects Analysis).
belonging to the group and different from we add a con-straint.
Example.The full table for the Hydraulic Actuation Subsystem al-lows us tofind out that the inputflow to the pump(variable In.Q)is always equal to the inputflow of the actuator(variable Ain.Q)and also to the extension of the actuator(variable E).
We select In.Q as representative,and substitute the other two vari-ables with it in every occurrence.For example,the actuator model (and thus)contains the constraint:
Ain.Q Out.P
In this constraint becomes:
In.Q Out.P
Then,since E belongs to,we add the constraint E In.Q.
Once these substitutions have been carried out,we check for con-straints that have become trivially useless.More precisely we have that:
1.constraints whose variables have been all substituted with con-
stants are removed;
2.constraints that mention only one variable(with one or more oc-
currences)are checked in order to see if they constrain the variable value;if not,they are removed,otherwise they are replaced with equality or inequality constraints.
Example.The model of our actuator contains the constraint:
AIn.Q E
Due to variable replacement,in this constraint becomes:
In.Q In.Q
The constraint now mentions only one variable(In.Q)and does not constrain its value,thus it is removed from.
4.2Constraint Selection
The purpose of constraint selection is to build a synthesized model ,trying to minimize the number of constraints in.This can be seen as a S ET C OVER problem[2]:given afinite set and a family of subsets of such that each element of belongs to at least one subset in(that is,covers),find a minimum-size subset such that covers as well.
In our case the set to be covered is the set of all-tuples not appearing in ref,that is the-tuples that must be discarded.The family is represented by:in fact,we can see each constraint as the set of tuples discarded by it.An optimal solution would be a minimum-size set of constraints that discards all the-tuples not in ref
.
Finding such an optimal solution is an intractable problem(S ET C OVER is NP-complete);however it is well known[2]that a good approximation algorithm for S ET C OVER that runs in polynomial time is the greedy algorithm:at each step we choose the set that cov-ers most of the uncovered elements in.
Thus a good algorithm for building is the following.
Input:
:set of all constraints in.
Algorithm:
1.Start with.
2.Initialize as the set of all-tuples not appearing in ref.
3.For each constraint evaluate
satisfies.
4.If,for some,then.
5.Choose such that is minimum.
6..
7..
8.If then go to step3.
9.Return.
Step5actually carries out the greedy choice,by selecting the con-
straint which discards more-tuples.If a constraint does not dis-
card any tuple,we can assume it is either not constraining at all,or
it is subsumed by previously added constraints.In this case,the con-
straint is removed(step4)from the pool of selectable constraints in
order to avoid unnecessary computations.
Unfortunately,as it is,this approach works only partially.More
precisely,it works only if all the constraints in mention only vari-
ables in,which is a rather infrequent circumstance.The problem
is that constraints mentioning variables not belonging to can eas-
ily be‘misjudged’in step5,or even improperly removed in step4.
Let us consider a very simple example that well illustrates the sit-
uation.Suppose we have while,with all
variables ranging over.
Now suppose that ref is as follows:
The full model contains other constraints mentioning PUout.R,thus there
are other possible completions.
atomic constraints.
Constraint Selection:performs12iterations..The number of constraints that are detected as useless in thefirst iteration is. The resulting model is the following:
In.Q Out.Q(1)
E In.Q(2)
In.Q(3)
PUout.R Out.R(4)
In.Q PUout.R(5)
In.Q Out.P(6)
C PUout.R Out.R(7)
C PUout.R In.Q(8)
C PUout.R In.R(9)
C In.P In.Q(10)
C In.P In.R(11)
C In.P In.Q(12)
C In.P In.R(13) Let us focus on a fragment of this model,the one that describes the behaviour of the subsystem when the pump is on(C)and there is nothing blocking theflow after the actuator(Out.R).This part of the behaviour is expressed by constraints1,2,4,5,6,8,9.Now let us look at the parts of the original model that describe the subsystem in the same situation.
From the Pump model:
C PUout.R PUout.P(14)
C PUout.R In.Q(15)
C PUout.R PUout.Q(16)
C PUout.R In.R(17)
C PUout.R PUout.P(18)
C PUout.R In.Q(19)
C PUout.R PUout.Q(20)
C PUout.R In.R(21) From the Pipe model:
PIout.P PIin.P(22)
PIout.Q PIin.Q(23)
PIout.R PIin.R(24) From the Actuator model:
Ain.Q(25)
Ain.R Out.R(26)
Ain.Q E(27)
Ain.Q Out.P(28)
Ain.Q Out.Q(29)
Ain.Q Ain.R(30) Each of the constraints in can be seen as a result of Constraint Filtering:either because it has been added in that phase,or because Constraint Filtering has derived it from a constraint in.For the model fragment we are considering we have that1derives from23, 4from26,5from30,6from28,8from19and9from21.Constraint 2is instead directly added during the Constraint Filtering phase.
As to constraints in that do not appear,even trasformed by Constraint Filtering,in,we can make the following remarks: constraints14,15,16,17do not remove any-tuple:in the con-text we are considering,PUout.R is always false; constraint18does not participate in any relation among variables of;
constraint20is subsumed by1and8;
constraints22,24are deleted during Constraint Filtering because they become tautologies of the form;
constraint27is subsumed by2;
constraint29is subsumed by1.
Constraint Filtering is a key step:constraints coming from dif-ferent component models and thus involving different variables are transformed so that they all constrain the same variable values.As a result,some of them become redundant and can be excluded from the synthesized model.
For example,the fact that the inputflow is the negation of the outputflow is true for the pump,for the pipe and for the actuator, but it is expressed with a different set of constraints for each of them.Constraint Filtering transforms these constraints so that they relate the global in and outflows of the whole subsystem,rather than the local ones.thus contains constraints expressing the same relation in three different ways(one for each component model). Since constraint1is the one expressing it in the most compact way, it is selected for the synthesized model.
Experiment B:pump in failed mode,other components in ok mode. In this mode the pump does not produce anyflow in the pipe even if the command is on.
Original model size:.
Constraint Filtering:.
Constraint Aggregation:with8atomic constraints from plus1complex constraint obtained by completing partial atomic constraints.
Constraint Selection:performs5iterations..
Experiment C:pipe in heavy leakage mode,other components in ok mode.In this mode theflow from the pump is lost and does not reach the actuator.
Original model size:.
Constraint Filtering:.
Constraint Aggregation:with25atomic constraints from plus78complex constraints obtained by completing partial atomic constraints.
Constraint Selection:performs9iterations..The number of constraints that are detected as useless in thefirst iteration is.
Experiments B and C involve faults that‘disconnect’interface variables:some outputs become constant and thus independent of the inputs.In this case Constraint Filtering is particularly effective.
6Conclusions and Future Work
In this paper we described an approach for synthesizing a simplified model of a subsystem from the models of its components for given behaviour mode assignments.
The approach is designed forfinite-domain qualitative models;in-finite or continuous domains would require,as usual for constraint processing,a different approach.
The approach has the human modeller as a main target;it is there-fore different from other approaches in the literature[11,3,6,1, 8,10,12]where the main goal is the direct use of an abstract or simplified model in the reasoning system.Model Synthesis has been devised as a tool to help in model debugging;thus it is expected to deal with small subsystems.Once a subsystem has been debugged, the synthetized model can be used in order to debug higher-level sys-tems where the subsystem acts as a component.
The results indeed demonstrated to provide direct relations among interface variables and include the simplifications that are allowed by the given context,in particular,those where behaviour modes set some variable to a constant value or break down the normal relation between inputs and outputs.
We have presented the approach in a general form,i.e.making no assumption on the constraint language used for modelling.Addi-tional information on the nature of the constraints used for modelling could definitely improve the approach,and in particular it could limit the number of complex constraints generated by Constraint Aggre-gation.A significant case is the one in which the causal relations between variables are known(as in[7,9,4]),and for each constraint we can distinguish inputs and outputs.In our case,when a constraint mentions a variable we can reason as follows:if is an in-put then the constraint should be paired with another where is an output,and viceversa.
Although Model Synthesis is mainly thought for model validation and debugging,we plan to evaluate the use of this approach,possi-bly extending it,for other purposes.In particular we believe it may be effective for multiple-level FMEA(Failure Modes and Effects Anal-ysis).In FMEA the goal is to analyze the effects of fault modes at component level on a subsystem or system.However one may want to analyze the effects on a system in terms of its subsystems,that is analyze the relation between effects at subsystem level and those at system level.This kind of analysis could be eased by using synthe-sized model for subsystems.This would however require an exten-sion of the approach,since each behaviour mode at subsystem level should be derived from a combination of fault modes at component level.
REFERENCES
[1]L.Chittaro and R.Ranon,‘Hierarchical diagnosis guided by observa-
tions’,in Proc.17th IJCAI,pp.573–578,Seattle,(2001).
[2]T.H.Cormen,C.E.Leiserson,and R.L.Rivest,Introduction to Algo-
rithms,The MIT Press,McGraw-Hill,1990.
[3]M.R.Genesereth,‘The use of design descriptions in automated diagno-
sis’,Artificial Intelligence,24(1-3),411–436,(1984).
[4] A.Y.Levy,Y.Iwasaki,and R.Fikes,‘Automated model selection for
simulation based on relevance reasoning’,Artificial Intelligence,96(2), 351–394,(1997).
[5]K.Marriott and P.J.Stuckey,Programming with Constraints:An Intro-
duction,MIT Press,1998.
[6]I.Mozetic,‘Hierarchical model-based diagnosis’,Int.J.of Man-
Machine Studies,35(3),329–362,(1991).
[7]P.Pandurang Nayak,‘Causal approximations’,Artificial Intelligence,
70(1-2),277–334,(1994).
[8]G.Provan,‘Hierarchical model-based diagnosis’,in Proc.DX01,12th
Int.Work.on Principles of Diagnosis,pp.167–174,Sansicario,Italy, (2001).
[9]J.Rickel and B.Porter,‘Automated modeling of complex systems to
answer prediction questions’,Artificial Intelligence,93(1-2),201–260, (1997).
[10]M.Sachenbacher and P.Struss,‘Automated qualitative domain abstrac-
tion’,in Proc.18th IJCAI,pp.382–387,Acapulco,(2003).
[11]M.Shirley and R.Davis,‘Generating distinguishing tests based on hi-
erarchical models and symptom information’,in Proc Int’l Conference on Computer Design,(1983).[12]G.Torta and P.Torasso,‘Automatic abstraction in component-based di-
agnosis driven by system observability’,in Proc.18th IJCAI,Acapulco, (2003).。