Introduction to Realtime Systems
& Embedded Systems
B. Ramamurthy
CSE321
This course is partially supported National Science
Foundation NSF DUE Grant: 0737243
7/14/2017
1
The course will enable you to:
Understand and design embedded systems
and real-time systems
For real-time systems:
◦ Identify the unique characteristics of real-time
systems
◦ Explain the general structure of a real-time
system
◦ Define the unique design problems and challenges
of real-time systems
◦ Apply real-time systems design techniques to
various software programs.
7/14/2017
2
Course overview
For embedded systems it will enable you
to :
◦ Understand the basics of an embedded
system
◦ Program an embedded system
◦ Design, implement and test an embedded
system.
◦ Ex: realtime + embedded : heart pacemaker
◦ Ex: realtime: online video games
7/14/2017
3
Global Embedded Systems Market
Global Embedded Systems Market,
2003-2009($ Millions):
Source BBC Inc.
http://www.the-infoshop.com/study/bc31319-embedded-systems.html
7/14/2017
4
Example real-time and embedded systems
Domain
Application
Avionics
Navigation; displays
Multimedia
Games; simulators
Medicine
Robot surgery; remote surgery;
medical imaging
Industrial systems
Robot assembly lines;
automated inspection
Civilian
Elevator control
Automotive system; Global
positioning system (GPS)
7/14/2017
5
Lets discuss some realtime system (RTS)
characteristics
7/14/2017
6
Realtime Characteristics
RTS have to respond to events in a certain
pre-detemined amount of time.
◦ The time constraints have to be considered
during planning, design, implementation and
testing phases.
Internal failures due to software and
hardware fault have be handled satisfactorily.
◦ You cannot simply pop-up a dialog error box that
says “send report” or “don’t send report”.
◦ Also external failures due to outside sources
need to be handled.
7/14/2017
7
Realtime Characteristics (contd.)
Typical interaction in an RTS is
asynchronous. Thus an RTS should have
features to handle asynchronous events
such as interrupt handlers and dispatcher
and associated resources.
Potential for race condition: when state of
resources are timing dependent race
condition may occur.
Periodic tasks are common.
7/14/2017
8
Embedded System
Is a special purpose system designed to
perform a few dedicated functions.
Small foot prints (in memory)
Highly optimized code
Cell phones, mp3 players are examples.
The components in an mp3 player are
highly optimized for storage operations.
(For example, no need to have a floating
point operation on an mp3 player!)
7/14/2017
9
Real-time system concepts
A system is a mapping of a set of input into a set of
outputs.
A digital camera is an example of a realtime system: set
of input including sensors and imaging devices producing
control signals and display information.
Realtime system can be viewed as a sequence of job to
be scheduled.
Time between presentation of a set of inputs to a
system and the realization of the required behavior,
including availability of all associated outputs, is called
the response time of the system.
7/14/2017
10
Real-time system concepts (contd.)
Real-time system is the one in which logical correctness is
based on both the correctness of the output as well as
their timeliness.
A soft real-time system is one in which performance is
degraded by failure to meet response-time constraints.
A hard real-time system is one in which failure to meet a
single deadline may lead to complete and catastrophic
failure.
More examples:
◦ Automatic teller: soft
◦ Robot vacuum cleaner: firm
◦ Missile delivery system: hard
7/14/2017
11
Embedded Systems
7/14/2017
12
The Number Game (1)
1
3
5
7
9
11
13
15
17
19
21
23
25
27
29
31
7/14/2017
13
The Number Game (2)
2
3
6
7
10
11
14
15
18
19
22
23
26
27
30
31
7/14/2017
14
The Number Game (4)
4
5
6
7
12
13
14
15
20
21
22
23
28
29
30
31
7/14/2017
15
The Number Game (8)
8
9
10
11
12
13
14
15
24
25
26
27
28
29
30
31
7/14/2017
16
The Number Game (16)
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
7/14/2017
17
Analysis
What is theory /concept behind this game?
How did I arrive at the number you guessed?
How can I automate this process?
What is the data and what is the algorithm?
How can we convey these to a computing machine?
While a computer talks binary, we humans write
programs in languages such as Java, C#, C++, Basic etc.
Binary numbers (1’s and 0’s) is the number system used by
the computer systems.
We humans use decimal number system that has 10
distinct symbols (0,1,2,3,4,5,6,7,8,9)
Your task: Write a C program to computerize this game.
7/14/2017
18
1
3
5
7
9
11
13
15
17
19
21
23
25
27
29
31
2
3
6
7
10
11
14
15
18
19
22
23
26
27
30
31
4
5
6
7
8
9
10
11
16
17
18
19
12
13
14
15
12
13
14
15
20
21
22
23
20
21
22
23
24
25
26
27
24
25
26
27
28
29
30
31
28
29
30
31
28
29
30
31
7/14/2017
19
Requirements-Engineering Process
Deals with determining the goals,
functions, and constraints of systems, and
with representation of these aspects in
forms amenable to modeling and analysis.
7/14/2017
20
Types of requirements
Standard scheme for realtime systems is
defined by IEEE standard IEEE830.
It defines the following kind of requirements:
I.
II.
Functional
Non-functional
1.
2.
3.
4.
5.
External interfaces
Performance
Logical database
Design constraints (ex: standards compliance)
Software system attributes
Reliability, availability, security, maintainability,
portability
7/14/2017
21
Design methods: Finite state machines
Finite state automaton (FSA), finite state
machine (FSM) or state transition diagram
(STD) is a formal method used in the
specification and design of wide range of
embedded and realtime systems.
The system in this case would be represented
by a finite number of states.
Lets design the avionics for a drone aircraft.
7/14/2017
22
Drone aircraft avionics (simplified)
else
TAK
MA
else
else
NAA
LO
MA: Mission Assigned
else TD: Target Detected
LO: Locked On
EE: enemy Evaded
NAV
ED: Enemy Destroyed
MC: Mission Complete
TD
MC
NAE
TAK: Take off
NAV: Navigate
NAE: Navigate & Evade
NAA: Navigate & Attack
LAN LAN: Land
EE
ED
7/14/2017
23
Finite State Machine (FSM)
M = five tuple { S, i, T, Σ, δ }
S = set of states
i = initial state
T = terminal state (s)
Σ = events that bring about transitions
δ = transitions
Lets do this exercise for the avionics for fighter
aircraft
7/14/2017
24
State Transition table
MA
TAK
LO
TD
MC
NAE
LAN
EE
ED
NAE
NAV
NAV
NAV
NAE
NAA
NAA
LAN
7/14/2017
25
Lets design a simple embedded/
realtime system
Use the table to code a function with
case statement
Or write a table-driven code
Which is better and why?
Try your binary game using FSM method
7/14/2017
26
Summary
We examined the course objectives for
embedded and realtime systems
We looked at sample systems
Homework#1:
1. Write a program that automates the number game
2. Write a program that simulates the drone
3. Write C program, compile, debug, test and submit the programs
online.
4. submit-cse321 yourInitialsHwk1_1.c yourInitialsHwk1_2.c
7/14/2017
27
© Copyright 2026 Paperzz