Abstract
In a previously published companion paper a method for extending programming languages with timing constructs was proposed. It was shown that the extension enables the construction of real-time programs that can be proven correct independently of the properties of the machine that is used for their execution. It also yields a strict division of system construction into two phases: (1) a platform-independent programming phase that includes the expression of timing requirements, and (2) an implementation phase where all platform dependencies are addressed. In this second paper the approach is illustrated using an example problem often quoted in the literature: the mine-pump system. The two mentioned phases are described in detail for this example. First, a program is obtained in a systematic way. Then, realizations of the program under various schemes for distribution and scheduling are considered and analyzed. A comparison with other approaches to real-time programming is given.
Similar content being viewed by others
References
Ada 95 Reference Manual, International Standard ANSI/ISO/IEC-8652:1995, January 1995.
Aksit, M., Bosch, J., Sterren, W. v. d., and Bergmans, L. 1994. Real-time specification inheritance anomalies and real-time filters. Proc. ECOOP '94, LNCS 821, Springer Verlag, pp. 386–407.
Booch, G. 1983. Software Engineering with Ada. Benjamin Cummings Publishing Company.
Bergmans, L., and Aksit, M. 1996. Composing synchronisation and real-time constraints. Journal of Parallel and Distributed Computing, 36:32–52.
Burns, A., and Lister, A. M. 1991. A framework for building dependable systems. The Computer Journal, 34(2):173–181.
Burns, A., and Wellings, A. 1996. Advanced fixed priority scheduling. In Real-Time Systems: Specification and Analysis, Joseph, M., ed., Prentice Hall, pp. 32–65.
Burns, A., and Wellings, A. 1989. Real-Time Systems and Their Programming Languages. Addison-Wesley.
Halang, W. A., and Stoyenko, A. D. 1990. Comparative evaluation of high-level real-time programming languages. International Journal of Time-Critical Computing Systems, 2(4):365–382.
Halang, W. A., and Stoyenko, A. D. 1991. Constructing Predictable Real-Time Systems. Kluwer Academic Publishers.
Hooman, J., and van Roosmalen, O. S. 1997. Timed-event abstraction and timing constraints in distributed real-time programming. Proc. Workshop on Object-Oriented Real-Time Dependable Systems (WORDS '97), IEEE Computer Society, pp. 153–160.
Hooman, J., and van Roosmalen, O. S. 2000. An approach to platform independent real-time programming: (1) formal description. Int. Journal of Time Critical Computing Systems, 19(1):61–85.
Ishikawa, Y., Tokuda, H., and Mercer, C. W. 1990. Object-oriented real-time language design: Constructs for timing constraints. ACM Sigplan Notices, 25(10):289–298.
Joseph, M. (editor). 1996. Real-Time Systems: Specification and Analysis. Prentice Hall.
Kligerman, E., and Stoyenko, A. D. 1986. Real-time Euclid: A language for reliable real-time systems. IEEE Transactions on Software Engineering, SE-12(9).
Lin, K., Liu, J.W. S., Kenny, K. B., and Natarajan, S. 1991. FLEX: A language for programming flexible real-time systems. In Foundation of Real-Time Computing (Formal Specifications and Methods), van Tilborg, M., and Koob, G. M., eds., Kluwer Academic Publishers, pp. 251–289.
Takashio, K., and Tokoro, M. 1992. DROL: An object-oriented programming language for distributed real-time systems. Proc. OOPSLA '92, ACM Sigplan Notices, 27(10):276–294.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Hooman, J., Roosmalen, O.v. An Approach to Platform Independent Real-Time Programming: (2) Practical Application. Real-Time Systems 19, 87–112 (2000). https://doi.org/10.1023/A:1008140407193
Issue Date:
DOI: https://doi.org/10.1023/A:1008140407193