Abstract
Domain-specific modelling reduces the gap between problem domain and solution domain. It supports modelling using constructs familiar to experts of a specific domain. Domain-specific models (DSms) are (semi)automatically transformed to various lower-level artifacts, including configuration files, documentation and executable programs. Although various aspects of model-driven development have been investigated, such as model versioning, debugging and transformation, relatively not much attention has been paid to formalise how artifacts are synthesised from DSms. State-of-the-art approaches rely on ad hoc coded generators that essentially use modelling tool APIs to programmatically iterate through internal representations of DSm entities to produce target-platform artifacts. In this work, we propose a more structured approach to artifact generation, where layered model transformations are used to modularly isolate, compile and re-combine various concerns within DSms, while maintaining traceability links between corresponding constructs at different levels of abstraction. We study and demonstrate how our approach simplifies addressing non-functional requirements (e.g., timing and resource utilisation constraints) of modern embedded systems. This is achieved through the modular synthesis of performance models from DSms. We illustrate our work by means of the synthesis of fully functional Google Android applications, performance predictions, simulations and performance measurement facilities from DSms of mobile phone applications.
Similar content being viewed by others
References
Agrawal A, Karsai G, Neema S, Shi F, Vizhanyo A (2006) The design of a language for model transformations. Softw Syst Model (SoSym) 5: 261–288
Alanen M, Porres I (2003) Difference and union of models. In: Unified modeling language (UML). LNCS, vol 2863, pp 2–17
Atkinson C, Kühne T (2005) A generalized notion of platforms for model-driven development. In: Beydeda S, Book M, Gruhn V (eds) Model-driven software development, vol II. Springer, Berlin, pp 119–136
Atkinson C, Kühne T (2008) Reducing accidental complexity in domain models. Softw Syst Model (SoSym) 7: 345–359
Becker S, Koziolek H, Reussner R (2009) The palladio component model for model-driven performance prediction. J Syst Softw 82(1): 3–22
Bézivin J (2005) On the unification power of models. Softw Syst Model (SoSym) 4: 171–188
Brooks FP (1987) No silver bullet: essence and accidents of software engineering. IEEE Comput 20(4): 10–19
Brown AW (2004) Model driven architecture: principles and practice. Softw Syst Model (SoSym) 3: 314–327
Cardellini V, Casalicchio E, Grassi V, Lo Presti F, Mirandola R (2009) Qos-driven runtime adaptation of service oriented architectures. In: 7th joint meeting of the European software engineering conference and the international symposium on foundations of software engineering
Cicchetti A, Di Ruscio D, Eramo R, Pierantonio A (2008) Automating co-evolution in model-driven engineering. In: Enterprise distributed object computing (EDOC), pp 222–231
Cicchetti A, Di Ruscio D, Pierantonio A (2007) A metamodel independent approach to difference representation. J Object Technol (JOT) 6: 165–185
Czarnecki K, Helsen S (2006) Feature-based survey of model transformation approaches. IBM Syst J (IBMS) 45: 621–645
de Lara J, Vangheluwe H (2002) AToM 3: a tool for multi-formalism modelling and meta-modelling. LNCS 2306: 174–188
de Lara J, Vangheluwe H, Alfonseca M (2004) Meta-modelling and graph grammars for multi-paradigm modelling in AToM3. Softw Syst Model (SoSym) 3: 194–209
De Decker B, Lapon J, Layouni M, Mannadiar R, Naessens V, Vangheluwe H, Verhaeghe P, Verslype K (eds) (2009) Advanced applications for e-ID cards in flanders. adapid deliverable D12. Technical report, KU Leuven
Harel D (1987) Statecharts: a visual formalism for complex systems. Sci Comput Program 8: 231–274
Harel D, Kugler H (2004) The rhapsody semantics of statecharts (or, on the executable core of the UML). Integr Softw Specific Tech Appl Eng LNCS 3147: 325–354
Kapova L , Goldschmidt T , Happe J, Reussner RH (2010) Domain-specific templates for refinement transformations. In: 1st workshop on model driven interoperability (MDI)
Kapova L, Reussner R (2010) Application of advanced model-driven techniques in performance engineering. In: 7th European performance engineering workshop (EPEW). LNCS, vol 6342, pp 17–36
Kelly S, Tolvanen J-P (2008) Domain-specific modeling : enabling full code generation. Wiley, New York
Kiczales G, Lamping J, Mendhekar A, Maeda C, Videira Lopes C, Loingtier J-M, Irwin J (1997) Aspect-oriented programming. In: European conference on object-oriented programming (ECOOP). LNCS, vol 1241
Kühne T (2006) Matters of (meta-) modeling. Softw Syst Model (SoSym) 5: 369–385
Levendovszky T, Lengyel L, Mezei G, Mészáros T (2008) Introducing the VMTS mobile toolkit. In: Applications of graph transformations with industrial relevance. LNCS, vol 5088. Springer, Heidelberg, pp 587–592
Lin Y, Gray J, Jouault F (2007) DSMDiff: a differentiation tool for domain-specific models. Eur J Inform Syst (EJIS) 16: 349–361
Mannadiar R, Vangheluwe H (2010) Domain-specific engineering of domain-specific languages. In: 10th workshop on domain-specific modeling (DSM). Part of systems, programming, languages, and applications: software for humanity (SPLASH). HSE-Press, B-120
Mannadiar R, Vangheluwe H (2010) Modular synthesis of mobile device applications from domain-specific models. Technical Report SOCS-TR-2010.5, McGill University
Mannadiar R, Vangheluwe H (2010) Modular synthesis of mobile device applications from domain-specific models. In: The 7th international workshop on model-based methodologies for pervasive and embedded software (MOMPES), pp 21–28
Mannadiar R, Vangheluwe H (2011) Debugging in domain-specific modelling. In: 3rd international conference on software language engineering (SLE). LNCS, vol 6563. Springer, Berlin, pp 276– 285
Menascé DA, Sousa JP, Malek S, Gomaa H (2010) Qos architectural patterns for self-architecting software systems. In: 7th IEEE international conference on autonomic computing and communication
MetaCase (2009) Domain-specific modeling with MetaEdit+: 10 times faster than UML. http://www.metacase.com/resources.html , June 2009
Peterson JL (1981) Petri Net theory and the modeling of systems. Prentice Hall, New Jersey
Safa L (2007) The making of user-interface designer a proprietary DSM tool. In: 7th OOPSLA workshop on domain-specific modeling (DSM), p 14. http://www.dsmforum.org/events/DSM07/papers.html
Schmidt DC (2006) Guest editor’s introduction: model-driven engineering. Computer 39: 25–31
Sun Y, White J, Gray J (2009) Model transformation by demonstration. In: MODELS. LNCS, vol 5795, pp 712–726
Syriani E, Kienzle J, Vangheluwe H (2010) Exceptional transformations. In: International conference on model transformation (ICMT). LNCS, vol 6142, pp 199–214
Syriani E, Vangheluwe H (2009) Discrete-event modeling and simulation: theory and applications. Chapter DEVS as a semantic domain for programmed graph transformation. CRC Press, Boca Raton
Syriani E, Vangheluwe H (2010) De-/re-constructing model transformation languages. In: 9th international workshop on graph transformation and visual modeling techniques (GT-VMT)
Tawhid R, Petriu D (2008) Integrating performance analysis in the model driven development of software product line. In: Proceedings of the 11th international conference on model driven engineering languages and systems (MODELS)
Wu H, Gray J, Mernik M (2008) Grammar-driven generation of domain-specific language debuggers. Softw Pract Exp 38: 1073–1103
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Mannadiar, R., Vangheluwe, H. Modular artifact synthesis from domain-specific models. Innovations Syst Softw Eng 8, 65–77 (2012). https://doi.org/10.1007/s11334-011-0157-0
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11334-011-0157-0