935 resultados para Linguagem de programação funcional adaptativa


Relevância:

100.00% 100.00%

Publicador:

Resumo:

O modelo de objetos apresenta-se como um modelo promissor para o desenvolvimento de software tolerante a falhas em virtude de características inerentes ao próprio modelo de objetos, tais como abstração de dados, encapsulamento, herança e reutilização de objetos (componentes). O uso de técnicas orientadas a objetos facilita o controle da complexidade do sistema porque promove uma melhor estruturação de seus componentes e também permite que componentes já validados sejam reutilizados [LIS96]. Técnicas básicas para tolerância a falhas em software baseiam-se na diversidade de projeto e de implementação de componentes considerados críticos. Os componentes diversitários são gerenciados através de alguma técnica que tenha por objetivo assegurar o fornecimento do serviço solicitado, como, por exemplo, a conhecida técnica de blocos de recuperação. Reflexão Computacional é a capacidade que um sistema tem de fazer computações para se auto analisar. Ela é obtida quando o programa pára sua execução por um período de tempo para fazer computações sobre si próprio; analisa seu estado, se o processamento está correto, se pode prosseguir com a execução e atingir o objetivo satisfatoriamente; se não precisa mudar de estratégia ou algoritmo de execução, fazendo, ainda, processamentos necessários para o sucesso da execução. Um sistema de programação distribuída consiste basicamente em vários aplicativos executados em diferentes computadores, os quais realizam troca de mensagens para solucionar um problema comum. A comunicação entre os computadores é realizada através da rede que os interliga. As Redes que controlam sistemas críticos são normalmente de pequena escala pois redes de grandes dimensões podem apresentar atrasos e baixa confiabilidade. Portanto, a abordagem aqui proposta consiste em utilizar, em um ambiente distribuído, uma arquitetura reflexiva aliada a técnicas do domínio da tolerância a falhas para promover a separação entre as atividades de controle, salvamento, recuperação, distribuição e validação de componentes e as funcionalidades executadas pelo próprio componente, a fim de que falhas não venham a prejudicar a disponibilidade, confiabilidade e clareza de determinadas computações. A proposta apóia-se num estudo de caso, implementado na linguagem de programação Java, com seus protocolos de reflexão computacional e de comunicação.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Este trabalho apresenta o método dos elementos finitos em conjunto com métodos numéricos especificos para a solução de problemas de fratura. Esta é uma poderosa ferramenta para a análise de fraturas e soluções confiáveis são obtidas para problemas complexos de Engenharia tanto no campo linear como no não-linear. O elemento finito. implementado é do tipo isoparamétrico quadrâtico da família Serendipity. Com dois graus de liberdade por nó, permite discretizar em estado plano de tensão ou deformação estruturas com geometrias bastante variadas. Para a análise linear são implementadas quatro técnicas consagradas para a avaliação do fator de intensidade de tensão no modo I de fratura: extrapolação de doslocamentos (usando malha somente com elementos convencionais e malha mesclada com elementos especiais), taxa de liberação de energia de defermação, extensão virtual da trinca e o método da integral J, descartando-se neste caso a hipótese de descarregamento. A linguagem de programação adotada é o FORTRAN 77. A entrada de dados é feita por intermédio de arquivos previamente preparados. Os resultados obtidos são confrontados com resultados experimentais e computacionais fornecidos por outros programas. Analisam-se placas, estruturas de uso na indústria e simulam-se ensaios como o corpo de prova de flexão em três pontos e o corpo de prova de tensão. compacto.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

A análise da iteração solo-estrutura em fundações é um importante campo de pesquisa que ainda tem um grande progresso a ser feito. No presente trabalho foi desenvolvido um programa computacional para a análise da interação solo-estrutura de fundações de concreto armado. Este tema abrange duas áreas da engenharia civil: estruturas e geotecnia. O método dos elementos finitos foi usado no trabalho na seqüência para resolver o problema considerando estado plano de defonnação e comportamento elastoplásti.co dos materiais estudados (solo, concreto e aço). A linguagem de programação MATLAB foi usada em toda esta pesquisa como alternativa ao FORTRAN. O MATLAB foi escolhido uma vez que é uma linguagem de programação que permite facilmente construir uma interfàce de pré e pósprocessamento amigável. Os passos para a solução completa do problema foram os seguintes: Primeiramente um programa foi desenvolvido considerando o comportamento elastoplástico com critérios de plastificação e ruptura específicos para o concreto e solo. Soluções analíticas fechadas foram usadas para checar a precisão do programa. O segundo passo foi a introdução do reforço de aço no concreto por meio de um modelo para armaduras. Logo após, um modelo de fissuras para o concreto 1racionado foi in1roduzido no programa. Na seqüência o programa de pré e pós-processamento foi desenvolvido para gerar a malha de elementos finitos (pré-processamento), distribuição tensões e deformações, mapa de fissuras, etc (pósprocessamento). Finalmente, os parâme1ros constitutivos do solo, concreto e aço foram calibrados e várias situações reais de interação do solo-concreto de fundações de concreto armado foram simuladas. Nesta dissertação são encontrados resultados para as pressões de contato sapata-solo. Diferentes diagramas de tensões de interfàce foram obtidos em função rigidez relativa do elemento estrutural de concreto armado-solo. Na análise mnnérica, rigidez relativa desempenhou uma relevante função no comportamento mecânico do elemento estrutural de concreto armado (sapata) e da base de assentamento (solo), uma vez ruptura em ambos os casos esteve diretamente relacionada a esta grandeza. São encon1rados, em função da rigidez relativa, resultados indicativos dos modos de falha da fundação, excessiva plastificação do solo em fundações com rigidez relativa alta, e a plastificação armaduras, esmagamento do concreto, formação de fissuras, bielas e confinamento concreto para fundações de rigidez relativa baixa. Na análise numérica, obteve-se resultados importantes com relação ao projeto de fundações. Estes resultados foram cOnITontadoscom normas, destacando-se as discordâncias com relação às recomendações da nonna brasileira Projeto e Execução de Fundações" NBR-6122 (1996) para os diagramas de tensões interface sapata-solo usados no dimensionamento de fundações de concreto armado.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

O presente trabalho é dedicado à simulação numérica de sistemas térmicos de potência. O trabalho é iniciado com a modelagem de um ciclo Rankine, dedicado à produção de energia elétrica, para o qual foi elaborado um programa de simulação com a linguagem de programação MATLAB. A partir desse primeiro caso, são apresentados os modelos empregados para representar os diversos componentes que formam o circuito, como o gerador de vapor, a turbina, o condensador e a bomba. Além desses componentes, são introduzidas as equações que representam o escoamento do fluido de trabalho, no caso a água, permitindo assim o cálculo da perda de carga nas diferentes canalizações do circuito, sendo também acoplado o funcionamento da bomba. Essa alternativa pennite uma melhor avaliação do trabalho despendido para operar o sistema. A modelagem do ciclo deixa então de ser exclusivamente tennodinâmica, e passa a incluir aspectos de mecânica de fluidos. Outras variantes desse ciclo simples são também modelados e simulados, incluindo ciclos Rankine regenerativos e com irreversibilidades. As simulações são efetuadas admitindo-se parâmetros de operação, como, potência da turbina, temperatura do vapor d'água na entrada da turbina e pressão do vapor d'água na saída da turbina, com a variante de fixar-se o título do vapor d'água na saída da turbina.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Independentemente do modelo de programação adotado, no projeto e implementação de aplicações de alta disponibilidade, faz-se necessário usar procedimentos de tolerância a falhas. Dentre as atividades que trazem consigo interesse de pesquisa na área de Tolerância a Falhas, estão os mecanismos de recuperação em um sistema computacional. Do ponto de vista prático, estes mecanismos buscam manter próximo do mínimo o tempo total de execução de aplicações computacionais de longa duração, ao mesmo tempo em que as preparam para não sofrerem perdas significativas de desempenho, em caso de falhas. Paralelamente à evolução dos sistemas computacionais, foi possível observar também a evolução das linguagens de programação, principalmente as que utilizam o paradigma orientado a objetos. O advento da área de tolerância a falhas na orientação a objetos resultou em novos problemas na atividade de recuperação quanto aos mecanismos de salvamento de estados e retomada da execução, principalmente no que se refere às dificuldades de gerenciamento e controle sobre a alocação de objetos. Entretanto, observa-se que a complexidade de implementação dos mecanismos de recuperação, por parte dos programadores, exige deles conhecimentos mais especializados para o salvamento dos estados da aplicação e para a retomada da execução. Portanto, a simplificação do trabalho do programador, através do uso de uma biblioteca de checkpointing que implemente os mecanismos de salvamento de estados e recuperação é o ponto focal deste trabalho. Diante do contexto exposto, nesta dissertação, são definidas e implementadas as classes de uma biblioteca que provê mecanismos de checkpointing e recuperação. Esta biblioteca, denominada de Libcjp, visa aprimorar o processo de recuperação de aplicações orientadas a objetos escritas na linguagem de programação Java. Esta linguagem foi escolhida para implementação devido à presença dos recursos de persistência e serialização. Para a concepção do trabalho, são considerados ambos os cenários no paradigma orientado a objetos: objetos centralizados e distribuídos. São utilizados os recursos da API de serialização Java e a tecnologia Java RMI para objetos distribuídos. Conclui-se o trabalho com a ilustração de casos de uso através de diversos exemplos desenvolvidos a partir de seus algoritmos originais inicialmente, e incrementados posteriormente com os mecanismos de checkpointing e recuperação. Os componentes desenvolvidos foram testados quanto ao cumprimento dos seus requisitos funcionais. Adicionalmente, foi realizada uma análise preliminar sobre a influência das ações de checkpointing nas características de desempenho das aplicações.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Este texto apresenta um novo modelo multiparadigma orientado ao desenvolvimento de software distribuído, denominado Holoparadigma. O Holoparadigma possui uma semântica simples e distribuída. Sendo assim, estimula a modelagem subliminar da distribuição e sua exploração automática. A proposta é baseada em estudos relacionados com modelos multiparadigma, arquitetura de software, sistemas blackboard, sistemas distribuídos, mobilidade e grupos. Inicialmente, o texto descreve o modelo. Logo após, é apresentada a Hololinguagem, uma linguagem de programação que implementa os conceitos propostos pelo Holoparadigma. A linguagem integra os paradigmas em lógica, imperativo e orientado a objetos. Além disso, utiliza um modelo de coordenação que suporta invocações implícitas (blackboard) e explícitas (mensagens). A Hololinguagem suporta ainda, concorrência, modularidade, mobilidade e encapsulamento de blackboards em tipos abstratos de dados. Finalmente, o texto descreve a implementação da Holoplataforma, ou seja, uma plataforma de desenvolvimento e execução para a Hololinguagem. A Holoplataforma é composta de três partes: uma ferramenta de conversão de programas da Hololinguagem para Java (ferramenta HoloJava), um ambiente de desenvolvimento integrado (ambiente HoloEnv) e um plataforma de execução distribuída (plataforma DHolo).

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Este trabalho descreve uma implementação de um modelo de escalonamento para a linguagem de programação DPC++. Esta linguagem, desenvolvida no Instituto de Informática da UFRGS, possibilita que uma aplicação orientada a objetos seja distribuída entre vários processadores através de objetos distribuídos. Muito mais que uma simples biblioteca de comunicação, o DPC ++ torna a troca de mensagens totalmente transparente aos objetos. A integração do DPC++ com o DECK, também em desenvolvimento, trará grandes inovações ao DPC++, principalmente pelo uso de theads. O escalonador proposto para este modelo utiliza estes recursos para implantar os chamados processos espiões, que monitoram a carga de uma máquina, enviando seus resultados ao escalonador. O escalonador implementado possui, desta forma, dois módulos: objetos espiões implementados como um serviço do DECK e o escalonador propriamente dito, incluído no objeto Diretório, parte integrante do DPC++.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Para reutilização, manutenção e refatoração, projetistas de sistemas de software, freqüentemente, precisam examinar o código fonte da aplicação para entender os detalhes dos sistemas desenvolvidos. As aplicações orientadas a objetos em geral, tornam-se coleções nebulosas de classes e implementações de métodos. Sem dúvida a habilidade de entender sistemas de software é largamente aumentada visualizando-se esses produtos em níveis mais altos de abstração. Os padrões de projeto demonstram um alto índice de abstração e são considerados uma ferramenta efetiva para o entendimento de sistemas de software orientados a objetos. Aplicações orientadas a objetos visualizadas como um sistema de interação de padrões requerem a descoberta, identificação e classificação de grupos de classes relacionadas. Estas visualizações podem representar qualquer padrão conhecido ou agrupamentos que executam uma tarefa abstrata e necessariamente não são uma solução de padrão conhecida. Os padrões de projeto descrevem, portanto, microarquiteturas que resolvem problemas arquitetônicos em sistemas de software orientados a objetos. É importante identificar estas microarquiteturas durante a fase de manutenção de aplicações orientadas a objetos. Faz-se necessário salientar que estas microarquiteturas aparecem freqüentemente distorcidas na aplicação fonte. O objeto deste trabalho é demonstrar a viabilidade de construir uma ferramenta para descobrir a utilização de padrões de projeto em aplicações Java. Assim, esta tese examina as características de alguns padrões, determinando a natureza do que faz um padrão ser detectável por intermédio de meios automatizados, e propõe algumas regras pelas quais um conjunto de padrões possa ser identificado. As regras são baseadas nos relacionamentos entre classes e objetos mediante observação dos modelos estático e dinâmico. Este trabalho também documenta o desenvolvimento do protótipo da ferramenta de inspeção, que tem por objetivo aplicar os processos de engenharia reversa e reflexão computacional sobre código Java, utilizando as informações adquiridas para detectar padrões de projeto. Finalmente, esta tese demonstra a utilização dessa ferramenta em um exemplo pequeno de aplicação Java e forma a base para trabalhos adicionais que investiguem a existência de diferentes padrões de projeto em sistemas de software construídos em Java.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

O sucesso da Internet como plataforma de distribuição de sistemas de informação encoraja organizações a disponibilizar serviços presentes em seus sistemas legados nesse ambiente. Uma parte desses sistemas foi desenvolvida na fase inicial do desenvolvimento das aplicações cliente/servidor para banco de dados, usando ambientes visuais com interfaces gráficas tipo WIMP, implementadas sob o paradigma procedimental/estruturado, baseado em objetos e eventos. Como conseqüência, produziu-se sistemas legados difíceis de manter, evoluir e adaptar a novas tecnologias e arquiteturas, pois os projetos desenvolvidos não seguiam, na maioria das vezes, os bons preceitos e práticas modernas defendidas na Engenharia de Software. O objetivo deste trabalho é propor uma metodologia para migrar sistemas legados com as características citadas acima para a plataforma Web. O processo de migração proposto destaca duas estratégias: a elaboração de modelos de classes conceituais da aplicação e o tratamento dado à interface do usuário, para serem utilizados na reconstrução de uma nova aplicação. O processo é baseado em técnicas e métodos de engenharia reversa, que visa obter abstrações por meio de análise estática e dinâmica da aplicação. Na análise dinâmica, destaca-se o mecanismo para recuperar aspectos dos requisitos funcionais do sistema legado e representá-los na ferramenta denominada UC/Re (Use Case para Reengenharia). Todos os artefatos gerados durante o processo podem ser armazenados em um repositório, representando os metamodelos construídos na metodologia. Para delimitar e exemplificar o processo, escolheu-se como domínio de linguagem de programação do software legado, o ambiente Delphi (sob a linguagem Object Pascal). É proposto também um ambiente CASE, no qual é descrito o funcionamento de um protótipo que automatiza grande parte das funcionalidades discutidas nas etapas do processo. Algumas ferramentas desenvolvidas por terceiros são empregadas na redocumentação do sistema legado e na elaboração dos modelos UML do novo sistema. Um estudo de caso, apresentando uma funcionalidade específica de um sistema desenvolvido em Delphi, no paradigma procedimental, é usado para demonstrar o protótipo e serve de exemplo para a validação do processo. Como resultado do processo usando o protótipo, obtém-se o modelo de classes conceituais da nova aplicação no formato XMI (formato padrão para exportação de modelos UML), e gabaritos de páginas em HTML, representando os componentes visuais da interface original na plataforma Web.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Baseado na tecnologia de interligação de redes, este trabalho apresenta uma proposta de conexão de dois sistemas com processamento próprio com o intuito de troca de informações, utilizando a pilha de protocolos TCP/IP. Este sistema será empregado em ambientes de controle industrial, permitindo o envio de informações do servidor de dados para o cliente. Os dados são constituídos de leituras feitas em equipamentos de campo, apresentando ao cliente remoto, medições dos mais diversos tipos. Por outro lado, o cliente poderá enviar comandos aos equipamentos de campo visando o telecontrole. Como ponto de partida para a elaboração do trabalho prático, foi utilizado o ambiente de controle do sistema de potência da companhia energética do estado do Rio Grande do Sul (CEEE). Um microcomputador com um browser acessa, através de uma rede local, os equipamentos controlados, que poderão ser qualquer tipo de equipamento de campo empregado em subestações de energia elétrica, como disjuntores, transformadores ou chaves. Para permitir o acesso remoto de tais equipamentos, foi elaborado um servidor de dados constituído de um controlador de rede do tipo Ethernet e um microcontrolador de aplicação específica que se encarrega do processamento da pilha de protocolos. O controlador Ethernet utilizado é um circuito integrado dedicado comercial, que executa o tratamento dos sinais de nível físico e de enlace de dados conforme o padrão IEEE 802.2. O processador TCP/IP, enfoque principal deste trabalho, foi elaborado através da linguagem de programação C, e a seguir traduzido para o Java, que é o ponto de partida para a ferramenta SASHIMI, de geração da descrição em VHDL do microcontrolador de aplicação específica utilizado. O processador TCP/IP encarrega-se da aquisição de dados do equipamento de campo, do processamento da pilha de protocolos TCP/IP, e do gerenciamento do controlador Ethernet. A partir desta descrição VHDL, foi sintetizado o hardware do microcontrolador em um FPGA, que juntamente com o software aplicativo, também fornecido pela ferramenta utilizada, desempenha o papel de processador TCP/IP para o sistema proposto. Neste ambiente, então, o cliente localizado no centro de operação, acessa através de um browser o equipamento de campo, visando obter suas medições, bem como enviar comandos, destacando o aspecto bidirecional para a troca de dados e a facilidade de conexão de dois sistemas heterogêneos. Este sistema pretende apresentar baixo custo de aquisição e de instalação, facilidade de interconexão local ou remota e transparência ao usuário final.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Numerosas pesquisas estão introduzindo o conceito de grupo em padrões abertos para programação distribuída. Nestas, o suporte a grupo de objetos por meio de middlewares, apresentam diferentes abordagens de interligação com a aplicação. Segundo princípios defendidos na tese de Felber, essas abordagens vão ao encontro do objetivo de facilitar o desenvolvimento e proporcionar confiabilidade e desempenho. Neste contexto, localizou-se três enfoques básicos para a interligação com a aplicação, denominados integração, serviço, e interceptação, que utilizam a captura de mensagens para obtenção de informações ou como meio para adicionar novas funcionalidades às aplicações. A utilização dessas informações pode auxiliar no ajuste de parâmetros funcionais de serviços relacionados, na escolha de mecanismos, influindo em aspectos como, desempenho e segurança. Ao longo do estudo dessas abordagens, sentiu-se a necessidade de estudar detalhes e testar aspectos de implementação, suas premissas de uso e as conseqüências advindas da incorporação de seus mecanismos junto à aplicação. Este trabalho visa apresentar uma análise do comportamento das referidas abordagens por meio da implementação de protótipos, possibilitando assim, investigar problemas relacionados ao emprego da técnica e suas conseqüências quando integradas à aplicação. Os objetivos específicos reúnem a busca de informações qualitativas, tais como: modularidade, transparência, facilidade de uso e portabilidade; e informações quantitativas, fundamentalmente traduzidas pelo grau de interferência no desempenho da aplicação. O desenvolvimento dos protótipos teve como início a busca por um ambiente que ofereceria suporte as condições necessárias para a implementação das diferentes abordagens. Percebeu-se que definir os mecanismos diretamente sobre uma linguagem de programação, como C ou C++, não era viável. As versões padrões dessas linguagens não oferecem mecanismos capazes de suportar algumas características de implementação como, por exemplo, a captura de mensagens na abordagem de interceptação. A possibilidade é introduzida apenas por extensões dessas linguagens. Assim, a investigação de um ambiente de implementação voltou-se para mecanismos disponíveis em sistemas operacionais. A opção pela utilização do Linux visou atender alguns requisitos importantes para o desenvolvimento dos protótipos tais como: facilidade de instalação, boa documentação e código aberto. Este último é um ponto essencial, pois a construção de parte dos protótipos explora a programação em nível do sistema operacional. A linguagem de programação C foi escolhida como base para a implementação, já que as diferentes abordagens exploram tanto o nível do kernel como o nível do usuário, e é compatível com o Linux. A etapa de desenvolvimento dos protótipos possibilitou a coleta de informações sobre aspectos qualitativos. As demais informações que fazem parte do perfil levantado por este trabalho sobre as abordagens, foram obtidas através da utilização dos protótipos em experimentos com duas aplicações distribuídas denominadas de “Ping-Pong” e “Escolha dederes”, que têm como característica geral à troca de mensagens, utilizando comunicação através de sockets. A realização de medidas em múltiplas execuções, avaliadas após o tratamento estatístico necessário, permitiu definir um perfil das diferentes abordagens.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Este trabalho apresenta um programa que tem por finalidade automatizar os procedimentos de verificação do estado limite de serviço de abertura das fissuras em seções retangulares e T de concreto armado, submetidas à flexão simples, conforme as recomendações da norma NBR 6118/2003 – Projeto de Estruturas de Concreto. O programa foi implementado na linguagem de programação Microsoft Visual Basic, aproveitando os recursos fornecidos por esta linguagem, que propiciam o desenvolvimento de uma entrada de dados amigável, típica do ambiente Windows. A fissuração, em elementos de concreto armado, ocorre quando as tensões de tração no concreto excedem a sua capacidade resistente. Nos elementos fissurados, as aberturas das fissuras devem ser controladas. Segundo as recomendações da norma, o valor característico da abertura das fissuras não deve ultrapassar determinados valores admissíveis. No procedimento implementado, são determinadas as aberturas das fissuras considerando-se o conjunto de barras da armadura tracionada e a camada mais tracionada da armadura, com o propósito de estabelecer a situação mais desfavorável. O programa tem também a pretensão de auxiliar estudantes de engenharia na compreensão do fenômeno da fissuração, fornecendo valores de elementos que caracterizam o funcionamento da peça fletida.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Existem vários trabalhos na área de extração de dados semi-estruturados, usando diferentes técnicas. As soluções de extração disponibilizadas pelos trabalhos existentes são direcionadas para atenderem a dados de certos domínios, considerando-se domínio o conjunto de elementos pertencentes à mesma área de interesse. Dada a complexidade e a grande quantidade dos dados semi-estruturados, principalmente dos disponíveis na World Wide Web (WWW), é que existem ainda muitos domínios a serem explorados. A maior parte das informações disponíveis em sites da Web está em páginas HTML. Muitas dessas páginas contêm dados de certos domínios (por exemplo, remédios). Em alguns casos, sites de organizações diferentes apresentam dados referentes a um mesmo domínio (por exemplo, farmácias diferentes oferecem remédios). O conhecimento de um determinado domínio, expresso em um modelo conceitual, serve para definir a estrutura de um documento. Nesta pesquisa, são consideradas exclusivamente tabelas de páginas HTML. A razão de se trabalhar somente com tabelas está baseada no fato de que parte dos dados de páginas HTML encontra-se nelas, e, como conseqüência, elimina-se o processamento dos outros dados, concentrando-se os esforços para que sejam processadas automaticamente. A pesquisa aborda o tratamento exclusivo de tabelas de páginas HTML na geração das regras de extração, na utilização das regras e do modelo conceitual para o reconhecimento de dados em páginas semelhantes. Para essa técnica, foi implementado o protótipo de uma ferramenta visual denominado Gerador de Regras de Extração e Modelo Conceitual (GREMO). GREMO foi desenvolvido em linguagem de programação visual Delphi 6.0. O processo de extração ocorre em quatro etapas: identificação e análise das tabelas de informações úteis em páginas HTML; identificação de conceitos para os elementos dos modelos conceituais; geração dos modelos conceituais correspondentes à página, ou utilização de modelo conceitual existente no repositório que satisfaça a página em questão; construção das regras de extração, extração dos dados da página, geração de arquivo XML correspondente aos dados extraídos e, finalmente, realimentação do repositório. A pesquisa apresenta as técnicas para geração e extração de dados semi-estruturados, as representações de domínio exclusivo de tabelas de páginas HTML por meio de modelo conceitual, as formas de geração e uso das regras de extração e de modelo conceitual.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Muitos aplicativos atuais, envolvendo diversos domínios de conhecimento, são estruturados como arquiteturas de software que incorporam, além dos requisitos funcionais, requisitos não funcionais, como segurança, por exemplo. Tais requisitos podem constituir um domínio próprio, e, portanto, serem comuns a várias outras arquiteturas de software. Tecnologias como Programação Orientada a Aspectos, Reflexão Computacional e Padrões de Projeto colaboram no desenvolvimento de arquiteturas que provêem a separação de requisitos não funcionais. Porém, sua experimentação e adoção no domínio da segurança computacional ainda é incipiente. O foco deste trabalho é a elaboração de um padrão de projeto voltado à segurança, utilizando como arquitetura conceitual programação orientada a aspectos, e como arquitetura de implementação, reflexão computacional. A composição destas tecnologias resulta em um middleware orientado à segurança, voltado a aplicações desenvolvidas em Java. Estuda-se as tecnologias, seus relacionamentos com a área de segurança, seguido da proposta de uma arquitetura de referência, a partir da qual é extraído um protótipo do middleware de segurança. Este, por sua vez, provê mecanismos de segurança tão transparentes quanto possível para as aplicações que suporta. Com o objetivo de realizar a implementação do middleware de segurança, também são estudadas os mecanismos de segurança da plataforma Java, porém limitado ao escopo deste trabalho. Segue-se o estudo da base conceitual das tecnologias de Reflexão Computacional, o modelo de implementação, seguido de Programação Orientada a Aspectos, o modelo conceitual, e, por fim, têm-se os Padrões de Projeto, a arquitetura de referência. Integrando as três tecnologias apresentadas, propõe-se um modelo, que estabelece a composição de um Padrão Proxy, estruturado de acordo com a arquitetura reflexiva. Este modelo de arquitetura objetiva implementar o aspecto de segurança de acesso a componentes Java, de forma não intrusiva,. Baseado no modelo, descreve-se a implementação dos diversos elementos do middleware, estruturados de forma a ilustrar os conceitos propostos. Ao final, apresenta-se resultados obtidos durante a elaboração deste trabalho, bem como críticas e sugestões de trabalhos futuros.