From Components to Autonomic Elements Using Negotiable Contracts

  • Hervé Chang
  • Philippe Collet
  • Alain Ozanne
  • Nicolas Rivierre
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4158)


Autonomic computing aims at producing software systems that can manage themselves. As component-based development also partly addresses the complexity of large applications, we propose to combine the benefits of both approaches by using components equipped with negotiable contracts. These contracts specify the correct behavior of the components and play a central role in feedback control loops to enforce some autonomic features on components. In this paper, we present ConFract, a contract-based framework for hierarchical components in which contracts are runtime objects that are dynamically built from specifications, and automatically updated according to dynamic reconfigurations. Moreover, contracts clearly define the responsibilities (guarantor, beneficiaries) between their participating components which are exploited by some negotiations to automatically adapt components and contracts, and revalidate the system. The generic negotiation mechanism and an associated concession-based policy are presented.


Negotiation Process Negotiation Policy Autonomic Computing Negotiation Model Autonomic Feature 
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. 1.
    IBM: An Architectural Blueprint for Autonomic Computing (2003)Google Scholar
  2. 2.
    Parashar, M., Hariri, S.: Autonomic Computing: An Overview. In: Banâtre, J.-P., Fradet, P., Giavitto, J.-L., Michel, O. (eds.) UPP 2004. LNCS, vol. 3566, pp. 257–269. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  3. 3.
    Sterritt, R., Parashar, M., Tianfield, H., Unland, R.: A Concise Introduction to Autonomic Computing. Advanced Engineering Informatics 19, 181–187 (2005)CrossRefGoogle Scholar
  4. 4.
    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
  5. 5.
    Collet, P., Rousseau, R., Coupaye, T., Rivierre, N.: A Contracting System for Hierarchical Components. In: Heineman, G.T., Crnković, I., Schmidt, H.W., Stafford, J.A., Szyperski, C., Wallnau, K. (eds.) CBSE 2005. LNCS, vol. 3489, pp. 187–202. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  6. 6.
    Meyer, B.: Applying Design by contract. IEEE Computer 25, 40–51 (1992)Google Scholar
  7. 7.
    Collet, P., Rivierre, N., Ozanne, A.: Enforcing Different Contracts in Hierarchical Component-Based Systems. In: Löwe, W., Südholt, M. (eds.) SC 2006. LNCS, vol. 4089, pp. 50–65. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  8. 8.
    Chang, H., Collet, P.: Fine-grained Contract Negotiation for Hierarchical Software Components. In: EUROMICRO-SEAA 2005, Portugal. IEEE Computer Society Press, Los Alamitos (2005)Google Scholar
  9. 9.
    Smith, R.G.: The Contract Net Protocol: High-Level Communication and Control in a Distributed Problem Solver. IEEE Transactions on Computers 29, 1104–1113 (1980)CrossRefGoogle Scholar
  10. 10.
    White, S.R., Hanson, J.E., Whalley, I., Chess, D.M., Kephart, J.O.: An Architectural Approach to Autonomic Computing.. In: ICAC 2004, USA. IEEE Computer Society Press, Los Alamitos (2004)Google Scholar
  11. 11.
    Balogh, Z., Laclavík, M., Hluchý, L.: Model of Negotiation and Decision Support for Goods and Services. In: ASIS 2000, Czech Republic (2000)Google Scholar
  12. 12.
    Helm, R., Holland, I.M., Gangopadhyay, D.: Contracts: Specifying Behavioral compositions in Object-Oriented Systems. In: OOPSLA/ECOOP 1990, Canada (1990)Google Scholar
  13. 13.
    Frølund, S., Koistinen, J.: QML: A Language for Quality of Service Specification. Technical Report HPL-98-10, HP Lab (1998)Google Scholar
  14. 14.
    Loques, O., Sztajnberg, A.: Customizing Component-Based Architectures by Contract. In: Emmerich, W., Wolf, A.L. (eds.) CD 2004. LNCS, vol. 3083, pp. 18–34. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  15. 15.
    David, P.C., Ledoux, T.: Towards a Framework for Self-adaptive Component-Based Applications. In: Stefani, J.-B., Demeure, I., Hagimont, D. (eds.) DAIS 2003. LNCS, vol. 2893, pp. 1–14. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  16. 16.
    Göbel, S., Pohl, C., Aigner, R., Pohlack, M., Röttger, S., Zschaler, S.: The COMQUAD Component Container Architecture and Contract Negotiation. Technical report, Univ. Dresden (2004)Google Scholar
  17. 17.
    Liu, H., Parashar, M., Hariri, S.: A Component-Based Programming Model for Autonomic Applications. In: ICAC 2004. USA. IEEE Computer Society (2004)Google Scholar
  18. 18.
    Bennani, M.N., Menascé, D.A.: Assessing the Robustness of Self-Managing Computer Systems under Highly Variable Workloads. In: ICAC 2004, USA, IEEE Computer Society Press, Los Alamitos (2004)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Hervé Chang
    • 1
  • Philippe Collet
    • 1
  • Alain Ozanne
    • 2
  • Nicolas Rivierre
    • 2
  1. 1.I3S LaboratoryUniversity of Nice Sophia AntipolisSophia AntipolisFrance
  2. 2.France Telecom R&D DivisionMAPS/AMS LaboratoryIssy les MoulineauxFrance

Personalised recommendations