skip to main content
research-article

Causality interfaces for actor networks

Published:08 May 2008Publication History
Skip Abstract Section

Abstract

We consider concurrent models of computation where “actors” (components that are in charge of their own actions) communicate by exchanging messages. The interfaces of actors principally consist of “ports,” which mediate the exchange of messages. Actor-oriented architectures contrast with and complement object-oriented models by emphasizing the exchange of data between concurrent components rather than transformation of state. Examples of such models of computation include the classical actor model, synchronous languages, data-flow models, process networks, and discrete-event models. Many experimental and production languages used to design embedded systems are actor oriented and based on one of these models of computation. Many of these models of computation benefit considerably from having access to causality information about the components. This paper augments the interfaces of such components to include such causality information. It shows how this causality information can be algebraically composed so that compositions of components acquire causality interfaces that are inferred from their components and the interconnections. We illustrate the use of these causality interfaces to statically analyze timed models and synchronous language compositions for causality loops and data-flow models for deadlock. We also show that that causality analysis for each communication cycle can be performed independently and in parallel, and it is only necessary to analyze one port for each cycle. Finally, we give a conservative approximation technique for handling dynamically changing causality properties.

References

  1. Abramsky, S., Gay, S. J., and Nagarajan, R. 1995. Interaction categories and the foundations of typed concurrent programming. In Deductive Program Design: Proceedings of the 1994 Marktoberdorf Summer School, M. Broy, Ed. NATO ASI Series F. Springer-Verlag, New York. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Agha, G. 1990. Concurrent object-oriented programming. Commun. ACM 33, 9, 125--140. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Alur, R. and Henzinger, T. A. 1999. Reactive modules. Formal Methods Syst. Design 15, 7--48. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Arbab, F. 2004. Reo: A channel-based coordination model for component composition. Math. Structures Comput. Sci. 14, 3, 329--366. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Arbab, F. 2005. Abstract behavior types: A foundation model for components and their composition. Sci. Comput. Programming 55, 3--52. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Armstrong, J. R. and Gray, F. G. 2000. VHDL Design Representation and Synthesis, 2nd ed. Prentice-Hall, Englewood, Cliffs, NJ. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Benveniste, A. and Berry, G. 1991. The synchronous approach to reactive and real-time systems. Proc. IEEE 79, 9, 1270--1282.Google ScholarGoogle ScholarCross RefCross Ref
  8. Benveniste, A. and Guernic, P. L. 1990. Hybrid dynamical systems theory and the signal language. IEEE Trans. Automatic Control 35, 5, 525--546.Google ScholarGoogle ScholarCross RefCross Ref
  9. Berry, G. 1996. The Constructive Semantics of Pure Esterel. Book Draft.Google ScholarGoogle Scholar
  10. Berry, G. and Gonthier, G. 1992. The esterel synchronous programming language: Design, semantics, implementation. Sci. Comput. Programming 19, 2, 87--152. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Broy, M. and Stefanescu, G. 2001. The algebra of stream processing functions. Theoret. Comput. Sci. 258, 99--129. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Buck, J. T. 1993. Scheduling dynamic data-flow graphs with bounded memory using the token flow model. Ph.D. Thesis Technical Memorandum UCB/ERL 93/69, EECS Department, University of California, Berkeley. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Buck, J. T., Ha, S., Lee, E. A., and Messerschmitt, D. G. 1994. Ptolemy: A framework for simulating and prototyping heterogeneous systems. Intern. J. Comput. Simulation, 4, 155--182. (Special Issue on “Simulation Software Development”).Google ScholarGoogle Scholar
  14. Cassandras, C. G. 1993. Discrete Event Systems, Modeling and Performance Analysis. Irwin.Google ScholarGoogle Scholar
  15. Chakrabarti, A., de Alfaro, L., and Henzinger, T. A. 2003. Resource interfaces. In EMSOFT, R. Alur and I. Lee, Eds. Vol. LNCS 2855. Springer, New York, 117--133.Google ScholarGoogle Scholar
  16. Davey, B. A. and Priestly, H. A. 1990. Introduction to Lattices and Order. Cambridge University Press, Cambridge.Google ScholarGoogle Scholar
  17. de Alfaro, L. and Henzinger, T. A. 2001. Interface theories for component-based design. In Ist International Workshop on Embedded Software (EMSOFT). Vol. LNCS 2211. Springer-Verlag, New York, 148--165. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. de Kock, E. A., Essink, G., Smits, W. J. M., van der Wolf, P., Brunel, J.-Y., Kruijtzer, W., Lieverse, P., and Vissers, K. A. 2000. YAPI: Application modeling for signal processing systems. In 37th Design Automation Conference (DAC'00). Los Angeles, CA. 402--405. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Dennis, J. B. 1974. First version data flow procedure language. Tech. Rept. MAC TM61, MIT Laboratory for Computer Science.Google ScholarGoogle Scholar
  20. Edwards, S. A. and Lee, E. A. 2003. The semantics and execution of a synchronous block-diagram language. Sci. Comput. Programming 48, 1. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Eker, J. and Janneck, J. W. 2003. CAL language report: Specification of the CAL actor language. Tech. Rep. Technical Memorandum No. UCB/ERL M03/48 (Dec. 1) University of California, Berkeley, CA.Google ScholarGoogle Scholar
  22. Eker, J., Janneck, J. W., Lee, E. A., Liu, J., Liu, X., Ludvig, J., Neuendorffer, S., Sachs, S., and Xiong, Y. 2003. Taming heterogeneity—the Ptolemy approach. Proc. IEEE 91, 1, 127--144.Google ScholarGoogle ScholarCross RefCross Ref
  23. Ferrante, J., Ottenstein, K. J., and Warren, J. D. 1987. The program dependence graph and its use in optimization. ACM Trans. Programming Languages Syst. 9, 3, 319--349. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Girault, A., Lee, B., and Lee, E. A. 1999. Hierarchical finite state machines with multiple concurrency models. IEEE Trans. Comput.-Aided Design Integr. Circ. Syst. 18, 6, 742--760. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Göessler, G. and Sangiovanni-Vincentelli, A. 2002. Compositional modeling in Metropolis. In 2nd International Workshop on Embedded Software (EMSOFT). Springer-Verlag, New York. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Göessler, G. and Sifakis, J. 2005. Composition for component-based modeling. Sci. Comput. Programming 55. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Halbwachs, N., Caspi, P., Raymond, P., and Pilaud, D. 1991. The synchronous data flow programming language LUSTRE. Proc. IEEE 79, 9, 1305--1319.Google ScholarGoogle Scholar
  28. Hewitt, C. 1977. Viewing control structures as patterns of passing messages. j. Artif. Intell. 8, 3, 323--363.Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Horwitz, S., Reps, T., and Binkley, D. 1988. Interprocedural slicing using dependence graphs. In ACM SIGPLAN '88 Conference on Programming Language Design and Implementation. Vol. SIGPLAN Notices 23(7). Atlanta, Georgia. 35--46. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Kahn, G. 1974. The semantics of a simple language for parallel programming. In Proceedings of the IFIP Congress 74. North-Holland, Amsterdam.Google ScholarGoogle Scholar
  31. Kahn, G. and MacQueen, D. B. 1977. Coroutines and networks of parallel processes. In Information Processing, B. Gilchrist, Ed. North-Holland, Amsterdam.Google ScholarGoogle Scholar
  32. Keutzer, K., Malik, S., Newton, A. R., Rabaey, J., and Sangiovanni-Vincentelli, A. 2000. System level design: Orthogonolization of concerns and platform-based design. IEEE Trans. Comput.-Aided Design Integr. Circuits Syst. 19, 12. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Lee, E. A. 1999. Modeling concurrent real-time processes using discrete events. Ann. Softw. Engin. 7, 25--45. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Lee, E. A. 2002. Embedded software. In Advances in Computers, M. Zelkowitz, Ed. Vol. 56. Academic Press, New York.Google ScholarGoogle Scholar
  35. Lee, E. A. 2003. 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.Google ScholarGoogle Scholar
  36. Lee, E. A. and Messerschmitt, D. G. 1987. Synchronous data flow. Proc. IEEE 75, 9 (Sept.), 1235--1245.Google ScholarGoogle Scholar
  37. Lee, E. A. and Neuendorffer, S. 2004. Classes and subclasses in actor-oriented design. In Conference on Formal Methods and Models for Codesign (MEMOCODE). San Diego, CA.Google ScholarGoogle Scholar
  38. Lee, E. A. and Parks, T. M. 1995. data-flow process networks. Proc. IEEE 83, 5, 773--801.Google ScholarGoogle ScholarCross RefCross Ref
  39. Lee, E. A. and Sangiovanni-Vincentelli, A. 1998. A framework for comparing models of computation. IEEE Trans. CAD 17, 12. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Lee, E. A. and Xiong, Y. 2004. A behavioral type system and its application in Ptolemy II. Formal Asp. Comput. J. 16, 3, 210--237. Google ScholarGoogle ScholarCross RefCross Ref
  41. Lee, E. A. and Zheng, H. 2005. Operational semantics of hybrid systems. In Hybrid Systems: Computation and Control (HSCC), M. Morari and L. Thiele, Eds. Vol. LNCS 3414. Springer-Verlag, New York. 25--53. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Lee, E. A., Neuendorffer, S., and Wirthlin, M. J. 2003. Actor-oriented design of embedded hardware and software systems. J. Circuits, Syst. Comput. 12, 3, 231--260.Google ScholarGoogle ScholarCross RefCross Ref
  43. Lee, E. A., Zheng, H., and Zhou, Y. 2005. Causality interfaces and compositional causality analysis. In Foundations of Interface Technologies (FIT), Satellite to CONCUR. San Francisco, CA.Google ScholarGoogle Scholar
  44. Liu, X. 2005. Semantic foundation of the tagged signal model. Ph.D. Thesis Technical Memorandum UCB/EECS-2005-31 (Dec.). EECS Department, University of California, Berkeley. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Liu, X. and Lee, E. A. 2006. CPO semantics of timed interactive actor networks. Tech. Rep. UCB/EECS-2006-67 (May). EECS Department, University of California, Berkeley.Google ScholarGoogle Scholar
  46. Matthews, S. G. 1995. An extensional treatment of lazy data flow deadlock. Theoret. Comput. Sci. 151, 1, 195--205. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Ottenstein, K. J. and Ottenstein, L. M. 1984. The program dependence graph in a software development environment. SIGPLAN Notices 19, 5, 177--184. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. Papadopoulos, G. A., Stavrou, A., and Papapetrou, O. 2006. An implementation framework for software architectures based on the coordination paradigm. Sci. Comput. Programming 60, 1, 27--67. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. Rutten, J. J. M. M. 2005. A coinductive calculus of streams. Math. Structures Comput. Sci. 15, 1, 93--147. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. Schneider, K., Brandt, J., and Schuele, T. 2004. Causality analysis of synchronous programs with delayed actions. In International Conference on Compilers, Architecture, and Synthesis for Embedded Systems. Washington DC. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. Talcott, C. L. 1996. Interaction semantics for components of distributed systems. In Formal Methods for Open Object-Based Distributed Systems (FMOODS).Google ScholarGoogle Scholar
  52. Thies, W., Karczmarek, M., and Amarasinghe, S. 2002. StreamIt: A language for streaming applications. In 11th International Conference on Compiler Construction. Vol. LNCS 2304. Springer-Verlag, New York. Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. Tiller, M. M. 2001. Introduction to Physical Modeling with Modelica. Kluwer Academic Publ., Novell, MA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. Wadge, W. 1981. An extensional treatment of data-flow deadlock. Theoret. Comput. Sci. 13, 1, 3--15.Google ScholarGoogle ScholarCross RefCross Ref
  55. Wegner, P., Arbab, F., Goldin, D., McBurney, P., Luck, M., and Roberson, D. 2005. The role of agent interaction in models of computation (panel summary). In Workshop on Foundations of Interactive Computation. Edinburgh.Google ScholarGoogle Scholar
  56. Winskel, G. 1993. The Formal Semantics of Programming Languages. MIT Press, Cambridge, MA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. Winter, M., Genssler, T., Christoph, A., Nierstrasz, O., Ducasse, S., Wuyts, R., Arévalo, G., Müller, P., Stich, C., and Schönhage, B. 2002. Components for embedded software—the PECOS approach. In Second International Workshop on Composition Languages, In conjunction with 16th European Conference on Object-Oriented Programming (ECOOP). Málaga, Spain.Google ScholarGoogle Scholar
  58. Xiong, Y. 2002. An extensible type system for component-based design. Ph.D. Thesis Technical Memorandum UCB/ERL M02/13 (May). University of California, Berkeley, CA 94720. Google ScholarGoogle ScholarDigital LibraryDigital Library
  59. Yates, R. K. 1993. Networks of real-time processes. In Proceedings of the 4th International Conference on Concurrency Theory (CONCUR), E. Best, Ed. Vol. LNCS 715. Springer-Verlag, New York. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Causality interfaces for actor networks

              Recommendations

              Comments

              Login options

              Check if you have access through your login credentials or your institution to get full access on this article.

              Sign in

              Full Access

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader
              About Cookies On This Site

              We use cookies to ensure that we give you the best experience on our website.

              Learn more

              Got it!