Académique Documents
Professionnel Documents
Culture Documents
IS ZC424
S. S. Samant
surender.samant@hyderabad.bits-pilani.ac.in
IS ZC424 (Software for Embedded System) 16
th
Jan, 2014
Objective
To introduce embedded and real-time nature of
systems and educate in methodologies, tools and
techniques for designing such software.
IS ZC424 (Software for Embedded System) 16
th
Jan, 2014
Prerequisites
Basic computer architecture
Programming concepts in OOP (C++)
Operating system concepts
IS ZC424 (Software for Embedded System) 16
th
Jan, 2014
Course modules
Module Title No of
classes
1
Introduction to Real-Time and Embedded Systems
1
2
Object Orientation with UML 2.0 Structural
Aspects
1
3
Object Orientation with UML 2.0 Dynamic
Aspects
2
4
UML Profile for Schedulability, Performance and
Time.
1
5
Requirements Analysis of Real Time Systems
2
6
Analysis: Object Domain Analysis
1
Review
1
7
Analysis: Defining Object Behavior
2
8
Architectural Design
2
9
Mechanistic Design
2
10
Detailed Design
2
Review
1
IS ZC424 (Software for Embedded System) 16
th
Jan, 2014
Instructor
E-Mail: surender.samant@hyderabad.bits-pilani.ac.in
IS ZC424 (Software for Embedded System) 16
th
Jan, 2014
Text book
Real-Time UML, Third Edition, 2004
by
Bruce Powel Douglass, Pearson Education
IS ZC424 (Software for Embedded System) 16
th
Jan, 2014
Reference books
Douglass, Real-Time UML Workshop for
Embedded Systems, Elsevier, 1
st
Edition, 2011
You may consult any other book related to
Embedded systems
IS ZC424 (Software for Embedded System) 16
th
Jan, 2014
Evaluation
Evaluation
Component
Type Duration Weight
EC-1 Quiz 3 * (5% each) 15%
EC-2 Mid-Semester Test
(Closed Book)
2 hours 35%
EC-3 Comprehensive Exam
(Open Book)
3 hours 50%
IS ZC424 (Software for Embedded System) 16
th
Jan, 2014
Motivation
A world of embedded systems
Need formal design and development
techniques
Need focus on certain design criteria
Reliability
Safety
Real-Time
A foundation course for
Solutions development
Real-Time system concepts
IS ZC424 (Software for Embedded System) 16
th
Jan, 2014
Scope
Study distinct characteristics of Embedded &
Real-Time systems
Focus on
Real-Time system issues
Specification, modeling, and design methodologies
for embedded systems
Case studies
IS ZC424 (Software for Embedded System) 16
th
Jan, 2014
Embedded System Overview
IS ZC424 (Software for Embedded System) 16
th
Jan, 2014
Overview
Computing systems are everywhere
Most of us think of computers as
?
IS ZC424 (Software for Embedded System) 16
th
Jan, 2014
Overview
Computing systems are everywhere
Most of us think of computers as
PCs, Laptops/tablets, Mainframes
IS ZC424 (Software for Embedded System) 16
th
Jan, 2014
Overview
Computing systems are everywhere
Most of us think of computers as
PCs, Laptops/tablets, Mainframes
But theres another type of computing system
?
IS ZC424 (Software for Embedded System) 16
th
Jan, 2014
Overview..
Embedded computing
systems
Computing systems embedded
within electronic devices
Hard to define. Nearly any
computing system other than a
general-purpose computer
Billions of units produced yearly,
versus millions of desktop units
Perhaps more than a dozen per
household and per automobile
Computers are in
here...
and here...
and even here...
Lots more of these,
though they cost a lot
less each.
IS ZC424 (Software for Embedded System) 16
th
Jan, 2014
A short list of embedded
systems
And the list goes on and on
Anti-lock brakes
Auto-focus cameras
Automatic teller machines
Automatic toll systems
Automatic transmission
Avionic systems
Battery chargers
Camcorders
Cell phones
Cell-phone base stations
Cordless phones
Cruise control
Curbside check-in systems
Digital cameras
Disk drives
Electronic card readers
Electronic instruments
Electronic toys/games
Factory control
Fax machines
Fingerprint identifiers
Home security systems
Life-support systems
Medical testing systems
Modems
MPEG decoders
Network cards
Network switches/routers
On-board navigation
Pagers
Photocopiers
Point-of-sale systems
Portable video games
Printers
Satellite phones
Scanners
Smart ovens/dishwashers
Speech recognizers
Stereo systems
Teleconferencing systems
Temperature controllers
Theft tracking systems
TV set-top boxes
DVD players
Video game consoles
Washers and dryers
IS ZC424 (Software for Embedded System) 16
th
Jan, 2014
Common characteristics
Single-functioned
Mostly execute a single program, repeatedly
IS ZC424 (Software for Embedded System) 16
th
Jan, 2014
Common characteristics
Single-functioned
Mostly execute a single program, repeatedly
while(1)
{
Embedded system code
}
IS ZC424 (Software for Embedded System) 16
th
Jan, 2014
Common characteristics
Single-functioned
Mostly execute a single program, repeatedly
Tightly-constrained
Low cost, low power, small
IS ZC424 (Software for Embedded System) 16
th
Jan, 2014
Common characteristics
Single-functioned
Mostly execute a single program, repeatedly
Tightly-constrained
Low cost, low power, small
Reactive, Real-time
IS ZC424 (Software for Embedded System) 16
th
Jan, 2014
Common characteristics
Single-functioned
Mostly execute a single program, repeatedly
Tightly-constrained
Low cost, low power, small
Reactive, Real-time
Often run continuously for a long period
IS ZC424 (Software for Embedded System) 16
th
Jan, 2014
Contains a computer as part of a larger system
Primary job is not to provide standard computing
services
Often work in hazardous conditions, remotely
Watchdog Timers are used
Numerous examples Microwave ovens,
Washing machines, MP3 player, Digital camera,
Space probes, ABS, etc.
Common characteristics
IS ZC424 (Software for Embedded System) 16
th
Jan, 2014
An example -- a digital camera
Microcontroller
CCD preprocessor Pixel coprocessor
A2D
D2A
JPEG codec
DMA controller
Memory controller ISA bus interface UART LCD ctrl
Display ctrl
Multiplier/Accum
Digital camera chip
lens
CCD
Single-functioned -- always a digital camera
Tightly-constrained -- Low cost, low power, small, fast
Reactive and real-time -- only to a small extent
IS ZC424 (Software for Embedded System) 16
th
Jan, 2014
Another example - Mobile phone
Single-functioned -- always a mobile phone
Tightly-constrained -- Low cost, low power, small, fast
Reactive and real-time -- only to a small extent
Image courtesy: Embedded Systems by
James Peckol
IS ZC424 (Software for Embedded System) 16
th
Jan, 2014
Combination of h/w and s/w parts, a system
within another system, that we bring together
into products
What is an Embedded System?
IS ZC424 (Software for Embedded System) 16
th
Jan, 2014
Combination of h/w and s/w parts, a system
within another system, that we bring together
into products
Embedded systems allow us to make products
that are smaller, faster, more reliable, and
cheaper
What is an Embedded System?
IS ZC424 (Software for Embedded System) 16
th
Jan, 2014
Combination of h/w and s/w parts, a system
within another system, that we bring together
into products
Embedded systems allow us to make products
that are smaller, faster, more reliable, and
cheaper
Allow us to bring powerful features and
capabilities into everyday things
What is an Embedded System?
IS ZC424 (Software for Embedded System) 16
th
Jan, 2014
Combination of h/w and s/w parts, a system
within another system, that we bring together
into products
Embedded systems allow us to make products
that are smaller, faster, more reliable, and
cheaper
Allow us to bring powerful features and
capabilities into everyday things
Intended to do intended job quietly, reliably, out
of sight inside some larger system
we become aware when they fail
What is an Embedded System?
IS ZC424 (Software for Embedded System) 16
th
Jan, 2014
Real-Time System - Definition
Coarse definition
A system which is required to complete its work
and deliver its services on a timely basis
Ex:
Digital control
Signaling
Radar systems
Guided missiles
Multimedia applications
Alarm management
IS ZC424 (Software for Embedded System) 16
th
Jan, 2014
Real-Time systems
Timing constraints:
Hard dead lines
Soft dead lines
Tardiness
Measured in deterministic or probabilistic terms
IS ZC424 (Software for Embedded System) 16
th
Jan, 2014
Examples
Hard real-time:
Flight control
Railway signaling
Anti-lock brakes
Etc.
Soft real-time:
Stock trading system
DVD player
Mobile phone
Etc
IS ZC424 (Software for Embedded System) 16
th
Jan, 2014
Jobs and tasks
A job is a unit of work that is scheduled and executed by
a system
computation of a control-law
computation of an FFT on sensor data,
transmission of a data packet,
retrieval of a file
A task is a set of related jobs which jointly provide some
function
keeping an airplane flying at a constant altitude
IS ZC424 (Software for Embedded System) 16
th
Jan, 2014
Processors and Resources
A job executes or is executed by the operating system
on a processor and may depend on some resources
Processor (P):
active resource: computers, hard disks, database
servers, etc.
have speed as attribute
Resource (R):
a passive entity that a job may need: memory,
mutexes, locks, etc.
IS ZC424 (Software for Embedded System) 16
th
Jan, 2014
Execution Time
A job J
i
will execute for time e
i
Amount of time required to complete the execution
of J
i
when it executes alone and has all the resources
it needs
IS ZC424 (Software for Embedded System) 16
th
Jan, 2014
Release and Response Time
Release time
The instant in time when a job becomes
available for execution
Response time
The length of time from the release time of the
job to the time instant when it completes
IS ZC424 (Software for Embedded System) 16
th
Jan, 2014
Deadlines and Timing Constraints
Completion time the instant at which a job completes execution
Relative deadline the maximum allowable job response time
Absolute deadline the instant of time by which a job is required
to be completed (often called simply the deadline)
absolute deadline = release time + relative deadline
Feasible interval for a job J
i
is the interval (r
i
, d
i
]
IS ZC424 (Software for Embedded System) 16
th
Jan, 2014
Example Control law computation
A system to monitor and control a heating furnace
Every 100 ms,
Samples, reads temperature
Computes the control-law,
Adjusts flow rates
First control-law computation begins at 20 ms (Job J
0
)
IS ZC424 (Software for Embedded System) 16
th
Jan, 2014
Example Control law computation
A system to monitor and control a heating furnace
Every 100 ms,
Samples, reads temperature
Computes the control-law,
Adjusts flow rates
First control-law computation begins at 20 ms (Job J
0
)
The release time of J
k
is 20 + (k 100) ms, for k=0, 1, 2,
IS ZC424 (Software for Embedded System) 16
th
Jan, 2014
Example Control law computation
A system to monitor and control a heating furnace
Every 100 ms,
Samples, reads temperature
Computes the control-law,
Adjusts flow rates
First control-law computation begins at 20 ms (Job J
0
)
The release time of J
k
is 20 + (k 100) ms, for k=0, 1, 2,
The computation must finish before the subsequent job is released
The deadline are ?
IS ZC424 (Software for Embedded System) 16
th
Jan, 2014
Example Control law computation
A system to monitor and control a heating furnace
Every 100 ms,
Samples, reads temperature
Computes the control-law,
Adjusts flow rates
First control-law computation begins at 20 ms (Job J
0
)
The release time of J
k
is 20 + (k 100) ms, for k=0, 1, 2,
The computation must finish before the subsequent job is released
The deadline are 120 ms, 220ms, 320 ms,
IS ZC424 (Software for Embedded System) 16
th
Jan, 2014
Example..
IS ZC424 (Software for Embedded System) 16
th
Jan, 2014
Example Control law computation
A system to monitor and control a heating furnace
Every 100 ms,
Samples, reads temperature
Computes the control-law,
Adjusts flow rates
First control-law computation begins at 20 ms (Job J
0
)
The release time of J
k
is 20 + (k 100) ms, for k=0, 1, 2,