Metodologias
Equipe do Curso de ES para SMA
{lucena, furtado, choren, viviane}@inf.puc-rio.br
Agenda
• Gaia
– F. Zambonelli, N. Jennings, M. Wooldridge
• Message
– G. Caire e outros
Laboratório de Engenharia de Software (LES) – PUC-Rio
Gaia
• Fase de Análise
• Fase de Design Arquitetural
• Fase de Design Detalhado
Laboratório de Engenharia de Software (LES) – PUC-Rio
Laboratório de Engenharia de Software (LES) – PUC-Rio
Gaia
• Se baseia na abstração Organização
Laboratório de Engenharia de Software (LES) – PUC-Rio
Gaia
• Não lida com nenhuma técnica específica de
modelagem
• Não lida com os problemas de implementação.
• Não especifica a plataforma de implementação que
deve ser usada
• Não lida como as etapas de levantamento de
requisitos
Laboratório de Engenharia de Software (LES) – PUC-Rio
Conceitos
• Ambiente
– Coisas físicas ou virtuais
– Quais são os recursos do ambiente que os agentes podem sentir e
atuar?
– Como o agente pode perceber o ambiente?
– Quais são os agente que habitam o ambiente?
• Papéis
– Define o que se espera que um agente faça em uma organização (em
relação a outros agentes e em relação a organização)
– Funcionalidades, atividades e responsabilidades
– Interação entre papéis
• Protocolos e padrões
Laboratório de Engenharia de Software (LES) – PUC-Rio
Conceitos
• Regras organizacionais
– Regras aplicadas a todos os papéis e protocolos
– Regras que expressam relacionamentos e restrições entre
papéis, entre protocolos e entre papéis e protocolos
• Estrutura organizacional
– Descreve todos os papéis da organização e suas posições
na organização
– Gera o modelo de papéis
Laboratório de Engenharia de Software (LES) – PUC-Rio
Fase de Análise
Fase de Análise
•
•
•
•
•
Subdivisão do sistemas em sub-organizações
Modelo de ambiente
Modelo preliminar de papéis
Modelo preliminar de interação
Regras organizacionais
Laboratório de Engenharia de Software (LES) – PUC-Rio
Subdivisão do sistema em sub-organizações
• Identificação dos objetivos das organizações
• Quando é trivial encontrar organizações?
– O sistema já fala de quais são as organizações
– O sistemas imita o mundo real
• Como achar organizações quando não é trivial?
– Verificar se parte do sistema possui um comportamento
orientado a um determinado sub-goal
– Quais partes interagem pouco?
– Verificar se algumas partes estão relacionadas a
competências que outras partes não possuem
Laboratório de Engenharia de Software (LES) – PUC-Rio
Modelo do ambiente
• Representação computacional do ambiente no qual
o SMA está situado
Lista de recursos: cada recurso
– Nome simbólico
– Lista de ações que o agente executa no recurso
– Comentários adicionais e descrições
Laboratório de Engenharia de Software (LES) – PUC-Rio
Modelo preliminar de papéis
• Identificação das habilidades básicas requeridas
pela organização
• Identificação apenas dos papéis que são
independentes da estrutura organizacional
• Definição incompleta dos papéis
– Não tem informação sobre interação
• Conjunto incompleto dos papéis
– Papéis dependentes da estrutura organização não são
modelados
Laboratório de Engenharia de Software (LES) – PUC-Rio
Modelo preliminar de papéis
• Permissões
– Relacionam papéis ao ambiente
– Identifica os recursos que podem e os que não podem ser
acessados pelo papel
Laboratório de Engenharia de Software (LES) – PUC-Rio
Modelo preliminar de papéis
• Responsabilidades
– Representa o comportamento esperado de um papel
– Propriedades Liveness: “alguma coisa boa acontece”
• Define os estados que o agente quer atingir
REVIEWER = (ReceivePaper.ReviewPaper.SendReviewForm)maxim_number
protocol
activiy
– Propriedades Seguras: “nada de ruim acontece”
• Invariantes
• Define os estados que são mantidos
number of papers = number of review forms
Número de artigos aceitos por um revisor deve ser igual ao número de revisões feitas
Laboratório de Engenharia de Software (LES) – PUC-Rio
Modelo preliminar de papéis
Laboratório de Engenharia de Software (LES) – PUC-Rio
Modelo preliminar de papéis
Laboratório de Engenharia de Software (LES) – PUC-Rio
Modelo preliminar de interação
• Identifica as interações básicas requeridas pelos
papéis já identificados
• A interação não está amarrada a nenhuma estrutura
organizacional
• Captura as dependências e os relacionamentos
entre os vários papéis
Laboratório de Engenharia de Software (LES) – PUC-Rio
Modelo preliminar de interação
• Um protocolo para cada tipo de interação entre
papéis
–
–
–
–
–
–
Nome
Aquele que inicia
Aquele que responde
Inputs: informações usadas para iniciar o protocolo
Outputs: informações resultantes do protocolo
Descrição
Laboratório de Engenharia de Software (LES) – PUC-Rio
Modelo preliminar de interação
Laboratório de Engenharia de Software (LES) – PUC-Rio
Regras organizacionais
• Regras que especificam o comportamento da
organização como um todo
• Capturam relacionamentos gerais entre:
– Papéis
– Protocolos
– Papéis e protocolos
Laboratório de Engenharia de Software (LES) – PUC-Rio
Regras organizacionais
• Regras liveness
– Como a dinâmica da organização deve evoluir no tempo
R → Q: significa que papel Q só pode ser desempenhado pela entidade se ela
tiver desempenhado papel R.
• Regras seguras
– Definem invariantes que devem ser respeitadas
independentemente do tempo
¬(R|Q): significa que dois papéis R e Q nunca podem ser desempenhados
concorrentemente pela mesma entidade.
Laboratório de Engenharia de Software (LES) – PUC-Rio
Design Arquitetural Detalhado
Design Arquitetural Detalhado
• Documenta todas as características funcionais que
o sistema tem que expressar junto com as
características do ambiente no qual o sistema se
encontra
• Estrutura organizacional
• Modelo de papéis completo
• Modelo de protocolos completo
Laboratório de Engenharia de Software (LES) – PUC-Rio
Estrutura Organizacional
• Topologia + Regime de controle
– Topologia: descreve o relacionamento entre os papéis
– Regime de controle: descreve o tipo dos papéis
• Como decidir?
– Atingir eficiência organizacional
– Respeitar as regras organizacionais
– Minimizar a distância com a organização do mundo real
Laboratório de Engenharia de Software (LES) – PUC-Rio
Estrutural Organizacional: Topologias
• A topologia organizacional mais simples com a qual
é possível lidar com as complexidades
computacionais e de coordenação deve ser a
escolhida
• Exemplos de topologias:
– Coleção de peers (todos os membros possuem a mesma
autoridade na organização)
– Hierarquia (existe membros que são lideres e outros
submissos)
Laboratório de Engenharia de Software (LES) – PUC-Rio
Estrutura Organizacional: Regime de controle
• Exemplos de regime de controle
– Partição de trabalho (cada peer tem o mesmo papel e
provê o mesmo serviço)
– Especialização de trabalho (cada peer tem um
serviço/atividade específica)
Laboratório de Engenharia de Software (LES) – PUC-Rio
Modelo de papéis e de protocolos (completo)
• Definir todas as atividades dos papéis
• Definir papéis organizacionais
– Provenientes da adoção da estrutura organizacional
• Completar a definição do protocolo requerido pela
aplicação
• Definir os protocolos organizacionais
– Provenientes da adoção da estrutura organizacional
Laboratório de Engenharia de Software (LES) – PUC-Rio
Design Detalhado
Fase de Design Detalhado
• Objetivo é identificar os agentes e os serviços
provendo dicas para a implementação
• Modelo de agente
• Modelo de serviço
Laboratório de Engenharia de Software (LES) – PUC-Rio
Modelo de agente
• Agente
– Entidade ativa que desempenha um conjunto de papéis
• Descreve quais classes de agentes irão
desempenhar quais classes de papéis
• Identifica as instâncias de agentes que serão
criadas
• Como decidir o mapeamento entre papéis e
agentes?
– Não deve afetar a eficiência da organização
– Não viola as regras organizacionais
Laboratório de Engenharia de Software (LES) – PUC-Rio
Modelo de serviço
• Serviços – blocos de atividade alocados – aos
agentes
• Não confundir com um método
• Propriedades:
– Inputs e Outputs (provenientes da análise dos modelos de
protocolos e ambientes)
– Pre-condições
– Pós-condições
Laboratório de Engenharia de Software (LES) – PUC-Rio
Download

Media:aula06(Metodologias) - (LES) da PUC-Rio