150 likes | 258 Vues
This paper explores the effective use of scenarios and goals in requirements definition by combining them fluently. It showcases how animation, when combined with goals and scenarios, can validate stakeholder needs effectively. The integration of goals with scenarios is demonstrated to ensure alignment with stakeholder expectations and drive animation validation. Various techniques such as MSC, UML sequence diagrams, and FLTL formulas are utilized to express goals and behaviors effectively, supporting multi-participant animations for system validation. The paper emphasizes the importance of goal-oriented requirements engineering for constructing meaningful animations that align with the project's objectives.
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