Analysing Object Oriented Framework Reuse using Concept Analysis - PowerPoint PPT Presentation

1 / 8
About This Presentation
Title:

Analysing Object Oriented Framework Reuse using Concept Analysis

Description:

Analysing Object Oriented Framework Reuse using Concept Analysis. Gabriela Ar valo ... Use of Concept Analysis: 'groups of elements based on their properties' Example ... – PowerPoint PPT presentation

Number of Views:120
Avg rating:3.0/5.0
Slides: 9
Provided by: gabriela46
Category:

less

Transcript and Presenter's Notes

Title: Analysing Object Oriented Framework Reuse using Concept Analysis


1
Analysing Object Oriented Framework Reuse using
Concept Analysis
  • Gabriela Arévalo
  • SCG - University of Bern
  • Tom Mens
  • PROG Lab - Vrije Universiteit Brussels
  • ECOOP 2002 Inheritance Workshop

2
Understanding an object oriented inheritance
hierarchy
  • Behaviour and structure reuse
  • Interface and Inheritance relationships
  • Problems
  • number of classes is large
  • inheritance hierarchy is deep
  • Use of Concept Analysis groups of elements
    based on their properties

3
Example
  • B and C have a similar structure
  • B and C calls m3 defined in A via a super
  • B and C define m2 and m4 ( abstract in A)

4
Use of Concept Analysis
A
  • Groups of elements based on their properties
  • Experiments
  • Elements selector called in class
  • Properties
  • Selector called via a self super
  • Implementor class concrete abstract
  • Sender and implementor ancestor descendant
    internal
  • Analysis of Magnitude hierarchy

m1 ... ... self m2
B
m2 ... m3 ... ... super m1 ...
self m3
5
Pattern 1 Self send captured in the same class
  • expanded, depth, parent
  • Called via self in class AssocTreeWithParent
  • Concrete implementation
  • Sender and implementor are the same class
  • Internal interface
  • Class-specific behavior

AssocTreeWithParent
expanded ltconcretegt depth ltconcretegt parent
ltconcretegt ... self expanded ... self
depth ... self parent
6
Pattern 5 Self send captured locally with super
delegation
  • ?, ?
  • Called via self and super in class SmallInteger
  • Concrete implementation in Magnitude and
    SmallInteger
  • Sender and implementor are the same class and an
    ancestor
  • Delegation between methods in the same class and
    with the superclass

Magnitude
? ltconcretegt ? ltconcretegt
SmallInteger
  • ? super ?
  • super ?
  • ... self ?
  • ... self ?

7
Pattern 6 Template and hook methods
  • digitAt, digitLength
  • Called via self in Integer
  • Abstract implementation in Integer
  • Concrete implementation in SInteger and LInteger
  • Sender and implementor are the same class and an
    descendant

Integer
digitAt ltabstractgt digitLength
ltabstractgt ... self digitAt ... ... self
digitLength
  • Hot spots Template and hook methods

8
Conclusions Future Work
  • Concept patterns identify non-documented
    relationships about how classes and methods are
    reused
  • Provide guidelines on how an object oriented
    frmwk can be customized or reused
  • Detect different types of inheritance interface
    implementation
  • Identify potential impact of changes to framework
    classes
  • Identify opportunities for refactoring
Write a Comment
User Comments (0)
About PowerShow.com