A Model of Evolvable Components

  • Fabrizio Montesi
  • Davide Sangiorgi
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6084)


We present a model of components following the process calculus approach. The main problem was isolating primitives that capture the relevant concepts of component-based systems. The key features of the calculus are: a hierarchical structure of components; a prominent role to input/output interfaces; the possibility of stopping and capturing components; a mechanism of channel interactions, orthogonal to the activity of components, which may produce tunneling effects that bypass the component hierarchy.

We present the calculus, explain the syntax, formulate its operational semantics and a basic type system. We show a number of examples of use of the calculus, with particular emphasis to common evolvability patterns for components.


Output Port Input Port Operational Semantic Component Identity Channel Interaction 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [BHG06]
    Bundgaard, M., Hildebrandt, T.T., Godskesen, J.C.: A cps encoding of name-passing in higher-order mobile embedded resources. Theor. Comput. Sci. 356(3), 422–439 (2006)MathSciNetCrossRefzbMATHGoogle Scholar
  2. [BHM05]
    Barros, T., Henrio, L., Madelaine, E.: Behavioural models for hierarchical components. In: Godefroid, P. (ed.) SPIN 2005. LNCS, vol. 3639, pp. 154–168. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  3. [CG98]
    Cardelli, L., Gordon, A.D.: Mobile ambients. In: Nivat, M. (ed.) FOSSACS 1998. LNCS, vol. 1378, pp. 140–155. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  4. [CHY07]
    Carbone, M., Honda, K., Yoshida, N.: Structured communication-centred programming for web services. In: De Nicola, R. (ed.) ESOP 2007. LNCS, vol. 4421, pp. 2–17. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  5. [dAH01]
    de Alfaro, L., Henzinger, T.A.: Interface automata. In: ESEC/SIGSOFT FSE, pp. 109–120 (2001)Google Scholar
  6. [Fra]
    The fractal project,
  7. [HGB04]
    Hildebrandt, T., Godskesen, J.C., Bundgaard, M.: Bisimulation congruences for homer, a calculus of higher order mobile embedded resources. Technical Report ITU-TR-2004-52, IT University of Copenhagen (2004)Google Scholar
  8. [JR05]
    Jeffrey, A., Rathke, J.: Contextual equivalence for higher-order pi-calculus revisited. Logical Methods in Computer Science 1(1) (2005)Google Scholar
  9. [LMVR07]
    Lanese, I., Martins, F., Vasconcelos, V.T., Ravara, A.: Disciplining orchestration and conversation in service-oriented computing. In: SEFM 2007, pp. 305–314. IEEE, Los Alamitos (2007)Google Scholar
  10. [LNW06]
    Larsen, K.G., Nyman, U., Wasowski, A.: Interface input/output automata. In: Misra, J., Nipkow, T., Sekerinski, E. (eds.) FM 2006. LNCS, vol. 4085, pp. 82–97. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  11. [LSS09]
    Lenglet, S., Schmitt, A., Stefani, J.-B.: Howe’s method for calculi with passivation. In: Bravetti, M., Zavattaro, G. (eds.) CONCUR 2009. LNCS, vol. 5710, pp. 448–462. Springer, Heidelberg (2009)Google Scholar
  12. [Puc02]
    Pucella, R.: Towards a formalization for com part i: the primitive calculus. In: OOPSLA, pp. 331–342 (2002)Google Scholar
  13. [SGM02]
    Szyperski, C., Gruntz, D., Murer, S.: Component Software: Beyond Object-Oriented Programming. Addison-Wesley, Reading (2002)Google Scholar
  14. [SKS07]
    Sangiorgi, D., Kobayashi, N., Sumii, E.: Environmental bisimulations for higher-order languages. In: LICS 2007, pp. 293–302. IEEE Comp. Soc., Los Alamitos (2007)Google Scholar
  15. [SS05]
    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
  16. [SW01]
    Sangiorgi, D., Walker, D.: The π-calculus: a Theory of Mobile Processes. Cambridge University Press, Cambridge (2001)zbMATHGoogle Scholar
  17. [Vas09]
    Vasconcelos, V.T.: Fundamentals of session types. In: Bernardo, M., Padovani, L., Zavattaro, G. (eds.) SFM 2009. LNCS, vol. 5569, pp. 158–186. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  18. [VC99]
    Vitek, J., Castagna, G.: Seal: A framework for secure mobile computations. In: Bal, H.E., Cardelli, L., Belkhouche, B. (eds.) ICCL-WS 1998. LNCS, vol. 1686, p. 47. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  19. [vOvdLKM00]
    van Ommering, R.C., van der Linden, F., Kramer, J., Magee, J.: The koala component model for consumer electronics software. IEEE Computer 33(3), 78–85 (2000)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Fabrizio Montesi
    • 1
  • Davide Sangiorgi
    • 1
  1. 1.Focus Research TeamInria/University of BolognaItaly

Personalised recommendations