Expert Insights: Partitioned Complexity

“The Whole is Greater than the Sum of its Parts.”

The quote attributed to Aristotle, can be related to music, technology and any other field where synergy matters. It reflects the importance of joining efforts towards successful outcome. As Gustav Mahler, a famous composer and one of the leading conductors of his generation, once said,

“To judge a composer’s work, one must consider it as a whole.”

A musical orchestra is an example of a large intelligent system with a complex structure. This organizational entity can perform in a coordinated and aligned way. However, it requires effort to make a team strong and efficient. Clear rules and strict planning are essential. Real-time computer systems of today share similarities with an orchestra in complexity: it is not only about which parts create the whole, but also exactly how they are integrated and interact. In order to explain how real-time systems manage complexity, we will look into the ways that complicated processes inside human minds are handled.

The Complex System

Prof. Hermann Kopetz, in his book “Real-Time Systems”, analyzes system’s complexity through human problem-solving mechanisms. He defines the human problem-solving system as the conceptual landscape and the two subsystems of the conceptual landscape as the intuitive-experiential and the analytical-rational subsystem. We call these two subsystems the “experiential” and the “rational” subsystem. This duality concept is also a cornerstone of “Thinking, Fast and Slow”, an award-winning book by Daniel Kahneman, introducing a dichotomy (partition of a whole into two parts) between two modes of thought.

The two subsystems are distinguished according to how much cognition they require in problem-solving situations. The experiential subsystem is a system that operates automatically and is emotional or experience based. It is built up by experience and emotional events accumulated in a person’s lifetime. Unlike this almost non-cognitive subsystem, the rational subsystem with a deterministic nature tends to operate analytically and correlates with the logical context of human behavior. The rational subsystem’s role is to deliver a logical, knowledge-based output.

It is interesting how the two subsystems work together to solve problems by creating different problem-solving strategies. First, the new problem scenario is recognized by the experiential subsystem. Then the scenario is observed and analyzed analytically by the rational subsystem. The more novel the problem, the more rational subsystem needs to be engaged. After accumulating enough experience, based on learning and repetition, the experiential subsystem already delivers a solution to a problem automatically and rapidly, with minimal cognition involved by the rational subsystem. An excellent example of this problem-solving process is learning a foreign language. First, we recognize the language as interesting, boring, hard, easy, useful and therefore attribute an emotion to it. Then we learn the specific rules of the language. After gaining enough knowledge and practice, we are able to use it almost automatically.

Like the experiential and the rational subsystems need to interact to solve the problem, so too do the subsystems that make up the real-time computer systems. Composability is a key concept in this regard.

Composability

Whether dealing with computer systems or a human conceptual landscape, one needs to decompose a larger system into its subsystems to get a clearer overview of the involved correlations.

Prof. Kopetz defines a composable architecture as follows: “An architecture is said to be composable with respect to a specified property if the system integration will not invalidate this property once the property has been established at the subsystem level. In a composable architecture, the system properties follow from the subsystem properties.”

A composable architecture enables the construction of a complex system from more simple subsystems. In general, there are commonly used ways of simplification such as abstraction, partitioning, isolation, and segmentation. We use these breakdown strategies to better understand the assigned tasks of each element of a more complex structure. Partitioning, for instance, is the preferred simplification strategy in the natural sciences, and has been for hundreds of years. It is based on splitting the complex scenario into nearly independent parts to observe and analyze them individually. Partitioning is not always possible, especially with the emerging properties at the system level. This problem is called the composability problem.

The composability problem (“Real-Time Systems”)

For example, in a composable architecture, system C can “behave” differently than the individual subsystems A and B system C is built from. We may say that the system C is showing some emerging properties that weren’t established at the subsystem level.

The phrase “The Whole is Greater than the Sum of its Parts” can be perceived as the beginning of understanding the term “system” and the intriguing system’s property, the “emergence”. This is concisely explained in Emergence in Cyber-Physical Systems-of-Systems, the chapter of the book “Cyber-Physical Systems of Systems”,

“The essence of the concept emergence is aptly communicated by the following quote, attributed to Aristotle, who lived more than 2000 years ago: The Whole is Greater than the Sum of its Parts. The interactions of Parts can generate a Whole with unprecedented properties that go beyond the properties of any of its constituent Parts.”

To achieve the successful integration of subsystems into a larger distributed real-time system, interactions among different nodes (single units of a distributed system) are necessary. Hence the communication system is crucial for determining the composability of a distributed architecture. If the communication system sends event messages (messages that are sent on-demand) we call this communication system event-triggered. In such systems, the temporal control is inside host computers of each node and those host computers have the full autonomy to decide when the messages will be sent to the receiver node. With time-triggered communication, this temporal control is entirely inside the communication system. State messages (each message contains the most current state values) are sent from the sender to the receiver at predetermined points in time to ensure a guaranteed and efficient flow of information. The time-triggered paradigm enables deterministic communication and the response from the system is guaranteed.

We humans sometimes also behave in both event-triggered and time-triggered ways. Sometimes we react spontaneously and sometimes we plan. For example, when we experience an unexpected threatening situation, we might automatically run in order to save ourselves. On the contrary, when professional orchestra is performing, there isn’t much place for improvisation, but the actions are conducted according to a predefined schedule and by following the rules. However, these reactions are only the external representation of complex processes inside human minds. Messages, containing information about the environment, are transferred from the human sensory system to the conceptual landscape. Many factors determine in which way this information will be interpreted and, consequently, which reaction it will trigger. A person who has experience and knowledge about a specific scenario will most certainly respond differently to it than an inexperienced person with less or no relevant knowledge. We may say that a person behaves in one way or the other.

The same as the message is the main form of communication when it comes to human interaction, it is also a basic concept of communication in distributed real-time computer systems at the architecture level. In the sphere of real-time systems, behavior is related to the output actions of the computer system, that result from the inputs, the state and the progression of real-time. Whether through biological, electrical or other means, transferring a message from a sender to a receiver is crucial in establishing a connection between different parts of a complex system.

How well the system will behave depends on how efficiently the system’s complexity is managed. The main challenges in system integration as well as a solution to integration practices are discussed below.

Managing Complexity

 Composability is a key feature in managing system complexity but has certain challenges.

“The composability of an architecture, i.e., the capability to build dependable, large systems out of pre-tested components with minimal integration effort, is one of the great challenges for designers of the next generation of real-time systems.” Prof. Herman Kopetz, “Real-Time Systems”

Increased complexity of the software functions used in today’s vehicles is redefining the architecture design of new solutions. The role of a system integrator becomes more prominent, yet the system integration practices are changing as well. Today’s vehicles have as many as 150 ECUs with up to 100 million lines of software code, huge and heavy amounts of wiring, which makes for the second most expensive building block, and multiple kinds of electronic signaling.

Looking at modern cars with automated functions, we find multi-domain architectures with dedicated roles for each one of those domains. Each domain can be seen as a subsystem with unique dependencies and assigned tasks. Numerous applications of different performance and safety requirements are integrated into a system. Depending on their safety criticalities and priority levels, applications run on different hosts with different operating systems and with different execution times.

Domain Architecture

The integration process of individual subsystems is supported by a deterministic and safe execution platform like MotionWise. MotionWise enables fast application integration with predefined execution boundaries for each application. Applications run perfectly aligned once combined into a system. All the elements of such safety-sensitive architecture are interconnected by a deterministic Ethernet switch with capabilities of handling different traffic classes, such as deterministic and best-effort communication.

MotionWise Solution

More than 20 years of experience with highly innovative technologies in safety-critical and deterministic field has equipped TTTech Auto with the right systems integration skills. We empower the customers to easily integrate the applications, as well as to test and validate. The smart design of our time-triggered architecture enables us to manage the highest complexity levels and allows for seamless integration services.

Accelerate your journey towards highly automated driving with MotionWise safety software platform. MotionWise delivers safety by design and fail-operational performance while managing the high complexity of solution elements. As a result, OEMs and Tier 1 suppliers can benefit from faster time-to-market for their automated driving projects and increased competitive edge at reduced costs.

 

Stay informed about the most recent technological findings in the automotive industry – visit us at www.tttech-auto.com and follow us on LinkedIn for more on this exciting topic.