WEST VIRGINIA UNIVERSITY
COLLEGE OF ENGINEERING
DEPARTMENT OF COMPUTER
SCIENCE & ELECTRICAL ENGINEERING
CLASS GUIDELINES
CE 484 Real-Time Systems
Instructor: Dr.
Hany Ammar
email: hammar@wvu.edu, Office: 739
ESB, Phone: 293-6371 (ext.. 2514)
Prerequisites: CS 15 and CS 16 or familiarity with C or C++
programming languages.
Text: Real-Time
Software Systems, An Introduction to Structured and Object-Oriented Design, By
J.E. Cooling, ITP Publishers, 1997, ISBN: 0-534-95492-8
References:
- Lyons, A. UML for Real-Time
Overview, ObjecTime, Ltd.,White Paper. http://www.ObjecTime.com/otl/technical/umlrt.html
- Selic, B. and Rumbaugh, J.
Using UML for modeling complex Real-Time systems, ObjecTime,
Ltd.,White Paper.
http://www.ObjecTime.com/otl/technical/umlrt.html
- Software Specification and
Design, A Disciplined Approach for Real-Time Systems by Shumate and Kelly,
Wiley, 1992.
- Designing Large Real-Time
Systems With Ada, by Nielson and Shumate, McGraw-Hill, 1988.
- Real-Time Systems and Their
Programming Languages, by Burns & Wellings, Addison-Wesley, 1989.
- Software Engineering, by I.
Sommerville, Addison-Wesley, 1989, 3rd Ed.
- Structured Development for
Real-Time Systems, by Ward and Mellor, Yourdon Press, 1986, 3 volumes.
- Object-Oriented Design With
Applications, by G. Booch, Benjamin Cummings, 1991.
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 detailed
coverage of testing, verification and validation techniques and tools.
A computer-aided software engineering (CASE) tool is used throughout the
course. 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 desired outcomes of this course are listed as
follows:
The student should be able to:
- 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.
- Use a CASE tool to:
- Correctly analyze the
software requirements of a complex real-time system and develop a
specification based on structured analysis or object-oriented analysis.
- Develop and verify a
high level design according to the specification obtained in the previous
step.
- Develop a detailed
design and implementation using C or C++.
- Specify the key differences
between the structured and object-oriented approaches for software
analysis and design.
- 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
- 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.
- 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
(Lecture Slides
1)........................................1/2
Lecture Slides 2 on system and software
engineering development process
Lecture
Slides 3 on Software development standards, and ICASE environments
The Pacmaker
document
- Project:
Requirements Analysis
Review......................................................................................2
- High Level Design:(Notes,pdf ffile) 2
- Project:
High-level Design
Review.............................................................................................1
- Detailed Design, Implementation, and
Testing...........................................................................................................................1
- Verification
and Validation of Real-Time Software...................................................................1
- Project:
Detailed Design and Testing
Review............................................................................1
Computer Usage: Students will be required to use a Computer-Aided Software Engineering package
running on the NT workstations in the Computer Lab in ESB 813.
Grading:
- Homework and Exercises
...................................5%
- Mid-Term
Exam..................................................30%, tentative date:
Thursday April 12, 7:00 to 9:00 pm, in G39.
Project:.............................................................................................................................................Deadline
- Analysis...........................................................................25%.............................Feb.
15 (See Schedule)
- Design..............................................................................20%.............................Mar.
20 (see Schedule)
- Detailed Design &
Coding.............................................................................................…………………
- Testing &
Verification...................................................….15% April 24 (see
schedule)
- Project Final
Report........................................................5%.................................April
27 12:00 noon
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.