1 |
[en] DESIGN AND IMPLEMENTATION OF COLLECTIVE INTERFACES IN A COMPONENT-ORIENTED MIDDLEWARE / [pt] PROJETO E IMPLEMENTAÇÃO DE INTERFACES COLETIVAS EM UM MIDDLEWARE ORIENTADO A COMPONENTES DE SOFTWAREPAULO DA SILVA SILVEIRA 11 October 2011 (has links)
[pt] Tradicionalmente, o processo de desenvolvimento de sistemas paralelos enfatiza
o desempenho em detrimento de melhores abstrações de programação,
o que acarreta problemas como excessiva complexidade de código e redução da manutenibilidade do software. Novas técnicas tem se mostrado interessantes
na construção de software paralelo, tais como as tecnologias de
componentes de software. Este trabalho realizou um estudo do mecanismo
de comunicação paralela entre componentes conhecido como Interfaces Coletivas.
Como parte desse estudo, foi realizada uma implementação desse
mecanismo no middleware de componentes SCS, onde foram projetados e
implementados dois conectores para sincronizaçãoe comunicação paralela.
Essa implementação viabilizou uma análise dos requisitos para a integração
das Interfaces Coletivas em um middleware orientado a componentes e possibilitou
a identificação dos desafios de implementar esse mecanismo em
uma linguagem como C++, amplamente usada em aplicações científicas. / [en] Traditionally, the development process of parallel systems emphasizes performance
at the expense of better programming abstractions, which causes
problems such as excessive code complexity and reduced software maintainability.
New techniques have shown expressive results in building parallel
software, such as software components technologies. This work conducted
a study of the mechanism of parallel communication between components
known as Collective Interfaces. As part of this study, we performed an implementation
of this mechanism in the SCS middleware, where two connectors
were designed and implemented for parallel synchronization and communnication.
This implementation allowed us to analyze the requirements for the
integration of Collective Interfaces in a component oriented middleware and
to identify the challenges of implementing this mechanism in a language as
C++, widely used in scientific applications.
|
2 |
[en] A MECHANISM OF COMPONENT SELECTION WITH THE NOTION OF RECONFIGURATION CONTRACTS / [pt] UM MECANISMO DE SELEÇÃO DE COMPONENTES PARA O MIDDLEWARE KALUANA USANDO A NOÇÃO DE CONTRATOS DE RECONFIGURAÇÃOALLAN ALVES VALERIANO 13 October 2011 (has links)
[pt] A computação móvel cria a necessidade de que as aplicações sejam
adaptáveis de acordo com o contexto do usuário. Demandas específicas do
usuário, assim como alterações no contexto computacional requerem que
aplicações móveis clientes devam ser capazes de se adaptar dinamicamente para
se adequar ao novo cenário de execução. Estas adaptações precisam ser
apropriadas e devem manter a qualidade de serviço evitando falhas ou degradação
do desempenho da aplicação. Este trabalho propõe uma extensão do middleware
de componentes Kaluana, que provê um mecanismo de seleção de componentes
para aplicações adaptáveis a partir de contratos de reconfiguração. Esta seleção é
feita com a noção de equivalência entre suas as interfaces públicas e considera as
restrições de execução dos componentes candidatos a serem usados na adaptação
de acordo com o contexto computacional do dispositivo para a avaliação dos
componentes candidatos a instanciação. Esta seleção visa manter a
compatibilidade dos novos componentes com os componentes já implantados bem
como com o contexto de execução, ou seja, o estado corrente dos recursos no
dispositivo. Com a noção de equivalência entre as interfaces de especificação de
componentes, a aplicação tem a possibilidade de selecionar componentes através
da interface do serviço requisitado sem a necessidade de conhecer seu nome ou
alguma característica específica, evitando assim que uma amarração seja criada
com uma determinada implementação. / [en] Mobile computing creates the need for applications to be adaptable
according to the user s context. Specific user demands as well as changes in the
computational context the mobile applications require clients to be able to adapt
dynamically to suit the new scenario of execution. These adjustments should be
appropriate and should maintain the quality of service avoiding failures or
preventing degradation of application performance. This thesis proposes an
extension of Kaluana middleware which provides a mechanism for selection of
components for adaptive applications based on the notion of reconfigurations
contracts. This selection is done also based on the notion of equivalence between
their public interfaces and should consider the execution restrictions of the
candidate components to be used in the adaptation in accord to the device s
execution context to be used to evaluate the candidate components to the
instantiation. This selection aims to maintain the compatibility of new
components with the components already used as well as the execution context,
i.e. the current status of the device s resources. Due to the notion of equivalence
between the interface specifications of components, the application should be able
to request a component through the interface of the requested service, avoiding the
need to know the component s name or any other specific feature that creates a tie
with the given implementation.
|
3 |
[en] A SOFTWARE COMPONENT LIBRARY FOR RADAR SIMULATORS / [pt] UMA BIBLIOTECA DE COMPONENTES DE SOFTWARE PARA SIMULADORES DE RADARALEKSANDER MEDELLA CAMPOS DA SILVA 06 March 2012 (has links)
[pt] Os sistemas radares são amplamente utilizados em aplicações civis e militares,
são sistemas complexos que empregam alta tecnologia. Muitos deles
são constituídos por um conjunto de elementos que necessitam de um
mínimo de coordenação entre as suas funcionalidades. A construção de um
protótipo para validar o projeto de um radar demanda recursos financeiros
e tempo. Por outro lado, existem muitas características em comum entre
os sistemas de diferentes radares. Esta dissertação descreve uma biblioteca
de um simulador capaz de representar vários sistemas de radar e que foi
projetado de acordo com os princípios básicos sobre radar. O simulador foi
desenvolvido baseado em um sistema de componentes
flexíveis onde cinco
diferentes tipos de radar são descritos e simulados utilizando a biblioteca
apresentada. Porém cenários reais são utilizados para comparar e validar
as simulacões. / [en] Nowadays Radar systems are becoming complex systems. Many radars are
constituted by an array of elements, where a minimum of coordination
among the elements functionality is need. The task to build a prototype in
order to validate a radar design is an expensive one. On the other hand, there
are many common features shared among different radar architectures. This
dissertation describes the architecture of a simulator that is able to represent
most of the radar systems designed according the basic principles of radars.
The simulator is designed following a
exible component based architecture
and five quite different kind of radars are described and simulated using
the presented architecture. Real scenarios are taken into account in the
validation of the simulations.
|
4 |
[en] A TOOL FOR REBUILDING THE SEQUENCE OF INTERACTIONS BETWEEN COMPONENTS OF A DISTRIBUTED SYSTEM / [pt] UMA FERRAMENTA PARA RECONSTRUÇÃO DA SEQUÊNCIA DE INTERAÇÕES ENTRE COMPONENTES DE UM SISTEMA DISTRIBUÍDOPAULO ROBERTO FRANCA DE SOUZA 11 October 2011 (has links)
[pt] Sistemas distribuídos frequentemente apresentam um comportamento
em tempo de execução diferente do esperado pelo programador. A análise
estática, somente, não suficiente para a compreensão do comportamento e
para o diagnóstico de problemas nesses sistemas, em razão da sua natureza
nao determinística, reflexo de características inerentes como concorrência,
latência na comunicação e falha parcial. Sendo assim, torna-se necessário
um melhor entendimento das interações entre os diferentes componentes de
software que formam o sistema, para que o desenvolvedor possa ter uma melhor
visão do comportamento do sistema durante sua execução. Neste trabalho,
apresentamos uma ferramenta que faz a reconstrução das interações entre os
componentes de uma aplicação distribuída, oferecendo uma visão das linhas
de execução distribuídas e permitindo o acompanhamento das sequências de
chamadas remotas e a análise das relações de causalidade. Essa ferramenta
também faz a persistência do histórico dessas interações ao longo do tempo,
correlacionando-as a arquitetura do sistema e aos dados de desempenho. Assim,
a ferramenta proposta auxilia o desenvolvedor a melhor compreender cenários
que envolvem comportamentos indevido do sistema e a restringir o escopo da
análise do erro, facilitando a busca de uma solução. / [en] Distributed systems often present a runtime behavior different than what
is expected by the programmer. Static analysis is not enough to understand
the runtime behavior and to diagnoses errors. This difficulty is caused by
the non-deterministic nature of distributed systems, because of their inherent
characteristics, such as concurrency, communication latency and partial failure.
Therefore, it’s necessary a better view of the interactions between the system’s
software components in order to understand its runtime behavior. In this work
we present a tool that rebuilds the interactions among distributed components,
presents a view of distributed threads and remote call sequences, and allows
the analysis of causality relationships. Our tool also stores the interactions
over time and correlates them to the system architecture and to performance
data. The proposed tool helps the developer to better understand scenarios
involving an unexpected behavior of the system and to restrict the scope of
error analysis, making easier the search for a solution.
|
5 |
[en] MONITORING THE EXECUTION ENVIRONMENT OF DISTRIBUTED SOFTWARE COMPONENTS / [pt] MONITORANDO O AMBIENTE DE EXECUÇÃO DE COMPONENTES DE SOFTWARE DISTRIBUIDOSEDUARDO FONSECA DE ANDREA 06 October 2009 (has links)
[pt] Sistemas de componentes têm como característica possibilitar a construção de aplicações através da composição de artefatos de software disponíveis. Interações podem ocorrer entre diversos componentes que podem estar distribuídos em diversas máquinas. À medida que aplicações distribuídas aumentam de tamanho, as interações existentes entre os diversos nós que a compõem vão se tornando mais complexas. Assim, torna-se importante para essas aplicações a existência de uma forma de monitorar as interações entre os componentes, com o intuito de identificar falhas e gargalos de processamento e comunicação no sistema. Este trabalho apresenta uma arquitetura capaz de oferecer mecanismos extensíveis para coleta de informações do ambiente de execução desses sistemas, e das interações realizadas entre os seus componentes. São implementadas formas de publicação dessas informações obtidas e testes comparativos para quantificar como a arquitetura desenvolvida onera o desempenho da aplicação. / [en] Component-based systems are characterized by the construction of applications through the composition of available software artifacts. Interactions may occur between different components that can be distributed through several machines. As distributed applications increase in size, the interactions between the various nodes that comprise them become more complex. Therefore it is important for distributed component systems to monitor the interactions between components in order to identify failures and bottlenecks in processing and communication. This dissertation presents an architecture capable of offering extensible mechanisms for monitoring the execution environment of distributed components, and the interactions between their components. It also presents a flexible mechanism for publication of the collected information, and some comparative test to measure the performance penalty imposed by the infrastructure to the application.
|
6 |
[en] COMPOSITE COMPONENT SUPPORT FOR THE SCS MIDDLEWARE / [pt] SUPORTE A COMPONENTES COMPOSTOS PARA O MIDDLEWARE SCSADRIANO MEDEIROS DOS SANTOS 30 November 2012 (has links)
[pt] Diversos modelos de componentes de software apresentam o conceito
de componentes compostos, como é o caso do Fractal, OpenCOM, Koala,
Kobra e SaveCCM. Um componente composto encapsula outros componentes
e é responsável por oferecer mecanismos de configuração e introspecção estrutural, bem como externalizar serviços e dependências internas. A ideia
de componentes compostos é reconhecida como uma boa técnica para abstrair
estruturas complexas e maximizar o reuso. Entretanto, não existe um
estudo mais aprofundado sobre tal mecanismo que aborde questões sobre a
configuração inicial dos subcomponentes, o mapeamento de serviços e depend
ências de subcomponentes através de interfaces do componente composto,
formas de navegação compartilhamento de subcomponentes, ciclo de
vida e formas de introspecção estrutural. Neste trabalho foi realizado um
levantamento sobre como os modelos Fractal e OpenCOM tratam o conceito
de componentes compostos e é proposto um modelo que oferece este
suporte. Como estudo experimental foi implementada uma nova versão do
SCS com suporte a componentes compostos, o SCS-Composite. Também
foi feita uma avaliação da expressividade do SCS-Composite através da
adaptação de uma aplicação pré-existente baseada no SCS. / [en] Several software component models support composite components,
such as Fractal, OpenCOM, Koala, Kobra and SaveCCM. A composite
component encapsulates components and provides introspection and
configuration mechanisms. Composite components are recognized as a good
practice because abstract complex structures and increase reuse. However,
there is not a comprehensive study about composite component mechanisms
addressing issues like initial composite configuration, mapping of
subcomponents services and dependencies through composite component’s
interfaces, introspection, component sharing, and composites life cycle.
In this work we perform a study about how the Fractal and OpenCOM
apply the composite component concept and we propose a new model
for composite components. As an experimental study we implemented a
new version of the SCS component system with support for composite
components, the SCS-Composite. We also present an evaluation of
SCS-Composite through the adaptation of a SCS based application.
|
7 |
[en] A STUDY ABOUT CONTRACTS IN SOFTWARE COMPONENT SYSTEMS / [pt] UM ESTUDO SOBRE CONTRATOS EM SISTEMAS DE COMPONENTES DE SOFTWARELUIZ MARQUES AFONSO 02 March 2009 (has links)
[pt] A programação por contratos é uma das técnicas voltadas para a melhoria da qualidade de software, sendo baseada no aumento do
formalismo da especificação das interfaces. No contexto de componentes de software distribuídos, o uso de contratos envolve alguns desafios que o diferenciam do seu uso mais tradicional. O objetivo deste trabalho é a avaliaação do uso de contratos no desenvolvimento de sistemas distribuídos baseados em componentes de software, identificando as abordagens existentes e
analisando as vantagens e desvantagens do seu uso. São também avaliadas características como robustez, desempenho, flexibilidade, facilidade de uso e limitações. Como estudo de caso, foi desenvolvido um subsistema de suporte a contratos
sobre um middleware CORBA implementado em Lua, servindo de base para experimentos realizados durante a pesquisa. / [en] Contract-based programming is one of the techniques used to
improve the
quality of software by enhancing the formalism of interface
specifications.
In the context of distributed software components, the use
of contracts
presents new challenges that make it di*erent from its
traditional use.
This work intends to evaluate the use of contracts in the
development of
component-based distributed systems, identifying the
current approaches
and analyzing its advantages and disadvantages. It also
covers topics like
robustness, performance, flexibility, ease of use and
limitations. As a case
study, a contract subsystem was developed over a CORBA
middleware using
Lua, serving as the basis for experiments in our study.
|
8 |
[en] ADDING SYSTEM INTRASTRUCTURE FRAMEWORKS IN AN COMPONENT BASED ARCHITECTURE: A CASE STUDY WITHIN THE AULANET ENVIRONMENT / [pt] AGREGANDO FRAMEWORKS DE INFRA-ESTRUTURA EM UMA ARQUITETURA BASEADA EM COMPONENTES: UM ESTUDO DE CASO NO AMBIENTE AULANETCELSO GOMES BARRETO JUNIOR 05 July 2006 (has links)
[pt] Groupware é difícil de construir e de manter, pois envolve
aspectos
multidisciplinares. Além das dificuldades associadas ao
desenvolvimento de
aplicações colaborativas, usualmente o desenvolvedor de
groupware deve se
preocupar com outros aspectos de infra-estrutura. Nesta
dissertação é proposta
uma arquitetura multicamadas baseada em componentes para
groupware,
utilizando frameworks de infra-estrutura. Na camada de
negócio são utilizados os
frameworks Hibernate, responsável pela persistência dos
dados da aplicação, e o
framework Spring, que dentre outras coisas é responsável
pelo controle de
transações e pela exposição de serviços remotamente. Na
camada de apresentação
o framework JaveServer Faces provê meios para criar e
reusar componentes de
interface. Nesta dissertação também é apresentada uma forma
de comparar
frameworks de infra-estrutura, levando em consideração
tanto aspectos técnicos,
que definem se o framework atende aos requisitos da
aplicação, quanto nãotécnicos,
relacionados a aspectos como documentação disponível e
aceitação no
mercado. A arquitetura definida nesta dissertação é
aplicada no AulaNet,
groupware voltado para a aprendizagem desenvolvido no
Laboratório de
Engenharia de Software da PUC-Rio. / [en] Groupware is difficult to develop and maintain because it
involves
multidisciplinary aspects in its construction. Besides the
difficulties related to the
development of collaborative applications, usually the
developer must handle with
other infrastructure aspects. In this dissertation, it is
proposed a multilayer
component based architecture with system infrastructure
frameworks to deal with
them. In the business layer, the Hibernate framework is
responsible for the
persistence of application data, and the Spring framework
is responsible for,
amongst others, transactions control and remote exposition
of services. In the
presentation layer the JaveServer Faces framework provides
ways to create and to
reuse user-interface components. This dissertation also
presents a way to compare
system infrastructure frameworks, considering both
technical aspects, related to
the application requirements fulfillment, and non-
technical, related to aspects such
as documentation availability and market acceptance. The
architecture defined in
this dissertation is applied to the AulaNet, which is a
groupware for learning
developed in the Software Engineering Laboratory of PUC-Rio.
|
9 |
[en] A STUDY OF DYNAMIC UPDATE FOR SOFTWARE COMPONENTS / [pt] UM ESTUDO SOBRE ATUALIZAÇÃO DINÂMICA DE COMPONENTES DE SOFTWAREEDUARDO CASTRO MOTA CAMARA 07 October 2014 (has links)
[pt] O desenvolvimento baseado em sistemas de componentes de software consiste em compor sistemas a partir de unidades de sotfware prontas e reutilizáveis. Muitos sistemas de componentes software em produção, precisam ficar disponíveis durante 24 horas por dia nos 7 dias da semana. Atualizações dinâmicas permitem que os sistemas sejam atualizados sem interromperem a execução dos seus serviços, aplicando a atualização em tempo de execução. Muitas técnicas de atualização dinâmica, na literatura, utilizam aplicações feitas especificamente para cobrir os pontos implementados e poucas utilizam um histórico de necessidades de um sistema real. Este trabalho estuda os principais casos de atualizações que ocorrem em um sistema de componentes de uso extenso, o Openbus, que consiste em uma infraestrutura de integração responsável pela comunicação de diversas aplicações de aquisição, processamento e interpretação de dados. Além deste estudo, implementamos uma solução de atualização dinâmica para acomodar as necessidades deste sistema. Depois, utilizando a solução implementada, apresentamos um teste de sobrecarga e algumas aplicações de atualizações do Openbus. / [en] The component-based development of software systems consists on composing systems from ready and reusable sotfware units. Many software componente systems on production, need to be available 24 hours a day 7 days a week. Dynamic updates allow systems to be upgraded without interrupting the execution of its services, applying the update at runtime. Many dynamics software update techniques in the literature use applications specically implemented to cover the presented points and only a few use a historical need
of a real system. This work studies the main cases of updates that occur in a system of components with extensive use, the Openbus, which consists of an integration infrastructure responsible for communication of various applications for acquisition, processing and interpretation of data. In addition to this study, we implement a solution of dynamic software update to accommodate the needs of this system. After, using the implemented solution, we present an overhead test and applications of updates on Openbus.
|
10 |
[en] DEVELOPING SERVICE-ORIENTED APPLICATIONS ON THE SEMANTIC WEB / [pt] DESENVOLVIMENTO DE APLICAÇÕES BASEADAS EM SERVIÇOS NA WEB SEMÂNTICAFRANCISCO EDUARDO DOS R FERREIRA 11 December 2003 (has links)
[pt] Este trabalho apresenta uma plataforma para aplicações
baseadas em serviços. Esta plataforma foi concebida para
dar suporte ao compartilhamento de informações serviços
usando diferentes dispositivos. Através do uso de padrões
abertos e de uma abordagem totalmente distribuída,
Everyware permite que os usuários finais possam
disponibilizar serviços sem necessidade de configuração ou
administração. Estes serviços podem ser marcados
semanticamente e integrados à Web semântica, o que permite
que sejam processados automaticamente por máquinas. A
plataforma ainda oferece uma arquitetura padrão para o
desenvolvimento de aplicações e uma API para o
desenvolvimento de mecanismos de coordenação de serviços
que integra os diversos aspectos presentes em aplicações
baseadas em serviços. / [en] This work addresses issues on the development of service-
oriented web applications on the semantic web. It presents
a platform conceived to support information sharing among
different services accessed by different devices and
hardware infraestructure. Using open standards and a
totally distributed approach, everyware allows users to
publish their services without need to configuration and
administration. Services can also be semantically tagged
and integrated to the Semantic Web, so they can be easily
preocessed by machines. Everyware platform offers a
standard architecture to application development and an API
to the development of coordination mechanisms. It
integrates most concerns that are present in service-
oriented applications.
|
Page generated in 0.0307 seconds