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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
As represented by the Scandinavian School of Object-Orientation with SIMULA and Beta.
- 2.
With program execution we mean the family of executions based upon a given program.
- 3.
- 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.
Hoare does not talk about models, but representations of abstractions.
- 6.
Inspired by Webster [6] and Wikipedia [model, physical model, computer simulation, abstraction, etc.].
- 7.
- 8.
References
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
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
Dahl, O.-J., Myhrhaug, B., Nygaard, K.: SIMULA 67 Common Base Language (Editions 1968, 1970, 1972, 1984). Norwegian Computing Center, Oslo (1968)
Coad, P., Yourdon, E.: Object-Oriented Analysis. Prentice-Hall, Englewood Cliffs (1991)
Rumbaugh, J., et al.: Object-Oriented Modeling and Design. Prentice Hall, Englewood Cliffs (1991)
Booch, G.: Object-Oriented Analysis and Design with Applications. Benjamin/Cummings, Redwood City (1991)
Booch, G., Rumbaugh, J., Jacobson, I.: The Unified Modeling Language Reference Manual. Addison Wesley, Essex (1998)
OMG, UML 2.5 (2015)
Madsen, O.L., Møller-Pedersen, B., Nygaard, K.: Object-Oriented Programming in the BETA Programming Language. Addison Wesley, New York (1993)
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
Neubauer, P., Mayerhofer, T., Kappel, G.: Towards Integrating Modeling and Programming Languages: The Case of UML and Java (2014)
OMG, Semantics of a Foundational Subset for Executable UML Models (fUML), Version 1.3 (2017)
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)
Nierstrasz, O.: Ten things I hate about object-oriented programming. In: The JOT Blog (2010)
OMG, Precise Semantics of UML State Machines (PSSM) Version 1.0 Beta (2017)
OMG, Precise Semantics of UML Composite Structure (PSCSTM) - Version 1.1 (2018)
Naur, P.: Proof of algorithms by general snapshots. BIT 6, 310–316 (1966)
ITU, Message Sequence Charts (MSC), Recommendation Z.120, Geneva (1999)
Ciccozzi, F., Malavolta, I., Selic, B.: Execution of UML models: a systematic review of research and practice. Softw. Syst. Model., 1–48 (2018)
Hoare, C.A.R.: Notes on Data Structuring, in Structured Programming. Academic Press, London (1972)
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)
Dahl, O.-J., Nygaard, K.: SIMULA–A Language for Programming and Description of Discrete Event Systems. Norwegian Computing Center, Oslo (1965)
Birtwistle, G.M., et al.: Simula BEGIN. Studentlitteratur/auerbach, Philadelphia (1973)
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
Dahl, O.-J., Dijkstra, E.W., Hoare, C.A.R.: Structured Programming. Academic Press, London (1972)
Dahl, O.-J., Nygaard, K.: SIMULA: an ALGOL-based simulation language. Commun. ACM 9(9), 671–678 (1966)
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)
Black, A.P.: Object-oriented programming: some history, and challenges for the next fifty years. Inf. Comput. 231, 3–20 (2013)
Black, A.P., Bruce, K.B., Noble, J.: The Grace Programming Language Draft Specification Version 0.3.1303 (2013)
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)
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)
Goldberg, A., Robson, D.: Smalltalk-80: The Language and Its Implementation. Addison-Wesley Longman Publishing Co., Inc., Boston (1983)
Liskov, B.H., Wing, J.M.: A behavioral notion of subtyping. ACM Trans. Program. Lang. Syst. 16(6), 1811–1841 (1994)
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
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
Madsen, O.L.: Using object sequence diagrams for defining object semantics or just another high-level debugger. Technical report, Aarhus University (2018, in Preparation)
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)
Østerbye, K.: Associations as a Language Construct. In: TOOLS 1999, Nancy (1999)
Gamma, E., et al.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional Computing Series. Addison-Wesley, Reading (1995)
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
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)
Aldrich, J., et al.: Typestate-oriented programming. In: Onward 2009, OOPSLA 2009, Orlando, Florida, USA (2009)
Sunshine, J., et al.: First-class state change in plaid. In: OOPSLA 2011, Portland, Oregon. ACM, USA (2011)
Taivalsaari, A.: Object-oriented programming with modes. J. Object Oriented Program. 6(3), 25–32 (1993)
Madsen, O.L.: Towards integration of state machines and object-oriented languages. In: Technology of Object-Oriented Languages and Systems, pp. 261–274 (1999)
Holbæk-Hanssen, E., Håndlykken, P., Nygaard, K.: System Description and the DELTA Language. Norwegian Computing Center, Oslo (1973)
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
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer Nature Switzerland AG
About this paper
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)