Download presentation
Presentation is loading. Please wait.
Published byBarnard Anderson Modified over 8 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.