150 likes | 250 Views
Goal and Scenario Validation: a Fluent Combination. Chin-Yi Tsai. 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
E N D
Goal and Scenario Validation: a Fluent Combination Chin-Yi Tsai
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
Introduction (Cont’d) • Inferring declarative requirements from operational scenario
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
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.
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.
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
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.
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.
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)
Multi-Participant Animation • Supporting multi-participant animations • These animations allow stakeholders to explore how the behaviors of system entities affects each other.
participant animation validation scenario goal 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