Dealing with variability within a family of domain-specific languages: comparative analysis of different techniques

  • Ileana OberEmail author
  • Louis Féraud
  • Christian Percebois
Original Paper


Almost a decade has passed since the OMG has issued the Model Driven Architecture (MDA) initiative. It soon became obvious that raising the level of abstraction in development and reasoning at the model level would help in asking the right questions at the right time. Based on a concrete problem, we discuss four alternative solutions to a multi-language system design problem. These solutions use a traditional approach, a technique based on modeling, a domain-specific approach, and a mix of modeling and domain-specific techniques, respectively. The solutions depend on the problem, but they are representative for the situations we encounter in practice, therefore giving us a good basis for a larger discussion on the appropriateness of using modeling techniques and on the place of MDA in current software engineering practice and design.


Model-based development Domain-specific (modeling) language Automatic unification Comparative analysis 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Domaines et processus méthodologique (2009)
  2. 2.
    Aho AV, Sethi R, Ullman JD (1986) Compilers: principles, techniques, and tools. Addison-Wesley, ReadingGoogle Scholar
  3. 3.
    Bézivin J (2003) MDA: from hype to hope, and reality. In:Invited talk at 6th international conference on UML, San Francisco, CA, USA, October 20–24Google Scholar
  4. 4.
    Bézivin J, Gerbé O (2001) Towards a precise definition of the OMG/MDA framework. In: ASE. IEEE Computer Society, pp 273–280Google Scholar
  5. 5.
    Camacho DO, Mens K (2008) Appareil: a tool for building automated program translators using annotated grammars. In: ASE. IEEE, pp 489–490Google Scholar
  6. 6.
    Camacho DO, Mens K (2007) Using annotated grammars for the automated generation of programs transformers. In: Ingénierie Dirigée par les ModelesGoogle Scholar
  7. 7.
    CCITT (1988) Specification and description language. Recommendation Z.100, Blue BookGoogle Scholar
  8. 8.
    Chaudhri G, Cater J, Kizzort B (2006) A model for a spacecraft operations language. In: SpaceOps 2006. American Institute of Aeronautics and Astronautics. AIAA 2006–5708Google Scholar
  9. 9.
    Cleenewerck T, D’Hondt T (2005) Disentangling the implementation of local-to-global transformations in a rewrite rule transformation system. In: Haddad H, Liebrock LM, Omicini A, Wainwright RL (eds) Symposium on applied computing. ACM, New York, pp 1398–1403Google Scholar
  10. 10.
    DSouza D (2001) OMG’s MDA, An Architecture for Modeling. Technical report, OMGGoogle Scholar
  11. 11.
    European Space Agency (2008) ESA. ECSS-E-ST-70-32C—Test and operations procedure language Standard DocumentGoogle Scholar
  12. 12.
    Goguen JA, Burstall RM (1992) Institutions: abstract model theory for specification and programming. J ACM 39(1): 95–146zbMATHCrossRefMathSciNetGoogle Scholar
  13. 13.
    Göktürk E, Naci Akkøk M (2004) Paradigm and software engineering. In: Turkey Ege University, Izmir. Impact of Software Process on Quality (IMPROQ) Workshop, May 2004Google Scholar
  14. 14.
    Harel D (1987) Statecharts: a visual formulation for complex systems. Sci Comput Program 8(3): 231–274zbMATHCrossRefMathSciNetGoogle Scholar
  15. 15.
    Haugen Ø, Møller-Pedersen B, Oldevik J, Olsen GK, Svendsen A (2008) Adding standardized variability to domain specific languages. In: SPLC. IEEE Computer Society, pp 139–148Google Scholar
  16. 16.
    Hössler J, Born M, Saito S (2006) Significant productivity enhancement through model driven techniques: a success story. In: EDOC. IEEE Computer Society, pp 367–373Google Scholar
  17. 17.
    Kang K, Cohen S, Hess J, Nowak W, Peterson S (1990) Feature-Oriented Domain Analysis (FODA) Feasibility StudyGoogle Scholar
  18. 18.
    McDonald J, Anton J (2001) SPECWARE—Producing Software Correct by Construction. Kestrel Institute Technical Report KES.U.01.3Google Scholar
  19. 19.
    Klint P (1993) A meta-environment for generating programming environments. ACM Trans Softw Eng Methodol 2(2): 176–201CrossRefGoogle Scholar
  20. 20.
    Lim WC (1998) Managing software reuse: a comprehensive guide to strategically reengineering the organization for reusable components. Prentice-Hall, Inc., Upper Saddle RiverGoogle Scholar
  21. 21.
    Miller J, Mukerji J (2003) MDA guide version 1.0.1. omg/2003-06-01. Technical report, OMGGoogle Scholar
  22. 22.
    Ober I, Dib AA, Féraud L, Percebois C (2008) Towards interoperability in component based development with a family of DSLs. In: Morrison R, Balasubramaniam D, Falkner KE (eds) ECSA. LNCS, vol 5292. Springer, Berlin, pp 148–163Google Scholar
  23. 23.
    Oldevik J, Haugen Ø, Møller-Pedersen B (2009) Confluence in domain-independent product line transformations. In: Chechik M, Wirsing M (eds) FASE. Lecture notes in computer science, vol 5503. Springer, Berlin, pp 34–48Google Scholar
  24. 24.
    OMG (2005) RFP Spacecraft Operations Language Metamodel. Technical report, OMGGoogle Scholar
  25. 25.
    OMG (2009) Draft RFP Common Variability Language. Technical report, OMG. ad/2009-08-07Google Scholar
  26. 26.
    Soley R (2001) Model-Driven Architecture. Technical report, OMGGoogle Scholar
  27. 27.
    Svendsen A, Olsen GK, Endresen J, Moen T, Carlson E, Alme K-J, Haugen Ø (2008) The future of train signaling. In: Czarnecki K, Ober I, Bruel J-M, Uhl A, Völter M (eds) MoDELS. Lecture notes in computer science, vol 5301. Springer, Berlin, pp 128–142Google Scholar
  28. 28.
    Uhl A, Ambler SW (2003) Point/counterpoint: model driven architecture is ready for prime time/agile model driven development is good enough. IEEE Softw 20(5): 70–73CrossRefGoogle Scholar
  29. 29.
    Van Wyk E, de Moor O, Backhouse K, Kwiatkowski P (2002) Forwarding in attribute grammars for modular language design. In: Nigel Horspool R (ed) Compiler construction. Lecture notes in computer science, vol 2304. Springer, Berlin, pp 128–142Google Scholar
  30. 30.
    Wile DS (1991) Producer of parsers and related tools system builders’ manual 1994 edition draft. Technical report, USC Information Sciences InstituteGoogle Scholar
  31. 31.
    Yourdon E, Constantine LL (1979) Structured design: fundamentals of a discipline of computer program and systems design. Prentice-Hall, Inc., Upper Saddle RiverzbMATHGoogle Scholar

Copyright information

© Springer-Verlag London Limited 2010

Authors and Affiliations

  • Ileana Ober
    • 1
    Email author
  • Louis Féraud
    • 1
  • Christian Percebois
    • 1
  1. 1.IRIT, Université de ToulouseToulouseFrance

Personalised recommendations