Abstract
Process types – a kind of behavioral types – specify constraints on message acceptance for the purpose of synchronization and to determine object usage and component behavior in object-oriented languages. So far process types have been regarded as a purely static concept for Actor languages incompatible with inherently dynamic programming techniques. We propose solutions of related problems causing the approach to become useable in more conventional dynamic and concurrent languagues. The proposed approach can ensure message acceptability and support local and static checking of race-free programs.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Puntigam, F.: Coordination Requirements Expressed in Types for Active Objects. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 367–388. Springer, Heidelberg (1997)
Agha, G., Mason, I.A., Smith, S., Talcott, C.: Towards a theory of actor computation. In: Cleaveland, W.R. (ed.) CONCUR 1992. LNCS, vol. 630, pp. 565–579. Springer, Heidelberg (1992)
Puntigam, F.: Flexible types for a concurrent model. In: Proceedings of the Workshop on Object-Oriented Programming and Models of Concurrency, Torino (1995)
Puntigam, F.: Concurrent Object-Oriented Programming with Process Types. Der Andere Verlag, Osnabrück (2000)
von Praun, C., Gross, T.R.: Static conflict analysis for multi-threaded object-oriented programs. In: PLDI 2003, pp. 115–128. ACM Press, New York (2003)
Bacon, D.F., Strom, R.E., Tarafdar, A.: Guava: A dialect of Java without data races. In: OOPSLA (2000)
Boyapati, C., Rinard, M.: A parameterized type system for race-free Java programs. In: OOPSLA 2001. ACM, New York (2001)
Brinch-Hansen, P.: The programming language Concurrent Pascal. IEEE Transactions on Software Engineering 1, 199–207 (1975)
Flanagan, F., Abadi, M.: Types for Safe Locking. In: Swierstra, S.D. (ed.) ESOP 1999. LNCS, vol. 1576. Springer, Heidelberg (1999)
Arbab, F.: Abstract behavior types: A foundation model for components and their composition. Science of Computer Programming 55, 3–52 (2005)
de Alfaro, L., Henzinger, T.A.: Interface automata. In: Proceedings of the Ninth Annual Symposium on Foundations of Software Engineering (FSE), pp. 109–120. ACM Press, New York (2001)
Heuzeroth, D., Reussner, R.: Meta-protocol and type system for the dynamic coupling of binary components. In: OOSPLA 1999 Workshop on Reflection and Software Engineering, Bicocca, Italy (1999)
Jacobsen, H.-A., Krämer, B.J.: A design pattern based approach to generating synchronization adaptors from annotated IDL. In: IEEE International Conference on Automated Software Engineering (ASE 1998), Honolulu, Hawaii, USA, pp. 63–72 (1998)
Lee, E.A., Xiong, Y.: A behavioral type system and its application in Ptolemy II. Formal Aspects of Computing 16, 210–237 (2004)
Mezini, M., Ostermann, K.: Integrating independent components with on-demand remodularization. In: OOPSLA 2002 Conference Proceedings, Seattle, Washington, nov 2002, pp. 52–67. ACM Press, New York (2002)
Nierstrasz, O.: Regular types for active objects. ACM SIGPLAN Notices 28, 1–15 (1993); Proceedings OOPSLA 1993
Plasil, F., Visnovsky, S.: Behavioral protocols for software components. IEEE Transactions on Software Engineering 28, 1056–1076 (2002)
Yellin, D.M., Strom, R.E.: Protocol specifications and component adaptors. ACM Transactions on Programming Languages and Systems 19, 292–333 (1997)
Liskov, B., Wing, J.M.: Specifications and their use in defining subtypes. ACM SIGPLAN Notices 28, 16–28 (1993); Proceedings OOPSLA 1993
Puntigam, F.: State information in statically checked interfaces. In: Eighth International Workshop on Component-Oriented Programming, Darmstadt, Germany (2003)
Südholt, M.: A Model of Components with Non-regular Protocols. In: Gschwind, T., Aßmann, U., Nierstrasz, O. (eds.) SC 2005. LNCS, vol. 3628, pp. 99–113. Springer, Heidelberg (2005)
Meyer, B.: Object-Oriented Software Construction, 2nd edn. Prentice-Hall, Englewood Cliffs (1997)
Meyer, B.: The grand challenge of trusted components. In: ICSE-25 (International Conference on Software Engineering), Portland, Oregon. IEEE Computer Society Press, Los Alamitos (2003)
Matsuoka, S., Yonezawa, A.: Analysis of inheritance anomaly in object-oriented concurrent programming languages. In: Agha, G. (ed.) Research Directions in Concurrent Object-Oriented Programming, MIT Press, Cambridge (1993)
Caromel, D.: Toward a method of object-oriented concurrent programming. Communications of the ACM 36, 90–101 (1993)
Meyer, B.: Systematic concurrent object-oriented programming. Communications of the ACM 36, 56–80 (1993)
Nielson, F., Nielson, H.R.: From CML to process algebras. In: Best, E. (ed.) CONCUR 1993. LNCS, vol. 715, pp. 493–508. Springer, Heidelberg (1993)
Colaco, J.-L., Pantel, M., Salle, P.: A set-constraint-based analysis of actors. In: Proceedings FMOODS 1997, Canterbury, United Kingdom. Chapman and Hall, Boca Raton (1997)
Kobayashi, N., Yonezawa, A.: Type-theoretic foundations for concurrent object-oriented programming. ACM SIGPLAN Notices 29, 31–45 (1994); Proceedings OOPSLA 1994
Ravara, A., Vasconcelos, V.T.: Behavioural types for a calculus of concurrent objects. In: Lengauer, C., Griebl, M., Gorlatch, S. (eds.) Euro-Par 1997. LNCS, vol. 1300, pp. 554–561. Springer, Heidelberg (1997)
Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes (parts I and II). Information and Computation 100, 1–77 (1992)
Kobayashi, N., Pierce, B., Turner, D.: Linearity and the pi-calculus. ACM Transactions on Programming Languages and Systems 21, 914–947 (1999)
Najm, E., Nimour, A.: A calculus of object bindings. In: Proceedings FMOODS 1997, Canterbury, United Kingdom. Chapman and Hall, Boca Raton (1997)
Choi, J.-D., Gupta, M., Serrano, M., Sreedhar, V.C., Midkiff, S.: Escape analysis for Java. In: OOPSLA 1999, Denver, Colorado (1999)
Vivien, F., Rinard, M.: Incrementalized pointer and escape analysis. In: PLDI 2001. ACM, New York (2001)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Puntigam, F. (2008). From Static to Dynamic Process Types. In: Filipe, J., Shishkov, B., Helfert, M. (eds) Software and Data Technologies. ICSOFT 2006. Communications in Computer and Information Science, vol 10. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-70621-2_6
Download citation
DOI: https://doi.org/10.1007/978-3-540-70621-2_6
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-70619-9
Online ISBN: 978-3-540-70621-2
eBook Packages: Computer ScienceComputer Science (R0)