Advertisement

M3C: Modal Meta Model Checking

  • Bernhard SteffenEmail author
  • Alnis Murtovi
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11119)

Abstract

M3C is a method and tool supporting meta-level product lining and evolution that comprises both context free system structure and modal refinement. The underlying Context-Free Modal Transition Systems can be regarded as loose specifications of meta models, and modal refinement as a way to increase the specificity of allowed DSLs by constraining the range of allowed syntax specifications. Model checking with M3C allows one to verify properties specified in a branching-time logic for all DSLs of a given level of specificity in one go, which is illustrated by looking at variations of an elementary programming language. Technically, M3C is based on second-order model checking which determines how procedure calls affect the validity of the properties of interest. The inherent compositionality of the second-order approach leads to a runtime complexity linear in the size of the procedural system representation, whose corresponding transition systems typically have infinitely many states. In fact, second-order model checking can be regarded as a means to tame state explosion via ‘procedural abstraction’, a technique which may well be beneficial also for regular (recursion-free) systems.

Keywords

Modal Transition Systems Context-free/procedural transition systems Modal refinement Second-order model checking Meta model Domain-specific languages Predicate/property transformers Binary decision diagram Compositionality 

References

  1. 1.
    Blackburn, P., van Benthem, J.F.A.K., Wolter, F.: Handbook of Modal Logic. Studies in Logic and Practical Reasoning, vol. 3. Elsevier Science Inc., New York (2006)zbMATHGoogle Scholar
  2. 2.
    Burkart, O., Steffen, B.: Model checking for context-free processes. In: Cleaveland, W.R. (ed.) CONCUR 1992. LNCS, vol. 630, pp. 123–137. Springer, Heidelberg (1992).  https://doi.org/10.1007/BFb0084787CrossRefGoogle Scholar
  3. 3.
    Burkart, O., Steffen, B.: Pushdown processes: parallel composition and model checking. In: Jonsson, B., Parrow, J. (eds.) CONCUR 1994. LNCS, vol. 836, pp. 98–113. Springer, Heidelberg (1994).  https://doi.org/10.1007/978-3-540-48654-1_9CrossRefGoogle Scholar
  4. 4.
    Burkart, O., Steffen, B.: Model checking the full modal mu-calculus for infinite sequential processes. Theor. Comput. Sci. 221(1–2), 251–270 (1999).  https://doi.org/10.1016/S0304-3975(99)00034-1MathSciNetCrossRefzbMATHGoogle Scholar
  5. 5.
    Clarke Jr., E.M., Grumberg, O., Peled, D.A.: Model Checking. MIT Press, Cambridge (1999)Google Scholar
  6. 6.
    Cleaveland, R., Steffen, B.: A linear-time model-checking algorithm for the alternation-free modal mu-calculus. Form. Methods Syst. Des. 2(2), 121–147 (1993).  https://doi.org/10.1007/BF01383878CrossRefzbMATHGoogle Scholar
  7. 7.
    Emerson, E.A.: Model checking and the mu-calculus. In: DIMACS Series in Discrete Mathematics, pp. 185–214. American Mathematical Society (1997)Google Scholar
  8. 8.
    Frohme, M., Steffen, B.: Active mining of document type definitions. In: Howar, F., Barnat, J. (eds.) FMICS 2018. LNCS, vol. 11119, pp. 147–161. Springer, Cham (2018)Google Scholar
  9. 9.
    Frohme, M., Steffen, B.: Compositional learning of mutually recursive procedural systems (2018, under submission)Google Scholar
  10. 10.
    Garavel, H., Lang, F., Mounier, L.: Compositional verification in action. In: Howar, F., Barnat, J. (eds.) FMICS 2018. LNCS, vol. 11119, pp. 189–210. Springer, Cham (2018)Google Scholar
  11. 11.
    Gössler, G., Graf, S., Majster-Cederbaum, M., Martens, M., Sifakis, J.: An approach to modelling and verification of component based systems. In: van Leeuwen, J., Italiano, G.F., van der Hoek, W., Meinel, C., Sack, H., Plášil, F. (eds.) SOFSEM 2007. LNCS, vol. 4362, pp. 295–308. Springer, Heidelberg (2007).  https://doi.org/10.1007/978-3-540-69507-3_24CrossRefzbMATHGoogle Scholar
  12. 12.
    Graf, S., Saidi, H.: Construction of abstract state graphs with PVS. In: Grumberg, O. (ed.) CAV 1997. LNCS, vol. 1254, pp. 72–83. Springer, Heidelberg (1997).  https://doi.org/10.1007/3-540-63166-6_10CrossRefGoogle Scholar
  13. 13.
    Graf, S., Steffen, B.: Compositional minimization of finite state systems. In: Computer-Aided Verification, Proceedings of a DIMACS Workshop 1990, New Brunswick, New Jersey, USA, 18–21 June 1990, pp. 57–74 (1990)Google Scholar
  14. 14.
    Graf, S., Steffen, B., Lüttgen, G.: Compositional minimisation of finite state systems using interface specifications. Form. Asp. Comput. 8(5), 607–616 (1996).  https://doi.org/10.1007/BF01211911CrossRefzbMATHGoogle Scholar
  15. 15.
    Larsen, K.G., Thomsen, B.: A modal process logic. In: Proceedings of the Third Annual Symposium on Logic in Computer Science, pp. 203–210 (1988).  https://doi.org/10.1109/LICS.1988.5119
  16. 16.
    Larsen, K.G.: Modal specifications. In: Sifakis, J. (ed.) CAV 1989. LNCS, vol. 407, pp. 232–246. Springer, Heidelberg (1990).  https://doi.org/10.1007/3-540-52148-8_19CrossRefGoogle Scholar
  17. 17.
    Loiseaux, C., Graf, S., Sifakis, J., Bouajjani, A., Bensalem, S.: Property preserving abstractions for the verification of concurrent systems. Form. Methods Syst. Des. 6(1), 11–44 (1995).  https://doi.org/10.1007/BF01384313CrossRefzbMATHGoogle Scholar
  18. 18.
    Naujokat, S., Lybecait, M., Kopetzki, D., Steffen, B.: CINCO: a simplicity-driven approach to full generation of domain-specific graphical modeling tools. STTT 20(3), 327–354 (2018).  https://doi.org/10.1007/s10009-017-0453-6CrossRefGoogle Scholar
  19. 19.
    Steffen, B., Gossen, F., Naujokat, S., Margaria, T.: Language-driven engineering: from general-purpose to purpose-specific languages. In: Steffen, B., Woeginger, G. (eds.) Computing and Software Science. LNCS, vol. 10000, pp. 311–344. Springer, Cham (2018)Google Scholar
  20. 20.
    Steffen, B., Naujokat, S.: Archimedean points: the essence for mastering change. Trans. Found. Mastering Chang. 1, 22–46 (2016).  https://doi.org/10.1007/978-3-319-46508-1_3CrossRefGoogle Scholar
  21. 21.
    Wirth, N.: Compilerbau - Eine Einführung. Teubner (1977)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2018

Authors and Affiliations

  1. 1.Chair for Programming SystemsTU Dortmund UniversityDortmundGermany

Personalised recommendations