Abstract
The main purpose of this work is the static detection of orphan messages in actor based languages. An orphan is a message which may not be handled by its target in some execution paths. Two kinds of orphan messages may be encountered, i.e., safety and liveness ones. Safety orphans occur when all target behaviors on a given execution path do not know how to handle the message. Liveness orphans occur when one of the target behaviors in each execution path knows how to handle the message but the target is deadlocked and will never assume the corresponding behavior. This paper presents a safe static analysis which detects all safety orphan messages in actor-based programs. This result extends previous work derived from sequential object-oriented languages type systems to non-uniform behaviors.
Chapter PDF
Similar content being viewed by others
Keywords
References
M. Abadi and L. Cardelli. A theory of primitive objects: untyped and first-order systems. In Proc. Theor. Aspects of Computer Software, 1994.
A. Aiken, E. Wimmers, and T. Lakshman. Soft typing with conditional types. In Proc. of the 21st. ACM Symp. on PoPL, January 1994.
J-L. Colaço. Analyses statiques par typage de langages d’Acteurs. PhD thesis, Institut National Polytechnique de Toulouse, October 1997.
J-L. Colaço, M. Pantel, and P. Sallé. CAP: An actor dedicated process calculus. In ECOOP’96 Workshop on Proof Theory of Concurrent Object-Oriented Programming, May 1996.
J-L. Colaço, M. Pantel, and P. Sallé. Analyse de linéarité par typage dans un calcul d’acteurs. In Actes des Journées Francophones des Langages Applicatifs, January 1997.
J-L. Colaço, M. Pantel, and R Sand. A set-constraint-based analysis of actors. In Proc. of the 1997 JFIP Intl. conf. on Formal Methods for Open Object-based Distributed Systems, July 1997.
J-L. Colaço, M. Pantel, and R Sallé. From set based to multiset based analysis: a practical approach. October 1998. Proc. of the the 1998 Workshop on Set constraints and Constraint based program analysis.
F. Dagnat, M. Pantel, and R Sallé. Ml-act: Un langage fonctionnel d’acteurs. In Actes des Journées Francophones des Langages Applicatifs, February 1998.
J. Darlington and Y.K. Guo. Formalising actors in linear logic. In Proc. of the Intl. Conf. on Object-Oriented Information Systems, 1994.
C. Fournet, C. Laneve, L. Maranget, and D. Rémy. Implicit typing à la ML for the join-calculus.
Kohei Honda and Mario Tokoro. An object calculus for asynchronous communication. In R America, editor, Proc. ECOOP ‘81, July 1991.
N. Kobayashi. A partially deadloack-free typed process calculus. In Proc. of the conf. Logic In Computer Science, 1997.
Naoki Kobayashi, Motoki Nakade, and Akinori Yonezawa. Static analysis of communication for asynchronous concurrent programming languages. In Proc. of Intl. Static Analysis Symposium, 1995.
Naoki Kobayashi, Benjamin C Pierce, and David N. Turner. Linearity and the pi-calculus. In Proc. of the ACM Symposium on Principles of Programming Languages, 1996.
Naoki Kobayashi and Akinori Yonezawa. Type-theoretic foundations for concurrent object-oriented programming. In Proc. of ACM SIGPLAN Conf on Object-Oriented Programming Systems, Languages, and Applications, 1994.
Robin Milner. The polyadic 7r-calculus: a tutorial. Technical Report ECSLFCS-91–180, Laboratory for Foundations of Computer Science, Department of Computer Science, University of Edinburgh, UK, October 1991. Also in Logic and Algebra of Specification, ed. F. L. Bauer, W. Brauer and H. Schwichtenberg, Springer-Verlag, 1993.
E. Najm and A. Nimour. A calculus of object binding. In Proc. of the 1997 IFIP intl. conf. on Formal Method s for Open Object-based Distributed Systems, July 1997.
Oscar Nierstrasz. Regular types for active objects. In Proc. OOPSLA ‘83, ACM SIGPLAN Notices, October 1993.
M. Pantel and P. Salland Typage souple pour le langage FOL. In Actes des Journées Francophones des Langages Applicatifs, January 1994.
B. Pierce and D. Turner. Concurrent objects in a process calculus. In Proc. of Theory and Practice of Parallel Programming, November 1994.
B. Pierce and D. Turner. Pict: A programming languages based on the 7r-calculus. Technical Report 476, Indiana Univ., March 1997.
Benjamin Pierce and Davide Sangiorgi. Typing and subtyping for mobile processes. Mathematical Structures in Computer Science, 1995.
António Ravara and Vasco T. Vasconcelos. Behavioural types for a calculus of concurrent objects. In Euro-Par’97, 1997.
Vasco T. Vasconcelos and Mario Tokoro. A typing system for a calculus of objects. In Proc. of the Intl. Symposium on Object Technologies for Advanced Software, November 1993.
D. Walker. Objects in the 7r-calculus. Information and Computation, (116), 1995.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 Springer Science+Business Media New York
About this paper
Cite this paper
Colaco, JL., Pantel, M., Dagnat, F., Sallé, P. (1999). Static Safety Analysis for Non-Uniform Service Availability in Actors. In: Ciancarini, P., Fantechi, A., Gorrieri, R. (eds) Formal Methods for Open Object-Based Distributed Systems. FMOODS 1999. IFIP — The International Federation for Information Processing, vol 10. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-35562-7_29
Download citation
DOI: https://doi.org/10.1007/978-0-387-35562-7_29
Publisher Name: Springer, Boston, MA
Print ISBN: 978-1-4757-5266-3
Online ISBN: 978-0-387-35562-7
eBook Packages: Springer Book Archive