Advertisement

Towards a Unified View of Modeling and Programming (ISoLA 2018 Track Introduction)

  • Manfred Broy
  • Klaus HavelundEmail author
  • Rahul Kumar
  • Bernhard Steffen
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11244)

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:
$$ modeling = programming $$

Keywords

Modeling Programming Domain-specific languages Similarities Differences Unification 

References

  1. 1.
    Documents associated with Object Constraint Language (OCL), Version 2.4. http://www.omg.org/spec/OCL/2.4
  2. 2.
    Abrial, J.R.: Modeling in Event-B. Cambridge University Press, Cambridge (2010)CrossRefGoogle Scholar
  3. 3.
  4. 4.
    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)CrossRefGoogle Scholar
  5. 5.
    Barras, B., et al.: The Coq Proof Assistant Reference Manual: Version 6.1 (1997)Google Scholar
  6. 6.
    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)CrossRefGoogle Scholar
  7. 7.
    Berg, A., et al.: PG 582 - Industrial Programming by Example. Technical report, TU Dortmund (2015). http://hdl.handle.net/2003/34106
  8. 8.
    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-4CrossRefzbMATHGoogle Scholar
  9. 9.
    Bjørner, D., Jones, C.B.: Formal Specification and Software Development. Prentice Hall International (1982). ISBN 0-13-880733-7Google Scholar
  10. 10.
    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 2011Google Scholar
  11. 11.
    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)Google Scholar
  12. 12.
    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)Google Scholar
  13. 13.
    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_2CrossRefGoogle Scholar
  14. 14.
    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
  15. 15.
    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_1CrossRefGoogle Scholar
  16. 16.
    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)Google Scholar
  17. 17.
    Cleaveland, R.: Programming is modeling. In: Margaria, T., Steffen, B. (eds.) ISoLA 2018. LNCS, vol. 11244, pp. 150–161. Springer, Cham (2018)Google Scholar
  18. 18.
    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/
  19. 19.
    Eiffel (2015). http://www.eiffel.com
  20. 20.
    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)Google Scholar
  21. 21.
    Felleisen, M.: A programmable programming language. Commun. ACM 61(3), 62–71 (2018)CrossRefGoogle Scholar
  22. 22.
    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/b138800CrossRefzbMATHGoogle Scholar
  23. 23.
    Fowler, M., Parsons, R.: Domain-Specific Languages. Addison-Wesley/ACM Press (2011). http://books.google.de/books?id=ri1muolw_YwC
  24. 24.
    George, C., et al.: The RAISE Specification Language. The BCS Practitioner Series. Prentice-Hall, Hemel Hampstead (1992)zbMATHGoogle Scholar
  25. 25.
    Gurevich, Y., Rossman, B., Schulte, W.: Semantic Essence of AsmL. Theor. Comput. Sci. 343(3), 370–412 (2005)MathSciNetCrossRefGoogle Scholar
  26. 26.
    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)Google Scholar
  27. 27.
    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)Google Scholar
  28. 28.
    Havelund, K., Joshi, R.: Modeling in Scala. In: Margaria, T., Steffen, B. (eds.) ISoLA 2018. LNCS, vol. 11244, pp. 184–205. Springer, Cham (2018)Google Scholar
  29. 29.
    Havelund, K., Visser, W.: Program model checking as a new trend. STTT 4(1), 8–20 (2002)CrossRefGoogle Scholar
  30. 30.
    Holzmann, G.: The SPIN Model Checker. Addison-Wesley, Boston (2004)Google Scholar
  31. 31.
    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)Google Scholar
  32. 32.
  33. 33.
    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)Google Scholar
  34. 34.
    Jackson, D.: Software Abstractions: Logic, Language, and Analysis. The MIT Press (2012)Google Scholar
  35. 35.
    JetBrains: Meta Programming System. https://www.jetbrains.com/mps
  36. 36.
    Jones, N.D: On modeling and programming. In: Margaria, T., Steffen, B. (eds.) ISoLA 2018. LNCS, vol. 11244, pp. 22–34. Springer, Cham (2018)Google Scholar
  37. 37.
    Jones, S.L.P.: Haskell 98 Language and Libraries: The Revised Report. Cambridge University Press, Cambridge (2003)zbMATHGoogle Scholar
  38. 38.
    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)Google Scholar
  39. 39.
    Kelly, S., Tolvanen, J.P.: Domain-Specific Modeling: Enabling Full Code Generation. Wiley-IEEE Computer Society Press, Hoboken (2008)CrossRefGoogle Scholar
  40. 40.
    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
  41. 41.
    Lamport, L.: Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers. Pearson Education Inc., London (2002)Google Scholar
  42. 42.
    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_20CrossRefzbMATHGoogle Scholar
  43. 43.
    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)Google Scholar
  44. 44.
    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)Google Scholar
  45. 45.
    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)Google Scholar
  46. 46.
    Milner, R., Tofte, M., Harper, R. (eds.): The Definition of Standard ML. MIT Press (1997). ISBN 0-262-63181-4Google Scholar
  47. 47.
    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)Google Scholar
  48. 48.
    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_33CrossRefGoogle Scholar
  49. 49.
    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-9CrossRefzbMATHGoogle Scholar
  50. 50.
  51. 51.
    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)Google Scholar
  52. 52.
  53. 53.
  54. 54.
  55. 55.
  56. 56.
    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)Google Scholar
  57. 57.
    Sestoft, P.: Programming language specification and implementation. In: Margaria, T., Steffen, B. (eds.) ISoLA 2018. LNCS, vol. 11244, pp. 162–183. Springer, Cham (2018)Google Scholar
  58. 58.
    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)Google Scholar
  59. 59.
    Spivey, J.M.: The Z Notation - a Reference Manual. International Series in Computer Science, 2nd edn. Prentice Hall, Hemel Hempstead (1992)Google Scholar
  60. 60.
    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)Google Scholar
  61. 61.
  62. 62.
    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_3CrossRefGoogle Scholar
  63. 63.
    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)Google Scholar
  64. 64.
    Ward, M.P.: Language oriented programming. Softw. Concepts Tools 15(4), 147–161 (1994)Google Scholar
  65. 65.
    Weckwerth, J.: Cinco Evaluation: CMMN-Modellierung und -Ausführung in der Praxis. Master’s thesis, TU Dortmund (2016)Google Scholar
  66. 66.
    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_58CrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2018

Authors and Affiliations

  • Manfred Broy
    • 1
  • Klaus Havelund
    • 2
    Email author
  • Rahul Kumar
    • 3
  • Bernhard Steffen
    • 4
  1. 1.Technische Universität MünchenMunichGermany
  2. 2.Jet Propulsion LaboratoryCalifornia Institute of TechnologyPasadenaUSA
  3. 3.Microsoft ResearchRedmondUSA
  4. 4.TU Dortmund UniversityDortmundGermany

Personalised recommendations