Real-Time Systems Development

www.csee.wvu.edu/~ammar/cpe484/

  

 

 

 

 

 

 

 

WEST VIRGINIA UNIVERSITY

COLLEGE OF ENGINEERING AND MINERAL RESOURCES

DEPARTMENT OF COMPUTER SCIENCE & ELECTRICAL ENGINEERING


CPE484 Real-Time Systems Development
Instructor: Dr. Hany Ammar

email: hammar@wvu.edu, Office: 246 AERB, Phone: 293-9682

Prerequisites: CS 110 and CS 111

Recommended Text:  Software Engineering for Real-Time Systems, Jim Cooling,  Addison Wesley; ISBN-10: 0201596202, ISBN-13: 978-0201596205, Nov. 2002.

References:

1.      Just Enough Structured Analysis, Ed. Yourdon, on-line book, http://yourdon.com/strucanalysis/wiki/index.php?title=Table_of_Contents

 

2.      Real-Time Systems Design and Analysis, 3ed., P. Laplante, IEEE Press, 2005.

.

 

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 briefly 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 the structured analysis and design techniques. Detailed design and implementation using C or C++ are then addressed followed by coverage of testing, verification and validation techniques and tools. A computer-aided software engineering (CASE) tool is used throughout the project. A term project, and a mid-term examination are used to assess the students learning process. The term project is to be done in teams of 2 or 3 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)

- Introduction to Real-Time Systems

Notes: Chapter 1 (pdf file)

(Lecture Slides 1)

-         Introduction to Software Engineering and the Software Life Cycle

Notes: Chapter 2 (pdf file)

Lecture Slides 2 on system and software engineering development process

Lecture Slides 3 on Software development standards, and ICASE environments

 

- Project Requirements

 

- System and Software Requirements Analysis (Notes: Chapter 3, Section1, the SRS document pdf file):  SRS-Doc Example

o        Structured Analysis for Real-time Systems. (Notes: Chapter 3 Section 2, SART notation pdf file)

Lecture Slides 4, The SRS document, and SART Notation

- Project Requirements Analysis Review

- High-level Design (Notes: Chapter 4)

Lecture Slides 5, Software Design Document and Design Criteria

Lectures Slides 6, Structured Design Techniques

- Project: High-level Design Review

- Lecture Slides 7, Detailed Design, Implementation, and Testing

- More on Testing, Testing Strategies, Lecture Slides 8,

                                   Testing Techniques, Lecture Slides 9

- Project: Detailed Design and Testing Review

Computer Usage: Students will be required to use graphical tools to support the SART/SD notation such MS Visio or Smart Draw.

 

Grading:

Attendance ...................................5%

 

Mid-Term Exam..................................................25%, tentative date: Thursday April 21s,

 

Project:..................................................................................Reviews (Tentative Dates)

Analysis................................................................25%..........March 1st

Design................................................................20%............April 12

Detailed Design & Coding............................................................................

Testing & Verification............................... .........15%......... May 7th

Project Final Report............................................10%............May 7th

The project will be conducted by groups of 2 or 3 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.

 

© COPYRIGHT 2004 ALL RIGHTS RESERVED YOURDOMAIN.COM