Requirement Engineering with URN: Integrating Goals and Scenarios Jean-François Roy Thesis Defense February 16, 2007.

Slides:



Advertisements
Similar presentations
International Telecommunication Union © ITU-T Study Group 17 Integrated Application of URN Daniel Amyot University of Ottawa, Canada
Advertisements

Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
2009 – E. Félix Security DSL Toward model-based security engineering: developing a security analysis DSML Véronique Normand, Edith Félix, Thales Research.
Based on Powerpoint slides by Gunter Mussbacher, Gregor v. Bochmann User Requirements Notation (URN) SEG3101 (Fall 2010)
Goal Modeling and GRL Gregor v. Bochmann, University of Ottawa
UML Profile for Goal-oriented Modelling Muhammad Rizwan Abid Supervising Professors: Daniel Amyot Stéphane Sotèg Somé.
Object-Oriented Software Development CS 3331 Fall 2009.
CSI5112 Software Engineering Team: Andrei Anisenia Margi Fumtiwala.
Software Testing and Quality Assurance
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
® IBM Software Group © 2008 IBM Corporation RSM and UML 13 june 2008 Fredrik Ferm – ECAT Strategy Team Lead
Outline Chapter 1 Hardware, Software, Programming, Web surfing, … Chapter Goals –Describe the layers of a computer system –Describe the concept.
Course Instructor: Aisha Azeem
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Architecture Description Markup Language (ADML) What does it mean? Why should a tools vendor care?
Software Architecture. Agenda " Why architect? " What is architecture? " What does an architect do? " What principles guide the process of architecting?
Company LOGO Business Process Monitoring and Alignment An Approach Based on the User Requirements Notation and Business Intelligence Tools Pengfei Chen.
Visualization By: Simon Luangsisombath. Canonical Visualization  Architectural modeling notations are ways to organize information  Canonical notation.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Thirteenth Lecture Hour 8:30 – 9:20 am, Sunday, September 16 Software Management Disciplines Process Automation (from Part III, Chapter 12 of Royce’ book)
Integration of User Requirements Notation (URN) and DOORS with URNtoDOORS SEG3201 Fall 2006.
An Introduction to Software Architecture
TOWARDS ADVANCED GOAL MODEL ANALYSIS WITH JUCMNAV Daniel Amyot, Azalia Shamsaei, Jason Kealey, Etienne Tremblay, Andrew Miga, Gunter Mussbacher, and Mohammad.
Architecture-Based Runtime Software Evolution Peyman Oreizy, Nenad Medvidovic & Richard N. Taylor.
1 GRL Tools JUCMNav vs. OpenOME CSI5112 – Project Winter 2008 Bo Peng, Li Chen, Yessine Daadaa.
Sheet 1 / 21© in Bonn - 21 March 2006 Identification of Crosscutting in Software Design Klaas van den Berg – University.
1 Sobah Abbas Petersen Adjunct Associate Professor TDT4252 Modelling of Information Systems Advanced Course Lecture 5: i*modelling.
Jan 20-21, 2005Weiss and Amyot, MCETECH 051 Designing and Evolving Business Models with the User Requirements Notation Michael Weiss (Carleton University)
What is MOF? The Meta Object Facility (MOF) specification provides a set of CORBA interfaces that can be used to define and manipulate a set of interoperable.
Validated Model Transformation Tihamér Levendovszky Budapest University of Technology and Economics Department of Automation and Applied Informatics Applied.
Vision The ultimate IDE/CASE tool should supports all steps in the software development process. Current tools perform only minimal semantic-level analysis.
1 Presentation and tool by Jason Kealey University of Ottawa CSI5180 Automatic conversion of Use Cases to Use Case Maps.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
Abstract Use Case Map (UCM) scenarios are useful for elicitation and analysis of software requirements However, they must be used in cooperation with complementary.
Information Systems Engineering. Lecture Outline Information Systems Architecture Information System Architecture components Information Engineering Phases.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Evaluation of Development Tools for Domain-Specific Modeling Languages D. Amyot, H. Farah, J.-F. Roy with contributions from Y. Chu and N. Janmohamed SAM.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Hybrid Transformation Modeling Integrating a Declarative with an Imperative Model Transformation Language Pieter Van Gorp
For Goal-Driven Business Process Modeling Saeed A.Behnam,  Daniel Amyot, Gunter Mussbacher SITE, University of.
A Lightweight GRL Profile for i* Modeling Presenter: Alexei Lapouchnian Daniel Amyot, Jennifer Horkoff, Daniel Gross, and Gunter Mussbacher {damyot,
ModelPedia Model Driven Engineering Graphical User Interfaces for Web 2.0 Sites Centro de Informática – CIn/UFPe ORCAS Group Eclipse GMF Fábio M. Pereira.
Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto.
Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.
Adding a Textual Syntax to an Existing Graphical Modeling Language: Experience Report with GRL Vahdat Abdelzad, Daniel Amyot, Timothy Lethbridge University.
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
Gregor v. Bochmann, University of Ottawa Based on Powerpoint slides by Gunter Mussbacher(2009) with material from Amyot User Requirements Notation (URN)
Generating Software Documentation in Use Case Maps from Filtered Execution Traces Edna Braun, Daniel Amyot, Timothy Lethbridge University of Ottawa, Canada.
Formal Specification: a Roadmap Axel van Lamsweerde published on ICSE (International Conference on Software Engineering) Jing Ai 10/28/2003.
® IBM Software Group © 2009 IBM Corporation Essentials of Modeling with IBM Rational Software Architect, V7.5 Module 18: Applying Patterns and Transformations.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
UML Profile BY RAEF MOUSHEIMISH. Background Model is a description of system or part of a system using well- defined language. Model is a description.
Documenting an Architecture 10 pages, half pictures.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Metadata Driven Aspect Specification Ricardo Ferreira, Ricardo Raminhos Uninova, Portugal Ana Moreira Universidade Nova de Lisboa, Portugal 7th International.
1 Towards Integrated Tool Support for the User Requirements Notation Jean-François Roy
Introduction to UML and Rational Rose UML - Unified Modeling Language Rational Rose 98 - a GUI tool to systematically develop software through the following.
SysML v2 Formalism: Requirements & Benefits
Introduction to Eclipse Process Framework: EPF Composer and OpenUP
Daniel Amyot and Jun Biao Yan
Model-Driven Analysis Frameworks for Embedded Systems
Informatics 121 Software Design I
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
Documenting an Architecture
Architecture Description Languages
An Introduction to Software Architecture
Automated Analysis and Code Generation for Domain-Specific Models
Presentation transcript:

Requirement Engineering with URN: Integrating Goals and Scenarios Jean-François Roy Thesis Defense February 16, 2007

Requirement Engineering with URN: Integrating Goals and Scenarios 2 Outline Context and Motivation Alternatives Considered Contributions –Integrated URN Metamodel –Integrated URN Tool –GRL Catalogues –URN Links –GRL Strategies –Evaluation Algorithm –Actor Labels –Links Between URN and External Requirements Validation Future Work

Requirement Engineering with URN: Integrating Goals and Scenarios 3 Context URN combines two views: –Use Case Maps (UCM) for operational scenarios over architectural components –Goal Requirements Language (GRL) to model goals, requirements, alternatives and rationales. Tool support for each view, but in isolation No integrated solution for complete URN model –Prevents exploiting URN to its fullest extent

Requirement Engineering with URN: Integrating Goals and Scenarios 4 Motivation Combine goals and scenarios for expressing and reasoning about functional and non-functional requirements Develop a tool to support both views Provide model analysis features Support reusability of models Support links with other types of requirements

Requirement Engineering with URN: Integrating Goals and Scenarios 5 Goals

Requirement Engineering with URN: Integrating Goals and Scenarios 6 Tool Alternatives

Requirement Engineering with URN: Integrating Goals and Scenarios 7 Contributions of the Tools Common Metamodel Graphical Completeness UsabilityReusing Developed Models Goal and Scenario Analysis Links with External Requirements New Tools GMEMakeSome Negative Some Positive Hurt XMF MosaicMakeBreakHurtHelp Hurt Rational Software Architect MakeBreakHurtSome Negative Help Telelogic Tau G2MakeHurtSome Negative Some Positive Help Existing Tools GRToolBreak Some Negative UnknownSome Positive Hurt OME/OpenOMEMakeBreakSome Negative HelpSome Positive Unknown TAOM4EMakeSome Positive HelpUnknownSome Negative Unknown SanDriLaBreak Some Negative Hurt jUCMNav 1.0Help

Requirement Engineering with URN: Integrating Goals and Scenarios 8 Integrated URN Metamodel 2 metamodels: Abstract and Implementation. –Split the core URN concepts (for the standard) from graphical layout information and elements/attributes with no semantic impact (for the tool). 4 main packages: URN, URNcore, GRL and UCM –URN package defines links between UCM and GRL –GRL and UCM packages define the constructs of both sub-views –URNcore package now defines common concept of the notation Diagrams Nodes Links Containers Container References

Requirement Engineering with URN: Integrating Goals and Scenarios 9 jUCMNav GRL Editor in jUCMNav Takes advantage of the Eclipse views (hierarchical/graphical outline, properties, resources) Improved usability: drag & drop editing, group manipulation, undo/redo, autolayout, … Multiple URN diagrams in the same model Element definitions/references (actors and intentional elements) Only allows creating syntactically valid models

Requirement Engineering with URN: Integrating Goals and Scenarios 10

Requirement Engineering with URN: Integrating Goals and Scenarios 11 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

Requirement Engineering with URN: Integrating Goals and Scenarios 12 Integrating UCM and GRL: URN Links Provide traceability links between elements of both sub-views Improve consistency between GRL and UCM Used during model analysis Supported Links –Intentional Elements  Responsibilities –Intentional Elements  Components –Intentional Elements  Maps –Actors  Responsibilities –Actors  Components –Actors  Maps

Requirement Engineering with URN: Integrating Goals and Scenarios 13 GRL Strategies User defined sets of initial evaluations Allow comparing the results of intentional element evaluations Implemented using the Scenarios and Strategies view Numerical interpretation of the satisfaction levels Evaluation of the impact of strategies on the operational and architectural aspects, using URN links jUCMNav supports exporting GRL strategy results to comma-separated value files (CSV)

Requirement Engineering with URN: Integrating Goals and Scenarios 14 Quantitative Versus Qualitative Evaluation Quantitative satisfaction levels offer granular representation of evaluations Evaluations between -100 and 100

Requirement Engineering with URN: Integrating Goals and Scenarios 15

Requirement Engineering with URN: Integrating Goals and Scenarios 16 Evaluation Algorithm New propagation algorithm for numerical evaluations Supports cycles and automatic conflict resolution Use all intentional element link types to calculate the evaluation –Decompositions: Standard AND/OR graph –Contributions: Contribution types convert in numerical values Use a configurable tolerance parameter Result is normalized between -100 and 100 if it is out of bounds –Dependencies: Minimal evaluation value of the dependees

Requirement Engineering with URN: Integrating Goals and Scenarios 17 Algorithm Implementation Strategy design pattern Use 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);

Requirement Engineering with URN: Integrating Goals and Scenarios 18 Actor Labels Actor global satisfaction labels Help visualize tradeoffs between stakeholders. Computed using priority and criticality of intentional element references bound to actors Priority = Low Criticality = None Priority = None Criticality = High

Requirement Engineering with URN: Integrating Goals and Scenarios 19 URN Models and DOORS Complement textual requirements using URN Create links between URN models and external requirements Provide synchronization mechanism to support evolving requirements Use jUCMNav export mechanism to create DOORS eXtension Language (DXL) scripts Extend the UCM DXL library in DOORS to support integrated URN models

Requirement Engineering with URN: Integrating Goals and Scenarios 20 Metamodel of GRL in DOORS

Requirement Engineering with URN: Integrating Goals and Scenarios 21

Requirement Engineering with URN: Integrating Goals and Scenarios 22 Validation GRL editor implemented with undoable commands containing preconditions and postconditions (Java assertions). More than 100 automated test cases. 2 case studies (web application and credit card gateway). Used by research groups and 35 students in a requirements analysis course. 2 publications at SAM 2006.

Requirement Engineering with URN: Integrating Goals and Scenarios 23 Future Work Combine GRL strategies and UCM scenarios to measure the impact of strategic decisions on architectural model Develop new analysis algorithms for GRL strategies (such as top-down algorithm or actor maximization algorithm) Develop a graphical comparison mechanism between two URN models Implement the change report in the DXL library to support the integrated URN model