Composition Problems, Causes and Solutions - PowerPoint PPT Presentation

1 / 18
About This Presentation
Title:

Composition Problems, Causes and Solutions

Description:

SE may only get the compiled code or the source code is too complex to be analyzed. ... Wrapper: intercept inter-framework messages. Remove and rewrite ... – PowerPoint PPT presentation

Number of Views:47
Avg rating:3.0/5.0
Slides: 19
Provided by: luyin
Category:

less

Transcript and Presenter's Notes

Title: Composition Problems, Causes and Solutions


1
Composition Problems, Causes and
Solutions Luyin Zhao J.D.Edwards Program
2
Problem Introduction
  • Traditionally
  • Development is based on single framework
  • Frameworks are designed for extension

Bring About
  • Framework Composition Problems
  • Composition of framework control
  • Composition with legacy components
  • Framework gap
  • Overlap of framework entities
  • Composition of entity functionality

3
Problem 1Composition of Framework Control
Application Code
Controls invokes
Measurement system framework
GUI framework
Calling Frameworks
4
Problem 2 Composition with Legacy Components
  • Lack of domain-specific behavior
  • Adopt legacy system
  • Consequence
  • Incompatibility between framework and legacy
    system, such as class name confliction

5
Problem 3 Framework Gap
  • Two frameworks are non-overlap and the composed
    structure is lack of functionality.
  • Consequence
  • If the framework is a called framework
  • Wrapping Approach
  • If the framework is a calling framework
  • Complex mediating software is needed

6
Problem 4 Composition Overlap of Framework
Entities
It is possible that multiple frameworks contain
the representations of the same real-world
entity. Consequence Composition becomes complex
when different representations influence each
other
7
Problem 5 Composition of Entity Functionality
Real world entity involves functionalities from
different frameworks Consequence No simple way
to achieve only by composing respective classes
8
Problem 6 Architectural mismatches
Two or more integrated frameworks with different
architectural styles fail to interoperate even
the integration of these systems makes sense from
an application-domain perspective.
9
Underlying Causes
  • Framework cohesion
  • Framework classes have cohesive behavior, which
    is tightly coupled with entities inside
    framework. it is difficult for outside classes to
    gain this behavior

10
Underlying Causes
  • Domain Coverage
  • Lack of domain scope standards. It may cause no
    domain overlap, little domain overlap and
    considerable domain overlap among frameworks.

11
Underlying Causes
  • Design Intention
  • The design for most frameworks is for reuse by
    extension and one-way communication. Several
    issues regarding framework composition were not
    considered in design.

12
Underlying Causes
  • Access To Source Code
  • SE may only get the compiled code or the source
    code is too complex to be analyzed.
  • Even wrapper could not solve some problems in
    framework composition

13
Solutions for problem 1
  • Integrate framework control (change event loops
    in the frameworks).
  • Concurrency
  • Framework has own control thread
  • Wrapping
  • Wrapper intercept inter-framework messages
  • Remove and rewrite
  • Change some control loop (need source code)

14
Solutions for problem 2
  • Adapter design pattern
  • Methods in adapter forward request to the
    equivalent methods in the legacy class
  • Change framework
  • Change part of framework related with legacy
    class
  • Roles
  • Represent the frameworks reuse interface as a
    set of roles. Then fill the roles with classes
    related to the framework or existing legacy
    classes

15
Solutions for problem 3
  • Wrapping
  • Extend the missing functionality of a called
    framework through additional API
  • Mediating software
  • Manage interaction and extend functionalities
    to fill the gap
  • Redesign and extend
  • Need source code

16
Solutions for problem 4
  • Multiple inheritance
  • take care of updates and conversions between
    different entity representations of two
    frameworks.
  • Aggregation
  • Contain every entity representations as parts
  • Subclassing and aggregation
  • Subclass each framework classes representing
    real-world entity, then aggregate them into an
    additional aggregate class
  • Subject orientation

17
Solutions for problem 5
  • Aggregation or multiple inheritance
  • Compose the framework classes with the required
    functionality into a single class
  • Observer design pattern
  • Domain-specific class can be extended with
    notification behavior through Observer design
    pattern

18
Solutions for Problem 6
  • Modifying or changing architectural components.
  • Possible negative impacts, need source code
  • Wrapping
  • Introducing multilingual framework components.
  • Interface adaptation and interface
    standardization
Write a Comment
User Comments (0)
About PowerShow.com