SlideShare a Scribd company logo
1 of 86
UNIT 4 7Hrs
Embedded System Design Concepts: Characteristics and Quality
Attributes of Embedded Systems, Operational and non-operational
quality attributes, Embedded Systems-Application and Domain specific,
Fundamental issues in Hardware Software Co-Design, Computational
models in embedded design- DFG model, CDFG model State machine
model, Concurrent Process model, Object Oriented model , Source file
to object file translation.
25-03-2024 1
Source file to object file translation
25-03-2024 2
Embedded software in a system
• Application specific software
• In the final stage, it is placed in the memory (ROM) for all the
tasks that have to be executed.
• The final stage software is also called ROM image. Why?
3
3/25/2024
ROM IMAGE
Embedded software is a
unique placement and
arrangement of bytes for
instructions and data.
4
3/25/2024
Coding of software in machine code
• time consuming
• the programmer must first understand the processor
instructions set and then memorize the instructions and
their machine codes.
5
3/25/2024
Software in processor specific assembly language
• Coding in assembly language is easy to learn for a designer who
has knowledge about machine specific instruction set
• Assembly Coding is extremely useful for configuring physical
devices like ports, a line-display interface, ADC and DAC and
reading into or transmitting from a buffer
• They are useful to run the device specific features and provide an
optimal coding solution.
• To do all the coding in assembly language may be very time
consuming.
• Full coding in assembly may be done only for a few simple, small-
scale systems
6
3/25/2024
Process of Converting Assembly Program to create ROM Image
7
3/25/2024
library - a collection of precompiled routines that a program can used
Process of Converting Assembly Program/ C program
to create ROM Image
8
3/25/2024
library - a collection of precompiled routines that a program can used
Step1- assembling assembler translates assembly software into machine
codes.
step2- linking phase linker links no of codes with other assembled codes.
Linking produces the final binary file by linking all these. The linked file in a
computer is commonly known as .exe file.
step3- reallocation of codes is done by placing it in physical memory by a
program called loader.
Loader finds out appropriate position in RAM that is ready to run.
Step4- locating phase ROM image is permanently placed in actually available
address of ROM.
9
3/25/2024
10
3/25/2024
3/25/2024 11
12
Linking
All of the object must be
linked together to produce a
single object file, called
the relocatable program.
The job of the linker is to
combine these object files
and to resolve all of the
unresolved symbols
3/25/2024
13
3/25/2024
14
Locator- The tool that performs the conversion
from relocatable program to executable binary image
It then produces an output file that contains a binary
memory image that can be loaded into the target.
3/25/2024
• Loader: A program which loads the executable file to
the primary memory of the machine.
• It is a part of OS
• After reading .exe file loader places the code in memory.
This is necessary as memory addresses may not start from
0000H
• Loader finds appropriate start address and reallocates the
codes
• In computer after loader loads, section of program is
ready to run
15
3/25/2024
16
The loader does the following things:
• Allocates primary memory for the program's execution.
• Copies address space from secondary to primary memory.
• Copies the .text and .data sections from the executable into primary
memory.
• Copies program arguments (e.g., command line arguments) onto the
stack.
• Initializes registers
3/25/2024
17
Statically allocated and global data
Block Started by Symbol
Local variables are allocated
Memory layout for a process
3/25/2024
Difference in Linker and Loader
18
3/25/2024
Embedded System Software
19
3/25/2024
20
The software for the embedded system varies
depending on the functionality needed.
.
The RTOS can help the
programmer separate the
application’s functionality
into distinct tasks for better
organization of the
application software and a
more responsive system.
3/25/2024
Different program layers in the embedded software in C
21
3/25/2024
22
Hardware Abstraction Layer- a software abstraction layer
between the embedded system hardware and OS
3/25/2024
Application Layer
• located at the top level of the software hierarchy
• provides services directly to user application
23
3/25/2024
Bootloader -similar to BIOS
• a program that runs before the OS kernel executes.
• It completes the initialization of the hardware
• enables the hardware and software environment to
reach an appropriate state for the final scheduling of
the system kernel.
• From the perspective of end users, the bootloader is
used to load the OS.
24
3/25/2024
BSP- Board support packages
• provides a standardized interface between hardware
and the operating system
• is used to start up and run the embedded target
processor
• does not directly access hardware.
• A BSP Contains hardware-specific drivers and other
routines that allow a particular operating system to
function in a particular hardware environment
25
3/25/2024
OS layer
• Scheduling, files synchronization,
and networking
• Example- Windows Embedded
Compact, embedded Linux,
VxWorks, MeeGo, Tizen, Android,
Ubuntu,
• outstanding real-time and reliable
features widely used in
communications, military,
aerospace, aviation
26
3/25/2024
Kernel- software collection in OS
• core component of an operating system.
• responsible for translating the command which computer
understands
• It handles the hardware, timing, peripherals, memory, disks, user
access
• Using interprocess communication and system calls, it acts as a
bridge between applications and the data processing performed at
the hardware level.
• When an operating system is loaded into memory, the kernel
loads first and remains in memory until the operating system is
shut down again.
27
3/25/2024
Functions of Kernel
• Memory allocation
• task scheduling
• inter-process communication
• effective management of shared memory
28
3/25/2024
System service layer
29
• a link between the OS and applications
• applications can access various
services provided by the OS.
• A GUI library for various GUI
programming interfaces, to interact
with users through application
windows, menus, dialog boxes, and
other graphic forms instead of a
command line.
3/25/2024
Important characteristics of an embedded system
1. Application and domain specific
2. Reactive and Real Time
3. Operates in harsh environments
4. Distributed
5. Small size and weight
6. Power concern
3/25/2024 30
Application and Domain Specific
• Fixed functions- each embedded system is designed to
perform a set of defined functions
They cannot be used for any other purpose. It is the major
criterion which distinguishes an embedded system from a
general purpose computing system.
• Specific design and Purpose- cannot replace the
embedded unit of one system from another, designed to
perform certain specific tasks.
3/25/2024 31
Embedded Systems are Reactive
produce changes in output in response to the changes in the
input.
• constant interaction with the Real world through
sensors and user-defined input devices
• Controlling output variables to the desired level.
3/25/2024 32
Real Time
• All embedded systems are not Real Time.
• Real Time System operation- the timing behaviour of the system
should be deterministic; the system should respond to requests or
tasks in a known amount of time.
• A Real Time system should not miss any deadlines for tasks or
operations.
• Embedded applications or systems which are mission critical, like
flight control systems, Antilock Brake Systems (ABS), etc. are
examples of Real Time systems.
3/25/2024 33
Operates in Harsh Environment
• Adverse operating conditions- It is not necessary that all
embedded systems should be deployed in controlled
environments.
• Embedded system should withstand in all operating conditions.
• The design should take care of the operating conditions of the
area where the system is going to implement.
• Power supply fluctuations, corrosion and component aging are
the other factors that need to be taken into consideration for
embedded systems to work in harsh environments.
3/25/2024 34
Distributed System- may be a part of larger systems
• Example- Automatic Teller Machine (ATM)
card reader- for reading and validating the user’s ATM card
 transaction unit -for performing transactions
currency counter- for dispatching/vending currency to the
authorised person
printer unit- for printing the transaction details.
3/25/2024 35
Small Size and Weight
• Product aesthetics is an important factor in choosing a product
• the product aesthetics- (size, weight, shape, style, will be one
of the deciding factors to choose a product.
3/25/2024 36
Power Concerns
• Power management is important factor to be considered
• to minimise the heat dissipation by the system.
• The production of high amount of heat demands cooling
requirements like cooling fans which in turn occupies additional
space and make the system bulky.
• design according to the low power components, controllers
• processors with power saving modes.
• Also power management is a critical constraint in battery operated
application.
3/25/2024 37
Operational Quality Attributes
1. Response
2. Throughput
3. Reliability
4. Maintainability
5. Security
6. Safety
3/25/2024 38
Response
• how fast your system is tracking the changes in input variables.
• Most of the embedded systems demand fast response which
should be almost Real Time.
• It is not necessary that all embedded systems should be Real
Time in response.
• For example, the response time requirement for an electronic toy
is not at all time-critical .There is no specific deadline that this
system should respond within this particular timeline.
3/25/2024 39
Throughput
• Throughput deals with the efficiency of a system.
• rate of production or operation of a defined process over a
stated period of time.
• Example- For Card Reader, throughput means how many
transactions the Reader can perform in a minute or in an
hour or in a day.
• Throughput is generally measured in terms of ‘Benchmark’.
‘Benchmark’ is a reference point by which something can be
measured.
3/25/2024 40
Reliability
• % proper functioning of the system
• Mean Time Between Failures ( MTBF) and Mean
Time To Repair ( MTTR) are the terms used in
defining system reliability.
• the system is allowed to be out of order following
a failure.
• For an embedded system with critical application
need, it should not be out of the order
3/25/2024 41
Maintainability
• deals with support and maintenance to the end user in case of technical
issues and product failures or on the basis of a routine system check-up.
• A more reliable system means a system with less corrective maintainability
requirements and vice versa.
• As the reliability of the system increases,the chances of failure and non-
functioning also reduces, thereby the need for maintainability is also reduced.
• Maintainability can be broadly classified as
1. Scheduled or Periodic Maintenance (preventive maintenance)
2. Maintenance to unexpected failures (corrective maintenance)
3/25/2024 42
Security
protection of data and application from unauthorised
disclosure
Confidentiality
Availability –
Integrity- Some data may be visible to all users but there
may be no permissions to alter the data by the users.
Read Only access is allocated to all users
3/25/2024 43
Non-Operational Quality Attributes
1. Testability & Debug-ability
2. Evolvability
3. Portability
4. Time to prototype and market
5. Per unit and total cost.
3/25/2024 44
Testability & Debug-ability
• Testability- how easily one can test the design either
hardware or firmware
• Debug-ability - debugging the product, to figure out the
probable sources that create unexpected behaviour in the
total system.
Hardware debugging - the issues created by hardware
firmware debugging- figure out the probable errors in the
firmware.
3/25/2024 45
Evolvability
• Reconfigurable to take advantage of new firmware or
hardware technologies
3/25/2024 46
Portability - measure of ‘system independence’
• if the product is capable of functioning ‘as such’ in various
environments, target processors/
• controllers and embedded operating systems.
• The ease with which an embedded product can be ported on
to a new platform is a direct measure of the re-work required.
3/25/2024 47
Time-to-Prototype and Market
• Time-to-market- conceptualisation of a product and the time at which
the product is ready for selling
• critical factor in the success of a commercial embedded product.
• multiple players in the embedded industry who develop products of
the same category
• If you come up with a new design and if it takes long time to develop
and market it, the competitor product may take advantage of it with
their product
3/25/2024 48
Time-to-Prototype and Market
• Product prototyping helps a lot in reducing time-to-
market.
• Prototyping is an informal kind of rapid product
development in which the important features of the
product under consideration are developed.
• The time to prototype is also another critical factor. If
the prototype is developed faster, the actual
estimated development time can be brought down
significantly.
3/25/2024 49
Per Unit Cost and Revenue Cost
• Cost- highly sensitive factor for commercial products
• Proper market study and cost benefit analysis
• the budget and total system cost should be properly
balanced to provide a marginal profit
3/25/2024 50
The Product Life Cycle (PLC)
3/25/2024 51
• product idea
generation
• prototyping
• Roadmap
definition
• actual
product
design and
development
revenue increases from the
product introduction stage to
the product maturity stage
The unit
cost is very
high during
the
introductory
stage
Fundamental issues in Hardware Software Co-Design
• traditional embedded system development approach
• Hardware –software codesign
3/25/2024 52
functional
requirement-
product
requirements
captured from the
customer
system level
processing
requirements
transferred into
functions for
simulation
Use of programming
models for software
development
Hardware
development
development
Product Testing
----
-----
Program Models
• use of suitable a model to find solutions to a problem
• It is hard to make a decision on which model should be followed
• Most often designers switch between a variety of models from
the requirements
COMPUTATIONAL MODELS IN EMBEDDED DESIGN
commonly used computational models in embedded systemdesign.
• Data Flow Graph (DFG) model
• Sequential Program model
• Concurrent Process model
• Object Oriented model
• State Machine model
3/25/2024 54
Data Flow Graph/Diagram (DFG) Model
• translates the data processing
requirements into a data flow
graph
• a data driven model in which
the program execution is
determined by data
3/25/2024 55
Data Flow Graph/Diagram (DFG) Model
• a visual model in which the
operation on the data (process) is
represented using a circle and data
flow is represented using arrows
• Programmer predetermines the
data inputs and designs the
programming steps to generate the
data output
3/25/2024 56
Data Flow Graph/Diagram (DFG) Model
3/25/2024 57
• Embedded applications which are computational intensive and
data driven are modeled using the DFG model.
• Example- DSP applications
DFG
Acyclic
DFG
Cyclic
DFG
3/25/2024 58
Acyclic DFG (ADFG)
• doesn’t contain multiple values for the
input variable and multiple output values
for a given set of inputs
• there is no cycle, or closed path
non-acyclic DFG
Output is fed back to Input
DFG
• Helps in a simple code design.
• no control conditions and thus a single path for
the program flow.
• DFG model program translates and executes as a
single process sequential model program
Control DFG
• DFG model that may have
statements to controls input
and outputs
• It may have loops or conditional
statements for various designs
in the process
• CDFG is a graphically represents
the conditions and the program
flow along condition dependent
path
Control Data Flow Graph/ Diagram (CDFG)
3/25/2024 61
• CDFG contains both data flow nodes and decision nodes
whereas
• DFG contains only data flow nodes.
Example- If flag = 1, x = a + b; else y = a – b;
Sequential Program model
• Use of multiple function calls sequentially
63
3/25/2024
Seat Belt Warning System
• The warning system alerts the driver if the seatbelts are not
fastened when the car is started.
• It waits for few secs to fasten seat belts
• Car will move only if seat belt is fastened
3/25/2024 64
Seat Belt Warning’ system in concurrent processing model
1. Timer task for waiting 10 seconds (wait timer task)
2. Task for checking the ignition key status (ignition key status
monitoring task)
3. Task for checking the seat belt status (seat belt status
monitoring task)
4. Task for starting and stopping the alarm (alarm control task)
5. Alarm timer task for waiting 5 seconds (alarm timer task)
3/25/2024 65
Seat Belt Warning System
3/25/2024 66
• Sequential execution leads to a single sequential
execution of task
• leads to poor processor utilization, when the task involves
I/O waiting, sleeping for specified duration etc.
3/25/2024 67
concurrent or communicating process mode
• commonly used for the modelling of ‘Real Time’
systemsconcurrently executing tasks/processes.
• Sequential execution leads to a single sequential
execution of task
• Hence, leads to poor processor utilization, when the task
involves I/O waiting, sleeping for specified duration etc.
3/25/2024 68
concurrent process mode
• split the task into multiple subtasks
• tackle the CPU usage effectively, when the subtask under
execution goes to a wait or sleep mode, by switching the
task execution.
• requires additional overheads in task scheduling, task
synchronisation and communication.
3/25/2024 69
concurrent processing model
• commonly used for the modelling of ‘Real Time’ systems.
• Various techniques like ‘Shared memory’, ‘Message Passing’,
‘Events’, etc. are used for communication and synchronising
between concurrently executing processes.
3/25/2024 70
Seat Belt Warning’ system in concurrent processing model
1. Timer task for waiting 10 seconds (wait timer task)
2. Task for checking the ignition key status (ignition key status
monitoring task)
3. Task for checking the seat belt status (seat belt status
monitoring task)
4. Task for starting and stopping the alarm (alarm control task)
5. Alarm timer task for waiting 5 seconds (alarm timer task)
3/25/2024 71
Seat Belt Warning’ system in concurrent processing
model
3/25/2024 72
Tasks for ‘Seat Belt Warning System
Concurrent processing Program model for ‘Seat Belt
Warning System’
3/25/2024 73
State Machine model
• used for modelling reactive or event-driven embedded
systems whose processing behavior are dependent on
state transitions.
• Embedded systems used in the control and industrial
applications
• This model describes the system behaviour with
‘States’, ‘Events’, ‘Actions’ and ‘Transitions’.
‘IDLE’ state- During the normal condition when
the timer is not running it is said to be in the.
‘READY’ state - when the timer is loaded with
the count corresponding to the required time
delay. The timer remains in the ‘READY’ state
until a ‘Start Timer’ event occurs.
‘RUNNING’ state - on receiving a ‘Start Timer’
event and remains in the ‘RUNNING’ state until
the timer count expires or a ‘Stop Timer’ even
occurs.
State Machine model - Automatic seat Belt warning system
states - ‘Alarm Off’, ‘Waiting’ and ‘Alarm On’
events - ‘Ignition Key ON’, ‘Ignition Key OFF’, ‘Timer Expire’, ‘Alarm Time Expire’ and ‘Seat
Belt ON’
Design an automatic tea/coffee vending machine based on
FSM model for the following requirement
The tea/coffee vending is initiated by user
inserting a 5 rupee coin. After inserting the
coin, the user can either select ‘Coffee’ or
‘Tea’ or press ‘Cancel’ to cancel the order
and take back the coin
Design a coin operated public telephone unit based on FSM
model for the following requirements.
1. The calling process is initiated by lifting the receiver (off-hook) of the telephone
unit
2. After lifting the phone the user needs to insert a 1 rupee coin to make the call.
3. If the line is busy, the coin is returned on placing the receiver back on the hook
(on-hook)
4. If the line is through, the user is allowed to talk till 60 seconds and at the end of
45th second, prompt for inserting another 1 rupee coin for continuing the call is
initiated
5. If the user doesn’t insert another 1 rupee coin, the call is terminated on
completing the 60 seconds time slot.
6. The system is ready to accept new call request when the receiver is placed back
on the hook (on-hook)
7. The system goes to the ‘Out of Order’ state when there is a line fault
Object oriented programming model
• organized around objects rather than "actions" and “data” rather
than logic
• identify all the objects the programmer wants to manipulate and
how they relate to each other
• Java, Python, C++, Visual Basic .NET and Ruby are the most
popular OOP languages today.
82
3/25/2024
3/25/2024 83
3/25/2024 84
85
3/25/2024
Unit4 Complete
3/25/2024 86

More Related Content

Similar to UNIT4_ESD_wfffffggggggggggggith_ARM.pptx

Embedded system notes
Embedded system notesEmbedded system notes
Embedded system notes
TARUN KUMAR
 
Lecture 1- Introduction to Operating Systems.pdf
Lecture 1- Introduction to Operating Systems.pdfLecture 1- Introduction to Operating Systems.pdf
Lecture 1- Introduction to Operating Systems.pdf
Amanuelmergia
 
Cs2 ah0405 softwarerequirements
Cs2 ah0405 softwarerequirementsCs2 ah0405 softwarerequirements
Cs2 ah0405 softwarerequirements
MISHAQ6
 
Unit 1 final
Unit 1 finalUnit 1 final
Unit 1 final
sietkcse
 

Similar to UNIT4_ESD_wfffffggggggggggggith_ARM.pptx (20)

Initial Architectural Design (Game Architecture)
Initial Architectural Design (Game Architecture)Initial Architectural Design (Game Architecture)
Initial Architectural Design (Game Architecture)
 
E.s unit 6
E.s unit 6E.s unit 6
E.s unit 6
 
EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...
EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...
EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...
 
Embedded system notes
Embedded system notesEmbedded system notes
Embedded system notes
 
mechatronics.pdf
mechatronics.pdfmechatronics.pdf
mechatronics.pdf
 
Application cloudification with liberty and urban code deploy - UCD
Application cloudification with liberty and urban code deploy - UCDApplication cloudification with liberty and urban code deploy - UCD
Application cloudification with liberty and urban code deploy - UCD
 
2nd MODULE Software Requirements _ SW ENGG 22CSE141.pdf
2nd MODULE  Software Requirements   _ SW ENGG  22CSE141.pdf2nd MODULE  Software Requirements   _ SW ENGG  22CSE141.pdf
2nd MODULE Software Requirements _ SW ENGG 22CSE141.pdf
 
Windows 2000
Windows 2000Windows 2000
Windows 2000
 
Lecture 1- Introduction to Operating Systems.pdf
Lecture 1- Introduction to Operating Systems.pdfLecture 1- Introduction to Operating Systems.pdf
Lecture 1- Introduction to Operating Systems.pdf
 
Unit 6 Operating System TEIT Savitribai Phule Pune University by Tushar B Kute
Unit 6 Operating System TEIT Savitribai Phule Pune University by Tushar B KuteUnit 6 Operating System TEIT Savitribai Phule Pune University by Tushar B Kute
Unit 6 Operating System TEIT Savitribai Phule Pune University by Tushar B Kute
 
Cs2 ah0405 softwarerequirements
Cs2 ah0405 softwarerequirementsCs2 ah0405 softwarerequirements
Cs2 ah0405 softwarerequirements
 
Automatic Irrigation System Project Report
Automatic Irrigation System Project ReportAutomatic Irrigation System Project Report
Automatic Irrigation System Project Report
 
Embedded systems
Embedded systemsEmbedded systems
Embedded systems
 
RA Lecture 2 requirements analysis facilities
RA Lecture 2 requirements analysis  facilitiesRA Lecture 2 requirements analysis  facilities
RA Lecture 2 requirements analysis facilities
 
Introduction to Operating Systems - Mary Margarat
Introduction to Operating Systems - Mary MargaratIntroduction to Operating Systems - Mary Margarat
Introduction to Operating Systems - Mary Margarat
 
Lecture 7 - System Design (Data Modelling) (1).pdf
Lecture 7 - System Design (Data Modelling) (1).pdfLecture 7 - System Design (Data Modelling) (1).pdf
Lecture 7 - System Design (Data Modelling) (1).pdf
 
Unit 1 final
Unit 1 finalUnit 1 final
Unit 1 final
 
Elements of Systems Design.ppt
Elements of Systems Design.pptElements of Systems Design.ppt
Elements of Systems Design.ppt
 
Presentation1
Presentation1Presentation1
Presentation1
 
Chromium os architecture report
Chromium os  architecture reportChromium os  architecture report
Chromium os architecture report
 

More from realme6igamerr

Kumarswaeeeeeeeeerrrrrrrrrmy seminar.pptx
Kumarswaeeeeeeeeerrrrrrrrrmy seminar.pptxKumarswaeeeeeeeeerrrrrrrrrmy seminar.pptx
Kumarswaeeeeeeeeerrrrrrrrrmy seminar.pptx
realme6igamerr
 
balaji 1gg21vvvvvvbbbbbbbbbbbbbbec402.pptx
balaji 1gg21vvvvvvbbbbbbbbbbbbbbec402.pptxbalaji 1gg21vvvvvvbbbbbbbbbbbbbbec402.pptx
balaji 1gg21vvvvvvbbbbbbbbbbbbbbec402.pptx
realme6igamerr
 
presentation1-160114vgggghhhhh160114.pdf
presentation1-160114vgggghhhhh160114.pdfpresentation1-160114vgggghhhhh160114.pdf
presentation1-160114vgggghhhhh160114.pdf
realme6igamerr
 
lasercommunicationsystem-160325230142.pdf
lasercommunicationsystem-160325230142.pdflasercommunicationsystem-160325230142.pdf
lasercommunicationsystem-160325230142.pdf
realme6igamerr
 
lassercobbbbbnmmunication-170320093403.pdf
lassercobbbbbnmmunication-170320093403.pdflassercobbbbbnmmunication-170320093403.pdf
lassercobbbbbnmmunication-170320093403.pdf
realme6igamerr
 
laser-communication-1222866681398711-9.pdf
laser-communication-1222866681398711-9.pdflaser-communication-1222866681398711-9.pdf
laser-communication-1222866681398711-9.pdf
realme6igamerr
 
Prese vgggghhhhbbbbbbbbbbbbntation1.pptx
Prese vgggghhhhbbbbbbbbbbbbntation1.pptxPrese vgggghhhhbbbbbbbbbbbbntation1.pptx
Prese vgggghhhhbbbbbbbbbbbbntation1.pptx
realme6igamerr
 
1GG21EChhhshsjsjsjsjsjsjsjsjjsjs415.pptx
1GG21EChhhshsjsjsjsjsjsjsjsjjsjs415.pptx1GG21EChhhshsjsjsjsjsjsjsjsjjsjs415.pptx
1GG21EChhhshsjsjsjsjsjsjsjsjjsjs415.pptx
realme6igamerr
 
Presentatifffffffffffffffffffffffon1.pptx
Presentatifffffffffffffffffffffffon1.pptxPresentatifffffffffffffffffffffffon1.pptx
Presentatifffffffffffffffffffffffon1.pptx
realme6igamerr
 
Module_2_dspgggffffggggggggggggggga.pptx
Module_2_dspgggffffggggggggggggggga.pptxModule_2_dspgggffffggggggggggggggga.pptx
Module_2_dspgggffffggggggggggggggga.pptx
realme6igamerr
 
Presentationvgggghhhhhhhhhhhhhhhhh1.pptx
Presentationvgggghhhhhhhhhhhhhhhhh1.pptxPresentationvgggghhhhhhhhhhhhhhhhh1.pptx
Presentationvgggghhhhhhhhhhhhhhhhh1.pptx
realme6igamerr
 
Module1_dsffffffffffffffffffffgggpa.pptx
Module1_dsffffffffffffffffffffgggpa.pptxModule1_dsffffffffffffffffffffgggpa.pptx
Module1_dsffffffffffffffffffffgggpa.pptx
realme6igamerr
 
GggfffggggggggghhhhhhhhhTELEMEDICINE.pdf
GggfffggggggggghhhhhhhhhTELEMEDICINE.pdfGggfffggggggggghhhhhhhhhTELEMEDICINE.pdf
GggfffggggggggghhhhhhhhhTELEMEDICINE.pdf
realme6igamerr
 
Telemedicine in daily live , for humansa
Telemedicine in daily live , for humansaTelemedicine in daily live , for humansa
Telemedicine in daily live , for humansa
realme6igamerr
 

More from realme6igamerr (14)

Kumarswaeeeeeeeeerrrrrrrrrmy seminar.pptx
Kumarswaeeeeeeeeerrrrrrrrrmy seminar.pptxKumarswaeeeeeeeeerrrrrrrrrmy seminar.pptx
Kumarswaeeeeeeeeerrrrrrrrrmy seminar.pptx
 
balaji 1gg21vvvvvvbbbbbbbbbbbbbbec402.pptx
balaji 1gg21vvvvvvbbbbbbbbbbbbbbec402.pptxbalaji 1gg21vvvvvvbbbbbbbbbbbbbbec402.pptx
balaji 1gg21vvvvvvbbbbbbbbbbbbbbec402.pptx
 
presentation1-160114vgggghhhhh160114.pdf
presentation1-160114vgggghhhhh160114.pdfpresentation1-160114vgggghhhhh160114.pdf
presentation1-160114vgggghhhhh160114.pdf
 
lasercommunicationsystem-160325230142.pdf
lasercommunicationsystem-160325230142.pdflasercommunicationsystem-160325230142.pdf
lasercommunicationsystem-160325230142.pdf
 
lassercobbbbbnmmunication-170320093403.pdf
lassercobbbbbnmmunication-170320093403.pdflassercobbbbbnmmunication-170320093403.pdf
lassercobbbbbnmmunication-170320093403.pdf
 
laser-communication-1222866681398711-9.pdf
laser-communication-1222866681398711-9.pdflaser-communication-1222866681398711-9.pdf
laser-communication-1222866681398711-9.pdf
 
Prese vgggghhhhbbbbbbbbbbbbntation1.pptx
Prese vgggghhhhbbbbbbbbbbbbntation1.pptxPrese vgggghhhhbbbbbbbbbbbbntation1.pptx
Prese vgggghhhhbbbbbbbbbbbbntation1.pptx
 
1GG21EChhhshsjsjsjsjsjsjsjsjjsjs415.pptx
1GG21EChhhshsjsjsjsjsjsjsjsjjsjs415.pptx1GG21EChhhshsjsjsjsjsjsjsjsjjsjs415.pptx
1GG21EChhhshsjsjsjsjsjsjsjsjjsjs415.pptx
 
Presentatifffffffffffffffffffffffon1.pptx
Presentatifffffffffffffffffffffffon1.pptxPresentatifffffffffffffffffffffffon1.pptx
Presentatifffffffffffffffffffffffon1.pptx
 
Module_2_dspgggffffggggggggggggggga.pptx
Module_2_dspgggffffggggggggggggggga.pptxModule_2_dspgggffffggggggggggggggga.pptx
Module_2_dspgggffffggggggggggggggga.pptx
 
Presentationvgggghhhhhhhhhhhhhhhhh1.pptx
Presentationvgggghhhhhhhhhhhhhhhhh1.pptxPresentationvgggghhhhhhhhhhhhhhhhh1.pptx
Presentationvgggghhhhhhhhhhhhhhhhh1.pptx
 
Module1_dsffffffffffffffffffffgggpa.pptx
Module1_dsffffffffffffffffffffgggpa.pptxModule1_dsffffffffffffffffffffgggpa.pptx
Module1_dsffffffffffffffffffffgggpa.pptx
 
GggfffggggggggghhhhhhhhhTELEMEDICINE.pdf
GggfffggggggggghhhhhhhhhTELEMEDICINE.pdfGggfffggggggggghhhhhhhhhTELEMEDICINE.pdf
GggfffggggggggghhhhhhhhhTELEMEDICINE.pdf
 
Telemedicine in daily live , for humansa
Telemedicine in daily live , for humansaTelemedicine in daily live , for humansa
Telemedicine in daily live , for humansa
 

Recently uploaded

Digital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptxDigital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptx
pritamlangde
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Kandungan 087776558899
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ssuser89054b
 

Recently uploaded (20)

Electromagnetic relays used for power system .pptx
Electromagnetic relays used for power system .pptxElectromagnetic relays used for power system .pptx
Electromagnetic relays used for power system .pptx
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equation
 
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best ServiceTamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
 
Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdf
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
Digital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptxDigital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptx
 
Ground Improvement Technique: Earth Reinforcement
Ground Improvement Technique: Earth ReinforcementGround Improvement Technique: Earth Reinforcement
Ground Improvement Technique: Earth Reinforcement
 
Theory of Time 2024 (Universal Theory for Everything)
Theory of Time 2024 (Universal Theory for Everything)Theory of Time 2024 (Universal Theory for Everything)
Theory of Time 2024 (Universal Theory for Everything)
 
fitting shop and tools used in fitting shop .ppt
fitting shop and tools used in fitting shop .pptfitting shop and tools used in fitting shop .ppt
fitting shop and tools used in fitting shop .ppt
 
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxHOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...
Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...
Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...
 
Online electricity billing project report..pdf
Online electricity billing project report..pdfOnline electricity billing project report..pdf
Online electricity billing project report..pdf
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptxOrlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
 

UNIT4_ESD_wfffffggggggggggggith_ARM.pptx

  • 1. UNIT 4 7Hrs Embedded System Design Concepts: Characteristics and Quality Attributes of Embedded Systems, Operational and non-operational quality attributes, Embedded Systems-Application and Domain specific, Fundamental issues in Hardware Software Co-Design, Computational models in embedded design- DFG model, CDFG model State machine model, Concurrent Process model, Object Oriented model , Source file to object file translation. 25-03-2024 1
  • 2. Source file to object file translation 25-03-2024 2
  • 3. Embedded software in a system • Application specific software • In the final stage, it is placed in the memory (ROM) for all the tasks that have to be executed. • The final stage software is also called ROM image. Why? 3 3/25/2024
  • 4. ROM IMAGE Embedded software is a unique placement and arrangement of bytes for instructions and data. 4 3/25/2024
  • 5. Coding of software in machine code • time consuming • the programmer must first understand the processor instructions set and then memorize the instructions and their machine codes. 5 3/25/2024
  • 6. Software in processor specific assembly language • Coding in assembly language is easy to learn for a designer who has knowledge about machine specific instruction set • Assembly Coding is extremely useful for configuring physical devices like ports, a line-display interface, ADC and DAC and reading into or transmitting from a buffer • They are useful to run the device specific features and provide an optimal coding solution. • To do all the coding in assembly language may be very time consuming. • Full coding in assembly may be done only for a few simple, small- scale systems 6 3/25/2024
  • 7. Process of Converting Assembly Program to create ROM Image 7 3/25/2024 library - a collection of precompiled routines that a program can used
  • 8. Process of Converting Assembly Program/ C program to create ROM Image 8 3/25/2024 library - a collection of precompiled routines that a program can used
  • 9. Step1- assembling assembler translates assembly software into machine codes. step2- linking phase linker links no of codes with other assembled codes. Linking produces the final binary file by linking all these. The linked file in a computer is commonly known as .exe file. step3- reallocation of codes is done by placing it in physical memory by a program called loader. Loader finds out appropriate position in RAM that is ready to run. Step4- locating phase ROM image is permanently placed in actually available address of ROM. 9 3/25/2024
  • 12. 12 Linking All of the object must be linked together to produce a single object file, called the relocatable program. The job of the linker is to combine these object files and to resolve all of the unresolved symbols 3/25/2024
  • 14. 14 Locator- The tool that performs the conversion from relocatable program to executable binary image It then produces an output file that contains a binary memory image that can be loaded into the target. 3/25/2024
  • 15. • Loader: A program which loads the executable file to the primary memory of the machine. • It is a part of OS • After reading .exe file loader places the code in memory. This is necessary as memory addresses may not start from 0000H • Loader finds appropriate start address and reallocates the codes • In computer after loader loads, section of program is ready to run 15 3/25/2024
  • 16. 16 The loader does the following things: • Allocates primary memory for the program's execution. • Copies address space from secondary to primary memory. • Copies the .text and .data sections from the executable into primary memory. • Copies program arguments (e.g., command line arguments) onto the stack. • Initializes registers 3/25/2024
  • 17. 17 Statically allocated and global data Block Started by Symbol Local variables are allocated Memory layout for a process 3/25/2024
  • 18. Difference in Linker and Loader 18 3/25/2024
  • 20. 20 The software for the embedded system varies depending on the functionality needed. . The RTOS can help the programmer separate the application’s functionality into distinct tasks for better organization of the application software and a more responsive system. 3/25/2024
  • 21. Different program layers in the embedded software in C 21 3/25/2024
  • 22. 22 Hardware Abstraction Layer- a software abstraction layer between the embedded system hardware and OS 3/25/2024
  • 23. Application Layer • located at the top level of the software hierarchy • provides services directly to user application 23 3/25/2024
  • 24. Bootloader -similar to BIOS • a program that runs before the OS kernel executes. • It completes the initialization of the hardware • enables the hardware and software environment to reach an appropriate state for the final scheduling of the system kernel. • From the perspective of end users, the bootloader is used to load the OS. 24 3/25/2024
  • 25. BSP- Board support packages • provides a standardized interface between hardware and the operating system • is used to start up and run the embedded target processor • does not directly access hardware. • A BSP Contains hardware-specific drivers and other routines that allow a particular operating system to function in a particular hardware environment 25 3/25/2024
  • 26. OS layer • Scheduling, files synchronization, and networking • Example- Windows Embedded Compact, embedded Linux, VxWorks, MeeGo, Tizen, Android, Ubuntu, • outstanding real-time and reliable features widely used in communications, military, aerospace, aviation 26 3/25/2024
  • 27. Kernel- software collection in OS • core component of an operating system. • responsible for translating the command which computer understands • It handles the hardware, timing, peripherals, memory, disks, user access • Using interprocess communication and system calls, it acts as a bridge between applications and the data processing performed at the hardware level. • When an operating system is loaded into memory, the kernel loads first and remains in memory until the operating system is shut down again. 27 3/25/2024
  • 28. Functions of Kernel • Memory allocation • task scheduling • inter-process communication • effective management of shared memory 28 3/25/2024
  • 29. System service layer 29 • a link between the OS and applications • applications can access various services provided by the OS. • A GUI library for various GUI programming interfaces, to interact with users through application windows, menus, dialog boxes, and other graphic forms instead of a command line. 3/25/2024
  • 30. Important characteristics of an embedded system 1. Application and domain specific 2. Reactive and Real Time 3. Operates in harsh environments 4. Distributed 5. Small size and weight 6. Power concern 3/25/2024 30
  • 31. Application and Domain Specific • Fixed functions- each embedded system is designed to perform a set of defined functions They cannot be used for any other purpose. It is the major criterion which distinguishes an embedded system from a general purpose computing system. • Specific design and Purpose- cannot replace the embedded unit of one system from another, designed to perform certain specific tasks. 3/25/2024 31
  • 32. Embedded Systems are Reactive produce changes in output in response to the changes in the input. • constant interaction with the Real world through sensors and user-defined input devices • Controlling output variables to the desired level. 3/25/2024 32
  • 33. Real Time • All embedded systems are not Real Time. • Real Time System operation- the timing behaviour of the system should be deterministic; the system should respond to requests or tasks in a known amount of time. • A Real Time system should not miss any deadlines for tasks or operations. • Embedded applications or systems which are mission critical, like flight control systems, Antilock Brake Systems (ABS), etc. are examples of Real Time systems. 3/25/2024 33
  • 34. Operates in Harsh Environment • Adverse operating conditions- It is not necessary that all embedded systems should be deployed in controlled environments. • Embedded system should withstand in all operating conditions. • The design should take care of the operating conditions of the area where the system is going to implement. • Power supply fluctuations, corrosion and component aging are the other factors that need to be taken into consideration for embedded systems to work in harsh environments. 3/25/2024 34
  • 35. Distributed System- may be a part of larger systems • Example- Automatic Teller Machine (ATM) card reader- for reading and validating the user’s ATM card  transaction unit -for performing transactions currency counter- for dispatching/vending currency to the authorised person printer unit- for printing the transaction details. 3/25/2024 35
  • 36. Small Size and Weight • Product aesthetics is an important factor in choosing a product • the product aesthetics- (size, weight, shape, style, will be one of the deciding factors to choose a product. 3/25/2024 36
  • 37. Power Concerns • Power management is important factor to be considered • to minimise the heat dissipation by the system. • The production of high amount of heat demands cooling requirements like cooling fans which in turn occupies additional space and make the system bulky. • design according to the low power components, controllers • processors with power saving modes. • Also power management is a critical constraint in battery operated application. 3/25/2024 37
  • 38. Operational Quality Attributes 1. Response 2. Throughput 3. Reliability 4. Maintainability 5. Security 6. Safety 3/25/2024 38
  • 39. Response • how fast your system is tracking the changes in input variables. • Most of the embedded systems demand fast response which should be almost Real Time. • It is not necessary that all embedded systems should be Real Time in response. • For example, the response time requirement for an electronic toy is not at all time-critical .There is no specific deadline that this system should respond within this particular timeline. 3/25/2024 39
  • 40. Throughput • Throughput deals with the efficiency of a system. • rate of production or operation of a defined process over a stated period of time. • Example- For Card Reader, throughput means how many transactions the Reader can perform in a minute or in an hour or in a day. • Throughput is generally measured in terms of ‘Benchmark’. ‘Benchmark’ is a reference point by which something can be measured. 3/25/2024 40
  • 41. Reliability • % proper functioning of the system • Mean Time Between Failures ( MTBF) and Mean Time To Repair ( MTTR) are the terms used in defining system reliability. • the system is allowed to be out of order following a failure. • For an embedded system with critical application need, it should not be out of the order 3/25/2024 41
  • 42. Maintainability • deals with support and maintenance to the end user in case of technical issues and product failures or on the basis of a routine system check-up. • A more reliable system means a system with less corrective maintainability requirements and vice versa. • As the reliability of the system increases,the chances of failure and non- functioning also reduces, thereby the need for maintainability is also reduced. • Maintainability can be broadly classified as 1. Scheduled or Periodic Maintenance (preventive maintenance) 2. Maintenance to unexpected failures (corrective maintenance) 3/25/2024 42
  • 43. Security protection of data and application from unauthorised disclosure Confidentiality Availability – Integrity- Some data may be visible to all users but there may be no permissions to alter the data by the users. Read Only access is allocated to all users 3/25/2024 43
  • 44. Non-Operational Quality Attributes 1. Testability & Debug-ability 2. Evolvability 3. Portability 4. Time to prototype and market 5. Per unit and total cost. 3/25/2024 44
  • 45. Testability & Debug-ability • Testability- how easily one can test the design either hardware or firmware • Debug-ability - debugging the product, to figure out the probable sources that create unexpected behaviour in the total system. Hardware debugging - the issues created by hardware firmware debugging- figure out the probable errors in the firmware. 3/25/2024 45
  • 46. Evolvability • Reconfigurable to take advantage of new firmware or hardware technologies 3/25/2024 46
  • 47. Portability - measure of ‘system independence’ • if the product is capable of functioning ‘as such’ in various environments, target processors/ • controllers and embedded operating systems. • The ease with which an embedded product can be ported on to a new platform is a direct measure of the re-work required. 3/25/2024 47
  • 48. Time-to-Prototype and Market • Time-to-market- conceptualisation of a product and the time at which the product is ready for selling • critical factor in the success of a commercial embedded product. • multiple players in the embedded industry who develop products of the same category • If you come up with a new design and if it takes long time to develop and market it, the competitor product may take advantage of it with their product 3/25/2024 48
  • 49. Time-to-Prototype and Market • Product prototyping helps a lot in reducing time-to- market. • Prototyping is an informal kind of rapid product development in which the important features of the product under consideration are developed. • The time to prototype is also another critical factor. If the prototype is developed faster, the actual estimated development time can be brought down significantly. 3/25/2024 49
  • 50. Per Unit Cost and Revenue Cost • Cost- highly sensitive factor for commercial products • Proper market study and cost benefit analysis • the budget and total system cost should be properly balanced to provide a marginal profit 3/25/2024 50
  • 51. The Product Life Cycle (PLC) 3/25/2024 51 • product idea generation • prototyping • Roadmap definition • actual product design and development revenue increases from the product introduction stage to the product maturity stage The unit cost is very high during the introductory stage
  • 52. Fundamental issues in Hardware Software Co-Design • traditional embedded system development approach • Hardware –software codesign 3/25/2024 52 functional requirement- product requirements captured from the customer system level processing requirements transferred into functions for simulation Use of programming models for software development Hardware development development Product Testing ---- -----
  • 53. Program Models • use of suitable a model to find solutions to a problem • It is hard to make a decision on which model should be followed • Most often designers switch between a variety of models from the requirements
  • 54. COMPUTATIONAL MODELS IN EMBEDDED DESIGN commonly used computational models in embedded systemdesign. • Data Flow Graph (DFG) model • Sequential Program model • Concurrent Process model • Object Oriented model • State Machine model 3/25/2024 54
  • 55. Data Flow Graph/Diagram (DFG) Model • translates the data processing requirements into a data flow graph • a data driven model in which the program execution is determined by data 3/25/2024 55
  • 56. Data Flow Graph/Diagram (DFG) Model • a visual model in which the operation on the data (process) is represented using a circle and data flow is represented using arrows • Programmer predetermines the data inputs and designs the programming steps to generate the data output 3/25/2024 56
  • 57. Data Flow Graph/Diagram (DFG) Model 3/25/2024 57 • Embedded applications which are computational intensive and data driven are modeled using the DFG model. • Example- DSP applications
  • 58. DFG Acyclic DFG Cyclic DFG 3/25/2024 58 Acyclic DFG (ADFG) • doesn’t contain multiple values for the input variable and multiple output values for a given set of inputs • there is no cycle, or closed path non-acyclic DFG Output is fed back to Input
  • 59. DFG • Helps in a simple code design. • no control conditions and thus a single path for the program flow. • DFG model program translates and executes as a single process sequential model program
  • 60. Control DFG • DFG model that may have statements to controls input and outputs • It may have loops or conditional statements for various designs in the process • CDFG is a graphically represents the conditions and the program flow along condition dependent path
  • 61. Control Data Flow Graph/ Diagram (CDFG) 3/25/2024 61 • CDFG contains both data flow nodes and decision nodes whereas • DFG contains only data flow nodes. Example- If flag = 1, x = a + b; else y = a – b;
  • 62.
  • 63. Sequential Program model • Use of multiple function calls sequentially 63 3/25/2024
  • 64. Seat Belt Warning System • The warning system alerts the driver if the seatbelts are not fastened when the car is started. • It waits for few secs to fasten seat belts • Car will move only if seat belt is fastened 3/25/2024 64
  • 65. Seat Belt Warning’ system in concurrent processing model 1. Timer task for waiting 10 seconds (wait timer task) 2. Task for checking the ignition key status (ignition key status monitoring task) 3. Task for checking the seat belt status (seat belt status monitoring task) 4. Task for starting and stopping the alarm (alarm control task) 5. Alarm timer task for waiting 5 seconds (alarm timer task) 3/25/2024 65
  • 66. Seat Belt Warning System 3/25/2024 66
  • 67. • Sequential execution leads to a single sequential execution of task • leads to poor processor utilization, when the task involves I/O waiting, sleeping for specified duration etc. 3/25/2024 67
  • 68. concurrent or communicating process mode • commonly used for the modelling of ‘Real Time’ systemsconcurrently executing tasks/processes. • Sequential execution leads to a single sequential execution of task • Hence, leads to poor processor utilization, when the task involves I/O waiting, sleeping for specified duration etc. 3/25/2024 68
  • 69. concurrent process mode • split the task into multiple subtasks • tackle the CPU usage effectively, when the subtask under execution goes to a wait or sleep mode, by switching the task execution. • requires additional overheads in task scheduling, task synchronisation and communication. 3/25/2024 69
  • 70. concurrent processing model • commonly used for the modelling of ‘Real Time’ systems. • Various techniques like ‘Shared memory’, ‘Message Passing’, ‘Events’, etc. are used for communication and synchronising between concurrently executing processes. 3/25/2024 70
  • 71. Seat Belt Warning’ system in concurrent processing model 1. Timer task for waiting 10 seconds (wait timer task) 2. Task for checking the ignition key status (ignition key status monitoring task) 3. Task for checking the seat belt status (seat belt status monitoring task) 4. Task for starting and stopping the alarm (alarm control task) 5. Alarm timer task for waiting 5 seconds (alarm timer task) 3/25/2024 71
  • 72. Seat Belt Warning’ system in concurrent processing model 3/25/2024 72 Tasks for ‘Seat Belt Warning System
  • 73. Concurrent processing Program model for ‘Seat Belt Warning System’ 3/25/2024 73
  • 74. State Machine model • used for modelling reactive or event-driven embedded systems whose processing behavior are dependent on state transitions. • Embedded systems used in the control and industrial applications • This model describes the system behaviour with ‘States’, ‘Events’, ‘Actions’ and ‘Transitions’.
  • 75.
  • 76. ‘IDLE’ state- During the normal condition when the timer is not running it is said to be in the. ‘READY’ state - when the timer is loaded with the count corresponding to the required time delay. The timer remains in the ‘READY’ state until a ‘Start Timer’ event occurs. ‘RUNNING’ state - on receiving a ‘Start Timer’ event and remains in the ‘RUNNING’ state until the timer count expires or a ‘Stop Timer’ even occurs.
  • 77. State Machine model - Automatic seat Belt warning system states - ‘Alarm Off’, ‘Waiting’ and ‘Alarm On’ events - ‘Ignition Key ON’, ‘Ignition Key OFF’, ‘Timer Expire’, ‘Alarm Time Expire’ and ‘Seat Belt ON’
  • 78. Design an automatic tea/coffee vending machine based on FSM model for the following requirement The tea/coffee vending is initiated by user inserting a 5 rupee coin. After inserting the coin, the user can either select ‘Coffee’ or ‘Tea’ or press ‘Cancel’ to cancel the order and take back the coin
  • 79.
  • 80. Design a coin operated public telephone unit based on FSM model for the following requirements. 1. The calling process is initiated by lifting the receiver (off-hook) of the telephone unit 2. After lifting the phone the user needs to insert a 1 rupee coin to make the call. 3. If the line is busy, the coin is returned on placing the receiver back on the hook (on-hook) 4. If the line is through, the user is allowed to talk till 60 seconds and at the end of 45th second, prompt for inserting another 1 rupee coin for continuing the call is initiated 5. If the user doesn’t insert another 1 rupee coin, the call is terminated on completing the 60 seconds time slot. 6. The system is ready to accept new call request when the receiver is placed back on the hook (on-hook) 7. The system goes to the ‘Out of Order’ state when there is a line fault
  • 81.
  • 82. Object oriented programming model • organized around objects rather than "actions" and “data” rather than logic • identify all the objects the programmer wants to manipulate and how they relate to each other • Java, Python, C++, Visual Basic .NET and Ruby are the most popular OOP languages today. 82 3/25/2024