Abstract
This paper studies models of computation, software techniques, and analytical models for distributed timed systems. By “timed systems” we mean those where timeliness is an essential part of the behavior. By “distributed systems” we mean computational systems that are interconnected on a network. Applications of timed distributed systems include industrial automation, distributed immersive environments, advanced instrumentation systems, networked control systems, and many modern embedded software systems that integrate networking. The introduction of network time protocols such as NTP (at a coarse granularity) and IEEE 1588 (at a fine granularity) makes possible time coherence that has not traditionally been part of the computational models in networked systems. The main question we address in this paper is: Given time synchronization with some known precision, how does this change how distributed applications are designed and developed? A second question we address is: How can time synchronization help with realizing coordinated real-time events.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Avissar, O., Barua, R., Stewart, D.: An optimal memory allocation scheme for scratch-pad-based embedded systems. Trans. on Embedded Computing Sys. 1(1), 6–26 (2002)
Berry, G.: The effectiveness of synchronous languages for the development of safety-critical systems. White paper, Esterel Technologies (2003)
Chandy, K.M., Misra, J.: Distributed simulation: A case study in design and verification of distributed programs. IEEE Trans. on Software Engineering 5(5) (1979)
de Kock, E.A., Essink, G., Smits, W.J.M., van der Wolf, P., Brunel, J.-Y., Kruijtzer, W.M., Lieverse, P., Vissers, K.A.: YAPI: Application modeling for signal processing systems. In: 37th Design Automation Conference (DAC’00), Los Angeles, CA, pp. 402–405 (2000)
Dijkstra, E.: Cooperating sequential processes. In: Genuys, E F. (ed.) Programming Languages, Academic Press, London (1968)
Dominguez, A., Udayakumaran, S., Barua, R.: Heap data allocation to scratch-pad memory in embedded systems. Journal of Embedded Computing 1(4) (2005)
Eker, J.: Taming heterogeneity—the Ptolemy approach. Proceedings of the IEEE 91(2), 127–144 (2003)
Gay, D., Levis, P., von Behren, R., Welsh, M., Brewer, E., Culler, D.: The nesc language: A holistic approach to networked embedded systems. In: Programming Language Design and Implementation (PLDI) (2003)
Ghosal, A., Henzinger, T.A., Kirsch, C.M., Sanvido, M.A.A.: Event-driven programming with logical execution times. In: Alur, R., Pappas, G.J. (eds.) HSCC 2004. LNCS, vol. 2993, pp. 357–371. Springer, Heidelberg (2004)
Girault, A., Lee, B., Lee, E.A.: Hierarchical finite state machines with multiple concurrency models. IEEE Transactions On Computer-aided Design Of Integrated Circuits And Systems 18(6), 742–760 (1999)
Halbwachs, N., Caspi, P., Raymond, P., Pilaud, D.: The synchronous data flow programming language LUSTRE. Proceedings of the IEEE 79(9), 1305–1319 (1991)
Henzinger, T.A., Horowitz, B., Kirsch, C.M.: Giotto: A time-triggered language for embedded programming. In: Henzinger, T.A., Kirsch, C.M. (eds.) EMSOFT 2001. LNCS, vol. 2211, Springer, Heidelberg (2001)
Hill, J., Szewcyk, R., Woo, A., Culler, D., Hollar, S., Pister, K.: System architecture directions for networked sensors. In: 9th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), pp. 93–104 (2000)
Hoare, C.A.R.: Monitors: An operating system structuring concept. Communications of the ACM 17(10), 549–557 (1974)
Jefferson, D.: Virtual time. ACM Trans. Programming Languages and Systems 7(3), 404–425 (1985)
Kohler, E., Morris, R., Chen, B., Jannotti, J., Kaashoek, M.F.: The click modular router. ACM Transactions on Computer Systems 18(3), 263–297 (2000)
Lea, D.: Concurrent Programming in Java: Design Principles and Patterns. Addison-Wesley, Reading (1997)
Lee, E.A.: Modeling concurrent real-time processes using discrete events. Annals of Software Engineering 7, 25–45 (1999)
Lee, E.A.: The problem with threads. Computer 39(5), 33–42 (2006)
Lee, E.A., Neuendorffer, S., Wirthlin, M.J.: Actor-oriented design of embedded hardware and software systems. Journal of Circuits, Systems, and Computers 12(3), 231–260 (2003)
Lee, E.A., Parks, T.M.: Dataflow process networks. Proceedings of the IEEE 83(5), 773–801 (1995)
Lee, E.A., Zheng, H., Zhou, Y.: Causality interfaces and compositional causality analysis. In: Foundations of Interface Technologies (FIT), Satellite to CONCUR, San Francisco, CA (2005)
Liu, C.L., Leyland, J.W.: Scheduling algorithms for multiprogramming in a hard real time environment. Journal of the ACM 20(1), 46–61 (1973)
Liu, J., Lee, E.A.: Timed multitasking for real-time embedded software. IEEE Control Systems Magazine, 65–75 (2003)
Panangaden, P., Shanbhogue, V.: The expressive power of indeterminate dataflow primitives. Information and Computation 98(1), 99–131 (1992)
Parks, T.M.: A comparison of MPI and process networks. In: International Parallel and Distributed Processing Symposium, Workshop on Java for Parallel and Distributed Computing, Denver, CO (2005)
Pino, J.L., Ha, S., Lee, E.A., Buck, J.T.: Software synthesis for dsp using Ptolemy. Journal on VLSI Signal Processing 9(1), 7–21 (1995)
Smith, D.A., Kay, A., Raab, A., Reed, D.P.: Croquet: A collaboration system architecture. White paper (2003)
Stankovic, J.A.: Misconceptions about real-time computing: a serious problem for next-generation systems. Computer 21(10), 10–19 (1988)
Wirth, N.: Toward a discipline of real-time programming. Communications of the ACM 20(8), 577–583 (1977)
Zeigler, B.P., Praehofer, H., Kim, T.G.: Theory of Modeling and Simulation, 2nd edn. Academic Press, London (2000)
Zhao, Y., Lee, E.A., Liu, J.: Programming temporally integrated distributed embedded systems. Technical Report UCB/EECS-2006-82, EECS Department, University of California, Berkeley, May 28 (2006)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer Berlin Heidelberg
About this paper
Cite this paper
Lee, E.A., Zhao, Y. (2007). Reinventing Computing for Real Time. In: Kordon, F., Sztipanovits, J. (eds) Reliable Systems on Unreliable Networked Platforms. Monterey Workshop 2005. Lecture Notes in Computer Science, vol 4322. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-71156-8_1
Download citation
DOI: https://doi.org/10.1007/978-3-540-71156-8_1
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-71155-1
Online ISBN: 978-3-540-71156-8
eBook Packages: Computer ScienceComputer Science (R0)