Introduction to Realtime Systems & Embedded Systems
-
Upload
evangeline-pugh -
Category
Documents
-
view
58 -
download
2
description
Transcript of Introduction to Realtime Systems & Embedded Systems
Introduction to Realtime Introduction to Realtime Systems & Embedded Systems & Embedded SystemsSystemsB. RamamurthyCSE321This course is partially supported National Science Foundation NSF DUE Grant: 0737243
04/20/23 1
The course will enable you The course will enable you to:to:Understand and design embedded
systems and real-time systemsFor 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.
04/20/23 2
Course overviewCourse 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
04/20/23 3
Global Embedded Systems Global Embedded Systems MarketMarket
Global Embedded Systems Market, 2003-2009($ Millions):
Source BBC Inc.
http://www.the-infoshop.com/study/bc31319-embedded-systems.html
04/20/23 4
Example real-time and embedded Example real-time and embedded systemssystems
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)
04/20/23 5
Lets discuss some realtime Lets discuss some realtime system (RTS) characteristicssystem (RTS) characteristics
04/20/23 6
Realtime CharacteristicsRealtime CharacteristicsRTS 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.
04/20/23 7
Realtime Characteristics Realtime Characteristics (contd.)(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.
04/20/23 8
Embedded SystemEmbedded SystemIs a special purpose system designed to
perform a few dedicated functions.Small foot prints (in memory)Highly optimized codeCell 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!)
04/20/23 9
Real-time system Real-time system conceptsconceptsA 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.
04/20/23 10
Real-time system concepts Real-time system concepts (contd.)(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
04/20/23 11
Embedded SystemsEmbedded Systems
04/20/23 12
The Number Game (1)The Number Game (1)
1 3 5 7
9 11 13 15
17 19 21 23
25 27 29 31
04/20/23 13
The Number Game (2)The Number Game (2)
2 3 6 7
10 11 14 15
18 19 22 23
26 27 30 31
04/20/23 14
The Number Game (4)The Number Game (4)
4 5 6 7
12 13 14 15
20 21 22 23
28 29 30 31
04/20/23 15
The Number Game (8)The Number Game (8)
8 9 10 11
12 13 14 15
24 25 26 27
28 29 30 31
04/20/23 16
The Number Game (16)The Number Game (16)
16 17 18 19
20 21 22 23
24 25 26 27
28 29 30 31
04/20/23 17
Analysis 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.
04/20/23 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
16 17 18 19
20 21 22 23
24 25 26 27
28 29 30 31
4 5 6 7
12 13 14 15
20 21 22 23
28 29 30 31
8 9 10 11
12 13 14 15
24 25 26 27
28 29 30 31
04/20/23 19
Requirements-Engineering Requirements-Engineering ProcessProcessDeals with determining the goals,
functions, and constraints of systems, and with representation of these aspects in forms amenable to modeling and analysis.
04/20/23 20
Types of requirementsTypes of requirements Standard scheme for realtime
systems is defined by IEEE standard IEEE830.
It defines the following kind of requirements:
I. FunctionalII. Non-functional
1. External interfaces2. Performance3. Logical database4. Design constraints (ex: standards
compliance)5. Software system attributes
Reliability, availability, security, maintainability, portability
04/20/23 21
Design methods: Finite state Design methods: Finite state machinesmachinesFinite 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.
04/20/23 22
Drone aircraft avionics Drone aircraft avionics (simplified)(simplified)
TAK
LANNAA
NAE
NAV
else
MA else
TDelse
LOelse
EE
ED
MC
MA: Mission AssignedTD: Target DetectedLO: Locked OnEE: enemy EvadedED: Enemy DestroyedMC: Mission Complete
TAK: Take offNAV: NavigateNAE: Navigate & EvadeNAA: Navigate & AttackLAN: Land
04/20/23 23
Finite State Machine (FSM)Finite State Machine (FSM)M = five tuple { S, i, T, Σ, δ }S = set of statesi = initial stateT = terminal state (s)Σ = events that bring about transitionsδ = transitionsLets do this exercise for the avionics
for fighter aircraft
04/20/23 24
State Transition table State Transition table
MA LO TD MC EE ED
TAK NAV
NAV NAE LAN
NAE NAA
NAA NAE NAV
LAN
04/20/23 25
Lets design a simple Lets design a simple embedded/ realtime systemembedded/ realtime systemUse the table to code a function
with case statementOr write a table-driven codeWhich is better and why?Try your binary game using FSM
method
04/20/23 26
SummarySummaryWe examined the course
objectives for embedded and realtime systems
We looked at sample systemsHomework#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
04/20/23 27