Upload
dgianni
View
466
Download
3
Embed Size (px)
DESCRIPTION
Presentation delivered at the 3rd IEEE Track on Collaborative Modeling & Simulation - CoMetS'12. Please see http://www.sel.uniroma2.it/comets12/ for further details.
Citation preview
Simulation-Assisted Elicitation & Validationof Behavioral Specifications for MultipleStakeholders
3rd IEEE Track on Collaborative Modeling & Simulation – CoMetS’12Toulouse, France, 26-27 June 2012
Gregor Gabrysiak, Regina Hebig and Holger GieseSystem Analysis and Modeling Group
Hasso Plattner InstituteUniversity of Potsdam, Germany
Capturing Collaborative Scenarios
1
StH
RE
... Task
Requirements
Engineer
Stakeholder
RE
RE
RE
StH
StH
StH Elicitation/
Validation
RE
Analysis:
- consisteny/ compatibility,
- identify missing scenarios
Basic tasks• Elicitation, Validation• Analysis
Regina Hebig, CoMetS’12, 26-27 June 2012 Motivation: Capturing Collaborative Scenarios 2
Capturing Collaborative Scenarios
1
StH
RE
IR
FM
...
Intuitive
Representation
Formal Model
Task
Requirements
Engineer
Stakeholder Elicitation/
Validation
RE
?
?
RE
RE
RE
StH
StH
StH
IR
IR
FM
FM
Analysis:
- consisteny/ compatibility,
- identify missing scenarios
Language gap• Different language needs
Regina Hebig, CoMetS’12, 26-27 June 2012 Motivation: Capturing Collaborative Scenarios 3
Capturing Collaborative Scenarios
1
StH
RE
IR
FM
...
Intuitive
Representation
Formal Model
Task
Requirements
Engineer
Stakeholder
RE
RE
RE
StH
StH
StH Elicitation/
Validation
RE
Translation/
Integration
Translation
of ResultsAnalysis:
- consisteny/ compatibility,
- identify missing scenarios
IR
IR
FM
FM
Consequence: manual translation
• Correctness of translation?• Very long feedback loop
Regina Hebig, CoMetS’12, 26-27 June 2012 Motivation: Capturing Collaborative Scenarios 4
Capturing Collaborative Scenarios
1
StH
RE
IR
FM
...
Intuitive
Representation
Formal Model
Task
Requirements
Engineer
Stakeholder
RE
RE
RE
StH
StH
StH Elicitation/
Validation
RE
Translation/
Integration
Translation
of ResultsAnalysis:
- consisteny/ compatibility,
- identify missing scenarios
IR
IR
FM
FM
Consequence: manual translation• Correctness of translation?• Very long feedback loop
Regina Hebig, CoMetS’12, 26-27 June 2012 Motivation: Capturing Collaborative Scenarios 4
Capturing Collaborative Scenarios
1
StH
RE
IR
FM
...
Intuitive
Representation
Formal Model
Task
Simulator
Requirements
Engineer
Stakeholder
Elicitation/
Validation
RE
Translation/
Integration
Translation
of Results
StHStH
StH
RE
Configure
Domain Model
Analysis:
- consisteny/ compatibility,
- identify missing scenarios
IR
IR
FM
FM
Attempt: automated translation
• All collaborating stakeholders required at the same time• Still long feedback loop
[GGS09] Gregor Gabrysiak, Holger Giese, and Andreas Seibel.Interactive Visualization for Elicitation and Validation of Requirements with Scenario-Based Prototyping.In Proc. of the 4th International Workshop on Requirements Engineering Visualization, RE’09, pages 41–45, Los Alamitos, CA, USA, 2009. IEEE Computer Society.
Regina Hebig, CoMetS’12, 26-27 June 2012 Motivation: Capturing Collaborative Scenarios 5
Capturing Collaborative Scenarios
1
StH
RE
IR
FM
...
Intuitive
Representation
Formal Model
Task
Simulator
Requirements
Engineer
Stakeholder
Elicitation/
Validation
RE
Translation/
Integration
Translation
of Results
StHStH
StH
RE
Configure
Domain Model
Analysis:
- consisteny/ compatibility,
- identify missing scenarios
IR
IR
FM
FM
Attempt: automated translation• All collaborating stakeholders required at the same time• Still long feedback loop
[GGS09] Gregor Gabrysiak, Holger Giese, and Andreas Seibel.Interactive Visualization for Elicitation and Validation of Requirements with Scenario-Based Prototyping.In Proc. of the 4th International Workshop on Requirements Engineering Visualization, RE’09, pages 41–45, Los Alamitos, CA, USA, 2009. IEEE Computer Society.
Regina Hebig, CoMetS’12, 26-27 June 2012 Motivation: Capturing Collaborative Scenarios 5
Capturing Collaborative Scenarios
1
StH
RE
IR
FM
...
Intuitive
Representation
Formal Model
Task
Simulator
Requirements
Engineer
Stakeholder
Elicitation/
Validation
RE
Translation/
Integration
Translation
of Results
Story
Patterns
Story
Pattners
Configure
Domain ModelStH
StH
StH
Analysis:
- consisteny/ compatibility,
- identify missing scenarios
IR
IR
Solution: Simulation
• Independence and flexibility for collaborating stakeholders• Already elicted behavior is simulated for other stakeholders• Short feedback loop & relief for requirements engineer
Regina Hebig, CoMetS’12, 26-27 June 2012 Motivation: Capturing Collaborative Scenarios 6
Capturing Collaborative Scenarios
1
StH
RE
IR
FM
...
Intuitive
Representation
Formal Model
Task
Simulator
Requirements
Engineer
Stakeholder
Elicitation/
Validation
RE
Translation/
Integration
Translation
of Results
Story
Patterns
Story
Pattners
Configure
Domain ModelStH
StH
StH
Analysis:
- consisteny/ compatibility,
- identify missing scenarios
IR
IR
Solution: Simulation• Independence and flexibility for collaborating stakeholders
• Already elicted behavior is simulated for other stakeholders• Short feedback loop & relief for requirements engineer
Regina Hebig, CoMetS’12, 26-27 June 2012 Motivation: Capturing Collaborative Scenarios 6
Capturing Collaborative Scenarios
1
StH
RE
IR
FM
...
Intuitive
Representation
Formal Model
Task
Simulator
Requirements
Engineer
Stakeholder
Elicitation/
Validation
RE
Translation/
Integration
Translation
of Results
Story
Patterns
Story
Pattners
Configure
Domain ModelStH
StH
StH
Analysis:
- consisteny/ compatibility,
- identify missing scenarios
IR
IR
Solution: Simulation• Independence and flexibility for collaborating stakeholders• Already elicted behavior is simulated for other stakeholders
• Short feedback loop & relief for requirements engineer
Regina Hebig, CoMetS’12, 26-27 June 2012 Motivation: Capturing Collaborative Scenarios 6
Capturing Collaborative Scenarios
1
StH
RE
IR
FM
...
Intuitive
Representation
Formal Model
Task
Simulator
Requirements
Engineer
Stakeholder
Elicitation/
Validation
RE
Translation/
Integration
Translation
of Results
Story
Patterns
Story
Pattners
Configure
Domain ModelStH
StH
StH
Analysis:
- consisteny/ compatibility,
- identify missing scenarios
IR
IR
Solution: Simulation• Independence and flexibility for collaborating stakeholders• Already elicted behavior is simulated for other stakeholders• Short feedback loop & relief for requirements engineer
Regina Hebig, CoMetS’12, 26-27 June 2012 Motivation: Capturing Collaborative Scenarios 6
Outline
1 Motivation: Capturing Collaborative Scenarios
2 Stakeholders’ Domain D
3 Simulating Actions of Stakeholders
4 Simulation Loops
Elicitation/
Validation
RE
Translation/
Integration
Translation
of Results
Story
Patterns
Story
Pattners
Configure
Domain Model
Analysis:
- consisteny/ compatibility,
- identify missing scenarios
IR
IR
StH
StH
StH
Regina Hebig, CoMetS’12, 26-27 June 2012 Motivation: Capturing Collaborative Scenarios 7
Modeling the Stakeholders’ Domain
• Domain model D as metamodel for simulator language• D provides a set of basic concepts to construct generic
sentences, e.g.a:Role knows f:Fact
e:Email from a:Role to b:Role
RoleArtifact
InteractionOntologyWorld
OntologyElement
Call
Visit
Facthas knows
exchanges
from
to
Figure: Basic domain model D
Regina Hebig, CoMetS’12, 26-27 June 2012 Stakeholders’ Domain D 8
Modeling the Stakeholders’ Domain
• D has to be extended to reflect the domain, e.g. ticket saless:Seller knows t:TimeSlot
v:Visit from m:Moviegoer to s:Seller
RoleArtifact
InteractionOntologyWorld
OntologyElement
Call
Visit
Facthas knows
exchanges
MovieTitle
ReservationNumberTimeSlot
Moviegoer
Seller
Money
PromotionalMaterial Ticket
from
to
Figure: Extended domain model for ticket sales
Regina Hebig, CoMetS’12, 26-27 June 2012 Stakeholders’ Domain D 9
Using D to Describe Situations
<<instanceOf>>
:PromotionalMaterial
john:Moviegoer jane:Seller
goodFather:MovieTitle
knows
evening:TimeSlot
knows
has
ticketprice:Money
has
sinitticketprice:Money
john:Moviegoer jane:Seller
goodFather:MovieTitle
knows
evening:TimeSlot
knows
has
seat12:Ticket
has
knowsknows
has
:PromotionalMaterial
sterm
RoleArtifact
InteractionOntologyWorld
OntologyElement
Call
Visit
Facthas knows
exchanges
MovieTitle
ReservationNumberTimeSlot
Moviegoer
Seller
Money
PromotionalMaterial Ticket
from
to
Figure: Domain model allows specification of states
Regina Hebig, CoMetS’12, 26-27 June 2012 Stakeholders’ Domain D 10
Outline
1 Motivation: Capturing Collaborative Scenarios
2 Stakeholders’ Domain D
3 Simulating Actions of Stakeholders
4 Simulation Loops
StH
StH
StH
RE
Elicitation/
Validation Translation/
Integration
Translation
of Results
Story
Patterns
Configure
Domain Model
Analysis:
- consisteny/ compatibility,
- identify missing scenarios
IR
IR
Story
Pattners
Regina Hebig, CoMetS’12, 26-27 June 2012 Stakeholders’ Domain D 11
Simulating Actions of Stakeholders• Story pattern describe rules for state transitions
snjohn
:MoviegoergoodFather:MovieTitle
jane:Seller
knows
evening:TimeSlot
knows
knows
:Visit
:Ticket
this:Seller
++has
:MovieTitle knows
:TimeSlot knowsSPc
:Moviegoer
knows
knows
:Visit?
Figure: Can Jane already create the ticket for John?
:Ticket
this:Seller
++has
:MovieTitle knows
:TimeSlot knowsSPc
:Moviegoer
knows
knows
:Visit
snjohn
:MoviegoergoodFather:MovieTitle
jane:Seller
knows
evening:TimeSlot
knows
knows
:Visit X
Figure: Not without knowing when he wants to see the movie
Regina Hebig, CoMetS’12, 26-27 June 2012 Simulating Actions of Stakeholders 12
Simulating Actions of Stakeholders• Story pattern describe rules for state transitions
snjohn
:MoviegoergoodFather:MovieTitle
jane:Seller
knows
evening:TimeSlot
knows
knows
:Visit
:Ticket
this:Seller
++has
:MovieTitle knows
:TimeSlot knowsSPc
:Moviegoer
knows
knows
:Visit?
Figure: Can Jane already create the ticket for John?
:Ticket
this:Seller
++has
:MovieTitle knows
:TimeSlot knowsSPc
:Moviegoer
knows
knows
:Visit
snjohn
:MoviegoergoodFather:MovieTitle
jane:Seller
knows
evening:TimeSlot
knows
knows
:Visit X
Figure: Not without knowing when he wants to see the movie
Regina Hebig, CoMetS’12, 26-27 June 2012 Simulating Actions of Stakeholders 12
Simulating Actions of Stakeholders
snjohn
:MoviegoergoodFather:MovieTitle
jane:Seller
knows
evening:TimeSlot
knows
knows
:Visit
:TimeSlot
++knowsknows
:Visit
this:Moviegoer :Seller
SPb
?
Figure: Can John tell Jane the timeslot?
sn+1john
:MoviegoergoodFather:MovieTitle
jane:Seller knows
knows
evening:TimeSlot
knows
knows
:Visit
:TimeSlot
++knowsknows
:Visit
this:Moviegoer :Seller
SPb
Figure: Yes, he can share that information
Regina Hebig, CoMetS’12, 26-27 June 2012 Simulating Actions of Stakeholders 13
Simulating Actions of Stakeholders
snjohn
:MoviegoergoodFather:MovieTitle
jane:Seller
knows
evening:TimeSlot
knows
knows
:Visit
:TimeSlot
++knowsknows
:Visit
this:Moviegoer :Seller
SPb
?
Figure: Can John tell Jane the timeslot?
sn+1john
:MoviegoergoodFather:MovieTitle
jane:Seller knows
knows
evening:TimeSlot
knows
knows
:Visit
:TimeSlot
++knowsknows
:Visit
this:Moviegoer :Seller
SPb
Figure: Yes, he can share that information
Regina Hebig, CoMetS’12, 26-27 June 2012 Simulating Actions of Stakeholders 13
Outline
1 Motivation: Capturing Collaborative Scenarios
2 Stakeholders’ Domain D
3 Simulating Actions of Stakeholders
4 Simulation Loops
Elicitation/
Validation
RE
Translation/
Integration
Translation
of Results
Story
Patterns
Story
Pattners
Configure
Domain ModelStH
StH
StH
Analysis:
- consisteny/ compatibility,
- identify missing scenarios
IR
IR
Regina Hebig, CoMetS’12, 26-27 June 2012 Simulating Actions of Stakeholders 14
Simulation Loops: Play-Out I
InteractiveVisualization
for MoviegoerMoviegoer
Simulator
(simulated) Seller
BehavioralModels of
Seller
BehavioralModels
Regina Hebig, CoMetS’12, 26-27 June 2012 Simulation Loops 15
Simulation Loops: Play-Out I
InteractiveVisualization
for MoviegoerMoviegoer
Simulator
(simulated) Seller
BehavioralModels of
Seller
BehavioralModels
[no SP belonging to participant available]
[at least one SP available]
[final state
observed]
[else]
start
end
load initial process statea)
wait for participantsb) check for
available SPc)simulator
chooses SP to execute
g)
execute chosen SPh)
notify participantsn)
• Step g is a random or strategy based choice
Regina Hebig, CoMetS’12, 26-27 June 2012 Simulation Loops 16
Simulation Loops: Play-Out IInteractive
Visualization for
MoviegoerMoviegoer
Simulator
(simulated) Seller
BehavioralModels of
Seller
BehavioralModels
[no SP belonging to participant available]
[at least one SP available]
[final state
observed]
[else]
start
end
load initial process statea)
wait for participantsb) check for
available SPc)simulator
chooses SP to execute
g)
execute chosen SPh)
notify participantsn)
• Simulation of seller:
sn+1john
:MoviegoergoodFather:MovieTitle
jane:Seller knows
knows
evening:TimeSlot
knows
knows
:Visit
:Ticket
has
:Ticket
this:Seller
++has
:MovieTitle knows
:TimeSlot knowsSPc
:Moviegoer
knows
knows
:Visit
:Ticket++has --has
SPd
:Moviegoer this:Seller
:Visitsn+2john
:MoviegoergoodFather:MovieTitle
jane:Seller knows
knows
evening:TimeSlot
knows
knows
:Visit
:Ticket
has
Regina Hebig, CoMetS’12, 26-27 June 2012 Simulation Loops 17
Simulation Loops: Play-Out II
InteractiveVisualization
for SellerSeller
BehavioralModels of
Seller
Simulator
(simulated)Moviegoer
BehavioralModels of Moviegoer
BehavioralModels
Regina Hebig, CoMetS’12, 26-27 June 2012 Simulation Loops 18
Simulation Loops: Play-Out II
InteractiveVisualization
for SellerSeller
BehavioralModels of
Seller
Simulator
(simulated)Moviegoer
BehavioralModels of Moviegoer
BehavioralModels
[no SP belonging to participant available][at least one SP available]
[final state observed]
[else]
start
end
[participant wants simulator to continue]
[participant chooses SP]
[else]
load initial process statea)
wait for participantsb) check for
available SPc)simulator
chooses SP to execute
g)
execute chosen SPh)
notify participantsn)
k)highlight SPs
already observed in identical sequence
[at least one SP belonging to participant available]
j) propose participant's available SPs in GUI
• Available options proposed to user in natural language
Regina Hebig, CoMetS’12, 26-27 June 2012 Simulation Loops 19
Simulation Loops: Play-Out II
InteractiveVisualization
for SellerSeller
BehavioralModels of
Seller
Simulator
(simulated)Moviegoer
BehavioralModels of Moviegoer
BehavioralModels
[no SP belonging to participant available][at least one SP available]
[final state observed]
[else]
start
end
[participant wants simulator to continue]
[participant chooses SP]
[else]
load initial process statea)
wait for participantsb) check for
available SPc)simulator
chooses SP to execute
g)
execute chosen SPh)
notify participantsn)
k)highlight SPs
already observed in identical sequence
[at least one SP belonging to participant available]
j) propose participant's available SPs in GUI
• Proposed (previously observed) action for seller:
Regina Hebig, CoMetS’12, 26-27 June 2012 Simulation Loops 20
Simulation Loops: Play-In
InteractiveVisualization
for SellerSeller
BehavioralModels of
Seller
Simulator
(simulated)Moviegoer
BehavioralModels of Moviegoer
BehavioralModels
Derive fromSession
Regina Hebig, CoMetS’12, 26-27 June 2012 Simulation Loops 21
Simulation Loops: Play-In
InteractiveVisualization
for SellerSeller
BehavioralModels of
Seller
Simulator
(simulated)Moviegoer
BehavioralModels of Moviegoer
BehavioralModels
Derive fromSession
[no SP belonging to participant available]
[no SP available]
[at least one SP available]
[final state observed]
[else]
start
end
[participant wants simulator to continue]
[participant chooses SP]
[else]
load initial process statea)
wait for participantsb) check for
available SPc)
synchronize state with GUI actione)
simulator chooses SP to execute
g)
execute chosen SPh)
notify participantsn)
m) synchronize GUIs of affected participants
derive SP based on changesf)
d) observe GUI action of participant
k)highlight SPs
already observed in identical sequence
[at least one SP belonging to participant available]
j) propose participant's available SPs in GUI
• Deriving story patterns from succeeding states
Regina Hebig, CoMetS’12, 26-27 June 2012 Simulation Loops 22
Simulation Loops: Play-In
InteractiveVisualization
for SellerSeller
BehavioralModels of
Seller
Simulator
(simulated)Moviegoer
BehavioralModels of Moviegoer
BehavioralModels
Derive fromSession
[no SP belonging to participant available]
[no SP available]
[at least one SP available]
[final state observed]
[else]
start
end
[participant wants simulator to continue]
[participant chooses SP]
[else]
load initial process statea)
wait for participantsb) check for
available SPc)
synchronize state with GUI actione)
simulator chooses SP to execute
g)
execute chosen SPh)
notify participantsn)
m) synchronize GUIs of affected participants
derive SP based on changesf)
d) observe GUI action of participant
k)highlight SPs
already observed in identical sequence
[at least one SP belonging to participant available]
j) propose participant's available SPs in GUI
• Observation of seller’s behavior:
snjohn
:MoviegoergoodFather:MovieTitle
jane:Seller knows
knows
evening:TimeSlot
knows
knows
:Visit
sn+1john
:MoviegoergoodFather:MovieTitle
jane:Seller knows
knows
evening:TimeSlot
knows
knows
:Visit
:Ticket
has
Which artifact do you want to create?
Ticket
Money
Promotional Material
SPc :Ticket
this:Seller
++has
:MovieTitle knows
:TimeSlotknows
:Moviegoer
knows
knows
:Visit
Precondition
Postcondition
Regina Hebig, CoMetS’12, 26-27 June 2012 Simulation Loops 23
Simulation Loops: Play-In
InteractiveVisualization
for SellerSeller
BehavioralModels of
Seller
Simulator
(simulated)Moviegoer
BehavioralModels of Moviegoer
BehavioralModels
Derive fromSession
[no SP belonging to participant available]
[no SP available]
[at least one SP available]
[final state observed]
[else]
start
end
[participant wants simulator to continue]
[participant chooses SP]
[else]
load initial process statea)
wait for participantsb) check for
available SPc)
synchronize state with GUI actione)
simulator chooses SP to execute
g)
execute chosen SPh)
notify participantsn)
m) synchronize GUIs of affected participants
derive SP based on changesf)
d) observe GUI action of participant
k)highlight SPs
already observed in identical sequence
[at least one SP belonging to participant available]
j) propose participant's available SPs in GUI
• Observation of seller’s behavior:
snjohn
:MoviegoergoodFather:MovieTitle
jane:Seller knows
knows
evening:TimeSlot
knows
knows
:Visit
sn+1john
:MoviegoergoodFather:MovieTitle
jane:Seller knows
knows
evening:TimeSlot
knows
knows
:Visit
:Ticket
has
Which artifact do you want to create?
Ticket
Money
Promotional Material
SPc :Ticket
this:Seller
++has
:MovieTitle knows
:TimeSlotknows
:Moviegoer
knows
knows
:Visit
Precondition
Postcondition
Regina Hebig, CoMetS’12, 26-27 June 2012 Simulation Loops 23
Conclusions
REConfigure
Domain Model
Elicitation/
Validation Translation/
Integration
Translation
of Results
Story
Patterns
Story
Pattners
StH
StH
StH
Analysis:
- consisteny/ compatibility,
- identify missing scenarios
IR
IR
⇒ Reduced elicitation/validation loop for collaborative scenariosRegina Hebig, CoMetS’12, 26-27 June 2012 Simulation Loops 24