Skip to main content
Log in

Reactive and Real-Time Systems Course: How to Get the Most Out of it

  • Published:
Real-Time Systems Aims and scope Submit manuscript

Abstract

The paper describes the syllabus and the students' projects from a graduate course on the subject of “Reactive and Real-Time Systems”, taught at Tel-Aviv University and at the Open University of Israel. The course focuses on the development of provably correct reactive real-time systems. The course combines theoretical issues with practical implementation experience, trying to make things as tangible as possible. Hence, the mathematical and logical frameworks introduced are followed by presentation of relevant software tools and the students'projects are implemented using these tools. The course is planned so that no special purpose hardware is needed and so that all software tools used are freely available from various Internet sites and can be installed quite easily. This makes our course attractive to institutions and instructors for which purchasing and maintaining a special lab is not feasible due to budget, space, or time limitations (as in our case). In the paper we elaborate on the rationale behind the syllabus and the selection of the students' projects, presenting an almost complete description of a sample design of one team's project.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Alur, R., and Dill, D. 1991. The theory of timed automata. In Real-Time: Theory in Practice. LNCS Vol. 600, Berlin: Springer-Verlag, pp. 45–73.

    Google Scholar 

  • Alur, R., and Henzinger, T. A. 1991. Logics and models of real time: a survey. In Real-Time: Theory in Practice, Proceedings of the REX Workshop. LNCS Vol. 600. Mook, The Netherlands, pp. 74–106.

    Google Scholar 

  • Baron, C., Geoffroy, J.-C., and Motet, G. 1998. Dependability issues for a curriculum in real-time systems. In J.-J. Schwarz, J. Nawrocki, and J. Zalewski (eds), Proceedings of the Third IEEE Real-Time Systems Education Workshop. Poznan, Poland, IEEE Computer Society, pp. 16–23.

    Google Scholar 

  • Benveniste, A., Berry, G., Caspi, P., Couronné, P., Dupont, F., Gauthier, T., Halbwachs, N., Le Guemic, P., Le Maire, C., Mignard F., Paris, J. P., and Sorel, Y. 1994. Synchronous technology for real-time systems. In Proceedings of Real-Time Systems'94. Paris, North-Holland.

  • Berry, G. and Benveniste, A. 1991. The synchronous approach to reactive and real-time systems. Another Look at Real Time Programming, Proceedings of the IEEE 79: 1270–1282.

    Google Scholar 

  • Berry, G. 1993. Preemption and concurrency. In Proc. FSTICS 93. LNCS vol. 761. Berlin, Springer-Verlag, pp. 72–93.

    Google Scholar 

  • Berry, G. 1997. A quick guide to Esterel. <http://zenon.inria.fr/meije/esterel/>

  • Berry, G. 1998. The Esterel v5 language primer. <http://www.inria.fr/meije/esterel/>

  • Berry, G., and Gonthier, G. 1992. The Esterel synchronous programming language: Design, semantics, implementation. Science of Computer Programming 19(2): 87–152.

    Google Scholar 

  • Bouali, A. 1996. Xeve: An Esterel verification environment. <http://cma.cma.fr/Verification/Xeve/>

  • Boussinot, F. 1991. Programming a reflex game in Esterel v3_2. Rapport de recherche 07/91, Centre de Mathématiques Appliquées, Ecole des Mines de Paris, Sophia-Antipolis.

    Google Scholar 

  • Boussinot, F., and de Simone, R. 1991. The Esterel language. Another Look at Real Time Programing, Proceedings of the IEEE 79: 1293–1304.

    Google Scholar 

  • Budde, R. 1998. The design and programming language synchronousEifel (sE-version 1.1). GMD, St. Augustin, Germany, <http://ais.gmd.de/> ~ budde/

    Google Scholar 

  • Budde, R. 1998. The Graphic-Editor for synchronousEifel (sE-version 1.1). GMD, St. Augustin, Germany, <http://ais.gmd.de/> ~ budde/

    Google Scholar 

  • Burns, A. 1991. Scheduling hard real-time systems: A review. Software Engineering Journal 6(3): 116–128.

    Google Scholar 

  • Buttazzo, G. C. 1997. Hard Real-Time Computing Systems Predictable Scheduling Algorithms and Applications. Kluwer Academic Publishers.

  • Calvez, J.-P., and Pasquier, O. 1998. Training engineers in real-time systems design: an integrated curriculum. In J.-J. Schwarz, J. Nawrocki, and J. Zalewski (eds), Proceedings Third IEEE Real-Time Systems Education Workshop, Poznan, Poland, IEEE Computer Society.

    Google Scholar 

  • Cheng, S.-C, and Stankovic, J. A. 1988. Focusing real-time analysis on user operations. IEEE Software 4(5): 39–50.

    Google Scholar 

  • Gafni, V. 1996. Real-time activation oriented specification language. Technical Report, Computer Science Department, Tel-Aviv University.

  • Gajski, D. D. Vahid, F. Narayan, S., and Gong, J. 1994. Specification and Design of Embedded Systems. Prentice-Hall.

  • Gauthier, T., Le Guernic, P., and Maffeis, O. 1994. For a new real-time methodology. Research Report 2364, INRIA.

  • Gomaa, H. 1986. Software development of real-time systems. Communications of the ACM 29(7): 657–668.

    Google Scholar 

  • Gomaa, H. 1989. Structuring criteria for real-time systems design. In Proceedings of the 9th International Conference on Software Engineering. Pittsburgh, pp. 290–301.

  • Gomaa, H. 1993. Software Design Methods for Concurrent and Real-Time Systems. Addison-Wesley.

  • The VIS Group. 1996. VIS: A system for verification and synthesis. In R. Alur and T. Henzinger (eds), Proceedings of the 8th International Conference on Computer Aided Verification (CAV 1996). LNCS Vol. 1102, Berlin: Springer-Verlag, pp. 184-195, <http://www-cad.eecs.berkeley.edu:80/Respep/Research/vis/>

    Google Scholar 

  • Halang, W. A. 1990. A curriculum for real-time computer and control systems engineering. IEEE Transactions on Education 33: 171–178.

    Google Scholar 

  • Halang, W. A., and Sacha, K. M. 1991. Constructing Predictable Real-Time Systems. Boston: Kluwer Academic Publishers.

    Google Scholar 

  • Halbwachs, N. 1993. Synchronous Programming of Reactive Systems. Dordrecht: Kluwer Academic Publishers.

    Google Scholar 

  • Harel, D. 1987. Statecharts: A visual formalism for complex systems. Science of Computer Programming 8(3): 231–274.

    Google Scholar 

  • Harel, D. 1988. On visual formalisms. Communications of the ACM 31(5): 514–530.

    Google Scholar 

  • Harel, D., and Naamad, A. 1996. The Statemate semantics of statecharts. ACM Transactions on Software Engineering and Methodology 5(4): 293–333.

    Google Scholar 

  • Henzinger, T. A., Manna, Z., and Pnueli, A. 1991. Time transition systems. In Real-Time: Theory in Practice. LNCS Vol. 600. Berlin: Springer-Verlag, pp. 226–251.

    Google Scholar 

  • Hoogeboom, B., and Halang, W. A. 1988. The concept of time in the specification of real-time systems. In Krishna M. Kavi (ed.), Real-Time Systems-Abstraction, Languages, and Design Methods. IEEE Computer Society Press, pp. 19–38.

  • Jahanian, F., and Mok. A. 1986. Safety analysis of timing properties in real-time systems. IEEE Transactions on Software Engineering 12(9): 890–904.

    Google Scholar 

  • Jahanian, F., and Mok, A. 1994. Modechart: A specification language for real-time systems. IEEE Transactions on Software Engineering 20(12): 933–947.

    Google Scholar 

  • Jahanian, F., and Stuart, D. 1988. A method for verifying properties of Modechart specifications. In Proceedings of the 9th IEEE Real-Time Systems Symposium. Los Alamitos, CA: IEEE Computer Society, Press, pp. 12–21.

    Google Scholar 

  • Klein, M. H. Lehoczky, J. P., and Rajkumar, R. 1994. Rate monotonic analysis for real time industrial computing. IEEE Computer 27(1): 24–33.

    Google Scholar 

  • Kesten, Y., Manna, Z., and Pnueli, A. 1995. Clocked transition systems. Stanford Technical Report, Department of Computer Science.

  • Kopetz, H. 1991. Event-triggered versus time-triggered real-time systems. In Proceedings of International Workshop on Operating Systems of the 90s and Beyond. LNCS, Berlin-Springer Verlag, pp. 87–101.

    Google Scholar 

  • Koren, G., and Tyszberowicz, S. 1997. Graduate course: Reactive and real-time systems. In D. Mosse, and J. Zalewski (eds), Proceedings of the 2nd IEEE Real-Time Systems Education Workshop. Montreal, Canada, pp. 96–103.

  • Lehoczky, J. P., Sha, L., and Ding, Y. 1989. The rate monotonic scheduling algorithm-exact characterization and average case behavior. In Real Time Systems Symposium. pp. 166-171. IEEE.

  • Leung, J. Y.-T. 1989. A new algorithm for scheduling periodic, real-time tasks. Algorithmica 3(1): 209–219.

    Google Scholar 

  • Lewerentz, C., and Lindner, T. (eds). 1995. Formal Development of Reactive Systems. Case Study Production Cell. LNCS Vol. 891, Springer Verlag.

  • Liu, C. L. 1994. Fundamentals of real-time scheduling. In W. A. Halaang and A. D. Stoyenko (eds), Real-Time Computing. Springer-Verlag.

  • Liu, C. L., and Layland, J. W. 1973. Scheduling algorithms for multiprograming in a hard real time environment. Communications of the ACM 20(1).

  • Locke, D. C. 1992. Software architectures for hard real-time applications: Cyclic executive vs. fixed priority executives. Real Time Systems Symposium 4(1): 37–53.

    Google Scholar 

  • Lotenberg, R., and Tyszberowicz, S. 1998. Student projects in reactive and real-time systems course. In J.-J. Schwarz J. Nawrocki and J.Zalewski (eds), Proceedings of the Third IEEE Real-Time Systems Education Workshop. Poznan, Poland, pp. 61–66.

  • Manna, Z., and Pnueli, A. 1992. The Temporal Logic of Reactive and Concurrent Systems: Specification. Springer-Verlag.

  • McMillan, K. L. 1993. Symbolic Model Checking. Kluwer Academic Publishers.

  • Mok. A. K.-L. 1993. Fundamental Design Problems of Distributed Systems for the Hard Real-Time Environment. Ph.D. thesis, Department of Electrical Engineering and Computer Science, MIT, Cambridge, MA.

    Google Scholar 

  • Mok, A. 1991. Towards mechanization of real-time system design. In A. M. van Tilborg and G. M. Koob (eds), Foundations of Real-time Computing: Formal Specification and Methods. McGraw-Hill, pp. 1–37.

  • Ostroff, J. S. 1992. Formal methods for the specification and design of real-time safety critical system. Journal of Systems and Software 18(1): 33–60.

    Google Scholar 

  • Pnueli, A., and Harel, E. (1998). Applications of temporal logic to the specification of real time systems. In M. Joseph (ed.), Symposium on Formal Techniques in Real-Time and Fault-Tolerant Systems. LNCS Vol. 331, Springer-Verlag, pp. 84–98.

  • Pnueli, A., and Shahar, E. 1996. Combining deductive with algorithmic verification. In Proceedings of the 8th International Conference on Computer Aided Verification (CAV 1996). Berlin: Springer Verlag, pp. 184–195.

    Google Scholar 

  • Poigné, A., and Holenderski, L. 1995. Boolean automata for implementing pure ESTEREL. Technical Report, GMD, Schloß Birlinghoven, D-53754, St. Augustin, Germany.

    Google Scholar 

  • Purchol, C., Jagadeesan, L. J., and Von Olnhausen, J. 1995. Safety property verification of Esterel programs and applications to telecommunications software. In Proceedings the Seventh Conference on Computer-Aided Verification. Belgium, pp. 290–301.

  • Sanden, B. 1997. A course in real-time software based on concurrent design patterns. In D. Mosse and J. Zalewski (eds), Proceedings of the Second IEEE Real-Time Systems Education Workshop, Montreal, Canada: IEEE Computer Society, pp. 24–29.

    Google Scholar 

  • Sha, L., and Goodenough, J. 1990. Real-time scheduling theory and ADA. IEEE Computer 23(4): 53–62.

    Google Scholar 

  • Sha, L., Lehoczky, J. P., Strsnider, J. K. and Tokuda, H. 1991. Logics and models of real time: A survey. In A. M. van Tilborg and G. M. Koob (eds), Foundations of Real-Time Computing: Scheduling and Resource Management. Kluwer Academic Publishers, pp. 1–30.

  • Sha, L., Rajkumar, R., and Lehoczky, J. P. 1990. Priority inheritance protocols. IEEE Transactions on Computers 39(9): 1175–1185.

    Google Scholar 

  • Sprunt, B., Sha, L., and Lehoczky, J. P. 1989. Aperiodic scheduling for hard real-time systems. Real Time Systems Journal 1(1): 27–60.

    Google Scholar 

  • Stankovic, J., and Ramamritham, K. (eds). 1988. Tutorial: Hard Real-Time Systems. IEEE Computer Society Press.

  • Stankovic, J. 1988. Misconceptions about real-time computing. IEEE Computer 21(10): 10-19

    Google Scholar 

  • Ward, P. T. 1986. The transformation schema: An extension of the data flow diagram to represent control and timing. IEEE Transactions on Software Engineering 12(2): 198–210.

    Google Scholar 

  • Ward, P. T., and Mellor, S. J. 1985. Structured Development for Real-time Systems. Prentice Hall, Englewood Cliffs, 1985.

    Google Scholar 

  • Zalewski, J. 1993. Real-time systems. Undergraduated course syllabus. <http://cs-www.bu/edu/ftp/IEEE-RTTC/public/syllabus.ps>.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Lev-Ami, T., Tyszberowicz, S.S. Reactive and Real-Time Systems Course: How to Get the Most Out of it. Real-Time Systems 25, 231–253 (2003). https://doi.org/10.1023/A:1025180310659

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1025180310659

Navigation