Eduardo Kinder Almentero Herbet de Souza Cunha IstarJADE Eduardo Kinder Almentero Herbet de Souza Cunha
Agenda IStarJADE - Infraestrutura para implementação de agentes a partir de modelos i* SMA em um ambiente distribuído, desenvolvido com a utilização do IStarJADE 23/03/2017 @LES/PUC-Rio
Motivação Especificar o SMA utilizando modelagem i* e implementar apenas os comportamentos básicos dos agentes. Nossa motivação para elaboração deste trabalho foi permitir a especificação de um SMA utilizando apenas modelagem i*, deixando a tarefa de implementação apenas para os comportamentos básicos dos agentes 23/03/2017 @LES/PUC-Rio
IStarJADE Tecnologias envolvidas na infraestrutura 23/03/2017 @LES/PUC-Rio
Framework i* O framework i* (i-estrela) modela contextos organizacionais baseado nos relacionamentos de dependência entre os atores. É usado para obter um melhor entendimento dos relacionamentos. Possibilita a compreensão das razões internas dos atores Auxilia na escolha de alternativas durante a etapa de modelagem do software. Possibilita a compreensão das razões internas dos atores, uma vez que as mesmas são expressas explicitamente, 23/03/2017 @LES/PUC-Rio
IstarML Padrão para representação textual de diagramas i* Desenvolvido para abordar todas as características dos modelos Compatível com XML 23/03/2017 @LES/PUC-Rio
JADE JADE simplifica a implementação de sistemas multi-agent através de um middle-ware. Está de acordo com as especificações FIPA. Facilita a distribuição da plataforma através de diversas máquinas. 23/03/2017 @LES/PUC-Rio
IStarJADE Customizações IStarJADE Comportamentos Execução Código Diagramas i* 23/03/2017 @LES/PUC-Rio
IStarJADE Customizações IStarJADE Comportamentos Execução Diagramas i* 23/03/2017 @LES/PUC-Rio
Diagrama de classes IStarJADE Temos a classe ator que é especializada em Agente, Papel e Position. Os elementos do diagrama podem ser Recurso, Tarefa, Meta flexivel ou Meta. 23/03/2017 @LES/PUC-Rio
Diagrama de classes IStarJADE 23/03/2017 @LES/PUC-Rio
Mapeamento entre JADE e i* A figura acima apresenta o mapeamento entre os principais elementos de i* em JADE/Java. A classe IstarJADEAgent é uma especialização da classe JADE.core.Agent e implementa a interface IAgent (que representa agentes em i*). 23/03/2017 @LES/PUC-Rio
Mapeamento de links A figura acima apresenta o mapeamento dos links entre elementos (ielementLink) e os comportamentos que são instanciados automaticamente nos agentes (IStarJADEAgent). Os links means-end (que representam a seleção de alternativas – “ou” lógico) são mapeados para comportamentos MeansEndUniqueBehaviour. Estes comportamentos determinam a alternativa a ser escolhida. Uma vez escolhida a alternativa, o comportamento correspondente ao elemento é instanciado. Os links decomposition (que representam decomposição de tarefas - “e” lógico) são mapeados em comportamentos SequentialTaskBehaviour. Estes últimos determinam que todos os comportamentos dos subelementos devem ser executados. 23/03/2017 @LES/PUC-Rio
Elemento básico Os comportamentos vão sendo adicionados aos agentes recursivamente até que se chegue a um elemento básico (nó folha no modelo SR). Os elementos básicos devem possuir uma classe que implemente a interface IBasicElement, que possui o método getBehaviour(): JADE.core.Behaviour. A classe destes elementos e adicionada aos respectivos agentes via Java Reflection. A Figura 6 a seguir mostra o mapeamento uma tarefa básica (elemento básico) e a classe abstrata BasicTask. 23/03/2017 @LES/PUC-Rio
XML 23/03/2017 @LES/PUC-Rio
Desenvolvendo o SMA Agent Consolidador Agent Lattes Agent Scholar 23/03/2017 @LES/PUC-Rio
LattesScholar SMA 23/03/2017 @LES/PUC-Rio
Diagrama de Agentes Diagrama de Agentes, que indica a posição de cada agente no SMA. No caso o Pesquisador, que é um cidadão, desempenha o papel de autor. E os cidadões desempenham o papel de consumidor. O Lattes desempenha o papel de um repositório de currículos lattes scholar (que é o sistema) de apresentador de citações e totalizador de citações. E o scholar faz o papel de buscador. 23/03/2017 @LES/PUC-Rio
Diagrama SD 23/03/2017 @LES/PUC-Rio
Diagrama SR 23/03/2017 @LES/PUC-Rio
23/03/2017 @LES/PUC-Rio
Diagrama SR 23/03/2017 @LES/PUC-Rio
Diagrama SR 23/03/2017 @LES/PUC-Rio
XML 23/03/2017 @LES/PUC-Rio
Trabalho em andamento Incorporar tratamento de SoftGoals Implantação do SMA utilizando grid do DI Utilização de outros repositórios (DBLP) Utilização de outras ferramentas de busca Análise mais elaborada dos dados obtidos 23/03/2017 @LES/PUC-Rio
Perguntas? 23/03/2017 @LES/PUC-Rio