Advertisement

On the Difficulty of Drawing the Line

  • Steve Boßelmann
  • Stefan NaujokatEmail author
  • Bernhard Steffen
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11244)

Abstract

The paper considers domain-specific tool support as a means to turn descriptive into prescriptive models, and to blur the difference between models and programs, and even between developers and users. Conceptual underlying key is to view the system development as a decision process which increasingly constraints the range of possible system implementations and Domain-Specific Languages (DSLs) as a means to freeze taken decisions on the way towards a concrete realization. This way naturally comprises both programming and modeling aspects. In fact, considering all interactions that influence the behaviour of the system as development turns GUIs into DSLs and makes it even hardly possible to draw the line between developers and users. We will illustrate this viewpoint in the light of the development of the Equinocs system, Springer’s new editorial service.

Keywords

Modeling Metamodeling Programming Domain-specific languages Language-oriented programming Language-driven engineering Code generation Model transformation 

References

  1. 1.
    Boßelmann, S., et al.: DIME: a programming-less modeling environment for web applications. In: Margaria, T., Steffen, B. (eds.) ISoLA 2016. LNCS, vol. 9953, pp. 809–832. Springer, Cham (2016).  https://doi.org/10.1007/978-3-319-47169-3_60CrossRefGoogle Scholar
  2. 2.
    Boßelmann, S., Neubauer, J., Naujokat, S., Steffen, B.: Model-driven design of secure high assurance systems: an introduction to the open platform from the user perspective. In: Margaria, T., Solo, M.G.A. (eds.) The 2016 International Conference on Security and Management (SAM 2016). Special Track “End-to-end Security and Cybersecurity: From the Hardware to Application”, pp. 145–151. CREA Press (2016)Google Scholar
  3. 3.
    Broy, M., Havelund, K., Kumar, R.: Towards a unified view of modeling and programming. In: Margaria, T., Steffen, B. (eds.) ISoLA 2016. LNCS, vol. 9953, pp. 238–257. Springer, Cham (2016).  https://doi.org/10.1007/978-3-319-47169-3_17CrossRefGoogle Scholar
  4. 4.
    Chatley, R., Donaldson, A., Mycroft, A.: The next 7000 programming languages. In: Steffen, B., Woeginger, G. (eds.) Computing and Software Science: State of the Art and Perspectives, LNCS, vol. 10000. Springer (2018, to appear)Google Scholar
  5. 5.
    Dmitriev, S.: Language Oriented Programming: The Next Programming Paradigm. JetBrains onBoard Online Magazine 1 (2004). http://www.onboard.jetbrains.com/is1/articles/04/10/lop/
  6. 6.
    Felleisen, M. et al.: A programmable programming language. Commun. ACM 61(3), 62–71 (2018)CrossRefGoogle Scholar
  7. 7.
    Fowler, M.: Language Workbenches: The Killer-App for Domain Specific Languages?, June 2005. http://martinfowler.com/articles/languageWorkbench.html. Accessed 10 Apr 2018
  8. 8.
    Fowler, M., Parsons, R.: Domain-Specific Languages. Addison-Wesley/ACM Press, New York (2011)Google Scholar
  9. 9.
    Gossen, F., Margaria, T., Murtovi, A., Naujokat, S., Steffen, B.: DSLs for decision services: a tutorial introduction to language-driven engineering. In: Margaria, T., Steffen, B. (eds.) ISoLA 2018, LNCS 11244, pp. 546–564. Springer, Cham (2018)Google Scholar
  10. 10.
    Gronback, R.C.: Eclipse Modeling Project: A Domain-Specific Language (DSL) Toolkit. Addison-Wesley, Boston (2008)Google Scholar
  11. 11.
    Hachtel, G.D., Somenzi, F.: Logic Synthesis and Verification Algorithms, 1st edn. Springer, Boston (1996).  https://doi.org/10.1007/0-387-31005-3CrossRefzbMATHGoogle Scholar
  12. 12.
    JetBrains: Meta Programming System. https://www.jetbrains.com/mps/. Accessed 10 Apr 2018
  13. 13.
    Kiczales, G., et al.: Aspect-oriented programming. In: Akşit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997).  https://doi.org/10.1007/BFb0053381CrossRefGoogle Scholar
  14. 14.
    Lybecait, M., Kopetzki, D., Zweihoff, P., Fuhge, A., Naujokat, S., Steffen, B.: A tutorial introduction to graphical modeling and metamodeling with cinco. In: Margaria, T., Steffen, B. (eds.) ISoLA 2018, LNCS 11244, pp. 519–538. Springer, Cham (2018)Google Scholar
  15. 15.
    Margaria, T.: From computational thinking to constructive design with simple models. In: Margaria, T., Steffen, B. (eds.) ISoLA 2018, LNCS 11244, pp. 261–278. Springer, Cham (2018)Google Scholar
  16. 16.
    Mernik, M., Heering, J., Sloane, A.M.: When and how to develop domain-specific languages. ACM Comput. Surv. 37(4), 316–344 (2005)CrossRefGoogle Scholar
  17. 17.
    Naujokat, S., Lybecait, M., Kopetzki, D., Steffen, B.: CINCO: a simplicity-driven approach to full generation of domain-specific graphical modeling tools. Softw. Tools Technol. Transf. 20(3), 327–354 (2017)CrossRefGoogle Scholar
  18. 18.
    Naujokat, S., Neubauer, J., Margaria, T., Steffen, B.: Meta-level reuse for mastering domain specialization. In: Margaria, T., Steffen, B. (eds.) ISoLA 2016. LNCS, vol. 9953, pp. 218–237. Springer, Cham (2016).  https://doi.org/10.1007/978-3-319-47169-3_16CrossRefGoogle Scholar
  19. 19.
    Steffen, B., Gossen, F., Naujokat, S., Margaria, T.: Language-driven engineering: from general-purpose to purpose-specific languages. In: Steffen, B., Woeginger, G. (eds.) Computing and Software Science: State of the Art and Perspectives, LNCS, vol. 10000. Springer (2018, to appear)Google Scholar
  20. 20.
    Steffen, B., Margaria, T.: METAFrame in practice: design of intelligent network services. In: Olderog, E.-R., Steffen, B. (eds.) Correct System Design. LNCS, vol. 1710, pp. 390–415. Springer, Heidelberg (1999).  https://doi.org/10.1007/3-540-48092-7_17CrossRefGoogle Scholar
  21. 21.
    Steffen, B., Naujokat, S.: Archimedean points: the essence for mastering change. LNCS Trans. Found. Mastering Chang. (FoMaC) 1(1), 22–46 (2016)CrossRefGoogle Scholar
  22. 22.
    Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse Modeling Framework, 2nd edn. Addison-Wesley, Boston (2008)Google Scholar
  23. 23.
    Voelter, M.: Fusing modeling and programming into language-oriented programming. In: Margaria, T., Steffen, B. (eds.) ISoLA 2018, LNCS 11244, pp. 309–339. Springer, Cham (2018)Google Scholar
  24. 24.
    Ward, M.P.: Language oriented programming. Softw. Concepts Tools 15(4), 147–161 (1994)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2018

Authors and Affiliations

  • Steve Boßelmann
    • 1
  • Stefan Naujokat
    • 1
    Email author
  • Bernhard Steffen
    • 1
  1. 1.Chair for Programming SystemsTU Dortmund UniversityDortmundGermany

Personalised recommendations