Abstract
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.
Chapter PDF
Similar content being viewed by others
Keywords
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.
References
Ball, T., Podelski, A., Rajamani, S.: “Boolean and Cartesian Abstraction for Model Checking C Programs”. STTT 5(1), 49–58 (2003)
Berney, G.C., dos Santos, S.M.: Elevator Analysis, Design and Control. IEE Control Engineering Series 2. Peter Peregrinus Ltd (1985)
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)
Buhr, R.J.A., Casselman, R.S.: Use Case Maps for Object-Oriented Systems. Prentice-Hall, Englewood Cliffs (1996)
Chan, W.: Temporal-Logic Queries. In: Emerson, E.A., Sistla, A.P. (eds.) CAV 2000. LNCS, vol. 1855, pp. 450–463. Springer, Heidelberg (2000)
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)
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)
Chen, Y.-F., Gansner, E.R., Koutsofios, E.: A C++ Data Model Supporting Reachability Analysis and Dead Code Extraction. IEEE TSE 24(9) (1998)
Clarke, E., Grumberg, O., Peled, D.: Model Checking. MIT Press, Cambridge (1999)
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)
Corbett, J., Dwyer, M., Hatcliff, J., Laubach, S., Pasareanu, C.: Bandera: Extracting Finite-state Models from Java Source Code. In: ICSE 2000 (2000)
Dwyer, M.B., Avrunin, G.S., Corbett, J.C.: Patterns in Property Specifications for Finite-state Verification. In: ICSE 1999 (1999)
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)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns. Addison-Wesley, Reading (1995)
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)
Harel, D., Damm, W.: LSCs: Breathing Life into Message Sequence Charts. In: FMOODS 1999, pp. 293–312 (1999)
Heitmeyer, C.L., Jeffords, R.D., Labaw, B.G.: Automated Consistency Checking of Requirements Specifications. ACM TOSEM 5(3), 231–261 (1996)
Holt, R.: Software Architecture as a Shared Mental Model. In: IWPC 2002 (2002)
Holzmann, G., Peled, D., Redberg, M.H.: Design Tools for Requirements Engineering. Bell Labs Tech. J. 2, 86–95 (1997)
Jacobson, I., Rumbaugh, J., Booch, G.: The Unified Software Development Process. Addison-Wesley, Reading (1999)
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)
Manna, Z., Pnueli, A.: The Temporal Logic of Reactive and Concurrent Systems. Springer, Heidelberg (1992)
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)
Murphy, G., Notkin, D., Griswold, W., Lan, E.: An Empirical Study of Static Call Graph Extractors. ACM TOSEM 7(2) (1998)
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)
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)
Păun, D., Chechik, M.: On Closure Under Stuttering. Formal Aspects of Computing 14, 342–368 (2003)
Robillard, M.P., Murphy, G.C.: Concern Graphs: Finding and Describing Concerns Using Structural Program Dependencies. In: ICSE 2002, pp. 406–416 (2002)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Devereux, B., Chechik, M. (2006). Automated Support for Building Behavioral Models of Event-Driven Systems. In: Baresi, L., Heckel, R. (eds) Fundamental Approaches to Software Engineering. FASE 2006. Lecture Notes in Computer Science, vol 3922. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11693017_11
Download citation
DOI: https://doi.org/10.1007/11693017_11
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-33093-6
Online ISBN: 978-3-540-33094-3
eBook Packages: Computer ScienceComputer Science (R0)