Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Causality interfaces for actor networks

Published: 08 May 2008 Publication History

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.
[2]
Agha, G. 1990. Concurrent object-oriented programming. Commun. ACM 33, 9, 125--140.
[3]
Alur, R. and Henzinger, T. A. 1999. Reactive modules. Formal Methods Syst. Design 15, 7--48.
[4]
Arbab, F. 2004. Reo: A channel-based coordination model for component composition. Math. Structures Comput. Sci. 14, 3, 329--366.
[5]
Arbab, F. 2005. Abstract behavior types: A foundation model for components and their composition. Sci. Comput. Programming 55, 3--52.
[6]
Armstrong, J. R. and Gray, F. G. 2000. VHDL Design Representation and Synthesis, 2nd ed. Prentice-Hall, Englewood, Cliffs, NJ.
[7]
Benveniste, A. and Berry, G. 1991. The synchronous approach to reactive and real-time systems. Proc. IEEE 79, 9, 1270--1282.
[8]
Benveniste, A. and Guernic, P. L. 1990. Hybrid dynamical systems theory and the signal language. IEEE Trans. Automatic Control 35, 5, 525--546.
[9]
Berry, G. 1996. The Constructive Semantics of Pure Esterel. Book Draft.
[10]
Berry, G. and Gonthier, G. 1992. The esterel synchronous programming language: Design, semantics, implementation. Sci. Comput. Programming 19, 2, 87--152.
[11]
Broy, M. and Stefanescu, G. 2001. The algebra of stream processing functions. Theoret. Comput. Sci. 258, 99--129.
[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.
[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”).
[14]
Cassandras, C. G. 1993. Discrete Event Systems, Modeling and Performance Analysis. Irwin.
[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.
[16]
Davey, B. A. and Priestly, H. A. 1990. Introduction to Lattices and Order. Cambridge University Press, Cambridge.
[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.
[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.
[19]
Dennis, J. B. 1974. First version data flow procedure language. Tech. Rept. MAC TM61, MIT Laboratory for Computer Science.
[20]
Edwards, S. A. and Lee, E. A. 2003. The semantics and execution of a synchronous block-diagram language. Sci. Comput. Programming 48, 1.
[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.
[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.
[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.
[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.
[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.
[26]
Göessler, G. and Sifakis, J. 2005. Composition for component-based modeling. Sci. Comput. Programming 55.
[27]
Halbwachs, N., Caspi, P., Raymond, P., and Pilaud, D. 1991. The synchronous data flow programming language LUSTRE. Proc. IEEE 79, 9, 1305--1319.
[28]
Hewitt, C. 1977. Viewing control structures as patterns of passing messages. j. Artif. Intell. 8, 3, 323--363.
[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.
[30]
Kahn, G. 1974. The semantics of a simple language for parallel programming. In Proceedings of the IFIP Congress 74. North-Holland, Amsterdam.
[31]
Kahn, G. and MacQueen, D. B. 1977. Coroutines and networks of parallel processes. In Information Processing, B. Gilchrist, Ed. North-Holland, Amsterdam.
[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.
[33]
Lee, E. A. 1999. Modeling concurrent real-time processes using discrete events. Ann. Softw. Engin. 7, 25--45.
[34]
Lee, E. A. 2002. Embedded software. In Advances in Computers, M. Zelkowitz, Ed. Vol. 56. Academic Press, New York.
[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.
[36]
Lee, E. A. and Messerschmitt, D. G. 1987. Synchronous data flow. Proc. IEEE 75, 9 (Sept.), 1235--1245.
[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.
[38]
Lee, E. A. and Parks, T. M. 1995. data-flow process networks. Proc. IEEE 83, 5, 773--801.
[39]
Lee, E. A. and Sangiovanni-Vincentelli, A. 1998. A framework for comparing models of computation. IEEE Trans. CAD 17, 12.
[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.
[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.
[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.
[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.
[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.
[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.
[46]
Matthews, S. G. 1995. An extensional treatment of lazy data flow deadlock. Theoret. Comput. Sci. 151, 1, 195--205.
[47]
Ottenstein, K. J. and Ottenstein, L. M. 1984. The program dependence graph in a software development environment. SIGPLAN Notices 19, 5, 177--184.
[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.
[49]
Rutten, J. J. M. M. 2005. A coinductive calculus of streams. Math. Structures Comput. Sci. 15, 1, 93--147.
[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.
[51]
Talcott, C. L. 1996. Interaction semantics for components of distributed systems. In Formal Methods for Open Object-Based Distributed Systems (FMOODS).
[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.
[53]
Tiller, M. M. 2001. Introduction to Physical Modeling with Modelica. Kluwer Academic Publ., Novell, MA.
[54]
Wadge, W. 1981. An extensional treatment of data-flow deadlock. Theoret. Comput. Sci. 13, 1, 3--15.
[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.
[56]
Winskel, G. 1993. The Formal Semantics of Programming Languages. MIT Press, Cambridge, MA.
[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.
[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.
[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.

Cited By

View all
  • (2021)Toward a Lingua Franca for Deterministic Concurrent SystemsACM Transactions on Embedded Computing Systems10.1145/344812820:4(1-27)Online publication date: 18-May-2021
  • (2019)Deterministic Actors2019 Forum for Specification and Design Languages (FDL)10.1109/FDL.2019.8876922(1-8)Online publication date: Sep-2019
  • (2018)Modular Code Generation from Synchronous Block Diagrams: Interfaces, Abstraction, CompositionalityPrinciples of Modeling10.1007/978-3-319-95246-8_26(449-477)Online publication date: 20-Jul-2018
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Embedded Computing Systems
ACM Transactions on Embedded Computing Systems  Volume 7, Issue 3
April 2008
437 pages
ISSN:1539-9087
EISSN:1558-3465
DOI:10.1145/1347375
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Journal Family

Publication History

Published: 08 May 2008
Accepted: 01 March 2007
Revised: 01 March 2007
Received: 01 November 2006
Published in TECS Volume 7, Issue 3

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Actors
  2. behavioral types
  3. causality
  4. data flow
  5. deadlock
  6. discrete-event models
  7. interfaces
  8. synchronous languages
  9. timed systems

Qualifiers

  • Research-article
  • Research
  • Refereed

Funding Sources

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)6
  • Downloads (Last 6 weeks)1
Reflects downloads up to 12 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2021)Toward a Lingua Franca for Deterministic Concurrent SystemsACM Transactions on Embedded Computing Systems10.1145/344812820:4(1-27)Online publication date: 18-May-2021
  • (2019)Deterministic Actors2019 Forum for Specification and Design Languages (FDL)10.1109/FDL.2019.8876922(1-8)Online publication date: Sep-2019
  • (2018)Modular Code Generation from Synchronous Block Diagrams: Interfaces, Abstraction, CompositionalityPrinciples of Modeling10.1007/978-3-319-95246-8_26(449-477)Online publication date: 20-Jul-2018
  • (2015)Computing end-to-end delays in stream query processingScience of Computer Programming10.1016/j.scico.2015.04.003105:C(124-144)Online publication date: 1-Jul-2015
  • (2013)A model reduction approach for improving discrete event simulation performanceProceedings of the 6th International ICST Conference on Simulation Tools and Techniques10.5555/2512734.2512747(101-108)Online publication date: 5-Mar-2013
  • (2012)Distributed Real-Time Software for Cyber–Physical SystemsProceedings of the IEEE10.1109/JPROC.2011.2161237100:1(45-59)Online publication date: Jan-2012
  • (2011)Towards incremental cycle analysis in ESMoL distributed control system modelsProceedings of the 10th international conference on Software composition10.5555/2025951.2025963(133-140)Online publication date: 30-Jun-2011
  • (2011)A Theory of Synchronous Relational InterfacesACM Transactions on Programming Languages and Systems10.1145/1985342.198534533:4(1-41)Online publication date: 1-Jul-2011
  • (2011)Towards Incremental Cycle Analysis in ESMoL Distributed Control System ModelsSoftware Composition10.1007/978-3-642-22045-6_9(133-140)Online publication date: 2011
  • (2010)Feasibility of semiring-based timing constraintsACM Transactions on Embedded Computing Systems10.1145/1721695.17216999:4(1-24)Online publication date: 6-Apr-2010
  • Show More Cited By

View Options

Get Access

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media