Structural Classification: Examples and Misconceptions
Terms
Let's start with the term "there is a part." In everyday life, we meet the following statements: elephants - are part of mammals. We are talking about the fact that many elephants are a subset of many mammals. In this article, the term "there is a part" will be used in a different sense. We will use this term only in relation to specific objects. For example, a particular tree branch is part of a particular tree. You don’t have to think that we are talking about any tree branch, as when we give a definition to the concept: a tree branch is a part of a tree. In terms of mathematical logic, this statement reads as follows: for any tree branch there is such a tree that this branch is part of this tree. Such a statement no longer refers to a specific object, but to a concept that defines objects. If you need to say so in an article, I will say it explicitly.
The following term includes. If I say that a tree includes a branch, it means that a particular branch is part of a specific tree. And we are still talking about specific objects, and not about sets or concepts.
Another term that will be a little trickier to deal with. This term “consists of” It seems that it is close to the term “includes”, but we will distinguish between them. We say that a tree consists of branches, a trunk and roots. At the same time, we mean that the parts of the tree are completely listed to give us a complete picture of the structure of the tree. That is, the term “consists of” is used in relation to the structures (structures) of objects. If you take part of these objects, then say that the over-object consists of these sub-objects will not work (something is missing). Therefore, such a hierarchy is correct: a super-object, a construction of a super-object, the elements of which are sub-objects and of which it consists, a sub-object that is part of a super-object and is an element of the construction of a super-object.
Design paradigms
One over-object can be represented in the form of different designs. An over-object can be divided into parts in accordance with different principles of division (different grounds). There is a principle of division that preserves the compactness of spatial parts - spatial division. Example: a building consists of premises. Let me remind you that the thesis “the building consists of premises” is equivalent to the statement: there is a building, there is a building structure made within the framework of the spatial paradigm, the elements of which (structure) are the premises. Another basis is functional. Example: a building consists of walling, roofing and engineering subsystems. In other words, we can say that the basis for dividing a super-object is a construction paradigm.
The constructions of the human body are often considered in two paradigms: one is called the external structure of man, the second is the internal structure. The external structure describes parts of the human body: arms, legs, head, torso. The internal structure describes the human subsystem: circulatory, digestive, nervous and so on. The external structure is equivalent to the spatial division of the building into rooms. The internal structure is equivalent to the functional division of the building into subsystems.
Structural Classification
Usually we consider the construction simply: here is a super-object, here are sub-objects, here are the relationships between sub-objects that explain to us the properties of a super-object. We will classify constructions through the classification of structural elements.
Design elements belong to the same class as the object
Consider a construction in which elements belong to the same class as the over-object. For example, water consists of parts, each of which is also water. Or a pile of sand, the elements of which are also piles of sand. If an object is divided in this way, then a measure can often be introduced for it. This is a feature of such constructions. For example, the mass of an object is equal to the sum of the masses of its parts, the area of the figure is equal to the sum of the areas of its parts, the volume of matter is equal to the sum of the volumes of its parts, etc. Consider a less obvious example. Let there be an operation and its parts - sub-operations. Then a measure may be its four-dimensional volume. Example: a person performed an operation for 4 hours. The volume of the operation is 4 man-hours. Let us divide the operation into 4 sub-operations. Each sub-operation may have a volume of 1 man-hour. Thus, the sum of the volumes of sub-operations is equal to the volume of over-operations.
Misconception
I note that many here will make a mistake and think that I spoke about the concept of an operation. No, in this context it was a concrete operation committed by Vasiliev from 12-00 to 16-00 on April 12, 2016. If we talk about the concept of operation, then we can not say that the concept lasts 4 hours. We can say that operations of this type last an average of 4 hours. I often (even from leading analysts) hear erroneous statements on this topic. They say that the operation they designated in the BPMN notation as a rectangle lasts 4 hours. But the BPMN notation does not model operations; it models the concept of operation. Therefore, in this notation it is impossible to say how long a particular operation lasts. The properties of an object created in BPMN notation can have an attribute: the average duration of operations of this type, but there can be no attribute the duration of an operation.Businessstudio did just that. In the properties of the object created in the EPC notation or in the notation, you can specify the distribution of the duration of operations of a certain type. And this is true.
Examples of constructions of the first type
Examples of such structures: a house building operation is presented in the form of a structure consisting of the operations that we observe on the network diagram of a house construction. The diagram in the IDEF0 notation models a function construct consisting of functions.
Wrong example: some might think that in a BPMN diagram, a subprocess is an operation construct, but it is not. There are no operation models in the BPMN diagram. There are conceptual models of operations. Very similar to the definition of a concept, and so it is. The box in BPMN does not model an operation, but the concept of an operation. A diagram in BPMN notation is a conceptual model, not an object model.
A construction class in which elements belong to the same class.
A construction of this kind consists of elements belonging to one class while a super-object belongs to another class.
For example, a particular booth consists of specific four boards. It is clear that the volume of the booth is not equal to the sum of the volumes of the boards, so the measure cannot be introduced. Example from activity description: an operation consists of participants. We perceive participants as material or functional objects, but we do not perceive them as operations. In this case, I want to emphasize again that we are not talking about concepts of operations whose model can be found in BPMN notations, but about operations whose models can be found in Gantt charts. For example, the participants in the operation “hammer a nail”, which took place at 9-00 on May 13, 2011 were: Sidorov, a hammer, a nail, two boards, a stool, a lamp, a table, a room.
If someone tries to say something like this about objects created in BPMN notation, then it should sound like this: every operation of this type, whose model (type) we see in BPMN notation, has participants of the types listed below: ... For example, in Each operation of the "hammer a nail" type will involve objects of the following types: "performer", "nail" and "hammer". True, there are exceptions. For example, sometimes in the definition of the type of operation you can find a link not to the type of participant, but to the model of a particular resource. Then we are talking about the fact that in any operation of this type the participant will be a specific object, and not an object of some type, for example, in each operation of the class "get approval for building construction" the participant is indicated: the administration of the city of Moscow (object).
All construction objects belong to different classes.
The following case is most common: objects above and below belong to different classes. For example, a transformer consists of a core and two windings. As applied to the description of activity, we can consider the previous example in the context of the fact that the performers belong to different classes. Sidorov - to people, a hammer - to tools, and a nail - to materials. It all depends on how we classify objects.
Description of the structure without listing its elements
The next case is more complicated. We are talking about a construction in which there is no enumeration of its elements, but there is a mention of the types of objects that make up the construction. For example, a building consists of bricks. A concrete building consists of objects of the "brick" type. There is no enumeration of specific bricks, but there is an indication of the type to which these objects belong. Modeling of such constructions is rather difficult in modern modeling languages. The fact is that to model such statements, second-order predicates are needed. But there are no languages that would be sharpened for modeling second-order predicates. The reason for this is that if a model created in first-order predicates is computable, then a model in second-order predicates is not. That is, based on the facts recorded in first-order predicates, we can draw unambiguous conclusions. If the model is constructed in second-order predicates, then conclusions can only be with some degree of probability. For example, if we say that the forest consists of aspen 60% and birch 30% (the rest of the trees belong to other species), then we can say for sure about the species of an arbitrarily taken tree in this forest only with a certain degree of probability.
Creating IP sets itself the task of automating certain operations. Most often, these are deterministic operations in which there is no place for probabilistic outcomes. Most programmers solve exactly such problems. Therefore, all their tools are sharpened for modeling first-order predicates, OOP in particular. Therefore, where it is necessary to model second-order predicates, OOP does not cope.
Examples
You might think that such a case is really rare, however, modeling the activity of an enterprise is directly related to modeling this kind of relationship between objects. For example, we model the construction of a business function. There are three common ways to represent its construction (construction paradigms). The first method was mentioned above - an over-function is represented as a construct consisting of sub-functions (IDEF0 notation). The second way - the construction of a function consists of a set of its participants (for example, a sales function consists of a seller, a potential buyer and a product). This type of construction is modeled in the IDEF0 notation using the arrows that appear in the bottom square. The third type of constructs corresponds to the current case: a function consists of operations of a certain type. For example, a sales function consists of sales operations for goods. Function is an object, operation is an object. Sales operations - objects of the same type. That is, the thesis that a building consists of bricks is similar to the thesis: a function consists of operations of a certain type. There is no language for modeling such statements. As I said, the reason is that this statement is in second-order predicates. Another example of this kind of statement: a crystal is made up of atoms. Through the analogy with the crystal, we will move on to the most difficult case to understand related to the description of structures. Another example of this kind of statement: a crystal is made up of atoms. Through the analogy with the crystal, we will move on to the most difficult case to understand related to the description of structures. Another example of this kind of statement: a crystal is made up of atoms. Through the analogy with the crystal, we will move on to the most difficult case to understand related to the description of structures.
The design of the cells with objects of different types
Let there be a crystal. Until now, we have not considered the relationship between structural elements as part of the construction. From now on, we will need connections. It is clear that dividing an object into parts requires a description of the relationships between the elements. When dividing by enumerated elements, we can list all the relationships between the elements. However, when dividing into objects of the same type without listing all the elements, the question arises of how to describe the relationships between structural elements? For example, in a building, most bricks have connections with other bricks through masonry mortar. Then we say that the building consists of bricks, each brick has connections with neighboring bricks. At the same time, 5 percent of bricks have 5 neighbors, 30 percent have 4 neighbors, 5 percent have 3 neighbors and 5 percent have 2 neighbors. Thus, for any selected brick from the first group, there are five that are also part of the building and which are connected to the selected brick through the masonry mortar. Now we write the same statement regarding the business function. A sales function consists of sales operations. Suppose the operations follow one after another. Then we can say that for any operation there is an operation preceding it of the same type and there is an operation subsequent to it of the same type. So we modeled the type of connection in the construction, which is described by the types of objects, but not objects. Now imagine a crystal of a more complex structure, in which atoms of different elements participate and are located in a complex crystal lattice. How to describe the structure of such a crystal? Those who describe and classify crystals know that there are infinitely many ways to describe this kind of lattice. For example, suppose there is a one-dimensional chain of atoms of two different types A and B, alternating with each other in increments of one angstrom. We can say that the crystal consists of cells, each of which consists of atoms of type A and B, located through 1 angstrom, the shift between cells is 2 angstroms. (It will also be true that the crystal consists of cells, each of which consists of atoms of type A and B, located through 3 angstroms. The shift between the cells is 2 angstroms and the cells intersect in space. Each such regular structure is visible on the X-ray diffraction pattern of the crystal To limit the number of options usually take the most closely spaced atoms). On the other hand, we can say that a crystal consists of two types of atoms: A and B. This statement is similar to the previous one, but differs from it in that in the first case, the crystal structure consists of cells, and the cell structure, in turn, consists of atoms. In the second case, the crystal structure consists directly of atoms. Another example: let two types of operations be performed in the sales function: agreement of conditions and shipment of goods. We can say that the function consists of cells, each of which has an operation to agree on the conditions and an operation for the shipment of goods. And we can say: the function consists of operations to agree on conditions and operations for the shipment of goods. These are two different statements. coordination of conditions and shipment of goods. We can say that the function consists of cells, each of which has an operation to agree on the conditions and an operation for the shipment of goods. And we can say: the function consists of operations to agree on conditions and operations for the shipment of goods. These are two different statements. coordination of conditions and shipment of goods. We can say that the function consists of cells, each of which has an operation to agree on the conditions and an operation for the shipment of goods. And we can say: the function consists of operations to agree on conditions and operations for the shipment of goods. These are two different statements.
Selection of a sequence of elements in a typical cell
Let's look at the sequence of operations: ABABAWAV ... We see that the chain is endless and you can start selecting cells from anywhere. For example, first the Phoenix bird was born from the ashes, then it was burned, then it was born from the ashes, then it was burned. Or: first, the Phoenix bird burned down, then it was born from the ashes, then it burned down again. A cell can be started anywhere. Therefore, in order to have a reason to start, some condition is selected that is satisfied for all operations of the cell. For example, all transactions relate to one transaction. Conditions can be any, and in the general case, a cell can begin with any type of operation. Analysts usually do not know this and, in order to somehow justify the choice of the initial operation in the cell, hypnotize themselves with the thought that the chain should have a mystical purpose. Instead of saying that operations in a chain can be combined into a group on some (generally arbitrary) basis, analysts come up with alchemical formulas. Moreover, this alchemy is present in the definition of a process.
Second-order predicate modeling with OWL
The OWL Full standard allows you to simulate second-order statements due to the fact that objects and classes (sets of objects) and even types of relationships that can exist between objects (predicates) can play the role of objects in statements. All of these kinds of entities for OWL are nodes of a graph whose edges are concrete statements.
Statements of the second order, written in the form of OWL, as a rule, do not provide computability (the possibility of obtaining conclusions by means of logical inference machines). However, do not consider this an obstacle to the implementation of automated systems. In most cases, working with OWL models takes place in application program code and takes into account the features and limitations of a specific task, and does not pretend to "calculate everything." In practice, it is impossible to fully rely on the standard logical conclusion even when working even with first-order statements - with a large volume and variety of data, such tasks require too much computing resources.
There are several ways to model class statements in OWL. One of the most practical ways is to introduce special classes whose objects are statements about classes or predicates. Here is an example (for those not familiar with the standard, write it in a natural language):
- There is a class "Building"
- There is a class of "Brick"
- There is a class "Requirement for the composition of the object"
- There is a relationship “Refers to objects of a class” between objects of the class “Requirement for the composition of an object” and classes
- There is a relationship “Must have in composition” between objects of the class “Requirement for the composition of the object” and classes
- There is an object A belonging to the class "Requirement for the composition of the object", having the following relationships:
- Requirement A - refers to objects - class "Building" (this statement can be written as a predicate: Refers to objects (Requirement A, class "Building")).
- Requirement A - must be composed of - class "Brick"
You can summarize the requirements functional - remove the words “... to the composition of the object” from the class name, and include the predicate to which it refers to (among “Relationships”, “Located in”) in the number of relations in the “Requirement” class. In the same way, modality can also be excluded from the class name (“should”, “may”, etc.). Then the class will not be called even “Requirement”, but “Statement” or “Axiom”. This will add a full second level to the structure of the model, presented in the form of a graph. The choice of the level of formalism depends solely on the applied problem.
The automated system reads and interprets the above statements, for example, in this way: at least one object of the Brick class must be present in the composition of each object of the Building class. You don’t even have to go down to the level of concrete bricks, interpreting the statement differently - as a statement that the building basically consists of objects of the “Brick” class (which ones are not known). In this case, other statements about the "Brick" class can be used - for example, that bricks (that is, all objects of the "Brick" class) have a certain density, mass, thermal conductivity, etc. From this, the program can draw a conclusion about the properties of the building.
In any case, this logic — the ability to interpret objects of the class “Requirement for the composition of an object” as requirements — must be embedded in the code, which is permissible in the framework of solving specific applied problems.
You can go a little different way - to put classes not only on the second position in the predicate, but also on the first, that is, to make statements about classes as such:
- There is a class "Building"
- There is a class of "Brick"
- There is a relationship (predicate) “Must include objects that contain only class objects” between classes and classes
- The class "Building" - should include objects containing only objects of the class - the class "Brick"
The interpretation of statements of this kind, of course, also remains on the application software.
Note that some statements about classes can also be made within the framework of the more rigorous OWL formalism without losing computability of the model using standard logical inference machines. This is achieved by using restrictions on property values (cardinalities) with quantifiers: some, only, exactly, etc. Another way to write our example is as follows:
- There is a class "Building"
- There is a class of "Brick"
- There is a “Consists of” relationship
- The “Building” class is a subclass of the anonymous class, for objects of which the value of the “Consists of” connection is objects of the “Brick” class
When you save such a statement in the graph, the so-called "empty nodes" are formed. In this case, the empty node will be the anonymous class for which the restriction is specified. In accordance with the concept of the OWL standard, empty nodes are statements with a quantifier of existence - that is, in our case, a statement that there are such objects that consist of bricks. A subclass of such objects are buildings.
Such a design is rather cumbersome, and the rules of inference are slow and capricious in application, so in practice it is usually easier to do the first or second way.
Note that all this time we have been discussing the statement “The building consists of bricks”, the meaning of which is not very accurate from a logical point of view. It is not clear what we wanted to say:
- That everything that consists of bricks is a building,
- That the building should only be made of bricks,
- That the building consists of bricks, including
etc. When implementing an automated system, such semantic "backlashes" must be eliminated. That is why, at the beginning of the article, I immediately gave definitions to the terms that I will use within the framework of the current article.
Mixed designs
Let us return to the construction of the tree and look at the thesis: the tree consists of branches, trunk and roots. This thesis suggests that the tree structure consists of an object - a trunk and objects of two different types - branches and roots.
Pseudo-construction example
Consider the common case when a diagram is constructed in the IDEF0 notation. Then one of the functions in this diagram is often said to be “decomposed” into the diagram in BPMN notation. This can be found in the Businessstudio program I mentioned earlier. Since a function is an object in the subject area, and a diagram in BPMN notation is a model of a concept, we see that an error occurs: the function is divided into a concept. This cannot be. The function can be divided into cells with operations. In each cell there are several operations interconnected by temporal connections. For all cells, the concept of a cell of a similar type is introduced. This concept is modeled in BPMN notation. That will be right.
Construction correlation in two different paradigms
A frequently encountered way of describing an object looks like this: consider the construction of an object in two different paradigms, for example, in the paradigm of “external” and “internal” structure. Then we will go to divide the object into parts in two completely different ways. For example, we will divide the building on the one hand into premises, and on the other into technical subsystems. And here a very important factor is triggered, which we, as a rule, do not notice, but it works at the level of intuition. We divide an object into parts in two different paradigms in such a way that correspondence can also be established between structural elements in two different paradigms. For example, after dividing a building into rooms and subsystems, we can say that the premises can also be divided into parts - parts of those subsystems that are in these rooms. I.e, dividing into parts in two different paradigms is intuitively made dependent on each other. And this is by no means obvious. Modern standards of engineering design are based precisely on this division of the object, although I am sure that they do not have a written requirement for such a restriction on modeling.