• Nenhum resultado encontrado

CAPÍTULO I Introdução

2.7. Shell’s

São ferramentas destinadas à engenharia do conhecimento e ao desenvolvimento de sistemas especialistas. Utilizadas para representar o conhecimento, criar mecanismos de inferência na busca de soluções, possibilitando uma interface com o usuário e o engenheiro do conhecimento. A maioria delas é orientada à construção de programas através de regras de produção. Segundo RABUSKE (1995), essas ferramentas orientadas às regras dividem-se em dois grupos conforme a maneira que estas regras são implantadas. Um grupo utiliza-se de editores de textos comuns como txt para editar as regras, e posteriormente são interpretadas e executadas pelas Shell’s, o que traz maior flexibilidade. Um outro grupo já tem incorporado um editor próprio, geralmente orientado através de menus.

Uma das grandes vantagens de se utilizar uma Shell para o desenvolvimento de sistemas especialistas é não precisar aprender uma linguagem de programação pura, apenas aprender a estrutura e sintaxe do software. STAIR (2002) apresenta a relação custo x tempo de

CAPÍTULO II – Sistemas Especialistas e Gestão do Conhecimento 28

desenvolvimento dos sistemas especialistas na figura 2.6. comparando as alternativas de desenvolvimento. Desenvolvimento do ponto zero Desenvolvimento com uso de um aplicativo. Uso de um pacote já existente C ust o de dese nvol vi ment o

Baixo Tempo de desenvolvimento de sistemas Alto

Baixo Alto

Figura 2.6. – Alternativas de Desenvolvimento de Sistemas Especialistas, Seus Custos Relativos e Medidas de Tempo. Adaptado de STAIR (2002)

A facilidade e ganho de tempo que a utilização das Shell’s oferece, parecem características de consenso na literatura juntamente com a dificuldade de traçar parâmetros para sua escolha. Entretanto GROSSMANN Jr. (2002) resume as restrições da escolha de uma ferramenta para desenvolvimento dos sistemas especialistas em quatro: “ área de aplicação na qual recai o domínio do sistema, a possibilidade e facilidade na expressão de fatos e relações pertinentes ao problema, as facilidades de interface da linguagem e forma de raciocínio usada para buscar a solução na base de conhecimento.”

Dentro das diversas opções oferecidas, se encontram opções disponíveis sem custo de aquisição, além de alguns serem direcionados ou oferecerem maiores benefícios computacionais e de implementação em áreas determinadas.

Ainda em STAIR (2002) encontra-se uma relação de aplicativos para sistemas especialistas populares, da qual cita-se:

“ 1 st-Class Fusion – oferece uma ligação direta e fácil de usar com base de conhecimento. Também oferece uma árvore de regras, que mostra graficamente como elas se relacionam.

Knowledgepro, da Knowledge Garden – é uma linguagem de alto nível, que combina as funções dos sistemas especialistas com hipertexto. Permite a construção das clássicas regras se-então e pode ler arquivos dBase e Lótus 1-2-3.

Leonardo – é um aplicativo para desenvolvimento de sistemas especialistas que usa uma linguagem orientada a objeto.

MindWizard – é um pacote de software para PC barato e que possibilita o desenvolvimento de sistemas especialistas compactos, indo desde modelos simples que incorporam regras de decisão corporativa até modelos sofisticados.”

Durante a pesquisa nos vários estudos já desenvolvidos e disponíveis, destaca-se três Shell’s que aparecem constantemente como ferramentas empregadas em dissertações e teses brasileiras no desenvolvimento de sistemas especialistas, inclusive a adotada neste estudo.

2.7.1 Kappa-PC

Segundo LEMOS (1996) e ZUCHI (2000), esta Shell (linguagem Kal) basea-se na programação orientada a objeto, e compatível com programas desenvolvidos na linguagem C. Sua arquitetura é baseado em “frames”, ou seja, utilizando classes, instâncias e slots em um relacionamento hierárquico, com regras de produção incorporadas.

Dispõem de uma biblioteca de funções, operadores numéricos a funções lógicas, porém pode ser enriquecida pelas construções de novas funções através do uso da linguagem “C” e utiliza-se de regras de produção para ativar a máquina de inferência. A interface pode ser construída através do uso de programação ou utilizar a interface disponível.

2.7.2 Expert SINTA

Também baseado na programação orientada a objetos, possui como linguagem de implantação a Borland Delphi. Permite, segundo BEZERRA (1998), o “desenvolvimento modular de bases de conhecimento através de uma interface de fácil manipulação e de utilitários criados para depuração.” Além da inclusão de hipertextos explicativos referentes às conclusões apresentadas pelo sistema, e não requer tanto do usuário quanto do engenheiro do conhecimento, conhecimento profundo dos conceitos de informática.

Ao contrário de outras Shell’s, o Expert SINTA não se utiliza de pseudolinguagens e sim um modelo visual para projeto e implantação do conhecimento.

A manipulação e criação da base de conhecimento podem ser trabalhadas através das regras de produção, que são inseridas de maneira independentes, podendo ser editadas ou acrescentadas. Uma grande característica desta Shell é a modularidade das regras de produção e

CAPÍTULO II – Sistemas Especialistas e Gestão do Conhecimento 30

seu tratamento de incertezas que se utiliza inclusive do “fator de confiança do usuário em relação às respostas dadas” (BEZERRA, 1998). Esta Shell foi desenvolvida pela Universidade Federal do Ceará podendo ser adquirida gratuitamente.

2.7.3 CLIPS

Sistema de Produção Integrado da Linguagem C (CLIPS , C Language Integrated Production System), desenvolvido pela seção de Inteligência Artificial da NASA em 1985. Mantido de domínio público é utilizada por bases militares, várias agências federais, universidades, parceiros governamentais, empresas privadas, entre outras organizações. (Fonte:http://kiwi.arca.ime.usp.br/?Clips)

A Shell CLIPS possibilita o trabalho com três parâmetros de programação, segundo GIARRATANO & RILEY (1993) uma das principais fontes do assunto, uma linguagem multiparadigma. Isto por apresentar programação procedural, orientação a objeto e sistemas de regras de produção. Isto atribui uma modularidade ao sistema devido à manipulação de objetos e seus atributos, além da heurística através das regras if-then. A programação procedural é semelhante à encontrada nas linguagens como C, Pascal, Ada e LISP, com as quais pode ser integrado.

O CLIPS ainda apresenta uma biblioteca de funções a qual pode ser acrescida com as construídas pelo próprio projetista do sistema. “No CLIPS existem várias características para apoiar a verificação e validação de sistemas especialistas, verificação estática e dinâmica de valores e argumentos de funções, e análise semântica de padrões e regras para determinar e, se necessário, prevenir uma possível geração de erro” (PEREIRA Jr., 2001). Também dispõe de uma documentação composta por três volumes incluindo um Guia do Usuário e um help incorporado no próprio programa.

Sua interface não é uma das mais amigáveis, entretanto pode ser desenvolvida posteriormente para o sistema através de uma programação visual, e permite a interação e apresentação de dados em formato HTML, conforme será visto nas descrições do protótipo ao longo deste estudo.

Para compor as características descritas acima a adoção desta Shell no presente estudo fundamentou-se em três aspectos citados por ALVES (2001): confiabilidade, facilidade de utilização e experiência prévia.