22
FORM : A feature-oriented reuse method with domain-specific reference architectures Kyo C. Kang, Sajoong Kim, Jaejoon Lee, Kijoo Kim, Euiseob Shin and Moonhang Huh Annals of Software Engineering (1998) 2010-08-18 Park Bum Seok KAIST SE LAB 2010

SE LAB | KAIST - FORM Feature Oriented Reuse Method with …se.kaist.ac.kr/wp-content/uploads/2013/02/20.FORM... · 2013. 2. 13. · component New Application Feature selection Using

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SE LAB | KAIST - FORM Feature Oriented Reuse Method with …se.kaist.ac.kr/wp-content/uploads/2013/02/20.FORM... · 2013. 2. 13. · component New Application Feature selection Using

FORM : A feature-oriented reuse method with domain-specific

reference architecturesKyo C. Kang, Sajoong Kim, Jaejoon Lee,

Kijoo Kim, Euiseob Shin and Moonhang Huh

Annals of Software Engineering (1998)

2010-08-18Park Bum Seok

ⓒ KAIST SE LAB 2010

Page 2: SE LAB | KAIST - FORM Feature Oriented Reuse Method with …se.kaist.ac.kr/wp-content/uploads/2013/02/20.FORM... · 2013. 2. 13. · component New Application Feature selection Using

Contents

2/21ⓒ KAIST SE LAB 2010

vIntroductionvBackgroundvRelated workvFeature oriented reuse method

§ Domain engineering§ Application engineering

vConclusionvDiscussion

Page 3: SE LAB | KAIST - FORM Feature Oriented Reuse Method with …se.kaist.ac.kr/wp-content/uploads/2013/02/20.FORM... · 2013. 2. 13. · component New Application Feature selection Using

Pool

Introduction(1/2)

vReuse of software artifact§ One of the most promising solutions to the “software

crisis”vGeneral software reuse environment

3/21ⓒ KAIST SE LAB 2010

Library A

Library B

Component A

Component BDevelopers

Expect to be reusedSometime by someone

Create

Developers

SearchStore Use

How to make reuse systematically and effectively?

No specificationto create reuse modules

No specificationfor using reuse module

Page 4: SE LAB | KAIST - FORM Feature Oriented Reuse Method with …se.kaist.ac.kr/wp-content/uploads/2013/02/20.FORM... · 2013. 2. 13. · component New Application Feature selection Using

Introduction(2/2)

vPrevious research for systematic reuse§ Feature oriented domain analysis (FODA)

• Focus on creating reusable assets• No systematic method how to use reusable assets

vResearch goal§ Introduction of effective and explicit software reuse

method and process extends FODA• Method to create reusable software artifact effectively• Method to develop new application from reusable artifacts

4/21ⓒ KAIST SE LAB 2010

Feature Oriented Reuse Method (FORM)

Page 5: SE LAB | KAIST - FORM Feature Oriented Reuse Method with …se.kaist.ac.kr/wp-content/uploads/2013/02/20.FORM... · 2013. 2. 13. · component New Application Feature selection Using

Background (1/3)

vFeature§ Definition

• Informally essential characteristics of applications in a domain– Services or functions provided by the system– Domain technologies– Implementation techniques

• From other paper– An end user visible characteristic of a system– Distinguishable characteristic of a concept that is relevant to

some stakeholder of the concept• Genus of feature is ‘characteristic’

§ Abstraction that both customers and developers understand è can be used for requirement engineering

§ Two groups : Functional and non-functional features5/21ⓒ KAIST SE LAB 2010

Page 6: SE LAB | KAIST - FORM Feature Oriented Reuse Method with …se.kaist.ac.kr/wp-content/uploads/2013/02/20.FORM... · 2013. 2. 13. · component New Application Feature selection Using

Background (2/3)

6/21

vDomain§ Definition

• A family of related systems

§ Domain analysis• Definition

– Examining a family of related systems and extracting the ‘commonalities and differences’ of these systems

• Feature oriented domain analysis– Doing domain analysis based on features

§ Domain engineering• Definition

– Using analysis results to create a set of reference models » Creating reusable software architectures and components

ⓒ KAIST SE LAB 2010

Page 7: SE LAB | KAIST - FORM Feature Oriented Reuse Method with …se.kaist.ac.kr/wp-content/uploads/2013/02/20.FORM... · 2013. 2. 13. · component New Application Feature selection Using

Background (3/3)

vFeature model§ Definition

• The model constructed during the analysis which represents relationships between features as an AND/OR graph

§ Introduced from FODA§ Characteristics

• Communication languageamong stakeholders

• Easy to capture commonality& difference of applicationson feature oriented models

• Representative of application

7/21ⓒ KAIST SE LAB 2010 < Feature model >

Page 8: SE LAB | KAIST - FORM Feature Oriented Reuse Method with …se.kaist.ac.kr/wp-content/uploads/2013/02/20.FORM... · 2013. 2. 13. · component New Application Feature selection Using

Related work

8/21ⓒ KAIST SE LAB 2010

vFODA§ Purpose

• Introduce development method that creates reusable assets

§ Feature model is introduced & take a key role to identify commonalities and to generate architecture model

§ Limitation• No systematic method about how to use reusable assets

vFORM§ Purpose

• Introduce method of creating a set of reusable assets and also developing new application from the assets

§ Feature model is revised and upgraded to cover non-functional features and to support detailed architecture

Page 9: SE LAB | KAIST - FORM Feature Oriented Reuse Method with …se.kaist.ac.kr/wp-content/uploads/2013/02/20.FORM... · 2013. 2. 13. · component New Application Feature selection Using

FORM (1/11)

vHow to create artifacts effectively for reuse?§ Issues for high reusability

• The more commonality• The more accurate specifications ( ex. interface, scope)• The more architectural information ( ex. where to use)

§ Proposed approaches for this issues• Applications in a same domain can have more commonalities

– Domain-specific• To extract commonalities easily can make artifacts more

reusable– Feature-oriented

• Matching information between architecture and component and Standard architectures are helpful for reuse

– Reference architecture and component

9/21ⓒ KAIST SE LAB 2010

Page 10: SE LAB | KAIST - FORM Feature Oriented Reuse Method with …se.kaist.ac.kr/wp-content/uploads/2013/02/20.FORM... · 2013. 2. 13. · component New Application Feature selection Using

FORM (2/11)

vFeature Oriented Reuse Method (FORM)§ Systematic method that focuses on capturing

commonalities and difference of applications in a domain in terms of “features” and using the analysis result to develop domain architectures and components

10/21ⓒ KAIST SE LAB 2010

ReferenceArchitectures

&Reusable

ComponentsApplications

ApplicationsApplications

Application AIn domain

Application BIn domain

Application CIn domain

Application DIn domain < Basic concept of FORM > Process Product

Feature OrientedDomain

Engineering

Feature Model

CreateAffect

Page 11: SE LAB | KAIST - FORM Feature Oriented Reuse Method with …se.kaist.ac.kr/wp-content/uploads/2013/02/20.FORM... · 2013. 2. 13. · component New Application Feature selection Using

FORM (3/11)

11/21ⓒ KAIST SE LAB 2010

FORM Domain Engineering

FORM Application Engineering

FeatureModel

ReferenceArchitecture

ReusableComponent

DomainAnalysis

ReferenceArchitectureDevelopment

ReusableComponent

Development

FeatureSelection

Spec

ApplicationSoftware

UserRequirement

Analysis

ApplicationArchitecture

selection

ApplicationSoftware

Development

System

Model

Process M

odel

Module

Model

Process Product Model reuse Feed back

vEngineering process

< FORM engineering process >

Page 12: SE LAB | KAIST - FORM Feature Oriented Reuse Method with …se.kaist.ac.kr/wp-content/uploads/2013/02/20.FORM... · 2013. 2. 13. · component New Application Feature selection Using

FORM (4/11)

vDomain engineering§ Purpose

• Analyzing systems for commonalities and differences• Creating feature model• Creating reference architectures and reusable components

§ Three phases• Context analysis

– Identification of scope of domain and intended use of the domain• Domain (or feature) modeling

– Identifying user understandable features on target domain– Constructing ‘feature model’ that represents features’

interrelationships during analysis• Architecture (or component) modeling

– Construction of reference architectures and components

12/21ⓒ KAIST SE LAB 2010

FORM Domain Engineering

FeatureModel

ReferenceArchitecture

ReusableComponent

DomainAnalysis

ReferenceArchitectureDevelopment

ReusableComponent

Development

Page 13: SE LAB | KAIST - FORM Feature Oriented Reuse Method with …se.kaist.ac.kr/wp-content/uploads/2013/02/20.FORM... · 2013. 2. 13. · component New Application Feature selection Using

FORM (5/11)

vFORM feature model

13/21ⓒ KAIST SE LAB 2010 < Form feature model >

§ Revised feature model• For non functional feature

§ Four layers• Capability or Service • Operating environment• Domain technology• Implementation technique

FORM Domain Engineering

FeatureModel

ReferenceArchitecture

ReusableComponent

DomainAnalysis

ReferenceArchitectureDevelopment

ReusableComponent

Development

Page 14: SE LAB | KAIST - FORM Feature Oriented Reuse Method with …se.kaist.ac.kr/wp-content/uploads/2013/02/20.FORM... · 2013. 2. 13. · component New Application Feature selection Using

Feature model C

Feature model B

Feature model A

FORM (6/11)

vFORM feature model(Cont’d)§ Roles of FORM feature model

• Standardizing both meaning of features and communication• Evaluating commonalities and differences between domains,

and applications in a domain• Standardizing to create reusable domain artifacts• Standardizing development of application using domain artifact

14/21ⓒ KAIST SE LAB 2010

<Feature model comparison>

Application A

Application B

Application C

Easily compare

Page 15: SE LAB | KAIST - FORM Feature Oriented Reuse Method with …se.kaist.ac.kr/wp-content/uploads/2013/02/20.FORM... · 2013. 2. 13. · component New Application Feature selection Using

FORM (7/11)

vDomain analysis§ Purpose

• Identifying commonalities and differences of systems in a domain

• Constructing ‘feature model’ according to the analysis

§ Process• Planning

– First identification of family of products in a domain• Feature analysis

– Identifying features, classifying them, organizing them– Constructing ‘feature model‘

• Validation activities– Validating feature model before using

15/21ⓒ KAIST SE LAB 2010

FORM Domain Engineering

FeatureModel

ReferenceArchitecture

ReusableComponent

DomainAnalysis

ReferenceArchitectureDevelopment

ReusableComponent

Development

Page 16: SE LAB | KAIST - FORM Feature Oriented Reuse Method with …se.kaist.ac.kr/wp-content/uploads/2013/02/20.FORM... · 2013. 2. 13. · component New Application Feature selection Using

FORM (8/11)

vArchitecture modeling§ Purpose

• Construction of reference architecture and reusable component

§ 3 levels of abstraction of reference architecture• Subsystem model

– Defining overall system structure by packaging service features – Applying localization of function blocks

• Process model– Decomposition of subsystem into set of processes– Applying software principles of loosely coupled, highly cohesive– Considering environment features

• Module model– Defining module model based on the features on domain

technology and implementation technique– Containing specification how to integrated into application

16/21ⓒ KAIST SE LAB 2010

FORM Domain Engineering

FeatureModel

DomainAnalysis

ReferenceArchitectureDevelopment

ReferenceArchitecture

ReusableComponent

ReusableComponent

Development

Page 17: SE LAB | KAIST - FORM Feature Oriented Reuse Method with …se.kaist.ac.kr/wp-content/uploads/2013/02/20.FORM... · 2013. 2. 13. · component New Application Feature selection Using

FORM (9/11)

vFeature model and reference architecture

17/21ⓒ KAIST SE LAB 2010

services, operations, presentation, use, attributes, etc

Capabilities

H/W platform, O/S, DBMS, network, etc

Operating Environment

Method, theories, etc

Domain Technologies

Algorithms,Abstract data types, etc

Implementation Technologies

Feature Model

Subsystem model

Process model

Module model

Reference Architecture

Packaging ofservices & operations

Refinementconsidering performance

characteristics

Abstraction andSpecification of

Module component

Non functional features

< Mapping features to architecture models >

Page 18: SE LAB | KAIST - FORM Feature Oriented Reuse Method with …se.kaist.ac.kr/wp-content/uploads/2013/02/20.FORM... · 2013. 2. 13. · component New Application Feature selection Using

FORM (10/11)

vApplication engineering§ Definition

• Finding a correct reference architecture through feature selection and then putting in reusable software components

18/21ⓒ KAIST SE LAB 2010

Feature model

Feature model A

Feature model B

Reference Architecture & reusable component

Reference Architecture & reusable component

New Application

Feature selectionUsing

Selected Reference architecture

FORM Application Engineering

FeatureSelection

Spec

ApplicationSoftware

UserRequirement

Analysis

ApplicationArchitecture

selection

ApplicationSoftware

Development

System

Model

Process M

odel

Module

Model

Page 19: SE LAB | KAIST - FORM Feature Oriented Reuse Method with …se.kaist.ac.kr/wp-content/uploads/2013/02/20.FORM... · 2013. 2. 13. · component New Application Feature selection Using

FORM (11/11)

vFeature selection§ Definition

• Finding a matching set of features from the feature model

§ Effective feature selection by following the four-level feature hierarchy

• Capability, operating environment, and finally domain technologies and implementation techniques

§ Order of feature selection① Analyzing user requirements for the target application② Constructing feature model for the target application using

stepwise refinement comparing with reference feature models

③ Selecting closest feature mode and use the corresponding reference architectures

19/21ⓒ KAIST SE LAB 2010

FORM Application Engineering

FeatureSelection

Spec

ApplicationSoftware

UserRequirement

Analysis

ApplicationArchitecture

selection

ApplicationSoftware

Development

System

Model

Process M

odel

Module

Model

Page 20: SE LAB | KAIST - FORM Feature Oriented Reuse Method with …se.kaist.ac.kr/wp-content/uploads/2013/02/20.FORM... · 2013. 2. 13. · component New Application Feature selection Using

Conclusion

vContribution§ FODA is extended in FORM to cover the entire

development process including reuse process§ Feature model is effectively upgraded for designing,

architecting and reusing

vFuture work§ Formalize language that formal analysis is possible§ Feature model will be extended to support development

of application optimized for specific problem context

20/21ⓒ KAIST SE LAB 2010

Page 21: SE LAB | KAIST - FORM Feature Oriented Reuse Method with …se.kaist.ac.kr/wp-content/uploads/2013/02/20.FORM... · 2013. 2. 13. · component New Application Feature selection Using

Discussion

vPros§ Focus on reuse concept and introduce practical method

vCons§ Meaning of feature is not clearly fixed among

researches§ FORM is semi formal

• Provide construction language but not rigorous analysis of models

21/21ⓒ KAIST SE LAB 2010

Page 22: SE LAB | KAIST - FORM Feature Oriented Reuse Method with …se.kaist.ac.kr/wp-content/uploads/2013/02/20.FORM... · 2013. 2. 13. · component New Application Feature selection Using

ⓒ KAIST SE LAB 2010