Um Ambiente Expert para o Apoio ao Desenvolvimento de Software. Sílvia Maria Wanderley Moraes 1 Daltro José Nunes



Documentos relacionados
Vensis PCP. Rua Américo Vespúcio, 71 Porto Alegre / RS (51) comercial@vensis.com.br

Projetos, Programas e Portfólios

Matemática / 1ª série / ICC Prof. Eduardo. Unidade 1: Fundamentos. 1 - Introdução ao Computador

HARDWARE e SOFTWARE. O Computador é composto por duas partes: uma parte física (hardware) e outra parte lógica (software).

Anexo V. Software de Registro Eletrônico em Saúde. Implantação em 2 (duas) Unidades de Saúde

III.3. SISTEMAS HÍBRIDOS FIBRA/COAXIAL (HFC)

Workflow. José Palazzo Moreira de Oliveira. Mirella Moura Moro

GESTÃO DE PROJETOS. Uma visão geral Baseado nas diretrizes do PMI

Projeto de Arquitetura Objetivos. Tópicos abordados. Arquitetura de software. Vantagens da arquitetura explícita

Unidade 7: Sínteses de evidências para políticas

Agenda. A interface de Agendamento é encontrada no Modulo Salão de Vendas Agendamento Controle de Agendamento, e será apresentada conforme figura 01.

Regulamento para realização do Trabalho de Conclusão de Curso

WORKSHOPS SOBRE AS POSSIBILIDADES DE COOPERAÇÃO / CONCENTRAÇÃO NO SECTOR AUXILIAR NAVAL

Aula 11 Bibliotecas de função

UNIVERSIDADE ESTADUAL DE CAMPINAS FACULDADE DE CIÊNCIAS APLICADAS Cidade Universitária de Limeira

Modelagem, qualificação e distribuição em um padrão para geoinformações

Boletim Técnico. CAGED Portaria 1129/2014 MTE. Procedimento para Implementação. Procedimento para Utilização

Design Patterns ABSTRACT FACTORY EMERSON BARROS DE MENESES

CRONOGRAMA DELPHI para turmas Aproximadamente 84 horas - aulas de 2 horas

Plano de aulas ª série 1ª aula 2ª etapa

H. Problemas/outras situações na ligação com a Segurança Social;

Versões Todos os módulos devem ser atualizados para as versões a partir de 03 de outubro de 2013.

ISO 9001:2008 alterações à versão de 2000

Fundamentos de Informática 1ºSemestre

METAS DE COMPREENSÃO:

GESTÃO DE LABORATÓRIOS

Ontologias: da Teoria à Prática

Introdução à UML. Mas usaremos apenas um sub-conjunto da UML

OBJETIVOS DA AULA GESTÃO DE TECNOLOGIA DA INFORMAÇÃO

3 Formulação da Metodologia 3.1. Considerações Iniciais

ATIVIDADES PRÁTICAS SUPERVISIONADAS

Âmbito do Documento. Modelo de Comunicação. Modelo de Comunicação. Prescrição Eletrónica Médica - Aplicação

Processos de Apoio do Grupo Consultivo 5.5 Suporte Informático Direito de Acesso à Rede

Manual. Autorizador da UNIMED

INTRODUÇÃO A LOGICA DE PROGRAMAÇÃO

SMART CONTROLE DO ESTOQUE DE GONDOLA

Desenho centrado em utilização

Os novos usos da tecnologia da informação nas empresas Sistemas de Informação

UML. Diagrama de Classes de Projeto e Diagrama de Objetos Análise e Projeto de Software. Profª. Cibele da Rosa Christ

MANUAL PARA ELABORAÇÃO DE ARTIGOS CIENTÍFICOS

SGCT - Sistema de Gerenciamento de Conferências Tecnológicas

UNIVERSIDADE FEDERAL DE RONDÔNIA

Controle de Atendimento de Cobrança

Informática II INFORMÁTICA II

Apresentação do Curso

3 Fundamentos do Comportamento dos Hidrocarbonetos Fluidos

Gestão do Escopo 1. Planejamento da Gestão do Escopo: 2. Definição do Escopo: 3. Elaboração da EDT(EAP): 4. Verificação do Escopo:

Principais Informações

Regulamento da Feira de Ciência

2º Passo Criar a conexão via ODBC (Object DataBase Conection)

DISSERTAÇÃO NOS MESTRADOS INTEGRADOS NORMAS PARA O SEU FUNCIONAMENTO

Geoprocessamento integrado à gestão de propriedades rurais piloto COCAMAR em Jussara-PR Autor:

Projeto e Implementação de um Software para auxilio no Ensino de Linguagens Regulares

Vensis Manutenção. Rua Américo Vespúcio, 71 Porto Alegre / RS (51) comercial@vensis.com.br

O projeto Key for Schools PORTUGAL

Em qualquer situação, deve ser incluída toda a informação que seja relevante para a análise e resolução da questão/problema.

Proposta. Projeto: VENSSO. Data 25/05/2005. Andrade Lima Damires Fernandes Andrade Lima Damires Fernandes. Responsável. Autor (s)

CONCORRÊNCIA AA Nº 05/2009 BNDES ANEXO II PROJETO BÁSICO: JORNADA AGIR

COMO CONFIGURAR SUA(S) CONTA(S) NO MICROSOFT OFFICE OUTLOOK

Prova Escrita e Prova Oral de Inglês

Em qualquer situação, deve ser incluída toda a informação que seja relevante para a análise e resolução da questão/problema.

PROJETO 22ª MOSTRA ESTUDANTIL TECNOLÓGICA Dias 22 e 23 DE OUTUBRO DE 2014 CURSO: GESTÃO EMPRESARIAL

PM 3.5 Versão 2 PdC Versão 1

MASTERCOMP ESCOLA DE INFORMÁTICA

Modelo de Comunicação. Programa Nacional para a Promoção da Saúde Oral

TESTE DE SOFTWARE (Versão 2.0)

3 O PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

Dissídio Retroativo. Cálculos INSS, FGTS e geração da SEFIP

Ambiente Computacional para geração de Learning Objetcs no padrão SCORM a partir de conteúdos organizados através de Mapas Conceituais

REGULAMENTO DE ESTÁGIO DE INICIAÇÃO PROFISSIONAL

APLICAÇÃO DO SOFTWARE ELIPSE E3 NAS USINAS HIDRELÉTRICAS ILHA SOLTEIRA E ENGENHEIRO SOUZA DIAS (JUPIÁ)

Capítulo V. Técnicas de Análise de Circuitos

GUIA RÁPIDO DE CONFIGURAÇÃO PARA WINDOWS

OBJECTIVO. Ligação segura às redes públicas de telecomunicações, sob o ponto de vista dos clientes e dos operadores;

Plano de curso Planejamento e Controle da Manutenção de Máquinas e Equipamentos

PIM TECNOLOGIA EM GERENCIAMENTO DE REDES DE COMPUTADORES (GR3P30)

Mestrado em Sistemas de Informação

Manual do DEC Domicílio Eletrônico do Contribuinte

Código: Data: Revisão: Página: SUMÁRIO

Diagrama de Atividades

Cursos Profissionais de Nível Secundário (Decreto-Lei n.º 74/2004, de 26 de Março)

Glossário das Metas Prioritárias 2010 Versão Agosto/2010

Legenda da Mensagem de Resposta à Verificação de Elegibilidade (respostaelegibilidade)

Novo Sistema Almoxarifado

Normalização de banco de dados

1 Criando uma conta no EndNote

Universidade Luterana do Brasil Faculdade de Informática. Disciplina de Engenharia de Software Professor Luís Fernando Garcia

Banco de Dados. DIEGO BARCELOS RODRIGUES 2015 (2015/1) 1. Ifes - Campus Cachoeiro de Itapemirim

GUIA DE RELACIONAMENTO MT-COR: 001 Revisão: 000

Análise e Design: Visão Geral

PROJETO 22ª MOSTRA ESTUDANTIL TECNOLÓGICA Dias 22 e 23 DE OUTUBRO CURSOS: Eletrônica, Informática, Mecânica, Mecatrônica, Química e Petróleo e Gás

- Diretor do Programa Internacional de Ortodontia da New York University. - Autor do primeiro livro sobre o tema: Biomecânica Interativa Autoligante

Novas Salvaguardas Ambientais e Sociais

Manual de Instalação e Configuração

MANUAL dos LABORATÓRIOS De INFORMÁTICA

Em qualquer caso, deve ser incluída toda a informação que seja relevante para a análise e resolução

Novas Salvaguardas Ambientais e Sociais

DISCIPLINA: Matemática. MACEDO, Luiz Roberto de, CASTANHEIRA, Nelson Pereira, ROCHA, Alex. Tópicos de matemática aplicada. Curitiba: Ibpex, 2006.

Sistema de Gestão de BPM

Transcrição:

Um Ambiente Expert para Api a Desenvlviment de Sftware Sílvia Maria Wanderley Mraes 1 Daltr Jsé Nunes Universidade Federal d Ri Grande d Sul Institut de Infrmática Pós-Graduaçã em Ciência da Cmputaçã Caixa Pstal 15.064 CEP 91591-970 Prt Alegre - RS - Brasil E-mails: silvia@music.pucrs.br daltr@inf.ufrgs.br RESUMO O empreg de assistentes inteligentes em ambientes de desenvlviment de sftware é, hje, além de uma característica desejável, uma necessidade, principalmente, em funçã da distância cnceitual existente entre as semânticas d dmíni d prblema e s artefats de sftware. Tais assistentes, apesar ds váris exempls presentes na literatura referentes a seu desenvlviment e aplicaçã, nã receberam em sua cnstruçã um tratament frmal. O bjetiv deste trabalh é mdelar e especificar frmalmente uma ferramenta shell para a cnstruçã de sistemas especialistas, que pssa ser incrprada a cnjunt de ferramentas de um ambiente de desenvlviment de sftware. O métd frmal esclhid para a especificaçã fi algébric e cm PROSOFT é um ambiente que baseia-se nesse métd, ele fi esclhid para desenvlviment da ferramenta. 1 Prfessra da Pntifícia Universidade Católica d Ri Grande d Sul - Institut de Infrmática - Av.Ipiranga, 6690 - CEP 90610-000 - Prt Alegre/RS Brasil.

1. INTRODUÇÃO O desenvlviment de um sftware é uma atividade que exige intens cnheciment. O engenheir de sftware precisa cnhecer bem dmíni da aplicaçã, a platafrma de implementaçã (sftware e hardware) e as técnicas atuais de desenvlviment de sftware para elabrar um prdut final de qualidade. A Engenharia de Sftware, precupada cm a qualidade e pel fat d desenvlviment de sftware estar ligad a cnheciment, fi buscar na Inteligência Artificial (IA) técnicas que a ajudassem na resluçã de seus prblemas. A área que estuda aplicaçã das tecnlgias de IA em Engenharia de Sftware é cnhecida cm Engenharia de Sftware Baseada em Cnheciment (KBSE). A KBSE tem apstad n cnheciment cm um fatr imprtante para a prduçã de sftwares de alta qualidade. É crescente númer de pesquisadres que empregam sistemas baseads em cnheciment (SBC) para assistir s engenheirs de sftware em suas atividades [FAL 95]. Os SBC s aparecem, nrmalmente embutids em ambiente de desenvlviment de sftware, trabalhand cm assistentes inteligentes a prcess de cnstruçã de um sftware. Esses assistentes cperam cm engenheir de sftware, ajudand de frma especializada, na sluçã ds prblemas. Embra esses assistentes, em sua mairia, tenham sid desenvlvids cm prtótips e existam pucas métricas para a avaliaçã efetiva ds resultads btids cm a sua aplicaçã, a necessidade de encurtar a distância cnceitual entre a semântica d dmíni ds prblemas e s artefats de sftware faz desses assistentes uma característica desejável e necessária em qualquer ambiente de desenvlviment [FIS 92]. Há, na literatura da área de KBSE, váris exempls de assistentes inteligentes em ambientes de desenvlviment de sftware. Entretant, puc tratament frmal u quase nenhum lhes fi dad. A mairia apresenta apenas uma descriçã infrmal d assistente. O us de um métd frmal é imprtante para a especificaçã de qualquer sistema, especialmente s mais cmplexs. O embasament matemátic d métd trna pssível garantir prpriedades cm cmpleteza, crretude e ausência de ambigüidade que sã muit difíceis de se bter cm uma descriçã infrmal. Além diss, uma descriçã infrmal, cm um text em prtuguês, está suscetível a errs de interpretaçã e, até mesm, à incmpreensã ds prcediments descrits. Em funçã ds benefícis d us de um métd frmal e da necessidade d us de assistentes inteligentes n prcess de desenvlviment de sftware, bjetiv deste trabalh fi mdelar e especificar frmalmente uma ferramenta shell, para a cnstruçã de sistemas especialistas, que pssa ser incrprada a cnjunt de ferramentas de um ambiente. Através ds recurss ferecids pr esta ferramenta, assistentes inteligentes pderã ser cnstruíds, para s mais variads prpósits, a fim de atender as necessidades ds engenheirs de sftware a lng d prcess de desenvlviment. O métd frmal esclhid para a especificaçã fi algébric. O ambiente de desenvlviment de sftware PROSOFT fi esclhid para desenvlviment dessa ferramenta shell pr váris mtivs, entre s quais, está fat dele basear-se n métd algébric, que fi métd esclhid; pr ele ser um ambiente abert, pssibilitand a inclusã da shell a seu cnjunt de ferramentas; e pr nã ter nenhum tip de suprte inteligente. 2. O AMBIENTE PROSOFT

O PROSOFT é um Prjet de Pesquisa d Grup de Sistemas de Infrmaçã d CPGCC/UFRGS sb a crdenaçã d Prf. Dr. Daltr Jsé Nunes. O bjetiv desse prjet é a cnstruçã de um ambiente de desenvlviment de sftware. O ambiente prpst prevê a definiçã e desenvlviment de um cnjunt de ferramentas para apiar engenheir de sftware da análise (definiçã ds requisits) à sluçã de um prblema (implementaçã) [NUN 94]. Algumas dessas ferramentas já fram definidas e implementadas. Outras, encntram-se em fase de prjet u de implementaçã. Entre estas ferramentas, estã as ferramentas d Ambiente Expert, descritas neste trabalh, que em breve devem ser implementadas. N prcess de desenvlviment de um sftware, a integraçã das ferramentas de suprte é essencial. Pis, a cntinuidade d prcess depende da facilidade de acess e de recuperaçã ds dads prduzids a cada fase d desenvlviment. N PROSOFT, s dads resultantes da interaçã ferramentas-engenheirs sã armazenads em um repsitóri (diretóri) de dads cmum a td ambiente. Esta prática permite que qualquer ferramenta de prjet, durante desenvlviment, tenha acess a dads (bjets) atualizads, cnfrme ilustra a Figura1. DIRETÓRIO Prblema F1 F2 F3... Obj1 Obj2 Obj3 ObjN Fn Sftware Engenheirs de Sftware Figura1 - O prcess de desenvlviment de sftware n PROSOFT O ambiente PROSOFT, em funçã da sua estrutura, incentiva reus de sftware, pis permite que aplicações, desenvlvidas sb seu paradigma sejam utilizadas n desenvlviment de nvas aplicações. E, além diss, devid a sua arquitetura aberta [NUN 89], admite a incrpraçã destas aplicações a seu cnjunt de ferramentas. 2.1 Estrutura d Ambiente PROSOFT O ambiente PROSOFT, estruturalmente, está basead em dis elements: ATO e a ICS. ª O ATO - Ambiente de Tratament de Objets - é nme dad a qualquer ferramenta desenvlvida sb paradigma PROSOFT, seja ela de suprte u de aplicaçã. Um ATO PROSOFT (vide Figura 2) implementa um tip abstrat de dads. Ele é cmpst, essencialmente, de uma classe e de um cnjunt de perações de atuam sbre s bjets dessa classe. Cabe ressaltar, que cnceit de classe empregad n PROSOFT difere um puc d cnceit de classes em linguagens rientadas a bjet. Cnfrme [KOR 96], uma classe

PROSOFT é uma estrutura de dads que crrespnde a que nrmalmente é chamad de atributs d bjet u variáveis de instância nas linguagens rientadas a bjet. < Nme-d-At > Instanciaçã Interface Op1:... Op2:...... Opi : X1 x X2 x X3... Xn Operações Op1=... Op2... =... Opi =... Xj Figura 2 - Estrutura de um ATO ª A ICS - Interface de Cmunicaçã d Sistema - estabelece mei de cmunicaçã das ferramentas PROSOFT. É através da ICS que um ATO pde enviar e receber mensagens de utrs ATO s. O desenvlviment de um sistema, sb a estrutura PROSOFT, cnsiste na definiçã de um u mais ATO s. Esses nvs ATO s pdem ser cnstruíds cm auxíli d cnjunt de ferramentas d ambiente (que também sã ATO s). E, pdem, ainda, se valerem da prática de reus e utilizar em suas definições ATO s já existentes n ambiente. A integraçã entre s ATO s que cmpõem sistema assim definid é feita pela ICS, cm mstra a Figura 3. ATO1 ATO2 ATO3 ICS ATO4 ATO5 Figura 3 - Estrutura d Ambiente PROSOFT 3. PROCESSO DE DESENVOLVIMENTO DO AMBIENTE EXPERT Em um ambiente de desenvlviment de sftware, sã pucas as ferramentas de suprte que desenvlvem atividades de frma cmpletamente autmática. A grande mairia interage cm engenheir de sftware, auxiliand- na execuçã das atividades envlvidas n prcess de desenvlviment de sftware. E é durante esta interaçã que s engenheirs pdem se deparar cm prblemas e precisarem de ajuda mais especializada. A funçã d ambiente expert é tant pssibilitar a cnstruçã de assistentes inteligentes a prcess de desenvlviment de sftware quant cntrlar a sua aplicaçã. O engenheir de sftware perante um prblema, chama a ferramenta e selecina a Base de Cnheciment adequada para cas. A ferramenta, baseada n bjet e nas respstas d própri engenheir, sugere um caminh para uma prvável sluçã u nã. A ferramenta terá cndições de encntrar a respsta, se huver, dependend evidentemente da Base de Cnheciment esclhida e das infrmações que lhe fram frnecidas. Na Figura 4, está ilustrada a frma de atuaçã desta ferramenta n prcess.

DIRETÓRIO bjet BC bjet2 Ambiente Expert Objet Sluçã Objet1 Ferramenta 1 bjet2 Ferramenta 2... bjet3 Características d prblema e BC esclhida? 3.1 Descriçã d Ambiente Expert Engenheirs de Sftware Figura 4- Auxíli prestad pel Ambiente Expert O ambiente Expert é cmpst pr seis ferramentas PROSOFT: ATO Base de Cnheciment e Infrmaçã(BCI) - principal ferramenta d ambiente, é respnsável pela cnstruçã da base de cnheciment e pela aplicaçã da máquina de inferência. Cntém infrmações sbre tip de métd de incerteza utilizad, sbre a estratégia de cntrle esclhida e sbre s critéris determinads para a resluçã de cnflits entre regras; ATO Banc de Cnheciment (Banc) - ferramenta que permite criar uma Base de Cnheciment; ATO Asserçã Relacinal (ASSREL)- ferramenta integrada a ATO BCI que permite a definiçã ds fats da premissa da regra de frma relacinal. ATO Açã Prsft (AÇÃO)- ferramenta, também incrprada a ATO BCI, que permite a definiçã de uma açã a ser executada pela máquina de inferência. Esta açã é uma peraçã de qualquer ATO Prsft. ATO Memória de Trabalh (MT)- esta ferramenta mantém s fats manipulads pela máquina de inferência. ATO Agenda - esta ferramenta armazena s cicls gerads pela máquina de inferência. 3.1.2 Descriçã d ATO BCI O ATO BCI, ilustrad pela Figura 5, é a principal ferramenta d ambiente Expert. É através das suas perações que uma base de cnheciment pde ser cnstruída e a máquina de inferência aplicada. O paradigma esclhid para representar cnheciment da base fi de regras de prduçã devid, principalmente, a sua simplicidade e difusã. As regras manipulam quaisquer bjets PROSOFT.

TIPO DE INCERTEZA IDENTIF. SUBCJTO FUNÇÃO FATOS PRIORI MIN ATRIBUTO FATO RELACIONAL RESPOSTA ANTECEDENTE FATO INFERIDO CONTEXTO REGRAS DE PRODUÇÃO REGRAS PREMISSAS CONDIÇÕES OUTRAS REGRAS LISTA DE FATOS ID. FATO BC CONSEQÜENTE CONCLUSÃO DEDUÇÕES AÇÃO ASSERÇÃO ESTRATÉGIA DE CONTROLE SOLUÇÃO FCREGRA COMPONENTES SOLUÇÃO FINAL CONTEXTO ASSERÇÃ0 ATRIBUTOS TIPO REGRA FATOS LISTA DE FATOS ID. FATO DEDUÇÃO RESOLUÇÃO DE CONFLITOS CRITÉRIOS AÇÃO CLASSIF. ITENS TEXTO ATO BCI Instanciaçã Real S Blean Text Asserçã C.A.R. Relacinal BC Açã Asserçã D. Prsft Inferida Inferida Strtng Asserçã Relacinal Text Açã Inferida Interface cria_bc : -> BCI altera_metinc(_,_,_,_): BCI, COORD, COORD, INTEGER -> BCI Operações cria_bc =(MetInc 1, RegPrd cria_regprd, EstrCrl 1, Rescnf cria_rescnf) altera_metinc((metinc m,_,_,_), crd_clid, crd_bc, mnv)= if verifica_crd(crd_clic, ps_metinc(crd_bc, (MetInc m, _,_,_),m)) then (MetInc mnv,_,_,_) else (MetInc m,_,_, 3.1.2.1 Instanciaçã d ATO BCI Figura 5 - ATO BCI O ATO BCI fi definid a partir ds tips cmpsts Sets, Lists, Recrds e Unins [WAT 81] e [COH 86]. Além ds tips cmpsts fram cnstruíds utrs ATO s para cmplementar a sua definiçã. Os ATO s cmplementares criads fram: Asserçã Relacinal, que estabelece uma representaçã relacinal para as asserções, representand-as na frma de tabelas; Açã Prsft, que trna pssível a definiçã de uma açã, uma peraçã de algum ATO, para psterir execuçã pela MI ; Agenda, que tem a funçã de armazenar a lista de cicls criads pela MI Memória de Trabalh, cmpnente da Agenda, que mantém s fats infrmads e deduzids pel sistema durante prcessament da MI. O ATO BCI, de acrd cm a Figura 6 que ilustra a sua instanciaçã, é cmpst basicamente de 4 elements: Métd de Incerteza, as Regras de Prduçã, a Estratégia de Cntrle e a Resluçã de Cnflits. O Métd de Incerteza é element da BCI que determina tip de racicíni estatístic que será empregad pela MI sbre as regras para cálcul ds fatres de certeza. A Estratégia de cntrle, utr element da BCI, determinará tip de estratégia a ser aplicada pela MI: frward chaining, direcinand racicíni das premissas para a cnclusã u backward chaining, direcinand racicíni n sentid invers.

BCI MËTODO DE INCERTEZA REGRAS DE PRODUÇÃO REGRAS ESTRATÉGIA DE CONTROLE RESOLUÇÃO DE CONFLITOS CRITÉRIOS IDENTIF. PRIORI ANTECEDENTE CONSEQÜENTE FCREGRA ATRIBUTOS ATRIBUTO PREMISSAS CONCLUSÃO SUBCJTO MIN CONDIÇÕES DEDUÇÕES Blean FUNÇÃO FATO FATO OUTRAS AÇÃO FATO RELAC INFERIDO REGRAS INFERIDO AÇÃO VALOR Asserçã Relacinal Asserçã Relacinal BCI ID.OBJ CHAM. SOLUÇÃO Real COMPONENTES SOLUÇÃO FINAL D. Prsft Asserçã VARIAVEL Relacinal TIPO REGRA FATO AÇÃO CLASSIF. S ITENS TEXTO Açã Text Inferida DEDUÇÃO Açã D.PROSOFT Prsft Açã Prsft Asserçã Relacinal Figura 6 -Instanciaçã d At BCI O camp Resluçã de Cnflits da BC estabelece uma lista de critéris a serem seguids pela a MI cm a finalidade de slucinar uma situaçã de cnflit nde há várias regras ativas, entretant apenas uma deve ser disparada. É necessári para iss decidir qual regra disparar. Estes critéris, que fram expresss na frma de lista pis devem ser aplicads de acrd cm uma rdem, definem s aspects de devem ser cnsiderads para desempate das regras, tais cm: priridade, fatr de certeza, cmplexidade da regra [JOHN 94], aplicar regras especiais antes de genéricas [RIC 93], limitaçã de cntext [WIN 93], etc. As regras de prduçã, frmalism esclhid para representar cnheciment, frmam últim element da BCI. Elas sã cmpstas pr uma lista de regras. As regras fram definidas na frma de lista pis é necessári que haja uma rdem para a execuçã das mesmas, pdend esta rdem ser alterada em funçã da priridade da regra. Cada regra da BCI é frmada pr seis cmpnentes : Identif.: Serve para a identificaçã da regra Priri : A Priri estabelece a priridade de uma regra. A priridade pde ser utilizada cm um critéri para a Resluçã de Cnflits. Antecedente : O Antecedente é utr element cnstituinte de uma regra. Este cmpnente representa que a literatura em geral chama de parte IF da regra. O antecedente é cmpst basicamente de atribut e de premissas. Cnseqüente: O utr cmpnente de uma regra é cnseqüente, cnhecid cm parte THEN da regra. O cnseqüente de uma regra pde ser de dis tips: uma Cnclusã u uma Sluçã. FCRegra :O FCRegra representa fatr de certeza da regra, que mede quant as evidências descritas n antecedente suprtam a cnclusã presente n cnseqüente da regra [RIC 92]. Atributs : Os Atributs de uma regra especificam seu tip e a sua classificaçã. Segund [JOHN 94], permitir que engenheir d cnheciment defina regras especificas para frward u backward chaining, u seja determine tip da regra, é

uma característica interessante das shells n que se refere às capacidades de um sistema especialista. O mesm autr cmenta ainda, que classificar as regras, através de alguns atributs, também definids pel engenheir d cnheciment, agiliza a manutençã pis, n cas de expansã de uma grande BC, engenheir tem cm lcalizar as regras a serem alteradas mais facilmente. Além diss, a seleçã das regras aplicáveis a cada cicl da MI pde ser trnar mais eficiente[ric 93]. O resultad é um prcessament mais rápid da MI pr estar cncentrada em apenas um grup de regras e nã em tda a BC. Para iss fram definids um cnjunt de itens que classificam as regras. A Figura 7 apresenta a interface e algumas das perações d ATO BCI. Interface cria_bc : BCI cria_regra(_,_,_,_): BCI, COORD, COORD, STRING BCI cria_cndfunc(_,_,_,_,_,_,_): BCI, COORD, COORD, STRING, STRING, {ACAOPROS D.PROSOFT}, D.PROSOFT BCI cria_cndftrel(_,_,_,_) : BCI, COORD,COORD, STRING BCI Operações Variáveis Frmais crd_clic, crd_bc : COORD idreg, n_at, n_per, idcntxt : STRING selet, val : D.PROSOFT cria_bc = (MetInc 1, Regprd cria_regprd, EstrCrtl 1, ResCnf cria_rescnf) cria_regra((_, Regprd empty-list, _, _),crd_clic, crd_bc, idreg) = if verifica_crd(crd_clic, ps_regprd(crd_bc, (_, Regprd empty-list, _, _),empty-list) then (_, Regprd ins_regra(inic_regra(idreg),empty-list), _, _) else (_, Regprd empty-list, _, _) cria_regra((_, Regprd rp, _, _),crd_clic, crd_bc, idreg) = if existe_idreg(idreg, rp) then (_, Regprd rp, _, _) else if verifica_crd(crd_clic, ps_ins_regprd (ps_regprd(crd_bc, (_, Regprd rp, _, _),rp),rp)) then (_, Regprd ins_regra(inic_regra(idreg),rp), _, _) else (_, Regprd inclui_regra_ps(inic_regra(idreg),rp,crd_clic, ps_regprd(crd_bc, (_, Regprd rp, _, _),rp)), _, _) cria_cndfunc ((_, Regprd empty-list, _, _), crd_clic, crd_bc,n_at,n_per,selet,val ) = (_, Regprd empty-list, _, _) cria_cndfunc ((_, Regprd rp, _, _), crd_clic, crd_bc, n_at,n_per,selet, val) = (_, Regprd cnstri_cndfunc(crd_clic, rp, n_at,n_per,selet, val, ps_regprd(crd_bc, (_, Regprd rp, _, _),rp)), _, _) cria_cndftrel((_, Regprd empty-list, _, _), crd_clic, crd_bc, idcntxt) = (_, Regprd empty-list, _, _) cria_cndftrel((_, Regprd rp, _, _), crd_clic, crd_bc, idcntxt) = (_, Regprd cnstri_cndftrel(crd_clic,idcntxt, ps_regprd(crd_bc, (_, Regprd rp, _, _),rp),rp), _, _) Figura 7 - Exempl de especificaçã de algumas das perações d ATO BCI 3.2.1.2 Operaçã Máquina de Inferência

A máquina de inferência é mecanism respnsável pel racicíni d sistema especialista. N ambiente Expert, a máquina de inferência é uma peraçã d ATO BCI que utiliza s ATO AGENDA e ATO MT. O ATO AGENDA armazena s cicls recnheciment e açã da máquina de inferência e ATO MT é utilizad para guardar s fats deduzids e infrmads pel sistema, send este últim utilizad na cmpsiçã d ATO AGENDA. A peraçã mi, expressa frmalmente na Figura 8, é respnsável pela ativaçã d mecanism de inferência. De acrd cm códig da estratégia de cntrle é determinad tip de encadeament da máquina, se fr 1 é frward chaining e 2 para backward chaining. Interface mi(_): BCI {AGENDA ERRO} Operações mi((_,regprd empty-list,_,_)) = ERRO mi((_,regprd rp, EstrCrtl est,_)) = if est = 1 then mi_frward((_,regprd rp, EstrCrtl est,_,_), ICS(AGENDA, cria_agenda)) else mi_backward((_,regprd rp, EstrCrtl est,_,_), ICS(AGENDA,cria_agenda)) Figura 8 - Especificaçã da peraçã máquina de inferência O ambiente implementa, nesta primeira especificaçã, apenas frward chaining, especificad pela peraçã externa mi_frward. A peraçã especifica apenas elements fundamentais da estratégia e, pr iss, nã inclui retrcess [WIN 93] e nem tratament de incerteza. A peraçã mi_frward (vide Figura 9), a principi, cria um bjet agenda, cm auxili d ATO AGENDA, via ICS. Em seguida indexa as regras pelas cndições presentes n seu antecedente para facilitar matching e jga s fats da base de cnheciment na agenda. Interface mi_frward(_,_): BCI, AGENDA AGENDA Operações mi_frward(bci,agenda) = mif(bci, indexa_regfrw(inic_mt(agenda, select-regprd(bci)), select-regprd(bci)) Figura 9 - Especificaçã da estratégia frward chaining Através d seu cnjunt de perações internas, mif e utras perações, as regras sã selecinadas e aplicadas até que uma sluçã seja encntrada u nã existam mais regras a disparar. O resultad da aplicaçã da máquina de inferência é um bjet d tip AGENDA, nde a sluçã e s cicls desenvlvids pela máquina ficam armazenads. CONCLUSÃO

A mair dificuldade encntrada para desenvlviment deste trabalh fi, sem dúvida, a definiçã das classes ds ATO s PROSOFT que cmpõem Ambiente Expert. A alteraçã das classes, pr várias vezes, resultu na redefiniçã quase que cmpleta das perações de manipulaçã desses ATO s. Além diss, cntatu-se que classes grandes e cmplexas dificultam desenvlviment das perações. As regras definidas pel ambiente manipulam quaisquer bjets PROSOFT já existentes. A medida que nvs bjets base de cnheciments frem definids pdem ser reutilizads na cnstruçã de nvas bases. TRABALHOS FUTUROS Cm trabalhs futurs, pretende-se tratar errs, definir frmalmente um subsistema de aquisiçã d cnheciment e as perações de explanaçã: why, hw e why nt. Além diss, pretende-se abrdar utrs paradigmas de representaçã para base de cnheciment e cnstruir uma representaçã externa para a mesma. É necessári também especificar algebricamente tratament de incerteza, a estratégia backward chaining e backtracking. REFERÊNCIA BIBLIOGRÁFICAS [COH 86] COHEN, B.; HARWOOD,W.T; JACKSON, M.I. The Specificatin f Cmplex Systems. Great Britain: Addisn-Wesley,1986. [FAL 95] FALBO, Ricard A.; TRAVASSOS, G.H. Um estud sbre ambientes de Desenvlviment de Sftware cm Suprte Basead em Cnheciment. In: SOCIEDADE BRASILEIRA DE COMPUTAÇÃO, 1995, Canela, RS. Anais... Canela: SBC, 1995. 743p. p.339-350. [FIS 92] FISCHER, Gerhard; GIRGENSOHN, Andreas; NAKAKOJI, Kumiy; REDMILES, David. Supprting Sftware Designers with Integrated Dmain-Oriented Design Envirnments. IEEE Transatins n Sftware Engineering, Ls Alamits, Califórnia, v.18, n.6, p.511-522, June 1992. [JOH 94] JOHNSON, V.M.; CARLIS,J.V. Sharing and Reusing Rules - A Feature Cmparisn f five Expert Systems Shells. IEEE Expert - Intelligent Systems & Their Applicatins. Ls Alamits, CA, p.3-16, June 1994. [KOR 96] KÖRBES, Fábi. Implementaçã de um Mecanism de Herança n Prsft. Prt Alegre: CPGCC da UFRGS, 1996. Prjet de Diplmaçã. [WAT 81] WATT, David A. Prgramming Language Syntax and Semantics. Great Britain: Prentice Hall,1981. [NUN 89] NUNES, Daltr J. PROSOFT - Um Ambiente de Desenvlviment de Sftware Estendível. Prt Alegre: CPGCC da UFRGS, 1989: Publicaçã Interna. [NUN 94] NUNES, Daltr J. PROSOFT. [s.l.: s.n], 1994. Relatóri de Pesquisa intern. [RIC 93] RICH, Elaine; KNIGNT, Kevin. Inteligência Artificial. Sã Paul: Makrn Bks, 1993. 722p. [WIN 93] WINSTON. Artificial Intelligence. [s.l.]: Addisn-Wesley, 1993.