Designing Realtime Systems Embedded Systems B Ramamurthy CSE

Designing Realtime Systems & Embedded Systems B. Ramamurthy CSE 321 11/6/2020 1

The course will enable you to: Understand 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 design problems and challenges of real-time systems ◦ Apply real-time systems design techniques to various software programs. 11/6/2020 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 11/6/2020 3

Global Embedded Systems Market, 2003 -2009($ Millions): Source BBC Inc. http: //www. the-infoshop. com/study/bc 31319 -embedded-systems. html 11/6/2020 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) 11/6/2020 5

Lets discuss some realtime system (RTS) characteristics 11/6/2020 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. 11/6/2020 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. 11/6/2020 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, mp 3 players are examples. The components in an mp 3 player are highly optimized for storage operations. (For example, no need to have a floating point operation on an mp 3 11/6/2020 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. 11/6/2020 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 ◦ Given a system you should be able to classify it. 11/6/2020 11

Embedded Systems 11/6/2020 12

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. 11/6/2020 13

Types of requirements Standard scheme for realtime systems is defined by IEEE standard IEEE 830. 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 11/6/2020 14

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. 11/6/2020 15

Drone aircraft avionics (simplified) else TAK MA else NAA LO MA: Mission Assigned else TD: Target Detected LO: Locked On EE: enemy Evaded NAV ED: Enemy Destroyed MC: Mission Complete TD NAE MC TAK: Take off NAV: Navigate NAE: Navigate & Evade NAA: Navigate & Attack LAN: Land EE ED 11/6/2020 16

Finite State Machine (FSM) = 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 M 11/6/2020 17

State Transition table MA TAK LO TD MC NAE LAN EE ED NAE NAV NAV NAE NAA LAN 11/6/2020 18

Lets design a simple embedded/ realtime system Use the table-cell to code a function / use with switch statement Or write a table-driven code Which is better and why? 11/6/2020 19

Summary We examined the course objectives for embedded and realtime systems We looked at sample systems FSM are common approach to design RTS/EMB Brush up your programming language skills 11/6/2020 20
- Slides: 20