Essa é uma revisão anterior do documento!
Tabela de conteúdos
Integração com R
Se R tiver uma API C ou C++ será modelza integra-lo á LUA. A melhor referência que disponho é o binder “luna.h”, que implementar um wrapper C++ para LUA. Tanto o codigo C++ do binder quanto um artigo explicando seu uso podem ser obtidos no site www.lua.org. As referências para esses recursos são:
http://lua-users.org/files/wiki_insecure/users/lpalozzi/luna.tar.gz http://www.lua.org/notes/ltn005.html
Estou terminando um texto que descreve como integrei o framewok C++ de TerraME com a linguagem LUA. Talvez esse documento seja util para vc! Termino em 2 dias e te mando…
Se R tiver realmente uma API C++, vc ainda poderá optar pelo uso do binder “toLua” que automaticamente vaz toda tarefa para vc. Alguns alunos meus preferiram essa opção. Eu preferi a anterior por ter o controle total do codigo em minhas mãos.
Se R não ticer uma API C++, então vc terá que que escrever um wrapper C++ para Java (supondo que R possua API java), e então usar os dois caminhos anteriores para ligar o wraper criado à linguagem LUA. Será trabalhoso, mas fácil.
Em LUA é possivel criar módulos (bibliotecas) e incluílas em outros modulos. Desta maneira, qualquer modelo TerraME pode incluir novo modulo e se beneficiar das funções por ele oferecidas. Acho que o comando é “import nome_do_modelo”. E , não tenho certeza, o modulo é declarado usando a palavra reservada “package”. Acho que vc já utilizou isso não foi? Quando criou um modulo com os serviços para implementação de agentes!
Manipulação de agentes no TerraMe
- armazenamento de agentes
ForEachAgent
AddPlayer
RemovePlayer
Funções adicionais
NumberOfCells/NumberOfNeighbours
GetRandomCell/GetRandomneighbour/GetRandomAgent
- Implementar um gerador de numeros aleatorios decente em lua
ApplyNeighbourhoodConstraint
- Possibilidade de escrever dados em tabela externa (não ligada a geometria)
- Protocolo send/receive?