Metodologias (Parte II) Viviane Torres da Silva [email protected] viviane.silva/isma.

64
Metodologias (Parte II) Viviane Torres da Silva [email protected] http://www.ic.uff.br/~viviane.silva/isma

Transcript of Metodologias (Parte II) Viviane Torres da Silva [email protected] viviane.silva/isma.

Metodologias (Parte II)

Viviane Torres da [email protected]

http://www.ic.uff.br/~viviane.silva/isma

Metodologias

Tropos

Prometheus

Gaia

Message

MaSE

Metodologia Gaia

Se baseia na abstração de organizações Não está relacionada a nenhuma linguagem de modelagem Não se preocupa com os problemas de implementação

ISMA Viviane Torres da Silva

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

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

Etapa de Análise

Etapa 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

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

Modelo do ambiente

Representação computacional do ambiente Lista de recursos: cada recurso

– Nome simbólico

– Lista de ações que o agente executa no recurso

– Comentários adicionais e descrições

Modelado preliminar de roles I/III

Identificação das habilidades básicas requeridas pela organização

Apenas os papéis independentes da estrutura organizacional

Definição incompleta dos papéis– Identifica as permissões e as responsabilidades dos papéis

– Não tem informação de com quem eles interagem

Conjunto incompleto dos papéis– Papéis dependentes da estrutura organização

Modelado preliminar de roles II/III

Permissões– Relacionam papéis ao ambiente

– Identifica os recursos que podem e os que não podem ser acessados pelo papel

Responsabilidades– Representa o comportamento esperado de um papel

– Propriedades Liveness: “alguma coisa boa acontece”• Define os estados que o agente quer atingir

– Propriedades Seguras: “nada de ruim acontece”• Invariantes

• Define os estados que são mantidos

Modelagem preliminar de papéis IIII/III

Condição

Exemplo

atividadeprotocolos

infinitas vezes

Modelo preliminar de interação

Identifica as interações básicas requeridas pelos papéis

Captura as dependências e os relacionamentos entre os vários papéis

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

Exemplo: Modelagem preliminar de interação

Regras organizacionais

Capturam relacionamentos gerais entre:– Papéis

– Protocolos

– Papéis e protocolos

São responsabilidades da organização como um todo

Regras liveness– Como a dinâmica da organização deve evoluir no tempo

Regras seguras– Invatiantes que devem ser respeitadas na organização

Exemplo

Regra liveness– O revisor só pode enviar a revisão de um artigo despois de receber o

artigo

Regla segura– O revisor de um artígo não pode ser o autor do artigo

Etapa de Projeto Arquitetural

Etapa de Projeto Arquitetural

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

Estructura Organizacional

Topologia + Regime de controle Topologia: descreve o relacionamento entre os papéis

– Escolher a topologia mais simples que possa solucionar as complexidades computacionais

– Exemplos de topologias: hierárquica e coleção de indivíduos

Regime de controle: descreve o tipo dos papéis– Pensar na divisão de trabalho e na especialização do trabalho

Como decidir?– Necessidade de atingir eficiência organizacional

– Necessidade de respeitar as regras organizacionais

– Necessidade de minimizar a distância com a organização do mundo real

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

Etapa de Projeto Detalhado

Etapa de Proyecto Detallado

Objetivo é identificar os agentes e os serviços provendo dicas para a implementação

Modelo de agente

Modelo de serviço

Modelado de agentes

Agente– Entidade ativa que desempenha um conjunto de papéis

Descreve quais classes de agentes irão desempenhar quais classes de papéis

Como decidir?– Não deve afetar a eficiência da organização

– Não viola as regras organizacionais

Modelado de serviços

Bloco de atividade alocado a um agente 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

Metodología MESSAGE

Methodology for Engineering Systems of

Software Agents

MESSAGE

Estende os diagramas de Classe e Atividades de UML com conceitos relacionados a agentes:

– Organizações, papéis, metas e tarefas.

Fase de Análise:– Objetivos: melhor entender o problema, confirmar que aquele é o

problema certo a ser resolvido e facilitar o design da solução– Descreve papéis, serviços e interações entre os papéis

Fase de Design:– Design de alto nível: independente de implementação– Design de baixo nível: dependente da plataforma de implementação ou

arquitetura

MESSAGE

Design de alto nível:– Papéis são associados a agentes

– Serviços são descritos em termos de tarefas (ações de agentes)

– Interações são transformadas em protocolos

Design de baixo nível:– Mapeia os elementos do design de alto nível para elementos

computacionais da plataforma de implementação

Conceitos

Agente– Entidade autônoma que é capaz de fazer alguma função– Serviços: funcionalidades do agente– Propósito: motivação do agente para executar algum serviço

Organização– Grupo de agentes trabalhando juntos para um propósito geral

Papéis– Interface X Objeto => Papel X Agente– Descreve as características externas de um agente em um contexto

Conceitos

Metas:– Estado que o agente quer atingir

Tarefa:– Atividade

– Possui pré e pós-condições

Interação– Atividade

– Define os participantes e o propósito que os participantes tentarão atingir

Mensagem– Objeto enviado por um agente a outro agente

Visões

Organização– Modela entidades concretas do sistemas (agentes, organizações, papéis

e recursos), o ambiente e os relacionamentos entre eles

Meta/Tarefa– Descreve as metas, tarefas, estados e dependências entre eles

– Tarefas pode ser executadas para atingir um objetivo

Agente/Papel– Foca em agentes e papéis

– Quais metas são responsabilidades de um agente, quais eventos ele controla, quais tarefas ele sabe executar, ...?

Visões

Interação: para cada interação definir:– quem começa a interação,

– o colaborador,

– a motivação (meta),

– as informações enviadas e recebidas,

– o evento que dispara a conversação, ...

Domínio– Mostra os conceitos específicos de domínio e as relações que são

relevantes para cada sistema em desenvolvimento

Modelos de Análise (nível 0)

ISMA

Visión de la organización

Vê o sistema como uma caixa preta (sem olhar os detalhes) Foca no relacionamento entre as entidades e o ambiente

(recurso)

recurso

papel

organização

Visão OrganizacionalVisão Organizacional

interacción

Visão de Metas e Tarefas

Decomposição das metas do sistema em sub-metas

Visão de Task/Goal

Descreve como um serviço é realizado por uma seqüência de tarefas serviço tarefa

papel

Modelos de Análise (nível 1)

Visão Organizacional

Foco no sistema em si identificando as suas funcionalidades

Considerar apenas os papéis (pensar nos agentes na fase de design)

Visão Agente/Rol

Associação das metas ao papéis Relacionada as visões de decomposição de metas e

organizações

Visão Agente/Rol

Descrição de papéis

Visão de Interação

Descreve quais agente interagem, quando e porquê eles interagem

Detalhes de como interagem são descritos no processo de design

Visão de Domínio

Usar diagrama de classes de UML para representar conceitos do domínio e o relacionamento entre eles

Etapa de Projeto

Transição da etapa de Análise para Projecto de alto nível

Identificar os agentes e associar agentes ao papéis

Descrever como os serviços são providos através da identificação de tarefas

Definir protocolos de interação a partir do refinamento das interações (modeladas na fase de análise)

Identificar o comportamento dos papéis dos protocolos de interação através de statecharts..

Atividades da Fase de Design

Atividades da Fase de Design

Detalhando as entidades:– Definição das classes, interfaces, atributos, métodos, e diagramas de

UML Seleção da arquitetura para agentes

– Dependente das funcionalidades definidas no nível de análise Usar a arquitetura:

– Produzir os agentes da aplicação Atualizar/Modificar as visões:

– Decisões de design podem ter afetado as visões. Refazer Estruturar os resultados de acordo com a visão de organização

MaSE

Multiagent System Engineering

Etapa de Análise I/III

Objetivo: descrobir os papéis cujas tarefas estejam relacionadas com os requisitos do sistema

Capturando os objetivos: Objetivos: Identificar os objetivos do sistema e estruturar os

objetivos Os objetivos são os requisitos funcionáis do sistema

Hierarquia de objetivos– Modelagem da estrutura dos objetivos

Exemplo: Hierarquia de Objetivos

Etapa de Análise II/III

Aplicando os casos de uso: Objetivo: capturar os casos de uso do sistema e criar um

diagrama de seqüência inicial para descubrir os papéis e as comunicações que podem ocorrer no sistema

Criando os casos de uso:– Define os cenários básicos que o sistema deve executar

Diagrama de seqüência:– Descrebe os eventos que são enviados pelos papéis em um cenário

Exemplo: Diagrama de seqüência

Etapa de Análise III/III

Detalhando os papéis Transformar os dados dos casos de uso e os diagramas de

seqüência em papéis e tarefas

Modelagem de papéis:– Modelagem dos papéis, seus objetivo, suas tarefas e as relações entre

elas

Modelagem de tarefas concorrentes:– Diagrama de estados de UML

ISMA

Exemplo: Modelagem de papéis

objetivos del rol

tarearole

Exemplo: Modelagem de tarefas concorrentes

Etapa de Projeto I/II

Objetivo: definir os agentes do sistema

Criando as classes de agentes Classes de agentes

– As classes dos agentes são criadas a partir dos papéis e das tarefas– Criação do diagrama de classes de agentes

Construindo as interações entre os agentes Descrever em detalhes a interação/protocolo entre os agentes Sempre existem dois diagramas de interação para cada

converssa entre dois agentes Utiliza o diagrama de estados de UML

Exemplo: Diagrama de Classes do Agente

roles

agente

Exemplo: Diagramas de interação

Etapa de Projeto II/II

Detalhando os agentes Objetivo: descobrir a parte interna dos agentes de acordo com

a arquitetura escolhida

Projeto do sistema Objetivo: criar as instâncias dos agentes nos ambientes que

compõem o sistema Criar o Diagrama de Deployment

Exemplo: Detalhando os agentes

Exemplo: Diagrama de Deployment

ambiente

instância