Welcome to Telelogic Product Support
  Home Downloads Knowledgebase Case Tracking Licensing Help Telelogic Passport
Telelogic Rhapsody (steve huntington)
Decrease font size
Increase font size
Topic Title: Real-time Software Engineering
Topic Summary:
Created On: 22-Sep-2005 13:38
Status: Read Only
Linear : Threading : Single : Branch
Search Topic Search Topic
Topic Tools Topic Tools
Subscribe to this topic Subscribe to this topic
E-mail this topic to someone. E-mail this topic
Bookmark this topic Bookmark this topic
View similar topics View similar topics
View topic in raw text format. Print this topic.
 22-Sep-2005 13:38
User is offline View Users Profile Print this message


Brandi Carroll

Posts: 82
Joined: 22-Jul-2004

REAL-TIME SOFTWARE ENGINEERING

Instructor: Dr. Yusuf Ozturk
Associate Professor of Electrical and Computer Engineering
San Diego State University
San Diego, California USA

Course Description:
Principles of Real time programming and software engineering for microprocessors systems. Concurrent programming and multitasking. Structured programming, Software validation, Team programming projects.

Class/Laboratory Schedule:
The class meets for two 75-minute lectures a week.

Prerequisites by Topic:
Microprocessor essentials, C or C++ programming language, operating systems basics.
Prerequisites by Course:
Consent of the instructor.

Course Objectives:
Introduction to embedded software engineering, real-time operating systems, real-time communication protocols, and scheduling theory, real-time programming and code generation, scheduling techniques. Introduction of real-time programming and code generation for embedded systems.

Textbooks and References:
· Jim Cooling, Software Engineering for Real Time Systems, Pearson
· Gomaa, Designing Concurrent Distributed & Real Time Applications w/UML, Addison Wesley, ISN: 0-201-65793-7
· Bruce Powel Douglass, ?Real Time UML?, Addison Wesley, ISBN 0-201-65784-8
· Michael Moore, Andre Pruitt, ?Principles of Real Time Software Engineering?, Wall and Emerson Inc, ISBN 0-921332-47-5
· Papers distributed by instructor.

Topics Covered:

A general discussion of an embedded computer-
Processor, Instruction set architecture, Interrupts, Direct memory access, Role of operating system, Bus architectures, Data transfer and processing performances etc, Network and communication interface

Preemptive Systems-
Concepts of priority, preemption, and context switching. Discussion of criticality, latency and context switching.

Elements of Preemptive Process Control-
A review of basic software building blocks: Programs, Processes, Threads and Segments
Preemption and Priority
Blocking
Client/Server Relationships
Data Flow Relationships

Real Time Systems and Schedulable Sets-
Define real time
Schedulability and Deadlines: Introduce deadlines, illustrating affect on software correctness
Hard versus Soft real time systems: Types of Deadlines
Critical Hard Real-Time (CHRT).
Non-Critical Hard Real-Time (NCHRT)
Soft Real-Time (SRT)

Constraints of Deadline Type on Design: The type of deadline affects the system complexity.
Reference mode for real time systems
Periodic task models
A periodic task model
Real Time Scheduling
Clock driven approach
Weighted Round Robin
Priority Driven
Dynamic versus static systems
Resources and resource access control
Real time communications

Prioritizing Hard Real-Time Processes
Statically imposed Cyclic & Preemptive Scheduling. A review of cyclic scheduling, comparing it to the preemptive scheduling methodology.

Schedulability Test for Static Priorities: An introduction to analytical methods of verifying ability to meet deadlines.
Period Deadlines and Rate Monotonic Scheduling: A method of selecting priorities for optimal hard deadline scheduling.
Pre-Period Deadlines and Deadline Monotonic Scheduling. A useful variant of rate monotonic scheduling.
Sources & Effects of Blocking. Accounting for simultaneous access to shared resources.
Context Switch Overhead: Accounting for scheduling overhead for cyclic and preemptive systems.

Prioritizing Soft Real-Time (SRT) Processes
Scheduling By Priority: average and worst case situations, sizing of queues, starvation.
Scheduling By Time Slice
Sporadic Serving: dealing with not so periodic peak demands
Designing With Resource Constraints

Mapping the Problem to HRT & SRT: converting requirements and preliminary design into deadlined design.
HRT Usage Floors and Ceilings: designing algorithms to exhibit temporal behavior good for hard real-time
SRT Usage Floors and Ceilings: designing algorithms to exhibit temporal behavior good for soft real-time.
Reuse & Custom Software: what they are, how to deal with them

Requirement Analysis?
Basics of good software
Software life cycle
Practical approaches to analysis and specification
Prototyping
Software design fundamentals
Modular design
Program control structures
Functional structuring of software design
Object oriented design
Data flow design

Real Time Operating Systems
Attributes of a real time operating system
Time services and scheduling mechanism
Capabilities of real time operating systems
Performance metrics and evaluation of operating systems

Assignments and Reading List
Each student is expected to read papers and submit a short summary of each paper.
The term project will be divided into several small programming assignments. The term project will be implemented by groups of 2-3 students.

Grading:
Two midterm exams, a term project report and a final exam constitute the evaluation process. The projects include written and oral presentation.
Midterm exams (40%), TermProject (30%), Final Exam (30%).
Report this to a Moderator Report this to a Moderator
Statistics
20925 users are registered to the Telelogic Rhapsody forum.
There are currently 0 users logged in.
You have posted 0 messages to this forum. 0 overall.

FuseTalk Standard Edition v3.2 - © 1999-2009 FuseTalk Inc. All rights reserved.