81 |
Efficient and Portable Middleware for Application-level AdaptationRao, Deepak 23 May 2001 (has links)
Software-intensive systems operating in a shared environment must utilize a "request, acquire and release" protocol. In the popular client-server architecture resource-poor clients rely on servers for the needed capabilities. With mobile clients using wireless connectivity, the disparity in resource needs can force the consideration of adaptation by clients, leading to a strategy of self-reliance. Achieving self-reliance through adaptation becomes even more attractive in environments, which are dynamic and continually changing. A more comprehensive strategy is for the mobile client to recognize the changing resource levels and plan for any such degradation; that is, the applications in the mobile client need to adapt to the changing environment and availability of resources.
Portable adaptation middleware that is sensitive to architecture and context changes in network operations is designed and implemented. The Adaptation Middleware not only provides the flexibility for the client applications to adapt to changing resources around them, but also to changing resource levels within the client applications. Further, the Adaptation Middleware imposes few changes on the structure of the client application. The Adaptation Middleware creates the adaptations; the client remains unaware and unconcerned with these adaptations.
The Adaptation Middleware in this study also enables a more informative cost estimation with regard to applications such as mobile agents. A sample application developed using the Adaptation Middleware shows performance improvements in the range of 31% to 54%. A limited set of experiments show an average response time of 68 milliseconds, which seems acceptable for most applications. Further, the Adaptation Middleware permits increased stability for applications demonstrating demand levels subject to high uncertainty. / Master of Science
|
82 |
[en] AN INFRASTRUCTURE FOR DISTRIBUTED EXECUTION OF SOFTWARE COMPONENTS / [pt] UMA INFRA-ESTRUTURA PARA A EXECUÇÃO DISTRIBUÍDA DE COMPONENTES DE SOFTWARECARLOS EDUARDO LARA AUGUSTO 04 March 2009 (has links)
[pt] Infra-estruturas de suporte a sistemas baseados em componentes de software
tipicamente incluem facilidades para instalação, execução e configuração
dinâmica das dependências dos componentes de um sistema. Tais facilidades
são especialmente importantes quando os componentes do sistema executam
em um ambiente distribuído.
Neste trabalho, investigamos alguns dos problemas que precisam ser tratados
por infra-estruturas de execução de sistemas distribuídos baseados em
componentes de software. Para realizar tal investigação, desenvolvemos um
conjunto de servi¸cos para o middleware OpenBus, com o intuito de prover
facilidades para a execução de aplicações distribuídas. Para ilustrar e avaliar
o uso dos serviços desenvolvidos, apresentamos alguns exemplos onde a
infra-estrutura é utilizada para executar cenários de teste de uma aplicação
distribuída. / [en] Support infrastructures for component-based software
systems usually include facilities for installation,
execution and dynamic configuration of the
system component`s dependencies. Such facilities are
specially important when those system components execute in
a distributed environment. In this work, we investigate
some of the problems that must be handled by
runtime infrastructures for distributed systems based on
software components. To perform such investigation, we
developed a set of services for the OpenBus middleware,
aiming to provide facilities for execution of distributed
applications. To illustrate and evaluate the use of the
developed services, we present some examples where the
infrastructure is used for executing test scenarios of a
distributed application.
|
83 |
[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.
|
84 |
[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.
|
85 |
Sensoriamento automático e participativo em cidades. / Automatic and participatory sensing in cities.Silva, Ademir Ferreira da 18 January 2016 (has links)
As cidades estão a seu tempo e a seu modo, modernizando os serviços prestados à população. Entre os diversos fatores que estão contribuindo para esta evolução estão a diversificação e proliferação de sensores, nos diversos domínios de serviços das cidades, e os novos canais de comunicação com os munícipes, entre eles, as redes sociais e mais recentemente os sistemas crowdsensing, motivados pelos anseios sociais, por melhores serviços públicos e pela popularização dos dispositivos móveis. Nesta direção, a eficiência administrativa é um fator essencial, uma vez que as cidades estão se mostrando mais complexas na medida em que cresce a população nas áreas urbanas. A utilização de técnicas de sistemas distribuídos para que múltiplos domínios de serviços usufruam da mesma infraestrutura computacional, pode auxiliar na eficiência das cidades, evitando gastos administrativos duplicados e até mesmo, possibilitando a correlação de eventos entre os serviços, favorecendo a identificação de fatores de causalidades e assim, a tomada de decisões administrativas mais objetivas e precisas. Neste contexto, este trabalho concentra-se na análise de um middleware direcionado à gestão de cidades para coleta, integração e interpretação dos dados de sensores, pertencentes aos serviços disponíveis da própria cidade, junto com os dados do sensoriamento colaborado pelos cidadãos. Para avaliação do conceito foi investigado o cenário de monitoração da conservação de vias públicas. Após 3 meses de coletas de dados por um sistema de sensoriamento automático, totalizando mais de 360 mil pontos e também mais de 90 relatórios pelo sensoriamento participativo, verificou-se que um sistema distribuído pode realizar a interpretação de séries históricas, engajar os munícipes apoiar a manutenção dos serviços da cidade e também indicar objetivamente aos gestores públicos os pontos que devem ser prioritariamente atendidos. Aliar ferramentas pelas quais o cidadão pode, de acordo com sua necessidade, convicção e altruísmo, exercer influência nos gestores públicos com o suporte de informação contínua e critérios objetivos das redes de sensores, pode estimular a continua excelência dos serviços públicos. / The cities in their own way and time are improving their services provided to the population. Among several factors that are contributing to this trend are the diversification and proliferation of sensors in various services domains of cities and new communication ways with citizens, for instance, social networks and more recently, crowdsensing systems, motivated by social expectations for better public services and the popularity of mobile devices. In this direction, administrative efficiency is a key factor, since the cities are proving more complex with increasing the population in urban areas. Techniques of distributed systems to share the same computing infrastructure to multiple service domains, can assist in the efficiency of cities, avoiding duplicate administrative costs and even allowing event correlation between services, providing the identification of causality factors, thus making management decisions more objective and accurate. In this context, this research focuses on analysis of a middleware directed to city management for collection, integration and interpretation of sensors data, present in city services, along with the sensing data contributed by citizens. For concept evaluation, was investigated the scenario of conservation of public streets. After 3 months of data collection by an automatic sensing system comprising more than 360 thousand points and also 94 reports of collaborative sensing, it was found that a distributed system can perform the interpretation of historical series; engage the citizens to support maintenance of city services and indicate objectively the points that should primarily be fix by public managers. Combining tools, which citizens can, according to their need, conviction, altruism, exert their own influence in public management and the continuous information support to objective criteria of sensor networks, can stimulate the continued excellence of public services.
|
86 |
Uma arquitetura aberta para gerenciamento de set-top boxes e serviços em redes de TV digital. / An open architecture for the management of set-top boxes and services in digital TV networks.Ös, Marcelo Dutra 30 March 2006 (has links)
A TV digital é hoje uma realidade em muitos países e no Brasil as pesquisas já estão atingindo um estágio avançando. Muita expectativa gira em torno desta tecnologia, que oferece uma ampla variedade de serviços multimídia, abrindo as portas deste modo para criativas propostas e novas possibilidades de relacionamento com o usuário final. Esta complexidade e as novas opções de serviços que podem ser oferecidos demandam, obrigatoriamente, uma arquitetura adequada de gerenciamento, capaz de controlar e otimizar os terminais desta rede bem como os serviços oferecidos pela mesma. Neste trabalho são apresentados os requisitos funcionais e não funcionais necessários para a construção de um sistema genérico de gerenciamento de set-top boxes e serviços em TV digital, baseados no estudo de pesquisas semelhantes e nas particularidades deste ambiente. Também para este sistema genérico são detalhados todos os casos de uso de interesse. Além disso, uma arquitetura híbrida é proposta para a solução deste problema, utilizando para tanto padrões abertos e considerando alguns cenários possíveis de implantação no mundo real. Nesta arquitetura, é adotado o modelo clássico de gerenciamento gerente-agente, através do uso de um servidor de gerência, responsável pelo armazenamento e análise de todos os dados de gerenciamento bem como pelo disparo de comandos e recebimento de respostas (síncronas e/ou assíncronas) dos agentes. Tanto na definição deste sistema genérico como no desenho da arquitetura final, procurou-se na medida do possível adotar a utilização de princípios clássicos de gerenciamento que já são aplicados em várias arquiteturas existentes, inclusive de mercado. Deste modo, foi possível encontrar uma solução para um problema complexo através do uso de conceitos amplamente conhecidos, o que facilita o entendimento final. / Nowadays, digital TV systems are a reality in many countries and in Brazil the research in this field is reaching an advanced stage. Much excitement is expected from this technology, which may offer a wide variety of multimedia services, opening the doors for creative proposals and new possibilities of relationships with the final user. This complexity and the new options of services that can be offered demand a suitable architecture for management, which should be able to control and optimize the set-top boxes of this network as well as of the services offered by it. In this work, the requirements for the building of a generic management system for the digital TV environment are presented, based in the study of similar research and considering the specifics involved. Besides that, a hybrid architecture based on open standards is proposed for the solution of this problem. In this architecture, it is adopted the classical manager-agent model, through the use of a management server, which is responsible for the storage and analysis of all the management data as well for the triggering of commands and receptions of answers and traps sent by the agents. The conception and design of this architecture has followed as much as possible, classic principles of network management. With this approach, it was possible to find a simple solution to a very complex problem.
|
87 |
PMPI: uma implementação MPI multi-plataforma, multi-linguagem. / PMPI: a multi-platform, multi-language implementation of MPI.El Saifi, Mohamad Maamoun 28 August 2006 (has links)
Esta dissertação apresenta o PMPI, uma implementação do padrão MPI em plataformas heterogêneas. Diferentemente de outras implementações de MPI, o PMPI permite que a aplicação paralela seja realizada num sistema multi-plataforma, e que programas em linguagens de programação diferentes participem da mesma computação. PMPI é construído sobre o Dotnet Framework. Com o PMPI, os nós de processamento chamam funções MPI que são executadas transparentemente em outros nós participantes da computação paralela pela rede de comunicação. O PMPI pode atravessar múltiplos domínios administrativos distribuídos geograficamente. Para os programadores, o grid se parece como uma computação MPI local. O modelo de computação é indistinguível da computação MPI padrão. Esta dissertação estuda a implementação de PMPI com o Microsoft Dotnet Framework e com o MONO para prover uma biblioteca que suporta ambiente de multi-linguagens de programação e multi-plataformas. São analisados os resultados obtidos dos testes executados em sistemas heterogêneos usando PMPI. Os resultados obtidos mostram que a implementação PMPI é uma solução viável, possuindo várias vantagens que ainda podemos explorar melhor. / This dissertation describes PMPI, an implementation of the MPI standard on a heterogeneous platform. Unlike other MPI implementations, PMPI permits MPI computation to run on a multiplatform system. In addition, PMPI permits programs executing on different nodes to be written in different programming languages. PMPI is build on the top of Dotnet framework. With PMPI, nodes call MPI functions that are transparently executed on the participating nodes across the network. PMPI can span multiple administrative domains distributed geographically. To programmers, the grid looks like a local MPI computation. The model of computation is indistinguishable from that of standard MPI computation. This dissertation studies the implementation of PMPI with Microsoft Dotnet framework and MONO Dotnet framework to provide a common layer for a multiprogramming language multiplatform MPI library. Results obtained from tests running PMPI on a heterogeneous system are analyzed. The obtained results show that PMPI implementation is feasible and has many advantages that can be explored.
|
88 |
Maestro: um middleware para suporte a aplicações distribuídas baseadas em componentes de software. / Maestro: a middleware for support to distributed applications based on software componentes.Ferreira, Cláudio Luís Pereira 21 September 2001 (has links)
É o trabalho de um middleware organizar as atividades de seus diferentes elementos componentes de maneira a operar sincronamente com a execução de uma aplicação. O resultado deste trabalho deve ser transparente para quem interage com o sistema, percebendo-o como um único bloco coeso e sincronizado, orquestrado por um agente principal. Este é o objeto deste trabalho, a especificação de um middleware e seus componentes internos indicando suas principais características e funcionalidades e também sua operação na execução de uma aplicação distribuída. Também foi levado em consideração os novos ambientes nos quais as aplicações distribuídas estão inseridas tais como a diversidade de dispositivos gerenciados pelos usuários, a necessidade de constantes mudanças no sistema, o uso de novas tecnologias no desenvolvimento de software e a necessidade de definições de sistemas abertos. Para a especificação deste middleware, foi utilizado o modelo de referência Open Distributed Processing (ODP) da ISO/IEC que permite que um sistema seja visualizado em cinco pontos de vista distintos. Ao final o sistema é especificado utilizando a tecnologia de componentes de software, ilustrando seu uso numa aplicação comercial. / Its the job of a middleware to organize the activities of its different component elements as to operate in synchrony with the execution of an application. The result of this work should be transparent to whom interact with the system, perceiving it as a single synchronized and cohered block, orchestrated by a master agent. This is the subject of this work, the specification of a middleware and its internal components indicating its major characteristics and functionalities and also its operation in the execution of distributed applications. It was also taken into account the new environment in which the distributed applications are inserted such as the diversity of devices managed by the users, the necessity for constant system changing, the use of new technologies in software development and the necessity for definition of open systems. For the specification of this middleware, it was used the reference model of Open Distributed Processing (ODP) from ISO/IEC that allows a system to be visualized by five different points of view. By the end the system is specified using the technology of component software, illustrating its use through commercial component software.
|
89 |
Maestro: um middleware para suporte a aplicações distribuídas baseadas em componentes de software. / Maestro: a middleware for support to distributed applications based on software componentes.Cláudio Luís Pereira Ferreira 21 September 2001 (has links)
É o trabalho de um middleware organizar as atividades de seus diferentes elementos componentes de maneira a operar sincronamente com a execução de uma aplicação. O resultado deste trabalho deve ser transparente para quem interage com o sistema, percebendo-o como um único bloco coeso e sincronizado, orquestrado por um agente principal. Este é o objeto deste trabalho, a especificação de um middleware e seus componentes internos indicando suas principais características e funcionalidades e também sua operação na execução de uma aplicação distribuída. Também foi levado em consideração os novos ambientes nos quais as aplicações distribuídas estão inseridas tais como a diversidade de dispositivos gerenciados pelos usuários, a necessidade de constantes mudanças no sistema, o uso de novas tecnologias no desenvolvimento de software e a necessidade de definições de sistemas abertos. Para a especificação deste middleware, foi utilizado o modelo de referência Open Distributed Processing (ODP) da ISO/IEC que permite que um sistema seja visualizado em cinco pontos de vista distintos. Ao final o sistema é especificado utilizando a tecnologia de componentes de software, ilustrando seu uso numa aplicação comercial. / Its the job of a middleware to organize the activities of its different component elements as to operate in synchrony with the execution of an application. The result of this work should be transparent to whom interact with the system, perceiving it as a single synchronized and cohered block, orchestrated by a master agent. This is the subject of this work, the specification of a middleware and its internal components indicating its major characteristics and functionalities and also its operation in the execution of distributed applications. It was also taken into account the new environment in which the distributed applications are inserted such as the diversity of devices managed by the users, the necessity for constant system changing, the use of new technologies in software development and the necessity for definition of open systems. For the specification of this middleware, it was used the reference model of Open Distributed Processing (ODP) from ISO/IEC that allows a system to be visualized by five different points of view. By the end the system is specified using the technology of component software, illustrating its use through commercial component software.
|
90 |
PMPI: uma implementação MPI multi-plataforma, multi-linguagem. / PMPI: a multi-platform, multi-language implementation of MPI.Mohamad Maamoun El Saifi 28 August 2006 (has links)
Esta dissertação apresenta o PMPI, uma implementação do padrão MPI em plataformas heterogêneas. Diferentemente de outras implementações de MPI, o PMPI permite que a aplicação paralela seja realizada num sistema multi-plataforma, e que programas em linguagens de programação diferentes participem da mesma computação. PMPI é construído sobre o Dotnet Framework. Com o PMPI, os nós de processamento chamam funções MPI que são executadas transparentemente em outros nós participantes da computação paralela pela rede de comunicação. O PMPI pode atravessar múltiplos domínios administrativos distribuídos geograficamente. Para os programadores, o grid se parece como uma computação MPI local. O modelo de computação é indistinguível da computação MPI padrão. Esta dissertação estuda a implementação de PMPI com o Microsoft Dotnet Framework e com o MONO para prover uma biblioteca que suporta ambiente de multi-linguagens de programação e multi-plataformas. São analisados os resultados obtidos dos testes executados em sistemas heterogêneos usando PMPI. Os resultados obtidos mostram que a implementação PMPI é uma solução viável, possuindo várias vantagens que ainda podemos explorar melhor. / This dissertation describes PMPI, an implementation of the MPI standard on a heterogeneous platform. Unlike other MPI implementations, PMPI permits MPI computation to run on a multiplatform system. In addition, PMPI permits programs executing on different nodes to be written in different programming languages. PMPI is build on the top of Dotnet framework. With PMPI, nodes call MPI functions that are transparently executed on the participating nodes across the network. PMPI can span multiple administrative domains distributed geographically. To programmers, the grid looks like a local MPI computation. The model of computation is indistinguishable from that of standard MPI computation. This dissertation studies the implementation of PMPI with Microsoft Dotnet framework and MONO Dotnet framework to provide a common layer for a multiprogramming language multiplatform MPI library. Results obtained from tests running PMPI on a heterogeneous system are analyzed. The obtained results show that PMPI implementation is feasible and has many advantages that can be explored.
|
Page generated in 0.0322 seconds