Simplificação dos Modelos i*
Trabalho de Fernanda Alencar
Clarissa César Borba
Agenda






Problema Apresentado
Objetivo
Conceitos: i* e Aspectos
Solução do Problema
Trabalhos Futuros
Referências
Problema Apresentado

Complexidade dos modelos i* para
modelagem organizacional
Objetivo

Processo para simplificar os modelos i*
utilizando os conceitos fundamentais da
orientação a aspectos
 Melhorar graficamente a legibilidade dos
modelos i*
Abordagem i*
Visão
gráfica dos atores de um sistema de
software, bem como as suas relações de
dependências

Oferece dois modelos:
Modelo
de dependência estratégica (Strategic
Dependency - SD)
Modelo
de razões estratégicas (Strategic Rationale - SR)
Exemplo de um modelo SR
Aspect-Oriented Software
Development - AOSD

Técnicas e mecanismos para modularizar
crosscutting concerns em módulos
separados chamados aspectos
 Crosscutting concerns –
interesses/preocupações transversais que
não podem ser encapsulados usando os
artefatos oferecidos pelas abordagens
tradicionais. Ex: requisitos não funcionais
Solução do problema

O que foi feito?


Investigação de como os modelos i* podem ser usados
para identificar crosscutting concerns durante a
modelagem de early requirements
Como foi feito?

Definição de um conjunto de guidelines para identificar,
representar e modularizar crosscutting concerns nos
modelos i*
Simplificando os modelos i*
Step 1 - Identification and representation
of crosscutting concerns.
i* Models
SD Model
Identification
Guideline Guideline 2 Guideline 3
1
SR Model
Step 2 – Identification of
relationship among crosscuting
concerns.
Dependee actor X Crosscutting
concerns
Crosscutting concerns
representation in i*
Step 3 - Composition
Composition rules
definition
Applying the rules to the
crosscutting concerns
Step 4 - Trade-off analysis
Aspectoriented i*
models
The Proposed Approach
Identification of crosscutting concerns

Guideline 1
(Repeated
dependum): if a
dependum is
provided by at least
two dependee
actors, and the
operationalization
corresponding to
that dependum is
handled in the same
way in all dependee
actors, then this
operationalization is
a crosscutting
concern.
Task
T1
Dependum
D1
Task
T4
Dependum
D2
Task
T2
Dependum
D4
Dependum
D4
Dependum
D1
Dependum
D2
•D1, D2 and D4 dependum have
multiple occurrences in the model
•It is also necessary to check if that their
respective operationalizations are the same
 Crosscutting concerns: T1, T2 and T4
Identification of crosscutting concerns

Guideline 2
(Repeated tasks):
if an internal task is
related to an
external dependency
(directly or indirectly)
and is required by
(i.e. is a
decomposition
element of) two or
more internal tasks
(which are also
related to other
external
dependencies), then
that task is a
crosscutting
concern.
Task
T3
Task
T7
•T3 and T7 tasks are reused
•T3 is directly related to external dependency
•T6 and T7 tasks are indirectly related to an external
dependency.
 Crosscutting concerns: T3 and T7
Identification of crosscutting concerns

Guideline 3
(Redundancy): the
lists of crosscutting
concerns identified
by Guideline 2 and
Guideline 1, need to
be merged together.
To avoid
redundancy,
multiple
occurrences are
deleted
Task
T1
Task
T4
Task
T3
Task
T2
Task
T7
•The final list is: T1, T2, T3, T4 and T7
Crosscutting concerns representation

Crosscutting concerns are special types of tasks
which operationalize any dependum type (goal,
softgoal, resource or task).

Following the principles of
AOSD we should
– extract and modularize these
tasks,
– remove them from the
original actors, and
– place them in a new type of
model element,
• The so called aspect.
The final representation
Simplificando os modelos i*
Step 1 - Identification and representation
of crosscutting concerns.
i* Models
SD Model
Identification
Guideline Guideline 2 Guideline 3
1
SR Model
Step 2 – Identification of
relationship among crosscuting
concerns.
Dependee actor X Crosscutting
concerns
Crosscutting concerns
representation in i*
Step 3 - Composition
Composition rules
definition
Applying the rules to the
crosscutting concerns
Step 4 - Trade-off analysis
Aspectoriented i*
models
The Proposed Approach
Identification of relationship among
crosscutting concerns
Table 1. Crosscuting concerns and its dependums

Only T7 is not
related to any
dependum; it is a
internal task in B
dependee actor.
Dependee
Actor
Crosscutting Concerns
T1
A
T3
T4
T7
(C/D3)
(C/ D4)
(-/-)
(C/D2)
B
(A/D1)
C
(D/D1)
D
T2
(D/D2),
(-/D5)
(A/D4)
Identification of relationship among
crosscutting concerns
Identification of relationship among
crosscutting concerns
Table 1. Crosscuting concerns and its dependums

There are three possibilities:
(i) the pair
(depender_actor/dependum),
e.g. (A/D1) related with the T1
crosscutting concern;
(ii) the pair (-/-) if the crosscutting
concern does not have any
dependency link (output
dependum) or does not
operationalize any dependums
(input dependums).
Depende
e Actor
Crosscutting Concerns
T1
A
T3
T4
T7
(C/D3
)
(C/
D4)
(-/-)
(C/D2)
B
(A/D1)
C
(D/D1)
D
T2
(A/D1)
(D/D
(D/D2),
(-/D
(-/D55))
(-/-)
(A/D4)
(iii) the pair (-/dependum) which means that the crosscutting concern depends
on some other actor through the dependum (i.e., the dependum is an output
element of the crosscutting concern), for example, the pair (-/D5) related to
task T2.
Identification of Internal Elements

Task-Decomposition Parent (TDP)
 Task-Decomposition Sub-elements (TDS)
 Means-End (ME)
 Contribution (C)
Table 2. Internal elements related to crosscutting concerns in i* model.
Dependee
Actor
B
Crosscutting Concerns
T1
T2
T3
T4
T7
TDS(T3)
TDP(T3)
ME(G1),
C(SG1)
TDP(T1, T4),
TDS(Tree 3,
T2, T7)
TDS(T3,
G1, T6,
Tree 4)
TDP(T3),
ME(G1),
TDP(T6)
Simplificando os modelos i*
Step 1 - Identification and representation
of crosscutting concerns.
i* Models
SD Model
Identification
Guideline Guideline 2 Guideline 3
1
SR Model
Step 2 – Identification of
relationship among crosscuting
concerns.
Dependee actor X Crosscutting
concerns
Crosscutting concerns
representation in i*
Step 3 - Composition
Composition rules
definition
Applying the rules to the
crosscutting concerns
Step 4 - Trade-off analysis
Aspectoriented i*
models
The Proposed Approach
The Composition rules
The third step defines a set of rules and
operators to help simplifying the i*
models without loosing information from
the original model.
 The composition rules define “where”
and “how” a crosscutting concern
affects other concerns in a system.

The Composition rules
Table 3. Rules to external dependencies links in i* models
R1
Aspect<aspect
name>
R2
Aspect<aspect
name>
is related to
< dependum
<dependum type >
scattered
name>
<depender name> |
has as
with the
<list of depender
depender
dependee
name>
R1 and R2 are proposed,
respectively, to record
(i) the depedum type that is
scattered and involved with a
dependency relationship (goal,
task,softgoal or resource);
Task
T1
Dependum
D1
Actor
B
Actor
A
Aspect T1 is related to scattered D1
(ii) the actors who depend upon
the dependency
relationship
(depender actors).
Aspect T1 has as depender A with the dependee B
<dependee
name>
The Composition rules
Table 4. Rule for a sub-task of a task decomposition link inside the expanded actor in i* model
is a subtask of
<task name> |
<list of tasks name> |
Aspect.<task name> |
Aspect.<list of tasks name> |
<list of Aspect.<task name> |
<list of Aspect.<list of tasks
name>
R4
is
decompo
sed into
<list of element name and its
type>|
<list of Aspect.<list of task
name>
R5
depends
on
is the
root of
R3
R6
Aspect
<aspect
name>
Task
T1
in
<depen
dee
name>
depend
ee
<list of dependum name and its
type>|
<list of Aspect.<list of task
name>
provid
ed by
<depen
dee
name>
<sub-element name> |
<list of sub-element name> |
Aspect.<sub-element name> |
Aspect.<list of sub-element
name> |
<list of Aspect.<sub-element
name> |
<list of Aspect.<list of subelement name>
in
<depen
dee
name>
Actor B
Aspect T1 is decomposed into
Aspect T3 (R4)
R3,R4,R5,R
rules to keep the task-decomposition with its
is root
6 and R<dependee
7 define
R
name>
in
related elements
7
The Composition rules
Table 5.Rules for a means-end link in the SR model
R8
R9
•
•
Aspect<name>.
<aspectual
task>
Aspect<name>.
<aspectual
task>
is the
means
of
contrib
utes
<end name> |
<list of end
name> |
Aspect.<end
name> |
Aspect.<list of
end name> |
<list of
Aspect.<end
name> |
<list of
Aspect.<list of
end name>
in
<<contribution
type>>
<end softgoal
name> |
to
<list of end
in
softgoal
of internal
link in the
name>
<dependee
name>
<dependee name>
The means-end link is another kind
i* model
We are considering that the end element can be a goal or a softgoal,
although it can be any type of dependum.
The Composition rules
Rule 8 (R8) – Means-end link
Aspect T2 is the means of G1 in B
Aspect T7 is the means of G1 in B.
Actor B
Goal
G1
Rule 9 (R9) – Contribution link
Aspect T2 contributes + to SG1 in B
Softgoal
SG1
Task
T2
Task
T7
Trabalhos Futuros
Especificar guidelines em termos de
algoritmos
 Aplicar esta abordagem para mais
estudos de caso
 Realizar mudanças no plug-in para
representar corretamente o estereótipo
de aspectos
 Realizar a análise trade-off

Referências






Alencar, F., Silva, C., Moreira, A., Araújo, J., Castro, J.: Identifying
Candidate Aspects with I-star Approach. In: Work. Of Early Aspects
2006
Alencar, F., Silva, C., Moreira, A., Araújo, J., Castro, J., Mylopoulos, J.:
Towards na Approach to Integrate i* with Aspects. In: 8th Intl. BiConference Work. On Agent-Oriented Information Systems (AOIS2006)
Alencar, F., Silva, C., Moreira, A., Araújo, J., Castro, J., Mylopoulos, J.:
Using Aspects to Simplify i* Models. Poster in the 14th International
Requirements Engineering conference RE´06
Alencar, F., Silva, C., Moreira, A., Araújo, J., Castro, J., Ramos, R.:
Proposta de Simplificação dos Modelos do i* com Aspectos. WASP06
Alencar, F., Moreira, A., Araújo, J., Castro, J., Ramos, R., Silva, C.:
Dealing with the i* Models with Aspects. RCIS07
Alencar, F., Moreira, A., Araújo, J., Castro, J., Ramos, R., Monteiro, C.,
Mylopoulos, J.: Simplifying i* Models. AOIS07
Download

Early Aspects