B. RAMAMURTHY UNIVERSITY AT BUFFALO 5/30/2013 1 CSE524: Realtime and Embedded Systems Amrita-UB-MSES-CSE524-2013-1.

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

MotoHawk Training Model-Based Design of Embedded Systems.
Characteristics of Realtime and Embedded Systems Chapter 1 6/10/20151.
Define Embedded Systems Small (?) Application Specific Computer Systems.
Chapter 13 Embedded Systems
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Real-Time Systems and Programming Languages
Real-Time Kernels and Operating Systems. Operating System: Software that coordinates multiple tasks in processor, including peripheral interfacing Types.
SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J.E.Cooling 2003) Introduction to real-time systems - slide 1 Software engineering for real-time systems.
CprE 458/558: Real-Time Systems
Real-Time Operating System Chapter – 8 Embedded System: An integrated approach.
1 Chapter 13 Embedded Systems Embedded Systems Characteristics of Embedded Operating Systems.
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.
Microcontroller: Introduction
Introduction to Realtime Systems & Embedded Systems B. Ramamurthy CSE 321 8/17/20151.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 15 Slide 1 Real-time Systems 1.
BEH30802 :: REAL-TIME EMBEDDED SYSTEM
Real-Time Software Design Yonsei University 2 nd Semester, 2014 Sanghyun Park.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Real Time Process Control (Introduction)
9/14/ Introduction to Realtime Systems Chapter 1 R. Williams’ text B. Ramamurthy.
EMBEDDED SYSTEMS 9 April 2013 William W. McMillan.
Lecture 13 Introduction to Embedded Systems Graduate Computer Architecture Fall 2005 Shih-Hao Hung Dept. of Computer Science and Information Engineering.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 16 System Architecture and Design II.
1 소프트웨어공학 강좌 Chap 11. Real-time software Design - Designing embedded software systems whose behaviour is subject to time constraints -
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.
Chapter 101 Multiprocessor and Real- Time Scheduling Chapter 10.
Dr Mohamed Menacer College of Computer Science and Engineering Taibah University CE-321: Computer.
Reference: Ian Sommerville, Chap 15  Systems which monitor and control their environment.  Sometimes associated with hardware devices ◦ Sensors: Collect.
Hardware-software Interface Xiaofeng Fan
Slide 1 Chapter 11 Real –time Software Designs. Slide 2 Real-time systems l Systems which monitor and control their environment l Inevitably associated.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
©Ian Sommerville, Robin Abraham 2004CS 361, Summer 2004 Slide 1 Real-time Software Design.
Computing For Embedded System IEEE Instrumentation and Measurement Technology Conference Budapest, Hungary, May 21-23, Author : Edward A. Lee UC.
Real-time Software Design King Saud University College of Computer and Information Sciences Department of Computer Science Dr. S. HAMMAMI.
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.
For a good summary, visit:
Embedded Computer - Definition When a microcomputer is part of a larger product, it is said to be an embedded computer. The embedded computer retrieves.
CS4315A. Berrached:CMS:UHD1 Introduction to Operating Systems Chapter 1.
Embedded Systems Introduction. Microprocessor building blocks 1. ALU (Arithmetic Logic Unit): The ALU is a sequential logic circuitry that is intended.
Systems and User Interface Software. Types of Operating System  Single User  Multi User  Multi-tasking  Batch Processing  Interactive  Real Time.
Embedded System Design and Development Introduction to Embedded System.
1 Chapter 1 Basic Structures Of Computers. Computer : Introduction A computer is an electronic machine,devised for performing calculations and controlling.
Configuring pacemaker while 2kms away. Person is travelling in driverless car.
CONCEPTS OF REAL-TIME OPERATING SYSTEM. OBJECTIVE  To Understand Why we need OS?  To identify Types of OS  To Define Real - Time Systems  To Classify.
Embedded Systems. What is Embedded Systems?  Embedded reflects the facts that they are an integral.
Real-time Software Design
ECE354 Embedded Systems Introduction C Andras Moritz.
Session 3 Memory Management
Technology Literacy Hardware.
מעבדה במערכות משובצות ד"ר מרינה ליפשטיין דוא"ל:
Real-time Software Design
Introduction to Realtime Systems (& Embedded Systems)
Why microcontrollers in embedded systems?
CSE321: Realtime and Embedded Systems
CSE321: Realtime and Embedded Systems
"You don't need anyone's permission to make something great
Software Requirements Engineering
CSE321: Realtime and Embedded Systems
Introduction to Realtime Systems
Introduction to Hardware
CS 501: Software Engineering Fall 1999
Realtime Embedded System Design
Introduction to Hardware
Presentation transcript:

B. RAMAMURTHY UNIVERSITY AT BUFFALO 5/30/ CSE524: Realtime and Embedded Systems Amrita-UB-MSES-CSE

Amrita-UB-MSES Collaboration 5/30/2013 Amrita-UB-MSES-CSE

Outline of Topics 5/30/ Acknowledge organizers Instructor and students Overview of the course Policies and expectations Syllabus: First-day handout Format of the course Learning is a two way street… Foundations of RTOS Finally something important, feedback on today’s class: content, format, pace, missing items,… Amrita-UB-MSES-CSE

Motivation 5/30/ What is a realtime system? What is an embedded system? What is a realtime embedded system? Embedded system but not a realtime system Realtime system but not an embedded system Why realtime&/embedded system? How do realtime embedded systems differ from regular computational systems? Now lets define and identify some examples of realtime embedded systems in your work/home environment. We will attempt a simple design process. Amrita-UB-MSES-CSE

5/30/ Defining RTOS Amrita-UB-MSES-CSE

5/30/ Lets define realtime systems Timing: RT systems (RTOS) are required to compute and deliver correct results within a specified period of time. Ex: traffic light controller Interrupt driven: event-driven preemption; RTOS are often involved with handling events.  Events manifest themselves in terms of interrupt signals arising from the arrival data at an input port or ticking of a hardware clock, or an error status alarm. Amrita-UB-MSES-CSE

5/30/ RTOS Definition (contd.) Low-level programming: RTOS often deal with devices; C language is still a favorite for writing device drivers for new hardware. Specialized hardware: Most RTOS work within, or at least close beside, specialized electronic and mechanical devices. Often closed loop systems. Volatile data IO: Variables that change their value from moment to moment. RTOS software must be structured to check for changes at the correct rate, so as not to miss a data update. Amrita-UB-MSES-CSE

5/30/ RTOS Definition (contd.) Multi-tasking: RTOS are often multitasking. Several processes cooperate to carry out the overall job. Divide RTOS problem into tasks as a design strategy. Run-time scheduling: Separation of activities into tasks leads to question of task sequencing or scheduling. Moreover the external events and required response to these lead to run-time scheduling or dynamic scheduling. Unpredictability in inputs/stimulus: Being event-driven, RTOS are at the mercy of unpredictable changes in their environment. Predictability response requirement! Life-critical code: failure to run correctly may result in death or at least injury to the user and/or others. Life-critical systems requires extra testing, documentation and acceptance trials. Amrita-UB-MSES-CSE

5/30/ Types of RTOS Hard RTOS: tight limits on response time, so that a delayed result is a wrong result.  Ex: jet fuel controller and camera shutter unit Soft RTOS: need to meet only time-average performance target. As long as most results are available before deadline the system will run successfully.  Ex: audio and video transmission, single frame skip is fie, but repeated loss is unacceptable Firm RTOS: somewhere between the two.  Ex: Space station solar panel unit Amrita-UB-MSES-CSE

5/30/ Microprocessor Examples: vending machines, mobiles phones, alarm systems, washing machines, motor car engine controllers, heart monitors, microwave ovens all operate using embedded microcontrollers running dedicated software. Microprocessors are the enabling hardware for realtime systems. Amrita-UB-MSES-CSE

Embedded Systems 5/30/ Dedicated functionally Special purpose Optimized for a certain operations Small (typically) Lower power consumption Embedded within other large systems Amrita-UB-MSES-CSE

Embedded Systems Embedded systems are computing systems with tightly coupled hardware and software integration. Designed to perform dedicated function Embedded means that the system is a integral part of a larger system Multiple embedded systems can co-exist in a single system. General purpose processor are typically not aware of the applications. An embedded processor is application-aware. 5/30/ Amrita-UB-MSES-CSE

Embedded Systems (contd.) Hardware and software co-design: hardware and software for the embedded system are developed in parallel. Cross-platform development: Both embedded system and its application use the cross-platform development method. – Software is developed on one platform but runs on another. Software storage will have to be chosen to allow for upgradeability. Of course, the SoC (system on a chip), PoE (Power on Ethernet), etc. 5/30/ Amrita-UB-MSES-CSE

Examples 5/30/ From everyday applications From automotive domain: Electronic Control Unit (ECU) Any examples from Bosch? Amrita-UB-MSES-CSE

Realtime Embedded Systems 5/30/ RTOS EMB RTEMB Railway monitoring and scheduling : RTOS Cell phone: EMB Heart pacemaker: RTSEMB Amrita-UB-MSES-CSE

Exercise#1 5/30/ Lets identify 10 embedded systems, realtime systems and realtime/embedded system I will begin with Arduino Uno ExampleType; justification Amrita-UB-MSES-CSE

Embedded Systems 5/30/ Amrita-UB-MSES-CSE

Functional and non-functional requirements 5/30/ Functional: Describes the explicit operations to be performed by the RTOS. If you consider the climate control system in an automobile: Sense temperature: T1 Compare with user set temperature: Tset If T1 > Tset, start cold air fan Else if T1 < Tset, start hot air fan Non-functional: describes the quality of the operations Example: Need to control temperature within 0.5 degree error Accuracy Precision Reliability Safety Response time Responsiveness Predictability Deadlines Amrita-UB-MSES-CSE

Hardware Requirements 5/30/ Hardware support for functional requirements Hardware support for non-functional requirements Size of the device Power of the processor Power consumption Speed of the device Support for devices, interrupts Electronic Control Units (ECU): typical modern automobile has 100’s of ECUs [Takada] Amrita-UB-MSES-CSE

Software requirements 5/30/ Software functions to implement the operations Driver that dispatches calls to these operations Interrupt handlers Device drivers Operating system Typical modern automobile has millions of lines of software [Takada] Amrita-UB-MSES-CSE

5/30/ Software Quality Assurance QA is especially important to RTS since many of these are deployed in life critical environments / situations. Patriot missile failure Amrita-UB-MSES-CSE

Design Representation 5/30/ Discovering modules: CRC Classes, Responsibilities, and Collaboration For teams working together to discover modules of the system Once modules are discovered, UML (Unified Modeling Language) state diagrams offer a convenient method to represent a RTES. We will look at CRC later; Today we will look at a finite state machine (FSM) for representing the design of a RTOS. On to activities… Amrita-UB-MSES-CSE

Design Considerations 5/30/ Requirements  Design representation Design representation  prototype Prototype testing Production system Amrita-UB-MSES-CSE

Exercise #2 5/30/ Automatic vending machine money counter Embedded system (Rs.5 counter) Coins: 1, 2 and 5 rupees Amrita-UB-MSES-CSE S0 S1 S2 S5 S S3 2 1 S ,5 2 5

5/30/2013 Pag e 25 Finite State Machine (FSM) An 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 Amrita-UB-MSES-CSE

Summary 5/30/ We studied the basic definitions of realtime and embedded system. We studied key issues which make development of realtime software more challenging than desktop or traditional data processing applications. Timing is very critical for RTOS input, output, computing and response. UML state diagram is a useful tool for design representation. We will study the design and implementation of RTOS system in detail later on. Amrita-UB-MSES-CSE