S.E.RTS-Chapter 4
S.E.RTS-Chapter 4
System Architecture
1
System Architecture
System Architecture Components:
2
System Architecture
● The hardware wrapper handles the hardware aspects and provides services to
application subsystems.
● This approach is elaborated in Chapter 5 and 6.
● By using the OCTOPUS method, the hardware wrapper shields the software
from early and undue influence by the hardware.
● Postponing hardware wrapper design until application software requirements
are clear allows for more flexibility in the design process.
3
System Architecture
● The hardware wrapper handles the hardware aspects and provides services to
application subsystems.
● This approach is elaborated in Chapter 5 and 6.
● By using the OCTOPUS method, the hardware wrapper shields the software
from early and undue influence by the hardware.
● Postponing hardware wrapper design until application software requirements
are clear allows for more flexibility in the design process.
4
System Architecture
A cruise control system is designed to maintain a constant speed in a vehicle on
highways. It utilizes sensors to monitor speed, distance to other vehicles, and road
conditions. The system interacts with the engine and braking systems to adjust
speed automatically. In case of adverse conditions, the system disengages,
returning control to the driver. It is equipped with an anti-lock braking system for
safe braking and connected to onboard diagnostics for health monitoring. Remote
connectivity allows for updates and optimizations, ensuring the system's efficiency.
5
System Architecture
A cruise control system is designed to maintain a constant speed in a vehicle on
highways. It utilizes sensors to monitor speed, distance to other vehicles, and road
conditions. The system interacts with the engine and braking systems to adjust
speed automatically. In case of adverse conditions, the system disengages,
returning control to the driver. It is equipped with an anti-lock braking system for
safe braking and connected to onboard diagnostics for health monitoring. Remote
connectivity allows for updates and optimizations, ensuring the system's efficiency.
There is a power control that analyses and directs the cruise control system in case
of power loss/ failure, also power distribution enhances the stability for both battery
and direct electricity inputs for the system. Failure of system also incorporates a
recovery and backup control system for the future references on power failure.
6
System Architecture
A cruise control system is designed to maintain a constant speed in a vehicle on
highways. It utilizes sensors to monitor speed, distance to other vehicles, and road
conditions. The system interacts with the engine and braking systems to adjust
speed automatically. In case of adverse conditions, the system disengages,
returning control to the driver. It is equipped with an anti-lock braking system for
safe braking and connected to onboard diagnostics for health monitoring. Remote
connectivity allows for updates and optimizations, ensuring the system's efficiency.
7
8
System Architecture (Diagram)
A traffic control system is designed to manage traffic flow at an intersection. The
system includes various sensors and components to regulate the movement of
vehicles and pedestrians. The intersection has traffic lights, pedestrian signals, and
sensors for detecting the presence of vehicles and pedestrians. When a vehicle
approaches the intersection, the system uses the sensors to determine the
appropriate signal timings. The traffic lights control vehicle traffic, while pedestrian
signals manage the crossing of pedestrians. The system is also equipped with an
emergency vehicle detection system, which can prioritize the passage of
emergency vehicles through the intersection.
9
System Architecture (Diagram)
A traffic control system is designed to manage traffic flow at an intersection. The
system includes various sensors and components to regulate the movement of
vehicles and pedestrians. The intersection has traffic lights, pedestrian signals,
and sensors for detecting the presence of vehicles and pedestrians. When a
vehicle approaches the intersection, the system uses the sensors to determine the
appropriate signal timings. The traffic lights control vehicle traffic, while pedestrian
signals manage the crossing of pedestrians. The system is also equipped with an
emergency vehicle detection system, which can prioritize the passage of
emergency vehicles through the intersection.
10
System Architecture (Diagram)
A traffic control system is designed to manage traffic flow at an intersection. The system
includes various sensors and components to regulate the movement of vehicles and
pedestrians. The intersection has traffic lights, pedestrian signals, and sensors for
detecting the presence of vehicles and pedestrians. When a vehicle approaches the
intersection, the system uses the sensors to determine the appropriate signal timings. The
traffic lights control vehicle traffic, while pedestrian signals manage the crossing of
pedestrians. The system is also equipped with an emergency vehicle detection system,
which can prioritize the passage of emergency vehicles through the intersection.
In the event of a malfunction or power loss, the power monitor helps system activate an
alarm to alert maintenance personnel. Additionally, the traffic control system is connected
to a central monitoring station that can remotely monitor and control the traffic signals.
11
System Architecture (Diagram)
A traffic control system is designed to manage traffic flow at an intersection. The system
includes various sensors and components to regulate the movement of vehicles and
pedestrians. The intersection has traffic lights, pedestrian signals, and sensors for
detecting the presence of vehicles and pedestrians. When a vehicle approaches the
intersection, the system uses the sensors to determine the appropriate signal timings. The
traffic lights control vehicle traffic, while pedestrian signals manage the crossing of
pedestrians. The system is also equipped with an emergency vehicle detection system,
which can prioritize the passage of emergency vehicles through the intersection.
In the event of a malfunction or power loss, the power monitor helps system activate an
alarm to alert maintenance personnel. Additionally, the traffic control system is connected
to a central monitoring station that can remotely monitor and control the traffic signals.
12
13
System Architecture (Diagram)
A traffic control system is designed to manage traffic flow at an intersection. The system
includes various sensors and components to regulate the movement of vehicles and
pedestrians. The intersection has traffic lights, pedestrian signals, and sensors for
detecting the presence of vehicles and pedestrians. When a vehicle approaches the
intersection, the system uses the sensors to determine the appropriate signal timings. The
traffic lights control vehicle traffic, while pedestrian signals manage the crossing of
pedestrians. The system is also equipped with an emergency vehicle detection system,
which can prioritize the passage of emergency vehicles through the intersection.
In the event of a malfunction or power loss, the system activates an alarm to alert
maintenance personnel. Additionally, the traffic control system is connected to a central
monitoring station that can remotely monitor and control the traffic signals.
14
15
16
Classwork
An innovative home automation system transforms living spaces by seamlessly
integrating smart devices for enhanced convenience, security, and energy efficiency. A
central smart hub orchestrates communication among devices, including smart
thermostats, lighting controls, security cameras, door/window sensors, and
voice-activated assistants.
Remote connectivity empowers users to monitor and control their home from
anywhere globally. Regular updates and optimizations are delivered remotely, keeping
the system technologically advanced and secure. This intelligent home automation
system creates a modern, efficient, and reliable living environment.
The system incorporates a robust power backup mechanism to maintain essential
functions during power outages. Efficient power distribution ensures stability in
operation and fluctuations. In the rare event of a device malfunction or communication
breakdown, an automatic failure recovery system troubleshoots and restores normal
operation, notifying users promptly.
17
System Architecture
- Definition:
System architecture in the realm of real-time systems refers to the systematic
and high-level design of a software solution that effectively addresses the
temporal constraints imposed by the real-time environment. It is traditionally
understood as the strategic modular decomposition of the system into
distinct components, each serving specific functionalities. This decomposition
comprises four essential elements: the modular structure of the system,
module interfaces, communication mechanisms, and a general control
strategy.
18
System Architecture
- Traditional understanding: Modular decomposition of the system.
- Four essential parts :
- Modular structure of the system
- Module interfaces
- Communication mechanisms
- General control strategy
19
Essential Parts of System Architecture
Modular structure of the system: Describes how the system is divided into
modules, each responsible for a specific function.
Module interfaces: Specifies how modules interact with each other through
well-defined interfaces.
General control strategy: Outlines the overarching plan for coordinating the
activities of different modules.
20
Essential Parts of System Architecture
Example:
In the context of a robotic control system:
21
Top Down View of SA
● Taking a top-down view means starting the design process by considering
the overall system and gradually breaking it down into smaller components.
Early separation of concerns involves identifying and isolating different
aspects or concerns of the system during the early stages of design.
Example: For a content management system:
Top-down view: Begin with the overarching system that manages content
creation, storage, and presentation.
Early separation of concerns: Identify distinct concerns like user authentication,
content storage, and presentation layers. Develop and test these concerns
independently, ensuring that changes in one concern do not heavily impact
others. 22
Enables early separation of concerns
Explanation: Early separation of concerns involves addressing different aspects
of the system independently during the design phase. This approach enhances
modularity and simplifies the development process.
Example: In a financial application:
Separation of concerns: Address concerns like data validation, calculation of
interest, and user interface design independently.
Benefits: Changes to the user interface do not affect the calculation logic, and
updates to the calculation logic don't impact data validation. This separation
facilitates easier maintenance and modification.
23
Weakly Coupled Modules
Explanation: Weak coupling between modules means that changes in one module
have minimal impact on others. This allows developers to work on and test
individual modules independently.
Example: In a video streaming service:
Weakly coupled modules: Video encoding, user authentication, and payment
processing are separate modules.
Benefits: Developers can modify the payment processing module without affecting
video encoding. Testing each module in isolation ensures that changes in one area
do not introduce unexpected issues in others.
24
System Architecture
28
DESCRIBE INTERFACES?????
29
Interface
Choosing Interfaces for Control Mechanism:
30
Interface
Subsystem Interfaces during Analysis:
31
Interface
Understanding Relationships Between Subsystems:
32
Interface
Going Back and Forth Between Design and Analysis:
33
Interface
Checking if Subsystem Divisions Make Sense:
34
System Architecture
37
System Architecture
Performance Monitoring as a Smaller System:
Nature of Performance Monitoring:
38
System Architecture
Characteristics of a Smaller System:
Dependency: Performance monitoring depends on the structure and behavior of other
domains or subsystems to collect relevant performance data.
Specialized Purpose: It has a specialized purpose—monitoring and analyzing the
performance—rather than handling the core functionalities like order processing, database
management, or user interfaces.
Limited Independence: Unlike larger domains that can operate relatively independently,
performance monitoring relies on information from other domains and may not function as
a standalone subsystem.
Potential Lack of Standard Interfaces: It might not have standard interfaces because its
interactions are closely tied to the specific requirements of the larger system.
39
HOW DECOMPOSING OF A LARGE SYSTEM INTO SMALLER SYSTEM/S CAN BE
PERFORMED?
40
LET’S SEE AN EXAMPLE:
41
System Architecture
- Fault-tolerant processes run on two different processor cards, with replicas kept in
"hot standby."
- In the event of a computer unit failure, the replicas take over, and new replicas
are initialized.
42
System Architecture
- After identifying the fault-tolerant domain, testing its independence from other
domains is crucial. An independent domain should allow for various
implementations and the potential to show a package providing its services.
- Recommends decomposing the system into subsystems based on these
domains. This involves defining control mechanisms and designing interfaces
between the identified domains.
43
HOW DECOMPOSING OF A LARGE SYSTEM INTO SMALLER SYSTEM/S CAN BE
PERFORMED?
System Understanding:
Gain a thorough understanding of the overall system, its requirements, and
functionalities.
Identify key components, modules, and potential areas for decomposition.
Define Interfaces:
Clearly define interfaces between different modules.
Specify how modules will communicate and interact with each other.
Identify Dependencies:
Identify dependencies between modules to understand the flow of data and control.
Consider both functional and data dependencies.
45
System Architecture
48
Incremental Development
Key characteristics of incremental development include:
49
Incremental Development
Key characteristics of incremental development include:
Feedback and Adaptation: Incremental development allows for early user feedback.
Users can interact with the delivered increments, providing feedback that can be used to
make adjustments and improvements in subsequent increments.
This approach also has positive organizational and management effects by making
it easier to distribute tasks among project members.
51
Importance of Subsystem Decompositions
2) Subsystems and Reusability:
Decomposition into subsystems promotes reusability, at a higher level than the
class level.
Class Level: Focuses on individual classes, which signifies the basic units defining
attributes and behaviors for specific entities or concepts.
High Level (Subsystem): Focuses on larger, more comprehensive units called
subsystems. These subsystems encapsulate multiple classes and related
functionality, providing a higher level of abstraction and organization. Reusability at
this level implies reusing entire subsystems across different software projects.
Well-designed subsystems can be reused in different systems.
52
Importance of Subsystem Decompositions
3) Interface Specification and Analysis:
53
Importance of Subsystem Decompositions
4) Incremental Development:
54
Importance of Subsystem Decompositions
5) Usability and Core Increment:
A system can become usable even if all increments are not implemented.
The core increment is crucial, as it is the one on which other increments depend.
Increments are added in a sequence based on their importance until a fully
operational system is achieved.
55