CS4730 Real-Time Systems and Modeling Fall 2010 José M. Garrido Department of Computer Science & Information Systems Kennesaw State University.

Slides:



Advertisements
Similar presentations
Embedded System, A Brief Introduction
Advertisements

A Sample RTOS Presentation 4 Group A4: Sean Hudson, Manasi Kapadia Syeda Taib.
Chapter 13 Embedded Systems
Page 1 Building Reliable Component-based Systems Chapter 13 -Components in Real-Time Systems Chapter 13 Components in Real-Time Systems.
Software Engineering for Real- Time: A Roadmap H. Kopetz. Technische Universitat Wien, Austria Presented by Wing Kit Hor.
© Andy Wellings, 2004 Concurrent and Real-Time Programming in Java  Electronic copies of course foils available via 
CS599 Software Engineering for Embedded Systems1 Software Engineering for Real-Time: A Roadmap Presentation by: Mandar Samant Raghbir Singh Banwait.
Concurrency CS 510: Programming Languages David Walker.
Review of “Embedded Software” by E.A. Lee Katherine Barrow Vladimir Jakobac.
WPDRTS ’05 1 Workshop on Parallel and Distributed Real-Time Systems 2005 April 4th and 5th, 2005, Denver, Colorado Challenge Problem Session Detection.
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
Mahapatra-A&M-Sprong'021 Co-design Finite State Machines Many slides of this lecture are borrowed from Margarida Jacome.
By Group: Ghassan Abdo Rayyashi Anas to’meh Supervised by Dr. Lo’ai Tawalbeh.
Real-Time Operating System Chapter – 8 Embedded System: An integrated approach.
1 Chapter 13 Embedded Systems Embedded Systems Characteristics of Embedded Operating Systems.
EMBEDDED SOFTWARE Team victorious Team Victorious.
Unit 3a Industrial Control Systems
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 15 Slide 1 Real-time Systems 1.
An Introduction to Real time Systems by Dr. Amin Danial Asham.
Computer System Architectures Computer System Software
Real-Time Software Design Yonsei University 2 nd Semester, 2014 Sanghyun Park.
Instructore: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Concurrent and.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Real Time Process Control (Introduction)
(C) 2009 J. M. Garrido1 Object Oriented Simulation with Java.
Operating Systems CS3502 Fall 2014 Dr. Jose M. Garrido
1 System Models. 2 Outline Introduction Architectural models Fundamental models Guideline.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 16 System Architecture and Design II.
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.
1 소프트웨어공학 강좌 Chap 11. Real-time software Design - Designing embedded software systems whose behaviour is subject to time constraints -
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Architectural Styles.
© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai.
EEL Software development for real-time engineering systems.
Multiprocessor and Real-Time Scheduling Chapter 10.
Chapter 101 Multiprocessor and Real- Time Scheduling Chapter 10.
Distributed Virtual Environments Introduction. Outline What are they? DVEs vs. Analytic Simulations DIS –Design principles Example.
Reference: Ian Sommerville, Chap 15  Systems which monitor and control their environment.  Sometimes associated with hardware devices ◦ Sensors: Collect.
Mahapatra-A&M-Fall'001 Co-design Finite State Machines Many slides of this lecture are borrowed from Margarida Jacome.
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.
Communicating Real-Time State Machines (CRSM) State machines that communicate synchronously Unique unidirectional channels are used for the communication.
Conformance Test Experiments for Distributed Real-Time Systems Rachel Cardell-Oliver Complex Systems Group Department of Computer Science & Software Engineering.
Object Oriented Discrete-Event Simulation CS4730 Fall 2010 Jose M. Garrido Department of Computer Science and Information Systems Kennesaw State University.
Real-time Software Design King Saud University College of Computer and Information Sciences Department of Computer Science Dr. S. HAMMAMI.
CS4730 Real-Time Systems and Modeling Fall 2010 José M. Garrido Department of Computer Science & Information Systems Kennesaw State University.
OMT Modeling 1. Object Model : presented by the object model and the data dictionary. 2. Dynamic Model: presented by the state diagrams and event flow.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems and Models Chapter 03.
Introduction to Real-Time Systems
1 Specification A broad term that means definition Used at different stages of software development for different purposes Generally, a statement of agreement.
For a good summary, visit:
Object and Class Structuring Chapter 9 Part of Analysis Modeling Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)
CS4315A. Berrached:CMS:UHD1 Introduction to Operating Systems Chapter 1.
Agenda  Quick Review  Finish Introduction  Java Threads.
Real-time System Definition A real-time system is a software system where the correct functioning of the system depends on the results produced by the.
Embedded System Design and Development Introduction to Embedded System.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 5:Architectural Design l Establishing the overall structure of a software.
Real-time Software Design
OPERATING SYSTEMS CS 3502 Fall 2017
REAL-TIME OPERATING SYSTEMS
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Wayne Wolf Dept. of EE Princeton University
System Design and Modeling
מעבדה במערכות משובצות ד"ר מרינה ליפשטיין דוא"ל:
Real-time Software Design
Introduction to Realtime Systems (& Embedded Systems)
CS 501: Software Engineering Fall 1999
An Introduction to Software Architecture
Multiprocessor and Real-Time Scheduling
Presentation transcript:

CS4730 Real-Time Systems and Modeling Fall 2010 José M. Garrido Department of Computer Science & Information Systems Kennesaw State University

Fall 2010(C) J M Garrido2 Real-Time Systems RTS are computer systems that monitor, respond to, or control an external environment

Environment The environment is connected to the computer system through: Sensors Actuators Other I/O devices Fall 2010(C) J M Garrido3

Fall 2010(C) J M Garrido4 General Architecture of A Real-Time System

Fall 2010(C) J M Garrido5 Real-Time System

Fall 2010(C) J M Garrido6 Constraints A real-time system must meet various timing and other constraints imposed by the real-time behavior of the environment A real-time system is also called a reactive system because it must respond to or react to signals from the environment

Fall 2010(C) J M Garrido7 Real-Time Systems A reactive system that maintains an on-going interaction with its environment, and with given time windows for its output Includes a combination of hardware and software There is a wide variety of RTS –small embedded systems –very large systems on WANs.

Fall 2010(C) J M Garrido8 Examples of RTS Vehicle systems for automobile, subways, aircraft, railways, ships, … Traffic control Process control for power plants, chemical plants, … Medical systems Military applications Manufacturing systems with robots

Fall 2010(C) J M Garrido9 Examples of RTS (Cont.) Communication systems Computer games Multimedia systems that provide text, graphic, audio, and video interfaces Consumer appliances

Fall 2010(C) J M Garrido10 Embedded Systems A real-time system that is part of another larger system Does not usually interact with humans users or operators Interfaces directly with sensors and actuators Very specialized to suit a specific purpose The software is usually implemented in firmware

Fall 2010(C) J M Garrido11 Embedded Real Time System

Fall 2010(C) J M Garrido12 Categories of Real_time Systems Different systems will have different requirements for meeting deadlines: Hard real-time systems - missing even a single deadline is considered unacceptable, e.g., The new U.S. Air Traffic Control System. Soft real-time systems - missing a deadline occasionally is considered acceptable, e.g., telephony systems.

Fall 2010(C) J M Garrido13 Real-Time Systems General characteristics: Reactive, the system must respond timely to internal and external input events Concurrent, the system needs to manage several tasks (or processes) Each task has timing constraints, i.e., it has to respond in a timely fashion.

Fall 2010(C) J M Garrido14 Other Major Characteristics Reliability - a measure of how often a system will fail. Also stated as the probability that a system will perform correctly for a given period Fault tolerance - recognition and handling of failures. Avoidance of failures is important, but responding appropriately to failures is challenging

Fall 2010(C) J M Garrido15 Criticality A measure of the failure cost. The higher the cost of failure, the more critical the system. A critical system might control an aircraft or a nuclear power plant A RTS might be a hard system, even though it is not a critical one. For example, a computer game.

Fall 2010(C) J M Garrido16 Architecture of Real-Time Systems Hardware components –used to interact with the environment –consists of sensors and actuators Software components –controls the actions of the hardware –computations

Fall 2010(C) J M Garrido17 Properties of Real-Time Systems Timeliness - the system must perform operations in timely manner Reactiveness - the system continuously responds to (random) events Concurrency - multiple simultaneous activities are carried out Distribution - tasks cooperate in multiple computing sites

Fall 2010(C) J M Garrido18 Timeliness Issues The goal is to reduce two specific time intervals: service time - the interval taken to compute a response to a given input latency - the interval between the time of occurrence of an input and the time at which it starts being serviced

Timeliness Issues The sum of these two intervals represents the response time. This must be shorter than the deadline for this type of input. Fall 2010(C) J M Garrido19

Deadline The most common type of timing constraint It is the absolute latest time that a computation must complete Fall 2010(C) J M Garrido20

General Properties of RTS Safety property Progress or liveness property Fall 2010(C) J M Garrido21

Fall 2010(C) J M Garrido22 Safety Properties The system should never be in certain (undesirable) states “The system should not do bad things” In the Train-gate System, the gate should never be open when a train is in the intersection area

Fall 2010(C) J M Garrido23 Progress or Liveness Properties These describe the required “live” and desirable behavior of a system For example, in the Train-Gate System, the gate should be open whenever there are no trains in the area

Fall 2010(C) J M Garrido24 Techniques for Studying RT Systems The techniques for dealing with timeliness problems belong to two main groups: Analytic techniques - use formal mathematical models of the systems and mathematical techniques Simulation - use computer models to compute behavior characteristics.

Fall 2010(C) J M Garrido25 Major Subsystems In a high-level view, a RTS is considered a closed world containing two components: an environment and a computer system These components interact via messages, signals, or events at their interface At any time, the RT system may be in one of several states

Fall 2010(C) J M Garrido26 Basic Elements in Behavior Events, are instantaneous occurrences that trigger transitions and operations on some objects. Events can be external or internal. States, represent a unique behavior with respect to the other states in an object. An event or message can cause a change of state. Transitions are state changes in the objects.

Fall 2010(C) J M Garrido27 States Each state denotes a particular set of values of variables or set of relations among variables The system changes state due to events that change the values of, or relations among these state variables These state changes are called transitions

Fall 2010(C) J M Garrido28 Model of RTS The software that implement RT systems deal with states, and transitions and a set of interacting processes Processes interact by –sending messages and signals to each other –sharing hardware and software –competing for resources A process is an active component (object) of a RTS

Fall 2010(C) J M Garrido29 Reactiveness Issues Transformational systems - some initial data is transformed by a series of computations into the desired output data, then the system terminates Reactive systems - are involved in a continuous interaction with the environment, these systems do not terminate.

Fall 2010(C) J M Garrido30 Nondeterminism In general, real-time systems are non- deterministic systems since they have no control over the relative order or time of occurrence of input events. This characteristic is a reflection of the unpredictable nature of the real-world in which such systems operate.

Fall 2010(C) J M Garrido31 Concurrency Issues A task is a sequential thread of control, a system with concurrency contains two or more simultaneous threads of control that dynamically interact Threads may progress at different speeds, their interactions can be defined by: –synchronization –communication

Fall 2010(C) J M Garrido32 Communication The communication of tasks in real-time systems can be: Synchronous - a direct communication between two tasks. Both the sender task and the receiver task have to be ready Asynchronous - an indirect communication that uses mailboxes. UML Sequence diagrams can used to describe this.

Fall 2010(C) J M Garrido33 Distribution Issues Consists of a set of computing sites loosely coupled through a communication network Message loss is just one of a collection of truly difficult problems facing designers of distribution systems

Fall 2010(C) J M Garrido34 Active and Passive Agents Active agents are the major components of a system with their own thread of control Passive agents only “executes” when one of its operations is invoked - it is only active during interactions with other objects Design and programming with agents involves constructing “machines” and interconnecting them.

Fall 2010(C) J M Garrido35 Types of Processes in RTS Real-time systems contain two general types of processes: Periodic processes - are activated in a regular basis between fixed time intervals. Used for systematically monitoring, polling, or sampling data from sensors Sporadic processes - are event-driven and activated by an external signal, or change in some relationship

Fall 2010(C) J M Garrido36 Periodic Process A periodic process is characterized by a triple (c,p,d). The computation time interval is denoted by c The period or cycle time is denoted by p The deadline interval is denoted by d The first important relationship is: c  d  p.

Fall 2010(C) J M Garrido37 Sporadic Process A sporadic process is also characterized by a triple (c,p,d), with c  d  p. On the occurrence of the event, the computation must be completed within the specified deadline. The completion time t must satisfy: t  te + d te is the event occurrence time The minimum time interval between events is p

Fall 2010(C) J M Garrido38 Further Timing Effects The interactions among processes further add more delays in the computation times of the processes Another effect is jitter. This is the variation from cycle to cycle, or from event to event, of the time to complete a task.

Fall 2010(C) J M Garrido39 Performance Measures for RTS Latency Number of deadlines missed Worst case reaction time

Fall 2010(C) J M Garrido40 General RTS Approach