Component-Oriented Programming with Sharing: Containment is Not Ownership

  • Daniel Hirschkoff
  • Tom Hirschowitz
  • Damien Pous
  • Alan Schmitt
  • Jean-Bernard Stefani
Part of the Lecture Notes in Computer Science book series (LNCS, 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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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)CrossRefGoogle Scholar
  2. 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)CrossRefGoogle Scholar
  3. 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)CrossRefGoogle Scholar
  4. 4.
    Cardelli, L., Gordon, A.D.: Mobile ambients. In: Nivat, M. (ed.) FOSSACS 1998. LNCS, vol. 1378, pp. 140–155. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  5. 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)CrossRefGoogle Scholar
  6. 6.
    Clarke, D.: Object Ownership and Containment. PhD thesis, University of New South Wales, Australia (2001)Google Scholar
  7. 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)CrossRefGoogle Scholar
  8. 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. 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)CrossRefGoogle Scholar
  10. 10.
    Fournet, C., Gonthier, G.: The reflexive chemical abstract machine and the Join-calculus. In: POPL. ACM Press, New York (1996)Google Scholar
  11. 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)CrossRefGoogle Scholar
  12. 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. 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. 14.
    Levi, F., Sangiorgi, D.: Controlling interference in ambients. In: POPL. ACM Press, New York (2000)Google Scholar
  15. 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)CrossRefGoogle Scholar
  16. 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. 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)CrossRefGoogle Scholar
  18. 18.
    Stefani, J.-B.: A calculus of Kells. In: FGC. ENTCS, vol. 85(1). Elsevier, Amsterdam (2003)Google Scholar
  19. 19.
    Wojciechowski, P.T., Sewell, P.: Nomadic Pict: Language and infrastructure design for mobile agents. Concurrency, 8(2) (2000)Google Scholar
  20. 20.
    Yoshida, N., Hennessy, M.: Assigning types to processes. In: LICS. IEEE, Los Alamitos (2000)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Daniel Hirschkoff
    • 1
  • Tom Hirschowitz
    • 1
  • Damien Pous
    • 1
  • Alan Schmitt
    • 2
  • Jean-Bernard Stefani
    • 2
  1. 1.LIP ENS LyonLyonFrance
  2. 2.INRIA Rhône-AlpesSt IsmierFrance

Personalised recommendations