21 |
[en] A WSN PROGRAMMING MODEL WITH A DYNAMIC RECONFIGURATION SUPPORT / [pt] UM MODELO DE PROGRAMAÇÃO PARA RSSF COM SUPORTE À RECONFIGURAÇÃO DINÂMICA DE APLICAÇÕESADRIANO FRANCISCO BRANCO 21 September 2011 (has links)
[pt] Algumas características básicas das redes de sensores sem fio (RSSF) dificultam as tarefas de criação e reconfiguração de aplicações. Nesse trabalho apresentamos um modelo de programação que pretende simplificar essas tarefas. O modelo se baseia no uso conjunto de funções parametrizáveis e
de máquinas de estados finitos, e permite a implementação de diferentes tipos de aplicações para redes de sensores sem fio e a configuração remota dessas aplicações. Descrevemos alguns testes para avaliar o quanto esse modelo pode facilitar o desenvolvimento de novas aplicações, o quanto é fácil aplicar novas alterações sobre as aplicaçõesem execuçãos, e o impacto na quantidade de mensagens na rede por conta do uso da configuração remota. / [en] Some basic characteristics of wireless sensor networks (WSN) make application
creation and reconfiguration dificult tasks. A programming model
is presented to simplify these tasks. This model is based on a set of
parametrized components and on a Finite State Machine, and allows the
remote configuration of different applications over the same set of installed
components. We describe some tests to evaluate its impact on the development
process, and the ease of applying modifications to a running
application. We also measure the additional impact of remote configuration
on network activity.
|
22 |
[en] AN ARCHITECTURE FOR THE VISUALIZATION DISTRIBUTED OF VIRTUAL ENVIRONMENTS / [pt] UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE AMBIENTES VIRTUAISALEXANDRE GUIMARAES FERREIRA 25 July 2002 (has links)
[pt] Um grande número de aplicações requer um sistema de
visualização que proporcione múltiplas visões de um
ambiente virtual animado. Uma solução natural é a
disposição de múltiplos dispositivos de visualização ao
redor de um usuário, de forma a compor uma vista
panorâmica da cena. Em um arranjo mais elaborado, vistas
panorâmicas do ambiente virtual, obtidas a partir de
diferentes pontos de vista, são fornecidas
simultaneamente a diferentes usuários. Cada cena
panorâmica apresentada ao usuário é formada pela
composição das imagens geradas em cada superfície de
visualização. Desta forma, é possível imaginar cada
dispositivo de visualização como sendo uma janela para o
ambiente virtual.O uso desta tecnologia visa realçar a
percepção humana e aumentar o grau de imersão dos
usuários. Isto é alcançado através do aumento
quantitativo dos estímulos visuais fornecidos, decorrente
do uso de múltiplas janelas. Uma abordagem tradicional
para o desenvolvimento de um sistema deste tipo é
baseada em sistemas especializados, que utilizam hardware
dedicado, responsável pelo controle e processamento
centralizado de todos os dispositivos de visualização.
Este trabalho propõe uma arquitetura distribuída que
proporcione maior escalabilidade, portabilidade e
flexibilidade ao sistema de visualização utilizando uma
rede heterogênea e estações gráficas de baixo custo.
A arquitetura proposta objetiva dar suporte ao
desenvolvimento de aplicações que apresentem um resultado
visual consistente do ambiente virtual. Para isso, são
apresentadas técnicas para garantir o sincronismo e a
integridade entre as diversas estações. / [en] A great number of applications requires a visualization
system that provides multiple visions of an animated
virtual environment. A natural solution is the disposal of
multiple devices of visualization around an user, in order
to compose a panoramic sight of the scene. In a more
elaborated arrangement , panoramic scenes of the virtual
environment, acquired from different points of view, are
provided simultaneously to different users. Each
panoramic scene presented to the user is constituted by the
composition of the images generated in each surface of
visualization. Therefore, it is possible to imagine
each device of visualization as being a window to a virtual
environment. The use of this technology aims at to
enhance the perception of human beings and to increase the
degree of user s immersion. That is reached through
the quantitative increase of the supplied visual
stimulatons, decurrent of the use of multiple windows. A
traditional approach for the development of this kind of
system is based on specialized systems, that use the
dedicated hardware, responsible for the control and
processing centered of all the visualization devices. This
work considers a distributed architecture that provides to
greater scalability, portability and flexibility to
the visualization system using an heterogeneous net and
graphical stations of low cost. The architecture s
proposal is to to support the development of applications
that present a consistent visual result of the virtual
environment. Thereunto, techniques are presented to
guarantee the synchronism and the integrity between the
various stations.
|
23 |
[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.
|
24 |
[en] A LIBRARY FOR DETERMINISTIC TESTS IN DISTRIBUTED SYSTEMS WITH ASYNCHRONOUS COMMUNICATION / [pt] UMA BIBLIOTECA PARA TESTES DETERMINÍSTICOS EM SISTEMAS DISTRIBUÍDOS COM COMUNICAÇÃO ASSÍNCRONAPEDRO FELIPE SANTOS MAGALHAES 15 June 2023 (has links)
[pt] Observamos que cada vez mais desenvolvedores estão adotando a arquitetura de microsserviços para o desenvolvimento de sistemas distribuídos.
Usualmente nesse tipo de arquitetura há um serviço de fila de mensagens que
fica responsável em fazer a comunicação assíncrona entre os microsserviços, um
serviço bastante utilizado para isso é o Kafka. Nesse ambiente assíncrono, os
testes de integração de um determinado serviço ficam complexos pela dificuldade de criar cenários reprodutíveis. No nosso trabalho propomos e avaliamos
o uso de uma biblioteca em Go que ajuda no desenvolvimento de testes de
integração para microsserviços que utilizam Docker e Kafka, garantindo a ordenação de eventos nos cenários de teste desenvolvidos. / [en] Nowadays more and more developers are adopting the microservices architecture for the development of distributed systems. Usually in this type
of architecture there is a message queue service that is responsible for asynchronous communication between microservices; a service that is widely used
for this is the Apache Kafka. In this asynchronous environment, integration
tests for a given service become complex due to the difficulty of creating reproducible scenarios. In our work, we propose and evaluate the use of a library we
developed in Go for the construction of integration tests for microservices that
use Docker and Kafka, guaranteeing in the ordering of events as described in
the test script.
|
25 |
[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.
|
26 |
[en] A MIDDLEWARE AND AN APPLICATION FOR COLLABORATIVE PRESENTATION SHARING ON HANDHELDS / [pt] UM MIDDLEWARE E APLICATIVO PARA APRESENTAÇÃO COLABORATIVA PARA DISPOSITIVOS MÓVEISMARCELO ANDRADE DA GAMA MALCHER 21 February 2008 (has links)
[pt] A atual evolução dos dispositivos computacionais móveis e
a crescente
ubiqüidade de redes sem fio possibilitam o desenvolvimento
de serviços e
aplicativos para colaboração entre usuários móveis nos
mais variados ambientes
como em domicílios, lugares públicos, universidades,
empresas, entre outros. Em
uma sala de aula, acredita-se que o uso de dispositivos
móveis (com capacidade
de comunicação sem fio) torna o aprendizado mais
interativo e estimulante. Este
trabalho descreve um aplicativo distribuído, denominado
iPH (Interactive
Presenter for Handhelds), que possibilita o
compartilhamento e a co-edição de
transparências entre o instrutor e os aprendizes em sala
de aula, e os componentes
de middleware utilizados no desenvolvimento do mesmo. O
iPH pode ser
executado em diferentes tipos de dispositivos como tablet
pcs, notebooks e
handhelds (palmtops ou smartphones), e acessa informações
de contexto
computacional do dispositivo para efetuar auto-adaptações
na sua funcionalidade,
para entre outros, melhorar a interação com o usuário. / [en] The ongoing improvement of portable devices and the
increasing ubiquity
of wireless networks enable the development of services
and applications for anyplace-
any-time collaboration among mobile users in many
different environments,
such as at home, in public areas, in universities, in
companies, among others. It is
expected that the use of portable, wireless-enabled
devices in classrooms
improves the interaction and engagement in the learning
process. This work
describes a distributed application named iPH (Interactive
Presenter for
Handhelds) that supports the sharing and co-edition of
presentations among an
instructor and students of a classroom, as well as the
middleware components
used for the development of iPH. This system can be
executed on a wide range of
devices, such as tablets, notebooks and handhelds
(palmtops or smartphones), and
uses the device`s context information to adapt itself to
improve, for example, the
interaction with the user.
|
27 |
[en] DISTRIBUTED VISUALIZATION USING CLUSTERS OF PCS / [pt] VISUALIZAÇÃO DISTRIBUÍDA UTILIZANDO AGRUPAMENTOS DE PCSFREDERICO RODRIGUES ABRAHAM 20 June 2005 (has links)
[pt] Este trabalho apresenta um novo sistema de renderização
distribuída destinado
ao uso em agrupamentos de PCs. É feita uma extensão à linha
de produção gráfica convencional para uma linha de produção
gráfica distribuída, que pelo uso de múltiplas linhas de
execução permite paralelizar
as operações feitas na CPU, na GPU e na rede que interliga
os PCs do
agrupamento. Este sistema serviu de base para a
implementação e o teste
de três arquiteturas para renderização distribuída: uma
arquitetura com ordenação no início, uma arquitetura com
ordenação no fim para renderização
volumétrica e uma arquitetura híbrida que tenta combinar as
vantagens da
ordenação no início e da ordenação no fim. É apresentado um
novo algoritmo
de balanceamento de carga baseado nos tempos de
renderização do
quadro anterior. O algoritmo é de implementação muito
simples e funciona
bem tanto em aplicações com gargalo na geometria quanto em
aplicações
com gargalo na rasterização. Este trabalho também propõe
uma estratégia
de distribuição de trabalho entre os computadores de
renderização do agrupamento
que usa eficientemente os recursos gráficos disponíveis,
melhorando
assim o desempenho da renderização. Um novo algoritmo de
partição paralela
do modelo entre os computadores do agrupamento é proposto
para a
arquitetura híbrida. / [en] This work presents a new distributed rendering system
destined for PC
clusters. The conventional graphics pipeline is extended to
a distributed
pipeline that parallelizes the operations done on the CPU,
the GPU and
the network by using multiple threads. This system was the
base for the
implementation of three distributed rendering
architectures: a sort-first
architecture, a sort-last architecture for volume
rendering, and a hybrid
architecture that seeks to combine the advantages of both
sort-first and sortlast
architectures. A new load-balancing algorithm based on the
rendering
times of the previous frame is proposed. The algorithm is
very simple to
be implemented and works well for both geometry- and
rasterization-bound
models. A new strategy to assign tiles to rendering nodes
is proposed which
effectively uses the available graphics resources, thus
improving rendering
performance. A new parallel model partition algorithm is
proposed for the
hybrid architecture.
|
28 |
[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.
|
29 |
[en] SCRIPTING CUSTOMIZED COMPONENTS FOR WIRELESS SENSOR NETWORKS / [pt] PROGRAMANDO REDES DE SENSORES SEM FIO COM SCRIPTS SOBRE COMPONENTES CUSTOMIZADOSADRIANO FRANCISCO BRANCO 09 June 2016 (has links)
[pt] Programar redes de sensores sem fio (RSSF) é uma tarefa difícil. O
programador tem que lidar com várias atividades simultâneas em um ambiente
com recursos extremamente limitados. Neste trabalho propomos um
modelo de programação para facilitar essa tarefa. O modelo que propomos
combina o uso de máquinas virtuais configuráveis baseadas em componentes
com uma linguagem de script reativa que pode ser analisada estaticamente
para evitar conitos de memória e execução de laços infinitos. Essa abordagem
permite a exibilidade de carregamento remoto de código nos nós
da rede combinado com um conjunto de garantias para o programador. A
escolha de um conjunto específico de componentes numa configuração de
máquina virtual define o nível de abstração visto pelo script da aplicação.
Para avaliar esse modelo, construímos Terra, um sistema que combina a
linguagem de script Céu-T com uma máquina virtual e uma biblioteca de
componentes. Nós projetamos esta biblioteca considerando as funcionalidades
comumente necessárias em aplicações de RSSF - tipicamente para
sensoreamento e controle. Implementamos diferentes aplicações utilizando
Terra e uma linguagem orientada a eventos baseados em C. Além disso discutimos
as vantagens e desvantagens dessas implementações alternativas.
Finalmente, também avaliamos Terra medindo o custo adicional em uma
aplicação básica e discutimos sua utilização e custo em diferentes cenários
de aplicações WSNs. / [en] Programming wireless sensors networks (WSN) is a difficult task. The
programmer must deal with several concurrent activities in an environment
with severely limited resources. In this work we propose a programming
model to facilitate this task. The model we propose combines the use of
configurable component-based virtual machines with a reactive scripting
language which can be statically analyzed to avoid unbounded execution
and memory conicts. This approach allows the exibility of remotely
uploading code on motes to be combined with a set of guarantees for
the programmer. The choice of the specific set of components in a
virtual machine configuration defines the abstraction level seen by the
application script. To evaluate this model, we built Terra, a system
combining the scripting language Céu-T with the Terra virtual machine and
a library of components. We designed this library taking into account the
functionalities commonly needed in WSN applications - typically for sense
and control. We implemented different applications using Terra and using
an event-driven language based on C and we discuss the advantages and
disadvantages of the alternative implementations. Finally, we also evaluate
Terra by measuring its overhead in a basic application and discussing its
use and cost in different WSN scenarios.
|
30 |
[en] A PROGRAMMING INTERFACE FOR OVERLOAD CONTROL IN STAGED EVENT BASED ARCHITECTURES / [pt] UMA INTERFACE DE PROGRAMAÇÃO PARA CONTROLE DE SOBRECARGA EM ARQUITETURAS BASEADAS EM ESTÁGIOSBRENO RIBA DA COSTA CRUZ 22 February 2016 (has links)
[pt] Controle de sobrecarga pode ser feito com o uso de políticas de escalonamento adequadas, que procuram ajustar dinamicamente os recursos alocados a uma aplicação. Pela dificuldade de implementação, muitas vezes desenvolvedores se veem obrigados a reprogramar o sistema para adequá-lo a uma determinada política. Através do estudo de diversas políticas de escalonamento, propomos neste trabalho um modelo de interface que permite a criação e monitoração de novas políticas dentro de arquiteturas baseadas em estágios. Implementamos a interface de programação proposta e exercitamos um conjunto de políticas que construímos sobre ela em duas aplicações com características de carga bem distintas. / [en] Specific scheduling policies can be appropriate for overload control in
different application scenarios. However, these policies are often difficult to
implement, leading developers to reprogram entire systems in order to adapt
them to a particular policy. Through the study of various scheduling policies,
we propose an interface model that allows the programmer to integrate
new policies and monitoring schemes to the same application in a Staged
Event-Driven Architecture. We describe the implementation of the proposed
interface and the results of it s use in implementing a set of scheduling
policies for two applications with different load profiles.
|
Page generated in 0.0296 seconds