A contracting system for hierarchical components

This article presents the contracting system ConFract for the open and hierarchical component model Fractal. Contracts are dynamically built from specifications, currently executable assertions, at assembly times, and are updated according to dynamic reconfigurations. These contracts are not restricted to the scope of interfaces, taken separately. On the contrary, new kinds of composition contracts can be built in order to associate several external interfaces of a component, providing an “usage contract”, or several interfaces inside the component, providing an “assembly and implementation contract”. All these contracts identify fine-grained responsibilities and developers can thus easily organize the handling of contract violations and the resulting reconfigurations.

[1]  Bernhard Rumpe,et al.  Behavioral Specifications of Businesses and Systems , 1999, Behavioral Specifications of Businesses and Systems.

[2]  Len Bass,et al.  Technical Concepts of Component-Based Software Engineering, Volume 2 , 2000 .

[3]  하수철,et al.  [서평]「Component Software」 - Beyond Object-Oriented Programming - , 2000 .

[4]  Jean-Marc Jézéquel,et al.  Extra-Functional Contract Support in Components , 2004, CBSE.

[5]  David Garlan,et al.  A formal basis for architectural connection , 1997, TSEM.

[6]  Claus Pahl Components, Contracts, and Connectors for the Unified Modelling Language UML , 2001, FME.

[7]  Wolfram Schulte,et al.  Runtime verification of .NET contracts , 2003, J. Syst. Softw..

[8]  Thomas A. Henzinger,et al.  Interface automata , 2001, ESEC/FSE-9.

[9]  Thierry Coupaye,et al.  An Open Component Model and Its Support in Java , 2004, CBSE.

[10]  Ian M. Holland,et al.  Contracts: specifying behavioral compositions in object-oriented systems , 1990, OOPSLA/ECOOP '90.

[11]  Bertrand Meyer,et al.  Applying 'design by contract' , 1992, Computer.

[12]  Walter Mann,et al.  Correction to "Specification and Analysis of System Architecture Using Rapide" , 1995, IEEE Trans. Software Eng..

[13]  Philippe Collet,et al.  Efficient Implementation Techniques for Advanced Assertion Languages , 1999, Obj. Logiciel Base données Réseaux.

[14]  Matthias Felleisen,et al.  Contract Soundness for object-oriented languages , 2001, OOPSLA '01.

[15]  Christian Becker,et al.  Generic QoS Specifications for CORBA , 1999, Kommunikation in Verteilten Systemen.

[16]  Jari Koistinen,et al.  Quality of services specification in distributed object systems design , 1998 .

[17]  José Nuno Oliveira,et al.  FME 2001: Formal Methods for Increasing Software Productivity , 2001, Lecture Notes in Computer Science.

[18]  Desmond D'Souza,et al.  Objects, Components, and Frameworks with UML: The Catalysis Approach , 1998 .

[19]  MeyerBertrand,et al.  Design by Contract , 1997 .

[20]  Santiago Comella-Dorda,et al.  Volume II: Technical Concepts of Component-Based Software Engineering , 2000 .

[21]  Reinhold Plösch,et al.  Evaluation of Assertion Support for the Java Programming Language , 2002, J. Object Technol..

[22]  Frantisek Plasil,et al.  Behavior Protocols for Software Components , 2002, IEEE Trans. Software Eng..

[23]  Christian Becker,et al.  A UML Meta-model for Contract Aware Components , 2001, UML.

[24]  R. Ulusay,et al.  Object Constraint Language Specification , 1997 .

[25]  Alexandre Sztajnberg,et al.  Customizing Component-Based Architectures by Contract , 2004, Component Deployment.

[26]  Albert L. Baker,et al.  JML: A Notation for Detailed Design , 1999, Behavioral Specifications of Businesses and Systems.

[27]  Dimitra Giannakopoulou,et al.  Behaviour Analysis of Software Architectures , 1999, WICSA.

[28]  Tom Ritter,et al.  A QoS metamodel and its realization in a CORBA component , 2003, 36th Annual Hawaii International Conference on System Sciences, 2003. Proceedings of the.