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.
Similar content being viewed by others
References
Aho A.V., Sethi R., Ullman J.D.: Compilers: Princiles, Techniques, and Tools. Addison-Wesley, Reading (1986)
AÏT-KACI H.: Warren’s Abstract Machine: A Tutorial Reconstruction. MIT Press, Cambridge (1991)
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
Andreae C., Noble J., Markstrum S., Millstein T.: A framework for implementing pluggable type systems. SIGPLAN Not. 41(10), 57–74 (2006)
Atkinson C., Kühne T.: Model-driven development: A metamodeling foundation. IEEE Softw. 20(5), 36–41 (2003)
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
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)
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
Börger, E.: Unsolvable decision problems for prolog programs. In Computation theory and logic (London, UK, 1987), pp. 37–48. Springer, Heidelberg
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)
Burch, J., Passerone, R., Modeling, A.S.-V.: techniques in design-by-refinement methodologies. In: Integrated Design and Process Technology (June 2002)
Burris S.N., Sankappanavar H.P.: A Course in Universal Algebra. Springer, Heidelberg (1981)
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
Chan, D.: An extension of constructive negation and its application in coroutining. In: Proceedings of NACLP. The MIT Press, Cambridge, pp. 447–493 (1989)
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)
Chomsky N.: On certain formal properties of grammars. Inf. Control 2(2), 137–167 (1959)
Colmerauer, A., Roussel, P.: The birth of prolog. In: HOPL Preprints, pp. 37–52 (1993)
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
Czarnecki K., Helsen S.: Feature-based survey of model transformation approaches. IBM Syst. J. 45(3), 621–645 (2006)
Dantsin E., Eiter T., Gottlob G., Voronkov A.: Complexity and expressive power of logic programming. ACM Comput. Surv. 33(3), 374–425 (2001)
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)
Drewes F., Hoffmann B., Plump D.: Hierarchical graph transformation. J. Comput. Syst. Sci. 64(2), 249–283 (2002)
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)
Ehrig, H., Prange, U., Taentzer, G.: Fundamental theory for typed attributed graph transformation. In: ICGT, pp. 161–177 (2004)
Emerson M., Sztipanovits J., Bapty T.: A mof-based metamodeling environment. J. Universal Comp. Sci. 10(10), 1357–1382 (2004)
Emerson M.J., Sztipanovits J., Bapty T.: A mof-based metamodeling environment. J. UCS 10(10), 1357–1382 (2004)
Evans, A., France, R.B., Grant, E.S.: Towards formal reasoning with uml models. In: Proceedings of the Eighth OOPSLA Workshop on Behavioral Semantics
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)
Fosdick L.D., Osterweil L.J.: Data flow analysis in software reliability. ACM Comput. Surv. 8(3), 305–330 (1976)
Gelfond, M., Lifschitz, V.: The stable model semantics for logic programming. In: ICLP/SLP, pp. 1070–1080 (1988)
Generic Modeling Framework Team. GMF Documentation, http://wiki.eclipse.org/, 2007
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)
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)
Graf S., Ober I., Ober I.: A real-time profile for uml. STTT 8(2), 113–127 (2006)
Gray, J.G., Roychoudhury, S.: A technique for constructing aspect weavers using a program transformation engine. In: AOSD, pp. 36–45 (2004)
Greenfield, J.: Using domain-specific languages, patterns, frameworks, and tools to assemble applications. In: SPLC, p. 324 (2004)
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)
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)
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)
Harel D., Naamad A.: The statemate semantics of statecharts. ACM Trans. Softw. Eng. Methodol. 5(4), 293–333 (1996)
Harel D., Rumpe B.: Meaningful modeling: What’s the semantics of “semantics”?. IEEE Comp. 37(10), 64–72 (2004)
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)
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)
Institute For Software Integrated Systems. GME 5 User’s Guide, http://www.isis.vanderbilt.edu/, 2005
Jackson, D.: A comparison of object modelling notations: Alloy, uml and z. Tech. rep., August 1999
Jackson, D.: Automating first-order relational logic. In: SIGSOFT FSE, pp. 130–139 (2000)
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)
Jackson, E., Sztipanovits, J.: Constructive techniques for meta- and model-level reasoning. In: Proceedings of MODELS’07
Jackson, E.K., Schulte, W.: Compositional modeling for data-centric business applications. In: Proceedings of the Workshop on Software Engineering (SC 2008) (2008)
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)
Jackson, E.K., Sztipanovits, J.: Correct-ed through construction: A model-based approach to embedded systems reality. In: ECBS, pp. 164–176 (2006)
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)
Jouault, F., Bézivin, J.: Km3: A dsl for metamodel specification. In: FMOODS (2006), pp. 171–185
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
Kahn, G., MacQueen, D.B.: Coroutines and networks of parallel processes. In: IFIP Congress, pp. 993–998 (1977)
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)
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)
Karsai G, Sztipanovits J., Ledeczi A., Bapty T.: Model-integrated development of embedded software. Proc. IEEE 91(1), 145–164 (2003)
Knuth, D.E.: The genesis of attribute grammars. In: Proceedings of Attribute Grammars and their Applications, pp. 1–12 (1990)
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)
Kühne T.: Matters of (meta-) modeling. Softw. Syst. Model. (SoSyM) 5(4), 369–385 (2006)
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)
Lawvere W.F., Schanuel S.H.: Conceptual Mathematics: A First Introduction to Categories. Cambridge University Press, Cambridge (1997)
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)
Lee E.A., Neuendorffer S.: Actor-oriented models for codesign: Balancing re-use and performance. Formal Methods and Models for Systems. Kluwer, Dordrecht (2004)
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)
Lee, E.A., Parks, T.M.: Dataflow process networks. Proc. IEEE, pp. 773–799 (1995)
Long E., Misra A., Sztipanovits J.: Increasing productivity at saturn. IEEE Comp. 31(8), 35–43 (1998)
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)
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)
Minker, J.: Logic and databases: A 20 year retrospective. In: Logic in Databases, pp. 3–57 (1996)
Muller, P.-A., Fleurey, F., Jézéquel, J.-M.: Weaving executability into object-oriented meta-languages. In: MoDELS, pp. 264–278 (2005)
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)
Neema, S., Sztipanovits, J., Karsai, G., Butts, K.: Constraint-based design-space exploration and model synthesis. In: EMSOFT, pp. 290–305 (2003)
Object Management Group. Meta Object Facility Specification v1.4, http://www.omg.org/docs/formal/02-04-03.pdf, 2002
Object Management Group. MDA Guide version 1.0.1, http://www.omg.org/docs/omg/03-06-01.pdf, 2003
Object Management Group. Meta Object Facility (MOF) 2.0 Core Specification, http://www.omg.org/docs/ptc/03-10-04.pdf, 2003
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
Object Management Group. Object Constraint Language v2.0, http://www.omg.org/docs/formal/06-05-01.pdf, 2006
Object Management Group. Unified Modeling Language: Superstructure version 2.1.1, http://www.omg.org/docs/formal/07-02-06.pdf, 2007
Orejas, F., Ehrig, H., Prange, U.: A logic of graph constraints. In: FASE, pp. 179–198 (2008)
Paakki J.: Attribute grammar paradigms—a high-level methodology in language implementation. ACM Comput. Surv. 27(2), 196–255 (1995)
Pinto, A., Carloni, L.P., Passerone, R., Sangiovanni-Vincentelli, A.L.: Interchange format for hybrid systems: Abstract semantics. In: HSCC, pp. 491–506 (2006)
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)
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)
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)
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)
Weijland, W.P.: Semantics for logic programs without occur check. In: ICALP, pp. 710–726 (1988)
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Prof. Thomas Kühne.
Rights 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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-008-0105-0