25
.lu software verification & validation V V S PUMConf: A Tool to Configure Product Specific Use Case and Domain Models in a Product Line Ines Hajri , Arda Goknil, Lionel C. Briand SnT Center, University of Luxembourg IEE, Luxembourg Thierry Stephany

PUMConf: A Tool to Configure Product Specific Use Case and Domain Models in a Product Line

Embed Size (px)

Citation preview

Page 1: PUMConf: A Tool to Configure Product Specific Use Case and Domain Models in a Product Line

.lusoftware verification & validationVVS

PUMConf: A Tool to Configure Product Specific Use Case and Domain Models

in a Product Line

Ines Hajri, Arda Goknil, Lionel C. Briand "SnT Center, University of Luxembourg IEE, Luxembourg Thierry Stephany "

Page 2: PUMConf: A Tool to Configure Product Specific Use Case and Domain Models in a Product Line

2

Context"

Automotive Domain

Use Case Driven

Development and Testing

Product Line

Actor Request Order

Show catalog

Pay For

Use Case" Diagram

Use Case "Specifications

Domain "Model

Page 3: PUMConf: A Tool to Configure Product Specific Use Case and Domain Models in a Product Line

• Ad-hoc change management in the context of product lines

• No explicit representation of variabilities and commonalities across products

• Manual and error-prone evaluation of the entire use cases and domain model for changes across products

• Manual and time-consuming generation of use cases and domain models across products

Problem"

3

Page 4: PUMConf: A Tool to Configure Product Specific Use Case and Domain Models in a Product Line

• Support requirements configuration in the context of product lines

• Practical variability modeling in use case models: modeling variability directly in use cases without making use of feature models

• Automatic configuration of product specific use case models

Objective"

4

Page 5: PUMConf: A Tool to Configure Product Specific Use Case and Domain Models in a Product Line

Product specific "use cases and domain model

Customer A for Product X

Product line use cases and domain model

Customer B for Product X

Product specific "use cases and domain model

Customer C for Product X

Product specific "use cases and domain model

configure configure configure

Define all variabilities and commonalities

Reuse commonalities and exploit

variability to build a product

Configurator:"PUMConf

5

Page 6: PUMConf: A Tool to Configure Product Specific Use Case and Domain Models in a Product Line

Elicitation of PL Use Case and Domain Models with

Consistency Checking

¨

PL Use CaseDiagram

PL DomainModel

<<s>>

<<p>>

<<p>>

<<m

>>

PL Use CaseSpecifications

PUMConf Overview"

6

Page 7: PUMConf: A Tool to Configure Product Specific Use Case and Domain Models in a Product Line

2. Model variability in

use case specifications

Introduce new extensions for use case specifications

in RUCM

1. Model variability in

use case diagram

3. Model variability in the domain model

Integrate and adapt existing work

Integrate and adapt existing work

G. Halmans and K. Pohl, “Communicating the variability !of a software-product family to customers,” Sosym, 2003

T. Ziadi and J.-M. Jezequel, “Product line !engineering with the uml : Deriving products,” Software Product Lines. Springer, 2006.

Product Line Use Case Modeling Method: PUM

7

I. Hajri, A. Goknil, L. C. Briand, and T. Stephany” Configuring use case models in product families” Sosym2016

Page 8: PUMConf: A Tool to Configure Product Specific Use Case and Domain Models in a Product Line

Elicitation of PL Use Case and Domain Models with

Consistency Checking

¨

PL Use CaseDiagram

PL DomainModel

<<s>>

<<p>>

<<p>>

<<m

>>

PL Use CaseSpecifications

Are the models consistent ?

List of Inconsitencies

No•• •• •• •• •• •• •• ••

PUMConf Overview"

8

Page 9: PUMConf: A Tool to Configure Product Specific Use Case and Domain Models in a Product Line

9

Use Case Models Consistency

Use case diagram Use case specifications

Page 10: PUMConf: A Tool to Configure Product Specific Use Case and Domain Models in a Product Line

Elicitation of PL Use Case and Domain Models with

Consistency Checking

¨

PL Use CaseDiagram

PL DomainModel

<<s>>

<<p>>

<<p>>

<<m

>>

PL Use CaseSpecifications

Are the models consistent ?

List of Inconsitencies

No•• •• •• •• •• •• •• ••Yes Elicitation of

Configuration Decisions with Consistency Checking

Are decisions consistent and

complete? List of Contradicting

Decisions

No •• •• •• •• •• •• •• ••

PUMConf Overview"

10

Page 11: PUMConf: A Tool to Configure Product Specific Use Case and Domain Models in a Product Line

STO System

SensorsRecognize

Gesture

Identify System Operating Status Storing

Error Status

Provide System Operating Status

Tester

<<include>>

<<Variant>>Store Error

Status

<<include>>

Clearing Error

Status

<<Variant>>Clear Error

Status

0..1

0..1

<<Variant>>Clear Error Status

via Diagnostic Mode

<<Variant>>Clear Error

Status via IEE QC Mode

0..1

<<include>>

Method of Clearing

Error Status 1..1

<<require>>

STO Controller

<<include>>

Storing Error

Status

<<Variant>>Store Error

StatusClearing

Error Status

<<Variant>>Clear Error

Status

0..1

0..1

<<require>>

Checking Contradicting Decisions"

11

Page 12: PUMConf: A Tool to Configure Product Specific Use Case and Domain Models in a Product Line

Checking Contradicting Decisions"

12

Page 13: PUMConf: A Tool to Configure Product Specific Use Case and Domain Models in a Product Line

Elicitation of PL Use Case and Domain Models with

Consistency Checking

¨

PL Use CaseDiagram

PL DomainModel

<<s>>

<<p>>

<<p>>

<<m

>>

PL Use CaseSpecifications

Are the models consistent ?

List of Inconsitencies

No•• •• •• •• •• •• •• ••Yes Elicitation of

Configuration Decisions with Consistency Checking

Are decisions consistent and

complete? List of Contradicting

Decisions

No •• •• •• •• •• •• •• ••

Yes

PS Use Case Diagram

PS DomainModel

PS Use Case Specifications

Generation of Product Specific Use

Case and Domain Models

Actor Request Order

Show catalog

Pay For

PUMConf Overview"

13

Page 14: PUMConf: A Tool to Configure Product Specific Use Case and Domain Models in a Product Line

PUMConf Maturity"

14

• PUMConf is evaluated in industrial context with case study and questionnaire study

• Semi-structured interview and a questionnaire

• Interviewees had substantial experience and seven important roles were covered

• Our approach and tool are practical and beneficial to configure product use case and domain models in industrial settings

Page 15: PUMConf: A Tool to Configure Product Specific Use Case and Domain Models in a Product Line

• PUMConf is implemented as IBM DOORS plugin

• Modeling variability directly in use case diagram, specifications and domain models without making use of feature models

• Automated consistency checking of product line use case and domain models

• Automated, interactive configuration support with consistency checking of configuration decisions

•  Automated generation of PS use case and domain models from product line models

Summary: Tool Features"

15

Page 16: PUMConf: A Tool to Configure Product Specific Use Case and Domain Models in a Product Line

https://sites.google.com/site/pumconf/

16

Page 17: PUMConf: A Tool to Configure Product Specific Use Case and Domain Models in a Product Line

.lusoftware verification & validationVVS

PUMConf: A Tool to Configure Product Specific Use Case and Domain Models

in a Product Line

Ines Hajri, Arda Goknil, Lionel C. Briand "SnT Center, University of Luxembourg IEE, Luxembourg Thierry Stephany "

Page 18: PUMConf: A Tool to Configure Product Specific Use Case and Domain Models in a Product Line

Automotive Domain

Product Line Use Case

Driven Development

Actor Request Order

Show catalog

Pay For

Use Case" Diagram

Use Case "Specifications

Domain "Model

18

Context"

Page 19: PUMConf: A Tool to Configure Product Specific Use Case and Domain Models in a Product Line

Automotive Domain

Product Line Use Case

Driven Development

Actor Request Order

Show catalog

Pay For

Use Case" Diagram

Use Case "Specifications

Domain "Model

19

Context"

Page 20: PUMConf: A Tool to Configure Product Specific Use Case and Domain Models in a Product Line

Automotive Domain

Product Line Use Case

Driven Development

Actor Request Order

Show catalog

Pay For

Use Case" Diagram

Use Case "Specifications

Domain "Model

20

Context"

Page 21: PUMConf: A Tool to Configure Product Specific Use Case and Domain Models in a Product Line

21

Product Specific"Use Cases and Domain Model

Customer A for Product X

Product-Line Use Cases and Domain Model

Configurator

Customer B for Product X

Product Specific"Use Cases and Domain Model

Customer C for Product X

Product Specific "Use Cases and Domain Model

Configure evolves evolves evolves

Reconfigure Reconfigure

Reconfigure

evolves

Page 22: PUMConf: A Tool to Configure Product Specific Use Case and Domain Models in a Product Line

The Need for a Custom Configurator for Use Cases

• A custom solution is required for further extensions: reconfiguration and change impact analysis in product line use case models

• Most of existing configurators need feature models or require variability be expressed in a specific notation or language

• Not only we need a decision-making support but also the automatic generation of product specific use case and domain models

22

Page 23: PUMConf: A Tool to Configure Product Specific Use Case and Domain Models in a Product Line

• Our consistency checking algorithm is based on mapping variation points, use cases and variant dependencies to propositional logic formulas

• Our approach only checks the satisfaction of the propositional formulas derived from dependencies of variation points in the PL diagram

• If the formulas are not satisfied, the algorithm returns contradicting decisions to the analyst

23

Consistency Checking of Configuration Decisions (1)

Page 24: PUMConf: A Tool to Configure Product Specific Use Case and Domain Models in a Product Line

• The algorithm checks if there is any contradiction with prior decisions

• Our approach follows the Fix right away with selective (multiple) undo strategy

24

Consistency Checking of Configuration Decisions (2)

Page 25: PUMConf: A Tool to Configure Product Specific Use Case and Domain Models in a Product Line

25

Generation of PS Models PL Use Case

Diagram

Diagram Decisions in

Decision Model

PL Use Case Specifications

Specification Decisions in

Decision Model

AnnotatedPL Use Case

Specifications

PL Domain Model

Domain Model Decisions in

Decision Model

PL-PS Transformer

Diagram Transformer

Specification Transformer

Domain Model

Transformer

PS Use CaseDiagram

PS Use Case Specifications

PS Domain Model

GATE NLPWorkbench JAPEJAPEJAPEJAPE