simplificação dos modelos i* trabalho de fernanda alencar clarissa césar borba

27
Simplificação dos Modelos i* Trabalho de Fernanda Alencar Clarissa César Borba

Upload: isaac-parras

Post on 07-Apr-2016

214 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Simplificação dos Modelos i* Trabalho de Fernanda Alencar Clarissa César Borba

Simplificação dos Modelos i*

Trabalho de Fernanda Alencar

Clarissa César Borba

Page 2: 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

Page 3: Simplificação dos Modelos i* Trabalho de Fernanda Alencar Clarissa César Borba

Problema Apresentado

Complexidade dos modelos i* para modelagem organizacional

Page 4: Simplificação dos Modelos i* Trabalho de Fernanda Alencar Clarissa César Borba

Objetivo

Processo para simplificar os modelos i* utilizando os conceitos fundamentais da orientação a aspectos

Melhorar graficamente a legibilidade dos modelos i*

Page 5: Simplificação dos Modelos i* Trabalho de Fernanda Alencar Clarissa César Borba

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)

Page 6: Simplificação dos Modelos i* Trabalho de Fernanda Alencar Clarissa César Borba

Exemplo de um modelo SR

Page 7: Simplificação dos Modelos i* Trabalho de Fernanda Alencar Clarissa César Borba

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

Page 8: Simplificação dos Modelos i* Trabalho de Fernanda Alencar Clarissa César Borba

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*

Page 9: Simplificação dos Modelos i* Trabalho de Fernanda Alencar Clarissa César Borba

Simplificando os modelos i*

Page 10: Simplificação dos Modelos i* Trabalho de Fernanda Alencar Clarissa César Borba

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

Page 11: Simplificação dos Modelos i* Trabalho de Fernanda Alencar Clarissa César Borba

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

Page 12: Simplificação dos Modelos i* Trabalho de Fernanda Alencar Clarissa César Borba

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

Page 13: Simplificação dos Modelos i* Trabalho de Fernanda Alencar Clarissa César Borba

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.

Page 14: Simplificação dos Modelos i* Trabalho de Fernanda Alencar Clarissa César Borba

The final representation

Page 15: Simplificação dos Modelos i* Trabalho de Fernanda Alencar Clarissa César Borba

Simplificando os modelos i*

Page 16: Simplificação dos Modelos i* Trabalho de Fernanda Alencar Clarissa César Borba

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.

Page 17: Simplificação dos Modelos i* Trabalho de Fernanda Alencar Clarissa César Borba

Identification of relationship among crosscutting concerns

Page 18: Simplificação dos Modelos i* Trabalho de Fernanda Alencar Clarissa César Borba

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;

Page 19: Simplificação dos Modelos i* Trabalho de Fernanda Alencar Clarissa César Borba

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)

Page 20: Simplificação dos Modelos i* Trabalho de Fernanda Alencar Clarissa César Borba

Simplificando os modelos i*

Page 21: Simplificação dos Modelos i* Trabalho de Fernanda Alencar Clarissa César Borba

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.

Page 22: Simplificação dos Modelos i* Trabalho de Fernanda Alencar Clarissa César Borba

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

Page 23: Simplificação dos Modelos i* Trabalho de Fernanda Alencar Clarissa César Borba

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)

Page 24: Simplificação dos Modelos i* Trabalho de Fernanda Alencar Clarissa César Borba

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.

Page 25: Simplificação dos Modelos i* Trabalho de Fernanda Alencar Clarissa César Borba

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

Page 26: Simplificação dos Modelos i* Trabalho de Fernanda Alencar Clarissa César Borba

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

Page 27: Simplificação dos Modelos i* Trabalho de Fernanda Alencar Clarissa César Borba

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