Introduction to Realtime Systems
& Embedded Systems
B. Ramamurthy
CSE321
This course is partially supported National Science
Foundation NSF DUE Grant: 0737243
10/3/2015
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.
10/3/2015
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
10/3/2015
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
10/3/2015
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)
10/3/2015
5
Lets discuss some realtime system (RTS)
characteristics
10/3/2015
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.
10/3/2015
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.

10/3/2015
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!)

10/3/2015
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.

10/3/2015
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
10/3/2015
11
Embedded Systems
10/3/2015
12
The Number Game (1)
1
3
5
7
9
11
13
15
17
19
21
23
25
27
29
31
10/3/2015
13
The Number Game (2)
2
3
6
7
10
11
14
15
18
19
22
23
26
27
30
31
10/3/2015
14
The Number Game (4)
4
5
6
7
12
13
14
15
20
21
22
23
28
29
30
31
10/3/2015
15
The Number Game (8)
8
9
10
11
12
13
14
15
24
25
26
27
28
29
30
31
10/3/2015
16
The Number Game (16)
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
10/3/2015
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.

10/3/2015
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
10/3/2015
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.
10/3/2015
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
10/3/2015
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.

10/3/2015
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
10/3/2015
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
10/3/2015
24
State Transition table
MA
TAK
LO
TD
MC
NAE
LAN
EE
ED
NAE
NAV
NAV
NAV
NAE
NAA
NAA
LAN
10/3/2015
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

10/3/2015
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
10/3/2015
27
Descargar

Introduction to embedded systems and realtime systems