Apr 12, 2010 - 2010 Gunter Mussbacher, Daniel Amyot, João Araújo, Ana Moreira. Table of Contents. • Overview of the User Requirements Notation (URN).
April 12, 2010
Requirements Modeling with the Aspect-oriented User Requirements Notation (AoURN): A Case Study Gunter Mussbacher, Daniel Amyot, João Araújo, Ana Moreira SITE, University of Ottawa, Canada ◄► {damyot | gunterm}@site.uottawa.ca CITI/FCT, Universidade Nova de Lisboa ◄► {ja | amm}@di.fct.unl.pt
Table of Contents • Overview of the User Requirements Notation (URN) • Overview of Aspect-oriented User Requirements Notation (AoURN) • AoURN Modeling Process • CCCMS Model Demo with jUCMNav • Aspect-oriented Use Case Maps (AoUCM) in a Nutshell • Aspect-oriented GRL (AoGRL) in a Nutshell • Concern Interaction Graph (CIG)
• Summary • Appendix
2 April 12, 2010. Requirements Modeling with the Aspect-oriented User Requirements Notation (AoURN): A Case Study. © 2010 Gunter Mussbacher, Daniel Amyot, João Araújo, Ana Moreira
URN Overview
AoURN Overview
AoURN Modeling Process
CCCMS Model Demo
AoUCM
AoGRL
CIG
Summary
User Requirements Notation (URN): Overview (1) • URN is a semi-formal, lightweight graphical language for modeling and •
analyzing requirements in the form of goals and scenarios Combines two existing notations • Goal-oriented Requirement Language (GRL) (based on i* & NFR Framework) • Use Case Maps (UCMs)
• Support for the elicitation, analysis, specification, and validation of • •
requirements Allows systems/software/requirements engineers to discover and specify requirements for a proposed or an evolving system, and analyse such requirements for correctness and completeness URN models can be used to specify and analyze various types of reactive systems, business processes, and telecommunications standards
• jUCMNav: URN editor & analysis tool, Eclipse plugin, open source project URN: www.usecasemaps.org/urn
jUCMNav: www.softwareengineering.ca/jucmnav
Virtual Library: www.usecasemaps.org/pub 3
April 12, 2010. Requirements Modeling with the Aspect-oriented User Requirements Notation (AoURN): A Case Study. © 2010 Gunter Mussbacher, Daniel Amyot, João Araújo, Ana Moreira
URN Overview
AoURN Overview
AoURN Modeling Process
CCCMS Model Demo
AoUCM
AoGRL
CIG
Summary
User Requirements Notation (URN): Overview (2) vision
GRL
Model business goals, stakeholders’ priorities, alternative solutions, rationale, and decisions
traceability with URN links
extensible with metadata
UCM
Model & test use cases; investigate high level architecture; transform to more detailed models
called strategies, compared with GRL evaluation mechanism with UCM traversal mechanism based on UCM scenario definitions
more detailed models
• A GRL / UCM model visually communicates business objectives and constraints / high-level functional requirements to all stakeholders 4 April 12, 2010. Requirements Modeling with the Aspect-oriented User Requirements Notation (AoURN): A Case Study. © 2010 Gunter Mussbacher, Daniel Amyot, João Araújo, Ana Moreira
URN Overview
AoURN Overview
AoURN Modeling Process
CCCMS Model Demo
AoUCM
AoGRL
CIG
Summary
ITU-T Z.151: URN – Language Definition • URN is the first and currently only standard which explicitly addresses goals (non-functional requirements with GRL) in addition to scenarios (functional requirements with UCMs) in a graphical way in one unified language • International Telecommunication Union (ITU-T Z.150 series) • ITU-T Z.150 (02/03): User Requirements Notation (URN) - Language requirements and framework • ITU-T Z.151 (11/08): User requirements notation (URN) - Language definition
• Part of the ITU family of languages: SDL, MSC, TTCN-3, ASN.1… • Definition of URN in Recommendation Z.151 (approved November 2008) • Metamodel, abstract/concrete syntaxes, semantics… ITU-T Z.150: http://www.itu.int/rec/T-REC-Z.150/en
ITU-T Z.151: http://www.itu.int/rec/T-REC-Z.151/en 5
April 12, 2010. Requirements Modeling with the Aspect-oriented User Requirements Notation (AoURN): A Case Study. © 2010 Gunter Mussbacher, Daniel Amyot, João Araújo, Ana Moreira
URN Overview
AoURN Overview
AoURN Modeling Process
CCCMS Model Demo
AoUCM
AoGRL
CIG
Summary
Aspect-oriented URN (AoURN) • The objective is to deliver a notation and process which unify URN concepts and aspect concepts in one framework in order to encapsulate concerns from the early requirements stage in the software development life cycle
• AoURN = AoUCM + AoGRL
GRL AoGRL Model business goals,
Plus AOM support
stakeholders’ priorities, alternative solutions, rationale, and decisions more detailed models
vision
UCM Model AoUCM Model/test & test use cases;
Plus AOM support
investigate high level architecture; transform to more detailed models AOM … Aspect-oriented Modeling 6 April 12, 2010. Requirements Modeling with the Aspect-oriented User Requirements Notation (AoURN): A Case Study. © 2010 Gunter Mussbacher, Daniel Amyot, João Araújo, Ana Moreira
URN Overview
AoURN Overview
AoURN Modeling Process
CCCMS Model Demo
AoUCM
AoGRL
CIG
Summary
AoURN Modeling Process • >20 non-orthogonal concerns of the CCCMS were modeled with AoURN • Highly iterative, 7 process modules • P1) Identify concerns
P7 P1
P2
• Guidelines (use cases, NFRs, stakeholders)
• P2) Build scenario model with AoUCM
P5
P4 P3 P6
• Assess available information against identified concerns
• P3) Test scenario model • P4) Describe NFRs with AoUCM • Layer non-functional concerns over functional concerns
• P5) Model stakeholder dependencies and impact of functional and nonfunctional concerns on stakeholder goals with AoGRL
• P6) Evaluate the AoGRL goal model • P7) Capture concern dependencies and conflicts with AoURN’s Concern Interaction Graph (CIG) 7 April 12, 2010. Requirements Modeling with the Aspect-oriented User Requirements Notation (AoURN): A Case Study. © 2010 Gunter Mussbacher, Daniel Amyot, João Araújo, Ana Moreira
URN Overview
AoURN Overview
AoURN Modeling Process
CCCMS Model Demo
AoUCM
AoGRL
CIG
Summary
AoURN Tool: CCCMS Model Demo with jUCMNav
Pronounced: juicy – em – nav Juice Up Your Modeling!
http://jucmnav.softwareengineering.ca 8
April 12, 2010. Requirements Modeling with the Aspect-oriented User Requirements Notation (AoURN): A Case Study. © 2010 Gunter Mussbacher, Daniel Amyot, João Araújo, Ana Moreira
URN Overview
AoURN Overview
AoURN Modeling Process
CCCMS Model Demo
AoUCM
AoGRL
CIG
Summary
Aspect-oriented Use Case Maps: In a Nutshell • An aspect defines its structure/behavior (= aspect map) and a pattern called pointcut expression (= pointcut map) for its composition rule stating where to apply the aspect in a model Aspect Map
Base Model Pointcut
start
P
Behavior.before
endSuccess Behavior.after_success
start
1
matched pointcut expression fail
2
R0
Behavior.after_fail
3
endFail
success
R1
Pointcut Map
* Pointcut stub:
The AoView (shown for aspect marker 3) highlights the portion of the aspect map that is inserted. The aspect markers and the AoView effectively construct the composed model using the layout information provided by the modeler when the aspect was defined.
Replacement Pointcut stub: Aspect marker:
P
P
(plug-in bindings (dashed and long-dash-dot-dotted arrows) and matched pointcut expression only shown for illustration purposes – not part of concrete syntax of the AoUCM notation) 9
April 12, 2010. Requirements Modeling with the Aspect-oriented User Requirements Notation (AoURN): A Case Study. © 2010 Gunter Mussbacher, Daniel Amyot, João Araújo, Ana Moreira
URN Overview
AoURN Overview
AoURN Modeling Process
CCCMS Model Demo
AoUCM
AoGRL
CIG
Summary
Aspect-oriented GRL: In a Nutshell • An aspect defines its structure/behavior (= aspect graph + non-marked pointcut graph) and a pattern called pointcut expression (= marked pointcut graph) for its composition rule stating where the aspect is to be applied in a model Aspect Graph High Level Softgoal of Aspect
Pointcut Graph
*
Base Model matched pointcut expression
Stakeholder P
*
Softgoal of Aspect
P
Stakeholder Softgoal A1
AND Stakeholder Goal P
Task of Aspect
P
Stakeholder Goal
AND
Task of Aspect
Pointcut marker:
Stakeholder Softgoal A2
Pointcut deletion marker:
Aspect marker:
The AoView (shown for the right aspect marker) highlights the portion of the pointcut graph that is inserted, again constructing the composed model with the layout information of the aspect. (mapping of pointcut expression to base model (long-dash-dot-dotted arrows) and matched pointcut expression only shown for illustration purposes – not part of AoGRL notation) 10
April 12, 2010. Requirements Modeling with the Aspect-oriented User Requirements Notation (AoURN): A Case Study. © 2010 Gunter Mussbacher, Daniel Amyot, João Araújo, Ana Moreira
URN Overview
AoURN Overview
AoURN Modeling Process
CCCMS Model Demo
AoUCM
AoGRL
CIG
Summary
Concern Interaction Graph (CIG) • The Concern Interaction Graph (CIG) is a special kind of GRL graph that captures dependencies and conflicts between concerns
• Composition occurs in waves taking the precedence rules defined by the concern interaction graph and conditions of concerns (i.e., enabled / disabled) into account
• Each node element on the Stakeholder CIG is assigned Concern 1 to a concern just like Wave 1 groups of URN diagrams are assigned to Stakeholder Concern 2 concerns
Use Case Aspect 1
Non-functional Aspect 1
Wave 2 Non-functional Aspect 3
Wave 4
Use Case Concern 1 Non-functional Aspect 2 Non-functional Aspect 4
Wave 3
11 April 12, 2010. Requirements Modeling with the Aspect-oriented User Requirements Notation (AoURN): A Case Study. © 2010 Gunter Mussbacher, Daniel Amyot, João Araújo, Ana Moreira
URN Overview
AoURN Overview
AoURN Modeling Process
CCCMS Model Demo
AoUCM
AoGRL
CIG
Summary
Summary (1) • AoURN (Aspect-oriented User Requirements Notation) • Unifies goal-oriented, scenario-based, and aspect-oriented concepts in a scalable framework for requirements engineering • Extends the abstract syntax, the concrete syntax, and the semantics of URN with aspect-oriented concepts • Requires almost no changes to the familiar URN notation (syntax remains virtually the same but the existing semantics are clarified and extended)
• AoURN models each use case, each stakeholder’s goals, and each NFR as an aspect • AoURN models all concerns as aspects and therefore follows a more symmetrical, multi-dimensional approach to aspects
• Features of AoURN • Aspects (including pointcut expressions) are fully described in a graphical way • Exhaustive composition of aspects is only limited by the expressive power of URN itself (as opposed to a particular pointcut or composition language) • Aspectual properties and pointcut expressions are defined separately 12 April 12, 2010. Requirements Modeling with the Aspect-oriented User Requirements Notation (AoURN): A Case Study. © 2010 Gunter Mussbacher, Daniel Amyot, João Araújo, Ana Moreira
URN Overview
AoURN Overview
AoURN Modeling Process
CCCMS Model Demo
AoUCM
AoGRL
CIG
Summary
Summary (2) • Advantages • Case study suggests AoURN model exhibits better modularity, reusability, and maintainability than URN model • Encapsulation of (crosscutting) concerns • Less complex GRL graphs and UCMs • AoUCM can model any concern as long as behavior can be specified for it • AoGRL can capture the reasoning about any concern even if behavior cannot be specified for it (possibly to be refined later into an AoUCM scenario model) • Concern interactions and their resolutions captured
• Disadvantages • Complexity shifts to pointcuts (particularly true for data-centric concerns)
• Threats to Validity • Identification of concerns (however NFRs are generally accepted as concerns) • Experience of modelers (AoURN may require more training than URN) • Only applicable to safety-critical applications such as CCCMS? 13 April 12, 2010. Requirements Modeling with the Aspect-oriented User Requirements Notation (AoURN): A Case Study. © 2010 Gunter Mussbacher, Daniel Amyot, João Araújo, Ana Moreira
Appendix: AoURN Notation Overview Concern Interaction Graph: models conflicts and dependencies between concerns Aspect Marker
Aspect Graph: models aspectual properties Pointcut Graph: models pointcut expression and composition rule
P
Pointcut Marker
Aspect Map: models aspectual properties and composition rule Pointcut Map: models pointcut expression
Pointcut Deletion Marker
(a) AoURN Diagrams
…
… …
Aspect Marker
… Local Start / End Points
(b) AoGRL Elements
… …
Aspect Marker (tunnel entrance)
P
… …
Pointcut Stub
P
… …
Aspect Marker (tunnel exit)
…
…
Aspect Marker (conditional tunnel)
…
…
Pointcut Stub Start / End of Anything (for replacement) Pointcut Expression Pointcut Element (C) AoUCM Elements 14
April 12, 2010. Requirements Modeling with the Aspect-oriented User Requirements Notation (AoURN): A Case Study. © 2010 Gunter Mussbacher, Daniel Amyot, João Araújo, Ana Moreira