4.4 Analysis of Formal Relationships in Architecture

Formal Relationships

In this section, we will focus on the relationships of form, which are sometimes called formal relationships or (more commonly) structure. Question 4c in Table 4.1 suggests that this is the next task in analysis.

As defined in Box 4.4, structure is the set of formal relationships among the elements of form of a system. Structure is not conveyed by Figure 4.9! Structure is additional information. If you are merely given a random set of mechanical parts or lines of code (the set of objects of form of the system), you do not know how to “assemble them.” What is missing is information about the structure. Structure shows where the elements of form are located and how they are connected. After elements of form, formal relationships are the next most tangible aspects of a system.

Structure is often instrumental in functional interactions. If there are functional relationships among the elements of form, in most cases there must also be a carrier of these functional interactions. Formal relationships often carry the functional interactions. If A supplies power to B (a functional interaction), there may be a connecting wire (the structure). If A provides an array to B (a functional interaction), there may be a link or shared address space (the structure). Since functional interactions are crucial to emergence, and since functional interaction is often enabled by formal structure, understanding structure is essential to understanding the system.

Structure is the set of relationships that exist and do not require change, exchange, or anything that happens along a timeline. At any instant of time, they just are. Like all of form, formal relationships are about what exists, not what occurs. In our pump, the motor is connected to the housing—a connection that simply exists.

Formal relationships can be changed. Elements can be connected, unconnected, or moved. Formal relationships often implicitly represent things that have happened in the past. The relationship “A is next to B” implies that at some time in the past, A was placed next to B. The relationship “A is connected to B” implies that at some earlier time, there occurred a joining process in which A was connected to B.

The two main types of structural relationships are spatial/topological relationships and connections. In a circuit design, for example, the designer produces the layout drawing (Figure 4.10) that shows where components are located—the spatial/topological view.

A diagram of the spatial and topographical representation of a circuit, with location of the components.

Figure 4.10  Spatial/topological representation of a circuit: Location of components.

(Source: Vectorass/Fotolia)

The designer also produces the circuit diagram (Figure 4.11) that shows how components are connected. Both are needed; from Figure 4.10 alone it is not possible to figure out what is connected, and from Figure 4.11 alone it is not possible to determine where things are located. As will be discussed, there are also other types of structural relationships that are sometimes important to a system.

Spatial/Topological Formal Relationships

Spatial/topological relationships explain where things are: the location or placement of the objects of form. These relationships imply only location and placement, not the ability to transmit anything between the objects. In physical systems, spatial and topological relationships are largely issues of geometry, but in information systems, one must also consider the more abstract issues of space and topology, as we shall see in Section 4.6.

Spatial relationships capture absolute or relative location or orientation. Above and below, ahead and behind, left and right, aligned and concentric, near to and far from—all of these relationships convey relative location. Absolute location may be given with some reference, such as an Earth geodesic reference or a local reference system.

Topology is about placement and suggests relationships such as within, contained in, surrounded by, overlapping, adjacent, touching, outside of, or encircling. In practice, the differences between spatial and topological relationships are very subtle, and both can be considered part of one set of spatial/topological relationships.

Spatial/topological relationships are often very important. For example, it may be important to know that the lungs are not only connected to the heart but also near it. At compilation, it is important to know where a certain code is located. In a factory, it may be important to know the relative locations of two workstations that exchange parts. Optical elements have to be aligned to work properly.

The procedure for identifying the spatial/topological relationships (Question 4c of

Table 4.1) is to examine each pairwise set of objects of form and ask, “Is there an important spatial/topological relationship between these two objects?” Thinking holistically, we recognize that there is a spatial relationship between every pair of objects. We must apply focus, and because we are trying to use structure to eventually understand functional interaction and emergence, the key question is the following:

Is this spatial or topological relationship key to some important functional interaction or to the successful emergence of function and performance?

A typical mechanical engineering representation of spatial/topological information for an assembled system is shown in Figure 4.12 for the pump.

A diagram of the spatial and topographical representation of a pump, where components are located. The pump is shown in three views, with the measurements included.

Figure 4.12  Spatial/topological representation of a pump: Where components are located.

A diagram of the connectivity relationship representation of a circuit, showing how the components connect.

Figure 4.11  Connectivity relationships representation of a circuit: How components connect.

(Source: ID1974/Fotolia)

From this three-view drawing, we can see approximately where elements are located, what touches what, and so on. A more illustrative drawing is called the expanded view, an example of which is shown in Figure 4.5. From this and several other types of drawings (such as section views), all of the important spatial/topological information can be extracted. Figure 4.11 shows a typical spatial/topological view of a circuit.

Representing Formal Relationships with Graphs and Diagrams; OPM

We seek a generalized way to represent structural information for an architecture. As was suggested in Chapter 2, there are essentially two choices: We can represent structure with graphs and diagrams or with tables and matrix-like views. Since both have their advantages and disadvantages, we will develop both approaches.

Graph representations generally represent the objects of form, with structure indicated by various types of lines and arrows connecting the objects. In some notational schemes, the arrows are semantic and express meaning. In others they are more informal.

In this text, we will consistently use the OPM graphical representation of structure shown in Figure 4.13, which is a binary link generally shown as a single-headed arrow that runs from one object to another, with an accompanying label.

A diagram of the O P M graphical representation of structure.

Figure 4.13  OPM graphical representation of structure.

There is a “forward” version of the link—see the link from object A to B—with a label that describes the nature of the relationship in simple language. For example, examining Figure 4.5, we see that the housing surrounds the impeller but does not touch it. In Figure 4.13, this is shown by an arrow from housing to impeller with the label “Surrounds” so that one reads, “the housing surrounds the impeller.”

The direction of the arrow from A to B is arbitrary and does not imply any exchange, interaction, or causality. It is simply a relationship that exists. Therefore, we could just as accurately have drawn the reverse, or “backwards,” link from B to A and labeled it “Is within” so that one would read “the impeller is within the housing.” Even though different words are used to label the arrow, the relationship has the same meaning. Generally, we show the arrow in only one direction, and the other is implicit. Sometimes the same words can be used in both directions. “The cover is aligned with the motor shaft” would reverse to “the motor shaft is aligned with the cover.”

We are now ready to apply the procedure for identifying and diagramming important spatial/topological relationships of the pump, where we have restricted ourselves to the five ­important elements from the hierarchy of Table 4.3.

To begin, consider the cover object. It touches the housing and is aligned with the motor shaft (they are co-axial). What may not be obvious is that the cover object must also be close to the impeller; the pump would not work if there were a large gap between the impeller and the cover. In Figure 4.14, these relationships are represented by an arrow that runs from the cover to the housing and is labeled “Touches”; another arrow that runs to impeller and is labeled “Is close to”; and a third arrow that runs to the motor shaft and is labeled “Is aligned with.” We then proceed to the other elements of form, identifying important relationships between pairs, until Figure 4.14 is complete.

A diagram of the simplified spatial and topographical structure of a centrifugal pump, graphical O P M.

Figure 4.14  Simplified spatial/topological structure of a centrifugal pump: Graphical OPM.

A similar diagram showing the structure of the pump could be drawn in SysML, in particular using the block definition diagram and the internal block diagram. This is explained in more detail in Box 4.5.

Representing Formal Relationships with Table and Matrix-like Views; DSM

An alternative representation of structure can be captured with table and matrix-like views, of which the Design Structure Matrix (DSM) is an example (Section 2.5 and Box 4.6). One reads the DSM in Table 4.4 as “Object A has relationship Forward 1 with Object B, and Object B has relationship Backwards 1 with Object A.”

Table 4.4 | DSM representation of structure

Parts List Object A Object B Object C
Object A X Backwards 1 Backwards 2
Object B Forward 1 X Backwards 3
Object C Forward 2 Forward 3 X

Table 4.5 shows the DSM representation for the simplified pump, which contains the same information as Figure 4.14. Again, the cover touches the housing, is aligned with the motor shaft, and is close to the impeller. The forward and backwards relationships are present; the housing surrounds the impeller, and the impeller is within the housing. Just like the directions of the arrows in the OPM diagram of Figure 4.14, the entries in this DSM do not imply direction or causality. In particular, for structure the forward and backwards relationships must have the same semantic meaning.

We will use both OPM and DSM representations. Each has advantages and disadvantages. The graphical representation is normally easier to develop and visualize, but as the system gets more complex, the graphical view becomes cluttered. The matrix representation allows more information to be captured without clutter and can be operated on in computation, but it is harder to visualize.

Table 4.5 | Simplified spatial/topological structure of a centrifugal pump: Design Structure Matrix (DSM) representation

Parts List Cover Impeller Housing Motor Motor Shaft
Cover X Close to Touch Aligned with
Impeller Close to X Surrounds Touch/ is encircled by
Housing Touch Within X Touch Is encircled by/aligned
Motor Touch X

Within/

touches

Motor Shaft Aligned with

Touch/

encircles

Encircles/

aligned

Surrounds/ touches X

Connectivity Formal Relationships

A second type of formal relationship captures the idea of connectivity and answers the question “What is connected, linked, or joined to what?” In network systems such as trusses, circuits, and chemical processing plants, connectivity is the most important formal relationships to understand, because it explicitly creates the ability to transfer or exchange something between the connected objects of form. Connectivity relationships are often instruments of functional interaction, so they directly support the emergence of function and performance, as is examined in Chapter 6.

Connectivity and special/topological relationships are quite different in principle. Two elements can be adjacent but not connected (two houses in a neighborhood), and two elements can have unspecified location but be connected (a computer and a server). In practice, the difference between spatial/topological structure and connectivity structure is usually evident if the connectivity refers to electrical, chemical, thermal, or biological connections. In mechanical systems, because things must be adjacent to be connected, the spatial/topological structure and connectivity structure tend to be less distinct.

Connectivity relationships actually encode information about how the objects were implemented: assembled, manufactured, coded, or written. If two things are connected now, there was a process of connecting them in the past. But the connection currently exists, and therefore it is a relationship of form.

In software systems, compilation of one object with another is a type of connection due to implementation structure. Generally in software, connectivity is more subtle. If data or commands are passed, there must exist somewhere a connection point to pass them. These connections are commonly more transient and hidden deep within the compiled version of code and the operating system, which assigns common addresses (sometimes called pointers) to information that is shared. In object-oriented programming, two objects may contain a reference to a common third object, defining a structural relationship. Structure in software systems is discussed in more depth in Section 4.5.

There are a few classes of functional interactions that do not require an explicit formal connection. The most common of these is interaction through electrical forces and the electromagnetic spectrum, which includes visible and radio frequencies, as well as heat transfer through black body radiation. Of course, gravitational interactions also do not require an explicit connection. There is a class of interactions associated with the “ballistic” flow of particles and continua, such as a fluid jet or a thrown baseball. Here mass, momentum, and energy are exchanged without any explicit interconnect other than “space.”

The procedure used to answer Question 4c of Table 4.1 and to determine connectivity relationships is similar to that used to identify spatial/topological relationships. We examine each pairwise set of objects of form, and ask,

Is this connectivity relationship key to some important functional interaction or to the ­successful emergence of function and performance?

Connectivity is usually more evident and less subject to interpretation than special/topological structure.

In identifying connections, one has to consider whether the connector itself must be modeled as an element of form or, conversely, can be abstracted away. In the example of the circulatory system in Chapter 2, we successfully thought about the heart, lungs, and capillaries without ­explicitly mentioning the veins and arteries that connect them. In general, one first attempts to ­abstract away the connectors, simply to minimize the number of objects that are being ­considered. An exception to this rule is the connector at a system interface. Such interfaces are sufficiently important to the system, and such a common source of problems, that modeling the interface as a separate object is often appropriate, as is discussed in Chapter 6.

A typical mechanical engineering representation of connectivity is the expanded view of the pump in Figure 4.5. The connectivity structure for the simplified pump is shown in Figure 4.16. Now the cover “presses” against the housing, which is a kind of mechanical connection. The devices that cause the pressing are the screws, which have been abstracted out of this simplified model. The impeller has a similar kind of press fit, due to its being slid onto a shaft. The relationship between the motor shaft and the motor is quite complex; the shaft is contained within the motor and is supported on bearings that allow rotation. Here it makes most sense to label the connectivity relationship with the type of the connector: bearings.

Comparison of Figure 4.16 with Figure 4.14 shows fewer connections than spatial/topologic relationships. The spatial/topological relationships in Figure 4.14 that are associated with touching reappear in Figure 4.16 as a connectivity relationship. However, those associated with pure topology (such as alignment, within, and encircles) are not reflected in Figure 4.16. In mechanical systems, the distinction between the spatial relationship “touching” and the connectivity “pressing” is subtle. One implies only location, and the other also conveys the ability to transmit load. If we had chosen a mechanical example in which the two objects were glued together, then the difference between touching (spatial) and glued (connectivity) would be more evident.

A diagram of the simplified connectivity structure of a pump, graphical O P M.

Figure 4.16  Simplified connectivity structure of a pump: Graphical OPM.

Table 4.6 | Simplified connectivity structure of a centrifugal pump: DSM representation

Parts List Cover Impeller Housing Motor Motor Shaft
Cover X Presses
Impeller X Had slid onto
Housing Presses X Presses
Motor Presses X Connected by bearings
Motor Shaft Slid onto Connected by bearings X

The DSM representation of the connectivity structure of the simplified pump is shown in Table 4.6. Once again, it contains the same information as the graphical representation in Figure 4.16. There is no implication that anything is exchanged; these connections just exist. Therefore, the matrix is symmetric, except for the phrases “Slid onto” and “Had slid onto,” which are necessary so that the DSM will make sense when read from the column heading to the row heading: “The impeller slid onto the shaft,” whereas “The shaft had slid onto the impeller.”

As a practical matter, the spatial/topological and connectivity relationships are often combined into one representation of structure. Table 4.7 shows a summary of the structure of the system, where the details have been abstracted to just the existence of a spatial (S) or a connectivity relationship (C) among the elements.

Table 4.7 | Simplified combined spatial/topological and connectivity structure of a centrifugal pump: DSM representation. S signifies a spatial relationship and C a connectivity relationship.

Object List Cover Impeller Housing Motor Motor Shaft
Cover X S SC S
Impeller S X S SC
Housing SC S X SC S
Motor SC X SC
Motor Shaft S SC S SC X

Other Formal Relationships

In addition to spatial/topological relationships and connectivity, there are other types of formal relationships that simply exist. The procedure for identifying these is the same: Examine pairwise sets of objects, and determine whether there is a relationship of these types that has an important role in enabling functional interaction and emergence.

Address

The address of something is where it can be found. It is an encoded form of the spatial location, but it is common enough to be considered a separate type of formal relationship, because address can also be virtual. In software, in particular, one makes extensive use of the address of registers and the like. A shared address is a connection through which data can be exchanged.

Sequence

The static sequence of entities is a type of formal relationship. If we know that A is always after B, then this establishes a formal relationship. For example, in imperative software languages, the writing of a statement 2 after statement 1 implies that 2 is executed after 1; this is not necessarily true in declarative languages. This is a functional statement. However, the fact that 2 follows 1 in the coding is true in both cases, which is a formal statement.

Membership

Being a member of some group or class can be considered a type of formal relationship: A is a member of group 1. Membership is an abstraction that signifies being in a group. It may lead to interaction and responsibility in a group, but it may not.

Ownership

If you own something, it is yours. Like membership, ownership is an abstraction both useful and common. What really separates my land from your land, or my money from your money? Only that it was sometime in the past purchased by me or granted to me. But once I own it, ownership is a static formal relationship between the owner and the owned item.

Human relationships

Another type of relationship exists among humans: the bonds between people and the attitudes they hold toward one another. Knowledge of another person’s abilities, trust in another person, and liking of her or him—these are bonds among people. Somewhat uniquely, human relationships are not necessarily reciprocal. For example, you may trust a political figure who has no explicit knowledge of you at all.

All formal relationships are static at any given time, but they can change. Spatial location can be changed by moving things. Connection can be made and broken, as when a lamp is plugged into an outlet. Addresses can be changed by reassignment. Sequence can be changed by reordering. Membership in a club exists, but the members can quit. Ownership is changed by gift giving or sales. And the most fickle of all formal relationships are human bonds, which can deteriorate in a second.

In summary:

  • Form consists of objects and structure—the elements of form and their formal ­relationship. Both are present in a system, and both must be considered in analysis.

  • There are three broad types of formal relationships:

    • Connection (relationships that create the formal connection over which functional interaction can take place)

    • Location and placement (including spatial/topological relations, address, and sequence)

    • Intangible (membership, ownership, human relationship, and so on)

  • Formal relationships inform and influence the nature of the functional interaction and the emergence of function and performance.

  • Formal relationships are static in that they exist (although they can be changed).

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.143.17.27