Uma Ferramenta Computacional para o Projeto de Sistemas Inteligentes DCA/FEEC/UNICAMP A. S. R. Gomes J. A. S. Guerrero R. R. Gudwin
Motivações para o Trabalho Necessidade de mecanismos mais adequados para implementação de modelos de sistemas inteligentes. –Semiótica Computacional Falta de ferramentas de software similares. Estudo de modelos: –Análise –Síntese Difusão dos conceitos desenvolvidos sobre Redes de Objetos entre os meios científico e tecnológico.
Conceitos... O objeto conceitual Sistema de Objetos Rede Objetos RO baseada emmatching Sistemas de objetos
RO baseada em matching Objetos passivos –Apenas armazenam informação. Objetos ativos –Podem armazenar informação. –Processam informações quando disparados pelo algoritmo de matching, gerando e/ou consumindo objetos. Função estado entrada Porta privada de saída Porta privada de entrada estado saída estado interno estado interno
RO baseada em matching Lugares –agrupam objetos da mesma classe. –Podem corresponder a fontes e/ou vertedouros de arcos. Arcos –Conectam dois lugares.
BMSA Algoritmo de busca: –Encontra o conjunto de objetos ativos, incluindo as respectivas funções, a serem disparados. –Encontra automaticamente o escopo habilitante a partir das informações individuais de interesse, eliminando possíveis conflitos. Combinações locais Combinações globais BMSA
Combinações duas combinações, uma ação uma combinação para cada (e/c), uma ação.
Ferramenta computacional - MTON Requisitos: –Escalabilidade**. –Portabilidade*. –Performance**. –Capacidade de representação*. –Facilidade de interação com o usuário*. –Facilidade de implementação*. –Capacidade de reuso de software*.
Ferramenta computacional - MTON Características técnicas: –Concorrência implícita para cada lugar. –Importa classes Java já codificadas. –Modelo cliente/servidor.
Ciclo de funcionamento MTON Hghd h g kjhfg kj kjfdhg kjhfdg kjh kjsdfhg jhgjgf kjh jjhkj kjhkj kjh kjhfg kjh jh kjh kjh kjh j hkjh kjh kjh kjjh classes Java externas Hghd h g kjhfg kj kjfdhg kjhfdg kjh kjsdfhg jhgjgf kjh jjhkj kjhkj kjh kjhfg kjh jh kjh kjh kjh j hkjh kjh kjh kjjh especificação do modelo Hghd h g kjhfg kj kjfdhg kjhfdg kjh kjsdfhg jhgjgf kjh jjhkj kjhkj kjh kjhfg kjh jh kjh kjh kjh j hkjh kjh kjh kjjh rede do modelo implementação das classes do modelo Hghd h g kjhfg kj kjfdhg kjhfdg kjh kjsdfhg jhgjgf kjh jjhkj kjhkj kjh kjhfg kjh jh kjh kjh kjh j hkjh kjh kjh kjjh ONSLC GUI
Criação de uma rede de objetos Especificação do modelo. –Classes internas e externas. –Topologia. Implementação das classes. –Código privado das classes especificadas. –Ligação a bibliotecas externas. –Definição do estado inicial.
Especificação do modelo Classes externas: nome de importação e classe Java externa. Classes internas: –Variáveis: nome e classe. –Funções: nome, domínio, contra-domínio e domínio da sub-função de matching. –Portas (entrada e saída): campo associado. Topologia: –Lugares: classe associada. –Arcos: lugar e porta associada. Núcleo: estado inicial.
Núcleo Especificação do modelo Exemplo: Classe Externa Classe Interna Variáveis Funções Portas Arcos Lugar Nome da Rede Definição das Classes Definição da Topologia
Especificação do modelo Exemplo: growhungry i1 o1 ifork ofork hungry itimesync eat i2 Objeto da classe PHILOSOPHER Objeto da classe DEATH Objeto da classe FORK
Exemplo - CPN Rede de Petri Colorida
Exemplo - GA (TSP)
Caixeiro Viajante - versão 2
Exemplo - Fuzzy Controller Controle de veículo autônomo
Trabalhos Futuros Modelo computacional em objetos distribuídos (RMI ou CORBA). Bibliotecas para visualização e interface com dispositivos externos. Otimização do algoritmo de busca. Criação de distribuições específicas para algoritmos genéticos, sistemas nebulosos e redes neurais. Expansão do modelo para redes hierárquicas e/ou objetos com campo.