Presentation on theme: "Goal and Scenario Validation: a Fluent Combination Chin-Yi Tsai."— Presentation transcript:
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 specification MSC (message sequence charts) UML sequence diagram Goal Goal 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 approach KAOS A pair of sets A set of initiating actions A 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.
15 Conclusion Visualization can be constructed based on abstract system states Generality and flexibility Allow engineers to produce animation that have a concrete relation to the goal scenariogoal validation animation participant