Upload
lionel-briand
View
122
Download
0
Embed Size (px)
Citation preview
.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 "
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 CaseDiagram
PL DomainModel
<<s>>
<<p>>
<<p>>
<<m
>>
PL Use CaseSpecifications
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” Sosym2016
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
9
Use Case Models Consistency
Use case diagram Use case specifications
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
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
Checking Contradicting Decisions"
12
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
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 & 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 "
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 evolves evolves evolves
Reconfigure Reconfigure
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
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