.lusoftware verification & validation
VVS
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 "
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
• 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
• 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
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
Elicitation of PL Use Case
and Domain Models with
Consistency Checking
¨
PL Use Case
Diagram
PL Domain
Model
<<s>>
<<p>>
<<p>>
<<m>>
PL Use Case
Specifications
PUMConf Overview"

6
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” Sosym
2016
Elicitation of PL Use Case
and Domain Models with
Consistency Checking
¨
PL Use Case
Diagram
PL Domain
Model
<<s>>
<<p>>
<<p>>
<<m>>
PL Use Case
Specifications
Are the models
consistent ?
List of
Inconsitencies
No•• •• •• •• •• •• •• ••
PUMConf Overview"

8
9
Use Case Models Consistency
Use case diagram
 Use case specifications
Elicitation of PL Use Case
and Domain Models with
Consistency Checking
¨
PL Use Case
Diagram
PL Domain
Model
<<s>>
<<p>>
<<p>>
<<m>>
PL Use Case
Specifications
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
STO System
Sensors
Recognize
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
Status
Clearing
Error
Status
<<Variant>>
Clear Error
Status
0..1
0..1
<<require>>
Checking Contradicting Decisions"

11
Checking Contradicting Decisions"

12
Elicitation of PL Use Case
and Domain Models with
Consistency Checking
¨
PL Use Case
Diagram
PL Domain
Model
<<s>>
<<p>>
<<p>>
<<m>>
PL Use Case
Specifications
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 Domain
Model
PS Use Case
Specifications
Generation of
Product Specific Use
Case and Domain Models
Actor
Reques
t Order
Show
catalog
Pay For
PUMConf Overview"

13
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
• 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
https://sites.google.com/site/pumconf/
16
.lusoftware verification & validation
VVS
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 "
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"
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"
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"
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
evolvesevolvesevolves
ReconfigureReconfigure
Reconfigure
evolves
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
• 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)
• 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)
25
Generation of PS Models
PL Use Case
Diagram
Diagram
Decisions in
Decision Model
PL Use Case
Specifications
Specification
Decisions in
Decision Model
Annotated
PL Use Case
Specifications
PL Domain
Model
Domain Model
Decisions in
Decision Model
PL-PS Transformer
Diagram
Transformer
Specification
Transformer
Domain
Model
Transformer
PS Use Case
Diagram
PS Use Case
Specifications
PS Domain
Model
GATE NLP
WorkbenchJAPEJAPEJAPEJAPE

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

  • 1.
    .lusoftware verification &validation VVS 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 "
  • 2.
  • 3.
    • Ad-hoc change managementin 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
  • 4.
    • Support requirements configurationin 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
  • 5.
    Product specific " usecases 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
  • 6.
    Elicitation of PLUse Case and Domain Models with Consistency Checking ¨ PL Use Case Diagram PL Domain Model <<s>> <<p>> <<p>> <<m>> PL Use Case Specifications PUMConf Overview" 6
  • 7.
    2. Model variability in usecase 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” Sosym 2016
  • 8.
    Elicitation of PLUse Case and Domain Models with Consistency Checking ¨ PL Use Case Diagram PL Domain Model <<s>> <<p>> <<p>> <<m>> PL Use Case Specifications Are the models consistent ? List of Inconsitencies No•• •• •• •• •• •• •• •• PUMConf Overview" 8
  • 9.
    9 Use Case ModelsConsistency Use case diagram Use case specifications
  • 10.
    Elicitation of PLUse Case and Domain Models with Consistency Checking ¨ PL Use Case Diagram PL Domain Model <<s>> <<p>> <<p>> <<m>> PL Use Case Specifications 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
  • 11.
    STO System Sensors Recognize Gesture Identify System OperatingStatus 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 Status Clearing Error Status <<Variant>> Clear Error Status 0..1 0..1 <<require>> Checking Contradicting Decisions" 11
  • 12.
  • 13.
    Elicitation of PLUse Case and Domain Models with Consistency Checking ¨ PL Use Case Diagram PL Domain Model <<s>> <<p>> <<p>> <<m>> PL Use Case Specifications 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 Domain Model PS Use Case Specifications Generation of Product Specific Use Case and Domain Models Actor Reques t Order Show catalog Pay For PUMConf Overview" 13
  • 14.
    PUMConf Maturity" 14 • PUMConf isevaluated 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
  • 15.
    • PUMConf is implementedas 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
  • 16.
  • 17.
    .lusoftware verification &validation VVS 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 "
  • 18.
    Automotive Domain Product Line Use Case Driven Development Actor Request Order Show catalog PayFor Use Case" Diagram Use Case " Specifications Domain " Model 18 Context"
  • 19.
    Automotive Domain Product Line Use Case Driven Development Actor Request Order Show catalog PayFor Use Case" Diagram Use Case " Specifications Domain " Model 19 Context"
  • 20.
    Automotive Domain Product Line Use Case Driven Development Actor Request Order Show catalog PayFor Use Case" Diagram Use Case " Specifications Domain " Model 20 Context"
  • 21.
    21 Product Specific" Use Casesand 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 evolvesevolvesevolves ReconfigureReconfigure Reconfigure evolves
  • 22.
    The Need fora 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
  • 23.
    • Our consistency checkingalgorithm 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)
  • 24.
    • The algorithm checksif 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)
  • 25.
    25 Generation of PSModels PL Use Case Diagram Diagram Decisions in Decision Model PL Use Case Specifications Specification Decisions in Decision Model Annotated PL Use Case Specifications PL Domain Model Domain Model Decisions in Decision Model PL-PS Transformer Diagram Transformer Specification Transformer Domain Model Transformer PS Use Case Diagram PS Use Case Specifications PS Domain Model GATE NLP WorkbenchJAPEJAPEJAPEJAPE