Presentation delivered at the 3rd IEEE Track on
Collaborative Modeling & Simulation - CoMetS'12.
Please see http://www.sel.uniroma2.it/comets12/ for further details.
Simulation assisted elicitation and validation of behavioral specifications for multiple stakeholders
1. Simulation-Assisted Elicitation & Validation
of Behavioral Specifications for Multiple
Stakeholders
3rd IEEE Track on Collaborative Modeling & Simulation – CoMetS’12
Toulouse, France, 26-27 June 2012
Gregor Gabrysiak, Regina Hebig and Holger Giese
System Analysis and Modeling Group
Hasso Plattner Institute
University of Potsdam, Germany
2. Capturing Collaborative Scenarios
StH
RE
... Task StH Elicitation/
Validation
RE
StH
1 Stakeholder
StH RE
Requirements
Engineer
RE Analysis:
- consisteny/ compatibility,
- identify missing scenarios
RE
Basic tasks
• Elicitation, Validation
• Analysis
Regina Hebig, CoMetS’12, 26-27 June 2012 Motivation: Capturing Collaborative Scenarios 2
3. Capturing Collaborative Scenarios
... Task StH
RE IR
1 Stakeholder StH Elicitation/
Validation
StH RE ?
StH
Requirements
Engineer IR
RE
RE FM
Intuitive
IR
Representation
? Analysis:
- consisteny/ compatibility,
FM Formal Model
- identify missing scenarios
FM
RE
Language gap
• Different language needs
Regina Hebig, CoMetS’12, 26-27 June 2012 Motivation: Capturing Collaborative Scenarios 3
4. Capturing Collaborative Scenarios
StH
... Task
RE IR
Stakeholder StH Elicitation/
1
Validation Translation/
StH RE
Integration
StH
Requirements
Engineer IR
RE
RE FM
Intuitive
IR
Representation
Translation
Analysis:
of Results
- consisteny/ compatibility,
FM Formal Model - identify missing scenarios
FM
RE
Consequence: manual translation
Regina Hebig, CoMetS’12, 26-27 June 2012 Motivation: Capturing Collaborative Scenarios 4
5. Capturing Collaborative Scenarios
StH
... Task
RE IR
Stakeholder StH Elicitation/
1
Validation Translation/
StH RE
Integration
StH
Requirements
Engineer IR
RE
RE FM
Intuitive
IR
Representation
Translation
Analysis:
of Results
- consisteny/ compatibility,
FM Formal Model - identify missing scenarios
FM
RE
Consequence: manual translation
• Correctness of translation?
• Very long feedback loop
Regina Hebig, CoMetS’12, 26-27 June 2012 Motivation: Capturing Collaborative Scenarios 4
6. Capturing Collaborative Scenarios
... Task Configure
RE Domain Model
1 Stakeholder StH StH
StH IR
StH Elicitation/
Requirements Validation Translation/
Engineer Integration
RE
IR
Intuitive IR
Representation
FM
FM Formal Model
Translation
Analysis:
of Results
- consisteny/ compatibility,
Simulator - identify missing scenarios
FM RE
Attempt: automated translation
[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
7. Capturing Collaborative Scenarios
... Task Configure
RE Domain Model
1 Stakeholder StH StH
StH IR
StH Elicitation/
Requirements Validation Translation/
Engineer Integration
RE
IR
Intuitive IR
Representation
FM
FM Formal Model
Translation
Analysis:
of Results
- consisteny/ compatibility,
Simulator - identify missing scenarios
FM RE
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
8. Capturing Collaborative Scenarios
... Task
Configure
RE Domain Model
StH
1 Stakeholder
StH
IR
StH Elicitation/
Requirements Validation Translation/
Engineer
Integration
RE StH
Intuitive
IR IR Story
Representation
Patterns
FM Formal Model
Translation
Analysis:
of Results
- consisteny/ compatibility,
Story - identify missing scenarios
Simulator Pattners
Solution: Simulation
Regina Hebig, CoMetS’12, 26-27 June 2012 Motivation: Capturing Collaborative Scenarios 6
9. Capturing Collaborative Scenarios
... Task
Configure
RE Domain Model
StH
1 Stakeholder
StH
IR
StH Elicitation/
Requirements Validation Translation/
Engineer
Integration
RE StH
Intuitive
IR IR Story
Representation
Patterns
FM Formal Model
Translation
Analysis:
of Results
- consisteny/ compatibility,
Story - identify missing scenarios
Simulator Pattners
Solution: Simulation
• Independence and flexibility for collaborating stakeholders
Regina Hebig, CoMetS’12, 26-27 June 2012 Motivation: Capturing Collaborative Scenarios 6
10. Capturing Collaborative Scenarios
... Task
Configure
RE Domain Model
StH
1 Stakeholder
StH
IR
StH Elicitation/
Requirements Validation Translation/
Engineer
Integration
RE StH
Intuitive
IR IR Story
Representation
Patterns
FM Formal Model
Translation
Analysis:
of Results
- consisteny/ compatibility,
Story - identify missing scenarios
Simulator Pattners
Solution: Simulation
• Independence and flexibility for collaborating stakeholders
• Already elicted behavior is simulated for other stakeholders
Regina Hebig, CoMetS’12, 26-27 June 2012 Motivation: Capturing Collaborative Scenarios 6
11. Capturing Collaborative Scenarios
... Task
Configure
RE Domain Model
StH
1 Stakeholder
StH
IR
StH Elicitation/
Requirements Validation Translation/
Engineer
Integration
RE StH
Intuitive
IR IR Story
Representation
Patterns
FM Formal Model
Translation
Analysis:
of Results
- consisteny/ compatibility,
Story - identify missing scenarios
Simulator Pattners
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
12. Outline
1 Motivation: Capturing Collaborative Scenarios
2 Stakeholders’ Domain D
3 Simulating Actions of Stakeholders
4 Simulation Loops
Configure
RE Domain Model
StH
IR
StH Elicitation/
Validation Translation/
Integration
StH
IR Story
Patterns
Translation
Analysis:
of Results
- consisteny/ compatibility,
Story - identify missing scenarios
Pattners
Regina Hebig, CoMetS’12, 26-27 June 2012 Motivation: Capturing Collaborative Scenarios 7
13. 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
Ontology Ontology
Interaction Email
World Element
from
exchanges Visit
to
Artifact Role Fact Call
has knows
Figure: Basic domain model D
Regina Hebig, CoMetS’12, 26-27 June 2012 Stakeholders’ Domain D 8
14. Modeling the Stakeholders’ Domain
• D has to be extended to reflect the domain, e.g. ticket sales
s:Seller knows t:TimeSlot
v:Visit from m:Moviegoer to s:Seller
Ontology Ontology
Interaction Email
World Element
from
exchanges Visit
to
Artifact Role Fact Call
has knows
Promotional Reservation
Ticket Seller TimeSlot Number
Material
Money Moviegoer MovieTitle
Figure: Extended domain model for ticket sales
Regina Hebig, CoMetS’12, 26-27 June 2012 Stakeholders’ Domain D 9
15. Using D to Describe Situations
Ontology Ontology
Interaction Email
World Element
from
exchanges Visit
to
Artifact Role Fact Call
has knows
Promotional Reservation
Ticket Seller TimeSlot Number
Material
Money Moviegoer MovieTitle
<<instanceOf>>
sinit sterm
ticketprice :Promotional :Promotional ticketprice
seat12:Ticket
:Money Material Material :Money
has has has has has
john john
jane:Seller jane:Seller
:Moviegoer :Moviegoer
knows knows
knows knows knows
knows
evening goodFather evening goodFather
:TimeSlot :MovieTitle :TimeSlot :MovieTitle
Figure: Domain model allows specification of states
Regina Hebig, CoMetS’12, 26-27 June 2012 Stakeholders’ Domain D 10
16. Outline
1 Motivation: Capturing Collaborative Scenarios
2 Stakeholders’ Domain D
3 Simulating Actions of Stakeholders
4 Simulation Loops
Configure
StH RE Domain Model
IR
StH Elicitation/
Validation Translation/
Integration
StH
IR Story
Patterns
Translation
Analysis:
of Results
- consisteny/ compatibility,
Story - identify missing scenarios
Pattners
Regina Hebig, CoMetS’12, 26-27 June 2012 Stakeholders’ Domain D 11
17. Simulating Actions of Stakeholders
• Story pattern describe rules for state transitions
SPc
sn :TimeSlot knows :Ticket
john knows goodFather knows ++has
:Moviegoer :MovieTitle
knows :Visit knows ? :Moviegoer :Visit this:Seller
knows
evening
jane:Seller
:TimeSlot :MovieTitle knows
Figure: Can Jane already create the ticket for John?
Regina Hebig, CoMetS’12, 26-27 June 2012 Simulating Actions of Stakeholders 12
18. Simulating Actions of Stakeholders
• Story pattern describe rules for state transitions
SPc
sn :TimeSlot knows :Ticket
john knows goodFather knows ++has
:Moviegoer :MovieTitle
knows :Visit knows ? :Moviegoer :Visit this:Seller
knows
evening
jane:Seller
:TimeSlot :MovieTitle knows
Figure: Can Jane already create the ticket for John?
SPc
sn :TimeSlot knows :Ticket
john knows goodFather knows ++has
:Moviegoer :MovieTitle
knows
:Visit
knows X :Moviegoer :Visit this:Seller
knows
evening
jane:Seller
:TimeSlot :MovieTitle knows
Figure: Not without knowing when he wants to see the movie
Regina Hebig, CoMetS’12, 26-27 June 2012 Simulating Actions of Stakeholders 12
19. Simulating Actions of Stakeholders
SPb
sn :Visit
john knows goodFather
:Moviegoer :MovieTitle
this
knows :Visit knows
? :Moviegoer
:Seller
evening knows ++knows
jane:Seller
:TimeSlot :TimeSlot
Figure: Can John tell Jane the timeslot?
Regina Hebig, CoMetS’12, 26-27 June 2012 Simulating Actions of Stakeholders 13
20. Simulating Actions of Stakeholders
SPb
sn :Visit
john knows goodFather
:Moviegoer :MovieTitle
this
knows :Visit knows
? :Moviegoer
:Seller
evening knows ++knows
jane:Seller
:TimeSlot :TimeSlot
Figure: Can John tell Jane the timeslot?
SPb
sn+1 :Visit
john knows goodFather
:Moviegoer :MovieTitle
this
:Seller
knows :Visit knows :Moviegoer
evening knows ++knows
jane:Seller
:TimeSlot knows :TimeSlot
Figure: Yes, he can share that information
Regina Hebig, CoMetS’12, 26-27 June 2012 Simulating Actions of Stakeholders 13
21. Outline
1 Motivation: Capturing Collaborative Scenarios
2 Stakeholders’ Domain D
3 Simulating Actions of Stakeholders
4 Simulation Loops
Configure
RE Domain Model
StH
IR
StH Elicitation/
Validation Translation/
Integration
StH
IR Story
Patterns
Translation
Analysis:
of Results
- consisteny/ compatibility,
Story - identify missing scenarios
Pattners
Regina Hebig, CoMetS’12, 26-27 June 2012 Simulating Actions of Stakeholders 14
22. Simulation Loops: Play-Out I
Interactive Simulator
Visualization
for
Moviegoer Moviegoer
(simulated)
Seller
Behavioral Behavioral
Models Models of
Seller
Regina Hebig, CoMetS’12, 26-27 June 2012 Simulation Loops 15
23. Simulation Loops: Play-Out I
Interactive Simulator
Visualization
for
Moviegoer Moviegoer
(simulated)
Seller
Behavioral Behavioral
Models Models of
Seller
simulator
wait for check for [at least one [no SP belonging to g) chooses SP
b) c)
participants available SP SP available] participant available] to execute
load initial
a)
process state
start
end [else]
notify [final execute
n) h)
participants state chosen SP
observed]
• Step g is a random or strategy based choice
Regina Hebig, CoMetS’12, 26-27 June 2012 Simulation Loops 16
24. Simulation Loops: Play-Out I
Interactive Simulator
Visualization simulator
wait for check for [at least one [no SP belonging to
for b)
participants
c)
available SP SP available] participant available]
g) chooses SP
to execute
Moviegoer Moviegoer load initial
(simulated) a)
process state
Seller start
end [else]
Behavioral Behavioral n)
notify [final execute
h)
Models Models of participants state
observed]
chosen SP
Seller
• Simulation of seller:
SPc
sn+1 :TimeSlot knows :Ticket
john knows goodFather knows
:Ticket ++has
:Moviegoer :MovieTitle
:Moviegoer :Visit this:Seller
knows :Visit knows has
knows
evening
jane:Seller
:TimeSlot knows :MovieTitle knows
SPd
sn+2 :Visit
john knows goodFather
:Moviegoer :MovieTitle
has
knows :Visit knows :Moviegoer this:Seller
evening
:Ticket jane:Seller
:TimeSlot knows
:Ticket
++has --has
Regina Hebig, CoMetS’12, 26-27 June 2012 Simulation Loops 17
25. Simulation Loops: Play-Out II
Simulator
Interactive
Visualization
for Seller
Seller (simulated)
Moviegoer
Behavioral Behavioral
Behavioral Models of Models of
Models Seller Moviegoer
Regina Hebig, CoMetS’12, 26-27 June 2012 Simulation Loops 18
26. Simulation Loops: Play-Out II
Simulator
Interactive
Visualization
for Seller
Seller (simulated)
Moviegoer
Behavioral Behavioral
Behavioral Models of Models of
Models Seller Moviegoer
[at least one SP available] [no SP belonging to participant available] simulator
wait for check for
b) c) g) chooses SP
participants available SP
to execute
[at least one SP belonging
to participant available]
load initial
a)
process state propose participant's
j)
available SPs in GUI
start
[participant wants
highlight SPs simulator to continue]
k) already observed in
identical sequence
end [else]
[else] [participant
notify [final state
chooses SP]
n) observed]
participants
execute
h)
chosen SP
• Available options proposed to user in natural language
Regina Hebig, CoMetS’12, 26-27 June 2012 Simulation Loops 19
27. Simulation Loops: Play-Out II
Simulator
Interactive
Visualization b)
wait for
c)
check for [at least one SP available] [no SP belonging to participant available] simulator
g) chooses SP
participants available SP
for Seller [at least one SP belonging
to execute
Seller (simulated) a)
load initial
to participant available]
process state propose participant's
j)
Moviegoer available SPs in GUI
start
[participant wants
highlight SPs simulator to continue]
k) already observed in
identical sequence
end [else]
Behavioral Behavioral [else] [participant
Behavioral Models of Models of n)
notify
participants
[final state
observed]
chooses SP]
execute
Models Seller Moviegoer
h)
chosen SP
• Proposed (previously observed) action for seller:
Regina Hebig, CoMetS’12, 26-27 June 2012 Simulation Loops 20
28. Simulation Loops: Play-In
Simulator
Interactive
Visualization
for Seller
Seller
(simulated)
Derive from Moviegoer
Session
Behavioral Behavioral
Behavioral Models of
Models Models of
Moviegoer
Seller
Regina Hebig, CoMetS’12, 26-27 June 2012 Simulation Loops 21
29. Simulation Loops: Play-In
Simulator
Interactive
Visualization
for Seller
Seller
(simulated)
Derive from Moviegoer
Session
Behavioral Behavioral
Behavioral Models of
Models Models of
Moviegoer
Seller
[at least one SP available] [no SP belonging to participant available] simulator
wait for check for
b) c) g) chooses SP
participants available SP
[no SP to execute
[at least one SP belonging
available] to participant available]
load initial observe GUI action
a) d) propose participant's
process state of participant j)
available SPs in GUI
start [participant wants
synchronize state highlight SPs
e) simulator to continue]
with GUI action k) already observed in
identical sequence
end [else] derive SP based
f)
on changes [else]
notify [final state [participant chooses SP]
n) observed]
participants
synchronize GUIs of execute
m) h)
affected participants chosen SP
• Deriving story patterns from succeeding states
Regina Hebig, CoMetS’12, 26-27 June 2012 Simulation Loops 22
30. Simulation Loops: Play-In
Simulator
Interactive
Visualization b)
wait for
c)
check for [at least one SP available] [no SP belonging to participant available] simulator
g) chooses SP
participants available SP
for Seller [no SP
available]
[at least one SP belonging
to participant available]
to execute
Seller a)
load initial observe GUI action
(simulated) process state d)
of participant j)
propose participant's
available SPs in GUI
Derive from Moviegoer start
synchronize state [participant wants
e) highlight SPs simulator to continue]
with GUI action
Session k) already observed in
identical sequence
end [else] derive SP based
f)
on changes
Behavioral Behavioral [else]
Behavioral Models of
n)
notify
participants
[final state
observed]
[participant chooses SP]
Models Models of m)
synchronize GUIs of
affected participants
h)
execute
chosen SP
Moviegoer
Seller
• Observation of seller’s behavior:
Precondition sn
john knows goodFather
:Moviegoer :MovieTitle
SPc
:Ticket
knows :Visit knows
:TimeSlot ++has evening
knows jane:Seller
:TimeSlot knows
knows
:Moviegoer :Visit this:Seller sn+1 Which artifact do
you want to create?
john knows goodFather
knows :Ticket
:Moviegoer :MovieTitle Ticket
:MovieTitle knows
knows :Visit knows has
Money
evening
jane:Seller Promotional Material
:TimeSlot knows
Postcondition
Regina Hebig, CoMetS’12, 26-27 June 2012 Simulation Loops 23
31. Simulation Loops: Play-In
Simulator
Interactive
Visualization b)
wait for
c)
check for [at least one SP available] [no SP belonging to participant available] simulator
g) chooses SP
participants available SP
for Seller [no SP
available]
[at least one SP belonging
to participant available]
to execute
Seller a)
load initial observe GUI action
(simulated) process state d)
of participant j)
propose participant's
available SPs in GUI
Derive from Moviegoer start
synchronize state [participant wants
e) highlight SPs simulator to continue]
with GUI action
Session k) already observed in
identical sequence
end [else] derive SP based
f)
on changes
Behavioral Behavioral [else]
Behavioral Models of
n)
notify
participants
[final state
observed]
[participant chooses SP]
Models Models of m)
synchronize GUIs of
affected participants
h)
execute
chosen SP
Moviegoer
Seller
• Observation of seller’s behavior:
Precondition sn
john knows goodFather
:Moviegoer :MovieTitle
SPc
:Ticket
knows :Visit knows
:TimeSlot ++has evening
knows jane:Seller
:TimeSlot knows
knows
:Moviegoer :Visit this:Seller sn+1 Which artifact do
you want to create?
john knows goodFather
knows :Ticket
:Moviegoer :MovieTitle Ticket
:MovieTitle knows
knows :Visit knows has
Money
evening
jane:Seller Promotional Material
:TimeSlot knows
Postcondition
Regina Hebig, CoMetS’12, 26-27 June 2012 Simulation Loops 23
32. Conclusions
Configure
RE Domain Model
StH
IR
StH Elicitation/
Validation Translation/
Integration
StH
IR Story
Patterns
Translation
Analysis:
of Results
- consisteny/ compatibility,
Story - identify missing scenarios
Pattners
⇒ Reduced elicitation/validation loop for collaborative scenarios
Regina Hebig, CoMetS’12, 26-27 June 2012 Simulation Loops 24