Reuse Contracts - PowerPoint PPT Presentation

About This Presentation
Title:

Reuse Contracts

Description:

extension, cancellation, refinement, coarsening ... Implementation of a reuse contract extractor (Koen De Hondt) to automatically ... – PowerPoint PPT presentation

Number of Views:54
Avg rating:3.0/5.0
Slides: 14
Provided by: mens6
Category:

less

Transcript and Presenter's Notes

Title: Reuse Contracts


1
Reuse Contracts
  • A Historic Overview

Dr. Tom Mens Programming Technology Lab Vrije
Universiteit Brussel Course OOSE.RC EMOOSE
1999-2000
2
Reuse Contracts (RCs)
  • Base class exchange in OO class hierarchies
  • C. Lucas RCs for class collaborations
  • M. Mezini Smalltalk tool support
  • K. De Hondt Reverse engineering
  • RCs for UML collaboration diagrams
  • T. Mens A formalism for RCs
  • T. Mens RCs in UML metamodel
  • K. Mens RCs for architectural evolution
  • T. Mens Software merging
  • 1996
  • 1997
  • 1998
  • 1999
  • 2000

3
Publications about RCs
  • Steyaertal1996 P. Steyaert, C. Lucas, K. Mens,
    T. DHondt. Reuse contracts managing the
    evolution of reusable assets. Proc. OOPSLA96.
  • Codenieal1997 W. Codenie, K. De Hondt, P.
    Steyaert, A. Vercammen. From custom applications
    to domain-specific frameworks. Communications of
    the ACM.
  • Mezini1997 M. Mezini. Maintaining the
    consistency of class libraries during their
    evolution. Proc. OOPSLA97.
  • Mensal1998 T. Mens, C. Lucas, P. Steyaert.
    Supporting disciplined reuse and evolution of UML
    models. Proc. ltltUMLgtgt98.
  • Mensal2000 T. Mens, T. DHondt. Automating
    support for software evolution in UML. Automated
    Software Engineering Journal.
  • Mens2000 T. Mens. Conditional graph rewriting
    as a domain-independent formalism for software
    evolution. Proc. Agtive99.

4
PhD Dissertations about RCs
  • Lucas1997
  • C. Lucas. Documenting Reuse and Evolution with
    Reuse Contracts. PhD Dissertation.
  • DeHondt1998
  • K. De Hondt. A Novel Approach to Architectural
    Recovery in Evolving Object-Oriented Systems. PhD
    Dissertation.
  • Mens1999
  • T. Mens. A Formal Foundation for Object-Oriented
    Software Evolution. PhD Dissertation.

5
Dissertations about RCs
  • Cornelis1997
  • G. Cornelis. Reuse Contracts as a Modular System
    in Statically Typed Object-Oriented Languages.
    Dissertation.
  • DHondt1998
  • M. DHondt. Managing Evolution of Changing
    Software Requirements. Dissertation.
  • Romero1999
  • N. Romero. Managing Evolution of Software
    Architectures with Reuse Contracts. EMOOSE
    Dissertation.
  • Arganaraz1999
  • V. Arganaraz. Definition and validation of
    statically typed reuse contracts. EMOOSE
    Dissertation.

6
1996
  • Fragile base class problem
  • independently developed subclasses of a given
    base class can be broken when the base class
    evolves (base class exchange)
  • Reuse Contracts Steyaertal1996
  • subdividing inheritance mechanism in more
    primitive operations (contract types)
  • extension, cancellation, refinement, coarsening
  • categorisation of conflicts upon base class
    exchange, based on primitive contract types
  • Contract clauses
  • use specialisation interfaces
  • client interfaces self sends between methods

7
1997
  • Tools
  • Experiments with RCs in Smalltalk
  • Implementation of a reuse contract extractor
    (Koen De Hondt) to automatically generate reuse
    contracts from the code
  • Support for base class exchange in Smalltalk by
    means of metaprogramming (Mira Mezini)

8
1997 ctd.
  • Problems
  • Previous approach too small scale. Only evolution
    of single classes. Need for dealing with
    collaborations of classes.
  • Need for more scalability, such as composite
    contract types.
  • Too implementation-oriented. Transfer the ideas
    to design phase.
  • PhD Dissertation Lucas1997
  • Reuse contracts for class collaborations
  • primitive contract types
  • evolution conflicts
  • composite contract types

9
1998
  • Reuse Contracts for UML
  • UML standardised analysis and design notation
    (OMG, September 1997)
  • Mensal1998 shows how to integrate RC framework
    into UML
  • PhD Dissertation De Hondt1998
  • Reverse engineering mechanism for (semi-)
    automatically recovering class collaborations
    from Smalltalk-code
  • Supported by a tool in Smalltalk

10
1999
  • Problems
  • No general underlying formalism for reuse
    contracts.
  • PhD Dissertation Mens1999
  • Underlying formal foundation for reuse contracts
  • based on conditional graph rewriting
  • extension of existing ideas on RCs
  • customisable to many different areas
  • Tools
  • Domain-independent tool for detecting evolution
    conflicts, implemented in PROLOG

11
2000
  • Reuse contracts for Software Merging
  • Three-way
  • Syntactic and Semantic Merging
  • Operation-based / Change-based
  • Validation of RCs in industrial case

12
To Do
  • Validation of RCs in real case
  • Scalability
  • Classification of evolution conflicts according
    to severity.
  • Applying RCs to new domains
  • RCs for traceability
  • analysis-gtdesign-gtimplementation
  • RCs for non-OO paradigms
  • RCs for distributed programming, real time
    programming, workflow, AOP,
  • Reuse and evolution metrics based on RCs

13
To Do ctd.
  • Support for RCs
  • CASE Tool support (with UML)
  • Rational Rose, SELECT, ...
  • Language Support
  • Smalltalk, C, Java
  • Methodology Support
  • Integration of RCs in full-fledged methodology
  • Extension of RC formalism
  • Generic Reuse Contracts
  • More behavioural information
  • Ordering of dependencies,
  • Conflict resolution strategies
  • RC operations for composition/decomposition
Write a Comment
User Comments (0)
About PowerShow.com