Abstract
The article provides an introduction to the track: Towards a Unified View of Modeling and Programming, organized by the authors of this paper as part of ISoLA 2018: the 8th International Symposium On Leveraging Applications of Formal Methods, Verification and Validation. A total of 19 researchers presented their views on the two questions: what are the commonalities between modeling and programming languages?, and should we strive towards a unified view of modeling and programming? The idea behind the track, which is a continuation of a similar track at ISoLA 2016, emerged as a result of experiences gathered in the three fields: formal methods, model-based software engineering, and programming languages, and from the observation that these technologies share a large common part, to the extent where one may ask, does the following equation hold:
The research performed by this author was carried out at Jet Propulsion Laboratory, California Institute of Technology, under a contract with the National Aeronautics and Space Administration.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
Which are very popular in practice, as “pictures are (often) worth a thousand words”.
- 2.
The difference between internal and external DSLs can be sketched as follows: an internal DSL is added (e.g. via API functionality) to a host language, which is usually a general-purpose programming language, while an external DSL comes with its own syntax that is completely independent of already existing languages.
- 3.
Design languages are essentially DSLs, as discussed in Sect. 4.
References
Documents associated with Object Constraint Language (OCL), Version 2.4. http://www.omg.org/spec/OCL/2.4
Abrial, J.R.: Modeling in Event-B. Cambridge University Press, Cambridge (2010)
Andersen, L., Chang, S., Felleisen, M.: Super 8 Languages for Making Movies (Functional Pearl). In: Proceedings of the ACM on Programming Languages 1(ICFP) (2017)
Barras, B., et al.: The Coq Proof Assistant Reference Manual: Version 6.1 (1997)
Bauer, F., Broy, M., Gnatz, R., Hesse, W., Krieg-Brückner, B.: Towards a wide spectrum language to support program specification and program development. In: Alber, K. (ed.) Programmiersprachen. Informatik - Fachberichte, vol. 12, pp. 73–85. Springer, Heidelberg (1978)
Berg, A., et al.: PG 582 - Industrial Programming by Example. Technical report, TU Dortmund (2015). http://hdl.handle.net/2003/34106
Bjørner, D., Jones, C.B. (eds.): The Vienna Development Method: The Meta-Language. LNCS, vol. 61. Springer, Heidelberg (1978). https://doi.org/10.1007/3-540-08766-4
Bjørner, D., Jones, C.B.: Formal Specification and Software Development. Prentice Hall International (1982). ISBN 0-13-880733-7
Bobot, F., Filliâtre, J.C., Marché, C., Paskevich, A.: Why3: shepherd your herd of provers. In: Boogie 2011: First International Workshop on Intermediate Verification Languages, pp. 53–64. Wrocław, Poland, August 2011
Boerger, E.: Why programming must be supported by modeling and how. In: Margaria, T., Steffen, B. (eds.) ISoLA 2018. LNCS, vol. 11244, pp. 89–110. Springer, Cham (2018)
Bosselmann, S., Naujokat, S., Steffen, B.: On the difficulty of drawing the line. In: Margaria, T., Steffen, B. (eds.) ISoLA 2018. LNCS, vol. 11244, pp. 340–356. Springer, Cham (2018)
Broy, M.: On architecture specification. In: Tjoa, A.M., Bellatreche, L., Biffl, S., van Leeuwen, J., Wiedermann, J. (eds.) SOFSEM 2018. LNCS, vol. 10706, pp. 19–39. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-73117-9_2
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
Broy, M., Havelund, K., Kumar, R.: Towards a Unified View of Modeling and Programming (Track Summary). In: Margaria, T., Steffen, B. (eds.) ISoLA 2016, part 2. LNCS, vol. 9953, pp. 3–10. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-47169-3_1
Chadli, M., Kim, J.H., Larsen, K.G., Legay, A., Naujokat, S., Steffen, B., Traonouez, L.M.: High-level frameworks for the specification and verification of scheduling problems. Softw. Tools Technol. Transfer (2017)
Cleaveland, R.: Programming is modeling. In: Margaria, T., Steffen, B. (eds.) ISoLA 2018. LNCS, vol. 11244, pp. 150–161. Springer, Cham (2018)
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/
Eiffel (2015). http://www.eiffel.com
Elaasar, M.: Definition of modeling vs. programming languages. In: Margaria, T., Steffen, B. (eds.) ISoLA 2018. LNCS, vol. 11244, pp. 35–51. Springer, Cham (2018)
Felleisen, M.: A programmable programming language. Commun. ACM 61(3), 62–71 (2018)
Fitzgerald, J., Larsen, P.G., Mukherjee, P., Plat, N., Verhoef, M.: Validated Designs For Object-oriented Systems. Springer, Santa Clara (2005). https://doi.org/10.1007/b138800
Fowler, M., Parsons, R.: Domain-Specific Languages. Addison-Wesley/ACM Press (2011). http://books.google.de/books?id=ri1muolw_YwC
George, C., et al.: The RAISE Specification Language. The BCS Practitioner Series. Prentice-Hall, Hemel Hampstead (1992)
Gurevich, Y., Rossman, B., Schulte, W.: Semantic Essence of AsmL. Theor. Comput. Sci. 343(3), 370–412 (2005)
Hallerstede, S., Larsen, P.G., Fitzgerald, J.: A Non-unified view of modelling, specification and programming. In: Margaria, T., Steffen, B. (eds.) ISoLA 2018. LNCS, vol. 11244, pp. 52–68. Springer, Cham (2018)
Hatcliff, J., Larson, B.R., Belt, J., Robby, Zhang, Y.: A unified approach for modeling, developing, and assuring critical systems. In: Margaria, T., Steffen, B. (eds.) ISoLA 2018. LNCS, vol. 11244, pp. 225–245. Springer, Cham (2018)
Havelund, K., Joshi, R.: Modeling in Scala. In: Margaria, T., Steffen, B. (eds.) ISoLA 2018. LNCS, vol. 11244, pp. 184–205. Springer, Cham (2018)
Havelund, K., Visser, W.: Program model checking as a new trend. STTT 4(1), 8–20 (2002)
Holzmann, G.: The SPIN Model Checker. Addison-Wesley, Boston (2004)
Huisman, M.: On models and code - a unified approach to support large-scale deductive program verification. In: Margaria, T., Steffen, B. (eds.) ISoLA 2018. LNCS, vol. 11244, pp. 111–118. Springer, Cham (2018)
Idris. https://www.idris-lang.org
Ionescu, C., Jansson, P., Botta, N.: Type theory as a framework for modelling and programming. In: Margaria, T., Steffen, B. (eds.) ISoLA 2018. LNCS, vol. 11244, pp. 119–133. Springer, Cham (2018)
Jackson, D.: Software Abstractions: Logic, Language, and Analysis. The MIT Press (2012)
JetBrains: Meta Programming System. https://www.jetbrains.com/mps
Jones, N.D: On modeling and programming. In: Margaria, T., Steffen, B. (eds.) ISoLA 2018. LNCS, vol. 11244, pp. 22–34. Springer, Cham (2018)
Jones, S.L.P.: Haskell 98 Language and Libraries: The Revised Report. Cambridge University Press, Cambridge (2003)
Karsai, G.: From modeling to model-based programming. In: Margaria, T., Steffen, B. (eds.) ISoLA 2018. LNCS, vol. 11244, pp. 295–308. Springer, Cham (2018)
Kelly, S., Tolvanen, J.P.: Domain-Specific Modeling: Enabling Full Code Generation. Wiley-IEEE Computer Society Press, Hoboken (2008)
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
Lamport, L.: Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers. Pearson Education Inc., London (2002)
Leino, K.R.M.: Dafny: an automatic program verifier for functional correctness. In: Clarke, E.M., Voronkov, A. (eds.) LPAR 2010. LNCS (LNAI), vol. 6355, pp. 348–370. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-17511-4_20
Lethbridge, T.C., Algablan, A.: Using umple to synergistically process features, variants, UML models and classic code. In: Margaria, T., Steffen, B. (eds.) ISoLA 2018. LNCS, vol. 11244, pp. 69–88. Springer, Cham (2018)
Madsen, O.L., Møller-Pedersen, B.: This is not a model. In: Margaria, T., Steffen, B. (eds.) ISoLA 2018. LNCS, vol. 11244, pp. 206–224. Springer, Cham (2018)
Margaria, T.: From computational thinking to constructive design with simple models. In: Margaria, T., Steffen, B. (eds.) ISoLA 2018. LNCS, vol. 11244, pp. 261–278. Springer, Cham (2018)
Milner, R., Tofte, M., Harper, R. (eds.): The Definition of Standard ML. MIT Press (1997). ISBN 0-262-63181-4
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. Transfer (2017)
Naujokat, S., Traonouez, L.-M., Isberner, M., Steffen, B., Legay, A.: Domain-specific code generator modeling: a case study for multi-faceted concurrent systems. In: Margaria, T., Steffen, B. (eds.) ISoLA 2014. LNCS, vol. 8802, pp. 481–498. Springer, Heidelberg (2014). https://doi.org/10.1007/978-3-662-45234-9_33
Nipkow, T., Wenzel, M., Paulson, L.C. (eds.): Isabelle/HOL: A Proof Assistant for Higher-Order Logic. LNCS, vol. 2283. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-45949-9
O’Connor, L., Chen, Z., Susarla, P., Rizkallah, C., Klein, G., Keller, G.: bringing effortless refinement of data layouts to COGENT. In: Margaria, T., Steffen, B. (eds.) ISoLA 2018. LNCS, vol. 11244, pp. 134–149. Springer, Cham (2018)
OMG: SysML. http://www.omg.org/spec/SysML/1.3
OMG: UML. http://www.omg.org/spec/UML/2.5
Scala. http://www.scala-lang.org
Selić, B.: Design languages: a necessary new generation of computer languages. In: Margaria, T., Steffen, B. (eds.) ISoLA 2018. LNCS, vol. 11244, pp. 279–294. Springer, Cham (2018)
Sestoft, P.: Programming language specification and implementation. In: Margaria, T., Steffen, B. (eds.) ISoLA 2018. LNCS, vol. 11244, pp. 162–183. Springer, Cham (2018)
Smyth, S., Schulz-Rosengarten, A., von Hanxleden, R.: Towards interactive compilation models. In: Margaria, T., Steffen, B. (eds.) ISoLA 2018. LNCS, vol. 11244, pp. 246–260. Springer, Cham (2018)
Spivey, J.M.: The Z Notation - a Reference Manual. International Series in Computer Science, 2nd edn. Prentice Hall, Hemel Hempstead (1992)
Steffen, B., Gossen, F., Naujokat, S., Margaria, T.: Language-driven engineering: from general-purpose to purpose-specific languages. In: Margaria, T., Steffen, B. (eds.) ISoLA 2018. LNCS, vol. 11244, pp. 546–564. Springer, Cham (2018)
UPPAAL. http://www.uppaal.org
Voelter, M., Siegmund, J., Berger, T., Kolb, B.: Towards user-friendly projectional editors. In: Combemale, B., Pearce, D.J., Barais, O., Vinju, J.J. (eds.) SLE 2014. LNCS, vol. 8706, pp. 41–61. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-11245-9_3
Voelter, M.: Fusing modeling and programming into language-oriented programming. In: Margaria, T., Steffen, B. (eds.) ISoLA 2018. LNCS, vol. 11244, pp. 309–339. Springer, Cham (2018)
Ward, M.P.: Language oriented programming. Softw. Concepts Tools 15(4), 147–161 (1994)
Weckwerth, J.: Cinco Evaluation: CMMN-Modellierung und -Ausführung in der Praxis. Master’s thesis, TU Dortmund (2016)
Wortmann, N., Michel, M., Naujokat, S.: A fully model-based approach to software development for industrial centrifuges. In: Margaria, T., Steffen, B. (eds.) ISoLA 2016. LNCS, vol. 9953, pp. 774–783. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-47169-3_58
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
Broy, M., Havelund, K., Kumar, R., Steffen, B. (2018). Towards a Unified View of Modeling and Programming (ISoLA 2018 Track Introduction). 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_1
Download citation
DOI: https://doi.org/10.1007/978-3-030-03418-4_1
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)