Skip to main content

This Is Not a Model

On Development of a Common Terminology for Modeling and Programming

  • 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

SIMULA and Beta are object-oriented languages intended for modeling and programming. This is in contrast to mainstream where different languages are used for modeling and programming. In previous papers, it has been argued that there are a number of advantages in developing a unified language. In order to do this, a consistent terminology for modeling and programming is needed. The notion of model is essential in this respect. In UML, the diagrams are considered models. For SIMULA and Beta the program executions are considered models. We argue for the latter and discuss the implications for the design of a unified language.

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.

    As represented by the Scandinavian School of Object-Orientation with SIMULA and Beta.

  2. 2.

    With program execution we mean the family of executions based upon a given program.

  3. 3.

    https://en.wikipedia.org/wiki/The_Treachery_of_Images.

  4. 4.

    The book: ‘Maps of the Imagination – the writer as a cartographer’ by Peter Turchi is an excellent exploration of the relationships between creative writing, making maps, and creativity. Turchi gave an inspiring keynote on this subject at OOPSLA’2007.

  5. 5.

    Hoare does not talk about models, but representations of abstractions.

  6. 6.

    Inspired by Webster [6] and Wikipedia [model, physical model, computer simulation, abstraction, etc.].

  7. 7.

    https://www.youtube.com/watch?v=ccRtIdlTqlU.

  8. 8.

    https://projects.spring.io/spring-statemachine/.

References

  1. Madsen, O.L., Møller-Pedersen, B.: A unified approach to modeling and programming. In: Petriu, Dorina C., Rouquette, N., Haugen, Ø. (eds.) MODELS 2010. LNCS, vol. 6394, pp. 1–15. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-16145-2_1

    Chapter  Google Scholar 

  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

    Chapter  Google Scholar 

  3. Dahl, O.-J., Myhrhaug, B., Nygaard, K.: SIMULA 67 Common Base Language (Editions 1968, 1970, 1972, 1984). Norwegian Computing Center, Oslo (1968)

    Google Scholar 

  4. Coad, P., Yourdon, E.: Object-Oriented Analysis. Prentice-Hall, Englewood Cliffs (1991)

    Google Scholar 

  5. Rumbaugh, J., et al.: Object-Oriented Modeling and Design. Prentice Hall, Englewood Cliffs (1991)

    Google Scholar 

  6. Booch, G.: Object-Oriented Analysis and Design with Applications. Benjamin/Cummings, Redwood City (1991)

    MATH  Google Scholar 

  7. Booch, G., Rumbaugh, J., Jacobson, I.: The Unified Modeling Language Reference Manual. Addison Wesley, Essex (1998)

    Google Scholar 

  8. OMG, UML 2.5 (2015)

    Google Scholar 

  9. Madsen, O.L., Møller-Pedersen, B., Nygaard, K.: Object-Oriented Programming in the BETA Programming Language. Addison Wesley, New York (1993)

    Google Scholar 

  10. Lethbridge, T.C., Abdelzad, V., Husseini Orabi, M., Husseini Orabi, A., Adesina, O.: Merging modeling and programming using Umple. In: Margaria, T., Steffen, B. (eds.) ISoLA 2016. LNCS, vol. 9953, pp. 187–197. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-47169-3_14

    Chapter  Google Scholar 

  11. Neubauer, P., Mayerhofer, T., Kappel, G.: Towards Integrating Modeling and Programming Languages: The Case of UML and Java (2014)

    Google Scholar 

  12. OMG, Semantics of a Foundational Subset for Executable UML Models (fUML), Version 1.3 (2017)

    Google Scholar 

  13. Ungar, D., Smith, R.B.: Self: the power of simplicity. In: Object-Oriented Programming Systems, Languages and Applications, OOPSLA 1987, Orlando, Florida, USA. ACM Press (1987)

    Google Scholar 

  14. Nierstrasz, O.: Ten things I hate about object-oriented programming. In: The JOT Blog (2010)

    Google Scholar 

  15. OMG, Precise Semantics of UML State Machines (PSSM) Version 1.0 Beta (2017)

    Google Scholar 

  16. OMG, Precise Semantics of UML Composite Structure (PSCSTM) - Version 1.1 (2018)

    Google Scholar 

  17. Naur, P.: Proof of algorithms by general snapshots. BIT 6, 310–316 (1966)

    Article  Google Scholar 

  18. ITU, Message Sequence Charts (MSC), Recommendation Z.120, Geneva (1999)

    Google Scholar 

  19. Ciccozzi, F., Malavolta, I., Selic, B.: Execution of UML models: a systematic review of research and practice. Softw. Syst. Model., 1–48 (2018)

    Google Scholar 

  20. Hoare, C.A.R.: Notes on Data Structuring, in Structured Programming. Academic Press, London (1972)

    Google Scholar 

  21. Kristensen, B.B., Madsen, O.L., Møller-Pedersen, B.: The when, why and why not of the BETA programming language. In: The Third ACM SIGPLAN Conference on History of Programming Languages, HOPL III, San Diego (2007)

    Google Scholar 

  22. Dahl, O.-J., Nygaard, K.: SIMULA–A Language for Programming and Description of Discrete Event Systems. Norwegian Computing Center, Oslo (1965)

    Google Scholar 

  23. Birtwistle, G.M., et al.: Simula BEGIN. Studentlitteratur/auerbach, Philadelphia (1973)

    Google Scholar 

  24. Madsen, O.L., Møller-Pedersen, B.: What object-oriented programming may be - and what it does not have to be. In: Gjessing, S., Nygaard, K. (eds.) ECOOP 1988. LNCS, vol. 322, pp. 1–20. Springer, Heidelberg (1988). https://doi.org/10.1007/3-540-45910-3_1

    Chapter  Google Scholar 

  25. Dahl, O.-J., Dijkstra, E.W., Hoare, C.A.R.: Structured Programming. Academic Press, London (1972)

    Google Scholar 

  26. Dahl, O.-J., Nygaard, K.: SIMULA: an ALGOL-based simulation language. Commun. ACM 9(9), 671–678 (1966)

    Article  Google Scholar 

  27. Fischer, J., Møller-Pedersen, B., Prinz, A.: Modelling of systems for real. In: Proceedings of the 4th International Conference on Model-Driven Engineering and Software Development (MODELSWARD 2016), pp. 427–434. SCITEPRESS – Science and Technology Publications, Rome (2016)

    Google Scholar 

  28. Black, A.P.: Object-oriented programming: some history, and challenges for the next fifty years. Inf. Comput. 231, 3–20 (2013)

    Article  MathSciNet  Google Scholar 

  29. Black, A.P., Bruce, K.B., Noble, J.: The Grace Programming Language Draft Specification Version 0.3.1303 (2013)

    Google Scholar 

  30. Cook, W.R., Hill, W., Canning, P.S.: Inheritance is not subtyping. In: 17th ACM SIGPLAN-SIGACT Symposium on Principles of programming Languages, POPL 1990, San Francisco, California. ACM, New York (1990)

    Google Scholar 

  31. Madsen, O.L., Møller-Pedersen, B.: Virtual classes–a powerful mechanism in object-oriented programming. In: Object-Oriented Programming, Systems Languages and Applications, OOPSLA 1989. ACM Press, New Orleans (1989)

    Google Scholar 

  32. Goldberg, A., Robson, D.: Smalltalk-80: The Language and Its Implementation. Addison-Wesley Longman Publishing Co., Inc., Boston (1983)

    MATH  Google Scholar 

  33. Liskov, B.H., Wing, J.M.: A behavioral notion of subtyping. ACM Trans. Program. Lang. Syst. 16(6), 1811–1841 (1994)

    Article  Google Scholar 

  34. Kristensen, B.B., Madsen, O.L., Møller-Pedersen, B., Nygaard, K.: Classification of actions or Inheritance Also for methods. In: Bézivin, J., Hullot, J.-M., Cointe, P., Lieberman, H. (eds.) ECOOP 1987. LNCS, vol. 276, pp. 98–107. Springer, Heidelberg (1987). https://doi.org/10.1007/3-540-47891-4_10

    Chapter  Google Scholar 

  35. Madsen, O.L.: Building safe concurrency abstractions. In: Agha, G., et al. (eds.) Concurrent Objects and Beyond. LNCS, vol. 8665, pp. 66–104. Springer, Heidelberg (2014). https://doi.org/10.1007/978-3-662-44471-9_4

    Chapter  Google Scholar 

  36. Madsen, O.L.: Using object sequence diagrams for defining object semantics or just another high-level debugger. Technical report, Aarhus University (2018, in Preparation)

    Google Scholar 

  37. Rumbaugh, J.: Relations as semantic constructs in an object-oriented language. In: Object-Oriented Programming, Systems Languages and Applications, OOPSLA 1987. ACM Press, Orlando (1987)

    Google Scholar 

  38. Østerbye, K.: Associations as a Language Construct. In: TOOLS 1999, Nancy (1999)

    Google Scholar 

  39. Gamma, E., et al.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional Computing Series. Addison-Wesley, Reading (1995)

    Google Scholar 

  40. Chin, B., Millstein, T.: An extensible state machine pattern for interactive applications. In: Vitek, J. (ed.) ECOOP 2008. LNCS, vol. 5142, pp. 566–591. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-70592-5_24

    Chapter  Google Scholar 

  41. Andresen, K., Møller-Pedersen, B., Runde, R.K.: Combined modelling and programming support for composite states and extensible state machines. In: MODELSWARD 2015 - 3rd International Conference on Model-Driven Engineering and Software Development. SciTePress, ESEO, Angers (2015)

    Google Scholar 

  42. Aldrich, J., et al.: Typestate-oriented programming. In: Onward 2009, OOPSLA 2009, Orlando, Florida, USA (2009)

    Google Scholar 

  43. Sunshine, J., et al.: First-class state change in plaid. In: OOPSLA 2011, Portland, Oregon. ACM, USA (2011)

    Google Scholar 

  44. Taivalsaari, A.: Object-oriented programming with modes. J. Object Oriented Program. 6(3), 25–32 (1993)

    Google Scholar 

  45. Madsen, O.L.: Towards integration of state machines and object-oriented languages. In: Technology of Object-Oriented Languages and Systems, pp. 261–274 (1999)

    Google Scholar 

  46. Holbæk-Hanssen, E., Håndlykken, P., Nygaard, K.: System Description and the DELTA Language. Norwegian Computing Center, Oslo (1973)

    Google Scholar 

Download references

Acknowledgements

We would like to thank the organizers (especially Klaus Havelund) for inviting us, the reviewers for constructive criticism, Hans Petter Dahle, Eyvind W. Axelsen and Arne Maus for valuable comments, and Susanne Brøndberg for proofreading.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Birger Møller-Pedersen .

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

Madsen, O.L., Møller-Pedersen, B. (2018). This Is Not a Model . 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_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-03418-4_13

  • 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