An Abductive Approach for Analysing Event-Based Requirements Specifications

We present a logic and logic programming based approach for analysing event-based requirements specifications given in terms of a system's reaction to events and safety properties. The approach uses a variant of Kowalski and Sergot's Event Calculus to represent such specifications declaratively and an abductive reasoning mechanism for analysing safety properties. Given a system description and a safety property, the abductive mechanism is able to identify a complete set of counterexamples (if any exist) of the property in terms of symbolic "current" states and associated event-based transitions. A case study of an automobile cruise control system specified in the SCR framework is used to illustrate our approach. The technique described is implemented using existing tools for abductive logic programming.

[1]  Edsger W. Dijkstra,et al.  Guarded commands, non-determinacy and a calculus for the derivation of programs , 1975, Language Hierarchies and Interfaces.

[2]  Paolo Mancarella,et al.  Database Updates through Abduction , 1990, VLDB.

[3]  Edmund M. Clarke,et al.  Formal Methods: State of the Art and Future Directions Working Group Members , 1996 .

[4]  Axel van Lamsweerde,et al.  Integrating obstacles in goal-driven requirements engineering , 1998, Proceedings of the 20th International Conference on Software Engineering.

[5]  Peter J. Middleton,et al.  Software Inspection , 1994, J. Inf. Technol..

[6]  Antonis C. Kakas,et al.  A Simple Declarative Language for Describing Narratives With Actions , 1997, J. Log. Program..

[7]  Mordechai Ben-Ari,et al.  The temporal logic of branching time , 1981, POPL '81.

[8]  Rob Miller,et al.  Deductive and Abductive Planning in the Event Calculus , 1996 .

[9]  Jeff Magee,et al.  Concurrency - state models and Java programs , 2006 .

[10]  Natarajan Shankar,et al.  Formal Verification for Fault-Tolerant Architectures: Prolegomena to the Design of PVS , 1995, IEEE Trans. Software Eng..

[11]  Constance L. Heitmeyer,et al.  Consistency checking of SCR-style requirements specifications , 1995, Proceedings of 1995 IEEE International Symposium on Requirements Engineering (RE'95).

[12]  Antonis C. Kakas,et al.  The role of abduction in logic programming , 1998 .

[13]  David Lorge Parnas,et al.  Software Requirements for the A-7E Aircraft. , 1992 .

[14]  Sérgio Vale Aguiar Campos,et al.  Symbolic Model Checking , 1993, CAV.

[15]  Joanne M. Atlee,et al.  State-Based Model Checking of Event-Driven System Requirements , 1993, IEEE Trans. Software Eng..

[16]  Daniele Theseider Dupré,et al.  The role of abduction in database view updating , 1995, Journal of Intelligent Information Systems.

[17]  Edsger W. Dijkstra,et al.  Hierarchical ordering of sequential processes , 1971, Acta Informatica.

[18]  Leslie Lamport The ‘Hoare logic’ of concurrent programs , 2004, Acta Informatica.

[19]  Luigi Portinale,et al.  Using Compiled Knowledge to Guide and Focus Abductive Diagnosis , 1996, IEEE Trans. Knowl. Data Eng..

[20]  Christopher John Hogger,et al.  Essentials of logic programming , 1990 .

[21]  Constance L. Heitmeyer,et al.  Model Checking Complete Requirements Specifications Using Abstraction , 2004, Automated Software Engineering.

[22]  Steven P. Miller Specifying the mode logic of a flight guidance system in CoRE and SCR , 1998, FMSP '98.

[23]  Murray Shanahan,et al.  The Event Calculus in Classical Logic - Alternative Axiomatisations , 1999, Electron. Trans. Artif. Intell..

[24]  Constance L. Heitmeyer,et al.  Automated consistency checking of requirements specifications , 1996, TSEM.

[25]  Myla Archer,et al.  Using Abstraction and Model Checking to Detect Safety Violations in Requirements Specifications , 1998, IEEE Trans. Software Eng..

[26]  Kave Eshghi,et al.  Abductive Planning with Event Calculus , 1988, ICLP/SLP.

[27]  Axel van Lamsweerde,et al.  Managing Conflicts in Goal-Driven Requirements Engineering , 1998, IEEE Trans. Software Eng..

[28]  Axel van Lamsweerde,et al.  Handling Obstacles in Goal-Oriented Requirements Engineering , 2000, IEEE Trans. Software Eng..

[29]  Bashar Nuseibeh,et al.  USING ABDUCTION TO EVOLVE INCONSISTENT REQUIREMENTS SPECIFICATIONS , 1999 .

[30]  Bashar Nuseibeh,et al.  Using Abduction to Evolve Inconsistent Requirements Specification , 1999, Australas. J. Inf. Syst..

[31]  Steve Easterbrook,et al.  Formal methods for verification and validation of partial specifications: A case study , 1998, J. Syst. Softw..

[32]  Alessandra Russo ON THE USE OF LOGICAL ABDUCTION IN SOFTWARE ENGINEERING , 1910 .

[33]  Robert A. Kowalski,et al.  Logic for problem solving , 1982, The computer science library : Artificial intelligence series.

[34]  Chiaki Sakama,et al.  Abductive Framework for Nonmonotonic Theory Change , 1995, IJCAI.

[35]  Francesca Toni,et al.  A Semantics for the Kakas-Mancarella Procedure for Abductive Logic Programming , 1995, GULP-PRODE.

[36]  Gerard J. Holzmann,et al.  The Model Checker SPIN , 1997, IEEE Trans. Software Eng..

[37]  Nancy G. Leveson,et al.  Completeness and Consistency in Hierarchical State-Based Requirements , 1996, IEEE Trans. Software Eng..

[38]  Anna Philippou,et al.  Tools and Algorithms for the Construction and Analysis of Systems , 2018, Lecture Notes in Computer Science.

[39]  David Notkin,et al.  Model checking large software specifications , 1996, SIGSOFT '96.

[40]  autoepistemic Zogic Logic programming and negation : a survey , 2001 .

[41]  Paolo Mancarella,et al.  Generalized Stable Models: A Semantics for Abduction , 1990, ECAI.

[42]  Antonis C. Kakas,et al.  Integrating Abductive and Constraint Logic Programming , 1995 .

[43]  Tim Menzies,et al.  Applications of abduction: knowledge-level modelling , 1996, Int. J. Hum. Comput. Stud..

[44]  Murray Shanahan Solving the frame problem - a mathematical investigation of the common sense law of inertia , 1997 .

[45]  Steve Sims,et al.  Salsa: Combining Constraint Solvers with BDDs for Automatic Invariant Checking , 2000, TACAS.