Chapter 3. The Simple API for XML
3.6 Converting XML to HTML
Para Jennings (2000), agente é um sistema de computador encapsulado capaz de realizar ações flexíveis e autônomas no ambiente em que está inserido, a fim de cumprir os seus objetivos. Nas palavras dos autores Guttman, Moukas e Maes (1998), os agentes de software são os programas ao qual se pode delegar uma tarefa. Eles derivam dos software tradicionais, na medida em que são personalizados, com execução contínua e semi-autônoma. Huhns (2002) complementa que os agentes de software são auto-suficientes em um meta-nível de execução, conseguindo em alguns casos aprender por meio de modelos e mecanismos de outros agentes. Petrie (1996) afirma que um agente autônomo é como um sistema situado dentro de um ambiente, com capacidade de sentir a agir sobre este ambiente ao longo do tempo.
Em Liu (1998b), agentes de software são programas computacionais ou entidades que atuam para realizar tarefas especializadas em nome dos usuários. Agem com algum grau de autonomia, com o objetivo de alcançar determinadas metas especificadas pelo usuário ou geradas automaticamente. Para Genesereth e Ketchpel (1994) os agentes de software se comunicam com seus pares por meio do intercâmbio de mensagens em linguagens de comunicação de agentes, podendo figurar em uma aplicação como sub-rotinas com controle persistente.
Para Chau et al. (2003) um sistema baseado em agentes é aquele em que entidades de software cooperam e interagem uns com os outros em um ambiente complexo e distribuído. Em um típico sistema baseado em agentes, cada entidade tem um conjunto de informações ou capacidades incompletas, em que trabalham em conjunto para atingir um objetivo global, baseadas em dados distribuídos e controle. Na maioria dos casos, a interação entre os agentes é assíncrona e descentralizada.
Liu, Turban e Lee (2000) afirmam que agentes inteligentes são agentes de software com capacidades de aprendizagem e que conseguem executar tarefas complexas, tais como negociação. Esses autores afirmam que essa modalidade de sistemas agentes deverá futuramente trabalhar em grupos de forma cooperativa ou competitiva. Para os autores Serenko e Detlor (2004), um agente é uma entidade de software que funciona de forma contínua e autônoma em um ambiente, em que suas lacunas muitas vezes são preenchidas por outros agentes e processos. Purvis e Savarimuthu (2005) complementam que agentes são independentes, cada agente pode ter suas estratégias próprias para resolver um problema particular. Diferentes desenvolvedores podem construir diferentes agentes e enquanto estes agentes entenderem uns aos outros por meio da linguagem de comunicação do agente, podem trabalhar em conjunto. Armando Robles et al. (2006) afirmam que os agentes são capazes de se comunicar entre si mesmo que distribuídos em uma rede de computadores.
Fei e Chen (2007) conceituam os agentes como unidades de processamento de um modelo. Esses têm pelo menos quatro características: a reatividade, a autonomia, a orientação a um objetivo e a aclimatação. Gao e Xu (2009) complementam que além dessas quatro características, agentes possuem capacidade social a fim de conseguir se comunicar e negociar com seus pares.
Para os autores Kishore, Zhang e Ramesh (2006) e Chan, Swarnkar e Tiwari (2007) um agente é um sistema de computador que está situado em algum ambiente e que é capaz de efetuar ações autônomas neste, a fim de cumprir as suas diretrizes de design. Frayret et al. (2007) complementam que agentes de software apresentam características que lhes permitem comportar-se e interagir uns com os outros de tal maneira que consigam coletivamente cumprir o objetivo de todo o sistema.
Nas palavras de Maticevic, Lovric e Cicak (2007) agentes são entidades que têm como atributos autonomia de suas ações e capacidade
de agir em nome de alguém ou algo. Tendo essas duas características comuns a todos os agentes, um agente de software pode ser definido como um programa de computador capaz de realizar ações independentes (autônomas), em nome do seu utilizador ou proprietário.
Liu (2001) descreve, como agentes, entidades computacionais que possuem consenso de sua atividade local, conseguindo tomar decisões de como reagir a dados estímulos de seu ambiente onde a tarefa é executada. Para Corchado et al. (2003), sistemas baseados em agentes são uma classe especial de sistemas informatizados que possui capacidade de adaptação, sendo providos de funcionalidades que lhes permitem executar ações, esta modalidade de construção de sistemas conhecida como sistemas baseados em agentes.
Já os autores Russell e Norvig (2004) consideram como agente toda a entidade capaz de perceber o meio onde está inserido através de sensores e agir sobre este com os atuadores. No mesmo sentido, Yu et al. (2000) definem que agentes são um conjunto de unidades autônomas que busca um objetivo.
Após os processos de análise sistemática descritas no item 2.2 deste trabalho, que buscou evidenciar a visão dos autores pesquisados voltada à conceituação de Sistemas Agentes para a organização, os autores Genesereth e Ketchpel (1994), Jennings (2000), Hendler (2001), Guttman, Moukas e Maes (1998), Petrie (1996), Huhns (2002), Chau et al. (2003), Kohavi et al. (2004), Liu (1998b; a), Bohte, Gerding e La Poutré (2001), Yuan e Lin (2004), Serenko e Detlor (2004), Mitkas, Symeonidis e Athanasiadis (2005), Purvis e Savarimuthu (2005), Fei e Chen (2007), Chan (2008), Armando Robles et al. (2006), Gao e Xu (2009), Dewan, Freimer e Jiang (2007), Ahn et al. (2007), Kishore, Zhang e Ramesh (2006), Kalvenes e Basu (2006), Dinlersoz e Pereira (2007), Cao, Zhang e Liu (2006), Li et al. (2006), Chan, Swarnkar e Tiwari (2007), Falcone Sampaio e He (2006), Ribeiro-Justo, Saleh e Karran (2007), Hundling e Weske (2006), Ou-Yang e Hon (2008), Shi e Wang (2008) e Maticevic, Lovric e Cicak (2007) fundamentam que sistemas baseados em agentes são sistemas de computador cooperativos e auto-suficientes em um meta-nível de execução, que operam com algum grau de autonomia, encapsulados em componentes de software autônomos com características de reatividade, autonomia, orientação a objetivos, capacidade de aclimatação no ambiente em que estão inseridos e capacidade social. São construídos de forma modular para responder a serviços específicos com diferentes capacidades de
aprendizagem e comportamentos, geralmente estruturados por meio de raciocínios baseados em casos e conseguem aprender por meio de modelos e mecanismos, com capacidade de converter dados entre padrões, a quem se pode delegar uma tarefa. Os agentes se situam em algum ambiente (framework) com capacidade de sentir, agir e aprender sobre esse ambiente, gerando critérios de decisão internos do agente ao longo do tempo, comunicando-se com seus pares por meio do intercâmbio de mensagens estruturadas em linguagens de comunicação específica de agentes, capazes de executar ações flexíveis e autônomas sob demanda nesse ambiente baseados em premissas estruturadas em informações e ambientes distribuídos, a fim de cumprir os seus objetivos, possibilitando a análise de resultados para suporte à tomada de decisão.
Com base nas afirmações dos autores pesquisados, pode-se observar que os sistemas baseados em tecnologias agentes permitem a construção de aplicações em software que possuem como característica principal a capacidade de seus módulos operarem de forma independente e assíncrona, efetuando os processos de comunicação através de trocas de mensagens, dentre outras. Essas características permitem a utilização de funcionalidades convergentes sob demanda, delegando a escolha de tais mecanismos aos próprios agentes componentes do sistema.