0% found this document useful (0 votes)
160 views7 pages

17-619 Introduction To Real-Time Software and Systems: Carnegie Mellon

This document provides an overview and objectives for an introductory course on real-time software and systems. The course covers fundamental concepts of real-time systems like scheduling, synchronization, resource management. It examines the software development lifecycle with emphasis on addressing real-time issues during each phase like requirements analysis, architecture, design, implementation and testing. The course also explores topics like real-time languages, operating systems, problems in distributed systems. The objectives are to understand timing concepts, scheduling algorithms, analysis and design methods for real-time systems. The course activities include homework assignments, a project to design a real-time system, and a final essay.

Uploaded by

bkit_n_hai
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
160 views7 pages

17-619 Introduction To Real-Time Software and Systems: Carnegie Mellon

This document provides an overview and objectives for an introductory course on real-time software and systems. The course covers fundamental concepts of real-time systems like scheduling, synchronization, resource management. It examines the software development lifecycle with emphasis on addressing real-time issues during each phase like requirements analysis, architecture, design, implementation and testing. The course also explores topics like real-time languages, operating systems, problems in distributed systems. The objectives are to understand timing concepts, scheduling algorithms, analysis and design methods for real-time systems. The course activities include homework assignments, a project to design a real-time system, and a final essay.

Uploaded by

bkit_n_hai
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

17619

Introduction to Real-Time Software and Systems

Version 1.3 (28 September 2009)

Overview
Real-time software controls everything from jet airplanes to airline reservations; deep-space communication to mobile phones. Any system that responds at the pace of relevant events has real-time requirements and constraints whether the timescale is short like the flight controls for an aircraft or longer like the flight scheduling system for an airline. Thinking about time and timing are fundamental to software engineering practice because at some level, every software system has real-time requirements and development considerations. System response must be both correct and timely. Introduction to Real-Time Software and Systems presents an overview of time as it relates engineering complex software systems. In this course basic concepts, terminology, and issues of real-time are examined. Initial emphasis is placed on real-time scheduling and priority to achieve desired system timing, reliability, and robustness. Understanding how timing is achieved and the potential problems that may arise provides the basis for applying software engineering principles to real-time systems development. The software development lifecycle is examined with emphasis on addressing real-time issues during each phase. General software systems engineering processes are expanded by the added concerns of real-time response. Real-time requirements analysis, architecting real-time systems, design and modeling of system timing, and implementation and testing strategies are examined. Languages and operating systems for real-time computing, and real-time problems in distributed processing systems are explored. This course provides a comprehensive view of real-time systems with theory, techniques and methods for the practitioner. After successfully completing this course, the student will be able to identify and understand timing issues in system development and propose approaches or solutions to address basic problems in real-time computing. It is the goal of this course to motivate and prepare students to pursue more in-depth study of specific problems in real-time computing and systems development.

Objectives
This course will examine analysis, design, and systems issues for real-time systems. By the end of the course you should be able to: Dene what it means to be a real-time system or application Understand elements of hardware and software as they relate to system performance Discuss timing and related attributes associated with real-time systems Learn scheduling concepts and algorithms and their relative merits Understand synchronization and resource management approaches Identify possible timing problems including deadlock and priority inversion Apply analysis techniques including rate monotonic analysis Consider approaches to servicing periodic and aperiodic events Recognize the systems development process and its relationship to real-time issues Consider the critical requirements imposed by real-time applications Apply real-time extensions to software requirements analysis including UML modeling Understand the role of architecture in real-time systems engineering
Introduction to Real-Time Software and Systems

Carnegie Mellon

Decide the appropriate analysis and design methods for a real-time system Apply techniques for modeling dynamic behavior in real-time systems Consider real-time verification and validation issues and strategies. Devise real-time testing strategies and plans to meet performance and quality requirements Discuss characteristics of real-time operating systems and features of programming languages

Instructor
Ofce David Wettergreen NSH 2113 Telephone 412-268-5421 Email dsw@ri.cmu.edu

Course Meetings
Lectures: Office Hours: Tuesday and Thursday, 1:30-2:50pm Immediately after class or by appointment

Course Materials
The required textbooks are: Real-Time Systems Design and Analysis (3rd Edition), by Phillip Laplante, ISBN 0-471-22855-9, IEEE Press/WileyInterscience, 2004 Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications (2nd Edition), by Giorgio Buttazzo, ISBN 0-387-23137-4, Springer, 2004 The syllabus, lectures and assignments will be available online under course F09-17619 at: http:// blackboard.andrew.cmu.edu

Prerequisites
This course is designed with practicing developers and managers in mind. Prerequisites are established to ensure that students have some software engineering experience from which this course can build. Familiarity with the typical software development process either from practical experience or an introductory software engineering course. Proficiency with a high-level programming language such as C or Ada and basic concepts of computing systems. Software will be considered to the level of device drivers rather than microcode. Knowledge of basic operating systems concepts generally taught in an undergraduate operating systems course, such as tasks and scheduling.

Any concerns about your background should be discussed with the instructor.

Carnegie Mellon

Introduction to Real-time Software and Systems

Activities and Grading


Assignments Individual homework assignments will apply lecture and reading material and require specific skills and knowledge. The 12 individual assignments will make up 55% of the final grade (5% for each assignment with the lowest one of thirteen dropped). Project The course project will be executed individually (not in teams) and consists of analysis, design, and planning for the development of a real-time system. The particular problem will be chosen by the student in an area of interest. The project will develop a real-time system from concept through to detailed design. Evaluation for the project will be from written artifacts: a Requirements Specification, an Architecture and Detail Design, and a Verification, Validation and Test Plan. A final presentation will describe the results of the real-time analysis and design and describe lessons-learned through the process. The grade for the project will be based upon the artifacts and presentation and will contribute 35% of each students final grade (10% specification, 10% design, 10% test plan, 5% final presentation). Essay A final essay (approximately a take-home final exam) will apply all of the concepts and skills developed during the course to analysis of a real-time system in all dimensions. It will contribute 10% to each student's final grade (10% for the single essay).

Carnegie Mellon

Introduction to Real-time Software and Systems

Schedule

Date
1 2 8/25 8/27

Unit
Introduction

Lecture
Course Introduction and Overview Real-Time Characteristics and Denitions Real-Time Hardware Processors Memory Transducers Operating Systems and Tasks Kernels Tasks Priorities Utilization and Response Time Task Utilization Factor and Test Completion Time Theorem Response Time Test Periodic Task Scheduling Utilization Bound Rate Monotonic Scheduling Earliest Deadline First Synchronization and Blocking Semaphones Priority Inversion Priority Ceiling Protocol Resource Access Stack Resource Protocol Other Resource Strategies Rate Monotonic Analysis Sonar Case Study No Lecture - G-20 Summit Aperiodic Task Scheduling Asynchronous Interrupts Scheduling Algorithms Priority Servers Fixed Priority Servers Dynamic Priority Servers Priority Servers Dynamic Priority Servers Lessons Systems Development Systems Perspective Lifecycle Requirements, Architecture and Design Software Attributes Properties and Attributes Principles Requirements Elicitation

Reading
[Lapante04]Ch.1 [Halang92] [Stankovic88] [Lapante04]Ch.2

Assignment
A1 Out

9/1

Systems

A1 Due A2 Out

9/3

[Lapante04]Ch.3 [Buttazzo04]Ch.9 [Buttazzo04]Ch.2 [Lui73] [Buttazzo04]Ch.4 [Sha91] [Buttazzo04]Ch.7 A3 Due A4 Out Project Topic Out A2 Due A3 Out

9/8

Scheduling

9/10

9/15

9/17

[Buttazzo04]Ch.7 [Johnson95] [Fowler93] [Klein93] [Buttazzo04]Ch.3 A4 Due A5 Out Project Topic Due

9 10 11

9/22 9/24 9/29

12

10/1

[Buttazzo04]Ch.5 [88Sha] [Buttazzo04]Ch.6

13

10/6

A5 Due A6 Out

14

10/8

[Kossiakoff03]Ch.3 Project Specication Out

15

10/13

Development Process

[Lapante04]Ch.4-5

A6 Due A7 Out

Carnegie Mellon

Introduction to Real-Time Software and Systems

Date
16 17 10/15 10/20

Unit
Requirements

Lecture
Analysis Structured Analysis Modeling Use Cases Sequence Diagrams Modeling Use Cases Sequence Diagrams Modeling Sequence Diagrams Timing Diagrams Statecharts Architecture Denitions and Views Architectural Properties Design Patterns Patterns Concurrency Distribution Safety and Reliability Patterns Deployment Case Study Performance Analysis Modeling Methods Verication and Validation Process and Methods Completeness and Stability Test Procedures Defect Detection Complexity Analysis Inspections and Procedures Safety and Reliability Fault Tolerance Failure Modes and Effects Analysis Real-Time Languages No Lecture - Thanksgiving Real-Time Operating Systems Course Review

Reading
[Yourdon89] [Douglass04]Ch.3

Assignment

A7 Due A8 Out

18

10/22

[Douglass04]Ch.3

19

10/27

[Douglass04]Ch.5

A8 Due A9 Out Project Design Out Project Specication Due A9 Due A10 Out

20

10/29

Design

[Douglass03]Ch.2 & Ch. 5-6

21

11/3

[Douglass03]Ch.7-8

22

11/5

[Gomaa00]Ch.18

23

11/10

[Laplante04]Ch.7 [Cooling03]Ch.14 [Collofello88]

24

11/12

Verication & Validation

A10 Due A11 Out Project V&V Out Project Design Due

25

11/17

[Laplante04]Ch.8 [Cooling03]Ch.11

A11 Due

26

11/19

[Douglass03]Ch.9 [Laplante04]Ch.8.3 Project V&V Due

27 28 29

11/24 11/26 12/1 12/3

Final Essay Out

Carnegie Mellon

Introduction to Real-Time Software and Systems

Bibliography
[Cooling03] Cooling, J., Software Engineering for Real-Time Systems, Addison-Wesley, 2003. [Collofello 88] Collofello, James S. Introduction to Software Verification and Validation (SEI-CM-13-1.1). Pittsburgh, PA: Software Engineering Institute, Carnegie Mellon University, 1988. [Douglass99] Douglass, B., Doing Hard Time: Developing Real-Time Systems with UML, Objects, Frameworks, and Patterns, Addison-Wesley, 1999. [Douglass03] Douglass, B., Real-Time Design Patterns: Robust Scalable Architecture for Real-Time Systems, Addison-Wesley, 2003. [Douglass04] Douglass, B., Real-Time UML: Advances in the UML for Real-Time Systems, Addison-Wesley, 2004. [Fowler93] Priscilla Fowler, Linda Levine; Technology Transition Push: A Case Study of Rate Monotonic Analysis (Part 1); SEI Technical Report CMU/SEI-93-TR-29, December 1993 [GAO92] GAO Report, IMTEC-92-26 - Patriot Missile Software Problem, February, 1992. http://www.fas.org/ spp/starwars/gao/im92026.htm [Garlan94] Garlan, D., Shaw, M, An Introduction to Software Architecture, CMU/SEI-94-TR-21, Carnegie Mellon University, January 1994. [Gomaa00] Gomaa, H., Designing Concurrent, Distributed, and Real-Time Applications with UML, AddisonWesley, 2000. [Fowler93] Priscilla Fowler, Linda Levine; Technology Transition Push: A Case Study of Rate Monotonic Analysis (Part 1); SEI Technical Report CMU/SEI-93-TR-29, December 1993 [Klein93] Mark Klein, Thomas Ralya, Bill Pollak, Ray Obenza, Michael Gonzlez Harbour; A Practioners Handbook for Real-Time Analysis: Guide to Rate Monotonic Analysis for Real-Time SystemsKluwer Academic Publishers, 1993 [Halang92] Halang, W., Real-Time Systems: Another Perspective, Journal of Systems and Software, Elsevier Science Inc., April 1992, also published in Real-Time Systems: Abstractions, Languages and Design Methodologies, edited by K. Kavi, IEEE Computer Society Press, 1992 [Humphrey89] Humphrey, W., Managing the Software Process. Reading, MA: Addison-Wesley, 1989. [Johnson95] Johnson, Theodore. A Performance Comparison of Fast Distributed Mutual Exclusion Algorithms 9th International Parallel Processing Symposium (April 1995). [Kossiakoff03] Kossiakoff, A., Sweet, W., Systems Engineering: Principles and Practice, Wiley-Interscience, 2003. [Lapante03] Laplante, P., Real-Time Systems Design and Analysis (3rd Edition), IEEE/Wiley Interscience, 2004. [Leveson93] Leveson, N, Turner, C. Investigation of the Therac-25 Accidents. IEEE Computer, Vol. 26, No. 7 (July 1993): 18-41. http://courses.cs.vt.edu/~cs3604/lib/Therac_25/Therac_1.html [Lui73] Liu, C., Layland. J. Scheduling Algorithms for Multiprogramming in a Hard Real-Time Environment. Journal of the Assoc. for Computing Machinery, Vol. 20, No. 1 (1973): pp. 46-61. [Shaw98] Shaw, M., Moving from Qualities to Architecture: Architectural Style Software Architecture in Practice, Chapter 5, Editors: Len Bass, Paul Clements, Rick Kazman, Addison-Wesley, 1998. [Place93] Place, P., Kang, K., Safety-Critical Software: Status Report and Annotated Bibliography. SEI Technical Report CMU/SEI-92-TR-5. Carnegie Mellon University, 1995. [Rakitin01] Rakitin, Steven, Software Verification and Validation for Practitioners and Managers, Boston, MA: Artech House 2001. [Sha88] Sha, L., Rajkumar, R., Lehoczky, J., Ramamritham, K., Mode Change Protocols for Priority-Driven Preemptive Scheduling, Software Engineering Institute Technical Report, CMU/SEI-88-TR-034, 1988. [Sha91] Sha, Lui, Mark H. Klein and John B. Goodenough, Rate Monotonic Analysis for Real-Time Systems,
Carnegie Mellon Introduction to Real-Time Software and Systems

Software Engineering Institute Technical Report, CMU/SEI-91-TR-6, March 1991. [SIAM96] Inquiry Board Traces Ariane 5 Failure to Overflow Error, SIAM News, Vol. 29, No. 8. (October 1996). http://www.math.ufl.edu/~cws/3114/ariane-siam.html [Stankovic88] Stankovic, J., Misconceptions About Real-Time Computing: A Serious Problem for Next-Generation Systems, IEEE Computer, Vol. 21, No. 10, October 1988. [Suri92] Suri, D., Considerations for testing of real time spacecraft software, American Institute of Aeronautics and Astronautics (AIAA 92- 0998), February 1992. [OMG03] Object Modeling Group (OMG), Unified Modeling Language: Superstructure, Version 2.0. 2003. www.omg.org [Yourdon89] Yourdon, E., Modern Structured Analysis, Prentice Hall, 1989

Carnegie Mellon

Introduction to Real-Time Software and Systems

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy