You are here

Parte 08 - Basic Customization

Esta parte do tutorial apresenta algumas forma básicas de customizar o funcionamento de alguns componentes, essencialmente através do uso de delegates do C#.
 
 

Especificando delegates durante a inicialização dos componentes

 
A customização via delegates pode ser ativada com a sua especificação durante o processo de criação do componente; o próprio código exemplo de interface com o WorldServer3D tem um exemplo desse mecanismo:
 
 
O uso do delegate SupportCalculator é explicado mais adiante neste relatório. Podem ser passados diversos delegates na função de inicialização do componente. Pela documentação, quais delegates são suportados depende do componente sendo criado. Pelo disasembly da classe FixedRule é possível ver que ela aceita os seguintes delegates:
 
 
 
 

EligibilityChecker delegate

 
A primeira customização apresentada é a para definição da eligibilidade de um componente do Clarion: é possível definir uma função que devolve um valor booleano, indicando se o determinado componente deve ser utilizado ou não. Pela documentação do Clarion este é o delegate:
 
 
O formato de uma função EligibilityChecker deve ser então:
 
 
 
 

Customização de regras através do delegate SupportCalculator

 
Clarion disponibiliza 2 tipos de regras que podem ser customizadas - IRLRule e FixedRule. Essa customização pode ser feita através do uso de um delegate SupportCalculator, cujo objetivo é fornecer o grau de ativação para uma determinada regra. Pela documentação, este é o formato desse delegate:
 
 
 
Conforme mencionado anteriormente, o código exemplo de interação com WorldServer3D faz uso de uma FixedRule customizada via SupportCalculator:
 
 
Neste exemplo a ativação da regra é função do grau de ativação do par DV ˜InputWallAhead˜, conforme recebido dentro do SensoryInformation do ciclo cognitivo.
 
 

Uso de GenericEquations e delegate Equation

 
Um outro delegate apresentado nesta parte do tutorial é o Equation, fundamental para a utilização do componente GenericEquation.
 
Um GenericEquation pode ser criado em qualquer nível inferior dos subsistemas de um agente Clarion; seu objetivo é implementar uma equação bem definida, compondo o processamento difuso característico desse nível.
 
Um exemplo simples, porém bastante ilustrativo do uso de um GenericEquation é a implementação de uma equação linear dentro do nível inferior; neste ponto é que o delegate Equation é crucial: é através dele que essa equação bem definida é criada:
 
 
 
Seu formato básico é gerar uma saída a partir de entradas, pela documentação:
 
 
A criação de um GenericEquation é feita então pelo seguinte comando, como uma IDN tradicional:
 
 
 
 

Comentários finais

 
Através do uso de delegates é possível customizar vários aspectos do funcionamento dos componentes Clarion, possibilitando a inclusão de algoritmos complexos a partir de elementos que não necessariamente precisam estar definidos dentro do agente.
 
De fato, um dos motivos para que essa nova versão do Clarion fosse escrita na linguagem C# foi a diponibilidade do mecanismo de delegates.
 
Pela documentação existem outros delegates disponíveis para customização:
 
 

Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer