B Real Time Software Engineering (CpE 291 A)

WEST VIRGINIA UNIVERSITY

COLLEGE OF ENGINEERING

LANE DEPARTMENT OF COMPUTER SCIENCE & ELECTRICAL ENGINEERING

CLASS GUIDELINES
Cpe 684
Advanced Real-Time Systems Development

Spring semester of each year
Instructor: Dr. Hany Ammar, email: hammar@wvu.edu, Office: 739 ESB, Phone: 293-0405 (ext.. 2514)

Prerequisites: CS 415, Intr. To Object-Oriented Programming, CpE 484, Intr. To Real-Time Systems Development, or instructor consent.

Text:  Doing Hard Time: Developing Real-Time Systems with UML, Objects, Frameworks, and Patterns, By B. P. Douglass, Addison Wesley, 1999, 0-202-49837-5

References:

Course Description and Objectives: This is a project-based course focused on systems development with an emphasis on analysis and design of real-time systems. The course starts by introducing the Unified Modeling Language (UML)  for real-time systems and describing their characteristics and unique attributes of real-time safety critical systems. The object-oriented development process for embedded systems is described. The analysis and design phases of development are then covered by describing.real-time object modeling techniques and design patterns and frameworks. Detailed design and implementation using C++ are then addressed followed by a detailed coverage of testing, verification and validation techniques and tools.
A computer-aided software engineering (CASE) tool, namely RoseRT 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.

Expected Learning Outcomes :                    

Upon successful completion of this course students will 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:
  3. Specify and practice the usage of key object-oriented design patterns and frameworks for real-time embedded systems.
  4. 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

  1. 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.
  2. Identify tasks and techniques used for software verification and validation at the early stages of development.

Topics:.(Notes and Lecture Slides)......................................................# of Weeks

Computer Usage: Students will be required to use RoseRT a Computer-Aided Software Engineering package running on the NT workstations in the Computer Lab in ESB 813 and 756.

Grading:

Project:..........................................................................................................Deadline

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.

Grade Assignment :   100 – 90 A

                                      89 – 80 B

                                      79 – 70 C

                                      69 – 60 D

                                      59 –   0 F

 

Grading Policy :          No make-up exams except by prior arrangement with instructor

                                    Late assignment = no assignment

                                    Exam grading appeals in writing on the day the exam is returned.