Abstract
This paper presents O’Klaim (Object-Oriented Klaim), a linguistic extension of the higher-order calculus for mobile processes Klaim with object-oriented features. Processes interact by an asynchronous communication model: they can distribute and retrieve resources, sometimes structured as incomplete classes, i.e., mixins, to and from distributed tuple spaces. This mechanism is coordinated by providing a subtyping relation on classes and mixins, which become polymorphic items during communication. We propose a static typing system for: (i) checking locally each process in its own locality; (ii) decorating object-oriented code that is sent to remote sites with its type. This way, tuples can be dynamically retrieved only if they match by subtyping with the expected type. If this pattern matching succeeds, the retrieved code can be composed with local code, dynamically and automatically, in a type-safe way. Thus a global safety condition is guaranteed without requiring any additional information on the local reconfiguration of local and foreign code, and, in particular, without any further type checking. Finally, we present main issues concerning the implementation of O’Klaim.
This work has been partially supported by EU within the FET – Global Computing initiative, project MIKADO IST-2001-32222, DART project IST-2001-33477 and by MIUR project NAPOLI. The funding bodies are not responsible for any use that might be made of the results presented here.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Ancona, D., Lagorio, G., Zucca, E.: Jam - designing a java extension with mixins. In: ACM Transaction on Programming Languages and Systems (2003) (to appear)
Bettini, L.: A Java package for class and mixin mobility in a distributed setting. In: Guelfi, N., Astesiano, E., Reggio, G. (eds.) FIDJI 2003. LNCS, vol. 2952, pp. 12–22. Springer, Heidelberg (2004) (to appear)
Bettini, L.: Linguistic Constructs for Object-Oriented Mobile Code Programming & their Implementations. PhD thesis, Dip. di Matematica, Università di Siena (2003), Available at http://music.dsi.unifi.it
Bettini, L., Bono, V., De Nicola, R., Ferrari, G., Gorla, D., Loreti, M., Moggi, E., Pugliese, R., Tuosto, E., Venneri, B.: The Klaim Project: Theory and Practice. In: Priami, C. (ed.) GC 2003. LNCS, vol. 2874, pp. 88–150. Springer, Heidelberg (2003) (to appear)
Bettini, L., Bono, V., Likavec, S.: A core calculus of mixin-based incomplete objects. In: FOOL, vol. 11 (2004)
Bettini, L., Bono, V., Venneri, B.: MoMi - A Calculus for Mobile Mixins (manuscript)
Bettini, L., Bono, V., Venneri, B.: Towards Object-Oriented Klaim. In: TOSCA 2001. ENTCS, vol. 62. Elsevier, Amsterdam (2001)
Bettini, L., Bono, V., Venneri, B.: Coordinating Mobile Object-Oriented Code. In: Arbab, F., Talcott, C. (eds.) COORDINATION 2002. LNCS, vol. 2315, pp. 56–71. Springer, Heidelberg (2002)
Bettini, L., Bono, V., Venneri, B.: Subtyping Mobile Classes and Mixins. In: Proc. of FOOL (2003)
Bettini, L., De Nicola, R., Ferrari, G., Pugliese, R.: Interactive Mobile Agents in X-Klaim. In: Proc. of WETICE, pp. 110–115. IEEE Computer Society Press, Los Alamitos (1998)
Bettini, L., De Nicola, R., Pugliese, R.: X-Klaim and Klava: Programming Mobile Code. In: TOSCA 2001. ENTCS, vol. 62. Elsevier, Amsterdam (2001)
Bettini, L., De Nicola, R., Pugliese, R.: Klava: a Java package for distributed and mobile applications. Software – Practice and Experience 32(14), 1365–1394 (2002)
Bono, V., Patel, A., Shmatikov, V.: A Core Calculus of Classes and Mixins. In: Guerraoui, R. (ed.) ECOOP 1999. LNCS, vol. 1628, pp. 43–66. Springer, Heidelberg (1999)
Bracha, G., Cook, W.: Mixin-based inheritance. In: Proc. OOPSLA, pp. 303–311 (1990)
Bugliesi, M., Castagna, G.: Mobile Objects. In: Proc. of FOOL (2000)
Cardelli, L.: A Language with Distributed Scope. Computing Systems 8(1), 27–59 (1995)
Carzaniga, A., Picco, G.P., Vigna, G.: Designing Distributed Applications with Mobile Code Paradigms. In: Proc. of ICSE, pp. 22–33. ACM Press, New York (1997)
De Nicola, R., Ferrari, G., Pugliese, R.: Klaim: a Kernel Language for Agents Interaction and Mobility. IEEE Transactions on Software Engineering 24(5), 315–330 (1998)
De Nicola, R., Ferrari, G., Pugliese, R., Venneri, B.: Types for Access Control. Theoretical Computer Science 240(1), 215–254 (2000)
Di Blasio, P., Fisher, K.: A Calculus for Concurrent Objects. In: Sassone, V., Montanari, U. (eds.) CONCUR 1996. LNCS, vol. 1119, pp. 655–670. Springer, Heidelberg (1996)
Fisher, K., Mitchell, J.C.: A Delegation-based Object Calculus with Subtyping. In: Proc. of FCT. LNCS, vol. 965, pp. 42–61. Springer, Heidelberg (1995)
Flatt, M., Krishnamurthi, S., Felleisen, M.: Classes and mixins. In: Proc. POPL 1998, pp. 171–183 (1998)
Fournet, C., Gonthier, G., Levy, J.J., Maranget, L., Remy, D.: A Calculus of Mobile Agents. In: Sassone, V., Montanari, U. (eds.) CONCUR 1996. LNCS, vol. 1119, pp. 406–421. Springer, Heidelberg (1996)
Gelernter, D.: Generative Communication in Linda. ACM Transactions on Programming Languages and Systems 7(1), 80–112 (1985)
Gordon, A., Hankin, P.: A Concurrent Object Calculus: Reduction and Typing. In: Proc. of HLCL. ENTCS, vol. 16.3, Elsevier, Amsterdam (1998)
Pierce, B.C., Turner, D.N.: Concurrent Objects in a Process Calculus. In: Proc. of TPPP. LNCS, vol. 907, pp. 187–215. Springer, Heidelberg (1995)
Riecke, J.G., Stone, C.: Privacy via Subsumption. Information and Computation 172, 2–28 (2002); 3rd special issue of Theory and Practice of Object-Oriented Systems (TAPOS)
Thorn, T.: Programming Languages for Mobile Code. ACM Computing Surveys 29(3), 213–239 (1997); Also Technical Report 1083, University of Rennes IRISA
Yoshida, N., Hennessy, M.: Subtyping and Locality in Distributed Higher Order Mobile Processes (extended abstract). In: Baeten, J.C.M., Mauw, S. (eds.) CONCUR 1999. LNCS, vol. 1664, pp. 557–572. Springer, Heidelberg (1999)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bettini, L., Bono, V., Venneri, B. (2004). O’Klaim: A Coordination Language with Mobile Mixins. In: De Nicola, R., Ferrari, GL., Meredith, G. (eds) Coordination Models and Languages. COORDINATION 2004. Lecture Notes in Computer Science, vol 2949. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24634-3_5
Download citation
DOI: https://doi.org/10.1007/978-3-540-24634-3_5
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-21044-3
Online ISBN: 978-3-540-24634-3
eBook Packages: Springer Book Archive