Giter Site home page Giter Site logo

lucassm / pade Goto Github PK

View Code? Open in Web Editor NEW
16.0 6.0 8.0 2.3 MB

Framework para desenvolvimento de sistemas multiagentes em plataformas distribuídas escrito em Python e baseado em Twisted

License: GNU General Public License v3.0

Python 91.73% HTML 8.27%

pade's Introduction

This repository isn't more the PADE offcial repository. The new PADE repository has been changed to: new PADE repository.

Python Agent DEvelopment framework (PADE)

Join the chat at https://gitter.im/lucassm/Pade

![Logo padrão do projeto PADE] (https://raw.githubusercontent.com/lucassm/Pade/master/pade/images/pade_logo.png)

PADE é um framework para desenvolvimento, execução e gerenciamento de sistemas multiagentes em ambientes de computação distribuída. PADE é escrito 100% em Python e utiliza as bibliotecas do projeto Twisted para implementar a comunicação entre os nós da rede. PADE é software livre, licenciado sob os termos da licença MIT, desenvolvido no ambito da Universidade Federal do Ceará pelo Grupo de Redes Elétricas Inteligentes (GREI) que pertence ao departamento de Engenharia Elétrica. Qualquer um que queira contribuir com o projeto é convidado a baixar, executar, testar e enviar feedback a respeito das impressões tiradas da plataforma.

Dependências

PADE é desenvolvido com Python 2.7 no topo do framework Twisted que é sua principal dependência.

Instalação

Para baixar e instalar o PADE, basta abrir uma seção do terminal de comandos Linux e digitar os seguintes comandos:

$ git clone https://github.com/lucassm/PADE
$ cd PADE
$ sudo python setup.py install

Pronto! Você já está pronto para utilizar o PADE!

Exemplo

Um simples agente desenvolvido com as bibliotecas do PADE:

from pade.misc.utility import display_message
from pade.misc.common import set_ams, start_loop
from pade.core.agent import Agent
from pade.acl.aid import AID


class AgenteHelloWorld(Agent):
    def __init__(self, aid):
        super(AgenteHelloWorld, self).__init__(aid=aid, debug=False)
        display_message(self.aid.localname, 'Hello World!')

if __name__ == '__main__':

    set_ams('localhost', 8000, debug=False)

    agents = list()

    agente_hello = AgenteHelloWorld(AID(name='agente_hello'))
    agente_hello.ams = {'name': 'localhost', 'port': 8000}
    agents.append(agente_hello)

    start_loop(agents, gui=True)

Funcionalidades

Pade possui as seguintes funcionalidades:

  • Bibliotecas para desenvolver agentes que se comunicam no Padrão FIPA-ACL;
  • Fácil de utilizar e com versatilizade do Python;
  • Ambiente de execução distribuído testado em hardware embarcados como Raspberry Pi e BeagleBone Black;
  • Desenvolvido inteiramente em Python! isso mesmo feito por quem ama Python para quem ama programar em Python;
  • Interface gráfica para monitoramento de agentes;
  • Projeto em pleno desenvolvimento;
  • É software livre.

Interface de Desenvolvimento

Interface do Python

pade's People

Contributors

gitter-badger avatar lucassm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

pade's Issues

Conteinerização do PADE

Criar um Docker File para que o PADE possa rodar em um contêiner Docker, facilitando assim sua instalação, flexibilidade e utilização em diferentes plataformas por meio do encapsulamento das dependências em contêineres.

Arquivar o repositório

Abrindo a issue sobre o que comentamos em reunião, @lucassm

Atualmente o PADE está sendo desenvolvido no repositório do GREI-UFC, mas como o repositório do @lucassm continua aberto, pode causar confusão em quem buscar informações sobre a ferramenta.

O Github tem uma funcionalidade de arquivar repositórios que serve para transformá-los em read-only, para propósitos de histórico. Talvez fosse uma boa fazer isso de forma a manter o histórico ao mesmo tempo em que aponta qual o atual repositório ativo da ferramenta.

Implementação de Interface gráfica web

A implementação de uma interface gráfica no PADE é essencial para o bom funcionamento do framework, melhoraria sua flexibilidade e também sua interoperabilidade, além de acabar com a dependência do PySide, o que seria muito bom para a plataforma e deixaria a execução do PADE mais leve.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.