Advanced Real-Time Systems Development
CPE 684
Offered fall semester of every year.
Prerequisites
CS 415, Intr. to Object-Oriented Programming, CpE 484, Intr. to Real-Time Systems Development or instructor consent.Recommended Text
Pattern-oriented Analysis and Design: Composing Patterns to Design Software Systems by Sherif M. Yacoub, Hany H. Ammar, Addison-Wesley, 2004, ISBN: 0201776405.
References
- Real-time Systems Design and Analysis, by Phillip A. Laplante; Seppo J. Ovaska, John Wiley&Sons, 2011.
- Real-time Systems: Design Principles for Distributed Embedded Applications (Real-Time Systems Series) by Hermann Kopetz, Springer; 2nd ed. 2011.
- Software Modeling and Design: UML, Use Cases, Patterns, and Software Architectures by Hassan Gomaa, Cambridge University Press; 2011.
- Embedded System Design Patterns
- Real-time UML, B. P. Douglass, 3rd ed., Addison Wesley, 2006.
- Designing Concurrent, Distributed, and Real-time Applications with UML, Hassan Gomaa, Addison Wesley, 2000.
- Lyons, A,. UML for Real-time Overview, ObjecTime, Ltd., white paper.
- Selic, B. and Rumbaugh, J., Using UML for modeling complex Real-Time systems, ObjecTime, Ltd., white paper.
- UML: A Beginner's Guide by Jason T. Roff
- The Elements of UML® Style by Scott W. Ambler
- Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process (second edition) by Craig Larman
- Design Patterns Explained: A New Perspective on Object-oriented Design by Alan Shalloway, James R. Trott
- Design Patterns by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
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 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 object modeling techniques and design patterns and frameworks. The dourse concentrates on pattern-oriented analysis and design. The POAD process and its application to several case studies will be addressed.
A computer-aided software engineering 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 three-four students. Project presentations and reviews will be conducted in class.
Expected Learning Outcomes
Upon successful completion of this course students will 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 object-oriented analysis and
- Develop and a high level design according to the specification using design patterns.
Topics
(Lecture Slides) # of Weeks
- Review of Real-time Systems Attributes and Characteristics - 1/2
- Introduction to Object-Oriented Analysis and Design and The Unified Modeling Language (UML) - 1/2
- Requirements Engineering, and Object Oriented Analysis (OOA) - 2
- The UML Requirements Model: Use Case Diagrams, Sequence Diagrams
- The UML Object Model: Class Diagrams, State Charts
- Software Design, Object-Oriented Design (OOD), and Patterns - 3
- UML Architectural Design, The Static Model - 1
- UML Architectural Design, The Dynamic Model - 1/2
- Design Refinement using Design Patterns - 1
- Pattern Languages for Finite State Machines and StateCharts - 1/2
- Design Patterns Tutorials: Tutorial 1, Tutorial 2
- Selected papers for optional reading: Real-time Systems, Adaptable RTS, Sensor Networks, Software Architecting
- The Pattern-Oriented Analysis and Design - 3 1/2
- Introduction to POAD - 1/2
- Design Patterns as Components - 1/2
- The POAD Process - 1/2
- POAD Analysis Phase - 1/2
- POAD Design Phase - 1/2
- POAD Design Refinement Phase - 1/2
- POAD Case Study: A Medical Informatics System - 1/2
- Project: Apply the POAD process. Project requirements - 4
Grading
- Attendance: 10%
- Assignments: 20%
- Mid-term Exam: 35%
- Project: 35%
The project will be conducted by groups of three-four students. Project reviews and reports will be required from each group. The final report should summarize the whole project and document problems encountered and lessons learned during the software analysis and design 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.
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.