Скачать презентацию 1 FFSE Workshop Lisbon — March 2001 Coordination Скачать презентацию 1 FFSE Workshop Lisbon — March 2001 Coordination

7cf00a515dd842b70ec0c3f038a8e9f7.ppt

  • Количество слайдов: 11

1 FFSE Workshop Lisbon - March 2001 Coordination Contracts, Evolution and Tools Luís Andrade, 1 FFSE Workshop Lisbon - March 2001 Coordination Contracts, Evolution and Tools Luís Andrade, José Luiz Fiadeiro Joao Gouveia, University of Lisbon Georgios Koutsoukos [email protected] org Oblog Software SA landrade, jgouveia, [email protected] pt S O F T W A R E

The environment 2 • Traditional Business thrusts: Differentiation, Cost, Innovation, Growth, Alliances, Time. • The environment 2 • 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. S O F T W A R E

The problem 3 • How to make system development and maintenance scalable in the The problem 3 • 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? S O F T W A R E

“Traditional” OO approaches 4 • Useful for system construction-inadequate for systems’ evolution. Reasons: a. “Traditional” OO approaches 4 • Useful for system construction-inadequate for systems’ evolution. Reasons: a. b. S O If the behaviour of a component needs to be modified, the use of inheritance requires us to know, understand, and modify its internals. 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. F T W A R E

“Traditional” OO approaches • Therefore: a. b. S O Existing OO-based Systems are very “Traditional” OO approaches • Therefore: a. b. S O Existing OO-based Systems are very rarely adaptive to change. Existing tools that put in practice OO techniques provide limited support for software evolution. F T W A R E 5

What do we need ? 6 • Support the distinction between core domain objects What do we need ? 6 • 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). S O F T W A R E

What we propose • A semantic primitive – coordination contract – for superposing coordination What we propose • A semantic primitive – coordination contract – for superposing coordination mechanisms over objects without having to reprogram them. A contract specification: contract class participants constraints attributes operations coordination (request, condition, signal) with do (trigger request: before, replace, after) S O F T W A R E 7

What we propose • A design pattern for transforming contracts into the chosen implementation 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 generationadaptation. - A configuration tool that “deploys” activating and deactivating contracts. Analysis/Design Applicability both on Implementation and phases. S O F T W A R E 8

Contributions 9 • A primitive that allows for increased separation of the domain concepts Contributions 9 • 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. S O F T W A R E

Further work • Tool support for re-engineering components; • Security; • Performance; S O Further work • Tool support for re-engineering components; • Security; • Performance; S O F T W A R E 1 0

References • More information can be found in: – Andrade and Fiadeiro, “Interconnecting Objects 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, 317 -322. – 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. S O F T W A R E 1 1