Metodologias (Parte II) Viviane Torres da Silva
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
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 rolesI/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 rolesII/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éisIIII/III Condição
Exemplo atividade protocolos 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
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 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
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áliseI/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áliseII/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áliseIII/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 tarea role
Exemplo: Modelagem de tarefas concorrentes
Etapa de ProjetoI/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 ProjetoII/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