25 resultados para Requisito não-funcional. Arquitetura de software. NFR-framework. Padrão arquitetural

em Lume - Repositório Digital da Universidade Federal do Rio Grande do Sul


Relevância:

100.00% 100.00%

Publicador:

Resumo:

The work described in this thesis aims to support the distributed design of integrated systems and considers specifically the need for collaborative interaction among designers. Particular emphasis was given to issues which were only marginally considered in previous approaches, such as the abstraction of the distribution of design automation resources over the network, the possibility of both synchronous and asynchronous interaction among designers and the support for extensible design data models. Such issues demand a rather complex software infrastructure, as possible solutions must encompass a wide range of software modules: from user interfaces to middleware to databases. To build such structure, several engineering techniques were employed and some original solutions were devised. The core of the proposed solution is based in the joint application of two homonymic technologies: CAD Frameworks and object-oriented frameworks. The former concept was coined in the late 80's within the electronic design automation community and comprehends a layered software environment which aims to support CAD tool developers, CAD administrators/integrators and designers. The latter, developed during the last decade by the software engineering community, is a software architecture model to build extensible and reusable object-oriented software subsystems. In this work, we proposed to create an object-oriented framework which includes extensible sets of design data primitives and design tool building blocks. Such object-oriented framework is included within a CAD Framework, where it plays important roles on typical CAD Framework services such as design data representation and management, versioning, user interfaces, design management and tool integration. The implemented CAD Framework - named Cave2 - followed the classical layered architecture presented by Barnes, Harrison, Newton and Spickelmier, but the possibilities granted by the use of the object-oriented framework foundations allowed a series of improvements which were not available in previous approaches: - object-oriented frameworks are extensible by design, thus this should be also true regarding the implemented sets of design data primitives and design tool building blocks. This means that both the design representation model and the software modules dealing with it can be upgraded or adapted to a particular design methodology, and that such extensions and adaptations will still inherit the architectural and functional aspects implemented in the object-oriented framework foundation; - the design semantics and the design visualization are both part of the object-oriented framework, but in clearly separated models. This allows for different visualization strategies for a given design data set, which gives collaborating parties the flexibility to choose individual visualization settings; - the control of the consistency between semantics and visualization - a particularly important issue in a design environment with multiple views of a single design - is also included in the foundations of the object-oriented framework. Such mechanism is generic enough to be also used by further extensions of the design data model, as it is based on the inversion of control between view and semantics. The view receives the user input and propagates such event to the semantic model, which evaluates if a state change is possible. If positive, it triggers the change of state of both semantics and view. Our approach took advantage of such inversion of control and included an layer between semantics and view to take into account the possibility of multi-view consistency; - to optimize the consistency control mechanism between views and semantics, we propose an event-based approach that captures each discrete interaction of a designer with his/her respective design views. The information about each interaction is encapsulated inside an event object, which may be propagated to the design semantics - and thus to other possible views - according to the consistency policy which is being used. Furthermore, the use of event pools allows for a late synchronization between view and semantics in case of unavailability of a network connection between them; - the use of proxy objects raised significantly the abstraction of the integration of design automation resources, as either remote or local tools and services are accessed through method calls in a local object. The connection to remote tools and services using a look-up protocol also abstracted completely the network location of such resources, allowing for resource addition and removal during runtime; - the implemented CAD Framework is completely based on Java technology, so it relies on the Java Virtual Machine as the layer which grants the independence between the CAD Framework and the operating system. All such improvements contributed to a higher abstraction on the distribution of design automation resources and also introduced a new paradigm for the remote interaction between designers. The resulting CAD Framework is able to support fine-grained collaboration based on events, so every single design update performed by a designer can be propagated to the rest of the design team regardless of their location in the distributed environment. This can increase the group awareness and allow a richer transfer of experiences among them, improving significantly the collaboration potential when compared to previously proposed file-based or record-based approaches. Three different case studies were conducted to validate the proposed approach, each one focusing one a subset of the contributions of this thesis. The first one uses the proxy-based resource distribution architecture to implement a prototyping platform using reconfigurable hardware modules. The second one extends the foundations of the implemented object-oriented framework to support interface-based design. Such extensions - design representation primitives and tool blocks - are used to implement a design entry tool named IBlaDe, which allows the collaborative creation of functional and structural models of integrated systems. The third case study regards the possibility of integration of multimedia metadata to the design data model. Such possibility is explored in the frame of an online educational and training platform.

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:

A tecnologia de workflow vem apresentando um grande crescimento nos últimos anos. Os Workflow Management Systems (WfMS) ou Sistemas de Gerenciamento de Workflow oferecem uma abordagem sistemática para uniformizar, automatizar e gerenciar os processos de negócios. Esta tecnologia requer técnicas de engenharia de software que facilitem a construção desse tipo de sistema. Há muito vem se formando uma consciência em engenharia de software de que para a obtenção de produtos com alta qualidade e que sejam economicamente viáveis torna-se necessário um conjunto sistemático de processos, técnicas e ferramentas. A reutilização está entre as técnicas mais relevantes desse conjunto. Parte-se do princípio que, reutilizando partes bem especificadas, desenvolvidas e testadas, pode-se construir software em menor tempo e com maior confiabilidade. Muitas técnicas que favorecem a reutilização têm sido propostas ao longo dos últimos anos. Entre estas técnicas estão: engenharia de domínio, frameworks, padrões, arquitetura de software e desenvolvimento baseado em componentes. Porém, o que falta nesse contexto é uma maneira sistemática e previsível de realizar a reutilização. Assim, o enfoque de linha de produto de software surge como uma proposta sistemática de desenvolvimento de software, baseada em uma família de produtos que compartilham um conjunto gerenciado de características entre seus principais artefatos. Estes artefatos incluem uma arquitetura base e um conjunto de componentes comuns para preencher esta arquitetura. O projeto de uma arquitetura para uma família de produtos deve considerar as semelhanças e variabilidades entre os produtos desta família. Esta dissertação apresenta uma proposta de arquitetura de linha de produto para sistemas de gerenciamento de workflow. Esta arquitetura pode ser usada para facilitar o processo de produção de diferentes sistemas de gerenciamento de workflow que possuem características comuns, mas que também possuam aspectos diferentes de acordo com as necessidades da indústria. O desenvolvimento da arquitetura proposta tomou como base a arquitetura genérica e o modelo de referência da Workflow Management Coalition (WfMC) e o padrão de arquitetura Process Manager desenvolvido no contexto do projeto ExPSEE1. O processo de desenvolvimento da arquitetura seguiu o processo sugerido pelo Catalysis com algumas modificações para representar variabilidade. A arquitetura proposta foi descrita e simulada através da ADL (Architecture Description Language) Rapide. A principal contribuição deste trabalho é uma arquitetura de linha de produto para sistemas de gerenciamento de workflow. Pode-se destacar também contribuições para uma proposta de sistematização de um processo de desenvolvimento de arquitetura de linha de produto e também um melhor entendimento dos conceitos e abordagens relacionados à prática de linha de produto, uma vez que esta tecnologia é recente e vem sendo largamente aplicada nas empresas.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Braços robóticos articulados são cada vez mais utilizados hoje em dia e consistem de dispositivos mecânicos programáveis, equipados com sensores e atuadores sob o controle de um sistema computacional. Existem atualmente no mercado inúmeros fabricantes e modelos destes braços, cada um adequado a uma determinada utilização ou faixa de mercado. Para que se saiba operar devidamente este robô é necessário um período de aprendizagem. Essa necessidade pode ser suprida pelo emprego dos simuladores de braços robóticos.Desenvolver um simulador é uma atividade complexa, mas alguns elementos de sua estrutura e de seu comportamento são comuns a vários tipos de simuladores e podem idealmente ser reusados. Permitir reuso de código e de projeto é exatamente um dos principais fatores que motivaram a construção de um framework. Este trabalho descreve a definição e a construção do fwWorkCell , um framework que permita agilizar a construção destes simuladores. Tal agilidade será obtida através da implementação de um ambiente de edição e de classes genéricas para controle, visualização e programação dos robôs. A proposta deste framework inclui definição de classes genéricas e de controle, a construção de todo um ambiente de suporte à manipulação e visualização das células de trabalho e suas simulações e visa dar suporte à construção de uma grande variedade de simuladores. O framework proposto foi utilizado em uma aplicação real: através dele foi feita a migração de um simulador já existente.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

A modelagem conceitual de banco de dados geográficos (BDG) é um aspecto fundamental para o reuso, uma vez que a realidade geográfica é bastante complexa e, mais que isso, parte dela é utilizada recorrentemente na maioria dos projetos de BDG. A modelagem conceitual garante a independência da implementação do banco de dados e melhora a documentação do projeto, evitando que esta seja apenas um conjunto de documentos escritos no jargão da aplicação. Um modelo conceitual bem definido oferece uma representação canônica da realidade geográfica, possibilitando o reuso de subesquemas. Para a obtenção dos sub-esquemas a serem reutilizados, o processo de Descoberta de Conhecimento em Bancos de Dados (DCBD – KDD) pode ser aplicado. O resultado final do DCBD produz os chamados padrões de análise. No escopo deste trabalho os padrões de análise constituem os sub-esquemas reutilizáveis da modelagem conceitual de um banco de dados. O processo de DCBD possui várias etapas, desde a seleção e preparação de dados até a mineração e pós-processamento (análise dos resultados). Na preparação dos dados, um dos principais problemas a serem enfrentados é a possível heterogeneidade de dados. Neste trabalho, visto que os dados de entrada são os esquemas conceituais de BDG, e devido à inexistência de um padrão de modelagem de BDG largamente aceito, as heterogeneidades tendem a aumentar. A preparação dos dados deve integrar diferentes esquemas conceituais, baseados em diferentes modelos de dados e projetados por diferentes grupos, trabalhando autonomamente como uma comunidade distribuída. Para solucionar os conflitos entre esquemas conceituais foi desenvolvida uma metodologia, suportada por uma arquitetura de software, a qual divide a fase de préprocessamento em duas etapas, uma sintática e uma semântica. A fase sintática visa converter os esquemas em um formato canônico, a Geographic Markup Language (GML). Um número razoável de modelos de dados deve ser considerado, em conseqüência da inexistência de um modelo de dados largamente aceito como padrão para o projeto de BDG. Para cada um dos diferentes modelos de dados um conjunto de regras foi desenvolvido e um wrapper implementado. Para suportar a etapa semântica da integração uma ontologia é utilizada para integrar semanticamente os esquemas conceituais dos diferentes projetos. O algoritmo para consulta e atualização da base de conhecimento consiste em métodos matemáticos de medida de similaridade entre os conceitos. Uma vez os padrões de análise tendo sido identificados eles são armazenados em uma base de conhecimento que deve ser de fácil consulta e atualização. Novamente a ontologia pode ser utilizada como a base de conhecimento, armazenando os padrões de análise e possibilitando que projetistas a consultem durante a modelagem de suas aplicações. Os resultados da consulta ajudam a comparar o esquema conceitual em construção com soluções passadas, aceitas como corretas.

Relevância:

40.00% 40.00%

Publicador:

Resumo:

A crescente complexidade das aplicações, a contínua evolução tecnológica e o uso cada vez mais disseminado de redes de computadores têm impulsionado os estudos referentes ao desenvolvimento de sistemas distribuídos. Como estes sistemas não podem ser facilmente desenvolvidos com tecnologias de software tradicionais por causa dos limites destas em lidar com aspectos relacionados, por exemplo, à distribuição e interoperabilidade, a tecnologia baseada em agentes parece ser uma resposta promissora para facilitar o desenvolvimento desses sistemas, pois ela foi planejada para suportar estes aspectos, dentre outros. Portanto, é necessário também que a arquitetura dos ambientes de desenvolvimento de software (ADS) evolua para suportar novas metodologias de desenvolvimento que ofereçam o suporte necessário à construção de softwares complexos, podendo também estar integrada a outras tecnologias como a de agentes. Baseada nesse contexto, essa dissertação tem por objetivo apresentar a especificação de uma arquitetura de um ADS distribuído baseada em agentes (DiSEN – Distributed Software Engineering Environment). Esse ambiente deverá fornecer suporte ao desenvolvimento de software distribuído, podendo estar em locais geograficamente distintos e também os desenvolvedores envolvidos poderão estar trabalhando de forma cooperativa. Na arquitetura proposta podem ser identificadas as seguintes camadas: dinâmica, que será responsável pelo gerenciamento da (re)configuração do ambiente em tempo de execução; aplicação, que terá, entre os elementos constituintes, a MDSODI (Metodologia para Desenvolvimento de Software Distribuído), que leva em consideração algumas características identificadas em sistemas distribuídos, já nas fases iniciais do projeto e o repositório para armazenamento dos dados necessários ao ambiente; e, infra-estrutura, que proverá suporte às tarefas de nomeação, persistência e concorrência e incorporará o canal de comunicação. Para validar o ambiente será realizada uma simulação da comunicação que pode ser necessária entre as partes constituintes do DiSEN, por meio da elaboração de diagramas de use case e de seqüência, conforme a notação MDSODI. Assim, as principais contribuições desse trabalho são: (i) especificação da arquitetura de um ADS distribuído que poderá estar distribuído geograficamente; incorporará a MDSODI; proporcionará desenvolvimento distribuído; possuirá atividades executadas por agentes; (ii) os agentes identificados para o DiSEN deverão ser desenvolvidos obedecendo ao padrão FIPA (Foundation for Intelligent Physical Agents); (iii) a identificação de um elemento que irá oferecer apoio ao trabalho cooperativo, permitindo a integração de profissionais, agentes e artefatos.

Relevância:

40.00% 40.00%

Publicador:

Resumo:

Este trabalho foi realizado dentro da área de reconhecimento automático de voz (RAV). Atualmente, a maioria dos sistemas de RAV é baseada nos modelos ocultos de Markov (HMMs) [GOM 99] [GOM 99b], quer utilizando-os exclusivamente, quer utilizando-os em conjunto com outras técnicas e constituindo sistemas híbridos. A abordagem estatística dos HMMs tem mostrado ser uma das mais poderosas ferramentas disponíveis para a modelagem acústica e temporal do sinal de voz. A melhora da taxa de reconhecimento exige algoritmos mais complexos [RAV 96]. O aumento do tamanho do vocabulário ou do número de locutores exige um processamento computacional adicional. Certas aplicações, como a verificação de locutor ou o reconhecimento de diálogo podem exigir processamento em tempo real [DOD 85] [MAM 96]. Outras aplicações tais como brinquedos ou máquinas portáveis ainda podem agregar o requisito de portabilidade, e de baixo consumo, além de um sistema fisicamente compacto. Tais necessidades exigem uma solução em hardware. O presente trabalho propõe a implementação de um sistema de RAV utilizando hardware baseado em FPGAs (Field Programmable Gate Arrays) e otimizando os algoritmos que se utilizam no RAV. Foi feito um estudo dos sistemas de RAV e das técnicas que a maioria dos sistemas utiliza em cada etapa que os conforma. Deu-se especial ênfase aos Modelos Ocultos de Markov, seus algoritmos de cálculo de probabilidades, de treinamento e de decodificação de estados, e sua aplicação nos sistemas de RAV. Foi realizado um estudo comparativo dos sistemas em hardware, produzidos por outros centros de pesquisa, identificando algumas das suas características mais relevantes. Foi implementado um modelo de software, descrito neste trabalho, utilizado para validar os algoritmos de RAV e auxiliar na especificação em hardware. Um conjunto de funções digitais implementadas em FPGA, necessárias para o desenvolvimento de sistemas de RAV é descrito. Foram realizadas algumas modificações nos algoritmos de RAV para facilitar a implementação digital dos mesmos. A conexão, entre as funções digitais projetadas, para a implementação de um sistema de reconhecimento de palavras isoladas é aqui apresentado. A implementação em FPGA da etapa de pré-processamento, que inclui a pré-ênfase, janelamento e extração de características, e a implementação da etapa de reconhecimento são apresentadas finalmente neste trabalho.

Relevância:

40.00% 40.00%

Publicador:

Resumo:

A crescente complexidade dos sistemas tempo-real embarcados demanda novas metodologias e ferramentas para gerenciar os problemas de projeto, análise, integração e validação de sistemas complexos. Este trabalho aborda o tema co-projeto de sistemas tempo-real embarcados, propondo estratégias para a integração das fases iniciais de modelagem de um sistema tempo-real embarcado com as fases subseqüentes do projeto, como a implementação do software e do hardware. É proposto um framework orientado a objetos que permite a criação de modelos orientados a objetos de sistemas tempo-real embarcados, utilizando conceitos temporais similares aos propostos em UML-RT (ou mais especificamente no UML Profile for Schedulability, Performance and Time). É proposta uma estratégia de mapeamento dos requisitos temporais dos diagramas UMLRT para uma interface de programação (API) baseada na “Especificação Tempo-Real para Java” (Real-Time Specification for Java ou RTSJ), a qual pode ser executada tanto em software – em programas RTSJ executando em máquinas virtuais Java (JVM) tempo-real – ou em hardware – em processadores Java Tempo-Real. Para permitir o mapeamento para hardware são propostas extensões tempo-real ao processador Java FemtoJava, desenvolvido no âmbito de dissertações de mestrado e projetos de pesquisa no PPGC, criando-se um novo processador tempo-real denominado de RT-FemtoJava. Dentre as extensões propostas ao processador FemtoJava destaca-se a inclusão de um relógio de tempo-real e o suporte a instruções para alocação e manipulação de objetos. Os conceitos propostos foram validados no âmbito de estudos de caso, sendo os resultados obtidos descritos na presente dissertação.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

No projeto de arquiteturas computacionais, a partir da evolução do modelo cliente-servidor, surgiram os sistemas distribuídos com a finalidade de oferecer características tais como: disponibilidade, distribuição, compartilhamento de recursos e tolerância a falhas. Estas características, entretanto, não são obtidas de forma simples. As aplicações distribuídas e as aplicações centralizadas possuem requisitos funcionais distintos; aplicações distribuídas são mais difíceis quanto ao projeto e implementação. A complexidade de implementação é decorrente principalmente da dificuldade de tratamento e de gerência dos mecanismos de comunicação, exigindo equipe de programadores experientes. Assim, tem sido realizada muita pesquisa para obter mecanismos que facilitem a programação de aplicações distribuídas. Observa-se que, em aplicações distribuídas reais, mecanismos de tolerância a falhas constituem-se em uma necessidade. Neste contexto, a comunicação confiável constitui-se em um dos blocos básicos de construção. Paralelamente à evolução tanto dos sistemas distribuídos como da área de tolerância a falhas, foi possível observar também a evolução das linguagens de programação. O sucesso do paradigma de orientação a objetos deve-se, provavelmente, à habilidade em modelar o domínio da aplicação ao invés da arquitetura da máquina em questão (enfoque imperativo) ou mapear conceitos matemáticos (conforme o enfoque funcional). Pesquisadores demonstraram que a orientação a objetos apresenta-se como um modelo atraente ao desenvolvimento de aplicações distribuídas modulares e tolerantes a falhas. Diante do contexto exposto, duas constatações estimularam basicamente a definição desta dissertação: a necessidade latente de mecanismos que facilitem a programação de aplicações distribuídas tolerantes a falhas; e o fato de que a orientação a objetos tem-se mostrado um modelo promissor ao desenvolvimento deste tipo de aplicação. Desta forma, nesta dissertação definem-se classes para a comunicação do tipo unicast e multicast, nas modalidades de envio confiável e não-confiável. Além destes serviços de comunicação básicos, foram desenvolvidas classes que permitem referenciar os participantes da comunicação através de nomes. As classes estão organizadas na forma de um pacote, compondo um framework. Sua implementação foi desenvolvida usando Java. Embora não tivessem sido requisitos básicos, as opções de projeto visaram assegurar resultados aceitáveis de desempenho e possibilidade de reuso das classes. Foram implementados pequenos trechos de código utilizando e testando a funcionalidade de cada uma das classes de comunicação propostas.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

O surgimento de novas aplicações que utilizam o protocolo HTTP nas suas transações e a crescente popularidade da World Wide Web (WWW) provocaram pesquisas pelo aumento do desempenho de servidores Web. Para tal, uma das alternativas propostas neste trabalho é utilizar um conjunto de servidores Web distribuídos que espalham a carga de requisições entre vários computadores, atuando como um só associado a uma estratégia de replicação de conteúdo. Um dos problemas centrais a ser resolvido em servidores Web distribuídos é como manter a consistência das réplicas de conteúdo entre os equipamentos envolvidos. Esta dissertação apresenta conceitos fundamentais envolvendo o tema replicação de conteúdo em servidores Web distribuídos. São mostrados detalhes sobre arquitetura de servidores Web distribuídos, manutenção da consistência em ambientes de servidores Web distribuídos, uso de replicação e formas de replicação. Além disso, são citados alguns trabalhos correlatos ao propósito de manter réplicas consistentes em ambientes de servidores Web distribuídos. Este trabalho tem por objetivo propor um modelo de manutenção da consistência de conteúdo em servidores Web distribuídos com características de transparência e autonomia. O modelo, denominado One Replication Protocol for Internet Servers (ORPIS), adota uma estratégia de propagação otimista porque não existe sincronismo no envio das atualizações para as réplicas. Este trabalho apresenta os principais componentes tecnológicos empregados na Web, além dos problemas causados pela escalabilidade e distribuição inerentes a esse ambiente. São descritas as principais técnicas de aumento de desempenho de servidores Web que atualmente vêm sendo utilizadas. O modelo ORPIS é descrito, sendo apresentados seus pressupostos, elencados seus componentes e detalhados os seus algoritmos de funcionamento. Este trabalho dá uma visão geral sobre a implementação e os testes realizados em alguns módulos do protótipo do modelo, caracterizando o ambiente de desenvolvimento do protótipo e detalhes da implementação. São enumerados os atributos e métodos das classes do protótipo e definidas as estruturas de dados utilizadas. Além disso, apresentam-se os resultados obtidos da avaliação funcional dos módulos implementados no protótipo. Um ponto a ser salientado é a compatibilidade do modelo ORPIS aos servidores Web existentes, sem a necessidade de modificação em suas configurações. O modelo ORPIS é baseado na filosofia de código aberto. Durante o desenvolvimento do protótipo, o uso de software de código aberto proporcionou um rápido acesso às ferramentas necessárias (sistema operacional, linguagens e gerenciador de banco de dados), com possibilidade de alteração nos códigos fonte como uma alternativa de customização.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

Bancos de Dados Temporais (BDTs) surgiram para tentar suprir a necessidade de se obter um melhor aproveitamento das informações que circulam atualmente. Porém, ao mesmo tempo em que é benéfico o seu uso, uma vez que armazenam o histórico das informações, existe um problema neste tipo de banco de dados, que é o desempenho. Além do grande volume de dados armazenados, este problema se agrava ainda mais devido à complexidade nas operações que governam os BDTs, como por exemplo, inclusão, remoção, alteração e consulta. Portanto, focalizando o problema, existe a necessidade de melhorar o desempenho dos BDTs frente às operações de manipulação de dados. Técnicas de indexação apropriadas para dados temporais podem amenizar este problema de desempenho. Técnicas consagradas de indexação são largamente usadas, amparadas no seu alto grau de desempenho e portabilidade. São exemplos B-Tree, B+-Tree e R-Tree, entre outras. Estas técnicas não suportam indexar os complexos BDTs, mas são fundamentais para que sirvam de base para novas estruturas que suportem esses tipos de dados. As técnicas de indexação para dados temporais existentes não conseguem suprir a semântica temporal na sua totalidade. Existem ainda algumas deficiências do tipo: poucas técnicas que abrangem ao mesmo tempo tempo de validade e tempo de transação; não existe uma técnica que oferece informações do seu desempenho; a maioria não distingue ponto no tempo de intervalo de tempo; entre outras. Entretanto, possuem características relevantes em cada uma delas. Assim, um estudo das características mais importantes se tornou um fator importante para que possa ser desenvolvido um modelo capaz de auxiliar na criação de novas técnicas de indexação para dados temporais, a fim de contemplar melhor estes tipos de dados. O objetivo deste trabalho é, com base nas características das técnicas estudadas, desenvolver um framework conceitual capaz de auxiliar na criação de novas técnicas de indexação para dados temporais. Esta estrutura apresenta as características mais relevantes das técnicas existentes, agregando novas idéias e conceitos para contemplar os dados temporais. O framework conceitual desenvolvido agrega características de diferentes técnicas de indexação, possibilitando de variar a arquitetura de um índice para dados temporais, ajustando-os para um melhor desempenho em diferentes sistemas. Para validar o framework proposto é apresentada uma especificação de índices para o modelo de dados TF-ORM (Temporal Functionality in Objects With Roles Model).

Relevância:

30.00% 30.00%

Publicador:

Resumo:

A integração de aplicações heterogêneas é uma tarefa constante entre empresas do mundo moderno. A grande quantidade de fornecedores de software, aliada à extensa variedade de técnicas e linguagens computacionais utilizadas, fazem desta integração uma tarefa trabalhosa e cara para as organizações. As alternativas existentes para a integração de sistemas de diferentes fornecedores podem variar, desde acesso compartilhado a uma base de dados comum, uso de replicadores de dados entre bases de dados distintas, troca de mensagens entre aplicações, ou o uso de programas exportadores/importadores, gerando arquivos em um formato previamente protocolado entre os desenvolvedores dos softwares envolvidos. Este trabalho visa propor uma alternativa para a integração de sistemas heterogêneos, fazendo uso da tecnologia XML para representar os dados que são trocados entre os aplicativos. Para tanto, sugere um framework a ser utilizado no planejamento da arquitetura dos softwares. O objetivo principal da adoção de um framework é a utilização de uma metodologia previamente desenvolvida e certificada, economizando tempo de análise para a solução de um problema. O framework proposto subtrai dos desenvolvedores a necessidade de alteração do código fonte dos seus programas cada vez que a integração com um novo fornecedor de software se faz necessária, ou que há alteração no formato dos dados trocados entre os aplicativos. Este efeito é conseguido através da utilização de XSLT para a conversão de formatos de documentos XML trocados pelos softwares. Tal conversão é realizada por um processador XSLT externo aos programas envolvidos. Para simplificar o processo, foi desenvolvido o protótipo de uma ferramenta para a geração de templates XSLT. Templates são elementos da especificação XSLT capazes de realizar a transformação entre estruturas representadas em XML. O gerador de templates XSLT é uma ferramenta gráfica capaz de converter mapeamentos realizados entre estruturas XML em templates XSLT, podendo aplicar as transformações geradas a documentos XML, com a finalidade de teste ou transformação.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

Editores diagramáticos possuem aplicabilidade em diferentes áreas da computação, dentre elas ferramentas CASE, editores gráficos, CAD para circuitos eletrônicos, etc. Uma subclasse desse tipo de editores adiciona a funcionalidade de execução aos diagramas manipulados, permitindo ao usuário executar um diagrama através de técnicas de animação. Esta característica, por sua vez, acarreta na inserção de novos problemas para o projetista de software, sendo o principal deles o reuso independente das funcionalidades de edição e de execução de editores construídos. Com vistas a minimizar este problema este trabalho apresenta uma arquitetura que combina uma estrutura de componentes interconectáveis descrita por meio de BML com um mecanismo de interpretação de scripts como uma alternativa para construção de editores de diagramas com funcionalidade de execução.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

Este trabalho apresenta uma arquitetura para Ambientes de Desenvolvimento de Software (ADS). Esta arquitetura é baseada em produtos comerciais de prateleira (COTS), principalmente em um Sistema de Gerência de Workflow – SGW (Microsoft Exchange 2000 Server – E2K) - e tem como plataforma de funcionamento a Internet, integrando também algumas ferramentas que fazem parte do grande conjunto de aplicativos que é utilizado no processo de desenvolvimento de software. O desenvolvimento de um protótipo (WOSDIE – WOrkflow-based Software Development Integrated Environment) baseado na arquitetura apresentada é descrito em detalhes, mostrando as etapas de construção, funções implementadas e dispositivos necessários para a integração de um SGW, ferramentas de desenvolvimento, banco de dados (WSS – Web Storage System) e outros, para a construção de um ADS. O processo de software aplicado no WOSDIE foi extraído do RUP (Rational Unified Process – Processo Unificado Rational). Este processo foi modelado na ferramenta Workflow Designer, que permite a modelagem dos processos de workflow dentro do E2K. A ativação de ferramentas a partir de um navegador Web e o armazenamento dos artefatos produzidos em um projeto de software também são abordados. O E2K faz o monitoramento dos eventos que ocorrem dentro do ambiente WOSDIE, definindo, a partir das condições modeladas no Workflow Designer, quais atividades devem ser iniciadas após o término de alguma atividade anterior e quem é o responsável pela execução destas novas atividades (assinalamento de atividades). A arquitetura proposta e o protótipo WOSDIE são avaliados segundo alguns critérios retirados de vários trabalhos. Estas avaliações mostram em mais detalhes as características da arquitetura proposta e proporcionam uma descrição das vantagens e problemas associados ao WOSDIE.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

A tarefa de estimação de movimento, utilizada na compressão dedeo digital, é normalmente realizada em hardware por processador dedicado, uma vez que demanda expressiva capacidade computacional. Este trabalho propõe e desenvolve uma arquitetura de hardware para realizar o cálculo dos vetores de movimento no contexto de compressão dedeo digital. Essa arquitetura para estimação de movimento é composta pelos blocos: interface de entrada e saída (E/S), matriz de processamento com 64 elementos de processamento, unidade de comparação e unidade de controle. A arquitetura foi descrita em linguagem VHDL de maneira que o número de bits utilizados para representação da luminância dos pontos é configurável. A partir desta descrição, foi gerado um protótipo para dados representados em 4 bits utilizando um kit de desenvolvimento baseado no dispositivo FPGA XC2S150 da Xilinx. Para validação do algoritmo e da arquitetura implementada, além da simulação, foi desenvolvido um software para plataforma PC capaz de exercitar as funcionalidades do protótipo. O PC é utilizado como dispositivo controlador de E/S para esta validação, na qual uma implementação do algoritmo em software e outra em linguagem de descrição de hardware são comparadas. A máxima freqüência de trabalho do protótipo, estimada por simulação da arquitetura mapeada no FPGA XC2S150, é de 33 MHz. A esta freqüência o núcleo da arquitetura paralela de 64 elementos de processamento realiza cerca de 2,1 GOps (bilhões de operações inteiras por segundo). Esta arquitetura de hardware calcula os vetores de movimento para vídeo no formato 640x480 pontos à taxa de 107,32 quadros por segundo, ou um quadro a cada 9,3 ms. A arquitetura implementada para luminânica em 4 bits ocupa 16 pinos de E/S, 71,1% dos blocos lógicos do FPGA e 83,3% dos blocos de memória disponíveis no dispositivo XC2S150.