When Systems Engineering Meets Software Language Engineering

  • Jean-Marc Jézéquel
  • David Méndez-Acuña
  • Thomas Degueule
  • Benoit Combemale
  • Olivier Barais
Conference paper

Abstract

The engineering of systems involves many different stakeholders, each with their own domain of expertise. Hence more and more organizations are adopting Domain Specific Languages (DSLs) to allow domain experts to express solutions directly in terms of relevant domain concepts. This new trend raises new challenges about designing DSLs, evolving a set of DSLs and coordinating the use of multiple DSLs for both DSL designers and DSL users. This paper explores various dimensions of these challenges, and outlines a possible research roadmap for addressing them. The message of this paper is also to claim that if language engineering techniques to design any single (disposable) language are mature, the language engineering community needs to fundamentally change its view on software language design. We need to take the next step and adopt the perspective that a software language is, fundamentally, software too and thus the result of a composition of design decisions. These design decisions should be represented as first-class entities in the software languages workbench and it should be possible, during the language lifecycle, to add, remove and change language design decisions with limited effort to go from continuous design to continuous meta-design.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Baudry, B., Ghosh, S., Fleurey, F., France, R., Le Traon, Y., Mottu, J.-M.: Barriers to systematic model transformation testing. Communications of the ACM 53(6), 139–143 (2010) CrossRefGoogle Scholar
  2. 2.
    Cleenewerck, T.: Component-based DSL development. In: Pfenning, F., Macko, M. (eds.) GPCE 2003. LNCS, vol. 2830, pp. 245–264. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  3. 3.
    Combemale, B., DeAntoni, J., Baudry, B., France, R.B., Jezequel, J.-M., Gray, J.: Globalizing modeling languages. Computer 47(6), 68–71 (2014)CrossRefGoogle Scholar
  4. 4.
    Crane, M., Dingel, J.: Uml vs. classical vs. rhapsody statecharts: not all models are created equal. Software & Systems Modeling 6(4), 415–435 (2007)CrossRefGoogle Scholar
  5. 5.
    de Lara, J., Guerra, E.: Generic meta-modelling with concepts, templates and mixin layers. In: Petriu, D.C., Rouquette, N., Haugen, Ø. (eds.) MODELS 2010, Part I. LNCS, vol. 6394, pp. 16–30. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  6. 6.
    Erdweg, S., Giarrusso, P.G., Rendel, T.: Language composition untangled. In: Proceedings of the Twelfth Workshop on Language Descriptions, Tools, and Applications, LDTA 2012, p. 7:1–7:8. ACM (2012)Google Scholar
  7. 7.
    Favre, J.-M., Gasevic, D., Lämmel, R., Pek, E.: Empirical language analysis in software linguistics. In: Malloy, B., Staab, S., van den Brand, M. (eds.) SLE 2010. LNCS, vol. 6563, pp. 316–326. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  8. 8.
    Grönniger, H., Rumpe, B.: Modeling language variability. In: Calinescu, R., Jackson, E. (eds.) Monterey Workshop 2010. LNCS, vol. 6662, pp. 17–32. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  9. 9.
    Guy, C., Combemale, B., Derrien, S., Steel, J.R.H., Jézéquel, J.-M.: On model subtyping. In: Vallecillo, A., Tolvanen, J.-P., Kindler, E., Störrle, H., Kolovos, D. (eds.) ECMFA 2012. LNCS, vol. 7349, pp. 400–415. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  10. 10.
    Hutchinson, J., Whittle, J., Rouncefield, M., Kristoffersen, S.: Empirical assessment of mde in industry. In: Proceedings of the 33rd International Conference on Software Engineering, ICSE 2011, pp. 471–480. ACM (2011)Google Scholar
  11. 11.
    Kleppe, A.: Software Language Engineering: Creating Domain-Specific Languages Using Metamodels, 1st edn. Addison-Wesley Professional (2008)Google Scholar
  12. 12.
    Lau, K.-K., Wang, Z.: Software component models. Transactions on Software Engineering 33(10), 709–724 (2007)CrossRefGoogle Scholar
  13. 13.
    van der Linden, F.J., Schmid, K., Rommes, E.: Software Product Lines in Action: The Best Industrial Practice in Product Line Engineering. Springer (2007)Google Scholar
  14. 14.
    Liskov, B.H., Wing, J.M.: A behavioral notion of subtyping. ACM Transactions on Programming Languages and Systems (TOPLAS) 16(6), 1811–1841 (1994)CrossRefGoogle Scholar
  15. 15.
    Meyer, B.: Applying ‘design by contract’. Computer 25(10), 40–51 (1992)CrossRefGoogle Scholar
  16. 16.
    Steel, J., Jézéquel, J.-M.: On model typing. Software & Systems Modeling 6(4), 401–413 (2007)CrossRefGoogle Scholar
  17. 17.
    Sun, W., Combemale, B., Derrien, S., France, R.B.: Using model types to support contract-aware model substitutability. In: Van Gorp, P., Ritter, T., Rose, L.M. (eds.) ECMFA 2013. LNCS, vol. 7949, pp. 118–133. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  18. 18.
    Vacchi, E., Cazzola, W., Pillay, S., Combemale, B.: Variability support in domain-specific language development. In: Erwig, M., Paige, R.F., Van Wyk, E. (eds.) SLE 2013. LNCS, vol. 8225, pp. 76–95. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  19. 19.
    Ward, M.P.: Language-oriented programming. Software-Concepts and Tools 15(4), 147–161 (1994)Google Scholar
  20. 20.
    Wende, C., Thieme, N., Zschaler, S.: A role-based approach towards modular language engineering. In: van den Brand, M., Gašević, D., Gray, J. (eds.) SLE 2009. LNCS, vol. 5969, pp. 254–273. Springer, Heidelberg (2010)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Jean-Marc Jézéquel
    • 1
  • David Méndez-Acuña
    • 1
  • Thomas Degueule
    • 1
  • Benoit Combemale
    • 2
  • Olivier Barais
    • 1
  1. 1.IRISAUniversity of Rennes 1RennesFrance
  2. 2.InriaRocquencourtFrance

Personalised recommendations