Skip to main content

Component-Oriented Programming with Sharing: Containment is Not Ownership

  • Conference paper
Generative Programming and Component Engineering (GPCE 2005)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 3676))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. 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)

    Chapter  Google Scholar 

  2. 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)

    Chapter  Google Scholar 

  3. Bugliesi, M., Castagna, G., Crafa, S.: Boxed ambients. In: Theoretical Aspects of Computer Software TACS. LNCS, vol. 2215, pp. 38–63. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  4. Cardelli, L., Gordon, A.D.: Mobile ambients. In: Nivat, M. (ed.) FOSSACS 1998. LNCS, vol. 1378, pp. 140–155. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  5. 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)

    Chapter  Google Scholar 

  6. Clarke, D.: Object Ownership and Containment. PhD thesis, University of New South Wales, Australia (2001)

    Google Scholar 

  7. Clarke, D., Wrigstad, T.: External uniqueness is unique enough. In: Cardelli, L. (ed.) ECOOP 2003. LNCS, vol. 2743, pp. 176–201. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  8. 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)

    Google Scholar 

  9. 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)

    Chapter  Google Scholar 

  10. Fournet, C., Gonthier, G.: The reflexive chemical abstract machine and the Join-calculus. In: POPL. ACM Press, New York (1996)

    Google Scholar 

  11. 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)

    Chapter  Google Scholar 

  12. 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)

    Google Scholar 

  13. Hogg, J., Lea, D., Wills, A., de Champeaux, D., Holt, R.: The Geneva convention on the treatment of object aliasing (1991)

    Google Scholar 

  14. Levi, F., Sangiorgi, D.: Controlling interference in ambients. In: POPL. ACM Press, New York (2000)

    Google Scholar 

  15. 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)

    Chapter  Google Scholar 

  16. 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)

    Google Scholar 

  17. 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)

    Chapter  Google Scholar 

  18. Stefani, J.-B.: A calculus of Kells. In: FGC. ENTCS, vol. 85(1). Elsevier, Amsterdam (2003)

    Google Scholar 

  19. Wojciechowski, P.T., Sewell, P.: Nomadic Pict: Language and infrastructure design for mobile agents. Concurrency, 8(2) (2000)

    Google Scholar 

  20. Yoshida, N., Hennessy, M.: Assigning types to processes. In: LICS. IEEE, Los Alamitos (2000)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics