0% found this document useful (0 votes)
14 views

S.E.RTS-Chapter 4

Chapter 4 discusses system architecture, emphasizing the integration of hardware and software through the OCTOPUS method, which utilizes a hardware wrapper to enhance flexibility in design. It provides examples of cruise control and traffic control systems, detailing their components and functionalities. The chapter also outlines essential elements of system architecture, including modular structure, interfaces, and communication mechanisms, while highlighting the benefits of weakly coupled modules and early separation of concerns.

Uploaded by

timalsinabikash3
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views

S.E.RTS-Chapter 4

Chapter 4 discusses system architecture, emphasizing the integration of hardware and software through the OCTOPUS method, which utilizes a hardware wrapper to enhance flexibility in design. It provides examples of cruise control and traffic control systems, detailing their components and functionalities. The chapter also outlines essential elements of system architecture, including modular structure, interfaces, and communication mechanisms, while highlighting the benefits of weakly coupled modules and early separation of concerns.

Uploaded by

timalsinabikash3
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 55

Chapter 4

System Architecture
1
System Architecture
System Architecture Components:

● System architecture comprises two main parts: hardware architecture and


software architecture.
● Both hardware and software architectures are often developed together
through a process known as hardware/software codesign.
● The OCTOPUS method reverses the conventional order by isolating the
hardware through a software layer known as the hardware wrapper.
● Analysis and design of the hardware wrapper can be deferred until the
application software's requirements are known.

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

- Top-Down View and Early Separation of Concerns


- Enables early separation of concerns.
- Weakly coupled modules allow for independent development and testing.

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.

Communication mechanisms: Defines the methods by which modules exchange


information and data.

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:

Modular structure: Modules could include sensor input processing,


decision-making, and motor control.
Module interfaces: Define how the sensor module communicates data to the
decision-making module.
Communication mechanisms: Modules might exchange data through a
publish-subscribe mechanism.
General control strategy: The overall strategy could involve a hierarchical approach
where high-level decisions guide lower-level motor control actions.

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

- OCTOPUS Architecture Policies and Architecture


1. Base modularization on domain concepts.

2. Use objects for software structuring.

3. Utilize explicit concurrency with lightweight processes.

4. Structure processes based on time requirements of external events.

5. Control mechanism between processes based on messages.

6. Data sharing through a single address space.

7. Separate hardware layer from the application.


25
- OCTOPUS Architecture Policies and Architecture (TCS Example)
1. Base modularization on domain concepts.
- Suggests organizing the software modules based on the fundamental
concepts of the problem domain. E.g.: Traffic Light Controller," "Vehicle
Detection," and "Intersection Management."
2. Use objects for software structuring.
- Encapsulate functionality and data into objects. E.g.: "TrafficLight,"
"VehicleSensor," and "IntersectionManager”.
3. Utilize explicit concurrency with lightweight processes.
- Employ concurrent programming for tasks that can be executed
simultaneously. E.g.: one process for monitoring vehicles, another for
managing traffic lights, and so on. 26
4. Structure processes based on time requirements of external events.
- Organize processes to align with the timing needs of external events. E.g.:
timing of traffic light changes based on historical traffic patterns or specific
time intervals.
5. Control mechanism between processes based on messages.
- Communication between processes should be message-based. E.g.: the
vehicle detection module might send a message to the traffic light controller
to change the light state when a vehicle is detected.
6. Data sharing through a single address space.
- Share data efficiently by using a single address space. E.g.: shared memory
space could be used for exchanging data between processes. Information
about detected vehicles or current traffic conditions can be exchanged
seamlessly using a shared address space.
7. Separate hardware layer from the application.
- Keep the hardware-specific code separate from the application logic. 27
System Architecture
- Applicability and Benefits of OCTOPUS Architecture
1. Applicable to many embedded systems.
2. Provides efficiency, responsiveness, and supports decoupling
mechanisms.
3. Other architectures possible with different defined policies.

28
DESCRIBE INTERFACES?????

29
Interface
Choosing Interfaces for Control Mechanism:

● In embedded systems, things often happen in response to events.


● Events are like triggers, and the system reacts to them.
● Messages are used to make events happen, and we want this process to be
efficient, without slowing down the system.

30
Interface
Subsystem Interfaces during Analysis:

● When designing embedded systems, we start by figuring out how different


parts (subsystems) will talk to each other.
● We create a plan (functional model) that says what each part will do and how
they'll interact.
● Each part has a set of things it can do for the others (interfaces), like providing
services.

31
Interface
Understanding Relationships Between Subsystems:

● Imagine each part of the system as a character in a story.


● The way these characters (subsystems) relate to each other is important, and
we use a diagram (object model) to show these relationships.
● This helps us see how the parts work together and what kind of
communication they need (interfaces).

32
Interface
Going Back and Forth Between Design and Analysis:

● Designing a system is a bit like solving a puzzle.


● Sometimes, we need to go back and adjust our plan based on what we
discover while working on it.
● People working on different parts of the system need to talk to each other to
make sure everything fits together correctly.

33
Interface
Checking if Subsystem Divisions Make Sense:

● Imagine each part of the system as a person with specific responsibilities.


● To make sure each person (subsystem) is doing the right things, we look at
different situations (use cases) and see how they communicate with each
other.
● If everything makes sense and is easy to understand, we're on the right track.

34
System Architecture

Layered Architecture in a Chemical Process System 35


System Architecture

Relationship between different subsystems in Chemical Process System


36
System Architecture
Larger Subsystem vs Smaller Subsystem

Large System: A large system typically refers to a complex and comprehensive


software or hardware infrastructure that performs various functions to achieve a
specific set of goals. It may consist of multiple interacting subsystems or modules.

Smaller System: A smaller system, in this context, refers to a more specialized or


focused part of the larger system. It may be a subsystem or module that serves a
specific purpose within the overall architecture.

37
System Architecture
Performance Monitoring as a Smaller System:
Nature of Performance Monitoring:

Performance monitoring is often considered a smaller system within a larger


system.

It focuses on tracking and analyzing the performance metrics and behaviors of


other subsystems or components within the larger system.

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 Tolerance as a separate subsystem:


Fault Tolerance in Real-Time System:

- 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

Fault Tolerance as a separate subsystem:


This involves separating the fault-tolerant domain to ease application development
and ensure uniform behavior.

- 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.

Identify Functional Modules:


Break down the system into functional modules or components based on its
operational requirements.
Identify modules that can perform specific, well-defined tasks.
44
HOW DECOMPOSING OF A LARGE SYSTEM INTO SMALLER SYSTEM/S CAN BE
PERFORMED?

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

Subsystem diagram showing association of


subsystems for a well defined system
46
Incremental Development
- Incremental development is an approach to software development where a
large software system is built and delivered in small, manageable pieces or
increments.

Fig.: SubSystems and System Increments


47
Incremental Development
- Instead of attempting to deliver the entire system at once, developers focus on
delivering a subset of the system's functionality in each increment.
- Each increment is a partially complete version of the system that can be
independently tested and, in some cases, released.

48
Incremental Development
Key characteristics of incremental development include:

Iterative Process: Incremental development is often iterative, meaning that each


increment goes through cycles of planning, design, implementation, testing, and
deployment. This iterative process allows for continuous refinement and
improvement.

Partial System Delivery: With incremental development, developers aim to deliver


a partial, functional version of the system at the end of each iteration. This allows
stakeholders to start using and benefiting from parts of the system sooner rather
than waiting for the entire project to be completed.

49
Incremental Development
Key characteristics of incremental development include:

Prioritization of Features: Features are prioritized based on their importance and


criticality. The core or essential features are often implemented first, forming the core
increment. Subsequent increments add additional features or enhance existing ones.

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.

Flexibility and Adaptability: This approach offers flexibility in accommodating changes. As


requirements evolve or new insights are gained, adjustments can be made in future
increments.
50
Subsystem Decompositions

Importance of Subsystem Decompositions:


1) Parallel Development and Project Management:

Decomposing a software project into subsystems allows for parallel development,


potentially reducing the time needed to complete the project.

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:

Decomposition into subsystems requires specifying interfaces between them.


The OCTOPUS recommendation is to analyze subsystems in parallel before
designing and implementing them.
This helps in clearly specifying interfaces, refining the decomposition, and making
informed decisions about subsystem dependencies.

53
Importance of Subsystem Decompositions
4) Incremental Development:

Large software systems should be developed incrementally.


An increment consists of one or more subsystems, and when fully implemented, it
produces a partially operational system that can be tested.
Subsystems are grouped into increments based on their relative importance, with a
core increment implemented first.

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

You might also like