[System Engineering] #4. Systems Thinking 2 – Principles, Laws, Heuristics and Pattern

Actually, I thought a lot about it while writing about the topic of Systems Thinking in my previous post. The topic of systems thinking was too difficult for me to handle because I lacked the expertise. However, this blog of mine is intended to convey the basic knowledge needed as a system engineer to beginner engineers working in the automotive electronics industry, and since the Principles of System Thinking section of SEBok contains quite interesting content in my opinion, I will continue to post additional posts from last time. has been written.

This images designed to represent Systems Thinking with Principles, Laws, Heuristics and Pattern by Dall-e
This image is designed around the theme ‘Systems Thinking, Principles, Laws, Heuristics, and Patterns’ by Dall-e

The following systems principles can be used as a basis for reasoning about systems thinking or systems approach.

AbstractionA method of focusing on the essential characteristics when solving a problem. This simplifies the problem and allows ignoring non-essential elements.
BoundaryDistinguishes the system from the external world and focuses on internal interactions. This enables exchange with external systems.
ChangeChange is a natural process essential for growth and adaptation. It should be embraced rather than ignored or avoided.
DualismRecognizing duality and considering how different elements can work harmoniously together.
EncapsulationThe process of hiding the internal parts of a system and their interactions from the outside. This helps manage the complexity of the system.
EquifinalityIn open systems, it means that the same outcome can be reached in various ways. Different starting points can lead to the same goal.
HolismViewing the system not just as a collection of parts, but as an integrated whole. This helps in understanding the system as a whole.
InteractionThe characteristics and behavior of a system derive from interactions between internal and external elements. This is important for understanding the system’s complexity.
Layer HierarchyUnderstanding and evolving complex systems is facilitated through a hierarchical structure. This makes it easier to manage and understand the system.
LeverageFinding the most effective point in problem-solving. Balancing power and generality is important.
ModularitySeparating unrelated parts and grouping related ones. This allows more efficient system management.
NetworkNetworks form the basis of connections and interactions within a system. They are crucial for understanding the operation of complex systems.
ParsimonyChoosing the simplest explanation. This minimizes unnecessary assumptions and enables efficient design and operation.
RegularityFinding and utilizing regularities within the system. This facilitates understanding and operation of the system.
RelationsA system is characterized by the interconnections between its components. These relations define the system’s network.
Separation of ConcernsBreaking down a large problem into smaller problems or concerns for effective resolution. This simplifies the problem-solving process.
Similarity/DifferenceRecognizing and appropriately utilizing similarities and differences within the system. This aids in efficient system management.
Stability/ChangeThe balance between stability and change is important. This affects the system’s long-term sustainability and adaptability.
SynthesisA system is created through the combination and interaction of appropriate parts. This is important for the system’s optimal effect.
ViewVarious perspectives are needed to understand complex systems. This helps in comprehensively understanding the system’s characteristics.

Systems Law is a set of laws of general design science related to systems principles.

Law of Requisite VarietyThe level of diversity needed to effectively manage a system must match the level of diversity the system deals with. This applies to design situations and includes stakeholder diversity.
Law of Requisite SimplicityInformation must be organized simply so that people can easily understand and process it. This prevents information overload and considers human information processing capabilities.
Law of HierarchyKnowledge can be classified into various stages, from simple to complex, and the knowledge applied in a design situation should match the complexity and scale of that situation. The law of diminishing returns indicates a point where the efficiency of applying knowledge decreases.

Heuristics are common sense rules or practical principles for solving problems. In the field of systems engineering, heuristics provide guidance to help solve a specific problem or streamline a process. These heuristics are linked to various principles, and the heuristics specified by the International Council on Systems Engineering (INCOSE) are as follows:

HeuristicDescriptionRelated Principle
Relationships Between ComponentsThe interactions between components add value to the system.Interaction
Relationship Between Efficiency and GeneralityEfficiency is typically inversely related to generality.Leverage
Simplicity in Design for ComplexityThe first solution to a complex problem should be a simple design.Parsimony
Selective UnderstandingUnderstand only what is necessary, rather than trying to comprehend everything.Abstraction

INCOSE’s practical principles for systems engineering are also:

Understanding the Problem, Customers, and ConsumersIt’s crucial to clearly understand the nature of the problem and the stakeholders involved.
Identification and Evaluation of AlternativesIt’s necessary to find possible solutions, evaluate them, and arrive at the optimal solution.
Maintaining System IntegrityMaintaining the consistency and integrity of the system is important.

These heuristics and principles are practical guidelines that address the complexities of systems engineering, simplify problem solving, and enable effective system design and operation.

  1. Definition and scope of application of pattern: Patterns are expressions of observed regularities, found in natural and artificial systems. It is used in a variety of fields, including scientific theory, architecture, and engineering, and is defined as indicating similarity or uniqueness in a set of problems, solutions, or systems.
  2. Importance of Design Patterns: Patterns are especially important in architecture and software engineering. Design patterns provide solutions to common problems, which capture design ideas in a circular, reusable description.
  3. Use of patterns and anti-patterns: Patterns are combined with Model-Based Systems Engineering (MBSE) to form Pattern-Based Systems Engineering (PBSE). Additionally, while patterns provide successful solutions, anti-patterns represent common approaches that fail to solve recurring problems. Antipatterns help identify the root cause of a problem and lead to a solution pattern.
  4. Some examples of system patterns used in the automotive electronics field
    • Modularization Pattern:
      • Description: The modularization pattern refers to dividing automotive electronic systems into small, manageable units. This makes complex systems easier to understand, develop, and maintain.
      • Examples: Engine Control Unit (ECU), Transmission Control Unit (TCU), Brake Control System (BSC), etc., where each module focuses on a specific function and operates independently, yet is integrated into the overall system.
    • Layered Architecture Pattern:
      • Description: Layered architecture divides the system into layers, with each layer having specific responsibilities. This manages the complexity of the system by allowing each layer to be developed and tested independently.
      • Example: Consisting of a hardware control layer, driver software layer, and application layer, each layer provides overall functionality without affecting each other’s detailed implementation.
    • Integrated Control Pattern:
      • Description: The integrated control pattern allows multiple systems to share information and coordinate with each other to improve overall performance and safety.
      • Example: A car’s stability control system (ESC) is integrated with engine control, brake control, and steering systems to improve vehicle stability and maneuverability.
    • State-Based Control Pattern:
      • Description: This pattern is about adjusting behavior depending on the state of the system. A system has various states, and in each state it performs certain actions.
      • Example: A car’s light system adjusts the brightness or pattern of the light depending on conditions such as ambient brightness and vehicle speed.
    • Diagnostic and Monitoring Pattern:
      • Description: This pattern is about continuously monitoring and diagnosing the performance and health of a system.Example: Monitors engine, transmission, and battery status in real time through the vehicle’s internal network, and provides notifications to the driver when problems are found.

      For reference, AUTOSAR (Automotive Open System Architecture) is a standardized software architecture applied to the automotive electronics field, and is more accurately classified as a ‘framework’ or ‘architecture’ rather than a specific ‘pattern’. However, AUTOSAR’s architecture and principles include or support several system patterns. AUTOSAR was developed to promote standardization, modularity, reusability, and interoperability of automotive electronic systems. This involves several patterns:
      • Modularization and abstraction: AUTOSAR modularizes software components and provides abstraction from hardware. This allows developers to focus on software functionality without worrying about hardware details.
      • Layered architecture: The AUTOSAR architecture consists of several layers, each layer having specific responsibilities. For example, there is Basic Software (BSW) layer, Runtime Environment (RTE) layer, Application layer, etc.
      • Standardization and Interoperability: AUTOSAR provides standards that allow software and hardware from different manufacturers and suppliers to be compatible with each other. This promotes interoperability and compatibility across the automotive industry. Therefore, AUTOSAR does not directly define or provide system patterns, but serves to support and promote various patterns and principles used in the design and implementation of automotive electronic systems. The AUTOSAR framework and principles are essential for effectively managing and building complex automotive electronic systems.
    • Software System Antipatterns
      • Escalation of Commitment: This refers to a situation where a wrong decision is not withdrawn even though it is revealed. This is a common problem within organizations and can lead to stubbornness or inefficient allocation of resources.
      • Moral Hazard: This refers to a situation where a decision maker is protected from the consequences of his or her decisions, increasing the likelihood of making inappropriate decisions. This can lead to lack of accountability or failure to manage risks.
      • Big Ball of Mud: This refers to a software system that is unstructured and unrecognizable. These systems are difficult to maintain, less scalable, and less flexible.

In this article, we looked at principles, laws, heuristics, and patterns to improve system thinking, a skill needed as a systems engineer. When it comes to working as a system engineer in the automotive electronics industry, I don’t think specialized knowledge of system engineering is needed yet. However, if you keep in mind the contents presented in this article and apply them one by one when designing a system, you will definitely be able to obtain more satisfactory and valuable results.

In the next post, we will briefly discuss the system approach.

[System Engineering] #1. INTRODUCTION

[System Engineering] #2. Definition of System

[System Engineering] #3. Systems Thinking 1

[System Engineering] #5. System engineering

[System Engineering] #6. System Engineer

[System Engineering] #7. MBSE (Model Based System Engineering) – 1

[System Engineering] #8. MBSE (Model Based System Engineering) – 2

[System Engineering] #9. MBSE (Model Based System Engineering) – 3

[System Engineering] #10. SysML (System Modeling Language)

Leave a Comment