skip to main content
article

Fluent model checking for event-based systems

Published:01 September 2003Publication History
Skip Abstract Section

Abstract

Model checking is an automated technique for verifying that a system satisfies a set of required properties. Such properties are typically expressed as temporal logic formulas, in which atomic propositions are predicates over state variables of the system. In event-based system descriptions, states are not characterized by state variables, but rather by the behavior that originates in these states in terms of actions. In this context, it is natural for temporal formulas to be built from atomic propositions that are predicates on the occurrence of actions. The paper identifies limitations in this approach and introduces "fluent" propositions that permit formulas to naturally express properties that combine state and action. A fluent is a property of the world that holds after it is initiated by an action and ceases to hold when terminated by another action. The paper describes an approach to model checking fluent-based linear-temporal logic properties, with its implementation and application in the LTSA tool.

References

  1. R. Allen and D. Garlan, A Formal Basis for Architectural Connection, ACM Trans. on Software Engineering and Methodology (TOSEM), Vol. 6, No. 3, pp. 213--249, 1997.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. B. Alpern and F. Schneider, Defining Liveness, Information Processing Letters, Vol. 21, No. 4, pp. 181--185, Oct. 1985.]]Google ScholarGoogle ScholarCross RefCross Ref
  3. B. Alpern and F. B. Schneider, Recognizing Safety and Liveness, Distributed Computing, Vol. 2, No. 3, pp. 117--126, 1987.]]Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. M. Bernardo, P. Ciancarini and L. Donatiello, Architecting Software Systems with Process Algebras, ACM Trans. on Software Engineering and Methodology (TOSEM), Vol. 11, No. 4, October 2002.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. S. C. Cheung and J. Kramer, Checking Subsystem Safety Properties in Compositional Reachability Analysis, 18th International Conference on Software Engineering (ICSE'18), Berlin, Germany, pp. 144--154, March 1996.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. E. M. Clarke and E. A. Emerson, Design and synthesis of synchronization skeletons using branching time temporal logic, Logic of Programs Workshop, Yorktown Heights NY, LNCS 131, Springer, May 1981.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. R. Cleaveland, J. Parrow and B. Steffen, The Concurrency Workbench: A Semantics-Based Tool for the Verification of Concurrent Systems, ACM Transactions on Programming Languages and Systems, Vol. 15, No. 1, pp. 36--72, 1993.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. M. Daniele, F. Giunchiglia and M. Y. Vardi, Improved Automata Generation for Linear Temporal Logic, 11th International Conference on Computer Aided Verification (CAV 1999), Trento, Italy, LNCS 1633, July 1999.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. R. De Nicola and F. W. Vaandrager, Three Logics for branching bisimulation, Journal of the ACM, Vol. 42, No. 2, pp. 458--487, 1995.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. M. Dwyer, G. Avrunin and J. Corbett, Patterns in property Specifications for Finite-State Verification, 21st International Conference on Software Engineering (ICSE'99), Los Angeles, CA, pp. 411--420, 16-22 May 1999.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. R. Gerth, D. Peled, M. Y. Vardi and P. Wolper, Simple On-the-fly Automatic Verification of Linear Temporal Logic, 15th IFIP/WG6.1 Symposium on Protocol Specification, Testing and Verification (PSTV'95), Warsaw, Poland, pp. 3--18, June 1995.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. D. Giannakopoulou, Model Checking for Concurrent Software Architectures, PhD Thesis, Dept. of Computing. Imperial College London, 1999.]]Google ScholarGoogle Scholar
  13. D. Giannakopoulou and F. Lerda, From States to Transitions: Improving translation of LTL formulae to Büchi automata, 22nd IFIP WG 6.1 International Conference on Formal Techniques for Networked and Distributed Systems (FORTE 2002), Houston, Texas, LNCS 2529, November 2002.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. D. Giannakopoulou, J. Magee and J. Kramer, Checking Progress with Action Priority: Is it Fair?, 7th European Software Engineering Conference held jointly with the 7th ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE'99), Toulouse, France, LNCS 1687, pp. 511--527, September 1999.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. C. A. R. Hoare, Communicating sequential processes, Prentice-Hall International, 1985.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. G. J. Holzmann, The Model Checker SPIN, IEEE Transactions on Software Engineering, Vol. 23, No. 5, pp. 279--295, 1997.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. J. E. Hopcroft and J. D. Ullman, Introduction to Automata Theory, Languages, and Computation, Addison-Wesley, 1979.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. R. A. Kowalski and M. Sergot, A Logic-Based Calculus of Events, New Generation Computing, Vol. 4, No. 1, pp. 67--95, 1986.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. L. Lamport, The Temporal Logic of Actions, ACM Transactions on Programming Languages and Systems, Vol. 16, No. 3, pp. 872--923, 1994.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. J. Magee, N. Dulay, S. Eisenbach and J. Kramer, Specifying Distributed Software Architectures, 5th European Software Engineering Conference (ESEC'95), Sitges, Spain, LNCS 989, pp. 137--153, September 1995.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. J. Magee and J. Kramer, Concurrency - State Models & Java Programs, John Wiley & Sons, 1999.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. J. Magee, J. Kramer and D. Giannakopoulou, Behaviour Analysis of Software Architectures, 1st Working IFIP Conference on Software Architecture (WICSA1), San Antonio, TX, USA, 22-24 February 1999.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. J. Magee, N. Pryce, D. Giannakopoulou and J. Kramer, Graphical Animation of Behavior Models, 22d International Conference on Software Engineering (ICSE'2000), Limerick, Ireland, June 2000.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Michael Leuschel, Thierry Massart and A. Currie, How to Make FDR Spin: LTL Model Checking using Refinement, International Symposium of Formal Methods Europe (FME'2001), LNCS 2021, Berlin, Germany, 2001.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. R. Miller and M. Shanahan, The Event Calculus in Classical Logic - Alternative Axiomatisations, Linkoping Electronic Articles in Computer and Information Science, Vol. 4, No. 16, pp. 1--27, 1999.]]Google ScholarGoogle Scholar
  26. R. Milner, Communication and Concurrency, Prentice-Hall, 1989.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. D. O. Paun and M. Chechik, Events in Linear-Time Properties, 4th IEEE International Symposium on Requirements Engineering (RE '99), Limerick, Ireland, June 1999.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. D. Peled, Combining Partial Order Reductions with On-the-Fly Model Checking, 6th International Conference on Computer Aided Verification (CAV'94), Stanford, California, LNCS 818, pp. 377--390, June 1994.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. J.-P. Queille and J. Sifakis, Specification and verification of concurrent systems in CESAR, 5th International Symposium on Programming, LNCS 137, pp. 337--350, April 1982.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Y. S. Ramakrishna and S. A. Smolka, Partial-Order Reduction in the Weak Modal Mu-Calculus, Eighth International Conference on Concurrency Theory (CONCUR '97), Warsaw, Poland, LNCS 1243, pp. 5--24, July 1997.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. A. W. Roscoe, A Classical Mind: Essays in Honour of C.A.R. Hoare, pp. 353--378, Prentice-Hall, 1994.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. E. Sandewall, Features and Fluents: The Representation of Knowledge about Dynamical Systems, Oxford University Press, 1994.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. A. Valmari, On-the-fly Verification with Stubborn Sets, 5th International Conference on Computer-Aided Verification (CAV'93), Elounda, Greece, LNCS 697, pp. 397--408, 1993.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. R. van Ommering, Horizontal Communication: a Style to Compose Control Software, Philips Research Laboratories, (to appear in Software Practice & Experience, Wiley 2003).]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. M. Y. Vardi and P. Wolper, An automata-theoretic approach to automatic program verification, 1st Symposium on Logic in Computer Science (LICS), Cambridge, June 1986.]]Google ScholarGoogle Scholar

Index Terms

  1. Fluent model checking for event-based systems

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM SIGSOFT Software Engineering Notes
        ACM SIGSOFT Software Engineering Notes  Volume 28, Issue 5
        September 2003
        382 pages
        ISSN:0163-5948
        DOI:10.1145/949952
        Issue’s Table of Contents
        • cover image ACM Conferences
          ESEC/FSE-11: Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering
          September 2003
          394 pages
          ISBN:1581137435
          DOI:10.1145/940071

        Copyright © 2003 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 1 September 2003

        Check for updates

        Qualifiers

        • article

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader