Presentation is loading. Please wait.

Presentation is loading. Please wait.

R2PL, Pittsburgh November 10, 2005 Copyright © Fraunhofer IESE 2005 Identifying Domain-Specific Reusable Components from Existing OO Systems to Support.

Similar presentations


Presentation on theme: "R2PL, Pittsburgh November 10, 2005 Copyright © Fraunhofer IESE 2005 Identifying Domain-Specific Reusable Components from Existing OO Systems to Support."— Presentation transcript:

1 R2PL, Pittsburgh November 10, 2005 Copyright © Fraunhofer IESE 2005 Identifying Domain-Specific Reusable Components from Existing OO Systems to Support Product Line Migration Dharmalingam Ganesan ganesan@iese.fraunhofer.de ganesan@iese.fraunhofer.de Jens Knodel knodel@iese.fraunhofer.de knodel@iese.fraunhofer.de

2 Slide 1 R2PL, Pittsburgh November 10, 2005 Copyright © Fraunhofer IESE 2005 Identifying Domain-Specific Reusable Components from Existing OO Systems to Support Product Line Migration Motivation Challenges for software-developing organizations today -Need for reducing cost, effort, and time-to-market -Complexity and software size increases -Increasing request for quality software and individually customized products Reuse is a promising solution -Reusing existing software saves time and effort -Reusing approved software brings quality -Focusing on new functionality enables realization of individual requirements Software product lines stand for pro-active, strategic, and successful reuse

3 Slide 2 R2PL, Pittsburgh November 10, 2005 Copyright © Fraunhofer IESE 2005 Identifying Domain-Specific Reusable Components from Existing OO Systems to Support Product Line Migration Motivation … Most organizations already invested effort in developing single systems -We can not ignore the existing software and start a product line from scratch Systems consist of -Domain-specific components 65% -Application-specific components15% -Utility components 20% [Poulin 1997] Goal: -Identification of domain-specific components -Most-relevant for a product line  Large degree of commonality  Investment into reuse pays off

4 Slide 3 R2PL, Pittsburgh November 10, 2005 Copyright © Fraunhofer IESE 2005 Identifying Domain-Specific Reusable Components from Existing OO Systems to Support Product Line Migration Idea: Component Extraction Define Reusability Model Reusability Model Apply the model Component candidates Component Repository Select useful components Existing system Update model fact base Extract facts

5 Slide 4 R2PL, Pittsburgh November 10, 2005 Copyright © Fraunhofer IESE 2005 Identifying Domain-Specific Reusable Components from Existing OO Systems to Support Product Line Migration Factors Affecting Reusability

6 Slide 5 R2PL, Pittsburgh November 10, 2005 Copyright © Fraunhofer IESE 2005 Identifying Domain-Specific Reusable Components from Existing OO Systems to Support Product Line Migration Metrics Affecting Reusability Use existing validated OO metrics to measure quality, cost, and usefulness Automatic computation of metrics [Chidamber 1994]

7 Slide 6 R2PL, Pittsburgh November 10, 2005 Copyright © Fraunhofer IESE 2005 Identifying Domain-Specific Reusable Components from Existing OO Systems to Support Product Line Migration Mapping Metrics to Factors Reusability Usefulness Qualit y Costs Variety of functions Commonality offunction LCOMWMC CALL_IN CALL_USAGEOCAECNOCDIT NMPUB WMC NMPUB WMC LCOM

8 Slide 7 R2PL, Pittsburgh November 10, 2005 Copyright © Fraunhofer IESE 2005 Identifying Domain-Specific Reusable Components from Existing OO Systems to Support Product Line Migration Defining Reusability Model MetricMinimumMaximum NMPUBXX WMCXX LCOMX DITX NOCX CALL_INX OCAECX

9 Slide 8 R2PL, Pittsburgh November 10, 2005 Copyright © Fraunhofer IESE 2005 Identifying Domain-Specific Reusable Components from Existing OO Systems to Support Product Line Migration Approach 1.Goal Description 2.Setting up the fact base 3.Select metrics and choose its bounds 4.Identify candidates (classes) 5.Lightweight review by the reverse engineer 6.Review by the domain expert Assign type of classes (domain, application, utility) 7.Analyze classification -Filtering strategy -Selection strategy 8.Component building 9.Interface Analysis 10.Final decision and integration

10 Slide 9 R2PL, Pittsburgh November 10, 2005 Copyright © Fraunhofer IESE 2005 Identifying Domain-Specific Reusable Components from Existing OO Systems to Support Product Line Migration Case Study (1) Development of a family of IDEs (Integrated Develop Environment) for modeling product line architectures as an Eclipse Plug-in -Identify, extract, and reuse (and adapt) components from existing IDEs  Java Development Tools (JDT)  C/C++ Development Tool (CDT) -Examples:  Project management  Workspace management  Editor functionality

11 Slide 10 R2PL, Pittsburgh November 10, 2005 Copyright © Fraunhofer IESE 2005 Identifying Domain-Specific Reusable Components from Existing OO Systems to Support Product Line Migration Case Study (2) First iteration -Subject Eclipse JDT  org.eclipse.jdt.internal.core -Metrics boundaries  Average metric value to define the reusability model -Computation of class candidates  Review by expert -Expert review and assignment  Domain-Specific: Classes that can be reused in more than one project in the given domain  Application-Specific: Classes specific to a given application  Mixture: Implementation is a mixture of Domain-specific and Application-specific  Other: Unclear

12 Slide 11 R2PL, Pittsburgh November 10, 2005 Copyright © Fraunhofer IESE 2005 Identifying Domain-Specific Reusable Components from Existing OO Systems to Support Product Line Migration Case Study (3)

13 Slide 12 R2PL, Pittsburgh November 10, 2005 Copyright © Fraunhofer IESE 2005 Identifying Domain-Specific Reusable Components from Existing OO Systems to Support Product Line Migration Conclusion Achievements so far -Identification of domain-specific classes -First set of useful metrics Ongoing work -Case study with Eclipse -Construction of components based on domain-specific classes -Derivation on default boundaries for metrics

14 Slide 13 R2PL, Pittsburgh November 10, 2005 Copyright © Fraunhofer IESE 2005 Identifying Domain-Specific Reusable Components from Existing OO Systems to Support Product Line Migration Points for Discussion How to define a reusability model ? -How to choose bounds for metrics What other metrics are indicators for domain-specific classes? How to construct the domain-specific components from the identified classes ? How to keep manual effort for candidate review limited ? How to minimize the number of iterations for identifying the domain-specific components ?


Download ppt "R2PL, Pittsburgh November 10, 2005 Copyright © Fraunhofer IESE 2005 Identifying Domain-Specific Reusable Components from Existing OO Systems to Support."

Similar presentations


Ads by Google