You are here

Instalação do Clarion

 

 

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: WorldAgentInitializer, 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:

  1. Descrever os objetos e características no mundo.

  2. Descrever as ações e os objetivos (goals) que determinarão como os agentes interagem com o mundo.

  3. Iniciar as funções internas do agente para que possa tomar decisões baseado no que ele percebe do mundo.

  4. 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 WorldEle é 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:

  • Redes de decisão explicita.

  • Regras de ação

  • Drivers

  • Modulos Meta-cognitivos

  • Etc.

No momento é só levar em conta que os objetos funcionais são gerados usando os métodos estáticos “initialize” localizados na classe AgentInitializer.

 

 

Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer