Requirements Modeling with the Aspect-oriented

0 downloads 0 Views 1MB Size Report
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

Suggest Documents