Abstract
Component-oriented programming yields a tension between higher-order features (deployment, reconfiguration, passivation), encapsulation, and component sharing. We propose a discipline for component-oriented programming to address this issue, and we define a process calculus whose operational semantics embodies this programming discipline. We present several examples that illustrate how the calculus supports component sharing, while allowing strong encapsulation and higher-order primitives.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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)
Bruneton, E., Coupaye, T., Leclercq, M., Quéma, V., Stefani, J.-B.: An open component model and its support in Java. In: Crnković, I., Stafford, J.A., Schmidt, H.W., Wallnau, K. (eds.) CBSE 2004. LNCS, vol. 3054, pp. 7–22. Springer, Heidelberg (2004)
Bugliesi, M., Castagna, G., Crafa, S.: Boxed ambients. In: Theoretical Aspects of Computer Software TACS. LNCS, vol. 2215, pp. 38–63. Springer, Heidelberg (2001)
Cardelli, L., Gordon, A.D.: Mobile ambients. In: Nivat, M. (ed.) FOSSACS 1998. LNCS, vol. 1378, pp. 140–155. Springer, Heidelberg (1998)
Castagna, G., Zappa Nardelli, F.: The Seal calculus revisited: Contextual equivalence and bisimilarity. In: Agrawal, M., Seth, A.K. (eds.) FSTTCS 2002. LNCS, vol. 2556, pp. 85–96. Springer, Heidelberg (2002)
Clarke, D.: Object Ownership and Containment. PhD thesis, University of New South Wales, Australia (2001)
Clarke, D., Wrigstad, T.: External uniqueness is unique enough. In: Cardelli, L. (ed.) ECOOP 2003. LNCS, vol. 2743, pp. 176–201. Springer, Heidelberg (2003)
Coppo, M., Dezani-Ciancaglini, M., Giovannetti, E., Salvo, I.: M3: Mobility types for mobile processes in mobile ambients. In: Computing: the Australasian Theory Symposium. Electronic Notes in Theoretical Computer Science, vol. 78. Elsevier, Amsterdam (2003)
De Nicola, R., Gorla, D., Pugliese, R.: Global computing in a dynamic network of tuple spaces. In: Jacquet, J.-M., Picco, G.P. (eds.) COORDINATION 2005. LNCS, vol. 3454, pp. 157–172. Springer, Heidelberg (2005)
Fournet, C., Gonthier, G.: The reflexive chemical abstract machine and the Join-calculus. In: POPL. ACM Press, New York (1996)
Hennessy, M., Rathke, J., Yoshida, N.: SafeDpi: a language for controlling mobile code. In: Walukiewicz, I. (ed.) FOSSACS 2004. LNCS, vol. 2987, pp. 241–256. Springer, Heidelberg (2004)
Hennessy, M., Riely, J.: Resource access control in systems of mobile agents. In: International Workshop on High-Level Concurrent Languages. ENTCS, vol. 16(3). Elsevier, Amsterdam (1998)
Hogg, J., Lea, D., Wills, A., de Champeaux, D., Holt, R.: The Geneva convention on the treatment of object aliasing (1991)
Levi, F., Sangiorgi, D.: Controlling interference in ambients. In: POPL. ACM Press, New York (2000)
Liu, Y.D., Smith, S.F.: Modules with interfaces for dynamic linking and communication. In: Odersky, M. (ed.) ECOOP 2004. LNCS, vol. 3086, pp. 415–439. Springer, Heidelberg (2004)
Ravara, A., Matos, A., Vasconcelos, V., Lopes, L.: Lexically scoped distribution: what you see is what you get. In: FGC. ENTCS, vol. 85(1). Elsevier, Amsterdam (2003)
Schmitt, A., Stefani, J.-B.: The Kell calculus: A family of higher-order distributed process calculi. In: Priami, C., Quaglia, P. (eds.) GC 2004. LNCS, vol. 3267, pp. 146–178. Springer, Heidelberg (2005)
Stefani, J.-B.: A calculus of Kells. In: FGC. ENTCS, vol. 85(1). Elsevier, Amsterdam (2003)
Wojciechowski, P.T., Sewell, P.: Nomadic Pict: Language and infrastructure design for mobile agents. Concurrency, 8(2) (2000)
Yoshida, N., Hennessy, M.: Assigning types to processes. In: LICS. IEEE, Los Alamitos (2000)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Hirschkoff, D., Hirschowitz, T., Pous, D., Schmitt, A., Stefani, JB. (2005). Component-Oriented Programming with Sharing: Containment is Not Ownership. In: Glück, R., Lowry, M. (eds) Generative Programming and Component Engineering. GPCE 2005. Lecture Notes in Computer Science, vol 3676. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11561347_26
Download citation
DOI: https://doi.org/10.1007/11561347_26
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-29138-1
Online ISBN: 978-3-540-31977-1
eBook Packages: Computer ScienceComputer Science (R0)