Abstract
System modeling is the initial, and often crucial, step in verification. The right choice of model and modeling language is important for both designers and users of verification tools. This chapter aims to provide a guide to system modeling in four stages. First, it provides an overview of the main issues one must consider in modeling systems for verification. These issues involve both the selection or design of a modeling language and the steps of model creation. Next, it introduces a simple modeling language, sml, for illustrating the issues involved in selecting or designing a modeling language. sml uses an abstract state machine formalism that captures key features of widely-used languages based on transition system representations. We introduce the simple modeling language to simplify the connection between languages used by practitioners (such as Verilog, Simulink, or C) and various underlying formalisms (e.g., automata or Kripke structures) used in model checking. Third, the chapter demonstrates key steps in model creation using sml with illustrative examples. Finally, the presented modeling language sml is mapped to standard formalisms such as Kripke structures.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Alpern, B., Schneider, F.B.: Recognizing safety and liveness. Distrib. Comput. 2(3), 117–126 (1987)
Alur, R., Courcoubetis, C., Dill, D.: Model checking in dense real time. Inf. Comput. 104(1), 2–34 (1993)
Alur, R., Courcoubetis, C., Halbwachs, N., Henzinger, T., Ho, P., Nicollin, X., Olivero, A., Sifakis, J., Yovine, S.: The algorithmic analysis of hybrid systems. Theor. Comput. Sci. 138, 3–34 (1995)
Alur, R., Dill, D.: A theory of timed automata. Theor. Comput. Sci. 126, 183–235 (1994)
Alur, R., Henzinger, T.: Logics and models of real time: a survey. In: Real Time: Theory in Practice. LNCS, vol. 600 (1992)
Alur, R., Henzinger, T.: Reactive modules. Form. Methods Syst. Des. 15, 7–48 (1999)
Baier, C., Haverkort, B., Hermanns, H., Katoen, J.P.: Performance evaluation and model checking join forces. Commun. ACM 53(9), 76–85 (2010)
Baier, C., Haverkort, B., Hermanns, H., Katoen, J.P., Siegle, M. (eds.): Validation of Stochastic Systems—A Guide to Current Research. LNCS, vol. 2925. Springer, Heidelberg (2004)
Baier, C., Majster-Cederbaum, M.: Denotational semantics in the CPO and metric approach. Theor. Comput. Sci. 135(2), 171–220 (1994)
Balarin, F., Watanabe, Y., Hsieh, H., Lavagno, L., Passerone, R., Sangiovanni-Vincentelli, A.: Metropolis: an integrated electronic system design environment. IEEE Comput. 36, 45–52 (2003)
Barrett, C., Sebastiani, R., Seshia, S., Tinelli, C.: Satisfiability modulo theories. In: Biere, A., van Maaren, H., Walsh, T. (eds.) Handbook of Satisfiability, vol. 4. IOS Press, Amsterdam (2009). Chap. 8
Behrmann, G., Larsen, K., Rasmussen, J.: Priced timed automata: algorithms and applications. In: Third International Symposium on Formal Methods for Components and Objects (FMCO), pp. 162–182 (2004)
Benveniste, A., Caspi, P., Lublinerman, R., Tripakis, S.: Actors without directors: a Kahnian view of heterogeneous systems. In: HSCC’09: Proceedings of the 12th International Conference on Hybrid Systems: Computation and Control. LNCS, pp. 46–60. Springer, Heidelberg (2009). doi:10.1007/978-3-642-00602-9_4
Berry, G., Gonthier, G.: The Esterel synchronous programming language: design, semantics, implementation. Sci. Comput. Program. 19(2), 87–152 (1992)
Brady, B., Bryant, R., Seshia, S.: Abstracting RTL designs to the term level. Tech. Rep. UCB/EECS-2008-136, EECS Department, University of California, Berkeley (2008) http://www.eecs.berkeley.edu/Pubs/TechRpts/2008/EECS-2008-136.html
Brady, B., Bryant, R., Seshia, S., O’Leary, J.: ATLAS: automatic term-level abstraction of RTL designs. In: Proceedings of the Eighth ACM/IEEE International Conference on Formal Methods and Models for Codesign (MEMOCODE) (2010)
Broman, D., Lee, E., Tripakis, S., Törngren, M.: Viewpoints, formalisms, languages, and tools for cyber-physical systems. In: 6th International Workshop on Multi-paradigm Modeling (MPM’12) (2012)
Broy, M., Stolen, K.: Specification and Development of Interactive Systems. Monographs in Computer Science, vol. 62. Springer, Heidelberg (2001)
Bryant, R.: Graph-based algorithms for Boolean function manipulation. IEEE Trans. Comput. C-35(8), 677–691 (1986)
Bryant, R., Lahiri, S., Seshia, S.: Modeling and verifying systems using a logic of counter arithmetic with lambda expressions and uninterpreted functions. In: Brinksma, E., Larsen, K. (eds.) Proc. Computer-Aided Verification (CAV’02). LNCS, vol. 2404, pp. 78–92 (2002)
Buck, J.: Scheduling dynamic dataflow graphs with bounded memory using the token flow model. Ph.D. thesis, University of California, Berkeley (1993)
Caspi, P., Pilaud, D., Halbwachs, N., Plaice, J.: Lustre: a declarative language for programming synchronous systems. In: 14th ACM Symp. POPL. ACM, New York (1987)
Chatterjee, K., Doyen, L., Henzinger, T.: Quantitative languages. In: Proc. Computer Science Logic (CSL). LNCS, vol. 5213, pp. 385–400 (2008)
Chatterjee, K., Doyen, L., Henzinger, T.: Alternating weighted automata. In: Fundamentals of Computation Theory (FCT). LNCS, vol. 5699, pp. 3–13 (2009)
Clarke, E., Grumberg, O., Peled, D. (eds.): Model Checking. MIT Press, Cambridge (2001)
Commoner, F., Holt, A.W., Even, S., Pnueli, A.: Marked directed graphs. J. Comput. Syst. Sci. 5, 511–523 (1971)
Cruz, R.L.: A calculus for network delay, part I. Network elements in isolation. IEEE Trans. Inf. Theory 37(1), 114–131 (1991)
Damm, W., Harel, D.: LSCs: breathing life into message sequence charts. Form. Methods Syst. Des. 19(1), 45–80 (2001)
Davare, A., Densmore, D., Meyerowitz, T., Pinto, A., Sangiovanni-Vincentelli, A., Yang, G., Zeng, H., Zhu, Q.: A next-generation design framework for platform-based design. In: Conference on Using Hardware Design and Verification Languages (DVCon), vol. 152 (2007)
Davis, M.: Markov Models and Optimization. Chapman & Hall, London (1993)
Daws, C., Olivero, A., Tripakis, S., Yovine, S.: The tool KRONOS. In: Alur, R., Henzinger, T., Sontag, E. (eds.) Hybrid Systems III: Verification and Control. LNCS, vol. 1066, pp. 208–219. Springer, Heidelberg (1996)
Eker, J., Janneck, J., Lee, E., Liu, J., Liu, X., Ludvig, J., Neuendorffer, S., Sachs, S., Xiong, Y.: Taming heterogeneity—the Ptolemy approach. Proc. IEEE 91(1), 127–144 (2003)
Fokkink, W.: Introduction to Process Algebra. Springer, Heidelberg (2000)
Gurevich, Y., Kutter, P.W., Odersky, M., Thiele, L. (eds.): Abstract State Machines, Theory and Applications, Proceedings of the International Workshop, ASM 2000, Monte Verità, Switzerland, March 19–24, 2000. LNCS, vol. 1912. Springer, Heidelberg (2000)
Harel, D.: Statecharts: a visual formalism for complex systems. Sci. Comput. Program. 8, 231–274 (1987)
Hoare, C.: Communicating Sequential Processes. Prentice Hall, New York (1985)
Holcomb, D., Brady, B., Seshia, S.: Abstraction-based performance analysis of NoCs. In: Proceedings of the Design Automation Conference (DAC), pp. 492–497 (2011)
Hopcroft, J., Motwani, R., Ullman, J.: Introduction to Automata Theory, Languages, and Computation, 3rd edn. Addison-Wesley, Reading (2006)
Hu, J., Lygeros, J., Sastry, S.: Towards a theory of stochastic hybrid systems. In: Hybrid Systems: Computation and Control (HSCC). LNCS, vol. 1790, pp. 160–173. Springer, Heidelberg (2000)
ITU: Z.120—Message Sequence Chart (MSC). Available at http://www.itu.int/rec/T-REC-Z.120 (02/2011)
ITU: Z.120 Annex B: Formal semantics of Message Sequence Charts. Available at http://www.itu.int/rec/T-REC-Z.120 (04/1998)
Kahn, G.: The semantics of a simple language for parallel programming. In: Information Processing 74. Proceedings of IFIP Congress, vol. 74. North-Holland, Amsterdam (1974)
Karp, R., Miller, R.: Properties of a model for parallel computations: determinacy, termination, queueing. SIAM J. Appl. Math. 14(6), 1390–1411 (1966)
Kohavi, Z.: Switching and Finite Automata Theory, 2nd edn. McGraw-Hill, New York (1978)
Kwiatkowska, M., Norman, G., Parker, D.: Stochastic model checking. In: Bernardo, M., Hillston, J. (eds.) Formal Methods for the Design of Computer, Communication and Software Systems: Performance Evaluation (SFM’07). LNCS, vol. 4486, pp. 220–270. Springer, Heidelberg (2007)
Lamport, L.: Proving the correctness of multiprocess programs. IEEE Trans. Softw. Eng. 3(2), 125–143 (1977)
Larsen, K., Petterson, P., Yi, W.: Uppaal in a nutshell. Software Tools for Technology Transfer 1(1/2) (1997)
Lee, E., Messerschmitt, D.: Synchronous data flow. Proc. IEEE 75(9), 1235–1245 (1987)
Lee, E., Seshia, S.: Introduction to Embedded Systems—A Cyber-physical Systems Approach (2011)
Liu, X., Lee, E.: CPO semantics of timed interactive actor networks. Theor. Comput. Sci. 409(1), 110–125 (2008)
Malik, S., Zhang, L.: Boolean satisfiability: from theoretical hardness to practical success. Commun. ACM 52(8), 76–82 (2009)
Manna, Z., Pnueli, A.: The Temporal Logic of Reactive and Concurrent Systems: Specification. Springer, New York (1991)
Milner, R.: A Calculus of Communicating Systems. LNCS, vol. 92. Springer, Heidelberg (1980)
Milner, R.: Communicating and Mobile Systems: The \(\pi\)-Calculus. Cambridge University Press, Cambridge (1999)
Peh, L.S.: Flow control and micro-architectural mechanisms for extending the performance of interconnection networks. Ph.D. thesis, Stanford University (2001)
Reisig, W.: Petri Nets: An Introduction. Springer, Heidelberg (1985)
Seshia, S.: Quantitative analysis of software: challenges and recent advances. In: 7th International Workshop on Formal Aspects of Component Software (FACS) (2010)
Stergiou, C., Tripakis, S., Matsikoudis, E., Lee, E.: On the verification of timed discrete-event models. In: FORMATS 2013. Springer, Heidelberg (2013)
Theelen, B., Geilen, M., Stuijk, S., Gheorghita, S., Basten, T., Voeten, J., Ghamarian, A.: Scenario-aware dataflow. Tech. Rep. ESR-2008-08, Eindhoven University of Technology, (2008)
Tripakis, S.: Compositionality in the science of system design. Proc. IEEE 104(5), 960–972 (2016)
Tripakis, S., Stergiou, C., Shaver, C., Lee, E.: A modular formal semantics for Ptolemy. Math. Struct. Comput. Sci. 23, 834–881 (2013). doi:10.1017/S0960129512000278
Yates, R.: Networks of real-time processes. In: Best, E. (ed.) Proc. of the 4th Int. Conf. on Concurrency Theory (CONCUR). LNCS, vol. 715. Springer, Heidelberg (1993)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG, part of Springer Nature
About this chapter
Cite this chapter
Seshia, S.A., Sharygina, N., Tripakis, S. (2018). Modeling for Verification. In: Clarke, E., Henzinger, T., Veith, H., Bloem, R. (eds) Handbook of Model Checking. Springer, Cham. https://doi.org/10.1007/978-3-319-10575-8_3
Download citation
DOI: https://doi.org/10.1007/978-3-319-10575-8_3
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-10574-1
Online ISBN: 978-3-319-10575-8
eBook Packages: Computer ScienceComputer Science (R0)