????,????%20Long%20union%20must%20separate,%20long%20separation%20must%20unite%20%20Discovering%20aspects%20from%20requirements%20goal%20models - PowerPoint PPT Presentation

About This Presentation
Title:

????,????%20Long%20union%20must%20separate,%20long%20separation%20must%20unite%20%20Discovering%20aspects%20from%20requirements%20goal%20models

Description:

SCAN. Yourdon & Constantine, SD, pg.168. FIND: AT LINE 5. VALUE: AT LINE7. SCAN: AT LINE 15. MOVE UNTIL: AT LINE 8. REMOVALL: AT LINE 2. 7. Stan Wagon's bike ... – PowerPoint PPT presentation

Number of Views:44
Avg rating:3.0/5.0
Slides: 35
Provided by: yij5
Category:

less

Transcript and Presenter's Notes

Title: ????,????%20Long%20union%20must%20separate,%20long%20separation%20must%20unite%20%20Discovering%20aspects%20from%20requirements%20goal%20models


1
????,????Long union must separate, long
separation must unite Discovering aspects from
requirements goal models
  • Yijun Yu1Julio C. S. P. Leite2
  • John Mylopoulos1

2
Identify Aspects Early on in the Software
Development Process
  • Our Goal

Our Result
Aspects can be discovered during goal oriented
requirements analysis
3
Overview
  • Early Requirements in AOP paradigm
  • 1.1 Design Principles in AOP
  • 1.2 Requirements Goal Models
  • Aspect discovery through construction of a
    V-graph (goals, softgoals, and tasks)
  • A case study Media ShoposCommerce
  • Summary

4
1. Principles1.1 Increase Fan-in, aka. DRY
  • Whenever possible, we wish to maximize fan-in
    during the design process. Fan-in is the raison
    dĂȘtre (grounds for existence) of modularity.
    Each instance of multiple fan-in means that some
    duplicate code has been avoided. (Yourdon,
    Constantine, Structured Design p. 172, 1979)
  • The DRY principle Dont Repeat YourselfA.
    Hunt, and D. Thomas. Pragmatic Programmer.
    Addison Wesley,1999. in (Martin Fowler, Avoid
    Repetition, IEEE Software, Jan/Feb 2001
    pp.9799.)

5
DRY
IOC
6
MOVE UNTIL
VALUE
FIND
REMOVALL
STRINGCOMP
7
Stan Wagons bike
  • My square-wheel bike, on permanent display at
    Macalester College. This construction, believe it
    or not, earned me an entry in "Ripley's Believe
    It or Not" beats standing in a block of ice for
    three days or growing three-foot long
    fingernails.
  • -- http//www.stanwagon.com
  • Stan Wagon (wagon_at_macalester.edu), Prof. of
    Mathematics and Computer Science, Macalester
    College, St. Paul, Minnesota

8
(No Transcript)
9
AspectJ
The DRIVER
aspect
aspect Logging pointcut NeedLogging()
call(void FIND()) call(void
MOVEUNTIL()) call(void REMOVALL)
call(void SCAN() call(void
VALUE()) after() returning NeedLogging()
STRINGCOMP()
The GROUND
The WAGON
advice
10
1.2 Requirements Goal Models
  • A goal model is an intentional model
  • A goal can be decomposed into AND or OR subgoals
  • A goal model has both hard and soft goals
  • A hard goal can be either satisfied or denied
  • A soft goal is partially satisfied gt satisficed
  • Soft goal uses HELP (), HURT (-), MAKE () or
    BREAK (--) correlations to show partial
    satisfaction (satisfice) from a set of subgoals

11
1.2.1 Hard goal model
12
1.2.2 Soft goal model
13
Goal-Oriented Requirements Analysis
FS Fully satisfied PS Partially satisfied UN
UnknownPD Partially denied FD Fully denied CF
Conflict
T satisfied F denied U unknown
CF
Get Reliable Reply
14
FS Fully satisficed PS Partially satisficed UN
UnknownPD Partially denied FD Fully denied CF
Conflict
T satisfied F denied U unknown
FS
Get Reliable Reply
MAKE
15
V-graph
  • In order to reason about interplay of functional
    and non-functional requirements, we create a
    particular type of goal model, called V-graph

16
V
correlation
Softgoal
contribution
contribution
17
2. The Process
  • Start from root-level goals and soft goals,
    correlate and decompose them into a V-graph
  • A goal analysis based on the label propagation
    algorithm is used to check for
  • Conflicts
  • Inconsistencies
  • Denial of any goal or soft goals
  • After resolving the problems, a proper V-graph is
    obtained
  • Then we list the candidate aspects from the
    V-graph

18
list objectives
root goal
softgoals
softgoals
softgoals
softgoals
goals
?
No
tasks
Yes
No conflict
No
?
Yes
No
?
Consistent
Yes
Satisfied satisficed
V model
softgoals
goals
tasks
19
3. A Case Study
  • Medi_at_Shop adapted from literature
  • Castro, Kolp, Mylopoulos, Towards
    requirements-driven information systems
    engineering the Tropos project, Journal of
    Information Systems, 2002. Can we find aspects
    from early requirements?
  • osCommerce studied from an LAMP (Linux, Apache,
    MySQL, PHP) Open-Source project
    (http//www.oscommerce.com) Do they manifest in
    the developed software?

20
osCommerce (version 2.2m2)
21
(No Transcript)
22
Candidate aspects in the codeClone detection (by
Semantic Design,Inc)
LOC clones Code description Need refactoring?
1 319 require(path . file) No
1 260 echo expression No
559 2 class email No
2 292 define (variable, value) No
76 2 class mime No
4 67 messageStack-gtadd (error) Yes (NFR)
15 15 Postal code zone check Yes (FR)
22 10 require(application_top.php)SSL check Yes (FR/NFR)
3 64 Set HTML head CHARSET Yes (NFR)
23
list objectives
root goal
softgoals
softgoals
softgoals
softgoals
goals
?
No
tasks
Yes
No conflict
No
?
Yes
No
?
Consistent
Yes
Satisfied satisficed
V model
softgoals
goals
tasks
24
Correlate initial goals and softgoals
T1
T0
25
Inconsistent decomposition
FS
FS
T
FS
FS
T1
26
Resolving inconsistency
T
PS
T
FS
T
T
FS
FS
T2
27
Further decomposition
T3 T4
28
Further
T5
29
T6
30
Resolving Conflicts
T
CF
T
T
T
T
T
T6
31
Result candidate aspects
32
Goal Aspects
  • goal aspect Responsivenesstransaction
  • pointcut transaction() Preparingcart,product
    )
  • CheckingOutcart, product, account,
    stock)
  • required () by transaction()
  • SessionCookietransaction()
  • AspectJ-like syntax
  • Allow weaving the operationalized tasks with
    goals specified in the pointcut

33
4. SUMMARY
Separatingaspects
goals
softgoals
tasks
V graph
Goal aspects
34
5. On-going and future work
  • 1. On Implementations
  • Weaving the goal aspects
  • AspectPHP adapting the Zend PHP interpretator
  • AspecT testing NFR in the weaved code
  • 2. Another case study CORBA
  • 3. Extensions
  • From V-graph to agent-oriented frameworks such
    as i and KAOS
  • reuse of goal aspects
Write a Comment
User Comments (0)
About PowerShow.com