Giter Club home page Giter Club logo

adaplib's Introduction

Adaplib

AdapLib é uma biblioteca que permite a execução de dispositivos adaptativos em Java. O objetivo é permitir o emprego do conceito de dispositivos adaptativos em aplicações (comerciais ou não), sem se preocupar com os detalhes de como implementá-lo: esses detalhes são tratados pela AdapLib. Dessa forma, ao mesmo tempo em que se pretende seguir o formalismo original de dispositivos adaptativos, há também a preocupação com o desempenho e extensibilidade da biblioteca.

A biblioteca foi criada seguindo os conceitos da orientação à objetos. Conforme a necessidade do desenvolvedor, algumas classes podem ser especializadas, permitindo, por exemplo a execução de um código Java ao passar por um determinada configuração, ou ao executar uma regra.

Autor

Fábio Levy Siqueira

Licença

Este Software é licenciado sob a CC-GNU LGPL.

Versão 2.0 - 05/10/2008

  • Separação da camada subjacente da camada adaptativa.
    • Permite que uma camada adaptativa seja camada subjacente de uma outra camada adaptativa.
  • Definição de um tipo para cada parâmetro (não há mais o enumerador).
  • Ação adaptativa de remoção pode considerar qualquer combinação de estado inicial, final e símbolo (menos a que remove TODAS as transições).
  • Ações adaptativas executadas antes (pré) e depois (pós) da execução das ações adaptativas de uma função.
  • Log usando log4j (ainda é necessário mais logs).

Documentação

Diagramas de classes

Exemplo

Versão 1.0 - 07/02/2008

  • Representação e execução de autômatos finitos e autômatos finitos adaptativos determinísticos.
  • Funções adaptativas.
  • Ações adaptativas de remoção que removem a partir do estado origem e do estado destino e/ou símbolo.
  • Ações adaptativas de inserção, inserindo transições com funções adaptativas.
  • Uso das informações dos parâmetros da função adaptativa para executar as ações adaptativas.

TODO

Aspectos teóricos

  • Permitir autômato não determinístico: estratégias: threads & técnicas de IA.
  • Permitir o uso de um autômato de pilha como dispositivo subjacente.
  • Permitir o uso de uma tabela de decisão como dispositivo subjacente.
  • Ações adaptativas de busca.
  • Uso de variáveis nas funções adaptativas.
  • Fazer com que não haja ordem na execução das ações em uma função (precisa ser não determinístico).

Aspectos práticos

  • Planejar melhor os logs
  • Usar o JUnit para realizar os testes de unidade.
  • Criar um interpretador que siga a representação textual de autômatos, permitindo que ele seja lido de um arquivo texto (idealmente usando um compilador que usa um autômato adaptativo!).
  • Interface gráfica para modelar autômato (para simulação, a recomendação é usar o adaptools).
  • Fazer thread-safe

adaplib's People

Contributors

levysiqueira avatar

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.