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.
- 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 Scholar
Digital Library
- Agha, G. 1990. Concurrent object-oriented programming. Commun. ACM 33, 9, 125--140. Google Scholar
Digital Library
- Alur, R. and Henzinger, T. A. 1999. Reactive modules. Formal Methods Syst. Design 15, 7--48. Google Scholar
Digital Library
- Arbab, F. 2004. Reo: A channel-based coordination model for component composition. Math. Structures Comput. Sci. 14, 3, 329--366. Google Scholar
Digital Library
- Arbab, F. 2005. Abstract behavior types: A foundation model for components and their composition. Sci. Comput. Programming 55, 3--52. Google Scholar
Digital Library
- Armstrong, J. R. and Gray, F. G. 2000. VHDL Design Representation and Synthesis, 2nd ed. Prentice-Hall, Englewood, Cliffs, NJ. Google Scholar
Digital Library
- Benveniste, A. and Berry, G. 1991. The synchronous approach to reactive and real-time systems. Proc. IEEE 79, 9, 1270--1282.Google Scholar
Cross Ref
- Benveniste, A. and Guernic, P. L. 1990. Hybrid dynamical systems theory and the signal language. IEEE Trans. Automatic Control 35, 5, 525--546.Google Scholar
Cross Ref
- Berry, G. 1996. The Constructive Semantics of Pure Esterel. Book Draft.Google Scholar
- Berry, G. and Gonthier, G. 1992. The esterel synchronous programming language: Design, semantics, implementation. Sci. Comput. Programming 19, 2, 87--152. Google Scholar
Digital Library
- Broy, M. and Stefanescu, G. 2001. The algebra of stream processing functions. Theoret. Comput. Sci. 258, 99--129. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- Cassandras, C. G. 1993. Discrete Event Systems, Modeling and Performance Analysis. Irwin.Google Scholar
- 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 Scholar
- Davey, B. A. and Priestly, H. A. 1990. Introduction to Lattices and Order. Cambridge University Press, Cambridge.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Dennis, J. B. 1974. First version data flow procedure language. Tech. Rept. MAC TM61, MIT Laboratory for Computer Science.Google Scholar
- Edwards, S. A. and Lee, E. A. 2003. The semantics and execution of a synchronous block-diagram language. Sci. Comput. Programming 48, 1. Google Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Göessler, G. and Sifakis, J. 2005. Composition for component-based modeling. Sci. Comput. Programming 55. Google Scholar
Digital Library
- Halbwachs, N., Caspi, P., Raymond, P., and Pilaud, D. 1991. The synchronous data flow programming language LUSTRE. Proc. IEEE 79, 9, 1305--1319.Google Scholar
- Hewitt, C. 1977. Viewing control structures as patterns of passing messages. j. Artif. Intell. 8, 3, 323--363.Google Scholar
Digital Library
- 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 Scholar
Digital Library
- Kahn, G. 1974. The semantics of a simple language for parallel programming. In Proceedings of the IFIP Congress 74. North-Holland, Amsterdam.Google Scholar
- Kahn, G. and MacQueen, D. B. 1977. Coroutines and networks of parallel processes. In Information Processing, B. Gilchrist, Ed. North-Holland, Amsterdam.Google Scholar
- 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 Scholar
Digital Library
- Lee, E. A. 1999. Modeling concurrent real-time processes using discrete events. Ann. Softw. Engin. 7, 25--45. Google Scholar
Digital Library
- Lee, E. A. 2002. Embedded software. In Advances in Computers, M. Zelkowitz, Ed. Vol. 56. Academic Press, New York.Google Scholar
- 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 Scholar
- Lee, E. A. and Messerschmitt, D. G. 1987. Synchronous data flow. Proc. IEEE 75, 9 (Sept.), 1235--1245.Google Scholar
- 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 Scholar
- Lee, E. A. and Parks, T. M. 1995. data-flow process networks. Proc. IEEE 83, 5, 773--801.Google Scholar
Cross Ref
- Lee, E. A. and Sangiovanni-Vincentelli, A. 1998. A framework for comparing models of computation. IEEE Trans. CAD 17, 12. Google Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
- Matthews, S. G. 1995. An extensional treatment of lazy data flow deadlock. Theoret. Comput. Sci. 151, 1, 195--205. Google Scholar
Digital Library
- Ottenstein, K. J. and Ottenstein, L. M. 1984. The program dependence graph in a software development environment. SIGPLAN Notices 19, 5, 177--184. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- Rutten, J. J. M. M. 2005. A coinductive calculus of streams. Math. Structures Comput. Sci. 15, 1, 93--147. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- Talcott, C. L. 1996. Interaction semantics for components of distributed systems. In Formal Methods for Open Object-Based Distributed Systems (FMOODS).Google Scholar
- 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 Scholar
Digital Library
- Tiller, M. M. 2001. Introduction to Physical Modeling with Modelica. Kluwer Academic Publ., Novell, MA. Google Scholar
Digital Library
- Wadge, W. 1981. An extensional treatment of data-flow deadlock. Theoret. Comput. Sci. 13, 1, 3--15.Google Scholar
Cross Ref
- 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 Scholar
- Winskel, G. 1993. The Formal Semantics of Programming Languages. MIT Press, Cambridge, MA. Google Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
Index Terms
Causality interfaces for actor networks
Recommendations
A causality interface for deadlock analysis in dataflow
EMSOFT '06: Proceedings of the 6th ACM & IEEE International conference on Embedded softwareIn this paper, we consider a concurrent model of computation called dataflow, where components (actors) communicate via streams of data tokens. Dataflow semantics has been adopted by experimental and production languages used to design embedded systems. ...
Granular Causality Applications: Using Part-of Relations for Discovering Causality
Causal markers, syntactic structures and connectives have been the sole identifying features for automatically extracting causal relations in natural language discourse. However, various connectives such as "and", prepositions such as "as", and other ...
Mutex Causality in Processes and Traces of General Elementary Nets
Applications and Theory of Petri Nets and Other Models of Concurrency, 2011A concurrent history represented by a causality structure that captures the intrinsic, invariant dependencies between its actions, can be interpreted as defining a set of closely related observations e.g., step sequences. Depending on the relationships ...






Comments