Instalação do Clarion.
Clarion está desenvolvido em C#, uma linguagem de programação desenvolvida pela Microsoft no ano 2000. C# faz parte do .Net Framework, e precisa dele para funcionar, em Windows é possível instalar o .Net Framework desde a página da Microsoft, em Linux e outros sistemas operacionais é possível utilizar a versão livre do .Net Framework chamado Mono.
O Clarion é uma biblioteca empaquetada num arquivo .dll, que deve ser incluso em cada projeto que utilize as funções do Clarion.
Creating a Simulation Project
Para criar as simulações e utilizar a biblioteca de Clarion, será utilizada a ferramenta mododevelop no entorno Linux. A seguinte imagem apresenta a tela inicial do monodevelop após ser executado.
A primeira coisa que deve ser feita quando vai fazer uma simulação é especificar uma “solução”. Uma solução é uma entidade que pode conter vários projetos, ela é criada no começo da simulação. Apos a criação de um projeto é necessária a inclusão da biblioteca do Clarion, a seguinte imagem apresenta a solução, o projeto e a inclusão da biblioteca do Clarion.
A biblioteca do Clarion é uma coleção de classes, bibliotecas, delegados etc. que contem toda a arquitetura necessária para criar agentes dentro de um executável próprio.
The CLARION Library Namespaces
Clarion tem organizados os namespaces apresentados na seguinte imagem.
Uma descrição mais detalhada é dada a seguir:
Clarion – Esté é o namespaece base da biblioteca de Clarion e ele contem três classes: World, AgentInitializer, e ImplicitComponentInitializer.
Clarion.Framework – Este namespace contem a maioria das classes necessárias para inicializar e executar a simulação. Quase todas as classes contidas neste namespace podem ser diretamente relacionadas com termos ou conceitos da teoria por detrás do Clarion.
Clarion.Framework.Core – Este namespace contem os construtores necessários para a operação do sistema
Clarion.Framework.Extensions – Este namespace contem as extensões de Clarion.
Clarion.Framework.Templates – Este namespace contem as classes abstratas, as interfaces, delegados etc. que atuam como templates, na criação de objetos definidos pelo usuario.
Clarion.Plugins – Este namespace contem vários plugins e ferramentas que podem aumentar as capacidades do Clarion
Basic Guideline for Setting Up Simulations
A primeira coisa que se deve saber é que não existe nenhum requerimento prévio para criar uma simulação. A continuação são listados os passos que descrevem aproximadamente o que se deve fazer para criar uma simulação:
Descrever os objetos e características no mundo.
Descrever as ações e os objetivos (goals) que determinarão como os agentes interagem com o mundo.
Iniciar as funções internas do agente para que possa tomar decisões baseado no que ele percebe do mundo.
Dotar de mecanismos ao agente para que possa interagir com o mundo.
Dois conceitos muito importante na arquitetura do Clarion são os objetos descritivos e os objetos funcionais.
Descriptive vs. Functional Objects
Os objetos descritivos são objetos que são usados para descrever as características das coisas ou seja eles descrevem como o entorno de simulação é visto. Eles incluem coisas como
pares Dimensão-valor
Agentes
Ações, objetivos etc.
Em essência, um objeto descritivo faz exatamente isso, descreve coisas. Na arquitetura de Clarion os objetos descritivos são gerados, armazenados e liberados unicamente a traves de um objeto do tipo Singleton chamado World. Ele é criado automaticamente quando o código é executado assim que sempre está disponível para o acesso.
O objeto World contem “todo”.
O entorno completo de simulação da tarefa
Os agentes que existem dentro do entorno
Informação especial interna.
Por outro lado um objeto funcional é um objeto que na realidade faz alguma coisa. Ou seja os objetos funcionais são usados para descrever os processos e mecanismos que permitem os trabalhos internos de um agente. Exemplos de estos objetos são:
No momento é só levar em conta que os objetos funcionais são gerados usando os métodos estáticos “initialize” localizados na classe AgentInitializer.