| | | | Version: 1.0.22 Support Eclipse Version: 3.3 License: Free EPL Development Status: Production/Stable Company: Jens Dietrich, Massey University NZ
| |  | Home Page |  | Plugin Support |  | Discussion Forum | |
| | Update Site URL: http://treaty.googlecode.com/svn/trunk/treaty-eclipse-updatesite/site.xml |
Treaty is a pluggable contract framework for component models. Contracts between components describe the responsibilities of collaborating components. A good example for this is the collaboration between an Eclipse plugin (bundle) that has a (Java) interface and another plugin that has to supply an implementation class for this interface. Eclipse has some support for this kind of contract on board. However, there are other kinds of contracts. For instance, a component may provide an XML Schema and expects other components to supply an instance of this schema. Or it has requirements with respect to the semantics of methods implemented in a class that can be expressed with sets of pre- and post conditions (like in design-by-contract). Yet another example are quality of service contracts, for instance constraints w.r.t. time and memory consumed by a component providing a service.
Treaty can be used to express these constraints as precise contracts, and to verify component assemblies (like Eclipse configurations) against these contracts. Treaty contracts are non-invasive – a contract is a simple text file in the META-INF of the plugin. Treaty adds views to manage contracts, and a mechanism to aggregate contract vocabularies. Treaty also includes an example application.
Added on: 27-Aug-2008
|