Documenting Evolving Software Systems through Reuse Contracts - PowerPoint PPT Presentation

About This Presentation
Title:

Documenting Evolving Software Systems through Reuse Contracts

Description:

OOPSLA'96 Workshop on Object-Oriented Software Evolution and Reengineering. ... Mailing list: (also see homepage) e-mail: majordomo_at_cs.vub.ac.be. in body: ... – PowerPoint PPT presentation

Number of Views:16
Avg rating:3.0/5.0
Slides: 12
Provided by: kimm55
Category:

less

Transcript and Presenter's Notes

Title: Documenting Evolving Software Systems through Reuse Contracts


1
Documenting Evolving Software Systems through
Reuse Contracts
  • Kim Mens
  • Patrick Steyaert Carine Lucas
  • Programming Technology Lab,
  • Vrije Universiteit Brussel

OOPSLA96 Workshop on Object-Oriented Software
Evolution and Reengineering. Monday, 7 October
1996.
2
Managing Evolution
How to cope with change and evolution ?
Managing Evolution of software systems
Managing Dependencies between system parts
Minimise Dependencies
Document Dependencies Reuse Contracts
3
Managing Dependencies
local changes
evolution
evolution
change
propagation
Most changes have local impact,
but ... ... some changes cannot be kept local.
Minimise dependencies
Document dependencies
4
Minimising Dependencies
How to cope with change and evolution? Minimise
dependencies between system parts!
Evolution
local changes
Most changes have local impact.
BUT ...
5
Documenting Dependencies
Some changes cannot be kept local.
Evolution
Need for documentation of dependencies.
propagation of change
change
6
Reuse Contracts Documenting Evolving Software
Systems.
Documenting dependencies Which parts depend
on which other parts? ? where will problems
occur? How do they depend on each other? ?
what is the problem? ? how can it be solved?
7
Evolution in Class Hierarchies
Case Study
parent class exchange
Abstract A
Abstract A
?
SubClass B
SubClass B
SubClass C
SubClass C
Need for documentation of dependencies
8
Conflicts Inconsistent Methods
Set
OptimizedSet
add(Element)
add(Element)
addAll(Set)
addAll(Set)
CountingSet
CountingSet
count1
count1
add(Element)
add(Element)
addAll(Set)
addAll(Set)
Not all elementsare counted
9
Detecting Conflicts
  • Coarsening
  • addAll(Set) -add

Set
OptimizedSet
add(Element)
add(Element)
addAll(Set)
addAll(Set) add
  • Concretisation
  • add
  • Concretisation
  • add

CountingSet
CountingSet
add(Element)
add(Element)
inconsistent method conflict for add and addAll
10
Environmental Tool Support
reuse contract
implementation
Change
add(El)
unstable design
addAll(Set)
synchronisation
add(El)
addAll(Set)
Warning !
Synchronisation reuse contracts ?
implementation Detection of problems when
changes are made (PROLOG) Extraction of reuse
contracts from code (Smalltalk)
11
More about Reuse Contracts
  • OOPSLA96 Technical Paper
  • Reuse Contracts Managing the Evolution of
    Reusable Assets
  • Wednesday, 9 October 1996, 1130 am
  • Home page
  • http//progwww.vub.ac.be/prog/pools/rcs/rc.html
  • Mailing list (also see homepage)
  • e-mail majordomo_at_cs.vub.ac.be
  • in body subscribe reuse
Write a Comment
User Comments (0)
About PowerShow.com