Modular artifact synthesis from domain-specific models

  • Raphael Mannadiar
  • Hans Vangheluwe


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.


Multi-paradigm modelling Model transformation Domain-specific modelling language semantics Application synthesis Performance model synthesis Google Android platform 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    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–288CrossRefGoogle Scholar
  2. 2.
    Alanen M, Porres I (2003) Difference and union of models. In: Unified modeling language (UML). LNCS, vol 2863, pp 2–17Google Scholar
  3. 3.
    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–136CrossRefGoogle Scholar
  4. 4.
    Atkinson C, Kühne T (2008) Reducing accidental complexity in domain models. Softw Syst Model (SoSym) 7: 345–359CrossRefGoogle Scholar
  5. 5.
    Becker S, Koziolek H, Reussner R (2009) The palladio component model for model-driven performance prediction. J Syst Softw 82(1): 3–22CrossRefGoogle Scholar
  6. 6.
    Bézivin J (2005) On the unification power of models. Softw Syst Model (SoSym) 4: 171–188CrossRefGoogle Scholar
  7. 7.
    Brooks FP (1987) No silver bullet: essence and accidents of software engineering. IEEE Comput 20(4): 10–19MathSciNetCrossRefGoogle Scholar
  8. 8.
    Brown AW (2004) Model driven architecture: principles and practice. Softw Syst Model (SoSym) 3: 314–327Google Scholar
  9. 9.
    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 engineeringGoogle Scholar
  10. 10.
    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–231Google Scholar
  11. 11.
    Cicchetti A, Di Ruscio D, Pierantonio A (2007) A metamodel independent approach to difference representation. J Object Technol (JOT) 6: 165–185CrossRefGoogle Scholar
  12. 12.
    Czarnecki K, Helsen S (2006) Feature-based survey of model transformation approaches. IBM Syst J (IBMS) 45: 621–645CrossRefGoogle Scholar
  13. 13.
    de Lara J, Vangheluwe H (2002) AToM 3: a tool for multi-formalism modelling and meta-modelling. LNCS 2306: 174–188Google Scholar
  14. 14.
    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–209Google Scholar
  15. 15.
    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 LeuvenGoogle Scholar
  16. 16.
    Harel D (1987) Statecharts: a visual formalism for complex systems. Sci Comput Program 8: 231–274MathSciNetzbMATHCrossRefGoogle Scholar
  17. 17.
    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–354CrossRefGoogle Scholar
  18. 18.
    Kapova L , Goldschmidt T , Happe J, Reussner RH (2010) Domain-specific templates for refinement transformations. In: 1st workshop on model driven interoperability (MDI)Google Scholar
  19. 19.
    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–36Google Scholar
  20. 20.
    Kelly S, Tolvanen J-P (2008) Domain-specific modeling : enabling full code generation. Wiley, New YorkGoogle Scholar
  21. 21.
    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 1241Google Scholar
  22. 22.
    Kühne T (2006) Matters of (meta-) modeling. Softw Syst Model (SoSym) 5: 369–385CrossRefGoogle Scholar
  23. 23.
    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–592Google Scholar
  24. 24.
    Lin Y, Gray J, Jouault F (2007) DSMDiff: a differentiation tool for domain-specific models. Eur J Inform Syst (EJIS) 16: 349–361CrossRefGoogle Scholar
  25. 25.
    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-120Google Scholar
  26. 26.
    Mannadiar R, Vangheluwe H (2010) Modular synthesis of mobile device applications from domain-specific models. Technical Report SOCS-TR-2010.5, McGill UniversityGoogle Scholar
  27. 27.
    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–28Google Scholar
  28. 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– 285Google Scholar
  29. 29.
    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 communicationGoogle Scholar
  30. 30.
    MetaCase (2009) Domain-specific modeling with MetaEdit+: 10 times faster than UML. , June 2009
  31. 31.
    Peterson JL (1981) Petri Net theory and the modeling of systems. Prentice Hall, New JerseyGoogle Scholar
  32. 32.
    Safa L (2007) The making of user-interface designer a proprietary DSM tool. In: 7th OOPSLA workshop on domain-specific modeling (DSM), p 14.
  33. 33.
    Schmidt DC (2006) Guest editor’s introduction: model-driven engineering. Computer 39: 25–31CrossRefGoogle Scholar
  34. 34.
    Sun Y, White J, Gray J (2009) Model transformation by demonstration. In: MODELS. LNCS, vol 5795, pp 712–726Google Scholar
  35. 35.
    Syriani E, Kienzle J, Vangheluwe H (2010) Exceptional transformations. In: International conference on model transformation (ICMT). LNCS, vol 6142, pp 199–214Google Scholar
  36. 36.
    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 RatonGoogle Scholar
  37. 37.
    Syriani E, Vangheluwe H (2010) De-/re-constructing model transformation languages. In: 9th international workshop on graph transformation and visual modeling techniques (GT-VMT)Google Scholar
  38. 38.
    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)Google Scholar
  39. 39.
    Wu H, Gray J, Mernik M (2008) Grammar-driven generation of domain-specific language debuggers. Softw Pract Exp 38: 1073–1103CrossRefGoogle Scholar

Copyright information

© Springer-Verlag London Limited 2011

Authors and Affiliations

  1. 1.McGill UniversityMontrealCanada
  2. 2.University of AntwerpAntwerpenBelgium

Personalised recommendations