This article discusses what we consider one of the central aspects of embedded systems: the realization of control systems by software. Although computers are today the most popular medium for implementing controllers, we feel that the state of understanding of this topic is not satisfactory, mostly due to the fact that it is situated in the frontier between two different cultures and world views (control and informatics) which are not easy to reconcile. The purpose of this article is to clarify these issues and present them in a uniform and, hopefully, coherent manner.
The article is organized as follows. We start with a short high-level discussion of the two phenomena involved, control and computation. In Section 2 we explain the basic issues related to the realization of controllers by software using a simple proportional-integral-derivative (PID) controller as an example. In Section 3 we move to more complex multi-periodic control loops and describe various approaches for scheduling them on a sequential computer. Section 4 is devoted to discrete-event (and hybrid) systems and their software implementation. Finally, in Section 5 we briefly discuss distributed control and fault tolerance.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
J. Anderson, S. Ramamurthy, and K. Jeffay. Real-time computing with lock-free shared objects. In Proceedings of the 16th Real-Time Systems Symposium, pages 28-37. IEEE Computer Society, 1995.
K. J. A˙ ström and B. Wittenmark. Computer Controlled Systems — Theory and Design. Prentice-Hall, Englewood Cliffs, NJ, 1996.
N. C. Audsley, A. Burns, M. F. Richardson, and A. J. Wellings. Hard Real-Time Scheduling: The Deadline Monotonic Approach. In Proceedings 8th IEEE Workshop on Real-Time Operating Systems and Software, Atlanta, GA, 1991.
G. Berry and G. Gonthier. The esterel synchronous programming lan-guage, design, semantics, implementation. Science of Computer Programming, 19 (2):87-152, 1992.
P. Caspi and A. Benveniste. Toward an approximation theory for computerised control. In A. Sangiovanni-Vincentelli and J. Sifakis, editors, 2nd International Workshop on Embedded Software, EMSOFT02, volume 2491 of Lecture Notes in Computer Science, pages 294-304, 2002.
P. Caspi, A. Curic, A. Maignan, C. Sofronis, and S. Tripakis. Translating discrete-time Simulink to Lustre. In R. Alur and I. Lee, editors, 3rd Interna-tional Conference on Embedded Software, EMSOFT03, volume 2855 of Lecture Notes in Computer Science, pages 84-99, 2003.
P. Caspi and R. Salem. Threshold and bounded-delay voting in critical control systems. In Mathai Joseph, editor, Formal Techniques in Real-Time and Fault-Tolerant Systems, volume 1926 of Lecture Notes in Computer Science, pages 68-81, 2000.
J. Chen and A. Burns. Loop-free asynchronous data sharing in multiprocessor real-time systems based on timing properties. In Proceedings of the Real-Time Computing Systems and Applications Conference, pages 236-246, 1999.
J.-L. Colaço and M. Pouzet. Clocks as first class abstract types. In R. Alur and I. Lee, editors, Third International Conference on Embedded Software (EM-SOFT’03), volume 2855 of Lecture Notes In Computer Science, pages 134-155, 2003.
V. Gupta, T. A. Henzinger, and R. Jagadeesan. Robust timed automata. In O. Maler, editor, Hybrid and Real-Time Systems, HART’97, volume 1201 of Lecture Notes in Computer Science, pages 331-345, 1997.
N. Halbwachs, P. Caspi, P. Raymond, and D. Pilaud. The synchronous dataflow programming language lustre. Proceedings of the IEEE, 79(9):1305-1320, September 1991.
D. Harel and A. Pnueli. On the development of reactive systems. In Logic and Models of Concurrent Systems, volume 13 of NATO ASI Series, pages 477-498. Springer-Verlag, Berlin, 1985.
T. A. Henzinger, B. Horowitz, and Ch. M. Kirsch. Giotto: A time-triggered language for embedded programming. Proceedings of the IEEE, 91:84-99, 2003.
H. Huang, P. Pillai, and K. G. Shin. Improving wait-free al-gorithms for interprocess communication in embedded real-time sys-tems.In USENIX2002Annual Technical Conference, pages303-316.http://www.usenix.org/publications/library/proceedings/, 2002.
H. Kopetz. Real-Time Systems Design Principles for Distributed Embedded Applications. Kluwer, Dordrecht, 1997.
H. Kopetz and J. Reisinger. Nbw: A non-blocking write protocol for task com-munication in real-time systems. In Proceedings of the 14th Real-Time System Symposium, pages 131-137. IEEE Computer Society, 1993.
L. Lamport. Concurrent reading and writing. Communications of ACM, 20(11):806-811, 1977.
C. L. Liu and J. W. Layland. Scheduling algorithms for multiprogramming in a hard real-time environment. Journal of the Association for Computing Machinery, 20(1):46-61, 1973.
O. Maler. Control from computer science. Annual Reviews in Control, 26:175-187,2002.
M. Pease, R. E. Shostak, and L. Lamport. Reaching agreement in the presence of faults. Journal of the ACM, 27(2):228-237, 1980.
M. A. A. Sanvido, A. Ghosal, and T. A. Henzinger. xgiotto Language Report. Technical Report UCB/CSD-3-1261, Computer Science Division (EECS) Uni-versity of California Berkeley, July 2003.
N. Scaife and P. Caspi. Integrating model-based design and preemptive schedul-ing in mixed time- and event-triggered systems. In Euromicro Conference on Real-Time Systems (ECRTS’04), Catania, June 2004. IEEE Computer Society.
C. Scheidler, G. Heiner, R. Sasse, E. Fuchs, H. Kopetz, and C. Temple. Time-Triggered Architecture (TTA). In Proceedings EMMSEC’97, Florence, Italy, November, 1997.
L. Sha, R. Rajkumar, and J. Lehoczky. Priority inheritance protocols: An approach to real-time synchronization. IEEE Transactions on Computers, 39(9):1175-1185, 1990.
R. Wilhelm. Determining bounds on execution times. Handbook on Embedded Systems, CRC Press, Boca Raton FL, 2005.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Birkhäuser Boston
About this chapter
Cite this chapter
Caspi, P., Maler, O. (2005). From Control Loops to Real-Time Programs. In: Hristu-Varsakelis, D., Levine, W.S. (eds) Handbook of Networked and Embedded Control Systems. Control Engineering. Birkhäuser Boston. https://doi.org/10.1007/0-8176-4404-0_17
Download citation
DOI: https://doi.org/10.1007/0-8176-4404-0_17
Publisher Name: Birkhäuser Boston
Print ISBN: 978-0-8176-3239-7
Online ISBN: 978-0-8176-4404-8
eBook Packages: EngineeringEngineering (R0)