Hardware Software Co-Design:→
Computational Models in ES
Few of the computational models used in Embedded system are
listed below:
1. Data Flow Graph / Diagram (DFG) Model
2. Control Data Flow Graph / Diagram (CDFG) Model
3. State Machine Model
4. Sequential Program Model
5. Concurrent / Communicating Process Model
6. Object-Oriented Model
Hardware Software Co-Design:→ Computational
Models in ES
1. 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.
• Emphasizes on the data and
operations on the data which
transforms the input data to
output data.
Hardware Software Co-Design:→
Computational Models in ES
1. Data Flow Graph / Diagram (DFG)
Model :→ Consist of
• Process:→The operation on the data,
represented using a block (circle)
• Data flow:→Is represented using
arrows.
– An inward arrow to the process
(circle) represents input data
– An outward arrow from the process
(circle) represents output data in
DFG notation
• Best suited for modeling Embedded
systems which are computational
intensive (like DSP applications)
Department of ISE BMS Institute of Technology and Mgmt
Hardware Software Co-Design:→
Computational Models in ES
2. Control Data Flow Graph / Diagram (CDFG)
Model :
• It is similar to DFG model but only difference
is:→ Contains both data operations and
control operations
• Model used for:→conditional program
execution
• Construction is same as DFG in addition:→it
has conditional (constructs) as decision
makers known as decision nodes.
The control• node is represented by a
‘Diamond’ block which is the decision
making element in a normal flow chart
based design
Hardware Software Co-Design:→
Computational Models in ES
2. Control Data Flow Graph / Diagram
If flag = 1, x = a + b;
(CDFG) Model : else y = a-b;
• Translates the requirement, which is
modeled to a concurrent process
model
• The decision on which process is to be
executed is determined by the control
node
• Example(Application):Digital Camera
– Capturing of image
– Storing it in the format selected
(bmp, jpg, tiff, etc.)
Hardware Software Co-Design:→
Computational Models in ES
3. State Machine Model :
• Based on ‘States’ and ‘State Transition’
• Describes the system behavior with:→
– States
• Representation of a current situation.
– Events
• Input to the state
• It acts as stimuli for state transition.
– Actions
• Action is an activity to be performed by
the state machine.
– Transitions
• Is the movement from one state to
another.
Hardware Software Co-Design:→ Computational Models in ES
3. State Machine Model :
• A Finite State Machine (FSM) Model is one in which the number of states
are finite. In other words the system is described using a finite number of
possible states.
• E.g. Automatic ‘Seat Belt Warning’ in an automotive
▪ When the vehicle ignition is
turned on:
▪ The seat belt is not fastened
within 10 seconds of ignition ON
▪ The system generates an alarm
signal for 5 seconds.
▪ The Alarm is turned off :
▪ The alarm time (5 seconds)
expires
▪ if the driver/passenger fastens
the belt or if the ignition switch is
turned off, whichever happens
first.
Hardware Software Co-Design:→
Computational Models in ES
3. Sequential Program Model:
• The functions or processing requirements are executed in
sequence
• The program instructions are iterated and executed
conditionally and the data gets transformed through a series of
operations
• FSMs are good choice for sequential Program modeling.
• Flow Charts is another important tool used for modeling
sequential program
• The FSM approach represents the states, events, transitions
and actions, whereas the Flow Chart models the execution flow
Hardware Software Co-Design:→
Computational Models in ES
3. State Machine Model :
• E.g. Model of Timer
Sequential Program Model:
E.g. Automatic ‘Seat Belt Warning’
in an automotive
Department of ISE
Sequential Program Model:
E.g. Automatic ‘Seat Belt Warning’
in an automotive
Department of ISE
Hardware Software Co-Design:→
Computational Models in ES
4. Concurrent / Communicating Process Model:
• Certain processing requirements are easier to model in
concurrent processing model than the conventional sequential
execution.
• Sequential execution leads to a single sequential execution of
task and thereby leads to poor processor utilization, when the
task involves I/O waiting, sleeping for specified duration etc.
• If the task is split into multiple subtasks, it is possible to tackle
the CPU usage effectively, when the subtask under execution
goes to a wait or sleep mode, by switching the task execution.
• Concurrent processing model requires additional overheads in
task scheduling, task synchronization and communication
Concurrent /Communicating Process Model:
E.g. Automatic ‘Seat Belt Warning’ in an automotive
Department of ISE BMS InstituteofofISE
Department Technology and Mgmt
BMS Institute of Technology and Mgmt
Hardware Software Co-Design:→
Computational Models in ES
5. Object-Oriented Model:
• It is object based model for system requirements.
• A Complex requirement→ into simple pieces called objects.
• This model brings:
– Reusability, Maintainability and Productivity.
• Object is represented as an entity
– Each object has a set of unique behaviour and state
• A class is an abstract description i.e. blue print of object.
• Member variables, member functions, private, public,
protected, inheritance, hiding, abstraction etc.