EEE 499B: Real-Time Embedded System Design
Course Outline Winter 1999
Instructor: Dr. Terry Shepard Office: SB 4019, x6031
Home: 541 0631
email: shepard@rmc.ca
OBJECTIVES
The main goal of the course is to provide an understanding of the steps
involved in real-time embedded system design. Specific objectives include:
A. General (4 periods)
1. Overview of approaches to the design of real-time systems, including historical methods such as Ward/Mellor and Hatley/Pirbhai (1 period)
2. Characteristics and examples of real-time systems (2 periods)
3. Specification of requirements for RT systems (1 period)
B. The ROOM design methodology (9 periods)
1. Introduction to the ROOM methodology (1 period)
2. Modeling Structure - Part 1 (1 period)
3. Modeling Behaviour - Part 1 (1 period)
4. The Rapid Prototyping Language (RPL) (1 period)
5. The ObjecTime Run-Time System (RTS) (1 period)
6. Modeling Structure - Part 2 (1 period)
7. Modeling Behaviour - Part 2 (1 period)
8. Introduction to Micro RTS (1 period)
9. Implementation with ObjecTime (1 period)
C. Implementation of Real-Time Systems (7 periods)
1. Real-time programming languages (e.g. RT Euclid, Java extensions) (2 periods)
2. Real-time kernels (1 period)
3. Communication and synchronization of real-time processes (2 periods)
4. Memory management for real-time systems (1 period)
5. Distributed real-time systems (1 period)
D. The µC/OS Real-Time kernel (5 periods)
1. Architecture and Characteristics (1 period)
2. Details of the µC/OS structure (3 periods)
3. Object-Oriented µC/OS(1 period)
E. Timing Behaviour and Verification of Real-Time Systems (6
periods)
1. Scheduling Algorithms (3 Periods)
6. Integrated Development Environments and Testing (1 period)
3. Estimating the Reliability of Real Time Systems (2 periods)
WEIGHTS
1. Laboratories: 10%
2. Project: 20%
3. Assignments [and Mini-Tests]: 5%
4. Midterm Exam[s]: 15%
5. Final Exam: 50%
CLASSES
Monday 10:55 S4076
Thursday 10:00 S4073
Friday 11:50 S4076
LABS
Monday 14:35 S4036
Lab 1: Introduction to ObjecTime (RPL) (2 weeks)
Lab 2: Introduction to ObjecTime (C++) (1 week)
Lab 3: C++ concepts in ObjecTime (1 week)
Lab 4: Implementation of a Timer in ObjecTime (2 weeks)
Lab 5: Project: design and implementation of a system in ObjecTime (4 weeks)
Lab 6: RTOS [in ObjecTime context &/or µC/OS] (2 weeks)
Lab 7: µC/OS [or other RTOS] (1 week)
REPORTS
Labs 1,2 and 3 will be done individually. Lab 4 will be done in groups
of 2 or 3. Lab 5 (Project) will be done in larger groups. Each group or
individual will submit a report for each lab, as appropriate. All reports
are to be submitted one week after the last period for that lab. There
will be a penalty of 10% per working day for late reports.
MINI-TESTS
Mini-tests will be held as needed, based on the material presented in
the course (including assignments and labs) up to that point.
REFERENCES
Texts:
[Burn97] Alan Burns and Andy Wellings, Real-Time Systems and Programming Languages, 2nd Edition, Addison Wesley, 1997
[Goma93] H. Gomaa, Software Design Methods for Concurrent and Real-Time Systems, Addison Wesley, 1993.
[Seli94] B. Selic, G. Gullekson, and P.T. Ward, Real Time Object
Oriented Modelling, John Wiley & Sons, 1994.
Other references:
[Booc94] G. Booch, Object-Oriented Analysis and Design with Applications, The Benjamin/Cummings Publishing Company Inc. 1994, ISBN 0-8053-5340-2.
[Booc98] G. Booch, J. Rumbaugh, I. Jacobson, The Unified Modeling Language User Guide, Addison Wesley, 1998
[Came89] J. Cameron, JSP and JSD: The Jackson Approach to Software Development, Los Alamitos, Ca:IEEE Computer Press Society, 1989.
[Clem92] A. Clements, MicroProcessor Design: 68000 Hardware, Software, and Interfacing, PWS-Kent, 1992, ISBN 0-534-92568-5.
[DeMa78] T. DeMarco, Structured Analysis and System Specification, Englewood Cliffs, N.J.: Prentice Hall, 1978.
[Dijk68] E.W. Dijkstra, Co-Operating Sequential Processes, Programming-Languages, F. Genuys, Ed. New York: Academic Press, 1968, pp. 43-112.
[Doug98] Bruce Powell Douglass, Real-Time UML: Developing Efficient Objects for Embedded Systems, Addison Wesley, 1998
[Goma84] H. Gomaa, A Software Design Method for Real-Time Systems, Communications ACM, September 1984.
[Hala91] W.A. Halang and A.D. Stoyenko, Constructing Predictable Real-Time Systems, Kluwer Academic Publishers, 1991, ISBN 0-7923-9202-7.
[Hala92] W.A. Halang, Real-Time Systems: Another Perspective, The Journal of Systems and Software, April 1992, pp. 101-108.
[Hare87] D. Harel, Statecharts: A Visual Formalism for Complex Systems, Science of Computer Programming, July 1987, pp. 231-274.
[Hatl88] D.J. Hatley et I.A. Pirbhai, Strategies for Real-Time System Specification, Dorset House Publishing Co., 1988.
[Heni80] K.L Heninger, Specifying Software Requirements for Complex Systems: New Techniques and Their Application, IEEE Transactions on Software Engineering, Se-6, January 1980, pp. 2-13.
[IEEE97] IEEE Software Engineering Standards Collection, 1997 Edition
[Kavi92] K.M. Kavi, Real-Time Systems Abstractions, Languages and Design Methodologies, IEEE Computer Society Press, 1992, ISBN 0-8186-3152-X.
[Lapl97] P.A. Laplante, Real-Time Systems Design and Analysis, 2nd Edition, IEEE Press, 1997
[Leve93] N.G. Leveson et C.S. Turner, An Investigation of the Therac-25 Accidents, IEEE Computer, 1993.
[Liu86] Y Liu et C.A. Gibson, Microcomputer Systems: The 8086/8088 Family, Prentice Hall, 1986, ISBN 0-13-580499-X.
[Obje98] ObjecTime, ObjecTime Toolset Guide, August 1998
[Parn72] D.L. Parnas, On the Criteria to be Used in Decomposing Systems into Modules, Communications of the ACM, Vol. 15, No. 12, December 1972, pp. 1053-1058.
[Parn74] D.L. Parnas, On a 'Buzzword', Hierarchical Structure, IFIP Congress 74, North Holland Publishing Company, 1974, pp.336-339.
[Parn84] D.L. Parnas, Software Engineering Principles, INFOR Canadian Journal of Operations Research and Information Processing, Vol. 22, No. 4, November 1984.
[Parn86] D.L. Parnas and P.C. Clements, A Rational Design Process: How and Why to Fake It, IEEE Transactions on Software Engineering, Vol. SE-12, No. 2, February 1986, pp. 251-257.
[Pres92] R.S. Pressman, Software Engineering: A Practitioner's Approach Fourth Edition, McGraw-Hill, 1997.
[Rumb91] J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy and W. Lorensen, "Object-Oriented Modelling and Design", Prentice Hall Inc, 1991, ISBN 0-13-629841-9.
[Sanc90] J. Sanchez et M.P Canton, IBM Microcomputers: A Programmer's Handbook, McGraw Hill, 1990, ISBN 0-07-054594-4.
[Smit86] J.T. Smith, The IBM PC AT Programmer's Guide, Brady, 1986, ISBN 0-89303-580-7.
[Tane87] A.S. Tanenbaum, Operating Systems: Design and Implementation, Prentice-Hall, 1987, ISBN 0-13-637406-9.
[Zave82] P. Zave, An Operational Approach to Requirements Specification for Embedded Systems, IEEE Transactions on Software Engineering, Vol. SE-8, No. 3, May 1982, pp. 250-269.