Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Towards Integrated Tool Support for the User Requirements Notation Jean-François Roy

Similar presentations


Presentation on theme: "1 Towards Integrated Tool Support for the User Requirements Notation Jean-François Roy"— Presentation transcript:

1 http://jucmnav.softwareengineering.ca 1 Towards Integrated Tool Support for the User Requirements Notation Jean-François Roy (jroy@site.uottawa.ca)jroy@site.uottawa.ca Jason Kealey Daniel Amyot SITE, University of Ottawa

2 http://jucmnav.softwareengineering.ca2 Outline Context Metamodel jUCMNav Integrating UCM and GRL Model Analysis Capabilities Future Work Demo

3 http://jucmnav.softwareengineering.ca3 User Requirement Notation (URN) URN combines two views: - Use Case Maps (UCM): operational scenarios over architectural components - Goal Requirements Language (GRL): modeling goals, requirements, alternatives and rationales. URN language requirements defined in Z.150

4 http://jucmnav.softwareengineering.ca4 Notations in isolation Tool support for each view in isolation:  UCMNav: Supports UCM notation, but has usability and maintainability issues  OpenOME: Supports multiple goal/agent notations including GRL No integrated solution for complete URN models

5 http://jucmnav.softwareengineering.ca5 Motivation Develop a tool that supports both views Integrate these views by linking elements Provide model analysis features Support reusability of models

6 http://jucmnav.softwareengineering.ca6 Metamodel Structure 2 metamodels: abstract and implementation 4 main packages: URN, URNcore, GRL, UCM URNcore package defines basic concept for both notations URN package defines links between UCM and GRL

7 http://jucmnav.softwareengineering.ca7 Abstract Metamodel

8 http://jucmnav.softwareengineering.ca8 From Abstract to Implementation Add visual elements: Attributes: - position (x, y) - size (height, width) - color - … Classes: - links routing Abstract elements common to both UCM and GRL - graphs - nodes - links - containers - container references

9 http://jucmnav.softwareengineering.ca9 Implementation Metamodel

10 http://jucmnav.softwareengineering.ca10 UCM Implementation Metamodel

11 http://jucmnav.softwareengineering.ca11 jUCMNav Eclipse plug-in Open-source application available under the Eclipse Public License (EPL) Uses the Eclipse Modeling Framework (EMF) and the Graphical Modeling Framework (GEF) First developed as a replacement for UCMNav User interface follows Eclipse standards

12 http://jucmnav.softwareengineering.ca12 Basic Editing Features jUCMNav takes advantage of the Eclipse views (hierarchical/graphical outline, properties, resources) Improved usability: drag & drop editing, group manipulation, unlimited undo/redo, … Multiple element references Autolayout mechanism Only allows the creation of syntactically valid models jUCMNav

13 http://jucmnav.softwareengineering.ca13

14 http://jucmnav.softwareengineering.ca14

15 http://jucmnav.softwareengineering.ca15 Reusability: GRL Catalogues Export GRL definitions for reuse in other models Catalogue Catalogue name, Description, Author Intentional Element Id, Name, Description, Type, Decomposition Type Decomposition Name, Description, Source id, Destination id Contribution Name, Description, Source id, Destination id, Contribution type, Correlation Dependency Name, Description, Dependee id, Depender id

16 http://jucmnav.softwareengineering.ca16 Integrating UCM and GRL Provides traceability links between elements of both notations Used during model analysis Improved consistency between views

17 http://jucmnav.softwareengineering.ca17 Supported URN Links - Intentional Elements  Responsibilities - Intentional Elements  Components - Intentional Elements  Maps - Actors  Components - Actors  Responsibilities - Actors  Maps - Others to come

18 http://jucmnav.softwareengineering.ca18 GRL Strategies User defined sets of initial evaluations Evaluation propagated in the model Implemented using the strategies view Numerical interpretation of the satisfaction levels Evaluation of the impact of strategies on the operational and architectural aspects, using URN links

19 http://jucmnav.softwareengineering.ca19 Numerical Evaluation Evaluation between -100 and 100. E = -100 -> Denied -100 Weakly Denied E = 0 -> Undecided 0 Weakly Satisficed 100 -> Satisficed

20 http://jucmnav.softwareengineering.ca20 Propagation Algorithm Developed a new propagation algorithm for numerical evaluations Supports automatic conflict resolution Uses all link types to calculate the evaluation Decompositions, Contributions and Dependencies.

21 http://jucmnav.softwareengineering.ca21 Decompositions Calculated as a standard And/Or graph And Decomposition Or Decomposition

22 http://jucmnav.softwareengineering.ca22 Contributions Suppose E, the evaluation value of an intentional element after the decomposition calculation with N contributions. For each contribution, convert the contribution level to the corresponding factor (LEV): Make = 1 Help = 0.5 Some Positive = 0.25 Unknown = 0 Some Negative = -0.25 Hurt = -0.5 Break = -1

23 http://jucmnav.softwareengineering.ca23 Contributions Normalize non-zero source element evaluations for each contribution to a value between 0 and 100 (0 for denied, 100 for satisficed) – NEVAL Calculate the Total Contribution value (TCON): If (TCON >= 100): TCON = 99 Else If (TCON <= -100): TCON = -99 Calculate the target evaluation by adding TCON to evaluation E.

24 http://jucmnav.softwareengineering.ca24 Examples

25 http://jucmnav.softwareengineering.ca25 Dependencies Intentional element evaluation is set to the minimal value in the set of dependees evaluation or it current evaluation

26 http://jucmnav.softwareengineering.ca26 Algorithm Implementation Strategy design pattern. Using Eclipse extension points, new algorithms can be added easily. public void init(EvaluationStrategy strategy, HashMap evaluations); public boolean hasNextNode(); public IntentionalElement nextNode(); public int getEvaluation(IntentionalElement element);

27 http://jucmnav.softwareengineering.ca27 Actor Evaluation New evaluation to deal with negotiation between stakeholders. Helps analyzing and comparing the satisfaction levels of each actor based on the selected strategy Computed from priority and criticality of intentional element references bound to actors

28 http://jucmnav.softwareengineering.ca28 Actor Evaluation Example Priority = Low Criticality = None Priority = None Criticality = High

29 http://jucmnav.softwareengineering.ca29 jUCMNav Extensibility jUCMNav plugin to export/synchronize URN models to/with Telelogic DOORS

30 http://jucmnav.softwareengineering.ca30 Future Work Add missing UCM notation elements Extend jUCMNav to support scenario definitions Export to Core Scenario Model format for performance modeling Add a simple data model compatible with SDL Add other analysis capabilities to measure the impact of strategic decisions on the scenario and architectural aspects of the model Work on further URN links and improve the modeling and analysis process based on those links Develop further analysis algorithms for the GRL strategies.

31 http://jucmnav.softwareengineering.ca31 Demo http://jucmnav.softwareengineering.ca


Download ppt "1 Towards Integrated Tool Support for the User Requirements Notation Jean-François Roy"

Similar presentations


Ads by Google