Presentation is loading. Please wait.

Presentation is loading. Please wait.

Reuse Contracts A Historic Overview Dr. Tom Mens Programming Technology Lab Vrije Universiteit Brussel Course OOSE.RC EMOOSE 1999-2000.

Similar presentations


Presentation on theme: "Reuse Contracts A Historic Overview Dr. Tom Mens Programming Technology Lab Vrije Universiteit Brussel Course OOSE.RC EMOOSE 1999-2000."— Presentation transcript:

1 Reuse Contracts A Historic Overview Dr. Tom Mens Programming Technology Lab Vrije Universiteit Brussel Course OOSE.RC EMOOSE 1999-2000

2 February, 2000Programming Technology Lab, Vrije Universiteit Brussel Reuse Contracts (RCs) u Base class exchange in OO class hierarchies u C. Lucas: RCs for class collaborations u M. Mezini: Smalltalk tool support u K. De Hondt: Reverse engineering u RCs for UML collaboration diagrams u T. Mens: A formalism for RCs u T. Mens: RCs in UML metamodel u K. Mens: RCs for architectural evolution u T. Mens: Software merging n 1996 n 1997 n 1998 n 1999 n 2000

3 February, 2000Programming Technology Lab, Vrije Universiteit Brussel Publications about RCs n [Steyaert&al1996] P. Steyaert, C. Lucas, K. Mens, T. D’Hondt. Reuse contracts: managing the evolution of reusable assets. Proc. OOPSLA’96. n [Codenie&al1997] W. Codenie, K. De Hondt, P. Steyaert, A. Vercammen. From custom applications to domain-specific frameworks. Communications of the ACM. n [Mezini1997] M. Mezini. Maintaining the consistency of class libraries during their evolution. Proc. OOPSLA’97. n [Mens&al1998] T. Mens, C. Lucas, P. Steyaert. Supporting disciplined reuse and evolution of UML models. Proc. >’98. n [Mens&al2000] T. Mens, T. D’Hondt. Automating support for software evolution in UML. Automated Software Engineering Journal. n [Mens2000] T. Mens. Conditional graph rewriting as a domain- independent formalism for software evolution. Proc. Agtive’99.

4 February, 2000Programming Technology Lab, Vrije Universiteit Brussel PhD Dissertations about RCs n [Lucas1997] u C. Lucas. Documenting Reuse and Evolution with Reuse Contracts. PhD Dissertation. n [DeHondt1998] u K. De Hondt. A Novel Approach to Architectural Recovery in Evolving Object-Oriented Systems. PhD Dissertation. n [Mens1999] u T. Mens. A Formal Foundation for Object-Oriented Software Evolution. PhD Dissertation.

5 February, 2000Programming Technology Lab, Vrije Universiteit Brussel Dissertations about RCs n [Cornelis1997] u G. Cornelis. Reuse Contracts as a Modular System in Statically Typed Object-Oriented Languages. Dissertation. n [D’Hondt1998] u M. D’Hondt. Managing Evolution of Changing Software Requirements. Dissertation. n [Romero1999] u N. Romero. Managing Evolution of Software Architectures with Reuse Contracts. EMOOSE Dissertation. n [Arganaraz1999] u V. Arganaraz. Definition and validation of statically typed reuse contracts. EMOOSE Dissertation.

6 February, 2000Programming Technology Lab, Vrije Universiteit Brussel 1996 n Fragile base class problem u independently developed subclasses of a given base class can be broken when the base class evolves (base class exchange) n Reuse Contracts [Steyaert&al1996] u subdividing inheritance mechanism in more primitive operations (contract types) F extension, cancellation, refinement, coarsening u categorisation of conflicts upon base class exchange, based on primitive contract types n Contract clauses u use specialisation interfaces F client interfaces + self sends between methods A B CD EF A’

7 February, 2000Programming Technology Lab, Vrije Universiteit Brussel 1997 n Tools u Experiments with RCs in Smalltalk u Implementation of a reuse contract extractor (Koen De Hondt) to automatically generate reuse contracts from the code u Support for base class exchange in Smalltalk by means of metaprogramming (Mira Mezini)

8 February, 2000Programming Technology Lab, Vrije Universiteit Brussel 1997 ctd. n Problems u Previous approach too small scale. Only evolution of single classes. Need for dealing with collaborations of classes. u Need for more scalability, such as composite contract types. u Too implementation-oriented. Transfer the ideas to design phase. n PhD Dissertation [Lucas1997] u Reuse contracts for class collaborations F primitive contract types F evolution conflicts F composite contract types AB C A’B C’

9 February, 2000Programming Technology Lab, Vrije Universiteit Brussel 1998 n Reuse Contracts for UML u UML = standardised analysis and design notation (OMG, September 1997) u [Mens&al1998] shows how to integrate RC framework into UML n PhD Dissertation [De Hondt1998] u Reverse engineering: mechanism for (semi-) automatically recovering class collaborations from Smalltalk-code u Supported by a tool in Smalltalk

10 February, 2000Programming Technology Lab, Vrije Universiteit Brussel 1999 n Problems u No general underlying formalism for reuse contracts. n PhD Dissertation [Mens1999] u Underlying formal foundation for reuse contracts F based on conditional graph rewriting F extension of existing ideas on RCs F customisable to many different areas n Tools u Domain-independent tool for detecting evolution conflicts, implemented in PROLOG

11 February, 2000Programming Technology Lab, Vrije Universiteit Brussel 2000 n Reuse contracts for Software Merging u Three-way u Syntactic and Semantic Merging u Operation-based / Change-based n Validation of RCs in industrial case

12 February, 2000Programming Technology Lab, Vrije Universiteit Brussel To Do n Validation of RCs in real case u Scalability u Classification of evolution conflicts according to severity. n Applying RCs to new domains u RCs for traceability F analysis->design->implementation u RCs for non-OO paradigms u RCs for distributed programming, real time programming, workflow, AOP, … n Reuse and evolution metrics based on RCs

13 February, 2000Programming Technology Lab, Vrije Universiteit Brussel To Do ctd. n Support for RCs u CASE Tool support (with UML) F Rational Rose, SELECT,... u Language Support F Smalltalk, C++, Java u Methodology Support F Integration of RCs in full-fledged methodology n Extension of RC formalism u Generic Reuse Contracts u More behavioural information F Ordering of dependencies, … u Conflict resolution strategies u RC operations for composition/decomposition


Download ppt "Reuse Contracts A Historic Overview Dr. Tom Mens Programming Technology Lab Vrije Universiteit Brussel Course OOSE.RC EMOOSE 1999-2000."

Similar presentations


Ads by Google