Domain Analysis and Description Principles, Techniques, and Modelling Languages
Dines Bjørner · ACM Transactions on Software Engineering and Methodology · 2019
We present a method for analysing and describing domains . By a domain we shall understand a rationally describable segment of a human assisted reality, i.e., of the world, its physical parts: natural [“God-given”] and artifactual [“human-made”], and living species : plants and animals including, notably, humans . These are endurants (“still”), as well as perdurants (“alive”). Emphasis is placed on “ human-assistedness ,” that is, that there is at least one (human-made) artifact and, therefore, that humans are a primary cause for change of endurant states as well as perdurant behaviours . By a method we shall mean a set of principles of analysis and for selecting and applying a number of techniques and tools in the construction of some artifact, say a domain description. We shall present a method for constructing domain descriptions. Among the tools we shall only be concerned with are the analysis and synthesis languages. Domain science and engineering marks a new area of computing science . Just as we are formalising the syntax and semantics of programming languages , so we are formalising the syntax and semantics of human-assisted domains . Just as physicists are studying the natural physical world , endowing it with mathematical models , so we, computing scientists , are studying these domains , endowing them with mathematical models , A difference between the endeavours of physicists and ours lies in the tools: The physics models are based on classical mathematics , differential equations and integrals , and so on; our models are based on mathematical logic , set theory , and algebra [1]. Where physicists thus classically use a variety of differential and integral calculi to model the physical world, we shall be using the analysis and description calculi presented in this article to model primarily artifactual domains.