11 |
[en] AN ARCHITECTURE FOR STRUCTURED DATA ACCESS SERVICES IN SCIENTIFIC APPLICATIONS / [pt] UMA ARQUITETURA DE SERVIÇOS DE ACESSO A DADOS ESTRUTURADOS EM APLICAÇÕES CIENTÍFICASRODRIGO CARNEIRO HENRIQUE 22 October 2009 (has links)
[pt] Aplicações científicas trabalham, tipicamente, com grandes volumes de dados que possuem uma representação complexa e própria da aplicação que os utiliza. Essas características representam um grande desafio para o compartilhamento de dados e serviços entre aplicações científicas. Este trabalho tem como objetivo principal definir uma arquitetura de serviços de software que permita um acesso flexível e eficiente a grandes volumes de dados disponibilizados por aplicações científicas. São apresentados estudos de caso para ilustrar a flexibilidade promovida pela arquitetura através de
experimentos com dados cuja representação é fortemente baseada em dados
reais utilizados por aplicações científicas desenvolvidas pelo Tecgraf/PUCRio.
Há, ainda, uma avaliação de diferentes técnicas de codificação de
dados realizada através de experimentos criados para medir o desempenho
alcançado na implementação da arquitetura. / [en] Scientific applications usually handle large amount of data that have a
proprietary and complex representation. This characteristics represent a
great challenge for sharing data between scientific applications. The main
goal of this work is to provide an architecture of software services that
allows a flexible and efficient access to large amount of data served by such
applications. Case estudies are presented to show the flexibility that we
can achieve with this architecture. These experiments are strongly based
in actual data used in scientific applications developed by Tecgraf/PUCRio.
We also present an evaluation of different techniques of data encoding
based on experiments conducted to measure the performance achieved by
an implementation of the proposed architecture.
|
12 |
[en] STATISTICAL DETECTION OF PERFORMANCE ANOMALIES IN MIDDLEWARE-BASED SYSTEMS / [pt] DETECÇÃO ESTATÍSTICA DE ANOMALIAS DE DESEMPENHO EM SISTEMAS BASEADOS EM MIDDLEWARESAND LUZ CORRÊA 13 September 2011 (has links)
[pt] Tecnologias de middleware têm sido amplamente adotadas pela indústria de software para reduzir o custo do desenvolvimento de sistemas computacionais. No entanto, é difícil estimar o desempenho de aplicações baseadas em middleware devido a fatores como a especificidade de implementação das plataformas de middleware e a multiplicidade de serviços e configurações provida para diferentes cenários de implantação. O gerenciamento do desempenho de aplicações baseadas em middeware pode ser uma tarefa não trivial. Computação autonômica é um novo paradigma para construir sistemas autogerenciáveis, que procuram operar com o mínimo de intervenção humana. Este trabalho investiga o uso de abordagens estatísticas para construir mecanismos autonômicos de controle do desempenho de aplicações baseadas em middleware. Particularmente, investigamos o tema sob três perspectivas. A primeira é pertinente à previsão de problemas de desempenho. Propomos o uso de técnicas de classificação para derivar modelos de desempenho que auxiliem o gerenciamento autonômico das aplicações. Nesse sentido, diferentes classes de modelos em aprendizado estatístico são avaliadas, tanto em cenários de aprendizado offline quanto online. A segunda perspectiva refere-se à redução da emissão de alarmes falsos, visando a construção de mecanismos robustos a falhas transientes dos classificadores. Este trabalho propõe um algoritmo que aumenta o poder de predição das técnicas de aprendizado estatístico combinando-as com testes estatísticos para a detecção de tendência. Por fim, a terceira perspectiva é pertinente ao diagnóstico das causas de um problema de desempenho. Para esse contexto, também propomos o uso de testes estatísticos. Os resultados apresentados nesta tese demonstram que abordagens estatísticas podem contribuir para a construção de ferramentas eficazes e eficientes para a caracterização do desempenho de aplicações baseadas em middleware. Portanto, essas abordagens podem contribuir de forma decisiva para diferentes perspectivas do problema. / [en] Middleware technologies have been widely adopted by the software industry to reduce the cost of developing computer systems. Nonetheless, predicting the performance of middleware-based applications is difficult due to specific implementation details of a middleware platform and a multitude
of settings and services provided by middleware for different deployment scenarios. Thus, the performance management of middleware-based applications can be a non-trivial task. Autonomic computing is a new paradigm for building self-managed systems, i.e., systems that seek to operate with minimal human intervention. This work investigates the use of statistical approaches to building autonomic management solutions to control the performance of middleware-based applications. Particularly, we investigate this issue from three perspectives. The rest is related to the prediction of performance problems. We propose the use of classiffcation techniques to derive performance models to assist the autonomic management of distributed applications. In this sense, different classes of models in statistical learning are assessed in both online and online learning scenarios. The second perspective refers to the reduction of false alarms, seeking the development of reliable mechanisms that are resilient to transient failures of the classifiers. This work proposes an algorithm to augment the predictive power of statistical learning techniques by combining them with statistical tests for trend detection. Finally, the third perspective is related to diagnosing the root causes of a performance problem. For this context, we also propose the use of statistical tests. The results presented in this thesis show that statistical approaches can contribute to the development of tools that
are both effective, as well as effcient in characterizing the performance of middleware-based applications. Therefore, these approaches can contribute decisively to different perspectives of the problem.
|
13 |
[en] GINGA-NCL AS A WEB BROWSER PLUGIN / [pt] GINGA-NCL COMO PLUGIN PARA NAVEGADORES WEBRAFAEL SAVIGNON MARINHO 19 April 2011 (has links)
[pt] Nos últimos anos, os usuários da Web (World Wide Web) apresentam
uma mudança significativa em seu comportamento, tornando-se, além de
consumidores, produtores de conteúdo multimídia. Por outro lado, a produção
de conteúdo para a TV Digital brasileira, sobre tudo as aplicações interativas
escritas na linguagem declarativa NCL (Nested Context Language), ainda é
feita por profissionais alocados em emissoras de TV e em produtoras de
conteúdo. Considerando o novo perfil dos usuários da grande rede e o fato de
que a NCL é uma linguagem hipermídia cujo emprego não se restringe apenas
a aplicações da TV Digital, surge a oportunidade de popularizar o uso da NCL
como uma nova forma de especificar conteúdo multimídia também para Web.
Mais além, uma vez que a NCL é recomendada pelo ITU-T como referencia
para serviços IPTV, pode-se vislumbrar uma nova plataforma para o
oferecimento de tais serviços na Web. Motivado por esse novo cenário, este
trabalho propõe a adaptação do middleware declarativo Ginga-NCL, que é a
camada de software responsável pela execução das aplicações NCL, ao
ambiente da Web. A adaptação proposta busca oferecer o controle de
apresentação do conteúdo, o suporte a edição em tempo de exibição e a
sincronização entre os objetos de mídia contidos em ambos os domínios (Web
e TV Interativa). Em suma, o trabalho discute como uma página Web pode se
beneficiar da API interna de exibidores e dos demais recursos oferecidos pelo
middleware Ginga. Adicionalmente também é proposto o suporte a uma nova
plataforma pelo middleware a fim de facilitar o processo de adaptação. / [en] Over the past few years the Web (World Wide Web) users have been
presenting a significant change on their behavior, becoming, beside consumers,
multimedia content producers. On the other hand, the Brazilian Digital TV
content production, more especially the interactive applications written in NCL
(Nested Context Language) are still made by professionals allocated in TV
broadcasters and content producers companies. Considering the new Web
users profile and the fact that NCL is a hypermedia programming language
whose scope is not restricted to Digital TV application the opportunity to
popularize the use of NCL arises as a new way to specify multimedia content
also in the Web. Moreover, once NCL is recommend by ITU-T as reference to
IPTV service, is reasonable to realize a new platform to deploy such services on
the Web. Motivated by this new scenario this work proposes the adaptation of
Ginga-NCL declarative middleware, which is the software layer in charge to
execute of the NCL application, to the Web environment. The proposed
adaptation aim to offer the content presentation control, live editing support and
synchronization among media objects from both domains (Web and Interactive
TV). In short, the presented work discusses how a Web page can be benefit by
the internal player API and other features offered by the middleware Ginga. In
addition is also proposed a new platform support for the middleware in order to
facilitate adaptation process.
|
14 |
[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.
|
15 |
[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.
|
16 |
[en] GRIDFS: SERVER FOR GRIDS AND HETEROGENEOUS DISTRIBUTED ENVIRONMENTS / [pt] GRIDFS: UM SERVIDOR DE ARQUIVOS PARA GRADES E AMBIENTES DISTRIBUÍDOS HETEROGÊNEOSMARCELO NERY DOS SANTOS 30 October 2006 (has links)
[pt] A computação em grade permite o uso de recursos
computacionais distribuídos em várias redes para a
execução de tarefas que requerem um alto poder
computacional. Uma infra-estrutura para grades pode ser
utilizada para auxiliar na execução dessas tarefas e pode
coordenar o controle das atividades envolvidas na
execução, como a disponibilização dos arquivos de dados
para as tarefas em execução nos nós da grade. O GridFS é
um sistema para o compartilhamento de arquivos em grades e
ambientes distribuídos heterogêneos. Ao disponibilizar um
servidor em diversas máquinas, é possível construir uma
federação integrando os diversos sistemas de arquivos
locais e abrindo possibilidades de armazenamento na ordem
de terabytes. O sistema proposto foi modelado e
desenvolvido levando em consideração diversos aspectos
como escalabilidade, interoperabilidade e desempenho. O
GridFS agrega algumas características dos sistemas de
compartilhamento de arquivos atualmente em uso pela
comunidade, isto é, o sistema oferece uma API para acesso
remoto aos dados, disponibiliza a opção de cópia de
arquivos entre diferentes servidores e fornece algumas
funções especiais para os ambientes de computação em
grade, como uma estimativa do tempo de transferência entre
os diversos nós. Além de definir as características e os
aspectos de implementação do sistema, esta dissertação
apresenta alguns resultados experimentais para a
transferência de arquivos na rede e, como forma de
avaliação, discutimos a integração do GridFS ao emph
{framework} CSBase, utilizado no desenvolvimento de
sistemas para computação em grade. / [en] Grid computing allows the use of distributed networks
resources for tasks
requiring a high processing power. A Grid infra-structure
may help in the
execution of these tasks and is able to coordinate their
related activities,
possibly regarding the provision of data files for the
tasks executing in the
grid nodes.
GridFS is a system that enables data sharing in grid and
heterogeneous
distributed environments. By deploying servers over
several nodes, it is
possible to build a federated system integrating all local
file systems and
leveraging possibilities for tera-scale sized data
storage. The proposed
system was modeled and developed considering several
aspects such as
scalability, interoperability and performance.
GridFS combines some characteristics from diverse file
management systems,
that is, GridFS provides an API for remote data access,
copy operations
allowing file transfers between servers, and some special
features for
grid environments. Apart from defining system
characteristics and implementation
aspects, this dissertation shows some experimental results
about
the service scalability and performance, and, as an
evaluation, discusses the
integration of GridFS with CSBase, a framework used to
develop systems
for grid computing.
|
17 |
[en] A DECLARATIVE MIDDLEWARE TO INTERACTIVE TV SYSTEMS / [pt] UM MIDDLEWARE DECLARATIVO PARA SISTEMAS DE TV DIGITAL INTERATIVAMARCIO FERREIRA MORENO 27 October 2006 (has links)
[pt] A evolução das técnicas de codificação digital, aliada aos
esquemas
eficientes de modulação para transmissões digitais, tornou
possível o advento da
TV digital (TVD). Entretanto, obter baixo custo nos
terminais de acesso é fator
crucial para o sucesso da TVD aberta, principalmente nos
países em
desenvolvimento. Para que o baixo custo comprometa o
mínimo possível dos
recursos dos terminais de acesso, é interessante que eles
estejam isentos de custos
adicionais como, por exemplo, software, propriedade
intelectual e royalties. Um
dos principais pontos para tornar isso possível concentra-
se na escolha do
middleware (que faz uso de mecanismos definidos por
protocolos de
comunicação, sistema operacional e suas bibliotecas) para
suporte às aplicações.
A maioria dos middlewares declarativos existentes
privilegiam a interatividade em
detrimento da sincronização. Entretanto, na maioria das
vezes as aplicações de
TVD devem lidar com a sincronização de objetos de
diferentes tipos de mídia,
além dos objetos de vídeo e áudio que compõem o fluxo
principal. Assim, o
sincronismo de mídias deve ser o foco da linguagem
declarativa a ser utilizada
pelo middleware, tratando a interatividade como um caso
particular do
sincronismo. Este trabalho tem como objetivo propor um
middleware declarativo
para sistemas de TVD interativa com foco no sincronismo de
mídias. Na
implementação do middleware proposto, a arquitetura
modular do Formatador
HyperProp, que serviu como base dessa implementação, foi
reestruturada em um
perfil simples, direcionado à TVD, e reimplementada na
Linguagem C++. Todos
os exibidores de mídia desenvolvidos atendem aos
requisitos dos terminais de
acesso de baixo custo. / [en] The evolution of digital modulation techniques and the
efficient schemes for
digital transmissions have allowed the advent of the
digital TV. Conceiving low
cost receivers is one of the main challenges to broaden
digital TV use, mainly in
non-developed countries. As a consequence, low cost
requirements should not
burden receiver resources that should try to reduce their
costs in items such as
software copyright and royalties. In this scenario, the
middleware (which use
mechanisms defined by the communication protocols, the
operational system and
its libraries) conception plays an important role.
A great number of declarative middlewares focuses on user
interaction
instead of synchronization, in its broad sense. However,
the majority of digital TV
applications deals with different types of media-object
synchronization, beyond
the audio and video that compose the main stream. Thus,
the declarative
middleware language focus should be placed on synchronism,
having user
interaction as a special synchronization case. This is the
goal of this work.
The middleware implementation presented in this work is
based on the
modular architecture of the HyperProp Formatter, whose
architecture was
reorganized in a simple profile for digital TV systems.
The implementation was
carried out using C++ language, and all media players were
developed to run in
low cost receivers.
|
18 |
[en] DEPLOYMENT OF DISTRIBUTED, MULTI-LANGUAGE AND MULTI-PLATFORM COMPONENT-BASED SOFTWARE / [pt] IMPLANTAÇÃO DE COMPONENTES DE SOFTWARE DISTRIBUÍDOS MULTI-LINGUAGEM E MULTI-PLATAFORMAAMADEU ANDRADE BARBOSA JUNIOR 09 March 2010 (has links)
[pt] Este trabalho apresenta uma infraestrutura para implantação remota e
descentralizada de componentes de software distribuídos, multi-linguagem e
multi-plataforma. Diferente de outros trabalhos, essa infraestrutura suporta
a instalação local de componentes com dependências estáticas, que são
geridas por um sistema de pacotes, semelhante àqueles usados em sistemas
operacionais baseados em Linux. A fim de simplificar a gesão do ambiente
de execução e do ciclo de vida dos componentes, essa infraestrutura oferece
uma interface programática que permite o planejamento da implantação e o
mapeamento físico por níveis graduais de detalhamento. Os níveis graduais
de detalhamento ajudam na modularizaçãoo dos planos de implantação
e permitem o mapeamento automático, semi-automático ou totalmente
manual dos componentes no ambiente de execução e nas máquinas físicas.
Isso garante ao desenvolvedor um maior controle sobre a distribuição
dos recursos, caso necessite. O projeto dessa infraestrutura visa facilitar
trabalhos futuros, como o desenvolvimento de novas estratégias automáticas
da implantação e a integração com linguagens de descrição de arquitetura. / [en] This work presents an infrastructure for remote and decentralized deployment
of distributed, multi-language and multi-platform component-based
applications. Unlike other component deployment systems, this infrastructure
supports the local installation of static dependencies, which are managed
by a packaging system, similar to those used in Linux-based operating
systems. In order to simplify the management of the execution environment
and the component’s life-cycle, this infrastructure provides an API that
allows the deployment planning and the physical mapping by incremental
level of details. The incremental level of details promote the modularisation
of deployment plans and allow the automatic, semi-automatic or fully manual
mapping of components in the execution environment and the physical
resources. This provides a better control over the distribution of resources
to the developer, if needed. The design of this infrastructure aims to provide
a basis for future work, as the development of new strategies for automatic
deployment and the integration with architecture description languages.
|
19 |
[en] CONTEXT-SENSITIVE EXCEPTION HANDLING / [pt] TRATAMENTO DE EXCEÇÕES SENSÍVEL AO CONTEXTOKARLA NAZARE FERREIRA DAMASCENO 23 October 2006 (has links)
[pt] Tratamento de erros em aplicações móveis sensíveis ao
contexto não é uma
tarefa trivial devido às características peculiares destes
sistemas, como
mobilidade, comunicação assíncrona e aumento de
imprevisibilidade.
Mecanismos convencionais de tratamento de exceções não
podem ser utilizados
por vários motivos. Primeiro, a propagação de erros deve
considerar as mudanças
contextuais que ocorrem constantemente nestes sistemas.
Segundo, as atividades
de recuperação de erros e a estratégia de tratamento de
exceções também precisam
freqüentemente ser selecionadas de acordo com as
informações de contexto.
Terceiro, a própria caracterização de uma exceção pode
depender do contexto dos
dispositivos envolvidos. Embora vários middlewares
orientados a contexto
ofereçam suporte ao desenvolvimento de aplicações móveis,
estes sistemas
raramente fornecem suporte adequado ao tratamento de
exceções. Este trabalho
realiza uma análise das soluções existentes para
tratamento de exceções,
considerando os requisitos de sensibilidade ao contexto.
Além disso, são
propostos um modelo para tratamento de exceções sensível
ao contexto e um
mecanismo implementado a partir de MoCA (Mobile
Collaboration Architecture).
MoCA é um middleware publish-subscribe que oferece suporte
ao
desenvolvimento de aplicações móveis colaborativas através
da incorporação de
serviços de contexto. Finalmente, este trabalho avalia o
mecanismo de exceções
proposto através de sua utilização em alguns protótipos de
aplicações
colaborativas desenvolvidas a partir de MoCA. Através do
mecanismo, foram
implementadas diferentes estratégias de tratamento de
exceções que consideram
as informações de contexto das aplicações. / [en] Context-sensitive exception handling on mobile systems is
not a trivial task
due to their intrinsic characteristics: mobility,
asynchrony and increased
unpredictability. Conventional mechanisms of exception
handling can not be used
for many reasons. First, error propagation needs
considering the contextual
changes that often occur in these systems. Second, error
recovery and exception
handling strategies also frequently need to be selected
according to contextual
information. Third, the characterization of an exception
may depend on the
contextual situation of involved devices. Even though
there are now several
context-oriented middleware systems that provide support
for the development of
mobile applications, they rarely provide explicit and
adequate features for contextsensitive
exception handling. This work presents an analysis of
existing exception
handling mechanisms, which to some extent consider the
context-awareness
requirements. Besides, it proposes a general model for
context-sensitive exception
handling and a supporting mechanism implemented using the
MoCA (Mobile
Collaboration Architecture) infrastructure. MoCA is a
publish-subscribe
middleware supporting the development of collaborative
mobile applications by
incorporating explicit services to empower software agents
with contextsensitiveness.
Finally, this paper reports our experience in implementing
contextaware
exception handling strategies in some prototype
collaborative applications
built with the MoCA system.
|
20 |
[en] A SOFTWARE COMPONENT MODEL WITH SUPPORT FOR MULTIPLE VERSIONS / [pt] UM MODELO DE COMPONENTES DE SOFTWARE COM SUPORTE A MÚLTIPLAS VERSÕESHUGO ROENICK 08 September 2011 (has links)
[pt] Diversos modelos de componentes de software para sistemas distribuídos
já foram propostos pela indústria e pela academia, tais como Fractal,
CCM, COM, OpenCOM, LuaCCM, e SCS. Uma das principais vantagens
comumente atribuídas à abordagem de desenvolvimento baseado em
componentes de software é o melhor suporte à extensibilidade independente
(independent extensibility). Entretanto, a gerencia de múltiplas versões
de componentes ainda é um grande desafio, especialmente quando não é
possível atualizar todos os componentes do sistema ao mesmo tempo e
passa a ser necessária a coexistencia, em um mesmo sistema, de diferentes
versões de um mesmo componente. Neste trabalho, procuramos identificar os
pontos fundamentais para oferecer suporte a múltiplas versões de interfaces
de componentes de software e propor um modelo que ofereça esse suporte.
Como avaliação da proposta, iremos estender o sistema de componentes
SCS para dar suporte ao modelo proposto. Com base no histórico de
evolução de diferentes componentes SCS utilizados em uma aplicação real,
realizaremos experimentos com a nova versão do SCS para verificar a
eficácia do modelo proposto. / [en] Several software component models for distributed systems have been proposed
by the industry and academy, such as Fractal, CCM, COM,
OpenCOM, LuaCCM, and SCS. One of the greatest advantages of
component-based development is the better support for independent extensibility.
However, managing multiple versions of components is still a
challenge, especially when it’s not possible to update all the system’s components
at the same time. Because of that, different versions of the same
component interface shall be required to coexist in the same system. In this
work, we try to identify the key points to support multiple versions of component
interfaces and propose a model that offers this support. To evaluate
the proposed model, we will extend the SCS component system to support
it. Based on the evolution historic of different SCS components used in a
real application, we will conduct experiments with the new version of SCS
to verify the effectiveness of the proposed model.
|
Page generated in 0.0453 seconds