Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Alspaugh, T. et al. (1988). Software Requirements for the A-7E Aircraft. Naval Research Laboratory.
Anderson, R., et al. (1996). Model Checking Large Software Specifications. ACM Proc. of 4th Int. Symp. on the Foundation of Software Engineering.
Atlee, J. M., and Gannon, J. (1993). State-Based Model Checking of Event-Driven System Requirements. IEEE Transaction on Software Engineering, 19(1): 24–40.
Bharadwaj, R., and Heitmeyer, C. (1997). Model Checking Complete Requirements Specifications Using Abstraction. Technical Report No. NRL-7999, NRL.
Bharadwaj, R., and Sims, S. (2000). Salsa: Combining Solvers with BDDs for Automated Invariant Checking. Tools and Algorithms for the Construction and Analysis of Systems, Lecture Notes in CS, Springer.
Clarke, M., and Wing, M. (1996). Formal Methods, State of the Art and Future Directions. ACM Computing Survey, 28(4): 626–643.
Easterbrook, S., and Callahan, J. (1997). Formal Methods for Verification and Validation of Partial Specifications. Journal of Systems and Software.
Gilb, T., and Graham, D. (1993). Software Inspection. Addison-Wesley.
Heitmeyer, C. L., Labaw, B., and Kiskis, D. (1995). Consistency Checking of SCR-style Requirements Specifications. Proc. of 2nd Int. Symp. on Requirements Engineering, York, 27–29.
Heitmeyer, C. L., Jeffords, R. D., and Labaw, B. G. (1996). Automated Consistency Checking of Requirements Specifications. ACM Transaction of Software Engineering and Methodology, 5(3): 231–261.
Heitmeyer, C. L., et al. (1998). Using Abstraction and Model Checking to Detect Safety Violations in Requirements Specifications. IEEE Transaction on Software Engineering, 24(11): 927–947.
Holzmann, G. J. (1997). The Model Checker SPIN. IEEE Transaction on Software Engineering, 23(5): 279–295.
Kakas, A. C., and Mancarella, P. (1990). Generalised Stable Models: A Semantics for Abduction. ECAI’90, Stockholm, pages 385–391.
Kakas, A. C., and Michael, A. (1995). Integrating Abductive and Constraint Logic Programming. Proc. of 12th Int. Conf. on Logic Programming, Tokyo.
Kakas, A. C., and Miller R. (1997). A Simple Declarative Language for Describing Narratives with Actions. Journal of Logic Programming, Special issue on Reasoning about Actions and Events, 31(1–3): 157–200.
Kakas, A. C., Kowalski, R. A., and Toni, F. (1998). The Role of Abduction in Logic Programming. In C. J. Hogger, J. A. Robinson D. M. Gabbay (Eds.), Handbook of Logic in Artificial Intelligence and Logic Programming (235–324). OUP.
Kowalski, R. A., and Sergot, M. J. (1986). A Logic-Based Calculus of Events. New Generation Computing, 4: 67–95.
Magee, J., and Kramer, J. (1999). Concurrency: State Models and Java Programs. John Wiley.
McMillian, K. L. (1993). Symbolic Model Checking. Kluwer Academic.
Menzies, T. (1996). Applications of Abduction: Knowledge Level Modeling. International Journal of Human Computer Studies.
Miller, R. (1997) Deductive and Abductive Planning in the Event Calculus. Poc. 2nd AISB Workshop on Practical Reasoning and Rationality, Manchester, U. K.
Miller, R., and Shanahan, M. (1999). The Event Calculus in Classical Logic. Linkoping Electronic Articles in Computer and Information Science, 4(16).
Miller, S. (1998). Specifying the mode logic of a Flitght Guidance System in CoRE and SCR. Proceedings of 2nd Workshop of Formal Methods in Software Practice.
Owre, S., et al. (1995). Formal verification for fault-tolerant architecture: Prolegomena to the design of PVS. IEEE Transactions on S.E, 21(2): 107–125.
Parnas, D. L., and Madey, J. (1995). Functional Documentation for Computer Systems. Technical Report No. CRL 309, McMaster University.
Russo, A., Miller, R., Nuseibeh, B., and Kramer, J. (2001). An Abductive Approach for Analysing Event-based Specifications. Technical Report no. 2001/7, Imperial College.
Satoh, K. (1998). Computing Minimal Revised Logical Specification by Abduction. Proc. of Int. Workshop on the Principles of Software Evolution, 177–182.
van Lamsweerde, A., Darimont, R., and Letier, E. (1998). Managing Conflicts in Goal-Driven Requirement Engineering. IEEE Transactions on S. E.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Russo, A., Miller, R., Nuseibeh, B., Kramer, J. (2002). An Abductive Approach for Analysing Event-Based Requirements Specifications. In: Stuckey, P.J. (eds) Logic Programming. ICLP 2002. Lecture Notes in Computer Science, vol 2401. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45619-8_3
Download citation
DOI: https://doi.org/10.1007/3-540-45619-8_3
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-43930-1
Online ISBN: 978-3-540-45619-3
eBook Packages: Springer Book Archive