• Nenhum resultado encontrado

Padrões Semânticos e Adaptação

N/A
N/A
Protected

Academic year: 2021

Share "Padrões Semânticos e Adaptação"

Copied!
6
0
0

Texto

(1)

Padrões Semânticos e Adaptação

André Desessards Jardim

Universidade Católica de Pelotas

Centro Politécnico

Mini Curso Web Semântica

Introdução

Alguém já pode ter resolvido o seu problema e pode existir um padrão que você pode imitar. Padrões Semânticos, juntamente com software adapatativo é uma área de inovação que pode oferecer ganhos de eficiência significativos para a altamente estruturada Web Semântica através do processo de implementar automaticamente melhorias de desempenho. Padrões Semânticos podem revelar-se úteis no sentido de resolver as diferentes representações e diferentes formas de modelagem de conhecimento. Porque os padrões são freqüentemente encontrados em ambientes altamente estruturados, eles oferecem uma importante metodologia para melhorar a eficiência dos agentes sobre a Web Semântica. Com a criação de agentes que podem se auto-organizar, responder aos feedbacks, e adaptar, os agentes podem ser capazes de encontrar eficiências que tornam a procura por conclusões lógicas na Web Semântica mais prática. Este texto apresenta alguns conceitos básicos de padrões semânticos seguido por uma breve discussão de software adaptáveis.

Padrões em Projeto de Software

O que é necessário para se tornar um mestre em concepção de software? De certa forma, tornar-se um mestre em detornar-senvolvimento de software é como tornar-se tornar um jogador de xadrez mestre. O processo de se tornar um mestre em xadrez consiste em várias etapas. Em primeiro lugar, aprender as regras, incluindo os nomes das peças, movimentos legais, geometria e orientação do tabuleiro. Em segundo lugar, aprender os princípios básicos, incluindo o valor relativo das peças, o valor estratégico dos quadrados mais ao centro, e o poder de uma ameaça. Em terceiro, o estudo os jogos dos mestres incluindo os jogos com os padrões que devem ser compreendidos e aplicados.

Do mesmo modo, tornar-se um mestre em projeto de software exige as seguintes fases análogas: (1) Aprenda as regras: algoritmos, estruturas de dados, e as linguagens de software. (2) Aprenda os princípios: programação estruturada, programação modular, programação orientada a objeto e programação genérica. (3) Estude os projetos dos mestres: Encontre padrões para ser entendidos

(2)

e aplicados. Ao tomar esta abordagem é absolutamente clara a forma como os padrões desempenham um papel vital para se tornar um perito no desenvolvimento programação. Mas compreender padrões reconhecíveis é apenas o início do processo de pensar em termos de utilização destes padrões e criar novos programas.

Estruturas de Padrões

A estrutura de padrões (Pattern Frame) delineia o problema de espaço e mostra as relações entre os padrões. A estrutura de padrões representa níveis progressíveis de abstração: arquitetura, projeto e implementação. Representa perspectivas da solução incluindo banco de dados, aplicação, implementação e infra-estrutura.

Padrões Definidos

Reutilização de Software fornece uma base para uma drástica melhoria na qualidade do software e produtividade do programador. Suporte para reutilização de padrões de arquiteturas de software, ontologias, e projeto. Existem muitas soluções bem sucedidas para diversas áreas de empreendimento humano, todos os quais estão profundamente enraizados em padrões. Padrões são dispositivos que permitem que programas compartilhem conhecimentos sobre a sua concepção.

Na programação diária, muitos problemas que têm ocorrido irão ocorrer novamente. A questão é saber como vamos resolvê-los desta vez. Padrões de documentação são uma maneira para reutilizar e possivelmente compartilhar a informação que é aprendida, sobre a melhor maneira para resolver um problema específico de projeto de programa.

Um padrão descreve um problema recorrente em um dado contexto e baseada em um conjunto de forças orientadoras, recomenda uma solução. A solução é normalmente um mecanismo simples, uma colaboração entre duas ou mais classes, objetos, serviços, processos, threads, componentes, ou nodos que trabalham juntos para resolver o problema identificado no padrão.

Porque os padrões podem ser facilmente encontrados em ambientes altamente estruturados, eles oferecem uma metodologia muito atraente para a melhoria da eficiência dos agentes sobre a Web Semântica.

Padrões Semânticos

Uma área em que os padrões semântica pode ser útil como ferramenta de comunicação é Web Semântica entre desenvolvedores e projetistas que estão mapeamento diferentes línguas-alvo,

(3)

com diferentes representações e diferentes formas de modelagem de conhecimento. Embora visando reutilização semântica entre fronteiras que incluem diferentes representações de linguagens e diferentes modelos formais, podemos reconhecer características dos modelos semânticos que permanecem constantes.

O objetivo é intercambiabilidade semântica através da captura destas características. No entanto, isto é difícil porque diferentes definições de linguagem vêm com diferentes modelos formais. Em geral, os modelos de duas linguagens diferentes não podem ser comparáveis. Ou pode haver várias declarações semanticamente equivalentes dentro de uma linguagem. Sua equivalência pode ser em geral (por exemplo, para lógica de predicado de primeira ordem), não-decidível. Assim, uma tradução pode não existir.

Padrões de Projeto de Software podem revelar-se úteis quando são capazes de descrever soluções bem sucedidas para problemas comuns de software. Padrões de Projeto são uma valiosa técnica em engenharia de software, pois capturam a experiência bem sucedida de peritos, tornam explícito o conhecimento de projeto implícito, e explicam a estrutura profunda e fundamentação de um projeto.

Um padrão de projeto é uma solução abstrata de como um problema pode ser resolvido sem prescrever a forma como a implementação concreta deve ser feita. Consequentemente, a reutilização de padrões de projeto de que obtiveram êxito pode ser mais fácil de alcançar.

Padrões de Projeto incluem diversas variedades. Padrões de Criação (Creational Patterns) lidam com inicialização e configuração de classes e objetos. Padrões estruturais (Structural Patterns) lidam com dissociação de interface e implementação de classes e objetos. Padrões de comportamento (Behavior Patterns) lidam com interações dinâmicas entre as sociedades de classes e objetos.

Padrões úteis para semânticas poderiam incluir ontologias superiores e de domínio, axiomas de encerramento e raciocínio do mundo aberto, relações n-árias, e as classes como valores.

Algumas opções para a representação não são motivadas semanticamente, mas são feitas a fim de gerar algum comportamento particular do sistema.

Tradução direta a partir de uma representação em outra linguagem, não parece uma abordagem viável. Alternativamente, pode-se construir uma determinada representação, de acordo com um modelo explícito e, em seguida, compilar a representação final em outra linguagem. Características semânticas (por exemplo, condições de herança) aparecem em linguagens de representação comuns (por exemplo, FTR: subclasse e rdf: type em FTR). Outras características semânticas podem ser modeladas independentemente de uma linguagem-alvo especial para ser mapeada em uma ampla gama de linguagens.

(4)

No entanto, não existe nenhum conceito compreensivo para a engenharia de semânticas de uma forma que sejam totalmente reutilizáveis em várias linguagens. O problema de descrever características de modelos formais para todas as linguagens de representação não pode ser resolvido produzindo uma lista fechada de primitivas de modelagem. Portanto, há necessidade de uma técnica de descrição de novas primitivas semânticas em um nível mais elevado de abstração.

Padrões Semânticos para a Web Semântica

Os padrões são utilizados para resolver um problema. Assimilam soluções, não só princípios abstratos ou estratégias. Como resultado, os padrões provam conceitos e capturam soluções com um registro, e eles descrevem relacionamentos. Um padrão semântico pode ser implementado pela tradução de suas primitivas para a linguagem-alvo. Assim, se um dá uma instanciação de um padrão semântico juntamente com alguns exemplos de fatos relacionados com o padrão, a implementação pode conter conseqüências semânticas.

Padrões semânticos podem ser usados para comunicar algumas informações para os desenvolvedores e sistemas de computador. Resource Description Framework (RDF) pode ser o formato ideal para a representação semântica do padrão em si.

Bibliotecas de Padrões Semânticos

Eventualmente, a necessidade de padrões semânticos será movida por Desenvolvedores da Semântica Web. Com a engenharia de ontologias na Web, as novas idéias virão sobre qual tipo de inferência deve ser suportada e quais tipos de sistemas de representação devem ser utilizados. Construir a idéia básica de padrões semânticos na Web requer técnicas de representação e o estabelecimento de bibliotecas de padrões semânticos.

Linguagem de Padrões Semânticos

O problema da semântica computacional é fundamental para tornar os sistemas de computador inteligentes. A habilidade de codificar e processar semântica de maneira eficiente será essencial para a Web Semântica. Novas tendências em computação (por exemplo, computação pervasiva) com ênfase na inteligência de processamento de e interfaces intelectuais irão levar ao desenvolvimento de novos métodos como a Semantic Language Patterns (SEMPL) (ver http://sempl.net/) e aumentar a importância da computação semântica para resolver problemas. Linguagem de Padrões Semânticos é um modelo eficiente para a codificação de semântica. Tem suportado os resultados do Universal Semantic Code (USC), o que já demonstrou aplicabilidade a multiplicidade de problemas.

(5)

Auto-Organização e Adaptatividade

A auto-organização de uma rede de software refere-se a sua capacidade para organizar e configurar a si própria, de acordo com as condições ambientais. Adaptação de software remete à capacidade de aplicações para aprender e adaptar à mudança das condições na rede. Como um resultado autoorganização e adaptação de software podem utilizar informações do ambiente para melhorar o seu desempenho e funções ao longo do tempo.

Estas novas abordagens para funções de software estão em fase de pesquisa se comparadas à programação mais tradicional. Na década de 1970, Programação Estruturada tornou possível a construção de sistemas de software em larga escala com base em especificações existentes. Centenas de linguagens de programação têm sido desenvolvidos desde 1952, algumas das mais importantes linguagens incluem Fortran, Algol, LISP, COBOL, APL, SIMULA, BASIC, PL / I, Prolog, C, Pascal, Scheme, Ada, Parlog, C + +, Eiffel, Mathematica, Oberon, Haskell, e Java. No entanto, apesar desta diversidade de tipos de linguagem, desenvolvimento tradicional de software com estas ferramentas sempre foi baseada em princípios que necessitavam de especificação exata, manutenção complexa, e elevados níveis de abstração. Programação Adaptativa visa o problema de produzir aplicações que podem facilmente se adaptar diante das necessidades evolutivas dos usuários e ambientes. Software adpatativo representa explicitamente os objetivos que o usuário tenta alcançar. Isto torna possível para o usuário mudar metas sem a necessidade de reescrever o programa. Uma típica aplicação é um filtro de informação.

Software adaptativo pode oferecer funcionalidade baseada em um loop de feedback que atualiza as informações baseadas em bom desempenho. O próprio conceito de projeto torna-se uma parte do programa e o programa reconfigura-se de acordo com as mudanças no sucesso de seu desempenho. A arquitetura altamente estruturada da Web Semântica deve oferecer um número significativo de padrões semânticos que poderiam produzir um desempenho otimizado através de processamento adaptável de software.

Algoritmo de Aprendizagem

Nós podemos definir um algoritmo de aprendizagem como um processo que leva um conjunto de dados de uma base dados como entrada e após executar uma operação algorítmica retorna como saída uma declaração representando aprendizagem. Como a Web Semântica aumenta o percentual de aplicações e protocolos com algoritmos de aprendizagem, podemos esperar melhorias no desempenho tanto em qualidade e tipo. A Web pode se tornar uma rede de aprendizagem através de uma composição da arquitetura da Web Semântica e a adição de componentes de agentes de IA construídos com linguagens de software adaptativas.

(6)

Conclusão

Padrões Semânticos na Web irão facilitar a reutilização de módulos de software em sistemas de representação e facilitar a comunicação entre diferentes Desenvolvedores da Web Semântica. Padrões semânticos poderão ser úteis para comunicação entre Desenvolvedores da Web Semântica e projetistas que produzem mapeamentos para reutilização diferentes linguagens-alvo, andando, assim, entre as diferentes representações e diferentes formas de modelagem de conhecimento.

Referências Bibliográficas

Alesso, H P; Smith. C S: Thinking on the Web: Berners-Lee, Goedel and Turing. Wiley, New Jersey, 2006.

Referências

Documentos relacionados

Ao tomar Losartan + Hidroclorotiazida APceuticals com alimentos e bebidas Não deve beber álcool enquanto toma estes medicamentos: o álcool e Losartan + Hidroclorotiazida

O Pró-Arara Centro de Reabilitação de Animais Silvestres demonstrou ser um empreendimento de manejo de fauna com grande importância para o auxílio na conservação

infarto pulmonar, pneumoconiose, megaesôfago, refluxo gastroesofagico, insuficiência ventricular esquerda (seca, mais intensa a noite, causada por congestão pulmonar, associada

1) Tome a drágea esquecida assim que se lembrar (inclui-se a possibilidade de tomar duas drágeas de uma só vez) e continue a tomar as próximas drágeas no horário

A escola Secundária da Machava-sede (Matola- Moçambique) intro- duziu no sistema educativo as jornadas científicas para o tratamento de temas sobre saúde Pública, que servem

Aquelas que necessitarem da utilização das salas passivas deverão observar o horário estabelecido no caput deste artigo... A equipe técnica deverá

Norte e Paraíba, Brasil.. Anexo 02: Mapa de localização dos sítios arqueológicos identificados no levantamento arqueológico realizado na Área Arqueológica do Seridó, Carnaúba dos

promovido pelo Município de Cubatão, leilão do tipo “MAIOR LANCE POR ITEM”, para venda do imóvel localizado no Município de Cubatão/SP, na Estrada Municipal Eng.º