Goal and Scenario Validation: a Fluent Combination Chin-Yi Tsai
Dec 16, 2015
Goal and Scenario Validation: a Fluent Combination
Chin-Yi Tsai
2
Introduction
• Scenarios and goal are effective techniques for requirements definition.Goals are objectives that a system has to meet.Scenarios are operational examples of system usage
• Scenario-based specificationMSC (message sequence charts)UML sequence diagram
• GoalGoal tree/graph
3
Introduction (Cont’d)
• Inferring declarative requirements from operational scenario
4
Introduction (Cont’d)• Validation is a key requirements activity.
• Animation is an effective validation technique. This paper shows that combining goals with scenarios can results in effective animation to ensure that they represent what stakeholders actually want.
• Animation Step through Visual State is implicit?
• To present a meaningful animation to a stakeholder, the choice of states to visualize must relate to the concern of the stakeholder participating in the animation.
• System behavior --driven by--- scenario• Stakeholder perspective• Relates to goal
Behavior model
5
Introduction (Cont’d)
• Use fluent linear temporal logic (FLTL) formulas to express goals that can be formulated in terms of predicates whose values depend on system events.
• Fluents are abstractions of system state specified in terms of the occurrence of events such as those that appear in operational scenarios.
6
Message Sequence Charts and Behavior Models
7
Message Sequence Charts and Behavior Models (Cont’d)
• We use LTSs (Labeled Transition Systems) to model the behaviour of communicating components in a concurrent system.
• A LTS is a state transition system where transitions are labelled.
• Use LTS synthesis technique to automate the construction of behavior model from MSC.
8
Goals and Fluents
• We use goals in the spirit of van Lamsveerde’s goaloriented requirements engineering approachKAOS
A pair of sets
A set of initiating actionsA set of terminating
actions
9
Animation
• Animation is performed by three components: an animator, a visualiser and a participant
• The animator component uses a behaviour model in the form of a LTS that is the result of the LTS synthesis from the given scenarios.
• The animator uses the behaviour model to react to events controlled by the animation participants.
10
Specifying Visualisation Using Fluents
• We associate fluent expressions with visualisation elements by means of showwhen rules.
• In the context of the LTSA tool, these rules are encoded in XML.
11
Model Checking Goals
• Animation techniques are effective to support validation and elaboration, they rely on participants exploring system behaviour sufficiently thoroughly as to cover relevant situations.
• A complementary approach is to use model checking techniques to find traces of particular interest and to use them to direct the animation.
• The animation can lead participants through uses of the system that need special consideration.
• Model checking of goals expressed in FLTL (fluent linear temporal logic)
12
Multi-Participant Animation
• Supporting multi-participant animations
• These animations allow stakeholders to explore how the behaviors of system entities affects each other.
13
Experience
14
15
Conclusion
• Visualization can be constructed based on abstract system statesGenerality and flexibilityAllow engineers to produce animation that have a concrete
relation to the goal
scenario goal
validation
animation participant