Software & Systems Modeling

, Volume 8, Issue 4, pp 451–478 | Cite as

Formalizing the structural semantics of domain-specific modeling languages

Theme Section

Abstract

Model-based approaches to system design are now widespread and successful. These approaches make extensive use of model structure to describe systems using domain-specific abstractions, to specify and implement model transformations, and to analyze structural properties of models. In spite of its general importance the structural semantics of modeling languages are not well-understood. In this paper we develop the formal foundations for the structural semantics of domain-specific modeling languages (DSML), including the mechanisms by which metamodels specify the structural semantics of DSMLs. Additionally, we show how our formalization can complement existing tools, and how it yields algorithms for the analysis of DSMLs and model transformations.

Keywords

Model-based Design Domain-specific modeling languages Structural semantics Metamodeling Formal logic Horn logic 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Aho A.V., Sethi R., Ullman J.D.: Compilers: Princiles, Techniques, and Tools. Addison-Wesley, Reading (1986)Google Scholar
  2. 2.
    AÏT-KACI H.: Warren’s Abstract Machine: A Tutorial Reconstruction. MIT Press, Cambridge (1991)Google Scholar
  3. 3.
    Alur, R., Etessami, K., Yannakakis, M.: Inference of message sequence charts. In: Proceedings of the International Conference on Software Engineering (ICSE 00) (2000), pp. 304–313Google Scholar
  4. 4.
    Andreae C., Noble J., Markstrum S., Millstein T.: A framework for implementing pluggable type systems. SIGPLAN Not. 41(10), 57–74 (2006)CrossRefGoogle Scholar
  5. 5.
    Atkinson C., Kühne T.: Model-driven development: A metamodeling foundation. IEEE Softw. 20(5), 36–41 (2003)CrossRefGoogle Scholar
  6. 6.
    Banach, R., Fraser, S.: Retrenchment and the b-toolkit. In: ZB 2005: Formal Specification and Development in Z and B, 4th International Conference of B and Z Users (April 2005), pp. 203–221Google Scholar
  7. 7.
    Benveniste A., Caspi P., Edwards S., Halbwachs N., Guernic P.L., de Simone R.: The synchronous languages twelve years later. Proc. IEEE 91(1), 64–83 (2003)CrossRefGoogle Scholar
  8. 8.
    Bézivin, J., Gerbé, O.: Towards a precise definition of the omg/mda framework. In: Proceedings of the 16th Conference on Automated Software Engineering (ASE 01) (2001), pp. 273–280Google Scholar
  9. 9.
    Börger, E.: Unsolvable decision problems for prolog programs. In Computation theory and logic (London, UK, 1987), pp. 37–48. Springer, HeidelbergGoogle Scholar
  10. 10.
    Brucker A.D., Rittinger F., Wolff B.: HOL-Z 2.0: A proof environment for Z-specifications. J. Universal Comp. Sci. 9(2), 152–172 (2003)Google Scholar
  11. 11.
    Burch, J., Passerone, R., Modeling, A.S.-V.: techniques in design-by-refinement methodologies. In: Integrated Design and Process Technology (June 2002)Google Scholar
  12. 12.
    Burris S.N., Sankappanavar H.P.: A Course in Universal Algebra. Springer, Heidelberg (1981)MATHGoogle Scholar
  13. 13.
    Carnes, J.R., Misra, A., Sztipanovits, J.: Model-integrated toolset for fault detection, isolation and recovery (fdir). In: ECBS ’96: Proceedings of the IEEE Symposium and Workshop on Engineering of Computer Based Systems (Washington, DC, USA, 1996). IEEE Computer Society, New York, p. 356Google Scholar
  14. 14.
    Chan, D.: An extension of constructive negation and its application in coroutining. In: Proceedings of NACLP. The MIT Press, Cambridge, pp. 447–493 (1989)Google Scholar
  15. 15.
    Chen, K., Sztipanovits, J., Neema, S., Emerson, M., Abdelwahed, S.: Toward a semantic anchoring infrastructure for domain-specific modeling languages. In: Proceedings of the Fifth ACM International Conference on Embedded Software (EMSOFT’05) (September 2005)Google Scholar
  16. 16.
    Chomsky N.: On certain formal properties of grammars. Inf. Control 2(2), 137–167 (1959)MATHCrossRefMathSciNetGoogle Scholar
  17. 17.
    Colmerauer, A., Roussel, P.: The birth of prolog. In: HOPL Preprints, pp. 37–52 (1993)Google Scholar
  18. 18.
    Csertán, G., Huszerl, G., Majzik, I., Pap, Z., Pataricza, A., Varró, D.: Viatra-visual automated transformations for formal verification and validation of uml models. In: ASE (2002), pp. 267–270Google Scholar
  19. 19.
    Czarnecki K., Helsen S.: Feature-based survey of model transformation approaches. IBM Syst. J. 45(3), 621–645 (2006)CrossRefGoogle Scholar
  20. 20.
    Dantsin E., Eiter T., Gottlob G., Voronkov A.: Complexity and expressive power of logic programming. ACM Comput. Surv. 33(3), 374–425 (2001)CrossRefGoogle Scholar
  21. 21.
    de Alfaro, L., Henzinger, T.A.: Interface-based design. In: Engineering Theories of Software Intensive Systems, proceedings of the Marktoberdorf Summer School. Kluwer, Dordrecht (2004)Google Scholar
  22. 22.
    Drewes F., Hoffmann B., Plump D.: Hierarchical graph transformation. J. Comput. Syst. Sci. 64(2), 249–283 (2002)MATHCrossRefMathSciNetGoogle Scholar
  23. 23.
    Ehrig H., Ehrig K., Prange U., Taentzer G.: Fundamental theory for typed attributed graphs and graph transformation based on adhesive hlr categories. Fundam. Inf. 74(1), 31–61 (2006)MATHMathSciNetGoogle Scholar
  24. 24.
    Ehrig, H., Prange, U., Taentzer, G.: Fundamental theory for typed attributed graph transformation. In: ICGT, pp. 161–177 (2004)Google Scholar
  25. 25.
    Emerson M., Sztipanovits J., Bapty T.: A mof-based metamodeling environment. J. Universal Comp. Sci. 10(10), 1357–1382 (2004)Google Scholar
  26. 26.
    Emerson M.J., Sztipanovits J., Bapty T.: A mof-based metamodeling environment. J. UCS 10(10), 1357–1382 (2004)Google Scholar
  27. 27.
    Evans, A., France, R.B., Grant, E.S.: Towards formal reasoning with uml models. In: Proceedings of the Eighth OOPSLA Workshop on Behavioral SemanticsGoogle Scholar
  28. 28.
    Farrow, R., Marlowe, T.J., Yellin, D.M.: Composable attribute grammars: support for modularity in translator design and implementation. In: POPL ’92: Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, pp. 223–234 (1992)Google Scholar
  29. 29.
    Fosdick L.D., Osterweil L.J.: Data flow analysis in software reliability. ACM Comput. Surv. 8(3), 305–330 (1976)MATHCrossRefMathSciNetGoogle Scholar
  30. 30.
    Gelfond, M., Lifschitz, V.: The stable model semantics for logic programming. In: ICLP/SLP, pp. 1070–1080 (1988)Google Scholar
  31. 31.
    Generic Modeling Framework Team. GMF Documentation, http://wiki.eclipse.org/, 2007
  32. 32.
    Girschick, M., Kühne, T., Klar, F.: Generating systems from multiple levels of abstraction. In: Proceedings of the Trends in Enterprise Application Architecture (TEAA 2006), pp. 127–141 (2006)Google Scholar
  33. 33.
    Gössler, G., Graf, S., Majster-Cederbaum, M.E., Martens, M., Sifakis, J.: Ensuring properties of interaction systems. In: Program Analysis and Compilation, pp. 201–224 (2006)Google Scholar
  34. 34.
    Graf S., Ober I., Ober I.: A real-time profile for uml. STTT 8(2), 113–127 (2006)CrossRefGoogle Scholar
  35. 35.
    Gray, J.G., Roychoudhury, S.: A technique for constructing aspect weavers using a program transformation engine. In: AOSD, pp. 36–45 (2004)Google Scholar
  36. 36.
    Greenfield, J.: Using domain-specific languages, patterns, frameworks, and tools to assemble applications. In: SPLC, p. 324 (2004)Google Scholar
  37. 37.
    Hamon, G., Rushby, J.: An operational semantics for stateflow. In: Proceedings of the conference on Fundamental Approaches to Software Engineering (FASE’04). LNCS, vol. 2984, pp. 229–243 (2005)Google Scholar
  38. 38.
    Harel, D., Kugler, H.: The rhapsody semantics of statecharts (or, on the executable core of the uml)—preliminary version. In: SoftSpez Final Report, pp. 325–354 (2004)Google Scholar
  39. 39.
    Harel, D., Kugler, H., Pnueli, A.: Synthesis revisited: Generating statechart models from scenario-based requirements. In: Formal Methods in Software and Systems Modeling, pp. 309–324 (2005)Google Scholar
  40. 40.
    Harel D., Naamad A.: The statemate semantics of statecharts. ACM Trans. Softw. Eng. Methodol. 5(4), 293–333 (1996)CrossRefGoogle Scholar
  41. 41.
    Harel D., Rumpe B.: Meaningful modeling: What’s the semantics of “semantics”?. IEEE Comp. 37(10), 64–72 (2004)Google Scholar
  42. 42.
    Henzinger, T.A.: The theory of hybrid automata. In: Proceedings of the International Conference on Logic in Computer Science (LICS 96), pp. 278–292 (1996)Google Scholar
  43. 43.
    Henzinger T.A., Kirsch C.M., Sanvido M.A., Pree W.: From control models to real-time code using giotto. Control Syst. Magaz. 2(1), 50–64 (2003)CrossRefGoogle Scholar
  44. 44.
    Institute For Software Integrated Systems. GME 5 User’s Guide, http://www.isis.vanderbilt.edu/, 2005
  45. 45.
    Jackson, D.: A comparison of object modelling notations: Alloy, uml and z. Tech. rep., August 1999Google Scholar
  46. 46.
    Jackson, D.: Automating first-order relational logic. In: SIGSOFT FSE, pp. 130–139 (2000)Google Scholar
  47. 47.
    Jackson, E., Schulte, W., Sztipanovits, J.: The power of rich syntax for model-based deveopment. Tech. Rep. MSR-TR-2008-86 ftp://ftp.research.microsoft.com/pub/tr/TR-2008-86.pdf (2008)
  48. 48.
    Jackson, E., Sztipanovits, J.: Constructive techniques for meta- and model-level reasoning. In: Proceedings of MODELS’07Google Scholar
  49. 49.
    Jackson, E.K., Schulte, W.: Compositional modeling for data-centric business applications. In: Proceedings of the Workshop on Software Engineering (SC 2008) (2008)Google Scholar
  50. 50.
    Jackson, E.K., Schulte, W.: Model generation for horn logic with stratified negation. In: Proceedings of the IFIP WG 6.1 International Conference Formal Techniques for Networked and Distributed Systems (FORTE 2008), pp. 1–20 (2008)Google Scholar
  51. 51.
    Jackson, E.K., Sztipanovits, J.: Correct-ed through construction: A model-based approach to embedded systems reality. In: ECBS, pp. 164–176 (2006)Google Scholar
  52. 52.
    Jackson, E.K., Sztipanovits, J.: Constructive techniques for meta- and model-level reasoning. In: Proceedings of the 10th International Conference on Model Driven Engineering Languages and Systems (MoDELS 2007), pp. 405–419 (2007)Google Scholar
  53. 53.
    Jouault, F., Bézivin, J.: Km3: A dsl for metamodel specification. In: FMOODS (2006), pp. 171–185Google Scholar
  54. 54.
    Jürjens, J.: Sound methods and effective tools for model-based security engineering with uml. In: ICSE ’05: Proceedings of the 27th international conference on Software engineering (New York, NY, USA, 2005), pp. 322–331. ACM Press, New YorkGoogle Scholar
  55. 55.
    Kahn, G., MacQueen, D.B.: Coroutines and networks of parallel processes. In: IFIP Congress, pp. 993–998 (1977)Google Scholar
  56. 56.
    Kakita, S., Watanabe, Y., Densmore, D., Davare, A., Sangiovanni-Vincentelli, A.L.: Functional model exploration for multimedia applications via algebraic operators. In: ACSD, pp. 229–238 (2006)Google Scholar
  57. 57.
    Karsai G., Agrawal A., Shi F., Sprinkle J.: On the use of graph transformations for the formal specification of model interpreters. J. Universal Comp. Sci. 9(11), 1296–1321 (2003)Google Scholar
  58. 58.
    Karsai G, Sztipanovits J., Ledeczi A., Bapty T.: Model-integrated development of embedded software. Proc. IEEE 91(1), 145–164 (2003)CrossRefGoogle Scholar
  59. 59.
    Knuth, D.E.: The genesis of attribute grammars. In: Proceedings of Attribute Grammars and their Applications, pp. 1–12 (1990)Google Scholar
  60. 60.
    Königs, A., Schürr, A.: Multi-domain integration with mof and extended triple graph grammars. In: Language Engineering for Model-Driven Software Development (2004)Google Scholar
  61. 61.
    Kühne T.: Matters of (meta-) modeling. Softw. Syst. Model. (SoSyM) 5(4), 369–385 (2006)CrossRefGoogle Scholar
  62. 62.
    Larsen, K.G., Niebert, P., eds. : Formal Modeling and Analysis of Timed Systems: First International Workshop, FORMATS 2003, Marseille, France, September 6–7, 2003. Revised Papers. Lecture Notes in Computer Science, vol. 2791. Springer, Heidelberg (2003)Google Scholar
  63. 63.
    Lawvere W.F., Schanuel S.H.: Conceptual Mathematics: A First Introduction to Categories. Cambridge University Press, Cambridge (1997)MATHGoogle Scholar
  64. 64.
    Ledeczi, A., Maroti, M., Bakay, A., Karsai, G., Garrett, J., Thomason, C., Nordstrom, G., Sprinkle, J., Volgyesi, P.: The generic modeling environment. Workshop on Intelligent Signal Processing (May 2001)Google Scholar
  65. 65.
    Lee E.A., Neuendorffer S.: Actor-oriented models for codesign: Balancing re-use and performance. Formal Methods and Models for Systems. Kluwer, Dordrecht (2004)Google Scholar
  66. 66.
    Lee E.A., Neuendorffer S., Wirthlin M.J.: Actor-oriented design of embedded hardware and software systems. J. Circuits Syst. Comp. 12(3), 231–260 (2003)CrossRefGoogle Scholar
  67. 67.
    Lee, E.A., Parks, T.M.: Dataflow process networks. Proc. IEEE, pp. 773–799 (1995)Google Scholar
  68. 68.
    Long E., Misra A., Sztipanovits J.: Increasing productivity at saturn. IEEE Comp. 31(8), 35–43 (1998)Google Scholar
  69. 69.
    Marcano, R., Levy, N.: Using b formal specifications for analysis and verification of uml/ocl models. In: Workshop on consistency problems in UML-based software development. 5th International Conference on the Unified Modeling Language, pp. 91–105 (2002)Google Scholar
  70. 70.
    Mens T., Gorp P.V., Varró D., Karsai G.: Applying a model transformation taxonomy to graph transformation technology. Electr. Notes Theor. Comput. Sci. 152, 143–159 (2006)CrossRefGoogle Scholar
  71. 71.
    Minker, J.: Logic and databases: A 20 year retrospective. In: Logic in Databases, pp. 3–57 (1996)Google Scholar
  72. 72.
    Muller, P.-A., Fleurey, F., Jézéquel, J.-M.: Weaving executability into object-oriented meta-languages. In: MoDELS, pp. 264–278 (2005)Google Scholar
  73. 73.
    Neema, S., Kalmar, Z., Shi, F., Vizhanyo, A., Karsai, G.: A visually-specified code generator for simulink/stateflow. In: VL/HCC, pp. 275–277 (2005)Google Scholar
  74. 74.
    Neema, S., Sztipanovits, J., Karsai, G., Butts, K.: Constraint-based design-space exploration and model synthesis. In: EMSOFT, pp. 290–305 (2003)Google Scholar
  75. 75.
    Object Management Group. Meta Object Facility Specification v1.4, http://www.omg.org/docs/formal/02-04-03.pdf, 2002
  76. 76.
    Object Management Group. MDA Guide version 1.0.1, http://www.omg.org/docs/omg/03-06-01.pdf, 2003
  77. 77.
    Object Management Group. Meta Object Facility (MOF) 2.0 Core Specification, http://www.omg.org/docs/ptc/03-10-04.pdf, 2003
  78. 78.
    Object Management Group. Unified Modeling Language: Infrastructure version 2.0, 3rd revised submission to OMG RFP, http://www.omg.org/docs/ad/00-09-02.pdf, 2003
  79. 79.
    Object Management Group. Object Constraint Language v2.0, http://www.omg.org/docs/formal/06-05-01.pdf, 2006
  80. 80.
    Object Management Group. Unified Modeling Language: Superstructure version 2.1.1, http://www.omg.org/docs/formal/07-02-06.pdf, 2007
  81. 81.
    Orejas, F., Ehrig, H., Prange, U.: A logic of graph constraints. In: FASE, pp. 179–198 (2008)Google Scholar
  82. 82.
    Paakki J.: Attribute grammar paradigms—a high-level methodology in language implementation. ACM Comput. Surv. 27(2), 196–255 (1995)CrossRefGoogle Scholar
  83. 83.
    Pinto, A., Carloni, L.P., Passerone, R., Sangiovanni-Vincentelli, A.L.: Interchange format for hybrid systems: Abstract semantics. In: HSCC, pp. 491–506 (2006)Google Scholar
  84. 84.
    Przymusinski, T.C.: Every logic program has a natural stratification and an iterated least fixed point model. In: PODS ’89: Proceedings of the eighth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems (New York, NY, USA, 1989), pp. 11–21. ACM, New York (1989)Google Scholar
  85. 85.
    Sangiovanni-Vincentelli, A., Carloni, L., Bernardinis, F.D., Sgroi, M.: Benefits and challenges for platform-based design. In: Proceedings of the Design Automation Conference (DAC’04) (June 2004)Google Scholar
  86. 86.
    Torlak, E., Jackson, D.: Kodkod: A relational model finder. In: Proceedings of the 13th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS 2007), pp. 632–647 (2007)Google Scholar
  87. 87.
    Varró D., Pataricza A.: Vpm: A visual, precise and multilevel metamodeling framework for describing mathematical domains and uml (the mathematics of metamodeling is metamodeling mathematics). Softw. Syst. Model. 2(3), 187–210 (2003)CrossRefGoogle Scholar
  88. 88.
    Weijland, W.P.: Semantics for logic programs without occur check. In: ICALP, pp. 710–726 (1988)Google Scholar

Copyright information

© Springer-Verlag 2008

Authors and Affiliations

  1. 1.Foundations of Software EngineeringMicrosoft ResearchRedmondUSA
  2. 2.Institute for Software Integrated SystemsVanderbilt UniversityNashvilleUSA

Personalised recommendations