1 |
[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.
|
2 |
[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.
|
3 |
[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.
|
4 |
[en] SOFTWARE COMPONENTS WITH SUPPORT FOR DATA STREAMS / [pt] COMPONENTES DE SOFTWARE COM SUPORTE A FLUXO DE DADOSVICTOR SA FREIRE FUSCO 18 January 2013 (has links)
[pt] O desenvolvimento baseado em componentes de um tópico que tem
atrasado bastante atençco nos últimos anos. Esta técnica permite a construção
de sistemas de software complexos de forma rápida e estruturada. Diversos
modelos de componentes já foram propostos pela indústria e pela academia.
Dentro destes, aqueles que oferecem suporte da comunicação distribuída
geralmente interagem através de Chamadas Remotas de Procedimentos.
Dos modelos pesquisados, apenas o CORBA Component Model possui uma
especificação em andamento para o suporte da comunicação através de
fluxos de dados. Esse suporte se mostra de grande relevância em sistemas que
precisam lidar com dados de sensores e com transmissão de áudio e vídeo.
O objetivo principal deste trabalho de apresentar uma arquitetura que permita
a implementação de aplicações com suporte ao fluxo de dados no middleware Software Component System (SCS). Para tal, o modelo de componentes do
SCS foi estendido para oferecer portas de fluxos de dados. Como avaliação,
este trabalho apresenta alguns resultados experimentais de desempenho e
escalabilidade, assim como uma aplicação que exercita as necessidades do
executor de fluxos de algoritmos do CSBase, um framework utilizado no
desenvolvimento de sistemas para computação em grade. / [en] Component-based software development is a topic that has attracted
attention in recent years. This technique allows the construction of complex
software systems in a quick and structured way. Several component models
have been proposed by the industry and the academy. The majority of
these component models adopt Remote Procedure Calls as their basic
communication mechanism. The CORBA Component Model is the only
one from the surveyed models that has a work in progress to support
communication over data streams. This support proves to be of great
importance in systems that must deal with data from sensors and systems
that deal with audio and video transmission. The main goal of this work is
to propose an architecture that enables the middleware Software Component
System (SCS) to support applications that require data streaming. To this
end, the SCS component model was extended to support stream ports. As
evaluation, this work presents some experimental results of performance and
scalability, as well as an application that exercises the needs of the CSBase s
algorithm
ow executor, a framework used to build systems for grid computing.
|
5 |
[en] A STUDY ON ADAPTIVE MIDDLEWARE / [pt] UM ESTUDO SOBRE MIDDLEWARES ADAPTÁVEISLUIZ GUSTAVO COURI NOGARA 14 March 2007 (has links)
[pt] Middlewares têm sido utilizados para desenvolver
aplicações distribuídas em domínios muito diferentes.
Cada
um desses domínios possui pré-requisitos diversos
relacionados à comunicação entre as partes do ambiente
distribuído. Muitas vezes, os pré-requisitos de
diferentes
domínios são contraditórios, fazendo com que a
implementação de um middleware que os atenda em mais de
um
domínio de aplicação se torne muito complexa. Uma das
opções para resolver esse problema é criar o middleware
de
forma que ele possa ser adaptado de acordo com as
necessidades de cada aplicação. Neste trabalho,
estudamos
algumas das técnicas disponíveis para a construção de
middlewares adaptáveis, indo desde mudanças simples na
política de transmissão de dados entre os nós de um
sistema distribuído, até adaptações mais abrangentes na
implementação do sistema para permitir diferentes
contextos de execução. Como estudo de caso, propomos um
modelo de componentização para um middleware já
existente,
implementado em Lua, com a finalidade de capacitá-lo a
acomodar adaptações de sua implementação de uma forma
simples e estruturada. Também realizamos alguns
experimentos para avaliar a aplicabilidade e eficácia do
novo middleware desenvolvido. / [en] Middlewares have been used in order to develop distributed
applications
in a variety of domains. Each of these domains has
different requirements related to the communication among
parts of the distributed system.
Many times the requirements of different domains are
contradictory, turning
the implementation of a middleware are that fulfills them
in more than one the
application domain in into a very complex problem. One of
the options to
solve this issue is to create the middleware are in a way
that it can be adapted
accordingly to the needs of each application.
In this study we survey some of the available techniques
for the construction
of adaptive middleware, ranging from simple changes in the
transmission of
data between nodes in a distributed system to more
thorough adaptations
in a system in order to allow for diferent application
execution contexts.
As a case study we propose a component model for an
existing middleware,
implemented in Lua, with the goal of enabling the
middleware are to
accommodate adaptations in its implementation in a simple
and structured
manner. We also created experiments in order to evaluate
the applicability
and effectiveness of the middleware.
|
6 |
[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.
|
7 |
[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.
|
8 |
[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.
|
9 |
[en] A NUMERICAL METHOD FOR SOLVING FLOWS USING COVARIANT COMPONENTS IN NON-ORTHOGONAL COORDINATES / [pt] UM MÉTODO NUMÉRICO PARA SOLUÇÃO DE ESCOAMENTOS UTILIZANDO COMPONENTES CONTRAVARIANTES EM COORDENADAS NÃO ORTOGONAISLUIS FERNANDO GONCALVES PIRES 03 November 2011 (has links)
[pt] O trabalho desenvolveu uma metodologia de solução numérica de escoamentos em
geometrias complexas, numa formulação incompressível e bi-dimensional. As equações
de conservação são discretizas com o emprego da técnica de volumes finitos em
coordenadas não ortogonais. Esta técnica mapeia o espaço real num espaço transformado,
no qual as fronteiras do domínio de cálculo coincidem com as fronteiras do domínio físico.
Os componentes contravariantes da velocidade foram empregados como variáveis
dependentes nas equações de conservação de quantidade de movimento. Estas equações foram
obtidas em coordenadas não ortogonais pela manipulação algébrica das equações
discretizadas para os componentes cartesianos. Este procedimento, que emprega um sistema
de coordenadas auxiliar fixo localmente, evita o surgimento dos diversos
termos oriundos da curvutura e da não ortogonalidade da malha, que seriam obtidos caso
fosse empregada a análise tensorial para a derivação destas equações.
O ocoplamento pressão-velocidade é feito utilizando SIMPLEC. O
conjunto de equações algébricas resultante é resolvido por um
esquema de solução segregado, no qual é empregado um esquema de solução
linha-a-a linha(TDMA), com um processo de correção por blocos para acelerar
a convergência.
A metodologia desenvolvida foi utilizada para solução de diversos
problemas visando analisar o seu desempenho. Foram estudados
os seguintes casos-escoamento laminar entre dois cilindros, convecção natural entre dois cilidros
excêntricos, escoamento induzido numa cavidade trapezoidal pelo
movimento de suas bases, escoamento laminar num canal, escoamento axi-simétrico
num duto com estrangulamento.Tendo em vista os bons resultados obtidos
para testes, pode-se concluir que as opções realizadas para a confeção do esquema
desenvolvido foram corretas, pois geraram um algoritimo efeciente
e versátil. / [en] A solution method for bi-dimensional incompressibible fluid flow
problems in complex geometrics is developed in this work. The method
solves the conservation equations in nonorthogonal coordinate system
using the finite volumes technique.
The contravariant velocities are kept as dependent variables in the
momentum equations. These equations are obtained by an algebric
manipulation of the discretization equations written in locally fixed
coordinate system. This producedure avoids the treatment of the extra terms
if the discretization equations for the curvilinear velocities are obtained
in the conventional manner. The coupling of pressure and velocities are performed
by the SIMPLEC algorithm. The set of algebric equations are solved
using an iterative method in conjunction with coefficient update
for linerization. In the computer implementation of the proposed scheme
a line-by-line algorithm (TDMA) has been employed with a block
corretion procedure to enhance the convergence.
The method is tested by solving a variety of problems. The problems
include-flow between two concentric rotating cylinders, natural convection
in an eccentric annuli, driven flow in a trapezoidal cavity
with moving lids, laminar flow in a channel, exismetric flow in
duct with reduced cross section and laminar and turbulent flow
through a tube with an axisimetric constriction. The objetive of these tests
is to establish the validity of the proposed scheme and demonstrate
its applicability to a wide variety of problems.
|
10 |
[en] USING ANNOTATIONS IN OBJECT ORIENTED LANGUAGES TO SUPPORT COMPONENT ORIENTED PROGRAMMING / [pt] UTILIZANDO ANOTAÇÕES EM LINGUAGENS ORIENTADAS A OBJETOS PARA SUPORTE À PROGRAMAÇÃO ORIENTADA A COMPONENTES14 March 2011 (has links)
[pt] Em sistemas distribuídos baseados em componentes de software, o uso de linguagens de programação orientadas a objeto é bastante comum para definir, através de frameworks, interfaces de programação para construção e uso de componentes. No entanto, o que se percebe na maioria dos modelos de programação que seguem essa abordagem, é a utilização de construções das próprias linguagens orientadas a objeto, como classes e interfaces, para definir uma interface de programação que segue um paradigma orientado a componentes. Como consequência, o código fonte mistura aspectos da funcionalidade do componente com os mecanismos de implementação específicos do modelo de programação, o que impede a reutilização deste componente em outros frameworks, além de incluir uma complexidade extra no código. Recentemente, observamos uma tendência à adição de metadados às implementações dos componentes, utilizando marcações específicas no código fonte. Estes metadados provêem as informações necessárias para que alguma ferramenta, seja baseada em geração de código ou em mecanismos de reflexão computacional da própria linguagem de programação, realize a integração da implementação do componente com a infra-estrutura de suporte do modelo de componentes. Essa técnica é denominada, por alguns autores, de Programação Orientada a Atributos. Linguagens como Java e C# já oferecem suporte nativo a esta técnica através das Anotações. O objetivo desta dissertação é investigar a adoção da técnica de programação orientada a atributos juntamente com uma linguagem orientada a objetos para construção de aplicações baseadas em componentes. Como parte do estudo, foi desenvolvido um novo mecanismo de programação baseado em atributos para a versão Java do middleware SCS. / [en] In component-based distributed systems, the use of object-oriented programming
languages is very common to define, through frameworks, programming
interfaces for building and using components. However, most programming
models that follow this approach, use the own object-oriented
language concepts, such as classes and interfaces, to define a programming
interface that follows a component-oriented paradigm. As a consequence, the
source code mixes component functionality aspects with the programming
model specific implementation mechanisms, what prevents the reuse of this
component in other frameworks, and moreover, includes an extra complexity
in the source code. Recently, a tendency to the addition of meta-data
to the component implementation has been observed, by the use of specific
markings on the source code. These meta-data provide the necessary
information for tools, based on code generation or based on reflection mechanisms,
to perform the integration of the component implementation with
the component model’s infrastructure support. Some authors call this technique
as Attribute-Oriented Programming. Languages as Java and C#
already provide native support to this technique through Annotations. The
goal of this dissertation is investigate the adoption of the attribute-oriented
programming technique with object-oriented languages to build components
based applications. As part of the research, we developed a new programming
mechanism based on attributes to the Java version of the middleware
SCS.
|
Page generated in 0.0274 seconds