1 Towards Integrated Tool Support for the User Requirements Notation Jean-François Roy Jason Kealey Daniel Amyot SITE, University of Ottawa
Outline Context Metamodel jUCMNav Integrating UCM and GRL Model Analysis Capabilities Future Work Demo
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
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
Motivation Develop a tool that supports both views Integrate these views by linking elements Provide model analysis features Support reusability of models
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
Abstract Metamodel
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
Implementation Metamodel
UCM Implementation Metamodel
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
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
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
Integrating UCM and GRL Provides traceability links between elements of both notations Used during model analysis Improved consistency between views
Supported URN Links - Intentional Elements Responsibilities - Intentional Elements Components - Intentional Elements Maps - Actors Components - Actors Responsibilities - Actors Maps - Others to come
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
Numerical Evaluation Evaluation between -100 and 100. E = > Denied -100 Weakly Denied E = 0 -> Undecided 0 Weakly Satisficed 100 -> Satisficed
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.
Decompositions Calculated as a standard And/Or graph And Decomposition Or Decomposition
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 = Hurt = -0.5 Break = -1
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.
Examples
Dependencies Intentional element evaluation is set to the minimal value in the set of dependees evaluation or it current evaluation
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);
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
Actor Evaluation Example Priority = Low Criticality = None Priority = None Criticality = High
jUCMNav Extensibility jUCMNav plugin to export/synchronize URN models to/with Telelogic DOORS
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.
Demo