Introduction to Realtime Systems & Embedded Systems B. Ramamurthy CSE 321 8/17/20151.

Slides:



Advertisements
Similar presentations
© Alan Burns and Andy Wellings, 2001 Real-Time Systems and Programming Languages n Buy Real-Time Systems: Ada 95, Real-Time Java and Real-Time POSIX by.
Advertisements

EE5900 Advanced Embedded System For Smart Infrastructure
Introduction to embedded systems and realtime systems
Lecture 1: Overview of Computers & Programming
Software Requirements Engineering
Dedicated Computer Systems
Basic Real Time Concepts Systems Concepts Real-Time Definitions Events and Determinism CPU Utilization Real-Time System Design Issues Example Real-Time.
Chapter 1: Introduction
Real-Time Systems – The Big Picture Real-Time Systems Anders P. Ravn Aalborg University September 2009.
Characteristics of Realtime and Embedded Systems Chapter 1 6/10/20151.
Chapter 1: An Overview of Computers and Programming Languages J ava P rogramming: From Problem Analysis to Program Design, From Problem Analysis to Program.
© Andy Wellings, 2004 Concurrent and Real-Time Programming in Java  Electronic copies of course foils available via 
6/13/2015Page 1 Software Requirements Engineering for RTS and Embedded Systems B. Ramamurthy.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. slide 1 CS 125 Introduction to Computers and Object- Oriented Programming.
Chapter 1 Introduction to Object- Oriented Programming and Problem Solving.
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. COMPSCI 125 Introduction to Computer Science I.
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. slide 1 CS 125 Introduction to Computers and Object- Oriented Programming.
Real-Time Systems and Programming Languages
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. COMPSCI 125 Introduction to Computer Science I.
6/26/2015Page 1 Software Requirements Engineering Ch.5 B. Ramamurthy.
Real-Time Systems – The big Picture
Chapter 3 Overview of Operating Systems Copyright © 2008.
B.RAMAMURTHY UNIVERSITY AT BUFFALO Introduction to Hardware (& Software) 5/30/2013 Amrita-UB-MSES-CSE
Introduction to Embedded Development. What is an Embedded System ? An embedded system is a computer system embedded in a device with a dedicated function.
EMBEDDED SOFTWARE Team victorious Team Victorious.
B. RAMAMURTHY UNIVERSITY AT BUFFALO 5/30/ CSE524: Realtime and Embedded Systems Amrita-UB-MSES-CSE
Engineering 1040: Mechanisms & Electric Circuits Fall 2011 Introduction to Embedded Systems.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 15 Slide 1 Real-time Systems 1.
Chapter Introduction to Computers and Programming 1.
Chapter 1 CSF 2009 Computer Abstractions and Technology.
BEH30802 :: REAL-TIME EMBEDDED SYSTEM
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming 1.
B.Ramamurthy9/19/20151 Operating Systems u Bina Ramamurthy CS421.
Chapter 1: Introduction to Computers and Programming.
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 1: Introduction to Computers and Programming.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
1. Introduction 1.1 Background 1.2 Real-time applications 1.3 Misconceptions 1.4 Issues in real-time computing 1.5 Structure of a real-time system.
CS4730 Real-Time Systems and Modeling Fall 2010 José M. Garrido Department of Computer Science & Information Systems Kennesaw State University.
EEL Software development for real-time engineering systems.
Visual C++ Programming: Concepts and Projects
1.1 Operating System Concepts Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered.
C++ Programming: From Problem Analysis to Program Design, Third Edition Chapter 1: An Overview of Computers and Programming Languages.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Software Development Problem Analysis and Specification Design Implementation (Coding) Testing, Execution and Debugging Maintenance.
Designing Realtime Systems & Embedded Systems B. Ramamurthy CSE /13/20151.
CS4730 Real-Time Systems and Modeling Fall 2010 José M. Garrido Department of Computer Science & Information Systems Kennesaw State University.
CSCI1600: Embedded and Real Time Software Lecture 2: Introduction Steven Reiss, Fall 2015.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
Silberschatz and Galvin  Operating System Concepts Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming.
INTRODUCTION TO COMPUTER PROGRAMMING(IT-303) Basics.
SECURITY SYSTEM USING PIR. OVERVIEW  Introduction of Embedde system  Aim of the project  Current scenario  Limitations of Current scenario  Futurescope.
6/11/20161Preetha V. AP/EEE SNS College of Engineering.
Embedded System Design and Development Introduction to Embedded System.
DDC 1023 – Programming Technique
Introduction to Realtime Systems (& Embedded Systems)
CSE321: Realtime and Embedded Systems
CSE321: Realtime and Embedded Systems
CSCI1600: Embedded and Real Time Software
Software Requirements Engineering
CSE321: Realtime and Embedded Systems
Introduction to Hardware
CS 501: Software Engineering Fall 1999
Unit 1: Introduction to Operating System
Language Processors Application Domain – ideas concerning the behavior of a software. Execution Domain – Ideas implemented in Computer System. Semantic.
Introduction to embedded systems and realtime systems
Realtime Embedded System Design
Presentation transcript:

Introduction to Realtime Systems & Embedded Systems B. Ramamurthy CSE 321 8/17/20151

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 design problems and challenges of real-time systems ◦ Apply real-time systems design techniques to various software programs. 8/17/20152

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 8/17/20153

Global Embedded Systems Market Global Embedded Systems Market, ($ Millions): Source BBC Inc. 8/17/20154

Example real-time and embedded systems DomainApplication AvionicsNavigation; displays MultimediaGames; simulators MedicineRobot surgery; remote surgery; medical imaging Industrial systemsRobot assembly lines; automated inspection CivilianElevator control Automotive system; Global positioning system (GPS) 8/17/20155

Lets discuss some realtime system (RTS) characteristics 8/17/20156

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. 8/17/20157

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. 8/17/20158

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!) 8/17/20159

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. 8/17/201510

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. 8/17/201511

Embedded Systems 8/17/201512

The Number Game (1) /17/201513

The Number Game (2) /17/201514

The Number Game (4) /17/201515

The Number Game (8) /17/201516

The Number Game (16) /17/201517

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. 8/17/201518

/17/201519

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. 8/17/201520

Types of requirements Standard scheme for realtime systems is defined by IEEE standard IEEE830. It defines the following kind of requirements: I.Functional II.Non-functional 1.External interfaces 2.Performance 3.Logical database 4.Design constraints (ex: standards compliance) 5.Software system attributes Reliability, availability, security, maintainability, portability 8/17/201521

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. 8/17/201522

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

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 8/17/201524

State Transition table MALOTDMCEEED TAKNAV NAELAN NAENAA NAENAV LAN 8/17/201525

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 8/17/201526

Summary We examined the course objectives for embedded and realtime systems We looked at sample systems Homework /classwork 1. Write a program that automates the number game 2. Write a program that simulates the drone 3. Write C program, compile, debug, test Brush up your programming language skills 8/17/201527