⬆️ ⬇️

Strict definition of concepts: object, state, event, business transaction and business function

In the current article I will define the following terms: object, state, event, operation, function. I will talk about how you can imagine them. As a meta-meta model for modeling, we take set theory , not MOF . Why her? Because this is currently the only known modeling method that has a mathematical basis, the limits of applicability of which are well known to us, are wide enough and justified.





Past articles have caused a lively discussion among those who use OOP tools for modeling domain domains: OOP languages, UML notation. Despite the fact that I constantly emphasize that the accounting objects I am talking about are not modeled by means of UML, and I explain why, nevertheless, the question of modeling them with OOP methods is raised again and again. Probably, I need to tell you again why the OOP is so bad for modeling subject areas.



  1. OOP has confused classes and types. What is called the types of Aristotle, in the PLO called classes, and what mathematics is called classes, in the PLO has no name.



  2. OOP has the term inheritance. It is a type-subtype hierarchy modeling tool. This means that the PLO is built on the logic of Aristotle. The limitations of this logic as applied to modeling domain areas are known and described in the book Business Objects: Re-Engineering for Re-Use , which I mentioned in a previous article. As an example of such a restriction, one can imagine modeling the height of objects of the elephant class and objects of the class of the car. These two attributes in OOP are not related to each other, therefore, it is possible to understand that the elephant will fit in the car only by contacting the programmer who created these attributes. It would be possible to enter specialized attributes, for example, the height of a room as a specialized attribute of the height of objects, but this also cannot be done.

    ')

  3. In OOP methods belong to class objects. The question arises - who drives the car: the wheels or the engine? Another question would be correct: who or what is a participant in the operation? The method must be separated from the class, and the interpretation of the degree of participation must be left to the reader of the model. But even if we simulate the interpretation of such participation in the IP, it will not affect the data analysis, because in practice we are not at all interested in who did what and what, but interests who, when and where was busy and what happened to him, and this is how Once there is an answer to the first question.


In addition to the problems associated with OOP, there is another problem associated with the current process approach. In the process approach, a process is called an instance of a process, and the type of process, function and functional structure is called a process. If OOP has confused the class of objects with the type of objects, then the process approach in one bottle mixed the type of objects and objects, calling the objects different in nature in one word. I do not know how programmers survive in this terminological mess, but judging by what I read, they try to ignore this problem.



Solving at least some of these problems is provided by ontological modeling techniques, in particular, semantic web technology, semantic web. Despite the unfortunate name and difficult fate, they provide far better tools for implementing models of parts of the real world in electronic form than OOP or common notations for modeling business processes. You can get acquainted with the features of these technologies here .



Special attention should be paid to the fact that with the help of these technologies it is possible to simply simulate different points of view on different objects, reflecting both the general thing in which several subjects agree, and the individual views of each of them. You can even express in the model facts that contradict each other (from the point of view of different people) and get logical conclusions taking into account these contradictions. An example of using ontology tools for working with such knowledge can be found here .



Consider object modeling. It is considered that an object in space has clearly defined boundaries. However, we need to get used to the fact that not all accounting objects have such boundaries. For example, an operation. Imagine a ball with gas. Its spatial boundaries are clear and understandable - these are the walls of the ball. Let us assume that the balloon burst and the gas enclosed in it began to expand. After this, we cannot accurately describe the surface, which limits the volume of the region in which the propagating gas is located, but we can describe the boundaries beyond which this gas did not exactly go out (until it came out). Similarly, we cannot describe the exact boundaries of an operation, but we can very easily describe those boundaries beyond which the operation does not exceed. For example, a bolt turning operation does not extend beyond the workshop. Thus, we can say that the operation takes place (is) in the workshop. In addition, it is considered to be an object as a dense object that cannot simultaneously intersect with other objects. However, about the operation as it does not work. Two operations can occur in the same shop at the same time. If we continue the comparison with the ball, then after the ball burst, the propagating gas began to occupy the volume intersecting with other gases. About the operation, you can say what time it started and what time it ended. This is a description of the boundaries of the object in time. In the same way, it is possible to designate time limits not only for an operation, but also for any object. For example, a bolt exists from September 1, 2016 to November 23, 2017, when it was remelted.

To describe the boundaries of the bolt, we use the terms: in space: where is it located? In time: when does it exist? To describe the boundaries of the operation, we use the terms: in space: where did it happen? In time: when did it happen? It would be unusual for us to ask about the bolt: when did it happen? And about the operation: there is where? The problem is in the language. The same question for different types of accounting objects is formulated differently. This is another reason why it is difficult for us to imagine an operation as a 4-dimensional object.



Therefore, to simulate a 4-dimensional object, it is necessary to separate the description of its borders in 4-dimensional space-time from the interpretation of this description. In further discussions, I will describe what techniques we use to simulate 4-dimensional objects and what interpretations are associated with these methods of description.



For the description of the object, boundaries are constructed that limit the modeled object. If you do not drive on the subject of mathematical perverts, then the border of a 4-dimensional object will be a 3-dimensional object. I want to know this 3-dimensional border as accurately as possible. For example, if you say that a hammer (4-dimensional object) is in stock from December 1, 2016 to March 1, 2017, it will be a bad hammer model. I want to know about the hammer a little more. For example, you can specify the exact coordinates of the cube in which it is located. The exact cube boundaries would look like this: along the X axis: from 10 to 20 cm, along the Y axis: from 30 to 35 cm, along the Z axis: from 120 to 135 cm, along the time axis from December 1st, 2016 to 1 March 2017. Now take a 4-dimensional object, treated as an operation. The description of this 4-dimensional object looks the same as the description of a 4-dimensional object treated like a hammer. For this, the 3-border is described using the place where the incident occurs, the start time and the time the operation is completed. So far, nothing distinguishes the description of the operation from the description of the hammer. What really distinguishes the operation from the hammer is our understanding of it. The hammer in our view is a dense object that does not change its shape in time. The operation is the opposite - loose in composition and not having a permanently expressed form. But this knowledge is not contained in the model, but is contained in those agreements that accompany these models. To emphasize the difference between the hammer and the operation, language patterns are used: the operation occurs, the hammer exists. These patterns emphasize the immutability of the hammer and the variability of the operation.



Suppose we study a hammer and move along its handle. With this movement, the surface texture does not change. To imagine an analogue of such movement along the time axis, it is necessary to understand that the surface of a 4-dimensional object while moving along the time axis is described by states. This means that, in order to make an analogy, it is necessary that movement along the time axis does not change the state of the accounting object. For example, the hammer is on the table and nobody uses it. The state of the hammer does not change.



Now imagine that the handle of the hammer is painted with paint and this paint is gradient from red to blue. Moving along the handle, we observe slight changes in color. An analogue of such a movement in time will be the observation of a change in the states of the object, each of which (the states) differs insignificantly from the neighboring state in time. An example of such a change of states could be the movement of a material hammer in space. The state of the body changes continuously and smoothly. At the same time, the changes accumulated over a finite time can be quite strong for their diagnosis and observation. Such a change in a finite time is called an operation.



Now imagine that, moving along the handle of the hammer, we came across a striker. This is a discontinuous change in the surface texture. An analogue of such a jump when moving along the time axis will be a sharp change in the state of the accounting object, or an event. If we consider the movement of the hammer in space, it would be an unexpected jump in its position in space. For a material body, this is difficult to imagine because it has inertia that prevents such a jump. However, if we consider the classic business operation, this event could be the absorption of resources in the operation, the integration of two functional objects into one: the turner stood at the workplace, the output. One way or another, an event is a change in the state of the accounting object in such a short time that the observer considers this time to be zero. It is clear that another observer can more closely approach the study of states and find that the changes did not occur instantaneously, but gradually. Therefore, an event is a subjective perception of a change in the state of an object. It is often heard that objects are part of objective reality, the model of which we are building. However, as we recently saw, the objects themselves are also a subjective representation of some 4-volume in 4-space. Therefore, that objects, events, that operations are models of reality are the result of subjective perception.



Since we have defined an object as a 4-volume model in 4-space, we can determine what type of objects are. Suppose that there are many models of 4-volumes, or many objects. These models are stored in the mind of the subject. If these models are similar to each other, then the subject can create a model of these models. This model is also stored in the mind of the subject. This model of models is the type of objects. Model models are the second level of abstraction. The first level of abstraction was the 4-space model, which we call objects.



To simulate 4-dimensional objects through the modeling of their surface requires a large amount of data. There are ways to reduce this volume by making certain assumptions.



For example, to describe an operation, you can make an assumption that in an operation all events on resource absorption and integration of functional objects occur at the moment the operation begins, and the release of the finished product is at the end of the operation. It is clear that in general this is incorrect, however, this method of description allows all events to be reduced either to the beginning of the operation or to its completion.



Suppose you want to simulate a bolt, the thread of which has many turns. To model it, it is enough to indicate the pitch and length of the thread. This means that if the surface can be divided into elements, each of which is similar to each other, then for the models of all these elements it is possible to make one model (type of coil). If you then specify the number of these elements and the way they dock, then the amount of information needed to model such a surface can be greatly reduced. Such a description makes it possible to reduce the volume of a model by classifying surface elements.



If you want to simulate an operation in which events on the release of brooms, like threads on a bolt, follow regularly (but now not in space, but in time), you can create one model for all these events (event type) and specify the time during which brooms were issued. This reduces the scope of the operation model by classifying events.



Now suppose that a thread is being modeled, the length of which is obviously unknown within the framework of the model under consideration, but greater than the area being modeled. A sort of long endless thread. For its modeling, we can also create a model of models of turns (type of turns), but we cannot indicate their number, because their number within our model is infinite. The only thing we can say is the thread pitch, or the number of turns per unit length. Thus, the description of such an endless thread will be the type of turns.



An analogue of the description of an infinite thread, in which not geometrical objects in space are repeated, but events in time, is a description in which similar events occur at regular intervals, for example, another broom is produced. Since we do not know the number of such events, one can only say about their frequency: for example, one broom per hour. Such a description of the object corresponds to the description of the business function, and they say that this is a function for the release of brooms. That is, the description of the function will be the type of event.



We come to my definition of the concept of a business function. A business function is a 4-dimensional object that has a description in the form of a set of event types with an indication of the density of these events in time (in a degenerate case, it can contain only one type, for example, the type of event for the release of brooms). I note that this definition is very different from the generally accepted one, in which the function is defined as the conversion of input streams to output. But there is no contradiction. Just the usual definition of a function is a special case of mine. The thing is that each set of events of the same type (event class) that model a function can be attributed to the flow of material accounting objects. And then each type of event can be assigned a stream of objects and the direction of this stream. However, this understanding of the function suffers the same as the description of the operation with the help of the actors performing the action. It is an impossibility to look at the model from another point of view. If, in my definition, the analyst can assign his own necessary accounting objects to each type of event, this will not be possible in the classical model. And this, in turn, will not allow to build a model taking into account the requirements of Treustability. In addition, when modeling event types, I am not at all tied to modeling flows. There are cases when it is impossible to describe the flow of objects, because it is difficult to find accounting objects that arrive or leave a function. For example, if the function of holding a rotating ball on a clown's finger is simulated, then it is impossible to simulate the flow of objects in such a function — nothing leaves the clown-ball system and nothing flows in there, but the function is here! True in the clown-ball system, the events that occur are not discrete, but continuous.



To understand what a continuous flow of events, let's turn to the electric motor. On the one hand, an electric motor is easy to imagine as an object. Very often this is done. If you do not need to simulate the movement of an electric motor shaft, the analyst simply writes: an electric motor is such and such. This is a simulation of a 4-dimensional object in the form of a 3-dimensional object. On the other hand, you can try to simulate the rotation of the motor shaft. The motor shaft rotates uniformly. Every shaft position at any given time is a state. All such states are of the same type. The number of such states depends on the sampling with which the measurement is made. This may be a discrete time, and maybe - angular. For modeling purposes, it is convenient to take the angular discrete, that is, to assume the same type of such states that coincide with the rotation of the shaft at a certain angle, for example, one turn. Then the density of such states on the time axis - the number of revolutions per minute, will speak about the speed of rotation of the shaft. Thus, the rotating ball on the clown's finger will be described by the angular velocity of rotation of this ball. The density of states distributed along the time axis tells us about the speed with which transitions from one single-type state to another occur. Where the human consciousness is confronted with a huge variety of similar states, the analyst is forced to move from state modeling to state density modeling, and this is the description of an object as a function. In the case of a motor shaft rotation, this is a function of the shaft rotation.



I note that a 4-dimensional object can be simulated simultaneously:



  1. As a 3-object - the motor.
  2. As a function of shaft rotation.


Which once again confirms the thesis that accounting objects are models of reality, and not reality. However, the ability to simulate a 4-dimensional object as a function and an object at the same time is not an accident. It is as if we were looking at the flow of water and saw the chips passing by first, and then the eyes would no longer distinguish the individual pieces, but would begin to perceive their flow. This happens because human consciousness is not able to process a large amount of information and moves from the perception of objects to the perception of the flow of objects. This transition means the transition from the perception of a 4-dimensional object as a dynamic system to the perception of it as a static object. Therefore, a function is a static object generating events of the same type.



In the next article, we will look at part-to-whole relationships between 4-dimensional objects and tell you what concepts this will allow us to define.

Source: https://habr.com/ru/post/319442/



All Articles