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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
In the hardware domain, synthesizing circuits from logical descriptions is actually standard since many decades! [11].
- 2.
here to be understood as descriptive models, as any form of description can be interpreted that way.
- 3.
For a car configurator, (descriptive) images of a car, are often used to support the adequate selection (prescription).
- 4.
Please understand ‘operational’ as ‘lives up to its purpose in a corresponding realization’.
- 5.
Traditional correctness-by-construction methods fit in here as well. In fact, there is no clear conceptual difference between this DSL-‘enactment’ and a compiler. Only the level of application is different.
- 6.
The next version of Springers Online Conference Service.
- 7.
In [19] we introduced the term mindset-specific IDE, and the acronym mIDE to indicate that DSLs are more than just means for purpose-specific simplification. New mindsets are powerful means to reach ‘out of the (traditional) box’.
- 8.
DIME comprises currently four graphical DSLs.
- 9.
This requirement may remind of the situation of frameworks that have to explicitly deal with round-trip engineering, a problem that is overcome by frameworks following a full (code) generation policy.
- 10.
As Equinocs is a Web application, here we assume that a suitable Web editor for the GUI DSL exists to be easily integrated.
References
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_60
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)
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_17
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)
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/
Felleisen, M. et al.: A programmable programming language. Commun. ACM 61(3), 62–71 (2018)
Fowler, M.: Language Workbenches: The Killer-App for Domain Specific Languages?, June 2005. http://martinfowler.com/articles/languageWorkbench.html. Accessed 10 Apr 2018
Fowler, M., Parsons, R.: Domain-Specific Languages. Addison-Wesley/ACM Press, New York (2011)
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)
Gronback, R.C.: Eclipse Modeling Project: A Domain-Specific Language (DSL) Toolkit. Addison-Wesley, Boston (2008)
Hachtel, G.D., Somenzi, F.: Logic Synthesis and Verification Algorithms, 1st edn. Springer, Boston (1996). https://doi.org/10.1007/0-387-31005-3
JetBrains: Meta Programming System. https://www.jetbrains.com/mps/. Accessed 10 Apr 2018
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/BFb0053381
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)
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)
Mernik, M., Heering, J., Sloane, A.M.: When and how to develop domain-specific languages. ACM Comput. Surv. 37(4), 316–344 (2005)
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)
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_16
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)
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_17
Steffen, B., Naujokat, S.: Archimedean points: the essence for mastering change. LNCS Trans. Found. Mastering Chang. (FoMaC) 1(1), 22–46 (2016)
Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse Modeling Framework, 2nd edn. Addison-Wesley, Boston (2008)
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)
Ward, M.P.: Language oriented programming. Softw. Concepts Tools 15(4), 147–161 (1994)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer Nature Switzerland AG
About this paper
Cite this paper
Boßelmann, S., Naujokat, S., Steffen, B. (2018). On the Difficulty of Drawing the Line. In: Margaria, T., Steffen, B. (eds) Leveraging Applications of Formal Methods, Verification and Validation. Modeling. ISoLA 2018. Lecture Notes in Computer Science(), vol 11244. Springer, Cham. https://doi.org/10.1007/978-3-030-03418-4_20
Download citation
DOI: https://doi.org/10.1007/978-3-030-03418-4_20
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-03417-7
Online ISBN: 978-3-030-03418-4
eBook Packages: Computer ScienceComputer Science (R0)