Real-Time Systems and Programming Languages

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

Chapter 2 Real-time software design
Basic Real Time Concepts Systems Concepts Real-Time Definitions Events and Determinism CPU Utilization Real-Time System Design Issues Example Real-Time.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Real-Time Systems... And the Fine Print Real-Time Systems Anders P. Ravn Aalborg University September 2009.
Real-Time Systems – The Big Picture Real-Time Systems Anders P. Ravn Aalborg University September 2009.
LECTURE-2. Software Is a Product Designed by software engineers. Consists of : –Programs - that execute within a computer and provides desired functions.
© Andy Wellings, 2004 Concurrent and Real-Time Programming in Java  Electronic copies of course foils available via 
1 Software Testing and Quality Assurance Lecture 37 – Software Quality Assurance.
Chapter 13 Embedded Systems
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Software Requirements
Real-Time Systems – The big Picture
Strategic Directions in Real- Time & Embedded Systems Aatash Patel 18 th September, 2001.
Real-Time Operating System Chapter – 8 Embedded System: An integrated approach.
1 Chapter 13 Embedded Systems Embedded Systems Characteristics of Embedded Operating Systems.
©Ian Sommerville 2006Critical Systems Slide 1 Critical Systems Engineering l Processes and techniques for developing critical systems.
Frequently asked questions about software engineering
EMBEDDED SOFTWARE Team victorious Team Victorious.
Chapter 1 Embedded And Real-Time System Department of Computer Science Hsu Hao Chen Professor Hsung-Pin Chang.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 15 Slide 1 Real-time Systems 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
1 System and Realtime Programming (G53SRP) Chris Greenhalgh School of Computer Science.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
1.1 1 Introduction Foundations of Computer Science  Cengage Learning.
Chapter 6 System Engineering - Computer-based system - System engineering process - “Business process” engineering - Product engineering (Source: Pressman,
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)
Real Time & Embedded Systems Lecture 1: Real Time Systems Software (RTSS) RTSS: the software half of the Real Time & Embedded Systems unit What do we mean.
RUP Implementation and Testing
 Dr. Syed Noman Hasany 1.  Review of known methodologies  Analysis of software requirements  Real-time software  Software cost, quality, testing.
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.
Real-Time Systems Chapter 1 Hermann Kopetz. Real-Time-Systems, Kluwer 1997.
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.
© 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.
Reference: Ian Sommerville, Chap 15  Systems which monitor and control their environment.  Sometimes associated with hardware devices ◦ Sensors: Collect.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Winter 2007, rev. 2008SEG Chapter 21 Chapter 2 Basic Principles.
Slide 1 Chapter 11 Real –time Software Designs. Slide 2 Real-time systems l Systems which monitor and control their environment l Inevitably associated.
Aravind Venkataraman. Topics of Discussion Real-time Computing Synchronous Programming Languages Real-time Operating Systems Real-time System Types Real-time.
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.
Real-time Software Design King Saud University College of Computer and Information Sciences Department of Computer Science Dr. S. HAMMAMI.
Data Structures and Algorithms Dr. Tehseen Zia Assistant Professor Dept. Computer Science and IT University of Sargodha Lecture 1.
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.
Foundations of Information Systems in Business. System ® System  A system is an interrelated set of business procedures used within one business unit.
Computer Science 340 Software Design & Testing Software Architecture.
CISSP Common Body of Knowledge Review by Alfred Ouyang is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
Chapter 1- Introduction Lecture 1. Topics covered  Professional software development  What is meant by software engineering.  Software engineering.
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.
1 G53SRP: Introduction to Real Time Scheduling Chris Greenhalgh School of Computer Science.
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 Embedded Systems Module overview Introduction to Real-time Systems and Scheduling.
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.
Real-time Software Design
Real-time Software Design
How SCADA Systems Work?.
מעבדה במערכות משובצות ד"ר מרינה ליפשטיין דוא"ל:
Real-time Software Design
Introduction to Realtime Systems (& Embedded Systems)
CS 501: Software Engineering Fall 1999
Presentation transcript:

Real-Time Systems and Programming Languages Alan Burns and Andy Wellings Real-Time Systems and Programming Languages © Alan Burns and Andy Wellings

Other books Ada 2005 RTSJ Version 1.0.1

Prerequisites Basic understanding of Ada and C Basic understanding of Computer Architectures. Basic understanding of Operating Systems

Book Aims Understanding of the broad concept of real- time systems Practical understanding for industry To stimulate research interest

Overall Technical Aims To understand the basic requirements of real-time systems and how these requirements have influenced the design of real-time programming languages and real-time operating systems To understand the implementation and analysis techniques which enable these requirements to be realized

What is a real-time system? A real-time system is any information processing system which has to respond to externally generated input stimuli within a finite and specified period the correctness depends not only on the logical result but also the time it was delivered failure to respond is as bad as the wrong response! The computer is a component in a larger engineering system => EMBEDDED COMPUTER SYSTEM 99% of all processors are for the embedded systems market

Terminology Hard real-time — systems where it is absolutely imperative that responses occur within the required deadline, e.g. A flight control system Soft real-time — systems where deadlines are important but which will still function correctly if deadlines are occasionally missed. E.g. Data acquisition system Firm real-time — systems which are soft real-time but in which there is no benefit from late delivery of service A single system may have hard, soft and firm real-time subsystems. In reality many systems will have a cost function associated with missing each deadline

Terminology Time-aware — system makes explicit reference to time (eg. open vault door at 9.00 Reactive — system must produce output within deadline (as measured from input) Control systems are reactive systems Required to constraint input and output (time) variability, input jitter and output jitter control

Terminology Time-triggered — computation is triggered by the passage of time Release activity at 9.00 Release activity every 25ms – a periodic activity Event-trigger — computation is triggered by an external or internal event The released activity is called sporadic if there is a bound on the arrival interval of the event The released activity is called aperiodic if there is no such bound

A simple fluid control system Interface Pipe Input flow reading Flow meter Processing Valve Output valve angle Time Computer

A Grain-Roasting Plant Bin Furnace Fuel Tank grain Pipe fuel

A Widget-Packing Station Computer Switch Switch Assembly line Bell Line controller Box 0 = stop 1 = run

A Process Control System Computer Temperature Transducer Finished Products Valve Stirrer Chemicals and Materials PLANT

A Production Control System Finished Products Parts Machine Tools Manipulators Conveyor Belt

Command and Control System Post Command and Control Computer Temperature, Pressure, Power and so on Terminals Sensors/Actuators

A Typical Embedded System Real-Time Clock Algorithms for Digital Control Engineering System Interface Data Logging Remote Monitoring System Database Data Retrieval and Display Display Devices Operator’s Console Real-Time Computer Operator Interface

Other Real-Time Systems Multi-media systems Including mobile devices Cyber-physical systems Linking web-based information and the sensed physical world

Characteristics of a RTS Guaranteed response times — we need to be able to predict with confidence the worst case response times for systems; efficiency is important but predictability is essential Concurrent control of separate system components — devices operate in parallel in the real-world; better to model this parallelism by concurrent entities in the program Facilities to interact with special purpose hardware — need to be able to program devices in a reliable and abstract way

Characteristics of a RTS Support for numerical computation – be able to support the discrete/continuous computation necessary for control system feed-back and feed-forward algorithms Large and complex — vary from a few hundred lines of assembler or C to 20 million lines of Ada, also variety as well as size is an issue Extreme reliability and safety — embedded systems typically control the environment in which they operate; failure to control can result in loss of life, damage to environment or economic loss

RT Programming Languages Assembly languages Sequential systems implementation languages — e.g. RTL/2, Coral 66, Jovial, C. Both normally require operating system support. High-level concurrent languages. Impetus from the software crisis. e.g. Ada, Chill, Modula-2, Mesa, Java. No operating system support! We will consider: Java/Real-Time Java C and Real-Time POSIX (not in detail) Ada 2005

Real-Time Languages and OSs Hardware Operating System User Programs Hardware Including Operating System Components User Program Typical Embedded Configuration Typical OS Configuration

Summary This lecture has introduced a number of key definitions and examples of real-time systems The basic aspects of a real-time are well represented in the following diagrams

Aspects of Real-Time Systems

Aspects of Real-Time Systems