
Acquaintance with the paradigms of constructing domain models
Introduction
Perhaps someone will ask a question, but where does the math come from? I will answer right away: everything that is stated here is directly related to mathematics.
Studying literature on the theory of constructing domain models, I discovered a serious gap. Authors of articles and books immediately take one of the modeling notations: ER-diagrams, or class diagrams, and at a fast pace they begin to use them to describe the subject area. Moreover, the description of the paradigm in which this simulation is performed remains generally not disclosed. Consequently, the limitations of a particular notation remain unrevealed. Alas, we all know how to build models, but few can explain what he built in one of the existing paradigms. Therefore, I often hear terms that are wild from the point of view of any paradigm: class of types, types of classes, types of types, and so on, but I have never heard the correct term “class of classes”. This gap in our education is very serious. And I will explain why.
Let's ask analysts a simple question.
Those who simulated processes are probably familiar with BPMN notation. Very often, when modeling an operation to conclude a contract, I come across such a fragment of the diagram:
It can be seen that as a result of concluding a contract something is born that is transferred to another operation. But what does a chart element in the form of a sheet with a curved corner mean? We need to know exactly what exactly is transferred from one operation to another, otherwise it will be difficult to explain to others what is required of them. So, what is created at the exit from the “Conclude an Agreement” operation?
The answer options I heard are as follows:
- Printed paper
- Printed papers
- Printed Paper Class
- Contract
- Arrangement
- Arrangement Information
- MS Word file with the name of the contract
- Database entry
- Stream of some objects
So far, I have observed a lack of agreement between analysts on the subject of what is nevertheless transmitted and what the terms “contract”, “flow”, “agreement”, “information”, “data” mean. To answer this question, I had to dig deep and toward paradigms. Moreover, the answer required a split of the question into two. The first question was: “How to correctly formulate the question?” And the second was: “How to answer it?”. For the correct formulation, it was necessary to choose the appropriate paradigm. This article is devoted to the story of two paradigms: Aristotelian and logical, and why I chose the logical as the working one. I will not give an answer to the question posed in this article. I will give the answer in another article.
How do we build a model of being?

Look at the picture. It schematically depicts the process of building a model of existing.
- First, the subject separates himself from being, then he chooses a paradigm for modeling. The paradigm includes assumptions about how things exist (for example, 4-D space-time filled with objects, or 11-dimensional space - time filled with superstrings and so on).
- We will assume that the subject has chosen 4-D space-time in which objects are immersed. The paradigm involves the consideration of existing from a certain point of view. Since at the previous stage of selection we decided to consider objects in space, we now only see them: (for example, the existing is an informational object, or the existing is a functional object and so on). Then, in accordance with the chosen paradigm (object) and the point of view on the object (functional, informational ...), the subject represents the existing in the form of an object with the necessary properties and context in which the object is placed. This is the model that the subject has built within himself. If the constructed model does not satisfy the description tasks, the subject starts over - again selects the paradigm and repeats the cycle. The cycle repeats as long until the constructed model satisfies the needs of the subject. This process is initially contradictory, but the Europeans did not come up with anything better. Its damage is that the subject separates himself from being at the very beginning of modeling. This separation leads to recursions and contradictions. In addition, many, if not the vast majority, believe that theirs and only their point of view is correct, which does not allow building many models that answer different questions. But in this article we will pretend that we do not notice these contradictions, suppose that the subject is similar to the Creator, and move on. many, if not the vast majority, believe that theirs and only their point of view is correct, which does not allow building many models that answer different questions. But in this article we will pretend that we do not notice these contradictions, suppose that the subject is similar to the Creator, and move on. many, if not the vast majority, believe that theirs and only their point of view is correct, which does not allow building many models that answer different questions. But in this article we will pretend that we do not notice these contradictions, suppose that the subject is similar to the Creator, and move on.
- Next, the model must be transferred to another subject. For this, the subject uses notation to write the model. He takes the notation and applies it to the constructed model. The resulting representation of the model is the fixation of the model.
Thus, we see that the paradigm, model, and notation are what is in the mind of the subject. We see that the existing, the description of the paradigm, the description of the notation, and the representation of the model are those that are outside the subject.
If we make the assumption that the world REALLY consists of 4-D space-time and the objects located in it, then the picture can be redrawn like this:

Paradigm Features
To describe the world, we usually use two paradigms: Aristotle's paradigm and logical paradigm. Both of them rest on the assumption that the world is objective and is 4-D space-time. But there are differences between paradigms that I must emphasize.
- The first difference between the paradigms is the relation to the time coordinate in 4-D space-time. If Aristotle assumed that there are objects that manifest their properties in time, then the logical paradigm considers time to be the same coordinate as the other 3, the only difference from which is that for some reason we are arranged so that we can move along this coordinate in only one direction. Therefore, the rhetoric of those who adhere to the logic of Aristotle looks like this: we created a watch to show time. The logical paradigm argues that the clock is a function of showing time. That is, the clock does not show time, it is the function of showing time. According to the logic of Aristotle, the enterprise was created to produce something. In a logical paradigm, an enterprise is the production of something.
- The second difference is that Aristotle believed that objects were not created by us, but exist independently of our consciousness. This allowed us to assume the presence of types of objects given to us from above. The logical paradigm assumes that objects are allocated from space-time in an arbitrary manner based on the preferences of the subject. For example, is a balloon an object, or a space filled with gas? What is it - the subject decides. The boundaries of the object are also determined by the subject. No one will be able to say exactly where the boundary between the body and arm passes.
It’s good when the paradigm and notation are consistent. Then the possibilities of the paradigm will be fully utilized. And then it becomes possible "thinking with the help of notes." That is, it will be possible to draw a representation of the model at the same time as its creation. This is how many people think when, for example, they write articles, draw pictures, or draw drawings.
Aristotle's paradigm is consistent with tabular modeling. However, the relationship between the tables is what Aristotle did not plan. Therefore, the notation of ER-diagrams, although based on the paradigm of Aristotle, but goes beyond its boundaries. The class diagram notation also goes beyond Aristotle's paradigm and is not consistent with it. It serves to simulate program code. In the objective world you will not find either inheritance or encapsulation. These are all programming terms, not subject areas. Class diagrams and ER diagrams are suitable for describing the subject area, as Levenchuk said to one of his articlesbetween bad and very bad. Many do not know these restrictions, and therefore believe that there are no restrictions at all. This error can be cured in only one way - by studying the logical paradigm. For the logical paradigm, two notations are used, which are described in the ISO 15926 standard.
There is a dispute between engineers and philosophers. Engineers often reproach philosophers for allegedly engaging in verbiage. Philosophers say that if it were not for their verbiage, there would be no engineers. And mathematicians are silent. But the trick is that mathematics and philosophy until the 20th century were merged together. Descartes and Cantor are great philosophers - mathematicians. The task was simple. It was not enough to come up with a paradigm, it was necessary to come up with a notation to transfer models in this paradigm to other citizens, and also it was necessary to be able to check the paradigm for consistency. The mercenary of philosophy — mathematics — was engaged in the solution of this problem. But in the 20th century, Russell suggested that mathematics should be separated from philosophy. Just because mathematics yielded results too far from our empirical experience. And instead of postulating the limitations of our experience, Russell acted in the spirit of anthropocentrism - he suggested that we no longer think about the meaning of mathematical discoveries. Well done! We are reaping the benefits of this separation now. Now there are few who know the paradigms and why they exist. A lot of notations are created, divorced from paradigms, the task of which is to satisfy the needs here and now. And the fact that they are contradictory and the boundaries of their capabilities are not described - few people care. It’s a pity, because as a result of the notation it is massively used to build models of subject areas by people who do not know the limitations of these notations. However, not everything is so bad. There are those who know this. IN A lot of notations are created, divorced from paradigms, the task of which is to satisfy the needs here and now. And the fact that they are contradictory and the boundaries of their capabilities are not described - few people care. It’s a pity, because as a result of the notation it is massively used to build models of subject areas by people who do not know the limitations of these notations. However, not everything is so bad. There are those who know this. IN A lot of notations are created, divorced from paradigms, the task of which is to satisfy the needs here and now. And the fact that they are contradictory and the boundaries of their capabilities are not described - few people care. It’s a pity, because as a result of the notation it is massively used to build models of subject areas by people who do not know the limitations of these notations. However, not everything is so bad. There are those who know this. INthe book on page 36-37 says:
Software objects in a sense correspond to real-world objects, but are not their exact models or copies. Although the resulting design class diagram does not fully correspond to the domain model, some class names and their characteristics coincide. Object-oriented design solutions and languages can reduce the gap between the presentation of information in the form of software components and mental models of the subject area. This improves the imagery of the presentation.
It’s good when the created models satisfy the following properties: completeness (everything that we wanted to say must be present in the model), consistency (one part of the description should not contradict the other part), extensibility (adding new data should not lead to contradictions). In order for the model to have these properties, the paradigm of model building should allow this to be done. Aristotle's paradigm does not satisfy the requirement of consistency and extensibility of models. That is why Aristotelian was replaced by a logical paradigm based on set theory.
Building one model for more than one object
Having built one model for one object, you can try to see how it fits another object. Or so: you can immediately build a model, taking into account the fact that it will describe many objects of the real world. So we get one universal model for many objects at the same time. This greatly facilitates the task of describing the real world. We find objects somewhat similar to each other and describe them with one model. Of course, some individual features will have to be “added” separately for each model, but these are trifles compared to the individual description of each object separately. That is what we do when we create a drawing, on the basis of which one functional object can then be created, and maybe a lot! These objects form a set, or class. About any object of this class we can say that the drawing is its model. Aristotle used different rhetoric. He said that a drawing is a description of the type of objects. And objects - there are instances of this type.
What does a screenwriter do? He makes the script, but whether the performance will be staged according to it and how many performances will result from - he does not know. The script can be a model of one performance, for example, the celebration of the New Year 2015. Or he can model many performances, such as the script of the Nutcracker ballet. It is clear that the script is one, and there are many performances. In a logical paradigm, this description would look like this: there are a lot of all the performances, a subset of this set - there are performances made on the basis of the script “The Nutcracker Ballet”.
The same thing in Aristotle's paradigm would look like this. There are objects - performances. Any performance is a copy of the performance. There are objects of a different type - these are performances made according to one scenario “The Nutcracker Ballet". Any performance in this scenario is a copy of the performance "The Nutcracker Ballet." The same performance is simultaneously a copy of the performance and a copy of the performance “The Nutcracker Ballet”. At the same time, Aristotle should now be a little worried, because he did not say such a thing! It does not have the fact that one object can belong to different types! This is our interpretation, based on modeling in the form of ER-diagrams. This and many other things do not allow constructing a consistent model of the subject area based on the Aristotle paradigm.
Information Object Model
Thus, in the logical paradigm, one model can be associated with one model: The

objects that we describe with the same models are called similar and we relate them to the same class. For example, a class of insects, or a class of bolted joints. In addition, one model can also be represented by many information objects. For example, one model of a bolted connection can have many representations in the form of different sheets of Whatman paper with a picture on it, in the form of sketches in notebooks and so on. It is clear that all these representations use the same notation, but at the same time they are all different:

In the whole set of representations, we are only interested in those that are made according to certain rules. For example, we do not want to consider drawings carved from stone. To do this, we need to introduce additional rules by which information objects will be created that suit us. These rules will constitute a model of the information objects themselves. So the following hierarchical structure is obtained:

Many information models are described by a model of information objects. This model is in the minds and people. This model is generated as a result of the application of a special paradigm, which considers the object of the subject area as an information one. Then, after applying the notation, the model of information models can be expressed in the form of representations of this model.
Thus, any object can have a model and its representation. In turn, a representation can also have its own model, and so on ad infinitum. This infinity is one of the very serious limitations of the logical paradigm. I do not know how to resolve this contradiction. But I honestly admit that there are limitations to the logical paradigm, and they are that sooner or later we will have to break the chain of models and refer to common sense.
Contract
If we apply the constructed construction to the diagram drawn at the very beginning of the article, then we have questions: what is an agreement? Is it a reality, or a model of reality? What is a contract? What are leaflets with stamps? What is a MS Word file? What is a record in the database? And what does it fix: a contract, an agreement, a reality?
I drew a piece of the model, starting with an agreement, but did not decipher what the agreement itself is.

We see that the real model of the subject area is quite complex. At the same time, we did not draw all the details and did not draw all levels of the model, because the ability to work with MS Word does not imply knowledge of the data storage format. And knowledge of the data storage format does not mean knowledge of the print head control rules. Etc. There are physical objects and subjects, there are information objects and functional ones , and they are sometimes connected by rather complex hierarchical connections. We must learn to model these relationships and pass on to others as knowledge.
For example, the 7-level OSI network model is a hierarchical model of physical and information objects.
In an abridged version, the model is as follows:

And now this is a recognizable design. It excludes entities that can be skipped from the point of view of data modeling. But now, looking at her, you know about the connections that connect them. Sometimes, in order to build a correct model, you need to know a lot more than what is drawn. And my article just demonstrates the train of thoughts that anyone can do so as not to be mistaken. Try to speculate on any question in your subject area. Try asking questions until you understand clearly what you are seeing. Otherwise it will be like this:
Lyrical sketch
We are color blind. Just not in the sense: we do not distinguish colors, no. We do not distinguish the meaning of words used in different contexts.
The fact that we say abbreviated phrases, the meaning of which is determined by the context, is a necessary measure for survival. We must be able to quickly express ourselves: Look: hungry wolf! instead: Look: an object belonging to many wolves at the same time belongs to the class of hungry living beings! But, using abbreviated phrases, we must not forget about their full meaning, and we must be able to restore this meaning. However, while the reverse process is happening: using the abbreviated elements of the language, we are further and further removed from understanding what is hidden behind them.
When I go to the village, I get ready for the festival of hearing. The conversation of the village is full of meaning, shades and music. I see that, while uttering the words, the villager does not just juggle mental constructions, as is customary in the urban environment, he simultaneously experiences the images hidden behind the words and is immersed with his whole being in the context in which these images live. The experience of images and context as the basis holds the integrity of the structures, and does not give rise to contradictions.
Unlike the village, a city dweller, taught to perceive words in isolation from the context, can use standard language templates. This leads to a loss of context first, and then blurring of the meaning of the words themselves. Separation of words from the context does not allow to maintain the integrity and consistency of designs. As a result, a forgery occurs: a set of language patterns replaces knowledge. Since the listeners of such a person are often the same as he is, incapable of simultaneously holding in their minds both meaning and context, this focus passes. I meet juggling masters with words. These are those who know how to change the context, and in accordance with this change the language patterns: psychotherapists, teachers, scammers and good politicians, good analysts. But bad teachers, for example, they don’t understand what is the secret of such flexibility and can only imitate the actions of good ones. The secret is simple - experiencing the context makes it possible to maintain integrity, and the ability to change the context makes it possible to create.
The fact that we say abbreviated phrases, the meaning of which is determined by the context, is a necessary measure for survival. We must be able to quickly express ourselves: Look: hungry wolf! instead: Look: an object belonging to many wolves at the same time belongs to the class of hungry living beings! But, using abbreviated phrases, we must not forget about their full meaning, and we must be able to restore this meaning. However, while the reverse process is happening: using the abbreviated elements of the language, we are further and further removed from understanding what is hidden behind them.
When I go to the village, I get ready for the festival of hearing. The conversation of the village is full of meaning, shades and music. I see that, while uttering the words, the villager does not just juggle mental constructions, as is customary in the urban environment, he simultaneously experiences the images hidden behind the words and is immersed with his whole being in the context in which these images live. The experience of images and context as the basis holds the integrity of the structures, and does not give rise to contradictions.
Unlike the village, a city dweller, taught to perceive words in isolation from the context, can use standard language templates. This leads to a loss of context first, and then blurring of the meaning of the words themselves. Separation of words from the context does not allow to maintain the integrity and consistency of designs. As a result, a forgery occurs: a set of language patterns replaces knowledge. Since the listeners of such a person are often the same as he is, incapable of simultaneously holding in their minds both meaning and context, this focus passes. I meet juggling masters with words. These are those who know how to change the context, and in accordance with this change the language patterns: psychotherapists, teachers, scammers and good politicians, good analysts. But bad teachers, for example, they don’t understand what is the secret of such flexibility and can only imitate the actions of good ones. The secret is simple - experiencing the context makes it possible to maintain integrity, and the ability to change the context makes it possible to create.
Let us return to the question asked at the beginning of the article. I asked what models that element with a bent corner? I will leave this question open. Try yourself to correctly pose the question and think about the answer.