CLASS
GUIDELINES
CPE484
Real-Time Systems/Adv. Real-Time Systems
Spring 2004
Instructor:
Dr. Hany Ammar
email: hammar@wvu.edu, Office: 739
ESB, Phone: 293-0405 (ext. 2514)
Prerequisites: CS 110 and CS 111 and
familiarity with C and C++ programming languages (Object-Oriented Programming
is required for CPE 685).
Recommended Text:Real-Time Software Systems:An Introduction to
Structured and Object-Oriented Design, by J.
E. Cooling,
PWS Publishing (1997),
ISBN-10: 1850322740,ISBN-13:
978-1850322740
References:
Course
Description: This is a project-based course focused on software development with an
emphasis on analysis and design of software for real-time systems. The course
starts by defining real-time systems and describing their characteristics and
unique attributes. The software life-cycle phases are then described in the
context of the Mil-STD-498 software development standard. The analysis and
high-level design phases of development are then covered by describing both the
structured analysis and design techniques in detail and the object-oriented
technique briefly. Detailed design and implementation using C or C++ are then
addressed followed by a coverage of testing, verification and validation
techniques and tools.
A computer-aided software engineering (CASE) tool is used throughout the
project. A term project, in-class exercises, and a mid-term examination are
used to assess the students learning process. The term project is to be done in
teams of 3 or 4 students and it starts very early in the semester during the
second or third week. In-class Project Presentations and reviews will be
conducted according to the schedule given below.
Goals: The learning outcomes of
this course are listed as follows:
The student should be able to:
1. Specify the
characteristics of real-time software and identify unique attributes and
problems related to the software development for real-time systems using
specific examples.
2. Use a CASE
tool to:
o
Correctly analyze the software requirements of a
complex real-time system and develop a specification based on Structured Analysis
for Real-Time systems (SART)
o
Develop and verify a high level design according to
the specification obtained in the previous step.
o
Develop a detailed design and implementation using C
or C++ .
3. Develop a
detailed design and implement and test using scenario-based testing a component
of a complex real-time system design
If
time permits, the students will be able to
4. Identify techniques
used in the analysis and prediction of the timing behavior of a system based on
detailed design. Specify examples of using such techniques for assessing design
tradeoffs and troubleshooting the system timing behavior.
5. Identify tasks
and techniques used for software verification and validation at the early
stages of the software life-cycle.
Topics:.(Notes and Lecture Slides) # of Weeks
Notes: Chapter 1 (pdf
file).....
Notes:
Chapter 2 (pdf file). 1
Lecture Slides 2 on system and software
engineering development process
Lecture Slides 3 on Software
development standards, and ICASE environments
Lecture
Slides.4., The SRS document, and SART Notation 2
·
Project Requirements Analysis
Review
·
High-level Design 2
Structured Design 1, Structured design 2
Computer
Usage:
Students will be required to use Computer-Aided Software Engineering packages
running on the workstations in the Computer Labs in ESB 813 or 756.
Grading:
Project:.............................................................................................................................................Deadline
The project will be
conducted by groups of 3 or 4 students. Reports on projects will be required
from each group after each phase. The final report should summarize the whole
project and show the testing results, and give a section on problems
encountered and lessons learned during the software development process. It is
expected that students will participate equally in the work of the group. Group
meetings minutes specifying the attendees should be included, and the
contribution of each student must be documented in each report.