Goal and Scenario Validation: a Fluent Combination Chin-Yi Tsai.

Post on 16-Dec-2015

218 views 2 download

Tags:

Transcript of Goal and Scenario Validation: a Fluent Combination Chin-Yi Tsai.

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