simplificação dos modelos i* trabalho de fernanda alencar clarissa césar borba
TRANSCRIPT
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*
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.
•D1, D2 and D4 dependum have multiple occurrences in the model
Task T1
Task T4
Task T2
DependumD1
DependumD2
DependumD4
DependumD4
DependumD1
DependumD2
•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.
•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
Task T3
Task T7
Identification of crosscutting concerns
•The final list is: T1, T2, T3, T4 and T7
Task T1
Task T7
Task T3
Task T4
Task T2
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
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*
Identification of relationship among crosscutting concerns
Dependee Actor
Crosscutting Concerns
T1 T2 T3 T4 T7
A (C/D2)
B (A/D1) (D/D2), (-/D5)
(C/D3) (C/ D4) (-/-)
C (D/D1)
D (A/D4)
Table 1. Crosscuting concerns and its dependums
Only T7 is not related to any dependum; it is a internal task in B dependee actor.
Identification of relationship among crosscutting concerns
Identification of relationship among crosscutting concerns
There are three possibilities: Dependee Actor
Crosscutting Concerns
T1 T2 T3 T4 T7
A (C/D2)
B (A/D1) (D/D2), (-/D5)
(C/D3)
(C/ D4) (-/-)
C (D/D1)
D (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.
(A/D1)(ii) the pair (-/-) if the crosscutting concern does not have any dependency link (output dependum) or does not operationalize any dependums (input dependums).
(-/-)(D/D2),(-/D5)
Table 1. Crosscuting concerns and its dependums
(i) the pair (depender_actor/dependum), e.g. (A/D1) related with the T1 crosscutting concern;
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
Crosscutting Concerns
T1 T2 T3 T4 T7
B 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*
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 rulesTable 3. Rules to external dependencies links in i* models
R1Aspect<aspect
name>is related to
scattered <dependum type > < dependum name>
R2Aspect<aspect
name>has as
depender
<depender name> |<list of depender
name>
with the dependee
<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);
DependumD1
Task T1
(ii) the actors who depend upon the dependency relationship (depender actors).
Actor A
Actor B
Aspect T1 is related to scattered D1
Aspect T1 has as depender A with the dependee B
The Composition rules
R3,R4,R5,R6 and R7 define rules to keep the task-decomposition with its related elements
Task T1
Actor B
Table 4. Rule for a sub-task of a task decomposition link inside the expanded actor in i* model
R3
Aspect <aspectname>
is a sub-task 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>
in <depen
dee name>
dependee
R4
is decomposed into
<list of element name and its type>|
<list of Aspect.<list of task name>
R5depends
on
<list of dependum name and its type>|
<list of Aspect.<list of task name>
provided by
<dependee
name>
R6is the
root of
<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 sub-
element name>
in<depen
dee name>
R7is root
in <dependee name>
Aspect T1 is decomposed into Aspect T3 (R4)
The Composition rulesTable 5.Rules for a means-end link in the SR model
R8
Aspect<name>. <aspectual
task>
is the means
of
<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 <dependee name>
R9
Aspect<name>. <aspectual
task>
contributes
<<contribution type>> to
<end softgoal name> |
<list of end softgoal name>
in <dependee name>
• The means-end link is another kind of internal link in the 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
Task T2
Actor B
Rule 8 (R8) – Means-end link
Task T7
GoalG1
Aspect T2 is the means of G1 in B Aspect T7 is the means of G1 in B.
Rule 9 (R9) – Contribution link
Aspect T2 contributes + to SG1 in B
SoftgoalSG1
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. Bi-Conference Work. On Agent-Oriented Information Systems (AOIS-2006)
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