Skip to main content
Log in

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

  • Original Paper
  • Published:
Innovations in Systems and Software Engineering Aims and scope Submit manuscript

Abstract

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.

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. Domaines et processus méthodologique (2009) http://www.domino-rntl.org/

  2. Aho AV, Sethi R, Ullman JD (1986) Compilers: principles, techniques, and tools. Addison-Wesley, Reading

    Google Scholar 

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

  4. Bézivin J, Gerbé O (2001) Towards a precise definition of the OMG/MDA framework. In: ASE. IEEE Computer Society, pp 273–280

  5. Camacho DO, Mens K (2008) Appareil: a tool for building automated program translators using annotated grammars. In: ASE. IEEE, pp 489–490

  6. Camacho DO, Mens K (2007) Using annotated grammars for the automated generation of programs transformers. In: Ingénierie Dirigée par les Modeles

  7. CCITT (1988) Specification and description language. Recommendation Z.100, Blue Book

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

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

    Google Scholar 

  10. DSouza D (2001) OMG’s MDA, An Architecture for Modeling. Technical report, OMG

  11. European Space Agency (2008) ESA. ECSS-E-ST-70-32C—Test and operations procedure language Standard Document

  12. Goguen JA, Burstall RM (1992) Institutions: abstract model theory for specification and programming. J ACM 39(1): 95–146

    Article  MATH  MathSciNet  Google Scholar 

  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 2004

  14. Harel D (1987) Statecharts: a visual formulation for complex systems. Sci Comput Program 8(3): 231–274

    Article  MATH  MathSciNet  Google Scholar 

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

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

  17. Kang K, Cohen S, Hess J, Nowak W, Peterson S (1990) Feature-Oriented Domain Analysis (FODA) Feasibility Study

  18. McDonald J, Anton J (2001) SPECWARE—Producing Software Correct by Construction. Kestrel Institute Technical Report KES.U.01.3

  19. Klint P (1993) A meta-environment for generating programming environments. ACM Trans Softw Eng Methodol 2(2): 176–201

    Article  Google Scholar 

  20. Lim WC (1998) Managing software reuse: a comprehensive guide to strategically reengineering the organization for reusable components. Prentice-Hall, Inc., Upper Saddle River

    Google Scholar 

  21. Miller J, Mukerji J (2003) MDA guide version 1.0.1. omg/2003-06-01. Technical report, OMG

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

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

  24. OMG (2005) RFP Spacecraft Operations Language Metamodel. Technical report, OMG

  25. OMG (2009) Draft RFP Common Variability Language. Technical report, OMG. ad/2009-08-07

  26. Soley R (2001) Model-Driven Architecture. Technical report, OMG

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

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

    Article  Google Scholar 

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

  30. Wile DS (1991) Producer of parsers and related tools system builders’ manual 1994 edition draft. Technical report, USC Information Sciences Institute

  31. Yourdon E, Constantine LL (1979) Structured design: fundamentals of a discipline of computer program and systems design. Prentice-Hall, Inc., Upper Saddle River

    MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ileana Ober.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Ober, I., Féraud, L. & Percebois, C. Dealing with variability within a family of domain-specific languages: comparative analysis of different techniques. Innovations Syst Softw Eng 6, 21–28 (2010). https://doi.org/10.1007/s11334-009-0117-0

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11334-009-0117-0

Keywords

Navigation