Tutorial 8: Advanced Customization Tutorial
Neste tutorial são abordadas algumas técnicas para modificar algum componente, ou seja como criar “Custom Component”.
O tutorial começa definindo alguns términos importantes como: component, implicit component, rule, drive e module.
Depois o tutorial apresenta alguns requerimentos que são específicos para cada um dos subsistemas. Cada subsistema tem seus próprios requerimentos. Assim som apresentadas a estrutura do ACS, NACS, MS e MCS.
Depois o tutorial fala sobre as interfaces e os templates presentes na arquitetura.
Exemplos de interfaces podem ser:
- ITrainable
- IReinforcementTrainable
- IUsesQLearning
- ItracksMatchStatistics
- IDeletable
- IhandlesNewInput
- etc.
How to Implement a Custom Component
Clarion foi pensado para permitir um grande numero de câmbios possíveis e permitir modificar os componentes sem tirar as iterações entre os diferentes subsistemas. Mas todos os componentes devem cumprir três requisitos básicos
Requirements for Implementing a Custom Component
Todo componente em Clarion deve cumprir três requisitos:
- Uma classe “Factory” que possa ser usada pela classe AgentInitializer e assim permitir criar o componente.
- Uma classe “Parameters” que armazene todos os valores que podem ser modificáveis no componente
- Um método “Commit” que liguei o componente ao agente e faça ele permanente.
Grande parte do tutorial é sobre como implementar cada um dos três requisitos acima apresentados, começa com a implementação do Factory, depois da classe Parameters e finalmente do método Commit.
Na seguinte seção é apresentada a forma de implementar um “Drive”.
Finalmente é apresentada uma seção de serialização de um componente ou Drive. “Serializing a Custom Component (or Drive)”