Skip to main content

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

  • Conference paper
  • First Online:
Leveraging Applications of Formal Methods, Verification and Validation. Modeling (ISoLA 2018)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 11244))

Included in the following conference series:

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 $$

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Which are very popular in practice, as “pictures are (often) worth a thousand words”.

  2. 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. 3.

    Design languages are essentially DSLs, as discussed in Sect. 4.

References

  1. Documents associated with Object Constraint Language (OCL), Version 2.4. http://www.omg.org/spec/OCL/2.4

  2. Abrial, J.R.: Modeling in Event-B. Cambridge University Press, Cambridge (2010)

    Book  Google Scholar 

  3. Agda. http://wiki.portal.chalmers.se/agda/pmwiki.php

  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)

    Google Scholar 

  5. Barras, B., et al.: The Coq Proof Assistant Reference Manual: Version 6.1 (1997)

    Google Scholar 

  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)

    Chapter  Google Scholar 

  7. Berg, A., et al.: PG 582 - Industrial Programming by Example. Technical report, TU Dortmund (2015). http://hdl.handle.net/2003/34106

  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-4

    Book  MATH  Google Scholar 

  9. Bjørner, D., Jones, C.B.: Formal Specification and Software Development. Prentice Hall International (1982). ISBN 0-13-880733-7

    Google Scholar 

  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 2011

    Google Scholar 

  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. 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. 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

    Chapter  Google Scholar 

  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_17

    Chapter  Google Scholar 

  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_1

    Chapter  Google Scholar 

  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. 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. 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. Eiffel (2015). http://www.eiffel.com

  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. Felleisen, M.: A programmable programming language. Commun. ACM 61(3), 62–71 (2018)

    Article  Google Scholar 

  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/b138800

    Book  MATH  Google Scholar 

  23. Fowler, M., Parsons, R.: Domain-Specific Languages. Addison-Wesley/ACM Press (2011). http://books.google.de/books?id=ri1muolw_YwC

  24. George, C., et al.: The RAISE Specification Language. The BCS Practitioner Series. Prentice-Hall, Hemel Hampstead (1992)

    MATH  Google Scholar 

  25. Gurevich, Y., Rossman, B., Schulte, W.: Semantic Essence of AsmL. Theor. Comput. Sci. 343(3), 370–412 (2005)

    Article  MathSciNet  Google Scholar 

  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. 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. 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. Havelund, K., Visser, W.: Program model checking as a new trend. STTT 4(1), 8–20 (2002)

    Article  Google Scholar 

  30. Holzmann, G.: The SPIN Model Checker. Addison-Wesley, Boston (2004)

    Google Scholar 

  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. Idris. https://www.idris-lang.org

  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. Jackson, D.: Software Abstractions: Logic, Language, and Analysis. The MIT Press (2012)

    Google Scholar 

  35. JetBrains: Meta Programming System. https://www.jetbrains.com/mps

  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. Jones, S.L.P.: Haskell 98 Language and Libraries: The Revised Report. Cambridge University Press, Cambridge (2003)

    MATH  Google Scholar 

  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. Kelly, S., Tolvanen, J.P.: Domain-Specific Modeling: Enabling Full Code Generation. Wiley-IEEE Computer Society Press, Hoboken (2008)

    Book  Google Scholar 

  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/BFb0053381

    Chapter  Google Scholar 

  41. Lamport, L.: Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers. Pearson Education Inc., London (2002)

    Google Scholar 

  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_20

    Chapter  MATH  Google Scholar 

  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. 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. 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. Milner, R., Tofte, M., Harper, R. (eds.): The Definition of Standard ML. MIT Press (1997). ISBN 0-262-63181-4

    Google Scholar 

  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. 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

    Chapter  Google Scholar 

  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-9

    Book  MATH  Google Scholar 

  50. OCaml. http://caml.inria.fr/ocaml/index.en.html

  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. OMG: SysML. http://www.omg.org/spec/SysML/1.3

  53. OMG: UML. http://www.omg.org/spec/UML/2.5

  54. PVS. http://pvs.csl.sri.com

  55. Scala. http://www.scala-lang.org

  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. 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. 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. Spivey, J.M.: The Z Notation - a Reference Manual. International Series in Computer Science, 2nd edn. Prentice Hall, Hemel Hempstead (1992)

    Google Scholar 

  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. UPPAAL. http://www.uppaal.org

  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_3

    Chapter  Google Scholar 

  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. Ward, M.P.: Language oriented programming. Softw. Concepts Tools 15(4), 147–161 (1994)

    Google Scholar 

  65. Weckwerth, J.: Cinco Evaluation: CMMN-Modellierung und -Ausführung in der Praxis. Master’s thesis, TU Dortmund (2016)

    Google Scholar 

  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_58

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Klaus Havelund .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics