Page 1 Building Reliable Component-based Systems Chapter 13 -Components in Real-Time Systems Chapter 13 Components in Real-Time Systems.

Slides:



Advertisements
Similar presentations
Construction process lasts until coding and testing is completed consists of design and implementation reasons for this phase –analysis model is not sufficiently.
Advertisements

Component Oriented Programming 1 Chapter 2 Theory of Components.
Event Driven Real-Time Programming CHESS Review University of California, Berkeley, USA May 10, 2004 Arkadeb Ghosal Joint work with Marco A. Sanvido, Christoph.
Page 1 Building Reliable Component-based Systems Chapter 16 - Component based embedded systems Chapter 16 Component based embedded systems.
Introduction To System Analysis and Design
Architecture Modeling and Analysis for Embedded Systems Oleg Sokolsky CIS700 Fall 2005.
Page 1 Building Reliable Component-based Systems Chapter 2 -Specification of Software Components Chapter 2 Specification of Software Components.
Chapter 13 Embedded Systems
- 1 - Component Based Development R&D SDM Theo Schouten.
Software Engineering For Beginners. General Information Lecturer, Patricia O’Byrne, office K115A. –
Page 1 Building Reliable Component-based Systems Chapter 6 - Semantic Integrity in Component Based Development Chapter 6 Semantic Integrity in Component.
Strategic Directions in Real- Time & Embedded Systems Aatash Patel 18 th September, 2001.
Page 1 Building Reliable Component-based Systems Chapter 14 - Testing Reusable Software Components in Safety- Critical Real-Time Systems Chapter 14 Testing.
November 18, 2004 Embedded System Design Flow Arkadeb Ghosal Alessandro Pinto Daniele Gasperini Alberto Sangiovanni-Vincentelli
CprE 458/558: Real-Time Systems
Page 1 Building Reliable Component-based Systems Chapter 4 - Component Models and Technology Chapter 4 Component Models and Technology.
Page 1, July 3, 2015 CBSE – graduate course Component-Based Software Engineering Building reliable component-based systems Overview
1 Chapter 13 Embedded Systems Embedded Systems Characteristics of Embedded Operating Systems.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
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.
COMPONENT-BASED SOFTWARE ENGINEERING
Introduction To System Analysis and design
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 19 Slide 1 Component-based software engineering 2.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 19 Slide 1 Component-based software engineering 1.
Real Time Systems Design
(C) 2009 J. M. Garrido1 Object Oriented Simulation with Java.
Topics Covered: Software requirement specification(SRS) Software requirement specification(SRS) Authors of SRS Authors of SRS Need of SRS Need of SRS.
CSE 303 – Software Design and Architecture
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
CS4730 Real-Time Systems and Modeling Fall 2010 José M. Garrido Department of Computer Science & Information Systems Kennesaw State University.
Introduction To System Analysis and Design
SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar
Approaching a Problem Where do we start? How do we proceed?
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Software Verification, Validation and Testing.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Performance evaluation of component-based software systems Seminar of Component Engineering course Rofideh hadighi 7 Jan 2010.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 20 Slide 1 Critical systems development 3.
Prepare by : Ihab shahtout.  Overview  To give an overview of fixed priority schedule  Scheduling and Fixed Priority Scheduling.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
CPSC 372 John D. McGregor Module 3 Session 1 Architecture.
Processes Introduction to Operating Systems: Module 3.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Handling Mixed-Criticality in SoC- based Real-Time Embedded Systems Rodolfo Pellizzoni, Patrick Meredith, Min-Young Nam, Mu Sun, Marco Caccamo, Lui Sha.
6. A PPLICATION MAPPING 6.3 HW/SW partitioning 6.4 Mapping to heterogeneous multi-processors 1 6. Application mapping (part 2)
> Power Supervison Desired Output level Source Diesel Valve Sink Diesel Valve > Valve Regulator Sink T = 40 ms Air Valve CBSE Course The SaveComp Component.
Page 1, December 8, 2015 CBSE – graduate course Component-Based Software Engineering Building reliable component-based systems Overview
CS4730 Real-Time Systems and Modeling Fall 2010 José M. Garrido Department of Computer Science & Information Systems Kennesaw State University.
What’s Ahead for Embedded Software? (Wed) Gilsoo Kim
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 15. Review Interaction-Oriented Software Architectures – MVC.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Real-Time Operating System Design
Requirement Analysis SOFTWARE ENGINEERING. What are Requirements? Expression of desired behavior Deals with objects or entities, the states they can be.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
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.
 System Requirement Specification and System Planning.
 Operating system.  Functions and components of OS.  Types of OS.  Process and a program.  Real time operating system (RTOS).
OPERATING SYSTEMS CS 3502 Fall 2017
The Development Process of Web Applications
System Design and Modeling
Java programming lecture one
Software Design Methodology
Shanna-Shaye Forbes Ben Lickly Man-Kit Leung
Software Architecture
System calls….. C-program->POSIX call
Presentation transcript:

Page 1 Building Reliable Component-based Systems Chapter 13 -Components in Real-Time Systems Chapter 13 Components in Real-Time Systems

Page 2 Building Reliable Component-based Systems Chapter 13 -Components in Real-Time Systems Overview qIntroduction qCharacteristics and challenges of real-time systems qReal-time component models qDesigning component-based real-time systems qComposition of components qExample: RT components in Rubus OS

Page 3 Building Reliable Component-based Systems Chapter 13 -Components in Real-Time Systems Introduction q Embedded computers l Medical control equipment, mobile phones, and vehicle control systems. l Most of such embedded systems can also be characterized as real-time systems. l They must usually meet stringent specifications for safety, reliability, limited hardware capacity etc

Page 4 Building Reliable Component-based Systems Chapter 13 -Components in Real-Time Systems Characteristics and Challenges of RTS q Real-time systems are computing systems in which the meeting of timing constraints is essential to correctness. q If the system delivers the correct answer, but after a certain deadline, it could be regarded as having failed.

Page 5 Building Reliable Component-based Systems Chapter 13 -Components in Real-Time Systems Tasks q Real-time systems can be constructed of sequential programs, but typically they are built of concurrent programs, called tasks. q Tasks are usually divided into: l Periodic tasks: consist of an infinite sequence of identical activities, called instances, which are invoked within regular time periods. l Non-periodic : are invoked by the occurrence of an event.

Page 6 Building Reliable Component-based Systems Chapter 13 -Components in Real-Time Systems Scheduling q Offline scheduling: l The scheduler has complete knowledge of the task set and its constraints. q Online scheduling: l Make their scheduling decisions during run-time. q Deadline: l Is the maximum time within which the task must complete its execution with respect to an event. l Real-time systems are divided into two classes, hard and soft real-time systems

Page 7 Building Reliable Component-based Systems Chapter 13 -Components in Real-Time Systems Limited Resources qCommon CBSE technologies (JavaBeans, CORBA and COM) are seldom used as they: l Require excessive processing requirements l Require excessive memory requirements l Provide unpredictable timing characteristics

Page 8 Building Reliable Component-based Systems Chapter 13 -Components in Real-Time Systems System Level Analysis q At system level we analyze to determine if the system composed fulfils the timing requirements. l Several different mature analysis methods exist, for example, analysis for priority-based systems and pre- run-time scheduling techniques

Page 9 Building Reliable Component-based Systems Chapter 13 -Components in Real-Time Systems Real-time Component Models q Using a standard operating system in a real-time application, such as windows NT must be done carefully, as it was designed to be used so.

Page 10 Building Reliable Component-based Systems Chapter 13 -Components in Real-Time Systems Application-specific Component Models q Maintain a component library which the application engineer can use when developing an application. qIn addition to infrastructure components, domain specific component models, which in fact have been used for many years for certain domains must be considered.

Page 11 Building Reliable Component-based Systems Chapter 13 -Components in Real-Time Systems IEC Application Structure Global anddirectvariables Accesspath Execution controlpath Variable accesspath FB Task Program FB Task Program Task Program FB Task Resource Configuration CommunicationFunction Block Variable

Page 12 Building Reliable Component-based Systems Chapter 13 -Components in Real-Time Systems A Configuration in IEC qEncapsulates all software for an application and consists of one or several resources which provide the computational mechanisms.

Page 13 Building Reliable Component-based Systems Chapter 13 -Components in Real-Time Systems A Program in IEC q A program is written in any of the languages proposed in the standard, for example: l Instruction lists l Assembly languages l Structured text l A high level language similar to Pascal l Ladder diagrams l Function block diagrams (FBD)

Page 14 Building Reliable Component-based Systems Chapter 13 -Components in Real-Time Systems Function Block Diagram A simple function block diagram representing a feedback control loop. FB 1 FB 2

Page 15 Building Reliable Component-based Systems Chapter 13 -Components in Real-Time Systems A Port-based Object Approach q The model is based upon the development of domain- specific components which maximize usability, flexibility and predictable temporal behavior. l Independent tasks are the bases for the PBO model. l Whenever a PBO needs data for its computation, it reads the most recent information from its in-ports, irrespective of its producer. l The PBOs are in their nature periodic and the system can be analyzed using traditional schedulability analysis.

Page 16 Building Reliable Component-based Systems Chapter 13 -Components in Real-Time Systems A Port-based Object Port-basedobject Variable input ports Variable output ports Resource ports for communication with sensors and actuators Configuration parameters

Page 17 Building Reliable Component-based Systems Chapter 13 -Components in Real-Time Systems Designing Component-based RTS System specification Top-level design Detailed design Scheduling / interface check Obtain components timing behavior on target platform System verification Final product Component library Create specifications for the new components Implement and verify new components using classical development methods Add new components to library Architecture analysis

Page 18 Building Reliable Component-based Systems Chapter 13 -Components in Real-Time Systems Top-level Design qThe first stage of the development process involves de- composition of the system into manageable components

Page 19 Building Reliable Component-based Systems Chapter 13 -Components in Real-Time Systems Detailed Design q At this stage a detailed component design is performed, by selecting components to be used from the candidate set.

Page 20 Building Reliable Component-based Systems Chapter 13 -Components in Real-Time Systems Architecture Analysis q At this stage it is time to check that the system under development satisfies extra-functional requirements such as: l Maintainability l Reusability l Modifiability l Testability

Page 21 Building Reliable Component-based Systems Chapter 13 -Components in Real-Time Systems Scheduling q At this point we must check that the temporal requirements of the system can be satisfied, assuming time budgets assigned in the detailed design stage. qIn other words, we need to make a schedulability analysis of the system based on the temporal requirements of each component

Page 22 Building Reliable Component-based Systems Chapter 13 -Components in Real-Time Systems WCET Verification q Performing a worst-case analysis can either be based on measurements or on a static analysis of the source code. q What is more interesting in the test cases is the execution time behavior shown as a function of input parameters as shown in the following slide.

Page 23 Building Reliable Component-based Systems Chapter 13 -Components in Real-Time Systems An Execution Time Graph Execution time Input domain 1 domain 2 domain 3 q q The execution time shows different values for the different input sub-domains.

Page 24 Building Reliable Component-based Systems Chapter 13 -Components in Real-Time Systems Maximum execution time per sub-domain Execution time Input domain 1 domain 2 domain 3

Page 25 Building Reliable Component-based Systems Chapter 13 -Components in Real-Time Systems Implementation of New Components q New components; Those not already in the library must be implemented. The designer of the component has two requirements: l The functional requirements l The assigned time budget

Page 26 Building Reliable Component-based Systems Chapter 13 -Components in Real-Time Systems System Build and Test q Finally, we build the system using old and new components. q We must now verify the functional and temporal properties of the system obtained. q If the verification test fails, we must return to the relevant stage of the development process and correct the error.

Page 27 Building Reliable Component-based Systems Chapter 13 -Components in Real-Time Systems Component Library q Is the most central part of any CBSE system as it contains binaries of components and their descriptions. qA component library containing real-time components should provide the following: l Memory requirements l WCET test cases l Dependencies l Environment assumptions

Page 28 Building Reliable Component-based Systems Chapter 13 -Components in Real-Time Systems Composition of Components

Page 29 Building Reliable Component-based Systems Chapter 13 -Components in Real-Time Systems End-To-End Deadlines q End-to-end deadlines l Are set such that the system requirements are fulfilled in the same way as the time budgets are set l Should be specified for the input to and output from the component since the WCET cannot be computed since its parts may be executing with different periods.

Page 30 Building Reliable Component-based Systems Chapter 13 -Components in Real-Time Systems Specification Of Timing Attributes q We specify virtual timing attributes of the composed component, which are used to compute the timing attributes of sub-components, ie: IF virtual period is set to P, THEN the period of a sub-component A should be f A * P AND the period of B is f B * P, WHERE f A and f B are constants for the composed component, which are stored in the component library

Page 31 Building Reliable Component-based Systems Chapter 13 -Components in Real-Time Systems RT Components in Rubus OS q Rubus: l Is one of a few real-time operating systems currently available which have some concept of components. l Is a hybrid operating system, in the sense that it supports both pre-emptive static scheduling and fixed priority scheduling.

Page 32 Building Reliable Component-based Systems Chapter 13 -Components in Real-Time Systems A Task and Its Interfaces q The timing requirements are specified by release-time, deadline, WCET and period

Page 33 Building Reliable Component-based Systems Chapter 13 -Components in Real-Time Systems A Composed System in the Red Model of Rubus q The task depicted below is required to execute before the outputBrakeValues task, (i.E. Task BrakeLeftRight precedes task outputBrakeValues).

Page 34 Building Reliable Component-based Systems Chapter 13 -Components in Real-Time Systems Composition of Components in Rubus