Skip to main content
Top

2018 | OriginalPaper | Chapter

Why Programming Must Be Supported by Modeling and How

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

Abstract

The development of code for software intensive systems involves numerous levels of abstraction, leading from requirements to code. Having abstract modeling concepts available as high-level programming constructs helps to define the code and to make sure that when the system runs with the software executed by machines, the software components behave in the expected way. We explain in this paper that nevertheless, there remains a gap, which cannot be closed by mere programming methods, but which can be closed if programming is supported by an appropriate modeling framework (a design and analysis method and a language).

Dont have a licence yet? Then find out more about our products and how to get one now:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Footnotes
1
To avoid a misunderstanding of the term ‘ground’ in ‘ground model’, we point out already here that during the development process, the ground models may be incomplete or incorrect and typically do change, usually incrementally; however, in each development phase there is one well-defined ground model which has to be related to its implementing code. This holds also in a more general sense for system evolution over time, as explained below.
 
2
Here and above, what it means to be ‘sufficiently precise’ depends on the given problem and problem domain. The degree of precision must permit to perform the model inspection described in Sect. 2.2.
 
3
This is the reason why we changed the initially chosen name ‘primary model’ [9, p. 392] into ‘ground model’.
 
4
See my talk A modular high-level definition of the dynamics of C sharp to the group on September 27, 2000.
 
5
See my talk Abstract Operational Model for the Semantics of C# delivered at the Microsoft Research Rotor Workshop, 23.-26.7.2002 (Queen’s College, Cambridge).
 
6
In [57, p. 163] such expressions are called ‘ground terms’ whose meaning is established by ‘designations’, relating the ground terms directly to phenomena one can observe in the real world. Note that designations are expressed in natural language.
 
7
The epistemological reason for this at first sight surprising conceptual comprehensiveness of ASMs is what is known as ASM Thesis, see [40, 41, 80, 81] for recent work and detailed references to the literature on the thesis.
 
8
In earlier publications we have called this a verification method problem, but since the word ‘verification’ carries a connotation of mathematical justification method, we move here to the more appropriate term ‘evidence’.
 
9
In [45], which contains a detailed evaluation of the pro and contra for executable specifications, it is rightly pointed out that ‘non-executable’ and ‘declarative’ are really different terms, as illustrated by the programming interpretation of Horn clauses in logic programming languages. Note also that since Horn clauses are a reduction class of first-order logic [16, Ch. 5.1], their computational interpretation is Turing complete so that using them implies no limitation of expressivity, at least in principle.
 
10
For example, in the ASM method [26] one often uses purely declarative descriptions for complex back components, separating their definition from the abstract operational model of the system core under study.
 
11
In fact, the use of the ASM method is compatible with and integratable into most software development frameworks.
 
12
In the ASM method these refinements are called vertical refinement, which implement abstractions, as distinguished from horizontal refinements which extend a system by additional functionalities.
 
13
© 2003 Springer-Verlag Berlin Heidelberg, reprinted with permission, copied from [26].
 
14
See the footnote above on the various forms of the ASM Thesis.
 
15
For an investigation of other modeling concepts see [42, 87].
 
16
In the theoretical literature the prevailing view is determined by a search for compositional design and proof patterns, but it will be hard to find patterns for composing complex systems out of a large number of small simple models and a fortiori compositional refinement patterns in practice, in particular for modeling cyber-physical systems, simply because, as has been observed in [58], ‘Compositionality is not found in the real physical world’.
 
Literature
4.
go back to reference Back, R., Kurki-Suoni, R.: Decentralization of process nets with centralized control. Technical report Ser. A, No. 58, Department of Computer Science at Abo Akademi, Abo, Finland, February 1988 Back, R., Kurki-Suoni, R.: Decentralization of process nets with centralized control. Technical report Ser. A, No. 58, Department of Computer Science at Abo Akademi, Abo, Finland, February 1988
5.
go back to reference Batory, D., Börger, E.: Modularizing theorems for software product lines: the Jbook case study. J. Univers. Comput. Sci. 14(12), 2059–2082 (2008) Batory, D., Börger, E.: Modularizing theorems for software product lines: the Jbook case study. J. Univers. Comput. Sci. 14(12), 2059–2082 (2008)
9.
go back to reference Börger, E.: Logic programming: the evolving algebra approach. In: Pehrson, B., Simon, I. (eds.) IFIP 13th World Computer Congress. Technology/Foundations, vol. 1, pp. 391–395. Elsevier, Amsterdam (1994) Börger, E.: Logic programming: the evolving algebra approach. In: Pehrson, B., Simon, I. (eds.) IFIP 13th World Computer Congress. Technology/Foundations, vol. 1, pp. 391–395. Elsevier, Amsterdam (1994)
11.
12.
go back to reference Börger, E.: The abstract state machines method for modular design and analysis of programming languages. J. Logic Comput. 27(2), 417–439 (2014)MathSciNetMATHCrossRef Börger, E.: The abstract state machines method for modular design and analysis of programming languages. J. Logic Comput. 27(2), 417–439 (2014)MathSciNetMATHCrossRef
13.
go back to reference Börger, E., Dässler, K.: Prolog: DIN papers for discussion. ISO/IEC JTCI SC22 WG17 Prolog Standardization Document 58, National Physical Laboratory (1990) Börger, E., Dässler, K.: Prolog: DIN papers for discussion. ISO/IEC JTCI SC22 WG17 Prolog Standardization Document 58, National Physical Laboratory (1990)
14.
go back to reference Börger, E., Durdanović, I.: Correctness of compiling Occam to Transputer code. Comput. J. 39(1), 52–92 (1996)CrossRef Börger, E., Durdanović, I.: Correctness of compiling Occam to Transputer code. Comput. J. 39(1), 52–92 (1996)CrossRef
15.
go back to reference Börger, E., Durdanović, I., Rosenzweig, D.: Occam: specification and compiler correctness. Part I: simple mathematical interpreters. In: Montanari, U., Olderog, E.R. (eds.) Proceedings of the PROCOMET 1994, IFIP Working Conference on Programming Concepts, Methods and Calculi, North-Holland, pp. 489–508 (1994) Börger, E., Durdanović, I., Rosenzweig, D.: Occam: specification and compiler correctness. Part I: simple mathematical interpreters. In: Montanari, U., Olderog, E.R. (eds.) Proceedings of the PROCOMET 1994, IFIP Working Conference on Programming Concepts, Methods and Calculi, North-Holland, pp. 489–508 (1994)
16.
go back to reference Börger, E., Grädel, E., Gurevich, Y.: The Classical Decision Problem. Perspectives in Mathematical Logic. Springer, Heidelberg (1997). Second printing in “Universitext”, Springer 2001 Börger, E., Grädel, E., Gurevich, Y.: The Classical Decision Problem. Perspectives in Mathematical Logic. Springer, Heidelberg (1997). Second printing in “Universitext”, Springer 2001
17.
go back to reference Börger, E., Fruja, G., Gervasi, V., Stärk, R.: A high-level modular definition of the semantics of C#. Theor. Comput. Sci. 336(2–3), 235–284 (2005)MathSciNetMATHCrossRef Börger, E., Fruja, G., Gervasi, V., Stärk, R.: A high-level modular definition of the semantics of C#. Theor. Comput. Sci. 336(2–3), 235–284 (2005)MathSciNetMATHCrossRef
18.
go back to reference Börger, E., Gargantini, A., Riccobene, E.: Abstract state machines. A method for system specification and analysis. In: Frappier, M., Habrias, H. (eds.) Software Specification Methods: An Overview Using a Case Study, pp. 103–119. HERMES Sc. Publ. (2006) Börger, E., Gargantini, A., Riccobene, E.: Abstract state machines. A method for system specification and analysis. In: Frappier, M., Habrias, H. (eds.) Software Specification Methods: An Overview Using a Case Study, pp. 103–119. HERMES Sc. Publ. (2006)
19.
go back to reference Börger, E., Joannou, P., Parnas, D.L.: Practical Methods for Code Documentation and Inspection, vol. 178. Dagstuhl Seminar No. 9720, Schloss Dagstuhl, International Conference and Research Center for Computer Science, May 1997 Börger, E., Joannou, P., Parnas, D.L.: Practical Methods for Code Documentation and Inspection, vol. 178. Dagstuhl Seminar No. 9720, Schloss Dagstuhl, International Conference and Research Center for Computer Science, May 1997
20.
go back to reference Börger, E., Mearelli, L.: Integrating ASMs into the software development life cycle. J. Univers. Comput. Sci. 3(5), 603–665 (1997)MATH Börger, E., Mearelli, L.: Integrating ASMs into the software development life cycle. J. Univers. Comput. Sci. 3(5), 603–665 (1997)MATH
24.
go back to reference Börger, E., Rosenzweig, D.: The WAM - definition and compiler correctness. In: Beierle, C., Plümer, L. (eds.) Logic Programming: Formal Methods and Practical Applications. Studies in Computer Science and Artificial Intelligence, vol. 11, Chapter 2, pp. 20–90. North-Holland (1995) Börger, E., Rosenzweig, D.: The WAM - definition and compiler correctness. In: Beierle, C., Plümer, L. (eds.) Logic Programming: Formal Methods and Practical Applications. Studies in Computer Science and Artificial Intelligence, vol. 11, Chapter 2, pp. 20–90. North-Holland (1995)
28.
31.
go back to reference Del Castillo, G.: The ASM Workbench. A Tool Environment for Computer-Aided Analysis and Validation of Abstract State Machine Models. Ph.D. thesis, Universität Paderborn, Germany (2001). Published in HNI-Verlagsschriftenreihe, vol. 83 Del Castillo, G.: The ASM Workbench. A Tool Environment for Computer-Aided Analysis and Validation of Abstract State Machine Models. Ph.D. thesis, Universität Paderborn, Germany (2001). Published in HNI-Verlagsschriftenreihe, vol. 83
33.
go back to reference Dijkstra, E.: Guarded commands, non-determinacy and formal derivation of programs. Commun. ACM 18(8), 453–457 (1975). Also documented as EWD 472MATHCrossRef Dijkstra, E.: Guarded commands, non-determinacy and formal derivation of programs. Commun. ACM 18(8), 453–457 (1975). Also documented as EWD 472MATHCrossRef
35.
go back to reference Dold, A.: A formal representation of Abstract State Machines using PVS. Verifix Technical report Ulm/6.2, Universität Ulm, Germany, July 1998 Dold, A.: A formal representation of Abstract State Machines using PVS. Verifix Technical report Ulm/6.2, Universität Ulm, Germany, July 1998
36.
go back to reference Ernst, G., Pfähler, J.: Modular, crash-safe refinement for ASMs with submachines. Sci. Comput. Program. 131, 3–21 (2016). Alloy, B, TLA, VDM and Z (ABZ 2014)CrossRef Ernst, G., Pfähler, J.: Modular, crash-safe refinement for ASMs with submachines. Sci. Comput. Program. 131, 3–21 (2016). Alloy, B, TLA, VDM and Z (ABZ 2014)CrossRef
39.
go back to reference Fehnker, A., van Glabbeek, R., Hoefner, P., McIver, A., Portmann, M., Tan, W.L.: A process algebra for wireless mesh networks used for modelling, verifying and analysing AODV. Technical report 5513, NICTA, Brisbane, Australia (2013) Fehnker, A., van Glabbeek, R., Hoefner, P., McIver, A., Portmann, M., Tan, W.L.: A process algebra for wireless mesh networks used for modelling, verifying and analysing AODV. Technical report 5513, NICTA, Brisbane, Australia (2013)
41.
go back to reference Ferrarotti, F., Schewe, K.-D., Tec, L., Wang, Q.: A new thesis concerning synchronised parallel computing - simplified parallel ASM thesis. Theor. Comp. Sci. 649, 25–53 (2016)MathSciNetMATHCrossRef Ferrarotti, F., Schewe, K.-D., Tec, L., Wang, Q.: A new thesis concerning synchronised parallel computing - simplified parallel ASM thesis. Theor. Comp. Sci. 649, 25–53 (2016)MathSciNetMATHCrossRef
44.
go back to reference Fruja, N.G.: Type Safety of C# and .NET CLR. Ph.D. thesis, ETH Zürich (2006) Fruja, N.G.: Type Safety of C# and .NET CLR. Ph.D. thesis, ETH Zürich (2006)
45.
go back to reference Fuchs, N.E.: Specifications are (preferably) executable. Softw. Eng. J. 7, 323–334 (1992)CrossRef Fuchs, N.E.: Specifications are (preferably) executable. Softw. Eng. J. 7, 323–334 (1992)CrossRef
47.
go back to reference Goerigk, W., et al.: Compiler correctness and implementation verification: The Verifix approach. In: Fritzson, P. (ed.) International Conference on Compiler Construction, Proceedings Poster Session of CC 1996, IDA Technical Report LiTH-IDA-R-96-12, Linköping, Sweden (1996) Goerigk, W., et al.: Compiler correctness and implementation verification: The Verifix approach. In: Fritzson, P. (ed.) International Conference on Compiler Construction, Proceedings Poster Session of CC 1996, IDA Technical Report LiTH-IDA-R-96-12, Linköping, Sweden (1996)
52.
go back to reference Haneberg, D., Moebius, N., Reif, W., Schellhorn, G., Stenzel, K.: Mondex: engineering a provable secure electronic purse. Int. J. Softw. Inform. 5(1), 159–184 (2011). http://www.ijsi.org Haneberg, D., Moebius, N., Reif, W., Schellhorn, G., Stenzel, K.: Mondex: engineering a provable secure electronic purse. Int. J. Softw. Inform. 5(1), 159–184 (2011). http://​www.​ijsi.​org
53.
go back to reference Haneberg, D., Schellhorn, G., Grandy, H., Reif, W.: Verification of Mondex electronic purses with KIV: from transactions to a security protocol. Form. Aspects Comput. 20(1), 41–59 (2008)CrossRef Haneberg, D., Schellhorn, G., Grandy, H., Reif, W.: Verification of Mondex electronic purses with KIV: from transactions to a security protocol. Form. Aspects Comput. 20(1), 41–59 (2008)CrossRef
54.
go back to reference Havelund, K.: Data automata in scala. In: Leucker, M., Wang, J. (eds.) Proceedings of the 8th International Symposium on Theoretical Aspects of Software Engineering (TASE), pp. 1–9. IEEE Computer Society Press (2014) Havelund, K.: Data automata in scala. In: Leucker, M., Wang, J. (eds.) Proceedings of the 8th International Symposium on Theoretical Aspects of Software Engineering (TASE), pp. 1–9. IEEE Computer Society Press (2014)
56.
go back to reference Hayes, I.J., Jones, C.B.: Specifications are not (necessarily) executable. Softw. Eng. J. 4(6), 330–33 (1989)CrossRef Hayes, I.J., Jones, C.B.: Specifications are not (necessarily) executable. Softw. Eng. J. 4(6), 330–33 (1989)CrossRef
57.
go back to reference Jackson, M.: Problem Frames. Addison-Wesley, Boston (2001) Jackson, M.: Problem Frames. Addison-Wesley, Boston (2001)
58.
go back to reference Jackson, M.: The right-hand side problem: Research topics in RE. In: RE Silver Jubilee, RE 2017, Lisbon, 6 September 2017 Jackson, M.: The right-hand side problem: Research topics in RE. In: RE Silver Jubilee, RE 2017, Lisbon, 6 September 2017
60.
61.
go back to reference Lamport, L., Paulson, L.C.: Should your specification language be typed? ACM Trans. Program. Lang. Syst. 21(3), 502–526 (1999)CrossRef Lamport, L., Paulson, L.C.: Should your specification language be typed? ACM Trans. Program. Lang. Syst. 21(3), 502–526 (1999)CrossRef
62.
go back to reference Leibniz, G.W.: Dialogus de connexione inter res et verba. Leibniz, G.W.: Philosophische Schriften, August 1677. Edited by Leibniz-Forschungsstelle der Universität Münster, vol. 4 A, n.8. Akademie Verlag (1999) Leibniz, G.W.: Dialogus de connexione inter res et verba. Leibniz, G.W.: Philosophische Schriften, August 1677. Edited by Leibniz-Forschungsstelle der Universität Münster, vol. 4 A, n.8. Akademie Verlag (1999)
63.
go back to reference Leveson, N.G.: Engineering a Safer World: Systems Thinking Applied to Safety. Engineering Systems. MIT Press, Cambridge (2012)CrossRef Leveson, N.G.: Engineering a Safer World: Systems Thinking Applied to Safety. Engineering Systems. MIT Press, Cambridge (2012)CrossRef
65.
go back to reference Mearelli, L.: Refining an ASM specification of the production cell to C++ code. J. Univers. Comput. Sci. 3(5), 666–688 (1997)MATH Mearelli, L.: Refining an ASM specification of the production cell to C++ code. J. Univers. Comput. Sci. 3(5), 666–688 (1997)MATH
67.
go back to reference Naur, P.: Programming as Theory Building. Microprocessing and Microprogramming, vol. 15 (1985) Naur, P.: Programming as Theory Building. Microprocessing and Microprogramming, vol. 15 (1985)
71.
go back to reference Schellhorn, G.: Verification of ASM refinements using generalized forward simulation. J. Univers. Comput. Sci. 7(11), 952–979 (2001)MathSciNet Schellhorn, G.: Verification of ASM refinements using generalized forward simulation. J. Univers. Comput. Sci. 7(11), 952–979 (2001)MathSciNet
72.
go back to reference Schellhorn, G.: ASM refinement and generalizations of forward simulation in data refinement: a comparison. Theor. Comput. Sci. 336(2–3), 403–436 (2005)MathSciNetMATHCrossRef Schellhorn, G.: ASM refinement and generalizations of forward simulation in data refinement: a comparison. Theor. Comput. Sci. 336(2–3), 403–436 (2005)MathSciNetMATHCrossRef
73.
74.
go back to reference Schellhorn, G.: Completeness of ASM refinement. Electr. Notes Theor. Comput. Sci. 214, 25–49 (2008)MATHCrossRef Schellhorn, G.: Completeness of ASM refinement. Electr. Notes Theor. Comput. Sci. 214, 25–49 (2008)MATHCrossRef
75.
go back to reference Schellhorn, G.: Completeness of fair ASM refinement. Sci. Comput. Program. 76(9), 756–773 (2011)MATHCrossRef Schellhorn, G.: Completeness of fair ASM refinement. Sci. Comput. Program. 76(9), 756–773 (2011)MATHCrossRef
76.
go back to reference Schellhorn, G., Ahrendt, W.: Reasoning about abstract state machines: the WAM case study. J. Univers. Comput. Sci. 3(4), 377–413 (1997)MathSciNetMATH Schellhorn, G., Ahrendt, W.: Reasoning about abstract state machines: the WAM case study. J. Univers. Comput. Sci. 3(4), 377–413 (1997)MathSciNetMATH
77.
go back to reference Schellhorn, G., Ahrendt, W.: The WAM case study: verifying compiler correctness for Prolog with KIV. In: Bibel, W., Schmitt, P. (eds.) Automated Deduction - A Basis for Applications, volume III: Applications, pp. 165–194. Kluwer Academic Publishers, Dordrecht (1998)MATHCrossRef Schellhorn, G., Ahrendt, W.: The WAM case study: verifying compiler correctness for Prolog with KIV. In: Bibel, W., Schmitt, P. (eds.) Automated Deduction - A Basis for Applications, volume III: Applications, pp. 165–194. Kluwer Academic Publishers, Dordrecht (1998)MATHCrossRef
79.
go back to reference Schellhorn, G., Grandy, H., Haneberg, D., Moebius, N., Reif, W.: A systematic verification approach for Mondex electronic purses using ASMs. In: Abrial, J.-R., Glässer, U. (eds.) Rigorous Methods for Software Construction and Analysis. LNCS, vol. 5115, pp. 93–110. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-11447-2_7CrossRef Schellhorn, G., Grandy, H., Haneberg, D., Moebius, N., Reif, W.: A systematic verification approach for Mondex electronic purses using ASMs. In: Abrial, J.-R., Glässer, U. (eds.) Rigorous Methods for Software Construction and Analysis. LNCS, vol. 5115, pp. 93–110. Springer, Heidelberg (2009). https://​doi.​org/​10.​1007/​978-3-642-11447-2_​7CrossRef
81.
go back to reference Schewe, K.-D., Ferrarotti, F., Tec, L., Wang, Q., An, W.: Evolving concurrent systems: behavioural theory and logic. In: Proceedings of the Australasian Computer Science Week Multiconference (ACSW 2017), pp. 77:1–77:10. ACM (2017) Schewe, K.-D., Ferrarotti, F., Tec, L., Wang, Q., An, W.: Evolving concurrent systems: behavioural theory and logic. In: Proceedings of the Australasian Computer Science Week Multiconference (ACSW 2017), pp. 77:1–77:10. ACM (2017)
83.
go back to reference Schmid, J.: Compiling abstract state machines to C++. J. Univers. Comput. Sci. 7(11), 1069–1088 (2001) Schmid, J.: Compiling abstract state machines to C++. J. Univers. Comput. Sci. 7(11), 1069–1088 (2001)
85.
go back to reference Somers, J.: The coming software apocalypse. The Atlantic, 26 September 2017. Email newsletter, consulted on 11 November 2017 Somers, J.: The coming software apocalypse. The Atlantic, 26 September 2017. Email newsletter, consulted on 11 November 2017
87.
go back to reference Thalheim, B., Nissen, I. (eds.): Wissenschaft und Kunst der Modellierung: Kieler Zugang zur Definition, Nutzung und Zukunft. Philosophische Analyse/Philosophical Analysis. vol. 64, De Gruyter (2015) Thalheim, B., Nissen, I. (eds.): Wissenschaft und Kunst der Modellierung: Kieler Zugang zur Definition, Nutzung und Zukunft. Philosophische Analyse/Philosophical Analysis. vol. 64, De Gruyter (2015)
88.
go back to reference Ward, M.P.: Language oriented programming. Softw. Concepts Tools 15(4), 147–161 (1994) Ward, M.P.: Language oriented programming. Softw. Concepts Tools 15(4), 147–161 (1994)
89.
go back to reference Zimmerman, W., Gaul, T.: On the construction of correct compiler back-ends: an ASM approach. J. Univers. Comput. Sci. 3(5), 504–567 (1997)MATH Zimmerman, W., Gaul, T.: On the construction of correct compiler back-ends: an ASM approach. J. Univers. Comput. Sci. 3(5), 504–567 (1997)MATH
Metadata
Title
Why Programming Must Be Supported by Modeling and How
Author
Egon Börger
Copyright Year
2018
DOI
https://doi.org/10.1007/978-3-030-03418-4_6

Premium Partner