Concurrent Semantics Without the Notions of State or State Transitions

  • Edward A. Lee
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4202)

Abstract

This paper argues that basing the semantics of concurrent systems on the notions of state and state transitions is neither advisable nor necessary. The tendency to do this is deeply rooted in our notions of computation, but these roots have proved problematic in concurrent software in general, where they have led to such poor programming practice as threads. I review approaches (some of which have been around for some time) to the semantics of concurrent programs that rely on neither state nor state transitions. Specifically, these approaches rely on a broadened notion of computation consisting of interacting components. The semantics of a concurrent compositions of such components generally reduces to a fixed point problem. Two families of fixed point problems have emerged, one based on metric spaces and their generalizations, and the other based on domain theories. The purpose of this paper is to argue for these approaches over those based on transition systems, which require the notion of state.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Abramsky, S., Gay, S.J., Nagarajan, R.: Interaction categories and the foundations of typed concurrent programming. In: Broy, M. (ed.) Deductive Program Design: Proceedings of the 1994 Marktoberdorf Summer School. NATO ASI Series F. Springer, Heidelberg (1995)Google Scholar
  2. 2.
    Abramsky, S., Jung, A.: Domain theory. In: Handbook of logic in computer science: semantic tructures, vol. 3, pp. 1–168. Oxford University Press, Oxford (1995)Google Scholar
  3. 3.
    Agha, G.: Concurrent object-oriented programming. Communications of the ACM 33(9), 125–140 (1990)CrossRefGoogle Scholar
  4. 4.
    Arbab, F.: Abstract behavior types: A foundation model for components and their composition. Science of Computer Programming 55, 3–52 (2005)MATHCrossRefMathSciNetGoogle Scholar
  5. 5.
    Armstrong, J.R., Gray, F.G.: VHDL Design Representation and Synthesis, 2nd edn. Prentice-Hall, Englewood Cliffs (2000)Google Scholar
  6. 6.
    Arnold, A., Nivat, M.: Metric interpretations of infinite trees and semantics of non deterministic recursive programs. Fundamenta Informaticae 11(2), 181–205 (1980)MATHMathSciNetGoogle Scholar
  7. 7.
    Baier, C., Majster-Cederbaum, M.E.: Denotational semantics in the cpo and metric approach. Theoretical Computer Science 135(2), 171–220 (1994)MATHCrossRefMathSciNetGoogle Scholar
  8. 8.
    Benveniste, A., Berry, G.: The synchronous approach to reactive and real-time systems. Proceedings of the IEEE 79(9), 1270–1282 (1991)CrossRefGoogle Scholar
  9. 9.
    Benveniste, A., Carloni, L., Caspi, P., Sangiovanni-Vincentelli, A.: Heterogeneous Reactive Systems Modeling and Correct-by-Construction Deployment. In: Alur, R., Lee, I. (eds.) EMSOFT 2003. LNCS, vol. 2855, pp. 35–50. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  10. 10.
    Berry, G.: The Constructive Semantics of Pure Esterel. Book Draft (1996)Google Scholar
  11. 11.
    Broy, M., Stefanescu, G.: The algebra of stream processing functions. Theoretical Computer Science 258, 99–129 (2001)MATHCrossRefMathSciNetGoogle Scholar
  12. 12.
    Burch, J.R., Passerone, R., Sangiovanni-Vincentelli, A.L.: Notes on agent algebras. Technical Report UCB/ERL M03/38, University of California (November 2003)Google Scholar
  13. 13.
    Cassandras, C.G.: Discrete Event Systems, Modeling and Performance Analysis, Irwin (1993)Google Scholar
  14. 14.
    Cataldo, A., Lee, E.A., Liu, X., Matsikoudis, E., Zheng, H.: A constructive fixed-point theorem and the feedback semantics of timed systems. In: Workshop on Discrete Event Systems (WODES). Ann Arbor, Michigan (2006)Google Scholar
  15. 15.
    Davey, B.A., Priestly, H.A.: Introduction to Lattices and Order. Cambridge University Press, Cambridge (1990)MATHGoogle Scholar
  16. 16.
    de Bakker, J.W., de Vink, E.P.: Denotational models for programming languages: Applications of banachs fixed point theorem. Topology and its Applications 85, 35–52 (1998)MATHCrossRefMathSciNetGoogle Scholar
  17. 17.
    Dennis, J.B.: First version data flow procedure language. Technical Report MAC TM61, MIT Laboratory for Computer Science (1974)Google Scholar
  18. 18.
    Edwards, S.A., Lee, E.A.: The semantics and execution of a synchronous block-diagram language. Science of Computer Programming 48(1) (2003)Google Scholar
  19. 19.
    Fishman, G.S.: Discrete-Event Simulation: Modeling, Programming, and Analysis. Springer, Heidelberg (2001)MATHGoogle Scholar
  20. 20.
    Goldin, D., Smolka, S., Attie, P., Sonderegger, E.: Turing machines, transition systems, and interaction. Information and Computation 194(2), 101–128 (2004)MATHCrossRefMathSciNetGoogle Scholar
  21. 21.
    Gontmakher, A., Schuster, A.: Java consistency: nonoperational characterizations for Java memory behavior. ACM Trans. Comput. Syst. 18(4), 333–386 (2000)CrossRefGoogle Scholar
  22. 22.
    Gssler, G., Sifakis, J.: Composition for component-based modeling. Science of Computer Programming 55 (2005)Google Scholar
  23. 23.
    Gurevich, Y.: Evolving algebras 1993: Lipari Guide. In: Börger, E. (ed.) Specification and Validation Methods, pp. 9–37 (1994)Google Scholar
  24. 24.
    Hewitt, C.: Viewing control structures as patterns of passing messages. Journal of Artifical Intelligence 8(3), 323–363 (1977)CrossRefGoogle Scholar
  25. 25.
    Hoare, C.A.R.: Communicating sequential processes. Communications of the ACM 21(8) (1978)Google Scholar
  26. 26.
    Johannessen, S.: Time synchronization in a local area network. IEEE Control Systems Magazine, 61–69 (2004)Google Scholar
  27. 27.
    Kahn, G.: The semantics of a simple language for parallel programming. In: Proc. of the IFIP Congress 74. North-Holland Publishing Co., Amsterdam (1974)Google Scholar
  28. 28.
    Kahn, G., MacQueen, D.B.: Coroutines and networks of parallel processes. In: Gilchrist, B. (ed.) Information Processing, pp. 993–998. North-Holland Publishing Co., Amsterdam (1977)Google Scholar
  29. 29.
    Lee, E.A.: Modeling concurrent real-time processes using discrete events. Annals of Software Engineering 7, 25–45 (1999)CrossRefGoogle Scholar
  30. 30.
    Lee, E.A.: Embedded software. In: Zelkowitz, M. (ed.) Advances in Computers, vol. 56. Academic Press, London (2002)Google Scholar
  31. 31.
    Lee, E.A.: Model-driven development - from object-oriented design to actor-oriented design. In: Workshop on Software Engineering for Embedded Systems: From Requirements to Implementation (a.k.a. The Monterey Workshop), Chicago (2003)Google Scholar
  32. 32.
    Lee, E.A.: The problem with threads. Computer 39(5), 33–42 (2006)CrossRefGoogle Scholar
  33. 33.
    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)CrossRefGoogle Scholar
  34. 34.
    Lee, E.A., Parks, T.M.: Dataflow process networks. Proceedings of the IEEE 83(5), 773–801 (1995)CrossRefGoogle Scholar
  35. 35.
    Lee, E.A., Sangiovanni-Vincentelli, A.: A framework for comparing models of computation. IEEE Transactions on Computer-Aided Design of Circuits and Systems 17(12), 1217–1229 (1998)CrossRefGoogle Scholar
  36. 36.
    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)Google Scholar
  37. 37.
    Liu, X.: Semantic foundation of the tagged signal model. Phd thesis, EECS Department, University of California, December 20 (2005)Google Scholar
  38. 38.
    Liu, X., Lee, E.A.: CPO semantics of timed interactive actor networks. Technical Report EECS-2006-67, UC Berkeley, May 18 (2006)Google Scholar
  39. 39.
    Liu, X., Matsikoudis, E., Lee, E.A.: Modeling Timed Concurrent Systems. In: Baier, C., Hermanns, H. (eds.) CONCUR 2006. LNCS, vol. 4137, pp. 1–15. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  40. 40.
    Maler, O., Manna, Z., Pnueli, A.: From timed to hybrid systems. In: Huizing, C., de Bakker, J.W., Rozenberg, G., de Roever, W.-P. (eds.) REX 1991. LNCS, vol. 600, pp. 447–484. Springer, Heidelberg (1992)CrossRefGoogle Scholar
  41. 41.
    Manna, Z., Pnueli, A.: Verifying hybrid systems. Hybrid Systems, 4–35 (1992)Google Scholar
  42. 42.
    Milner, R.: A Calculus of Communication Systems. LNCS, vol. 92. Springer, Heidelberg (1980)Google Scholar
  43. 43.
    Milner, R.: Elements of interaction. Communications of the ACM 36, 78–89 (1993)CrossRefGoogle Scholar
  44. 44.
    Naundorf, H.: Strictly causal functions have a unique fixed point. Theoretical Computer Science 238(1-2), 483–488 (2000)MATHCrossRefMathSciNetGoogle Scholar
  45. 45.
    Priess-Crampe, S., Ribenboim, P.: Generalized ultrametric spaces I. Abhandlungen aus dem Mathematischen Seminar der Universität Hamburg 66, 55–73 (1996)MATHCrossRefMathSciNetGoogle Scholar
  46. 46.
    Priess-Crampe, S., Ribenboim, P.: Fixed point and attractor theorems for ultrametric spaces. Forum Mathematicum 12, 53–64 (2000)MATHMathSciNetGoogle Scholar
  47. 47.
    Pugh, W.: Fixing the Java memory model. In: Proceedings of the ACM 1999 conference on Java Grande, San Francisco, California, United States, pp. 89–98. ACM Press, New York (1999)CrossRefGoogle Scholar
  48. 48.
    Reed, G.M., Roscoe, A.W.: Metric spaces as models for real-time concurrency. In: Main, M.G., Mislove, M.W., Melton, A.C., Schmidt, D. (eds.) MFPS 1987. LNCS, vol. 298, pp. 331–343. Springer, Heidelberg (1988)Google Scholar
  49. 49.
    Schneider, K., Brandt, J., Schuele, T.: Causality analysis of synchronous programs with delayed actions. In: International Conference on Compilers, Architecture, and Synthesis for Embedded Systems, Washington DC, USA (2004)Google Scholar
  50. 50.
    Stoy, J.E.: Denotational Semantics. MIT Press, Cambridge (1977)Google Scholar
  51. 51.
    Talcott, C.L.: Interaction semantics for components of distributed systems. In: Formal Methods for Open Object-Based Distributed Systems (FMOODS) (1996)Google Scholar
  52. 52.
    Taylor, P.: Practical Foundations of Mathematics. Cambridge University Press, Cambridge (1999)MATHGoogle Scholar
  53. 53.
    Tiller, M.M.: Introduction to Physical Modeling with Modelica. Kluwer Academic Publishers, Dordrecht (2001)Google Scholar
  54. 54.
    Turing, A.M.: Computability and λ-definability. Journal of Symbolic Logic 2, 153–163 (1937)MATHCrossRefGoogle Scholar
  55. 55.
    Winskel, G.: The Formal Semantics of Programming Languages. MIT Press, Cambridge (1993)MATHGoogle Scholar
  56. 56.
    Yates, R.K.: Networks of real-time processes. In: Best, E. (ed.) CONCUR 1993. LNCS, vol. 715. Springer, Heidelberg (1993)Google Scholar
  57. 57.
    Zeigler, B.P., Praehofer, H., Kim, T.G.: Theory of Modeling and Simulation, 2nd edn. Academic Press, London (2000)Google Scholar
  58. 58.
    Zhou, Y., Lee, E.A.: A causality interface for deadlock analysis in dataflow. Technical Report UCB/EECS-2006-51, EECS Department, UC Berkeley (May 12, 2006)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Edward A. Lee
    • 1
  1. 1.University of CaliforniaBerkeley

Personalised recommendations