using abduction and induction for operational requirements elaboration
DESCRIPTION
Using Abduction and Induction for Operational Requirements Elaboration. Dalal Alrajeh Oliver Ray Alessandra RussoSebastian Uchitel. AIAI 2007 Sept. 15 th 2007. System Development Cycle. Requirements. Requirements. Design. Implementation. Testing. Requirements Elaboration. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Using Abduction and Induction for Operational Requirements Elaboration](https://reader035.vdocuments.site/reader035/viewer/2022070400/56813569550346895d9cd098/html5/thumbnails/1.jpg)
Using Abduction and Induction for Operational Requirements Elaboration
Dalal Alrajeh Oliver RayAlessandra Russo Sebastian Uchitel
AIAI 2007Sept. 15th 2007
![Page 2: Using Abduction and Induction for Operational Requirements Elaboration](https://reader035.vdocuments.site/reader035/viewer/2022070400/56813569550346895d9cd098/html5/thumbnails/2.jpg)
2
System Development Cycle
Requirements
Design
Testing
Implementation
Requirements
![Page 3: Using Abduction and Induction for Operational Requirements Elaboration](https://reader035.vdocuments.site/reader035/viewer/2022070400/56813569550346895d9cd098/html5/thumbnails/3.jpg)
3
Requirements Elaboration
Operationalization Techniques
Goals:BookRequestSatisfiedOperations: checkOut,issueReminder,..Agents:System, borrower,..Objects:
book(found,borrowed,…)
Operation: checkOut Operation: IssueReminderPrecondition: Book Available Trigger condition:has been borrowed for at
least 2wks and there hasn’t been areminder within the last week
![Page 4: Using Abduction and Induction for Operational Requirements Elaboration](https://reader035.vdocuments.site/reader035/viewer/2022070400/56813569550346895d9cd098/html5/thumbnails/4.jpg)
4
Drawbacks
Patterns become too complex Restricted to pattern catalog Size of specification becomes too large
(some may be irrelevant) Lacks automated support
![Page 5: Using Abduction and Induction for Operational Requirements Elaboration](https://reader035.vdocuments.site/reader035/viewer/2022070400/56813569550346895d9cd098/html5/thumbnails/5.jpg)
5
Approach Overview
Partial System Specification (LTL)
Scenarios (LTL)
Operational Requirements(LTL)
(1)Transform into a logic program(2) Run ILP system
(3) Transform into Requirement
Using Abduction & Induction
![Page 6: Using Abduction and Induction for Operational Requirements Elaboration](https://reader035.vdocuments.site/reader035/viewer/2022070400/56813569550346895d9cd098/html5/thumbnails/6.jpg)
6
Mine Pump Controller
![Page 7: Using Abduction and Induction for Operational Requirements Elaboration](https://reader035.vdocuments.site/reader035/viewer/2022070400/56813569550346895d9cd098/html5/thumbnails/7.jpg)
7
Linear Temporal Logic A propositional logic for modeling event-
based systems over a linear temporal structure
The language is composed of– Boolean Propositions (P)– Boolean operators(, ,, )– Temporal Operators (, ,, U ,W)
*Propositions divided into two disjoint sets (event propositions and fluent propositions).
Pf={pumpOn, criticalMethane, highWater}
Pe={switchPumpOn, switchPumpOff, signalCriticalMethane, signalNoCriticalMethane, signalHighWater, signalNoHighWater}
![Page 8: Using Abduction and Induction for Operational Requirements Elaboration](https://reader035.vdocuments.site/reader035/viewer/2022070400/56813569550346895d9cd098/html5/thumbnails/8.jpg)
8
LTL Model
s0s1 s3s2signalNoHighWater
switchPumpOn switchPumpOff
signalNoHighWater
signalHighWater
Composed of a Labeled Transition System and a valuation function.
labels
Initial state
states
Transition Relation ={(s0,signalHighWater.s1),(s1, switchPumpOn,s2),…}
![Page 9: Using Abduction and Induction for Operational Requirements Elaboration](https://reader035.vdocuments.site/reader035/viewer/2022070400/56813569550346895d9cd098/html5/thumbnails/9.jpg)
9
LTL Model -2 The truth value of an event fluent at state si depends
on the ith transition label . The truth value of a fluent proposition depends on
the path and position in a path of a labeled transition system.
LTL formulae are interpreted over paths of a Labeled Transition System LTS
HighWater U signalNotHighWater
s0s1 s3s2signalNoHighWater
switchPumpOn switchPumpOff
signalNoHighWater
signalHighWater
HighWater HighWaterPumpOn
HighWater
![Page 10: Using Abduction and Induction for Operational Requirements Elaboration](https://reader035.vdocuments.site/reader035/viewer/2022070400/56813569550346895d9cd098/html5/thumbnails/10.jpg)
10
Partial System Specification-1
Partial System Specification (LTL)
Scenarios (LTL)
System Requirements(LTL)
Using Abduction & Induction
Partial System Specification
Initial state (0in) fi
(0jm) fj
Effect Axioms: (ef )
(e f )
Persistence Axioms: (f f W ET)
(f f W EI)
![Page 11: Using Abduction and Induction for Operational Requirements Elaboration](https://reader035.vdocuments.site/reader035/viewer/2022070400/56813569550346895d9cd098/html5/thumbnails/11.jpg)
11
Partial System Specification- 2
Mine Pump Partial System Specification
Initial state: e.g.pumpOn criticalMethane highWater
Effect Axioms: e.g. (switchPumpOn pumpOn ) (switchPumpOff pumpOn )
Persistence Axioms: e.g. (pumpOn pumpOn W switchPumpOn) (pumpOn pumpOn W switchPumpOff)
![Page 12: Using Abduction and Induction for Operational Requirements Elaboration](https://reader035.vdocuments.site/reader035/viewer/2022070400/56813569550346895d9cd098/html5/thumbnails/12.jpg)
12
Scenario Properties -1
Partial System Specification (LTL)
Scenarios (LTL)
System Requirements(LTL)
Using Abduction & Induction
Scenario PropertiesUniversal scenario Property: satisfied by all possible system behavior.
(i<n) i ei n ()en
Existential scenario Property: satisfied by at least one.
(1j<m) j ej m ()em
![Page 13: Using Abduction and Induction for Operational Requirements Elaboration](https://reader035.vdocuments.site/reader035/viewer/2022070400/56813569550346895d9cd098/html5/thumbnails/13.jpg)
13
Scenario Properties-2
Mine Pump Scenario PropertiesUniversal scenario Property:
signalCriticalMethane 2 signalHighWater 3switchPumpOn
Existential scenario Property: signalHighWater 2 switchPumpOnswitchPumpOn
![Page 14: Using Abduction and Induction for Operational Requirements Elaboration](https://reader035.vdocuments.site/reader035/viewer/2022070400/56813569550346895d9cd098/html5/thumbnails/14.jpg)
14
A Model of the Mine PumpswitchPumpOn
u1=signalCriticalMethane 2 signalHighWater 3switchPumpOn
e1=signalHighWater 2 switchPumpOne2= switchPumpOn
![Page 15: Using Abduction and Induction for Operational Requirements Elaboration](https://reader035.vdocuments.site/reader035/viewer/2022070400/56813569550346895d9cd098/html5/thumbnails/15.jpg)
15
Operational Requirements -1
Partial System Specification (LTL)
Scenarios (LTL)
System Requirements(LTL)
Using Abduction & Induction
Precondition Axioms:
((1jn) ()fj e )
Trigger-Condition Axioms:
((1km) ()fk e)
![Page 16: Using Abduction and Induction for Operational Requirements Elaboration](https://reader035.vdocuments.site/reader035/viewer/2022070400/56813569550346895d9cd098/html5/thumbnails/16.jpg)
16
Opertational Requirements -2
Mine Pump Operational Requirements:
Precondition Axioms: (criticalMethane switchPumpOn )
Trigger-Condition Axioms:
((highWater ¬ criticalMethene) switchPumpOn)
![Page 17: Using Abduction and Induction for Operational Requirements Elaboration](https://reader035.vdocuments.site/reader035/viewer/2022070400/56813569550346895d9cd098/html5/thumbnails/17.jpg)
17
The Task
Given Partial System Specification Spec and a set of Universal and existential scenario properties SPu and Spe, find a set of pre- and trigger conditions (Pre U Trig) such that:
Spec U (Pre U Trig) |= spu
Spec U (Pre U Trig) |=/= ¬spe
*Pre U Trig are called a correct extension of Spec
![Page 18: Using Abduction and Induction for Operational Requirements Elaboration](https://reader035.vdocuments.site/reader035/viewer/2022070400/56813569550346895d9cd098/html5/thumbnails/18.jpg)
18
Approach Overview
Partial System Specification (LTL)
Scenarios (LTL)
Operational Requirements(LTL)
(1)Transform into a logic program(2) Run ILP system
(3) Transform into Requirement
Using Abduction & Induction
![Page 19: Using Abduction and Induction for Operational Requirements Elaboration](https://reader035.vdocuments.site/reader035/viewer/2022070400/56813569550346895d9cd098/html5/thumbnails/19.jpg)
19
Event Calculus Logic Program Domain dependent axioms
– Initial State: initially(F,S)– Effect Axioms: initiates(E,F,T,S), terminates(E,F,T,S),
– Event Axioms: impossible(E,T,S):-(not) holdsAt(F1,T,S),.. triggered(E,T,S):- (not) holdsAt(F1,T,S),..
Narrative:– attempt(E,T,S).
Domain independent axioms– holdsAt(F,T2,S):- initially(F,S), not clipped(0,F,T2,S)– holdsAt(F,T2,S):- happens(E,T1,S), initiates(E,F,S,T1),T1<T2,
not clipped(T1,F,T2,S).– clipped(T1,F,T2,S):- happens(E,T,S), terminates(E,F,T,S), T1<T , T < T2.– happens(E,T,S):- attempt(E,T,S), not impossible(E,T,S)– happens(E,T,S):- attempt(E,T,S), triggered(E,T,S).– :- triggered(E,T,S) , impossible(E,T,S).
![Page 20: Using Abduction and Induction for Operational Requirements Elaboration](https://reader035.vdocuments.site/reader035/viewer/2022070400/56813569550346895d9cd098/html5/thumbnails/20.jpg)
20
Learning Event Calculus Programs
Given • Partial Set of Domain dependant axioms• Domain Independent axioms• Narrative• Event facts
Find • Additional Domain Dependant Axioms
that explain the event facts.
B
E
H
B U H |= E
![Page 21: Using Abduction and Induction for Operational Requirements Elaboration](https://reader035.vdocuments.site/reader035/viewer/2022070400/56813569550346895d9cd098/html5/thumbnails/21.jpg)
21
Sound Translation
For any fluent f and position i
, i |= f For any event e and
position i , i |= e
Obtaining program composed of (Spec)
– Nar={attempt(ei,i-1,s)| ei is the ith label in }
Given
– System Specification Spec
– A finite path =e1,e2,…
|= holdsAt(f,i, )
|= happens(e,i-1, )
![Page 22: Using Abduction and Induction for Operational Requirements Elaboration](https://reader035.vdocuments.site/reader035/viewer/2022070400/56813569550346895d9cd098/html5/thumbnails/22.jpg)
22
Step 1: Transform Specification into Logic Program -1
LTL Initial State Axioms
Initial state facts
pumpOn criticalMethane highWater
not initially(pumpOn,S). not initially(criticalMethane,S). not initially(highWater,S).
![Page 23: Using Abduction and Induction for Operational Requirements Elaboration](https://reader035.vdocuments.site/reader035/viewer/2022070400/56813569550346895d9cd098/html5/thumbnails/23.jpg)
23
Step 1: Transform Specification into Logic Program -2
LTL Effect Axioms
EC effect Axioms
(switchPumpOn pumpOn ) (switchPumpOff pumpOn )
initiates(switchPumpOn,pumpOn,T,S). terminates(switchPumpOff,pumpOn,T,S).
![Page 24: Using Abduction and Induction for Operational Requirements Elaboration](https://reader035.vdocuments.site/reader035/viewer/2022070400/56813569550346895d9cd098/html5/thumbnails/24.jpg)
24
Step 1: Transform Specification into Logic Program -3
Scenario PropertiessignalCriticalMethane 2 signalHighWater 3switchPumpOn
Narrative
attempt(signalCriticalMethane,0,u1).attempt(signalHighWater ,1,u1).attempt(switchPumpOn,2,u1). Event facts
happens(signalCriticalMethane,0,u1).happens(signalHighWater ,1,u1).
not happens(switchPumpOn,2,u1).
![Page 25: Using Abduction and Induction for Operational Requirements Elaboration](https://reader035.vdocuments.site/reader035/viewer/2022070400/56813569550346895d9cd098/html5/thumbnails/25.jpg)
25
Step 1: Transform Specification into Logic Program -4
Universal Scenario PrportiessignalHighWater switchPumpumpOn
Narrativeattempt(signalHighWater,0,e1).attempt(switchPumpOn,1,e1). Action facts
happens(signalHighWater,0,e1).happens(switchPumpOn,1,e1).
![Page 26: Using Abduction and Induction for Operational Requirements Elaboration](https://reader035.vdocuments.site/reader035/viewer/2022070400/56813569550346895d9cd098/html5/thumbnails/26.jpg)
26
Approach Overview
Partial System Specification (LTL)
Scenarios (LTL)
Operational Requirements(LTL)
(1)Transform into a logic program(2) Run ILP system
(3) Transform into Requirement
Using Abduction & Induction
![Page 27: Using Abduction and Induction for Operational Requirements Elaboration](https://reader035.vdocuments.site/reader035/viewer/2022070400/56813569550346895d9cd098/html5/thumbnails/27.jpg)
27
XHAIL: Extended Hybrid Abductive Inductive Learning Three phases
– Abductive: Produce a set of ground atoms such that B U |= E
– Deductive: Produce a set of ground clauses K ={k = :- b }
– Inductive: Produces a hypothesis H subsumes K
![Page 28: Using Abduction and Induction for Operational Requirements Elaboration](https://reader035.vdocuments.site/reader035/viewer/2022070400/56813569550346895d9cd098/html5/thumbnails/28.jpg)
28
Step 2: Using XHAIL modeh(*,impossible(#event, +time,+scenario))
modeh(*,triggered(#event, +time, +scenario))modeb(*,holdsAt(#fluent,+time,+scenario))
modeb(*,not holdsAt(#fluent, +time,+scenario))
%
initiates(switchPumpOn,pumpOn,T,S).
terminates(switchPumpOff,pumpOn,T,S).
%attempt(signalCriticalMethane,0,u1). attempt(signalHighWater,1,u1).attempt(switchPumpOn,2,u1).%happens(signalCriticalMethane,0,u1). happens(signalHighWater,1,u1).not happens(switchPumpOn,2,u1).% initiates
happens(E,T,S) :- attempts (E,T,S) , not impossible (E,T,S)
holdsAt(F,T2,S) :- initiates (E,F,T,S) , happens (E,T,S), not clipped(T1,F,T2,S).
={triggered(switchPumpOn, 1, e2), impossible(switchPumpOn, 2,u1), impossible(tswitchPumpOn, 0,e1)}
K={triggered(switchPumpOn, 1, e2):- holdsAt(highWater,1,e2).not holdsAt(pumpOn,2,e2),
not holdsAt(criticalMethane,2,e2).impossible(switchPumpOn, 2,u1):- holdsAt(highWater,2,u1). not holdsAt(pumpOn,2,u1), holdsAt(criticalMethane,2,u1).impossible(switchPumpOn, 0,e1) :- not holdsAt(highWater,0, e1),
not holdsAt(pumpOn,0,e1),not holdsAt(criticalMethane,0, e1).
H={triggered(switchPumpOn, X, Y):- holdsAt(highWater,X,Y). not holdsAt(criticalMethane,X,Y).impossible(switchPumpOn, X,Y):-holdsAt(criticalMethane,X,Y).impossible(switchPumpOn, X,Y) :- not holdsAt(highWater,X, Y)}
![Page 29: Using Abduction and Induction for Operational Requirements Elaboration](https://reader035.vdocuments.site/reader035/viewer/2022070400/56813569550346895d9cd098/html5/thumbnails/29.jpg)
29
Approach Overview
Partial System Specification (LTL)
Scenarios (LTL)
Operational Requirements(LTL)
(1)Transform into a logic program(2) Run ILP system
(3) Transform into Requirement
Using Abduction & Induction
![Page 30: Using Abduction and Induction for Operational Requirements Elaboration](https://reader035.vdocuments.site/reader035/viewer/2022070400/56813569550346895d9cd098/html5/thumbnails/30.jpg)
30
Step 3: Transform into Requirements
Hypothesis
LTL Operational requirements
triggered(turnPumpOn, X, Y):- holdsAt(highWater,X,Y). not holdsAt(methane,X,Y).
( (highWater criticalMethane) switchPumpOn)
impossible(turnPumpOn, X,Y):-holdsAt(methane,X,Y).
( criticalMethane switchPumpOn)
![Page 31: Using Abduction and Induction for Operational Requirements Elaboration](https://reader035.vdocuments.site/reader035/viewer/2022070400/56813569550346895d9cd098/html5/thumbnails/31.jpg)
31
A Correct Extension with respect to an Inductive solution
Obtaining the corresponding:– Partial System Description
– Set of Scenario properties
Find:– A a correct extension with
respect to Spec and SPu U SPe
Given • Partial Set of Domain
dependant axioms• Domain Independent
axioms• Narrative• Event facts
Find • Additional Domain
dependant Axiomsthat explain the event facts
B U H |= E Spec U -1(H) |= spu
Spec U -1(H) |=\= spe
B
E
H
![Page 32: Using Abduction and Induction for Operational Requirements Elaboration](https://reader035.vdocuments.site/reader035/viewer/2022070400/56813569550346895d9cd098/html5/thumbnails/32.jpg)
32
Extended Specification Model
SpecSpec U Pre U Trig
switchPumpOn
![Page 33: Using Abduction and Induction for Operational Requirements Elaboration](https://reader035.vdocuments.site/reader035/viewer/2022070400/56813569550346895d9cd098/html5/thumbnails/33.jpg)
33
Conclusion
Novel application of Abduction and Induction in the requirements elaboration process.
The need for non-monotonic Learning systems.
The Framework provides a back-end computational approach for the operationalization process.
![Page 34: Using Abduction and Induction for Operational Requirements Elaboration](https://reader035.vdocuments.site/reader035/viewer/2022070400/56813569550346895d9cd098/html5/thumbnails/34.jpg)
34
Current and Future Work -1
Including Information about goals and agents in the partial specification
Learning other types of requirements such as post-conditions.
Learning requirements from discrete-time based models (goal driven models).
![Page 35: Using Abduction and Induction for Operational Requirements Elaboration](https://reader035.vdocuments.site/reader035/viewer/2022070400/56813569550346895d9cd098/html5/thumbnails/35.jpg)
35
Current and Future Work -2
Handling incomplete scenarios Representing system Goals and assumptions
as Integrity constraints. Integrating ILP and model checking
techniques such that scenarios are generated automatically using model checking tools.
Thorough comparison of results obtained from other non monotonic approaches.
![Page 36: Using Abduction and Induction for Operational Requirements Elaboration](https://reader035.vdocuments.site/reader035/viewer/2022070400/56813569550346895d9cd098/html5/thumbnails/36.jpg)
36
Thank You
![Page 37: Using Abduction and Induction for Operational Requirements Elaboration](https://reader035.vdocuments.site/reader035/viewer/2022070400/56813569550346895d9cd098/html5/thumbnails/37.jpg)
37
An LTS of the Mine Pump
![Page 38: Using Abduction and Induction for Operational Requirements Elaboration](https://reader035.vdocuments.site/reader035/viewer/2022070400/56813569550346895d9cd098/html5/thumbnails/38.jpg)
38
Theorem 2
Given – a partial specification – set of consistent scenario properties – the EC theory (B,E)=Tr(Spec,SPu,SPe) – S be the set of EC event axioms.
Then, – For any inductive generalisation H of E wrt. B and S, the
corresponding set Tr(Pre U Trig)=(H) of LTL pre-condition and trigger-condition axioms is a correct extension of Spec with respect to SPu and SPe.
![Page 39: Using Abduction and Induction for Operational Requirements Elaboration](https://reader035.vdocuments.site/reader035/viewer/2022070400/56813569550346895d9cd098/html5/thumbnails/39.jpg)
39