Automated Support for Building Behavioral Models of Event-Driven Systems

  • Benet Devereux
  • Marsha Chechik
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3922)


Programmers understand a piece of software by building simplified mental models of it. Aspects of these models lend themselves naturally to formalization – e.g., structural relationships can be partly captured by module dependency graphs. Automated support for generating and analyzing such structural models has proven useful. For event-driven systems, behavioral models, which capture temporal and causal relationships between events, are important and deserve similar methodological and tool support. In this paper, we describe such a technique. Our method supports building and elaboration of behavioral models, as well as maintaining such models as systems evolve. The method is based on model-checking and witness generation, using strategies to create goal-driven simulation traces. We illustrate it on a two-lift/three-floor elevator system, and describe our tool, Sawblade, which provides automated support for the method.


Mental Model Temporal Logic Atomic Proposition Proof Obligation Kripke Structure 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Ball, T., Podelski, A., Rajamani, S.: “Boolean and Cartesian Abstraction for Model Checking C Programs”. STTT 5(1), 49–58 (2003)CrossRefMATHGoogle Scholar
  2. 2.
    Berney, G.C., dos Santos, S.M.: Elevator Analysis, Design and Control. IEE Control Engineering Series 2. Peter Peregrinus Ltd (1985)Google Scholar
  3. 3.
    Buccafurri, F., Either, T., Gottlob, G., Leone, N.: On ACTL Formulas Having Linear Counterexamples. J. of Comp. and Sys. Sci. 62(3), 463–515 (2001)MathSciNetCrossRefMATHGoogle Scholar
  4. 4.
    Buhr, R.J.A., Casselman, R.S.: Use Case Maps for Object-Oriented Systems. Prentice-Hall, Englewood Cliffs (1996)MATHGoogle Scholar
  5. 5.
    Chan, W.: Temporal-Logic Queries. In: Emerson, E.A., Sistla, A.P. (eds.) CAV 2000. LNCS, vol. 1855, pp. 450–463. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  6. 6.
    Chechik, M., Devereux, B., Gurfinkel, A.: XChek: A Multi-Valued Model-Checker. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, Springer, Heidelberg (2002)CrossRefGoogle Scholar
  7. 7.
    Chechik, M., Gurfinkel, A.: A Framework for Counterexample Generation and Exploration. In: Cerioli, M. (ed.) FASE 2005. LNCS, vol. 3442, pp. 217–233. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  8. 8.
    Chen, Y.-F., Gansner, E.R., Koutsofios, E.: A C++ Data Model Supporting Reachability Analysis and Dead Code Extraction. IEEE TSE 24(9) (1998)Google Scholar
  9. 9.
    Clarke, E., Grumberg, O., Peled, D.: Model Checking. MIT Press, Cambridge (1999)Google Scholar
  10. 10.
    Clarke, E.M., Emerson, E.A., Sistla, A.P.: Automatic Verification of Finite-State Concurrent Systems Using Temporal Logic Specifications. ACM TOPLAS 8(2), 244–263 (1986)CrossRefMATHGoogle Scholar
  11. 11.
    Corbett, J., Dwyer, M., Hatcliff, J., Laubach, S., Pasareanu, C.: Bandera: Extracting Finite-state Models from Java Source Code. In: ICSE 2000 (2000)Google Scholar
  12. 12.
    Dwyer, M.B., Avrunin, G.S., Corbett, J.C.: Patterns in Property Specifications for Finite-state Verification. In: ICSE 1999 (1999)Google Scholar
  13. 13.
    Finnigan, P., Holt, R., Kalas, I., Kerr, S., Kontogiannis, K., Müller, H., Mylopoulos, J., Perelgut, S., Stanley, M., Wong, K.: The Software Bookshelf. IBM Sys. J. 36(4) (1997)Google Scholar
  14. 14.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns. Addison-Wesley, Reading (1995)MATHGoogle Scholar
  15. 15.
    Gurfinkel, A., Chechik, M.: Proof-like Counterexamples. In: Garavel, H., Hatcliff, J. (eds.) ETAPS 2003 and TACAS 2003. LNCS, vol. 2619, pp. 160–175. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  16. 16.
    Harel, D., Damm, W.: LSCs: Breathing Life into Message Sequence Charts. In: FMOODS 1999, pp. 293–312 (1999)Google Scholar
  17. 17.
    Heitmeyer, C.L., Jeffords, R.D., Labaw, B.G.: Automated Consistency Checking of Requirements Specifications. ACM TOSEM 5(3), 231–261 (1996)CrossRefGoogle Scholar
  18. 18.
    Holt, R.: Software Architecture as a Shared Mental Model. In: IWPC 2002 (2002)Google Scholar
  19. 19.
    Holzmann, G., Peled, D., Redberg, M.H.: Design Tools for Requirements Engineering. Bell Labs Tech. J. 2, 86–95 (1997)CrossRefGoogle Scholar
  20. 20.
    Jacobson, I., Rumbaugh, J., Booch, G.: The Unified Software Development Process. Addison-Wesley, Reading (1999)Google Scholar
  21. 21.
    Keller, R.K., Schauer, R., Robitaille, S., Laguë, B.: Pattern-Based Design Recovery with SPOOL. Advances in SE: Comprehension, Evaluation, and Evolution, 113–135 (2002)Google Scholar
  22. 22.
    Manna, Z., Pnueli, A.: The Temporal Logic of Reactive and Concurrent Systems. Springer, Heidelberg (1992)CrossRefMATHGoogle Scholar
  23. 23.
    Müller, H.A., Orgun, M.A., Tilley, S.R., Uhi, J.S.: A Reverse Engineering Approach to Subsystem Structure Identification. J. of Soft. Maintenance 5(4), 181–204 (1993)CrossRefGoogle Scholar
  24. 24.
    Murphy, G., Notkin, D., Griswold, W., Lan, E.: An Empirical Study of Static Call Graph Extractors. ACM TOSEM 7(2) (1998)Google Scholar
  25. 25.
    Murphy, G.C., Notkin, D., Sullivan, K.J.: Software Reflexion Models: Bridging the Gap Between Source and High-Level Models. In: FSE 1995, pp. 18–28 (1995)Google Scholar
  26. 26.
    Plath, M.C., Ryan, M.D.: SFI: A Feature Integration Tool. In: Tool Support for System Specification, Development and Verification, pp. 201–216. Adv. in CS (1999)Google Scholar
  27. 27.
    Păun, D., Chechik, M.: On Closure Under Stuttering. Formal Aspects of Computing 14, 342–368 (2003)CrossRefMATHGoogle Scholar
  28. 28.
    Robillard, M.P., Murphy, G.C.: Concern Graphs: Finding and Describing Concerns Using Structural Program Dependencies. In: ICSE 2002, pp. 406–416 (2002)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Benet Devereux
    • 1
  • Marsha Chechik
    • 1
  1. 1.Department of Computer ScienceUniversity of TorontoTorontoCanada

Personalised recommendations