Temporal Action Language (TAL): A Controlled …...Temporal Action Language (TAL): A Controlled...

18
Temporal Action Language (TAL): A Controlled Language for Consistency Checking of Natural Language Temporal Requirements (Preliminary results) University of Kentucky Department of Computer Science Wenbin Li, Jane Huffman Hayes, Miroslaw Truszczynski NFM 2012, April 3, 2012 This work is funded in part by the National Science Foundation under NSF grant CCF-0811140 and by NASA JPL under grant 1401954.

Transcript of Temporal Action Language (TAL): A Controlled …...Temporal Action Language (TAL): A Controlled...

Page 1: Temporal Action Language (TAL): A Controlled …...Temporal Action Language (TAL): A Controlled Language for Consistency Checking of Natural Language Temporal Requirements (Preliminary

Temporal Action Language (TAL): A Controlled

Language for Consistency Checking of Natural

Language Temporal Requirements (Preliminary results)

University of Kentucky

Department of Computer Science

Wenbin Li, Jane Huffman Hayes, Miroslaw Truszczynski

NFM 2012, April 3, 2012

This work is funded in part by the

National Science Foundation under

NSF grant CCF-0811140 and by

NASA JPL under grant 1401954.

Page 2: Temporal Action Language (TAL): A Controlled …...Temporal Action Language (TAL): A Controlled Language for Consistency Checking of Natural Language Temporal Requirements (Preliminary

The Problem

• Faulty requirements cause

• 60% – 80% of project failures [1]

• 80% of all software rework [2]

• Inconsistency : a common requirement fault • System contains nodes and a server.

• Nodes A, B, and C must connect to the server within the first 5 seconds.

• Connections cannot be established simultaneously.

• It takes 2 seconds to establish a connection.

Page 3: Temporal Action Language (TAL): A Controlled …...Temporal Action Language (TAL): A Controlled Language for Consistency Checking of Natural Language Temporal Requirements (Preliminary

Our Goal

• Detect inconsistencies

• Focus on requirements stated in natural language

• Focus on temporal constraints

• Minimize human involvement

• A language formal and human readable

Page 4: Temporal Action Language (TAL): A Controlled …...Temporal Action Language (TAL): A Controlled Language for Consistency Checking of Natural Language Temporal Requirements (Preliminary

Proposed Approach

• Temporal Action Language TAL as bridge

Once a message is sent, it is received within 10 ms

if terminate send(Sender,Msg,Receiver) then received(Receiver,Msg,Sender) @ ≤ 10ms after

Requirements In NL

TAL Representation

sat1(c6,action(Sender, send(Msg, Receiver)),S) :- happen(ter(action(Sender, send(Msg, Receiver))),S), horizon$>=time(S)+varZ, node(Sender), message(Msg), node(Receiver). And several more such commands

Low Level Logic Formalism

Phase 1: Need human involvement

Phase 2: Automated

Page 5: Temporal Action Language (TAL): A Controlled …...Temporal Action Language (TAL): A Controlled Language for Consistency Checking of Natural Language Temporal Requirements (Preliminary

Temporal Action Language (TAL) Syntax

• Syntax

• Declarations

• sort node

• fluent connected(nodeA, serA)

• action sendMsg(nodeA)

• Action Definitions: reuse AL (Baral, Gelfond 2000)

• connect(serA, nodeA)

causes connected(nodeA, serA) if systemOn

• impossible write(nodeA, serA)

if not connected(serA, nodeA)

Page 6: Temporal Action Language (TAL): A Controlled …...Temporal Action Language (TAL): A Controlled Language for Consistency Checking of Natural Language Temporal Requirements (Preliminary

6

Temporal Constraints

• < prompt | fluent > @ < when > • prompt: commence Act terminate Act

• Examples • terminate dropConn(serA, nodeA)

@ ≤ 15 second after startTime

• commence sendMsg(nodeA)

@ ≤ 5 seconds after terminate estConn(nodeA)

• received(serA,message,nodeA)

@ ≤ 10 millisecond after terminate send(nodeA, msg, serA)

Page 7: Temporal Action Language (TAL): A Controlled …...Temporal Action Language (TAL): A Controlled Language for Consistency Checking of Natural Language Temporal Requirements (Preliminary

Temporal Action Language (TAL) Semantics

• Semantics

• Transition system

• States determined by fluents

• Arcs labeled with prompts or “Time"

• Illustrate all possible ways for system to evolve

• Path

• A particular scenario

• Timed path

• A scenario labeled with times when changes occur

Page 8: Temporal Action Language (TAL): A Controlled …...Temporal Action Language (TAL): A Controlled Language for Consistency Checking of Natural Language Temporal Requirements (Preliminary

8

Temporal Action Language (TAL) Semantics

4 5 Transition

System

commence estConn(nodeA)

terminate estConn(nodeA)

commence sendMsg(nodeA)

commence estConn(nodeB)

terminate estConn(nodeB)

commence estConn(nodeA)

3 2

1

Page 9: Temporal Action Language (TAL): A Controlled …...Temporal Action Language (TAL): A Controlled Language for Consistency Checking of Natural Language Temporal Requirements (Preliminary

9

Temporal Action Language (TAL) Semantics

1

4

2

5

3

Path

commence estConn(nodeA)

terminate estConn(nodeA)

commence sendMsg(nodeA)

commence estConn(nodeB)

terminate estConn(nodeB)

commence estConn(nodeA)

Page 10: Temporal Action Language (TAL): A Controlled …...Temporal Action Language (TAL): A Controlled Language for Consistency Checking of Natural Language Temporal Requirements (Preliminary

10

Temporal Action Language (TAL) Semantics

1

4

2

5

3

Timed Path

commence estConn(nodeA)

1st second

terminate estConn(nodeA)

3rd second

commence sendMsg(nodeA)

7th second

commence estConn(nodeB)

terminate estConn(nodeB)

commence estConn(nodeA)

Page 11: Temporal Action Language (TAL): A Controlled …...Temporal Action Language (TAL): A Controlled Language for Consistency Checking of Natural Language Temporal Requirements (Preliminary

11

Temporal Action Language (TAL) Semantics

1

4

2

5

3

Timed Path

commence estConn(nodeA)

1st second

terminate estConn(nodeA)

3rd second

commence sendMsg(nodeA)

7th second

commence estConn(nodeB)

terminate estConn(nodeB)

commence estConn(nodeA)

Node A must connect to the server in the first 5 seconds.

Satisfied

Page 12: Temporal Action Language (TAL): A Controlled …...Temporal Action Language (TAL): A Controlled Language for Consistency Checking of Natural Language Temporal Requirements (Preliminary

Temporal Action Language (TAL)

Consistency Checking

• Valid timed path P

• All temporal constraints satisfied along P

• Consistency

• Arbitrarily long valid timed paths exist

• Arbitrarily long system runs possible

• Limited consistency

• Timed paths up to a certain time horizon

• No inconsistency shows up prior to the horizon

Page 13: Temporal Action Language (TAL): A Controlled …...Temporal Action Language (TAL): A Controlled Language for Consistency Checking of Natural Language Temporal Requirements (Preliminary

Temporal Action Language (TAL)

Consistency Checking

• To detect inconsistency search for a valid timed path

• Translate TAL into low-level formal system

• Use reasoning tools of that system

Page 14: Temporal Action Language (TAL): A Controlled …...Temporal Action Language (TAL): A Controlled Language for Consistency Checking of Natural Language Temporal Requirements (Preliminary

Validation

• So far:

• Use NASA CM1 requirements

• Generate a TAL theory for a subset of CM1 set that includes all temporal requirements

• Translate that TAL theory into answer set programming (ASP)

• Use ASP solver clingcon for processing

Page 15: Temporal Action Language (TAL): A Controlled …...Temporal Action Language (TAL): A Controlled Language for Consistency Checking of Natural Language Temporal Requirements (Preliminary

Related Work

• Software Cost Reduction

• Heitmeyer, Labaw, and Kiskis, 1995 [6]

• Timed automata and temporal logic

• Knapp, Merz, and Rauh, 2002 [7]

• Bengtsson, Larsen, Larsson, Pettersson, and Yi, 1996 [8]

• Bozga, Daws, Maler, Olivero, Tripakis, and Yovine 1998 [9]

• UML

• Selic, 1998 [10]

Page 16: Temporal Action Language (TAL): A Controlled …...Temporal Action Language (TAL): A Controlled Language for Consistency Checking of Natural Language Temporal Requirements (Preliminary

Future Work

• From natural language to TAL • Partially automate generation of TAL theories from natural

language text

• From TAL to low level logic formalism • ASP (Completed, but more work on translation optimization and

performance needed)

• Temporal logics

• Timed automata

• Systematic experiments

• Seek broad feedback on TAL readability, design

Page 17: Temporal Action Language (TAL): A Controlled …...Temporal Action Language (TAL): A Controlled Language for Consistency Checking of Natural Language Temporal Requirements (Preliminary

References

[1] Bob Lawhorn, March 2010

[2] Critical Logic newsletter, 2011

[3] C. Baral and M. Gelfond, “Reasoning agents in dynamic domains,” Logic-based artificial intelligence, pp. 257–279, 2000

[4] V.W. Marek and M. Truszczyński, “Stable models and an alternative logic programming paradigm,” The Logic Programming Paradigm: a 25-Year Perspective, 1999, pp. 375-398.

[5] M. Gebser, M. Ostrowski, and T. Schaub, “Constraint answer set solving,” International Conference on Logic Programming (ICLP), pp. 235–249, 2009.

[7] C. Heitmeyer, B. Labaw, and D. Kiskis, “Consistency checking of scrstyle requirements specifications,” in Proceedings of the 2nd IEEE International Symposium on Requirements Engineering. IEEE Computer Society, 1995.

[8] A. Knapp, S. Merz, and C. Rauh, “Model checking-timed uml state machines and collaborations,” Lecture notes in computer science, p. 395C416, 2002.

[9] J. Bengtsson, K. G. Larsen, F. Larsson, P. Pettersson, and W. Yi, “Uppaal: a tool suite for automatic verification of real-time systems,” LECTURE NOTES IN COMPUTER SCIENCE, pp. 232–243, 1996.

[10] M. Bozga, C. Daws, O. Maler, A. Olivero, S. Tripakis, and S. Yovine, “Kronos: A model-checking tool for real-time systems,” LECTURE NOTES IN COMPUTER SCIENCE, pp. 298–302, 1998.

[11] B. Selic, “Using uml for modeling complex real-time systems,” Logicbased artificial intelligence, pp. 250–260, 1998.

Page 18: Temporal Action Language (TAL): A Controlled …...Temporal Action Language (TAL): A Controlled Language for Consistency Checking of Natural Language Temporal Requirements (Preliminary

Thank you!

Questions?