• Nenhum resultado encontrado

Um Modelo de Suporte à Comunicação de Agentes para tratamento de informação imprecisa com ontologia: integrando aos ambientes Jason e Jade

N/A
N/A
Protected

Academic year: 2021

Share "Um Modelo de Suporte à Comunicação de Agentes para tratamento de informação imprecisa com ontologia: integrando aos ambientes Jason e Jade"

Copied!
5
0
0

Texto

(1)

Um Modelo de Suporte à Comunicação de Agentes

para tratamento de informação imprecisa com

ontologia: integrando aos ambientes Jason e Jade

Fabio Aiub Sperotto, Diana F. Adamatti Universidade Federal do Rio Grande

Programa de Pós-Graduação em Modelagem Computacional Av. Itália, km 8 - Campus Carreiros 96203-900 - Rio Grande (RS) – Brasil

{ fabio.aiub, dianaada } @gmail.com

Abstract—Este estudo apresenta uma biblioteca de programação, fruto de um modelo de suporte a comunicação em sistemas multiagentes. Usando a ontologia como uma técnica de classificação do conhecimento, o estudo apresenta um componente de software intermediário entre os agentes e a base de conhecimento ontológico, utilizando uma abordagem difusa no tratamento de informações imprecisas com base em sinônimos. A biblioteca fornece funções para conexão e utilização para com uma ontologia a fim de utilizá-la em um sistema multiagente na área de comunicação, considerando, não obrigatoriamente, a imprecisão que os agentes possam ter em relação aos conceitos. O componente de software usa Jena e SPARQL para a manipulação da ontologia. O foco deste artigo é a integração dessa biblioteca aos ambientes de programação de agentes Jason e Jade.

Keywords—Sistemas Multiagentes, Ontologia, Fuzzy, Comunicação.

I. INTRODUÇÃO

Em ciências da computação, Ontologias tem fornecido um tratamento computacional na classificação de informações sobre um determinado domínio, centralizando um conhecimento para posterior distribuição. Isto disponibiliza para a comunicação entre indivíduos, bases de conhecimento com relações sobre os objetos que cercam o domínio. Na área de sistemas multiagentes, essas bases podem ser fundamentais na interação entre agentes e na resolução de problemas. Outro problema investigado é a imprecisão de conceitos [1][2][3], devido a aspectos culturais, principalmente quando aplicações de simulação social são desenvolvidas, aproximando-se dos fatores culturais humanos.

O objetivo deste estudo é o desenvolvimento de um artefato de software que possa viabilizar o suporte a comunicação para agentes sem a utilização de um agente ontológico centralizador. Neste artigo será apresentada a utilização da ontologia com a proposta de aplicação da lógica fuzzy, manipulando conceitos imprecisos, baseados em

sinônimos, focando em sua integração facilitada nos ambientes de programação para agentes, Jason e Jade.

Este artigo está estruturado em 5 seções. Na seção II os conceitos sobre ontologia e sistemas multiagentes são apresentados. Na mesma seção, as relações de comunicação e imprecisão de conceituação/informação também são argumentadas, inserindo as definições do tratamento dessa imprecisão com lógica fuzzy. Na seção III, o modelo teórico de suporte à comunicação é apresentado bem como a sua aplicação na estrutura ontológica e na biblioteca de programação. A seção IV define quais os usos da biblioteca de programação em ambientes de programação de sistemas multiagentes como Jason e Jade. Por fim, seção V trata das considerações finais do estudo.

II. A ONTOLOGIA, AGENTES E A COMUNICAÇÃO

A. Ontologia

As primeiras compreensões sobre ontologia remontam a áreas antigas da filosofia grega, onde o termo deriva-se de ontos, ser e logos, palavra [4]. Época em que o estudo era sobre as definições da existência das coisas, ou da natureza do ser. A área de inteligência artificial vem adotando, há algum tempo, este pensamento no desenvolvimento de estruturas semânticas. Um dos conceitos mais amplamente aceitos dentro da engenharia ontológica [5] é a definida em [6], que descreve a ontologia como uma especificação da conceitualização, a especificação conceitual de um determinado domínio de interesse.

Esta especificação é estruturada entre um conjunto de objetos, relacionamentos e instâncias. Os objetos, ou classes, descrevem os conceitos existentes, enquanto os relacionamentos sugerem e formalizam os inter-relacionamentos entre os conceitos. Existem as propriedades que podem ser tipos de relacionamento entre os conceitos ou, no caso dos conceitos, características inerentes internas (propriedades de objeto). As instâncias ou também chamadas como indivíduos, são os elementos de cada classe.

(2)

Desta forma, na ontologia é possível classificar e organizar o conhecimento existente sobre uma determinada área em uma estrutura que pode ser legível tanto por máquinas quanto por humanos. O glossário que a ontologia forma pode ser operado por vários dispositivos de software para reconhecer o ambiente desejado.

B. Agentes e Comunicação

Um agente pode ser compreendido como uma entidade de software que possui ação autônoma, devendo estar situado em um determinado ambiente onde pode atuar, alterando o estado deste e percebendo-o, como também cooperando com outros agentes para atingir seu objetivo [7]. Estes agentes possuem implementações de noções mentais ou de percepções normalmente humanas, tais como crenças e intenções [8].

Para alcançar seus objetivos, podem cooperar ou competir dentro de um ambiente e propositalmente, em algum momento, vão interagir conversando uns com os outros [9]. Isto faz com que a comunicação entre os agentes seja considerada um fator importante para a conquista da missão (objetivo).

Alguns agentes podem usar uma palavra ou expressão para um conceito, enquanto outros agentes podem usar a mesma palavra para designar outros itens [10]. Para a comunicação, as ontologias podem ser consideradas estruturas centralizadoras e que podem diminuir alguma confusão conceitual (devido ao alto nível de formalização), podendo ser úteis ao compartilhamento de informações com pessoas (ou agentes) de diferentes pontos de vista [11].

C. Lógica Fuzzy

A lógica fuzzy tem como origem uma área na matemática que descreve fenômenos no mundo real de forma imprecisa, são conjuntos ou classes que definem objetos que não possuem senso descritivo usual matemático (da precisão) [12]. Os conjuntos numéricos clássicos descrevem categorias onde um objeto pertence ou não pertence a uma definição (0 ou 1). Entretanto, a maioria das categorias tem um senso de pertinência em suas catalogações. A lógica fuzzy fornece operadores para tratar estas características.

A função de pertinência permite usar o conceito clássico dos conjuntos numéricos, admitindo valores intermediários (entre 0 e 1, ou, entre não pertence e pertence), isto fornece uma interpretação mais rica na descrição de conjuntos no mundo real que não possuem condições de contorno bem definidas [13]. Esta imprecisão é importante no pensamento humano, na comunicação de informação [12], assim como na capacidade em representar conceitos vagos expressos na linguagem natural [14][15].

As variáveis linguísticas são componentes importantes, pois seus valores são as palavras e não números [12]. Estas variáveis podem descrever características linguísticas de sistemas que observam comportamento humano, por serem menos específicas que números. São úteis quando se deseja tratar definições que não são tão precisas de descrever

numericamente. Uma variável linguística define um conjunto de termos. Os termos são palavras associadas a este conjunto, da qual possuem valores de restrições fuzzy. Este valor para cada termo é o grau de compatibilidade entre 0 e 1 que, define o grau de pertinência do termo ao conjunto.

É este grau de pertinência que pode ser utilizado no desenvolvimento da própria ontologia para auxiliar na classificação da base de conhecimento pelo ontologista e será discutido na próxima seção.

III. MODELO DE SUPORTE A COMUNICAÇÃO DE AGENTES Em [16][17] é desenvolvido um estudo que fornece um modelo para suporte ao tratamento de informações imprecisas na comunicação entre agentes, utilizando ontologias. Em conjunto com o modelo é fornecida uma biblioteca de programação para fornecer as funcionalidades propostas, intitulada ontoComAgent1.

Neste modelo, conforme Figura 1, a área em cinza descreve o fluxo que a biblioteca de programação irá desenvolver no processamento dos dados. Em um sistema multiagente, mensagens podem ser trocadas, através de algum protocolo de comunicação. A biblioteca pode ser utilizada para capturar essas mensagens, onde a camada mediadora tem por responsabilidade consultar os termos na ontologia e retornar os resultados.

Fig. 1. Esquema do modelo de Suporte à Comunicação de Agentes.

Devido imprecisão da informação, são aplicadas, tanto na camada mediadora, quanto na ontologia, definições da lógica fuzzy que também faz parte do modelo proposto [16][17]. Os sinônimos, com os seus graus de pertinência, foram inseridos em alguns conceitos da ontologia e são recuperados, para serem tratados pelo componente. Caso à camada não obtenha sucesso pesquisando informações requisitadas pelos agentes, a mesma aciona suas funções para encontrar sinônimos, que ocorre através de quatro primitivas: (1) consulta para averiguar existência dos sinônimos entre os conceitos, (2) combinação, via SPARQL, com o conceito que tem sinônimo (indivíduo), para averiguar se a palavra procurada é um

1

(3)

sinônimo do conceito raiz, (3) extração dos sinônimos com filtragem de formatação que exclui possíveis erros de codificação de texto, desconsiderando possíveis tags de formatação de textos, (4) formalização, via programação, das variáveis linguísticas, para o conceito aprovado pelos passos anteriores.

A biblioteca ontoComAgent se baseia em outra biblioteca de manipulação de ontologias, chamada Jena2. Esta ferramenta é desenvolvida em Java e facilita muitas atividades dos programadores que utilizam modelos e linguagens da web semântica. A biblioteca reúne um conjunto de pacotes para manipulação de arquivos semânticos tais como RDF3 ou OWL. A facilidade existe na forma em que a ontologia é considerada na linguagem de programação, pois Jena permite o uso orientado a objeto desta ontologia. Desta forma, os conceitos, indivíduos e relacionamentos são compreendidos como objetos, instâncias e propriedades, respectivamente. Outra tecnologia para operar com ontologias é o SPARQL, que é uma linguagem e um protocolo, destinado a realizar consultas e tratar resultados em documentos semânticos [18].

Os sinônimos foram incluídos nas classes através de uma propriedade de anotação do objeto (classe) chamada “sinônimo”. Ao incluir a propriedade ao conceito, uma marcação do tipo comentário, da linguagem da ontologia, é adicionada. Esta marcação necessita instanciar um indivíduo da classe para explicitar a informação, que posteriormente, será útil na manipulação da ontologia. Estes sinônimos podem possuir graus que denotam o valor de pertinência em relação à classe que pertence. Todos estes itens podem ser conferidos na Figura 2 que mostra a marcação do comentário na ClasseConceito.

Fig. 2. Exemplo de marcação de comentário com grau de pertinência. A camada mediadora realiza uma varredura nos sinônimos em todos os conceitos da ontologia (utilizando consultas SPARQL), se e somente se, a requisição de informação do agente, se referir a um conceito que não existe nos nodos da rede ontológica. A utilização da marcação rdfs:comment fornece um bom espaço para inserir descrições sobre o conceito. Conforme a recomendação do vocabulário

2

http://jena.apache.org/index.html 3 http://www.w3.org/RDF

RDF pela W3C4, rdfs:comment é um local possível para fornecer a intenção do significado da classe, um local de documentação da classe legível por humanos.

Assim, as funcionalidades da biblioteca estão alinhadas com o fluxo proposto no modelo, que por sua vez, alinha o conteúdo das mensagens trocadas pelos agentes com a ontologia, no objetivo fim de buscar/avaliar um conceito padrão (de maior grau de pertinência) para uma determinada palavra.

IV. INTEGRANDO A BILIOTECA COM JASON E JADE

Após a constituição da biblioteca, é necessário fornecer soluções, para que desenvolvedores de sistemas multiagentes possam utilizá-la. Na área de agentes, encontram dois ambientes de desenvolvimento bastante utilizados: Jason e Jade.

A. Jason

Jason5 é uma plataforma de código aberto para construção de sistemas multiagentes baseado nos modelos BDI (Belief – Desire – Intention). Utiliza uma versão estendida da linguagem de comunicação AgentSpeak para a comunicação dos seus agentes [19]. Existem duas formas de utilizar Jason para construir SMA: através do editor de programação que acompanha o pacote de desenvolvimento ou importar a plataforma Jason e utilizá-la dentro de algum ambiente de desenvolvimento desejado (como o Eclipse).

A biblioteca do presente estudo é um pacote Java (cuja extensão é .jar). É necessário incluir no caminho de arquivos que serão compilados junto com o projeto, isto é, no build path da aplicação.

Fig. 3. ontoComAgent com Jason.

Para utilizar ontoComAgent, basta criar uma ação interna (internal action em src/java) onde é possível utilizar aplicações de terceiros com os agentes do Jason.

Na Figura 3, a ação interna ontotest foi desenvolvida como exemplo. Nesta ação interna, é realizada a importação

4 http://www.w3.org/TR/rdf-schema/#ch_comment 5 http://jason.sourceforge.net

(4)

do pacote necessário para iniciar o uso da camada mediadora (linha 6). Na linha 18, uma variável é criada contendo o caminho para a ontologia a ser utilizada. O objeto med é instanciado na linha 19 com o caminho para uma mensagem no formato KQML em um arquivo texto, supondo que o ambiente utilize esse tipo de formato de mensagens.

Neste exemplo da Figura 3, no construtor é repassado o número 1, destinado para ativar a opção de manipular mensagens de arquivo texto. Com essa opção, não é necessário repassar a mensagem dos agentes como parâmetro para o objeto.

Agora é possível utilizar internamente com os agentes da aplicação. Supondo que existem dois agentes (agenteA e agenteB). O agenteA pode enviar uma mensagem ao agenteB contando sobre algo. Uma instrução para isso em AgentSpeak pode ser a seguinte:

.send(agenteB,tell,testMsg).

Onde uma mensagem é enviada do agenteA endereçada ao agenteB contando sobre testMsg. No lado do agenteB, para recepcionar a mensagem e utilizar ontoComAgent pode-se ter algo como:

+testMsg[source(A)] <-

ontology.ontotest(M);

+message(M).

No pacote ontology, a ação interna utilizada é a

ontotest, descrita na Figura 3, em que uma variável M é repassada como argumento da ação. Neste caso, a variável M receberá o retorno da mensagem pesquisada na ontologia. Em seguida, a mesma mensagem será adicionada como crença para o agenteB com a instrução +message(M). Fazendo com que o agente acredite na mensagem.

Também é possível repassar a mensagem do agente via parâmetro na ação interna. Isto fará com que seja necessário tratar dois argumentos na ação interna (Figura 3). Alterando também o parâmetro do objeto med de 1 para 0.

B. Jade

Jade6 é um framework de código aberto para desenvolvimento de sistemas multiagentes baseados em Java. Segue as especificações da FIPA e possui um conjunto de ferramentas gráficas para debug assim como outros dispositivos para elaboração de uma SMA com uma plataforma de agentes distribuídos em sistemas operacionais diferentes.

Inicialmente, é necessário adicionar o pacote ontoComAgent.jar como uma biblioteca nas configurações de build path da aplicação Jade. Em seguida, é possível usá-la normalmente na programação dos agentes.

6 http://jade.tilab.com/

Fig. 4. ontoComAgent com Jade.

Na Figura 4, é apresentado um exemplo, após a importação da biblioteca na linha 2, realiza em sua configuração, uma montagem de uma mensagem através dos métodos da classe ACLMessage (linhas 15 e 16).

Nas linhas 18 a 21, é instanciado o objeto da classe

Mediator repassando as configurações de forma idêntica da utilização no Jason. Na linha 21, é repassado ao conteúdo da mensagem as informações pesquisadas e padronizadas/organizadas oriundas da biblioteca ontoComAgent. Logo na linha 22 a mensagem, após suas formatações, é enviada ao destinatário.

C. Utilização interna da biblioteca em Jason e Jade

Existe a possibilidade da utilização da biblioteca ontoComAgent internamente as plataformas Jason e Jade. Para essa utilização, é necessária a alteração do código-fonte de algumas classes. Para Jason, por exemplo, seria necessário alterar a classe em Jason.stdlib.send para incluir ontoComAgent e receber um argumento a mais com uma mensagem a ser pesquisada na ontologia.

Em Jade, a classe responsável por enviar mensagens é em

jade.core.Agent e no método send também poderia incluir as funcionalidades de ontoComAgent. Entretanto também necessita de modificações, pois este método é utilizado por toda a arquitetura Jade para a troca de informações pelo servidor da aplicação e não somente comunicação entre agentes.

Apesar destas possibilidades, se recomenda o uso somente como descrito nas seções anteriores (A e B). Alterar arquitetura de plataformas testadas não deve ser considerada uma boa prática, criar métodos específicos e utilizar ontoComAgent é uma prática recomendável, pois independe das atualizações ou alterações realizadas nas classes pelos desenvolvedores do Jason e Jade.

D. Funcionalidades da Biblioteca

Conforme visto nos exemplos das Figuras 3 e 4, uma das funcionalidades utilizadas da biblioteca é a

(5)

getKnowledgeRelation(). Esta função tem por objetivo utilizar a mensagem que está sendo utilizada ou recebida pelo agente, confrontando-a com a ontologia desejada. É pesquisado na ontologia, termo a termo da mensagem, identificando se os mesmos são conceitos ou relacionamentos entre conceitos, reorganizando a mensagem do agente. Neste mesmo processamento da mensagem, caso existam termos sinônimos que são identificados pela biblioteca na ontologia, os termos são substituídos pelo conceito raiz, isto é, o conceito nó na ontologia. Isto fornece um meio pelo qual o desenvolvedor possa deixar uniforme a comunicação entre agentes, ainda que os mesmos usem expressões diferentes para um mesmo domínio. É possível utilizar somente a funcionalidade que substitui os sinônimos pelo conceito principal. Caso a necessidade for estabelecer pesos para sinônimos existem funcionalidades para fornecer suporte a aplicações envolvendo conjuntos fuzzy.

V. CONCLUSÃO

Este artigo apresenta o desenvolvimento de um modelo para suporte a comunicação entre agentes, onde imprecisões quanto ao conteúdo das mensagens podem ser analisadas, tendo como base uma ontologia que faz uso de sinônimos. Este modelo foi implementado como uma biblioteca de programação para que programadores na área de sistemas multiagentes possam utilizar o modelo como um drive para captação de informações na ontologia.

A biblioteca ontoComAgent reúne o framework Jena, algumas consultas SPARQL previamente estruturadas em conjunto com a estrutura do modelo proposto neste estudo. Não há a necessidade do uso aplicado da estrutura de sinônimos e também, existem métodos das quais podem ser utilizados para processar outras consultas SPARQL definidas pelo desenvolvedor. Com isso, há uma série de funcionalidades para facilitar o acesso e a interoperabilidade com ontologias.

Para suporte ao desenvolvimento, este artigo foca na utilização da biblioteca proposta em ambientes de programação de agentes. Os testes foram realizados com os ambientes Jason e Jade, pois ambos são ferramentas de amplo uso na simulação social como instrumentos de codificação de agentes, assim como de suas comunicações. Pelos resultados apresentado, percebe-se que é possível utilizar, de forma simples, a biblioteca ontoComAgent – disponibilizada como software livre.

Conforme descrições na seção IV, a biblioteca fornece funcionalidades para que uma ontologia seja utilizada como referência na comunicação entre agentes. Cada agente pode ter uma referência diferente a um domínio de conhecimento diferente, onde expressões podem ser sinônimas e a referência a ontologia com estes sinônimos auxilia aos agentes a processarem sob a mesma “compreensão” de conhecimento. A partir dessa compreensão sobre o mesmo domínio de conhecimento, os agentes podem efetuar outras pesquisas na ontologia, pesquisar sobre os relacionamentos entre os conceitos usando SPARQL e compreender melhor a área onde atuam. A ferramenta pode ser utilizada para que os agentes

possam aprender com a ontologia e ser utilizado de forma simplificado por desenvolvedores com pouca experiência em ontologias. Como projeto inicial, vários pontos precisam ser melhorados, desenvolvidos e refatorados para aumentar o desempenho da biblioteca, bem como a adição de novas funções que facilitem o uso de ontologias para com os agentes.

REFERÊNCIAS

[1] Ghorbel, H.; Bahri, A.; Bouaziz, R. Fuzzy Ontologies Building Method:

Fuzzy OntoMethodology. Annual Meeting of the North American Fuzzy Information Processing Society (NAFIPS), 2010.

[2] Yaguinuma, C. A.; Santos, M. T. P.; Camargo, H. A.; Nogueira, T. M. A

Meta-ontology Approach for Representing Vague Linguistic Terms and Fuzzy Rules for Classification in Ontologies. 14th IEEE International Enterprise Distributed Object Computing Conference Workshops, 2010, pp. 263-271.

[3] Truong, H. B e Nguyen, N. T. A Framework of An Effective Fuzzy

Ontology Alignment Technique. IEEE International Conference on Systems, Man, and Cybernetics (SMC), 2011, pp. 931-935.

[4] Kawano, V. J. “Desenvolvimento de uma Ontologia para Gerenciamento

de Projetos”. Monografia de Licenciatura em Computação. Instituto de Ciência Exatas. Departamento de Ciência da Computação. Universidade de Brasília, Distrito Federal, 2009.

[5] Smith, B. Beyond Concepts: Ontology as Reality Representation.

Proceedings of FOIS 2004. International Conference on Formal Ontology and Information Systems.

[6] Gruber, T. R. Toward Principles for the Design of Ontologies Used for

Knowledge Sharing. In Formal Ontology in Conceptual Analysis and Knowledge Representation. Disponível como Relatório Técnico KSL 93-04, Knowledge Systems Laboratory, Universidade de Stanford, 1993.

[7] Wooldridge, M. J. “An Introduction to Multiagent Systems”. Ed. John

Wiley & Sons Ltd., 2002.

[8] Wooldridge, M.; Jennings, N. R. Intelligent Agents: Theory and

Practice. Knowledge Engineering Review, 1994, Vol. 10, N. 2, pp. 115-152.

[9] Huhns, M. N.; Singh, M. P. Conversational Agents. IEEE Internet

Computing, 1997, Vol. 1, N. 2, pp. 73-75.

[10] Genesereth, M. R.; Ketchpel, S. P. Software Agents. Magazine

Communications of the ACM, 1994, Vol. 37, N.7, pp. 48-53.

[11] Uschold, M; Gruninger, M. Ontologies: Principles Methods and

Applications. Knowledge Engineering Review, 1996, Vol. 11, N. 2. [12] Zadeh, L. A. The concept of a linguistic variable and its application to

approximate reasoning. Information Science, 1975. Parte I, Vol. 8, 199-249pp. Parte II, Vol. 8, 301-357pp. Parte III, Vol. 9, pp. 43-80.

[13] Pedrycz, W. e Gomidez, F. “An Introduction to Fuzzy Sets: Analysis

and Design”. Ed. The MIT Press, 1998.

[14] Klir, G. J. e Yuan, B. “Fuzzy Sets and Fuzzy Logic: Theory and

Applications”. Ed. Prentice Hall PTR, 2005.

[15] Barros, L. C. e Bassanezi, R. C. “Tópicos de Lógica Fuzzy e

Biomatemática”. Ed. Unicamp/IMECC, 2010.

[16] Aiub Sperotto, F. “Um Modelo de Suporte à Comunicação de Agentes

para Tratamento de Informação Imprecisa baseada em Sinônimos”. Dissertação de Mestrado. Programa de Pós-Graduação em Modelagem Computacional. Universidade Federal de Rio Grande, Rio Grande, Rio Grande do Sul, 2013.

[17] Aiub Sperotto, F. e Adamatti, D. F. .A Model for Agent Communication

Based on Imprecise Information Using Synonyms. In: Brazilian Conference on Intelligent Systems, 2012, Curitiba. III Brazilian Workshop on Social Simulation, 2012.

[18] DuCharme, B. “Learning SPARQL”. Ed. O’Really Media Inc., 2011.

[19] Bordini, R. H.; Hübner, J. M.; Wooldridge, M. (2007) Programming

multi-agent systems in AgentSpeak using Jason. Ed. Wiley. Inglaterra, 273p

Referências

Documentos relacionados

Local de realização da avaliação: Centro de Aperfeiçoamento dos Profissionais da Educação - EAPE , endereço : SGAS 907 - Brasília/DF. Estamos à disposição

O segundo Beneficiário será designado pelo Segurado na Proposta de Adesão, podendo ser substituído a qualquer tempo, mediante solicitação formal assinada pelo próprio Segurado, para

Analysis of relief and toponymy of the landscape based on the interpretation of the military topographic survey: Altimetry, Hypsometry, Hydrography, Slopes, Solar orientation,

Neste contexto, e considerando a importância das questões de sustentabilidade nas empresas tanto no aspecto ambiental como social e financeiro, o presente estudo tem

Nosso trabalho espelha a analise da ATLAS - ASSOCIAÇÃO TREINO LIVRE DE APOIO SOCIOCULTURAL como organização do terceiro setor e a importância da auditoria

Discussion The present results show that, like other conditions that change brain excitability, early environmental heat exposure also enhanced CSD propagation in adult rats.. The

Pode haver alguns acordos prévios, como visto na classificação proposta em trabalho anterior (GUERRERO, 2006), mas estes são propostos sempre mantendo elevado

Dentro desse contexto o estudo das relações existentes entre sistema de terminação e os atributos relacionados à qualidade da carne, bem como informações referente