You are on page 1of 8

BIRLA INSTITUTE OF TECHNOLOGY & SCIENCE, PILANI

WORK INTEGRATED LEARNING PROGRAMMES

COURSE HANDOUT

Part A: Content Design


Course Title Real Time Systems
Course No(s) SS ZG553
Credit Units 5 (1 + 2 + 2)
Unit split between Class Hours + Lab/Design/Fieldwork + Student
preparation respectively; each unit translates to 32 hours
Course Author Prof. Lucy J Gudino and Prof. K R Anupama
Version No V 1.0
Date 10-11-2020

Course Objectives
No Course Objective

CO1 Understand the Requirements and Specifications of Real Time System Design

CO2 Understand Modelling of Real Time Systems

CO3 Understand the structure and design of RTOS, RT Communication, Databases,


Programming Languages and Compilers

Text Book(s)
T1 C.M.Krishna, K.G.Shin, Real Time Systems, McGraw Hill Education,2010

Reference Book(s) & other resources


R1 Liu, Jane W.S., Real Time Systems, Pearson Education, 2000
R2 Phillip.A.Laplante, S.J.Ovaska, Real Time System Design and Analysis, 4th edition,2012*

R3 Shaw, Real-Time Systems and Software, John Wiley & Sons Inc., 2001. ISBN 0-471-35490-2*

R4 H. Kopetz, "Real-time Systems," Design Principles for Distributed Embedded Applications 2nd
edition, Springer, 2011*
R5 Sivamurthy, G. Manimaran, Resource Management in Real-Time Systems and Networks ,PHI,
New Delhi,2005
R6 Relevant Journal and Conference Papers
* Available as kindle edition which is considerably cheaper than the printed version

Modular Content Structure

1. Introduction to Embedded System and Real-Time System


1.1. Typical Embedded System
1.1.1. Characteristics of Embedded system
1.1.2. Examples of Embedded system
1.2. Typical Real-Time System
1.2.1. Characteristics of Real Time system
1.2.2. Examples of Real-Time System
1.2.3. Hard vs Soft Real-Time System
1.2.4. Issues in Real-Time System
1.2.5. Structure of a Real Time System
1.2.6. Task Classes
2. Characterizing Real-Time Systems and Tasks
2.1. Performance Measures for Real Time Systems
2.1.1. Properties of Performance Measures
2.1.2. Traditional Performance Measures
2.1.3. Performability
2.1.4. Cost Functions and Hard Deadlines
2.2. Estimating Program Run Times
2.2.1. Analysis of Source Code
2.2.2. Accounting for Pipelining
2.2.3. Caches
2.2.4. Virtual Memory
3. Task Assignment and Scheduling
3.1. Classical Uniprocessor Scheduling Algorithms
3.2. Uniprocessor Scheduling of IRIS Tasks
3.3. Task Assignment
3.4. Mode Changes
3.5. Fault Tolerant Scheduling
4. Programming Languages and Tools
4.1. Desired Language Characteristics
4.2. Data Typing
4.3. Control Structures
4.4. Facilitating Hierarchical Decomposition: Blocks, Procedures and Functions
4.5. Packages
4.6. Run-Time Error (Exception) Handling
4.7. Overloading and Generics
4.8. Multitasking
4.9. Low Level Programming
4.10. Task Scheduling
4.11. Timing Specifications
4.12. Programming Environments
4.13. Run Time Support
4.14. Example Programming Language
5. Real Time Databases
5.1. Definitions
5.2. Real-Time and General-Purpose Databases
5.2.1. Absolute vs. Relative Consistency
5.2.2. Need for response time predictability
5.2.3. Relaxing the ACID Properties
5.3. Main Memory Databases
5.4. Transaction Priorities
5.5. Transaction Aborts
5.6. Concurrency Control Issues
5.7. Disk Scheduling Algorithms
5.8. A Two Phase Approach to Improve Predictability
5.9. Maintaining Serialization Consistency
5.10. Databases for Hard Real Time Systems
6. Real-Time Communication
6.1. Communication Media
6.2. Network Topologies
6.2.1. Sending Messages
6.2.2. Network Architecture Issues
6.3. Protocols
6.3.1. Contention Based Protocols
6.3.2. Token Based Protocols
6.3.3. Stop-and-Go Multihop Protocol
6.3.4. The polled Bus Protocol
6.3.5. Hierarchical Round Robin Protocol
6.3.6. Deadline Based Protocols
6.3.7. Fault-Tolerant Routing
7. Fault-Tolerance Techniques (13)
7.1. Reasons for failures
7.2. Fault Types
7.3. Fault Detection
7.4. Fault and Error Containment
7.5. Redundancy : Hardware, Software, Time and information redundancy
7.6. Data Diversity
7.7. Reversal Checks
7.8. Malicious Failures
7.9. Integrated Failure Handling
8. Reliability Evaluation Techniques
8.1. Obtaining Parameter Values
8.2. Reliability models for hardware redundancy
8.3. Software-error Models
9. Clock Synchronization
9.1. Clocks
9.2. A Nonfault-Tolerant Synchronization Algorithm
9.3. Impact of faults
9.4. Fault-Tolerant Synchronization in Hardware
9.5. Synchronization in software

Learning Outcomes:

No Learning Outcomes

LO1 Ability to characterize Real-Time Systems and Tasks

LO2 Ability to Design and Analyze Scheduling Algorithms for Single Processor Embedded Real
Time Systems

LO3 Ability to design , build Real Rime Embedded Systems using the programming languages,
databases and tools available
Part B: Contact Session Plan

Academic Term Second Semester 2022-2023


Course Title Real Time Systems
Course No SS ZG553
Lead Instructor Anupama K.R.
Instructors

Course Contents

Sl. No. Conta List of Topic Title Topic # Text/Ref


ct (from content structure in Part A) (from Book/extern
Hour content al resource
# structure
in Part A)

1 1-2 Introduction to Embedded System 1.1 – 1.2 CH 1


and Real-Time System
 Typical Embedded System
o Characteristics of Embedded
system
o Examples of Embedded system
 Typical Real-Time System
o Characteristics of Real Time
system
o Examples of Real-Time
System
o Hard vs Soft Real-Time
System
o Issues in Real-Time System
o Structure of a Real Time
System
o Task Classes

2 3-4 Characterizing Real-Time 2.1 CH 2


Systems and Tasks
 Performance Measures for Real
Time Systems
o Properties of Performance Measures
o Traditional Performance Measures
o Performability
o Cost Functions and Hard Deadlines

3 5-6 Characterizing Real-Time 2.2 CH 2


Systems and Tasks (Contd…)
 Estimating Program Run Times
o Analysis of Source Code
o Accounting for Pipelining
o Caches
o Virtual Memory

4 7-8 Task Assignment and Scheduling 3.1, 3.2 CH 3


 Classical Uniprocessor Scheduling
Algorithms
 Uniprocessor Scheduling of IRIS
Tasks

5 9-10 Task Assignment and Scheduling 3.3-3.5 CH 3


(Contd..)
 Task Assignment
 Mode Changes
 Fault Tolerant Scheduling

6 11-12 Programming Languages and 4.1 – 4.4 CH 4


Tools
 Desired Language
Characteristics
 Data Typing
 Control Structures
 Facilitating Hierarchical
Decomposition: Blocks, Procedures and
Functions

7 13-14 Programming Languages and Tools 4.5 – 4.10 CH 5


(Contd…)
 Packages
 Run-Time Error (Exception) Handling
 Overloading and Generics
 Multitasking
 Low Level Programming
 Task Scheduling

8 15-16 Programming Languages and Tools 4.11 - 4.14 CH 4


(Contd…)
 Timing Specifications
 Programming Environments
 Run Time Support
 Example Programming Language
Mid Sem Examination
9 17-18 Real Time Databases 5.1 – 5.4 CH 5
 Definitions
 Real-Time and General-Purpose
Databases
o Absolute vs. Relative
Consistency
o Need for response time
predictability
o Relaxing the ACID Properties
 Main Memory Databases
 Transaction Priorities

10 19-20 Real Time Databases (Contd…) 5.5 – 5.9 CH 5


 Transaction Aborts
 Concurrency Control Issues
 Disk Scheduling Algorithms
 A Two Phase Approach to
Improve Predictability
 Maintaining Serialization Consistency
 Databases for Hard Real Time
Systems

11 21-22 Real-Time Communication 6.1, 6.2, Ch 6


 Communication Media 6.3.1 –
 Network Topologies 6.3.4
o Sending Messages
o Network Architecture Issues
 Protocols
o Contention Based Protocols
o Token Based Protocols
o Stop-and-Go Multihop Protocol
o The polled Bus Protocol

12 23-24 Real-Time Communication (Contd…) 6.3.5-6.3.7 CH 6


 Protocols
o Hierarchical Round Robin
Protocol
o Deadline Based Protocols
o Fault-Tolerant Routing 7.1 – 7.3 CH 7
Fault-Tolerance Techniques
 Reasons for failures
 Fault Types
 Fault Detection

13 25-26 Fault-Tolerance Techniques (Contd…)


 Fault and Error Containment 7.4 – 7.9 CH 7
 Redundancy : Hardware, Software,
Time and information redundancy
 Data Diversity
 Reversal Checks
 Malicious Failures
 Integrated Failure Handling

14 27-28 Reliability Evaluation Techniques 8.1-8.3 CH 8


 Obtaining Parameter Values
 Reliability models for hardware
redundancy
 Software-error Models

15 29-30 Clock Synchronization 9.1-9.5 CH 9


 Clocks
 A Nonfault-Tolerant Synchronization
Algorithm
 Impact of faults
 Fault-Tolerant Synchronization in
Hardware
 Synchronization in software

16 31-32 Revision - -
Comprehensive Examination

Evaluation Scheme:

Legend: EC = Evaluation Component; AN = After Noon Session; FN = Fore Noon Session


Evaluation Name Type Weight Duration Day, Date, Session,
Component Time
Assignment- I Online 10% 1 week February 13-23,
EC – 1*
2023
Assignment- II Online 10% 10 days March 20-30, 2023
Mid-Semester Test Open Book 30% 2 hours Friday,
EC - 2
10/03/2023(FN)
Comprehensive Exam Open Book 50% 2½ Friday,
EC - 3
hours 19/05/2023 (FN)

Note: If Assignment kindly remove Quiz-I, II, III


Syllabus for Mid-Semester Test (Open Book): Topics in Session Nos. 1 to 16
Syllabus for Comprehensive Exam (Open Book): All topics (Session Nos. 1 to 32)

Important Information

Evaluation Guidelines:
1. EC-1 consists of either two Assignments or three Quizzes. Announcements regarding the
same will be made in a timely manner.
2. For Closed Book tests: No books or reference material of any kind will be permitted.
Laptops/Mobiles of any kind are not allowed. Exchange of any material is not allowed.
3. For Open Book exams: Use of prescribed and reference text books, in original (not
photocopies) is permitted. Class notes/slides as reference material in filed or bound form is
permitted. However, loose sheets of paper will not be allowed. Use of calculators is permitted
in all exams. Laptops/Mobiles of any kind are not allowed. Exchange of any material is not
allowed.
4. If a student is unable to appear for the Regular Test/Exam due to genuine exigencies, the
student should follow the procedure to apply for the Make-Up Test/Exam. The genuineness of
the reason for absence in the Regular Exam shall be assessed prior to giving permission to
appear for the Make-up Exam. Make-Up Test/Exam will be conducted only at selected exam
centres on the dates to be announced later.
It shall be the responsibility of the individual student to be regular in maintaining the self-study
schedule as given in the course handout, attend the lectures, and take all the prescribed evaluation
components such as Assignment/Quiz, Mid-Semester Test and Comprehensive Exam according to the
evaluation scheme provided in the handout.

You might also like