Presentation is loading. Please wait.

Presentation is loading. Please wait.

Coordination Contracts, Evolution and Tools

Similar presentations


Presentation on theme: "Coordination Contracts, Evolution and Tools"— Presentation transcript:

1 Coordination Contracts, Evolution and Tools
FFSE Workshop Lisbon - March 2001 Coordination Contracts, Evolution and Tools Luís Andrade, José Luiz Fiadeiro Joao Gouveia, University of Lisbon Georgios Koutsoukos Oblog Software SA

2 The environment Traditional Business thrusts: Differentiation, Cost, Innovation, Growth, Alliances, Time. Today’s integration of Business and IT Strategies Direct impact on Information systems development. Systems must provide different services, by making innovative use of technological advances and be easily integrated with other systems to support business alliances. All these are supposed to happen very quickly and at low cost. Consequence: Software evolution is a critical concern.

3 The problem How to make system development and maintenance scalable in the context of highly volatile application domains? How to accommodate the changes required by new or different application needs with minimal impact on the implemented services?

4 “Traditional” OO approaches
Useful for system construction-inadequate for systems’ evolution. Reasons: a. If the behaviour of a component needs to be modified, the use of inheritance requires us to know, understand, and modify its internals. b. The use of clientship leads to systems in which the interactions are not available as first-class citizens but, instead, coded in the way messages are sent and features are called.

5 “Traditional” OO approaches
Therefore: a. Existing OO-based Systems are very rarely adaptive to change. b. Existing tools that put in practice OO techniques provide limited support for software evolution.

6 What do we need ? Support the distinction between core domain objects and the rules that coordinate their behaviour. Make business rules first-class citizens and allow them to be added or replaced without having to change the way core objects are implemented (i.e. make evolution compositional wrt the application domain).

7 What we propose A semantic primitive – coordination contract – for superposing coordination mechanisms over objects without having to reprogram them. A contract specification: contract class <name> participants <objects related by the contract> constraints <the invariants the participants should satisfy> attributes <attributes private to the contract> operations <operations private to the contract> coordination <interaction with partners><when <trigger> (request, condition, signal) with <condition> do<set of actions> (trigger request: before,replace,after)

8 What we propose A design pattern for transforming contracts into the chosen implementation platforms. It allows for contracts to intercept calls or detect conditions on objects and superpose whatever forms of behaviour they prescribe. A tool that puts coordination contracts in practice: - Specification of contracts and registration of components. - Automated implementation of the pattern by code generation- adaptation. - A configuration tool that “deploys” activating and deactivating contracts. Applicability on both Analysis/Design and Implementation phases.

9 Contributions A primitive that allows for increased separation of the domain concepts from the business rules that regulate their behaviour. Support for evolution and reuse. Support for different levels of change, reflecting the evolution of the domain: Flexible mechanisms for inheritance of behaviour; Separation of coordination from computation. Coordination features available as first-class citizens; A pattern and a tool that puts the contracts concepts in practice.

10 Further work Tool support for re-engineering components; Security;
Performance;

11 References More information can be found in:
Andrade and Fiadeiro, “Interconnecting Objects via Contracts”, Proc. UML’99, Springer-Verlag 1999 L.Andrade and J.Fiadeiro, “Coordination: the evolutionary dimension”, in Proc. TOOLS Europe 2001, Prentice-Hall, in print. L.F Andrade and J.Fiadeiro, “Evolution by Contract”, position paper presented at the ECOOP'00 Workshop on Object-Oriented Architectural Evolution. L.F.Andrade, J.L.Fiadeiro, J.Gouveia, A.Lopes and M.Wermelinger, "Patterns for Coordination", in Coordination Languages and Models, G.Catalin-Roman and A.Porto (eds), LNCS 1906, Springer-Verlag 2000, J.Gouveia, G.Koutsoukos, L.Andrade and J.Fiadeiro, “Tool Support for Coordination-Based Software Evolution”, in Proc. TOOLS Europe 2001, Prentice-Hall, in print.


Download ppt "Coordination Contracts, Evolution and Tools"

Similar presentations


Ads by Google