Skip to main content
Log in

Formalizing the structural semantics of domain-specific modeling languages

  • Theme Section
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Aho A.V., Sethi R., Ullman J.D.: Compilers: Princiles, Techniques, and Tools. Addison-Wesley, Reading (1986)

    Google Scholar 

  2. AÏT-KACI H.: Warren’s Abstract Machine: A Tutorial Reconstruction. MIT Press, Cambridge (1991)

    Google Scholar 

  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–313

  4. Andreae C., Noble J., Markstrum S., Millstein T.: A framework for implementing pluggable type systems. SIGPLAN Not. 41(10), 57–74 (2006)

    Article  Google Scholar 

  5. Atkinson C., Kühne T.: Model-driven development: A metamodeling foundation. IEEE Softw. 20(5), 36–41 (2003)

    Article  Google Scholar 

  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–221

  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)

    Article  Google Scholar 

  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–280

  9. Börger, E.: Unsolvable decision problems for prolog programs. In Computation theory and logic (London, UK, 1987), pp. 37–48. Springer, Heidelberg

  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. Burch, J., Passerone, R., Modeling, A.S.-V.: techniques in design-by-refinement methodologies. In: Integrated Design and Process Technology (June 2002)

  12. Burris S.N., Sankappanavar H.P.: A Course in Universal Algebra. Springer, Heidelberg (1981)

    MATH  Google Scholar 

  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. 356

  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)

  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)

  16. Chomsky N.: On certain formal properties of grammars. Inf. Control 2(2), 137–167 (1959)

    Article  MATH  MathSciNet  Google Scholar 

  17. Colmerauer, A., Roussel, P.: The birth of prolog. In: HOPL Preprints, pp. 37–52 (1993)

  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–270

  19. Czarnecki K., Helsen S.: Feature-based survey of model transformation approaches. IBM Syst. J. 45(3), 621–645 (2006)

    Article  Google Scholar 

  20. Dantsin E., Eiter T., Gottlob G., Voronkov A.: Complexity and expressive power of logic programming. ACM Comput. Surv. 33(3), 374–425 (2001)

    Article  Google Scholar 

  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)

  22. Drewes F., Hoffmann B., Plump D.: Hierarchical graph transformation. J. Comput. Syst. Sci. 64(2), 249–283 (2002)

    Article  MATH  MathSciNet  Google Scholar 

  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)

    MATH  MathSciNet  Google Scholar 

  24. Ehrig, H., Prange, U., Taentzer, G.: Fundamental theory for typed attributed graph transformation. In: ICGT, pp. 161–177 (2004)

  25. Emerson M., Sztipanovits J., Bapty T.: A mof-based metamodeling environment. J. Universal Comp. Sci. 10(10), 1357–1382 (2004)

    Google Scholar 

  26. Emerson M.J., Sztipanovits J., Bapty T.: A mof-based metamodeling environment. J. UCS 10(10), 1357–1382 (2004)

    Google Scholar 

  27. Evans, A., France, R.B., Grant, E.S.: Towards formal reasoning with uml models. In: Proceedings of the Eighth OOPSLA Workshop on Behavioral Semantics

  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)

  29. Fosdick L.D., Osterweil L.J.: Data flow analysis in software reliability. ACM Comput. Surv. 8(3), 305–330 (1976)

    Article  MATH  MathSciNet  Google Scholar 

  30. Gelfond, M., Lifschitz, V.: The stable model semantics for logic programming. In: ICLP/SLP, pp. 1070–1080 (1988)

  31. Generic Modeling Framework Team. GMF Documentation, http://wiki.eclipse.org/, 2007

  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)

  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)

  34. Graf S., Ober I., Ober I.: A real-time profile for uml. STTT 8(2), 113–127 (2006)

    Article  Google Scholar 

  35. Gray, J.G., Roychoudhury, S.: A technique for constructing aspect weavers using a program transformation engine. In: AOSD, pp. 36–45 (2004)

  36. Greenfield, J.: Using domain-specific languages, patterns, frameworks, and tools to assemble applications. In: SPLC, p. 324 (2004)

  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)

  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)

  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)

  40. Harel D., Naamad A.: The statemate semantics of statecharts. ACM Trans. Softw. Eng. Methodol. 5(4), 293–333 (1996)

    Article  Google Scholar 

  41. Harel D., Rumpe B.: Meaningful modeling: What’s the semantics of “semantics”?. IEEE Comp. 37(10), 64–72 (2004)

    Google Scholar 

  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)

  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)

    Article  Google Scholar 

  44. Institute For Software Integrated Systems. GME 5 User’s Guide, http://www.isis.vanderbilt.edu/, 2005

  45. Jackson, D.: A comparison of object modelling notations: Alloy, uml and z. Tech. rep., August 1999

  46. Jackson, D.: Automating first-order relational logic. In: SIGSOFT FSE, pp. 130–139 (2000)

  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. Jackson, E., Sztipanovits, J.: Constructive techniques for meta- and model-level reasoning. In: Proceedings of MODELS’07

  49. Jackson, E.K., Schulte, W.: Compositional modeling for data-centric business applications. In: Proceedings of the Workshop on Software Engineering (SC 2008) (2008)

  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)

  51. Jackson, E.K., Sztipanovits, J.: Correct-ed through construction: A model-based approach to embedded systems reality. In: ECBS, pp. 164–176 (2006)

  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)

  53. Jouault, F., Bézivin, J.: Km3: A dsl for metamodel specification. In: FMOODS (2006), pp. 171–185

  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 York

  55. Kahn, G., MacQueen, D.B.: Coroutines and networks of parallel processes. In: IFIP Congress, pp. 993–998 (1977)

  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)

  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. Karsai G, Sztipanovits J., Ledeczi A., Bapty T.: Model-integrated development of embedded software. Proc. IEEE 91(1), 145–164 (2003)

    Article  Google Scholar 

  59. Knuth, D.E.: The genesis of attribute grammars. In: Proceedings of Attribute Grammars and their Applications, pp. 1–12 (1990)

  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)

  61. Kühne T.: Matters of (meta-) modeling. Softw. Syst. Model. (SoSyM) 5(4), 369–385 (2006)

    Article  Google Scholar 

  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)

  63. Lawvere W.F., Schanuel S.H.: Conceptual Mathematics: A First Introduction to Categories. Cambridge University Press, Cambridge (1997)

    MATH  Google Scholar 

  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)

  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. 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)

    Article  Google Scholar 

  67. Lee, E.A., Parks, T.M.: Dataflow process networks. Proc. IEEE, pp. 773–799 (1995)

  68. Long E., Misra A., Sztipanovits J.: Increasing productivity at saturn. IEEE Comp. 31(8), 35–43 (1998)

    Google Scholar 

  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)

  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)

    Article  Google Scholar 

  71. Minker, J.: Logic and databases: A 20 year retrospective. In: Logic in Databases, pp. 3–57 (1996)

  72. Muller, P.-A., Fleurey, F., Jézéquel, J.-M.: Weaving executability into object-oriented meta-languages. In: MoDELS, pp. 264–278 (2005)

  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)

  74. Neema, S., Sztipanovits, J., Karsai, G., Butts, K.: Constraint-based design-space exploration and model synthesis. In: EMSOFT, pp. 290–305 (2003)

  75. Object Management Group. Meta Object Facility Specification v1.4, http://www.omg.org/docs/formal/02-04-03.pdf, 2002

  76. Object Management Group. MDA Guide version 1.0.1, http://www.omg.org/docs/omg/03-06-01.pdf, 2003

  77. Object Management Group. Meta Object Facility (MOF) 2.0 Core Specification, http://www.omg.org/docs/ptc/03-10-04.pdf, 2003

  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. Object Management Group. Object Constraint Language v2.0, http://www.omg.org/docs/formal/06-05-01.pdf, 2006

  80. Object Management Group. Unified Modeling Language: Superstructure version 2.1.1, http://www.omg.org/docs/formal/07-02-06.pdf, 2007

  81. Orejas, F., Ehrig, H., Prange, U.: A logic of graph constraints. In: FASE, pp. 179–198 (2008)

  82. Paakki J.: Attribute grammar paradigms—a high-level methodology in language implementation. ACM Comput. Surv. 27(2), 196–255 (1995)

    Article  Google Scholar 

  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)

  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)

  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)

  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)

  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)

    Article  Google Scholar 

  88. Weijland, W.P.: Semantics for logic programs without occur check. In: ICALP, pp. 710–726 (1988)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ethan Jackson.

Additional information

Communicated by Prof. Thomas Kühne.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Jackson, E., Sztipanovits, J. Formalizing the structural semantics of domain-specific modeling languages. Softw Syst Model 8, 451–478 (2009). https://doi.org/10.1007/s10270-008-0105-0

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-008-0105-0

Keywords

Navigation