Abstract
Before software can be designed one must have a reasonable grasp of its requirements. Before requirements can be prescribed one must have a reasonable grasp of the domain in which the software is to serve. So we must study, analyse and describe the application domain. We shall argue that domain science & engineering is a necessary prerequisite for requirements engineering, and hence software design. We survey elements of domain science & engineering – and exemplify some elements of domain descriptions. We finally speculate on the relevance of domain engineering in the context of and aeronautics and space.
Invited paper for the The 14th NASA Formal Methods Symposium, https://nfm2022.caltech.edu, May 24–27, 2022, Pasadena, California, USA.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
We take informatics to be an amalgam of mostly mathematical nature: computer & computing science and mathematics. Another such amalgam is IT which we consider as mostly of technological nature: electronics, plasma and quantum physics, etc. Informatics, to us, is a universe of intellectual quality: meeting customers expectations, correct wrt. specifications, etc. IT is then a universe of material quantity: smaller, bigger, faster, less costly, etc. The products of informatics [must] satisfy laws of mathematics, in particular of mathematical logic. The products of IT [must] satisfy the laws of physics.
- 2.
- 3.
Triptych: a picture (such as an altarpiece) or carving in three panels side by side, or something composed or presented in three parts or sections especially, like a trilogy.
- 4.
Raise: Rigorous approach to industrial software engineering.
- 5.
By ‘rationally describable’ we mean that the specification, in this case the description, must allow for formal, i.e., logical reasoning.
- 6.
Ontology is the study of concepts such as existence, being, becoming, and reality.
- 7.
Epistemology is the study of properties, origin and limits for human knowledge.
- 8.
- 9.
- 10.
- 11.
We could omit the concept of structure altogether and just allow compounds that do not have internal qualities.
- 12.
By ‘representative Cartesian of pairs’ we mean that there is a pair of any part (of the set) and its type for every possible part type in the Cartesian.
- 13.
Achille Varzi: Mereology, http://plato.stanford.edu/entries/mereology/ 2009 and [18].
- 14.
– by the transcendent part behaviour.
- 15.
We shall forego explaining the state concept \(\varXi \).
- 16.
RSL does not have channel arrays. So this is a deviation from RSL.
- 17.
Parts – being the bases for behaviours – persist, endure.
- 18.
where pattern – typically is a “grouping expression” over [free] identifiers.
- 19.
ch[{ui,uj}] ? is an expression.
- 20.
The type of attribute A names (a single element type) is \(\eta \) A, and the value is “ A ”. The type of all attribute names is \(\eta \mathbb {A}\).
- 21.
The \(\uplus \) operator merges \(\texttt {RSL}^+\textsf {Text}\)s.
- 22.
A link is a street segment delineated by street intersections.
- 23.
A hub is a street intersection of one or more links.
- 24.
– so we have decided !.
- 25.
– zero expresses that the link is [currently] closed for traffic, one if it is [currently] a one way link, in one or the other direction as indicated by the connecting hub identifiers, or two if it is [currently] a two way link.
- 26.
– each pair, \((li_j,li_k)\) expressing that automobiles may [currently] enter the hub from the links identified by \(li_j\) and leave the hub to the links identified by \(li_k\).
- 27.
– expressing the fraction along the designated link between the two designated hubs. The type constructor : : is “borrowed” from VDM [22].
- 28.
– expressing that the automobile at hub hi is on its way between links designated by li\('\) and li\(''\).
- 29.
We shall define that attribute in items 53c on the facing page.
- 30.
- 31.
We shall use the ampersand, &, instead of ‘and’, to emphasize that we speak of one, consolidated topic, not two !.
- 32.
The following text is adapted from various NASA Web pages found under: https://www.nasa.gov.
- 33.
ICAO (UN), Roscosmos (Russia), CNSA (China), ISRO (India), JAXA (Japan), AEB (Brazil), CSA (Canada), ASA (Australia) and others.
- 34.
It appears to have become fashionable to include the idea of ‘essence’ in the title of methods or books:
-
https://essence.ivarjacobson.com/services/what-essence: The Essence of Software Engineering. The SEMAT kernel. Ivar Jacobson, Pan-Wei Ng, Paul E. McMahon, Ian Spence, and Svante Lidman. ACM Queue, October 24, 2012, Volume 10, issue 10.
-
https://press.princeton.edu/books/hardcover/9780691225388/the-essence-of-software: The Essence of Software: Why Concepts Matter for Great Design. Daniel Jackson, Nov.16, 2021.
.
-
References
Aaronson, S.: Quantum Computing since Democritus. Cambridge University Press, Cambridge (2013)
Ahbel-Rappe, S.: Socrates: A Guide for the Perplexed. A &C Black (Bloomsbury) (2011). ISBN 978-0-8264-3325-1
Ross, W.D., et al.: Plato’s Theory of Ideas. Oxford University Press, Oxford (1963)
Aristotle: Categories. On Interpretation. Prior Analytics. Harvard University Press [Loebb Classical Library, translated by H.P. Cooke and Hugh Tredenick] (1938)
Audi, R.: The Cambridge Dictionary of Philosophy. Cambridge University Press, Cambridge (1995)
Berger, B., Whistler, D.: The Schelling Reader. Bloomsbury Publishing PLC, London (2020)
Berkeley, G.: Philosophical Works, Including the Works on Vision. Everyman edition, London (1975). (1713)
Bjørner, D.: Software Engineering, Vol. 1: Abstraction and Modelling. TTCS. Springer, Heidelberg (2006). https://doi.org/10.1007/3-540-31288-9
Bjørner, D.: Software Engineering, Vol. 2: Specification of Systems and Languages. TTCS. Springer, Heidelberg (2006). https://doi.org/10.1007/978-3-540-33193-3. Chapters 12–14 are primarily authored by Christian Krog Madsen
Bjørner, D.: Software Engineering, Vol. 3: Domains, Requirements and Software Design. TTCS. Springer, Heidelberg (2006). https://doi.org/10.1007/3-540-33653-2
Bjørner, D.: Domain Science & Engineering - A Foundation for Software Development. Monographs in Theoretical Computer Science. An EATCS Series. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-73484-8
Bjørner, N., Levatich, M., Lopes, N.P., Rybalchenko, A., Vuppalapati, C.: Supercharging plant configurations using Z3. In: Stuckey, P.J. (ed.) CPAIOR 2021. LNCS, vol. 12735, pp. 1–25. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-78230-6_1
Butterfield, J., Earmann, J. (eds.): Philosophy of Physics. Handbook of The Philosophy of Science. Elsevier (2006)
Carnap, R.: Der Logische Aufbau der Welt. Weltkreis, Berlin (1928)
Carnap, R.: The Logical Syntax of Language. Harcourt Brace and Co., New York (1937)
Carnap, R.: Introduction to Semantics. Harvard University Press, Cambridge (1942)
Carnap, R.: Meaning and Necessity, A Study in Semantics and Modal Logic. University of Chicago Press, Chicago (1947, 1956)
Casati, R., Varzi, A.C.: Parts and Places: The Structures of Spatial Representation. MIT Press, Cambridge (1999)
Clarke, E.M., Henzinger, T.A., Veith, H., Bloem, R.: Handbook of Model Checking. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-10575-8
Couprie, D.L., Kocandrle, R.: Anaximander: Anaximander on Generation and Destruction. Briefs in Philosophy Series. Springer
Darwin, C.: Origin of Species. Penguin Putnam (2003). Introduction by Sir Julian Huxley
Dawes, J.: The VDM-SL reference guide, vol. 18. Pitman, London (1991)
Descartes, R.: Discours de la méthode. Texte et commentaire par Étienne Gilson. Vrin, Paris (1987)
Henry Folse, J.F. (ed.): Niels Bohr and the Philosophy of Physics: Twenty-First-Century Perspectives. Bloomsbury Academic (2019)
Frege, G. (ed.): Begriffsschrift - “a formula language, modelled on that of arithmetic, for pure thought”. Verlag von Louis Nebert, Halle (1879)
George, C., Haxthausen, A.E.: The logic of the RAISE specification language. Comput. Artif. Intell. 22(3–4), 323–350 (2003). http://www.sav.sk/index.php?lang=en &charset=ascii &doc=journal &part=list_articles &journal_issue_no=882#abstract_2729
George, C.W., et al.: The RAISE Specification Language. The BCS Practitioner Series. Prentice-Hall, Hemel Hampstead (1992)
George, C.W., Haxthausen, A.E., Hughes, S., Milne, R., Prehn, S., Pedersen, J.S.: The RAISE Development Method. The BCS Practitioner Series. Prentice-Hall, Hemel Hampstead (1995)
Gödel, K.: Über formal unentscheidbare Sätze der Principia Mathematica und verwandter Systeme I. Monatshefte für Mathematik Physik 38, 173–198 (1931). [English translation in van Heijenoort 1967, 596–616, and in Gödel, 1986, 144–195]
Hegel, G.W.F.: Wissenschaft der Logik. Hofenberg (2016). (1812–1816)
Heidegger, M.: Parminedes. Indiana University Press, Bloomington (1998)
Heisenberg, W.: Physics and Philosophy: The Revolution in Modern Science. Harper Perennial Modern Classics (2007)
Hierons, R.M., Bowen, J.P., Harman, M. (eds.): Formal Methods and Testing. LNCS, vol. 4949. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-78917-8
Hoare, C.A.R.: Communicating sequential processes. Commun. ACM 21(8), 666–677 (1978)
Hoare, C.A.R.: Communicating Sequential Processes. C.A.R. Hoare Series in Computer Science, Prentice-Hall International (1985)
Hoare, C.A.R.: Communicating Sequential Processes. C.A.R. Hoare Series in Computer Science. Prentice-Hall International (1985). published electronically: usingcsp.com/cspbook.pdf (2004)
Hofmann, M.: Syntax and semantics of dependent types. In: Extensional Constructs in Intensional Type Theory. DISTDISS, pp. 13–54. Springer, London (1997). https://doi.org/10.1007/978-1-4471-0963-1_2
Hume, D.: Enquiry Concerning Human Understanding. Squashed Editions, Winster (2020). (1758)
Husserl, E.: Ideas. General Introduction to Pure Phenomenology. Routledge, Milton Park (2012)
Irvine, A.D. (ed.): Philosophy of Mathematics. Elsevier Science & Technology (2006)
Jackson, M.A.: Software Requirements & Specifications: A Lexicon of Practice, Principles and Prejudices. ACM Press, Addison-Wesley, Reading (1995)
James, D., Zoller, G.: Cambridge Companion to Fichte. Cambridge University Press, Cambridge (2016)
Kant, I.: Critique of Pure Reason. Penguin Books Ltd, London (2007). (1787)
Kennedy, H.C. (ed.): Selected works of Giuseppe Peano, with a biographical sketch and bibliography. Allen & Unwin, London (1973)
Leibniz, G.W.: The Philosophical Writings of Leibniz. Hassell Street Press, Stoke-on-Trent (2021)
Little, W., Fowler, H., Coulson, J., Onions, C.: The Shorter Oxford English Dictionary on Historical Principles. Clarendon Press, Oxford (1973, 1987). Two vols
Locke, J.: An Essay Concerning Human Understanding. Penguin Classics, London (1998). (1689)
Maxwell, J.C.: A Treatise on Electricity and Magnetism, 3rd edn., vol. 1–2. Dover reprint, Garden City (1954). (1892)
Mendel, G., Bateson, W. (eds.): Mendel’s Principles of Heredity. Franklin Classics Trade Press, Minneapolis (2018)
Mercer, J.E.: The Mysticism of Anaximenes and the Air. Kessinger Publishing, LLC, Whitefish (2010)
O’Grady, P.: Thales of Miletus. Western Philosophy Series. Routledge, Milton Park (2002)
Pears, D.: Russell’s Logical Atomism. Fontana Collins (1972)
Planck, M.: Eight Lectures on Theoretical Physics. Dover Publications, Garden City (2003). (1915)
Popper, K.R.: Logik der Forschung. Julius Springer Verlag, Vienna, Austria (1934). (1935). english version [56]
Popper, K.R.: The Logic of Scientific Discovery. Hutchinson of London, 3 Fitzroy Square, London W1, England (1959,... 1979), translated from [55]
Popper, K.R.: Conjectures and Refutations. The Growth of Scientific Knowledge. Routledge and Kegan Paul Ltd. (Basic Books, Inc.), 39 Store Street, WC1E 7DD, London, England (New York, NY, USA) (1963,...,1981)
Popper, K.R.: A Pocket Popper. Fontana Pocket Readers, Fontana Press, England (1983). An edited collection, Ed. David Miller
Roscoe, A.W.: Theory and Practice of Concurrency. C.A.R. Hoare Series in Computer Science. Prentice-Hall (1997). http://www.comlab.ox.ac.uk/people/bill.roscoe/publications/68b.pdf
Russell, B.: On denoting. Mind 14, 479–493 (1905)
Russell, B.: The Problems of Philosophy. Home University Library, London (1912). oxford University Press paperback, 1959 Reprinted, 1971–2
Russell, B.: Introduction to Mathematical Philosophy. George Allen and Unwin, London (1919)
Russell, B.: “Preface”. Our Knowledge of the External World. G. Allen & Unwin Ltd, London (1952)
Sannella, D., Tarlecki, A.: Foundations of Algebraic Semantics and Formal Software Development. Monographs in Theoretical Computer Science, Springer, Heidelberg (2012)
Schneider, S.: Concurrent and Real-Time Systems – The CSP Approach. Worldwide Series in Computer Science. Wiley, Chichester (2000)
Sørlander, K.: Det Uomgængelige - Filosofiske Deduktioner [The Inevitable - Philosophical Deductions, with a foreword by Georg Henrik von Wright]. Munksgaard \(\cdot \) Rosinante (1994). 168 pages
Sørlander, K.: Under Evighedens Synsvinkel [Under the viewpoint of eternity]. Munksgaard \(\cdot \) Rosinante (1997). 200 pages
Sørlander, K.: Den Endegyldige Sandhed [The Final Truth]. Rosinante (2002). 187 pages
Sørlander, K.: Indføring i Filosofien [Introduction to The Philosophy]. Informations Forlag (2016). 233 pages
Spinoza, B.: Ethics, Demonstrated in Geometrical Order. The Netherlands (1677)
Wallace, A.R.: The Annotated Malaysian Archipelago. National University of Singapore Press, Singapore (2014). Edited by John Van Wyhe
Whitehead, A.N., Russell, B.: Principia Mathematica, 3 vols (1962). Cambridge University Press (1910, 1912, and 1913), second edition, 1925 (Vol. 1), 1927 (Vols 2, 3), also Cambridge University Press
Wittgenstein, L.J.J.: Tractatus Logico-Philosophicus. Oxford University Press, London (1961). (1921)
Wittgenstein, L.J.J.: Philosophical Investigations. Oxford University Press, Oxford (1958)
Wolfe, C.T., Huneman, P., Reydon, T.A. (eds.): History, Philosophy and Theory of the Life Sciences. Springer, Heidelberg (2013)
Wright, M.: Empedokles: The Extant Fragments. Hackett Publishing Company, Inc. (1995)
Acknowledgments
The front matter preface of [11] ends with an extensive list of acknowledgments. For this paper I repeat acknowledging three persons: Kai Sørlander from whose philosophical works and from our personal interaction I have benefited; my editor at Springer, Ronan Nugent, whose steadfast and tireless work also lies behind [11]; and Klaus Havelund for being a great discussion partner over now many years. I also thank the NASA Formal Methods Symposium for the invitation which has afforded me the possibility to correct, clarify and simplify a number of issues wrt. RSL, \(\texttt {RSL}^+\textsf {Text}\), and domain analysis and description methodology: its principles, techniques and tools.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 Springer Nature Switzerland AG
About this paper
Cite this paper
Bjørner, D. (2022). An Essence of Domain Engineering. In: Deshmukh, J.V., Havelund, K., Perez, I. (eds) NASA Formal Methods. NFM 2022. Lecture Notes in Computer Science, vol 13260. Springer, Cham. https://doi.org/10.1007/978-3-031-06773-0_2
Download citation
DOI: https://doi.org/10.1007/978-3-031-06773-0_2
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-06772-3
Online ISBN: 978-3-031-06773-0
eBook Packages: Computer ScienceComputer Science (R0)