Domain-Specific Metamodelling Languages for Software Language Engineering

  • Steffen Zschaler
  • Dimitrios S. Kolovos
  • Nikolaos Drivalos
  • Richard F. Paige
  • Awais Rashid
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5969)

Abstract

Domain-specific languages are constructed to provide modelling capabilities tailored to a specific domain. Sometimes, languages are developed many times, typically to support application in a new context. In doing so, recurring patterns and commonalities as well as variations across the evolving set of languages can be identified. This paper introduces the concept of a domain-specific metamodelling language, which codifies such commonalities and provides concepts and logic for expressing the variations. The challenges and difficulties of using domain-specific metamodelling languages are identified. We illustrate the concept with examples from different domains.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Aho, A.V., Lam, M.S., Sethi, R., Ullman, J.D.: Compilers: Principles, Techniques, and Tools, 2nd edn. Addison-Wesley, Reading (2006)Google Scholar
  2. 2.
    Akehurst, D., Zschaler, S., Howells, G.: OCL: Modularising the language. In: Ocl4All: Workshop at MoDELS 2007, Electronic Communications of the EASST, vol. 9 (2008)Google Scholar
  3. 3.
    Alférez, M., Kulesza, U., Weston, N., Araujo, J., Amaral, V., Moreira, A., Rashid, A., Jaeger, M.C.: A metamodel for aspectual requirements modelling and composition. AMPLE Deliverable 1.3 (2007), http://ample.holos.pt/gest_cnt_upload/editor/File/public/AMPLE_WP1_D13.pdf
  4. 4.
    Kleppe, A.: A Language Description is More than a Metamodel. In: Proc. 4th International Workshop on Software Language Engineering, Nashville, USA (October 2007)Google Scholar
  5. 5.
    Cicchetti, A.: Difference Representation and Conflict Management in Model-Driven Engineering. PhD thesis, Dipartimento di Informatica, Universita di L’Aquila (2008)Google Scholar
  6. 6.
    Deursen, A., Klint, P.: Little languages: Little maintenance? Journal of Software Maintenance 10, 75–92 (1998)CrossRefGoogle Scholar
  7. 7.
    Atlas and LINA Project Team. AMMA Platform (2008), http://www.sciences.univ-nantes.fr/lina/atl/AMMAROOT/
  8. 8.
    Bézivin, J., Jouault, F., Kurtev, I., Valduriez, P.: Model-based DSL Frameworks. In: Companion to the 21st Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA (October 2006)Google Scholar
  9. 9.
    Brabrand, C., Schwartzbach, M.: Growing languages with metamorphic syntax macros. In: Proc. SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation, pp. 31–40. ACM, New York (2002)CrossRefGoogle Scholar
  10. 10.
    Bravenboer, M., Visser, E.: Designing Syntax Embeddings and Assimilations for Language Libraries. In: 4th International Workshop on Software Language Engineering, ATEM (2007)Google Scholar
  11. 11.
    Amelunxen, C., Königs, A., Rötschke, T., Schürr, A.: MOFLON: A Standard-Compliant Metamodeling Framework with Graph Transformations. In: Rensink, A., Warmer, J. (eds.) ECMDA-FA 2006. LNCS, vol. 4066, pp. 361–375. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  12. 12.
    Clark, T.: XMF-Mosaic (2009), http://itcentre.tvu.ac.uk/~clark/Software.html
  13. 13.
    Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley, Reading (2002)Google Scholar
  14. 14.
    Czarnecki, K., Antkiewicz, M.: Mapping features to models: A template approach based on superimposed variants. In: Glück, R., Lowry, M. (eds.) GPCE 2005. LNCS, vol. 3676, pp. 422–437. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  15. 15.
    Kolovos, D.S.: An Extensible Platform for Specification of Integrated Languages for Model Management. PhD thesis, Department of Computer Science, The University of York, York, United Kingdom (June 2008)Google Scholar
  16. 16.
    Kolovos, D.S., Paige, R.F., Polack, F.A.C.: On the Evolution of OCL for Capturing Structural Constraints in Modelling Languages. In: Proc. Dagstuhl Workshop on Rigorous Methods for Software Construction and Analysis (2007)Google Scholar
  17. 17.
    Drivalos, N., Paige, R.F., Fernandes, K.J., Kolovos, D.S.: Towards rigorously defined model-to-model traceability. In: Proc. ECMDA Traceability Workshop, SINTEF Technical Report (2008)Google Scholar
  18. 18.
    Drivalos, N., Kolovos, D.S., Paige, R.F., Fernandes, K.J.: Engineering a DSL for software traceability. In: Gašević, D., Lämmel, R., Van Wyk, E. (eds.) SLE 2008. LNCS, vol. 5452, pp. 151–167. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  19. 19.
    Van Wyk, E., de Moor, O., Backhouse, K., Kwiatkowski, P.: Forwarding in attribute grammars for modular language design. In: 11th International Conference on Compiler Construction. LNCS. Springer, Heidelberg (2002)Google Scholar
  20. 20.
    The Eclipse Foundation. Eclipse Modelling Framework Project (2008), http://www.eclipse.org/modeling/emf/
  21. 21.
    Haugen, Ø., Møller-Pedersen, B., Oldevik, J., Olsen, G., Svendsen, A.: Adding standardized variability to domain specific languages. In: Proc. 12th Int’l Conf. on Software Product Lines (SPLC 2008), pp. 139–148. IEEE, Los Alamitos (2008)CrossRefGoogle Scholar
  22. 22.
    Heidenreich, F., Henriksson, J., Johannes, J., Zschaler, S.: On language-independent model modularisation. Transactions on Aspect-Oriented Development, Special Issue on Aspects and MDE (to appear, 2009)Google Scholar
  23. 23.
    Heidenreich, F., Johannes, J., Karol, S., Seifert, M., Wende, C.: Derivation and refinement of textual syntax for models. In: Paige, R.F., Hartman, A., Rensink, A. (eds.) ECMDA-FA 2009. LNCS, vol. 5562, pp. 114–129. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  24. 24.
    Heidenreich, F., Kopcsek, J., Wende, C.: FeatureMapper: Mapping features to models. In: Companion 30th Int’l Conf. on Software Engineering (ICSE 2008). ACM, New York (2008)Google Scholar
  25. 25.
    Bosch, J.: Delegating compiler objects: modularity and reusability in language engineering. Nordic Journal of Computing 4(1), 66–92 (1997)MATHGoogle Scholar
  26. 26.
    Johannes, J., Zschaler, S., Fernández, M.A., Castillo, A., Kolovos, D.S., Paige, R.F.: Abstracting complex languages through transformation and composition. In: Schürr, A., Selic, B. (eds.) MODELS 2009. LNCS, vol. 5795, pp. 546–550. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  27. 27.
    Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, S.: Feature-oriented domain analysis (FODA) feasibility study. Technical Report CMU/SEI-90-TR-0211990, Software Engineering Institute (1990)Google Scholar
  28. 28.
    Kelly, S., Tolvanen, J.-P.: Domain-Specific Modeling. Wiley, Chichester (2008)CrossRefGoogle Scholar
  29. 29.
    Klint, P., Lämmel, R., Verhoef, C.: Toward an engineering discipline for Grammarware. ACM Transactions on Software Engineering Methodology 14(3), 331–380 (2005)CrossRefGoogle Scholar
  30. 30.
    Kolovos, D.S.: Extensible Platform for Specification of Integrated Languages for mOdel maNagement Project Website (2007), http://www.eclipse.org/gmt/epsilon
  31. 31.
    Kolovos, D.S., Paige, R.F., Polack, F.: A framework for composing modular and interoperable model management tasks. In: Model-Driven Tool and Process Integration Workshop, pp. 79–90 (2008)Google Scholar
  32. 32.
    Kolovos, D.S., Paige, R.F., Polack, F.A.C.: On-demand merging of traceability links with models. In: ECMDA 2006 Traceability Workshop Bilbao (2006)Google Scholar
  33. 33.
    Ledeczi, A., Maroti, M., Bakay, A., Karsai, G., Garrett, J., Thomason, C., Nordstrom, G., Sprinkle, J., Volgyesi, P.: The generic modeling environment. In: Workshop on Intelligent Signal Processing (2001)Google Scholar
  34. 34.
    Nakatani, L., Jones, M.: Jargons and infocentrism. In: 1st ACM SIGPLAN Workshop on Domain-Specific Languages (1997)Google Scholar
  35. 35.
    Loughran, N., Sánchez, P., Garcia, A., Fuentes, L.: Language support for managing variability in architectural models. In: Pautasso, C., Tanter, É. (eds.) SC 2008. LNCS, vol. 4954, pp. 36–51. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  36. 36.
    Mernik, M., Zumer, V., Lenic, M., Avdicausevic, E.: Implementation of multiple attribute grammar inheritance in the tool LISA. ACM SIGPLAN Notices 34(6), 68–75 (1999)CrossRefGoogle Scholar
  37. 37.
    Bravenboer, M., de Groot, R., Visser, E.: MetaBorg in Action: Examples of Domain-specific Language Embedding and Assimilation using Stratego/XT. In: Lämmel, R., Saraiva, J., Visser, J. (eds.) GTTSE 2005. LNCS, vol. 4143, pp. 297–311. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  38. 38.
    MontiCore. Project Website (2007), http://www.sse-tubs.de/monticore/
  39. 39.
    openArchitectureWare. openArchitectureWare Project Website (2008), http://www.eclipse.org/gmt/oaw/
  40. 40.
    Paige, R.F., Kolovos, D.S., Rose, L.M., Drivalos, N., Polack, F.A.C.: The design of a conceptual framework and technical infrastructure for model management language engineering. In: Proc. ICECCS, pp. 162–171 (2009)Google Scholar
  41. 41.
    Hudak, P.: Building domain-specific embedded languages. ACM Computing Surveys 28 (1996)Google Scholar
  42. 42.
    Triskell Team. KerMeta Platform (2008), http://www.kermeta.org
  43. 43.
    Tisi, M., Jouault, F., Fraternali, P., Ceri, S., Bézivin, J.: On the use of higher-order model transformations. In: Paige, R.F., Hartman, A., Rensink, A. (eds.) ECMDA-FA 2009. LNCS, vol. 5562, pp. 18–33. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  44. 44.
    Veldhuizen, T.: Blitz++ User’s Guide. Version 1.2 (2001), http://www.oonumerics.org/blitz/manual/blitz.ps
  45. 45.
    Visser, E.: WebDSL: A case study in domain-specific language engineering. In: Lämmel, R., Visser, J., Saraiva, J. (eds.) GTTSE 2007. LNCS, vol. 5235, pp. 291–373. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  46. 46.
    Voelter, M.: A family of languages for architecture description. In: 8th OOPSLA Workshop on Domain-Specific Modeling (2008)Google Scholar
  47. 47.
    White, J., Schmidt, D.C., Mulligan, S.: The generic eclipse modeling system. In: Model-Driven Development Tool Implementer’s Forum, TOOLS 2007 (2007)Google Scholar
  48. 48.
    Zschaler, S., Sánchez, P., Santos, J., Alférez, M., Rashid, A., Fuentes, L., Moreira, A., Araújo, J., Kulesza, U.: VML* – a family of languages for variability management in software product lines. In: Proc. 2nd Int’l Conf. on Software Language Engineering, SLE 2009 (2009)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Steffen Zschaler
    • 1
  • Dimitrios S. Kolovos
    • 2
  • Nikolaos Drivalos
    • 2
  • Richard F. Paige
    • 2
  • Awais Rashid
    • 1
  1. 1.Computing DepartmentLancaster UniversityUK
  2. 2.Department of Computer ScienceUniversity of YorkUK

Personalised recommendations