using abduction and induction for operational requirements elaboration

39
Using Abduction and Induction for Operational Requirements Elaboration Dalal Alrajeh Oliver Ray Alessandra RussoSebastian Uchitel AIAI 2007 Sept. 15 th 2007

Upload: matthew-snow

Post on 03-Jan-2016

26 views

Category:

Documents


1 download

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 Presentation

TRANSCRIPT

Page 1: Using Abduction and Induction for Operational Requirements Elaboration

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

2

System Development Cycle

Requirements

Design

Testing

Implementation

Requirements

Page 3: Using Abduction and Induction for Operational Requirements Elaboration

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

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

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

6

Mine Pump Controller

Page 7: Using Abduction and Induction for Operational Requirements Elaboration

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

32

Extended Specification Model

SpecSpec U Pre U Trig

switchPumpOn

Page 33: Using Abduction and Induction for Operational Requirements Elaboration

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

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

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

36

Thank You

Page 37: Using Abduction and Induction for Operational Requirements Elaboration

37

An LTS of the Mine Pump

Page 38: Using Abduction and Induction for Operational Requirements Elaboration

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

39