31 |
[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.
|
32 |
[en] A SPLIT AND MERGE ARCHITECTURE FOR DISTRIBUTED VIDEO PROCESSING IN THE CLOUD / [pt] UMA ARQUITETURA DE SPLIT AND MERGE PARA PROCESSAMENTO DISTRIBUIDO DE VÍDEO BASEADO EM CLOUDRAFAEL SILVA PEREIRA 30 January 2017 (has links)
[pt] O volume de dados existentes aumenta a cada dia, sendo que, armazenar, processar e transmitir esta informação se torna um grande desafio. O paradigma de Map Reduce, proposto por Dean e Ghemawat (10), é uma forma eficiente para o processamento de grandes volumes de dados utilizando um cluster de computadores e, mais recentemente, infraestruturas no Cloud. Entretanto, implementações tradicionais de Map Reduce não apresentam nem a flexibilidade (para escolher entre diferentes técnicas de codificação na etapa de map), nem o controle (capaz de especificar como organizar os resultados na etapa de reduce),
necessários para o processamento de vídeos. Porém, com a proliferação de dispositivos capazes de reproduzir conteúdo em multimídia, e com o aumento da disponibilidade de banda, o consumo deste tipo de conteúdo é cada vez maior, o que mostra a necessidade de termos arquitetura eficientes para lidar com grandes volumes de dados, especificamente vídeos. A arquitetura de Split and Merge, proposta nesta dissertação, generaliza o paradigma de Map Reduce, fornecendo uma solução eficiente que contempla aspectos relevantes às aplicações de processamento intensivo de vídeo. Para validar a arquitetura proposta, são apresentados dois casos de uso onde a mesma foi implementada utilizando uma plataforma de Cloud. / [en] The Map Reduce approach, proposed by Dean and Ghemawat (10), is an efficient way for processing very large datasets using a computer cluster and, more recently, cloud infrastructures. Traditional Map Reduce implementations, however, provide neither the necessary flexibility (to choose among different
encoding techniques in the mapping stage) nor control (to specify how to organize results in the reducing stage), required to process video files. The Split and Merge tool, proposed in this thesis, generalizes the Map Reduce paradigm, and provides an efficient solution that contemplates relevant aspects of intense processing video applications.
|
33 |
[en] CONTINUOUS SERVICE DISCOVERY IN IOT / [pt] DESCOBERTA CONTÍNUA DE SERVIÇOS EM IOTFELIPE OLIVEIRA CARVALHO 28 July 2017 (has links)
[pt] A popularização da Internet das Coisas (IoT, Internet of Things) provocou uma crescente oportunidade para a criação de aplicações em diversas áreas, através da combinação do uso de sensores e/ou atuadores.
Em ambientes de IoT, o papel de elementos chamados de gateways consiste em fornecer uma camada de comunicação intermediária entre os dispositivos de IoT e serviços de nuvem. Um fator crucial para a construção de aplicações em larga escala é que os dispositivos de IoT possam ser utilizados de maneira transparente, num paradigma orientado a serviços, onde detalhes de comunicação e configuração destes objetos são tratados pelos gateways. No modelo de serviços, as aplicações devem descobrir as interfaces de alto-nível dos dispositivos e não precisam lidar com detalhes subjacentes, que são tratados pelos gateways. Em cenários de grande dinamismo e mobilidade (com conexões e desconexões de dispositivos acontecendo a todo momento), a descoberta e configuração de objetos deve ocorrer de forma contínua.
Os protocolos de descoberta de serviços tradicional, como o Universal Plug and Play (UPnP) ou o Service Location Protocol (SLP), não foram desenvolvidos levando em consideração o alto dinamismo de ambientes
IoT. Nesse sentido, introduzimos o processamento de eventos complexos (CEP), que é uma tecnologia para processamento em tempo real de fluxos de eventos heterogêneos, que permite a utilização de consultas em linguagem CQL (Continuous Query Language) para a busca de eventos de interesse. Em um modelo onde os eventos relacionados à descoberta de sensores são enviados para um fluxo CEP, consultas expressivas são escritas para que uma aplicação descubra continuamente serviços de interesse. Este trabalho apresenta a extensão do MHub/CDDL para o suporte à descoberta contínua de serviços em IoT, utilizando CEP. O MHub/CDDL (Mobile Hub / Context Data Distribution Layer) é um middleware para descoberta de serviços e gerenciamento de qualidade de contexto em IoT, desenvolvido numa parceria
entre o Laboratory for Advanced Collaboration (LAC) da PUC-Rio e o Laboratório de Sistemas Distribuídos Inteligentes (LSDi) da Universidade Federal do Maranhão (UFMA). A implementação deste trabalho é feita
para a plataforma Android (Java) e um estudo de caso no domínio de estacionamentos inteligentes é conduzido e implementado, elucidando o uso do mecanismo de descoberta contínuo. / [en] The popularization of the Internet of Things sparked a growing opportunity for the creation of applications in various areas, by combining the use of sensors and/or actuators. In IoT environments, the role of elements called gateways is to provide an intermediate communication layer between IoT devices and cloud services. A crucial factor for the construction of large-scale applications is to allow the use of IoT devices in a transparent manner, in a service-oriented paradigm, where details of communication and
configuration are handled by the gateways. In service model, applications must discover the high-level interfaces of the devices and do not have to deal with underlying details that are handled by gateways. In scenarios of high dynamism and mobility (with connections and disconnections of devices occuring all the time), this discovery and configuration must occur continuously. Traditional service discovery protocols, such as Universal Plug and Play (UPnP) or Service Location Protocol (SLP), have not been developed taking into consideration the high dinamicity of IoT environments. In this sense, we introduce complex event processing (CEP), which is a technology for real-time processing of heterogeneous event flows, which allows the use of CQL (Continuous Query Language for the search of events of interest. In a model where events related to sensor discovery are sent to a CEP flow, expressive queries are written for an application to continuously discover services of interest. This work presents the extension of MHub / CDDL to support continuous service discovery in IoT, using CEP. The MHub / CDDL (Mobile Hub / Context Data Distribution Layer) is a middleware for service discovery and quality context management in IoT, developed in a
partnership between the Laboratory for Advanced Collaboration (LAC) from PUC-Rio and the Laboratório de Sistemas Distribuídos Inteligentes (LSDi) from Universidade Federal do Maranhão (UFMA). The implementation of this work is done in Android (Java) platform and a case study in the domain of smart parking is conducted and implemented, elucidating the use of the continuous discovery mechanism.
|
34 |
[en] A CLOUD COMPUTING ARCHITECTURE FOR LARGE SCALE VIDEO DATA PROCESSING / [pt] UMA ARQUITETURA EM NUVEM PARA PROCESSAMENTO DE VÍDEO EM LARGA ESCALA01 February 2017 (has links)
[pt] O advento da Internet coloca grandes desafios para o projeto de sistemas de submissão abertos, uma vez que elimina barreiras físicas e geográficas. A redução de custos, associada a passagem de mídias analógicas para digitais, dificultou a projeção de capacidades e recursos necessários para a construção de tais sistemas. Neste trabalho propomos uma arquitetura de software, baseada em computação na nuvem, que provê a escalabilidade necessária para a construção de sistemas de submissão abertos. Estes sistemas são caracterizados pela geração de grandes volumes de dados. Um caso real de uso é analisado utilizando o processamento de vídeos. / [en] The advent of the Internet poses great challenges to the design of public submission systems as it eliminates traditional barriers, such as geographical location and cost. With open global access, it is very hard to estimate storage space and processing power required by this class of applications. In this thesis we explore cloud computing technology as an alternative solution. The main contribution of this work is a general architecture in which to built open access, data intensive, public submission systems. A real world scenario is analyzed using this architecture for video processing.
|
35 |
[en] A CLOUD BASED REAL-TIME COLLABORATIVE FILTERING ARCHITECTURE FOR SHORT-LIVED VIDEO RECOMMENDATIONS / [pt] UMA ARQUITETURA DE FILTRAGEM COLABORATIVA EM TEMPO REAL BASEADA EM NUVEM PARA RECOMENDAÇÃO DE VÍDEOS EFÊMEROS16 January 2017 (has links)
[pt] Esta tese propõe que a combinação de técnicas de filtragem colaborativa, em particular para recomendações item-item, com novas tecnologias de computação em nuvem, pode melhorar drasticamente a eficiência dos sistemas de recomendação, particularmente em situações em que o número de itens e usuários supera milhões de objetos. Nela apresentamos uma arquitetura de recomendação item-item em tempo real, que racionaliza o uso dos recursos computacionais através da computação sob demanda. A arquitetura proposta oferece uma solução para o cálculo de similaridade entre itens em tempo real, sem ter que recorrer à simplificação do modelo de recomendação ou o uso de amostragem de dados de entrada. Esta tese também apresenta um novo modelo de feedback implícito para vídeos de curta duração, que se adapta ao comportamento dos usuários, e descreve como essa arquitetura foi usada na implementação de um sistema de recomendação de vídeo em uso pelo maior grupo de mídia da América Latina, apresentando resultados de um estudo de caso real para mostrar que é possível reduzir drasticamente o tempo de cálculo das recomendações (e os custos financeiros globais) usando o provisionamento dinâmico de recursos na nuvem. Ela discute ainda a implementação em detalhes, em particular o projeto da arquitetura baseada em nuvem. Finalmente, ela também apresenta oportunidades de pesquisa em potencial que surgem a partir desta mudança de paradigma. / [en] This dissertation argues that the combination of collaborative filtering techniques, particularly for item-item recommendations, with emergent cloud computing technology can drastically improve algorithm efficiency, particularly in situations where the number of items and users scales up to several million objects. It introduces a real-time item-item recommendation architecture, which rationalizes the use of resources by exploring on-demand computing. The proposed architecture provides a real-time solution for computing online item similarity, without having to resort to either model simplification or the use of input data sampling. This dissertation also presents a new adaptive model for implicit user feedback for short videos, and describes how this architecture was used in a large scale implementation of a video recommendation system in use by the largest media group in Latin America, presenting results from a real life case study to show that it is possible to greatly reduce recommendation times (and overall financial costs) by using dynamic resource provisioning in the Cloud. It discusses the implementation in detail, in particular the design of cloud based features. Finally, it also presents potential research opportunities that arise from this paradigm shift.
|
36 |
[en] A STUDY OF TCHINIQUES FOR THE ADAPTATION OF SOFTWARE COMPONENTS IN JAVA / [pt] UM ESTUDO DE TÉCNICAS PARA ADAPTAÇÃO DE COMPONENTES DE SFTWARE EM JAVAEDUARDO PILLA PORTILHO 19 February 2016 (has links)
[pt] Sistemas de Software fatalmente necessitam passar por modificações ao longo de sua existência para que sejam efetuadas tanto correções de erros quanto alterações evolutivas que contemplem novos requisitos. Processos de manutenção desse tipo normalmente exigem que os sistemas sejam interrompidos por algum período de tempo, que varia de acordo com a complexidade da modificação e com a tecnologia utilizada. Essa interrupção pode ser inaceitável no caso de aplicações que exijam um alto grau de disponibilidade. Nesse caso, qualquer tipo de alteração precisa ser feita de maneira dinâmica, sem interromper a aplicação. No caso de sistemas distribuídos, essa dificuldade é significantemente agravada em decorrência do número naturalmente maior de usuários atendidos e da própria distribuição de seus módulos. A implementação de mecanismos que permitem substituir ou introduzir novas funcionalidades em aplicações de maneira dinâmica foge de escopo da maioria das aplicações, por se tratar de um desenvolvimento de elevada complexidade. Acreditamos que a crescente demanda por mecanismo deste tipo justifica que eles sejam oferecidos sob a forma de serviços pela camada de middleware. Neste trabalho, avaliamos a implementação de mecanismos de adaptação dinâmica em um sistema de componentes desenvolvido em Java. Estes mecanismos devem permitir efetuar alterações nas aplicações de maneira simples e estruturada, sem que seja necessário interromper o seu funcionamento. Posteriormente, comparamos a solução obtida com uma solução similar implementada com a linguagem Lua para avaliar as vantagens e desvantagens apresentadas por dois tipos de linguagem para sistemas dinamicamente adaptáveis. Avaliamos também o desempenho da solução, comparando o tempo de execução de aplicação desenvolvidas sobre ela com similares desenvolvidas sem ela, medindo assim a sobrecarga de desempenho imposto pela solução proposta. / [en] Software systems will inevitably need to suffler modifications during its existence, in order to receive both error corrections and evolutionary changes that address new requirements. This kind of maintenance processes typically involves the interruption of the systems for an amount of time that varies with the complexity of the change and with the used technology. This interruption may be unacceptable in the case of applications that demand a high degree of availability. In this case, any modification must be made dynamically, without interrupting the application. In the case of distributed systems, this difficulty is significantly increased due to the typical greater number of users and to the distribution of their modules. Replacement or addition of features dynamically in applications developed with the major middleware platforms , such as CORBA or RMI, is a fairly complex process, which requires both the replaced modules and those that interact with the implementation of dynamic adaptation mechanisms that circumvent these limitations of dynamic adaptation mechanisms that circumvent these limitations is beynd of the scope of most applications, due to its highly complex nature. We believe that the increasing demand for such mechanisms justifies that they should be offered as services on the middleware layer. In this dissertation we evaluete the implementation of dynamic adaptation mechanisms in a component system developed using the Java programming language. These mechanisms should allow changing applications in simple and structured way, without the need to interrupt its operation. We compare the developed solution with a similar solution developed using the Lua proramming Language, in order to evaluate the advantages and disadvantages presented by this two types of languages in the implementation of dynamically adaptable sustems. We also evaluate the performance of the proposed.
|
37 |
[en] A DYNAMIC INTEGRATION MODEL FOR SOFTWARE COMPONENT SYSTEMS / [pt] EXAMES VIRTUAIS UTILIZANDO UM ALGORITIMO DE RAY CASTING ACELERADORENATO FONTOURA DE GUSMAO CERQUEIRA 30 July 2002 (has links)
[pt] Diferentes sistemas de componentes de software, tais como CORBA, COM e JavaBeans, apresentam
diferentes modelos de objetos e sistemas de tipos. Essas diferenças dificultam a integração de componentes oriundos de sistemas distintos e, conseqüentemente, são uma barreira para o reuso desses
componentes.
Neste trabalho, defendemos a tese de que uma linguagem interpretada com um determinado conjunto de mecanismos reflexivos, aliada à compatibilidade estrutural de tipos, oferece um mecanismo
de composição adequado tanto para a conexão dinâmica de componentes, quanto para a interoperabilidade entre diferentes sistemas de componentes. Esse mecanismo de composição realiza em tempo
de execução as tarefas de conexão, adaptação, implementação e verificação de tipos de componentes,
e trata de uma maneira uniforme componentes de diferentes sistemas, permitindo que estes sejam
conectados de uma forma transparente.
O mecanismo de composição que propomos se baseia em um modelo que privilegia a flexibilidade
em tempo de execução. Esse modelo de composição é composto por dois elementos principais. O
primeiro elemento é um modelo de objetos que definimos com a finalidade de poder representar
componentes dos diferentes sistemas tratados neste trabalho. Assim, esse modelo de objetos faz o
papel de um modelo integrador, isto é, um modelo sob o qual objetos de diferentes sistemas podem
ser representados e interagir de forma transparente.
O segundo elemento de nosso modelo de composição é um padrão de projeto (design pattern) para
a implementação de bindings entre linguagens interpretadas e sistemas de componentes. Esse padrão
de projeto, chamado Dynamic Language Binding, não utiliza a técnica tradicional de stubs. Ao invés
disso, ele utiliza mecanismos de reflexividade e tipagem dinâmica para implementar tanto proxies
genéricos, que podem representar qualquer componente de um determinado sistema, quanto adaptadores genéricos, que permitem a implementação de componentes utilizando a própria linguagem de
composição.
Como instrumento de validação da nossa proposta, descrevemos uma implementação do modelo
de composição denominada LuaOrb. LuaOrb utiliza a linguagem interpretada Lua como linguagem
de composição dinâmica, e integra os sistemas CORBA, COM e Java. / [en] Different component systems, such as CORBA, COM, and Java,
have different object models and
type systems. Such differences make the interoperability
between components of distinct systems
more difficult, and thus are an obstacle for component
reuse.
In this dissertation, we argue that an interpreted
language with a specific set of reflexive mechanisms,
together with a type system with structural compatibility,
offers a composition mechanism
suitable for dynamic component connection and for
interoperability between different component
systems. This composition mechanism performs at runtime
the tasks of verifying types, connecting,
adapting and implementing components, and handles
components of different systems in a uniform
way, allowing them to be connected transparently.
The proposed composition mechanism is based on a model
that favors flexibility at runtime. This
composition model is composed of two major elements. The
first one is an object model, defined in
order to represent components of the different systems
addressed in this dissertation. Thus, this object
model performs the role of a unifying model, that is, a
model in which objects from different systems
can interact and be represented transparently.
The second element of our composition model is a design
pattern to implement bindings between
interpreted languages and component systems. This design
pattern, named Dynamic Language Binding,
does not use the traditional stubs technique. Instead of
this, it uses reflection and dynamic typing
to implement generic proxies, which can represent any
component of a specific system, and generic
adapters, which allow component implementations using the
composition language itself.
In order to validate our proposal, we describe the LuaOrb
system, which is an implementation
of our composition model. LuaOrb uses the interpreted
language Lua as its dynamic composition
language, and integrates the systems CORBA, COM and Java.
|
38 |
[en] MUSANET: A MULTITIER PLATFORM FOR DEVELOPING SMART-CITY APPLICATIONS / [pt] MUSANET: UMA PLATAFORMA MULTI-CAMADA PARA DESENVOLVIMENTO DE APLICAÇÕES PARA CIDADES INTELIGENTESALEXANDRE MALHEIROS MESLIN 16 June 2021 (has links)
[pt] O número de Cidades Inteligentes no mundo está crescendo muito rapidamente, e não há indicação de que em breve haverá uma diminuição nesse crescimento, isso porque uma Cidade Inteligente ajuda seus gestores e habitantes a desfrutarem de seus recursos e gerenciarem vários de seus aspectos. Os administradores da cidade estão instalando sensores e atuadores em diferentes partes da cidade para coletar dados e reagir em tempo real às mudanças esperadas. Cabe aos programadores de computadores projetarem sistemas computacionais capazes de processar todos esses dados e disponibilizá-los como
informações aos habitantes e administradores de forma organizada. Para permitir que os programadores investiguem o comportamento das aplicações antes de sua implementação na cidade, desenvolvemos um testbed de três camadas que ajuda os programadores a analisar o desempenho em um ambiente controlado que também pode ser usado para implementação. O testbed permite que os desenvolvedores distribuam o processamento, incluindo fluxos de eventos/dados complexos, na nuvem, névoa ou borda. Embora a arquitetura do testbed seja independente de plataformas, nós implementamos uma versão de referência utilizando softwares gratuitos. Todos os componentes utilizados na versão de
referência foram avaliados individualmente por seus desenvolvedores, mas para verificar a escalabilidade da integração, nós desenvolvemos várias aplicações para avaliar o comportamento da arquitetura. Nós também desenvolvemos quatro aplicativos para coleta e processamento de dados IoT para ilustrar
como o testbed pode guiar os programadores na escolha da melhor forma de implementar suas aplicações. Baseado no comportamento das aplicações desenvolvidas, nós criamos uma taxonomia para classificar as aplicações para cidades inteligentes de acordo com as suas características e possibilidades de
distribuição para auxiliar ao desenvolvedor a implementar a sua aplicação. / [en] The number of Smart Cities in the world is growing very fast, and there is no indication that there will be a decrease in this growth soon, because a Smart City helps its managers and inhabitants to enjoy its resources and manage several of its aspects. City administrators are installing sensors
and actuators in different parts of the city to collect data and react in real time to expected changes. It is up to computer programmers to design computer systems capable of processing all this data and making it available to inhabitants and administrators as information in an organized manner. To allow programmers to investigate the behavior of applications before they are deployed in the city, we have developed a three-layer testbed that helps programmers analyze performance in a controlled environment that can also be used for implementation. The testbed allows developers to distribute processing, including complex event/data streams, in the cloud, fog or edge. Although the testbed architecture is platform independent, we have implemented a reference version using free software. All the components used in the reference version were evaluated individually by their developers, but to verify the scalability of the integration, we developed several applications to evaluate the behavior of the architecture. Four applications for collecting and processing IoT data have been developed to illustrate how the testbed can guide programmers in
choosing the best way to implement their applications. Based on the behavior of the developed applications, we created a taxonomy to classify applications for smart cities according to their characteristics and distribution possibilities to help the developer to implement their application.
|
39 |
[pt] REENGENHARIA DO CONTEXTNET UTILIZANDO KAFKA / [en] REENGINEERING CONTEXTNET USING KAFKACAMILA ANTONACCIO WANOUS 26 October 2021 (has links)
[pt] ContextNet é um middleware de comunicação baseado no padrão OMG
DDS, que suporta monitoramento em tempo real, unicast, groupcast e transmissão
para milhares de nós móveis. Este trabalho substituiu a infraestrutura
DDS (Data Distribution Service), utilizada na comunicação dos nós Core da
ContextNet, pela plataforma Kafka; simplificou a construção de aplicativos que
utilizam o middleware ContextNet; e adicionou novos recursos. Kafka é uma
plataforma de streaming capaz de subscrever, publicar, armazenar e processar
em fluxos em tempo real. A utilização do Kafka permitiu que as aplicações
construídas sobre o ContextNet sejam paralelizáveis. / [en] ContextNet is a communication middleware based on the OMG DDS
standard that supports real-time monitoring, unicast, groupcast, and broadcast
to thousands of mobile nodes. This work replaced the DDS (Data Distribution
Service) infrastructure used to communicate the ContextNet Core nodes
with the Kafka platform; simplified the construction of applications that use
the ContextNet middleware; and added new features. Kafka is a streaming
platform capable of subscribing, publishing, storing, and processing in realtime
streams. Using Kafka has enabled applications built on top of ContextNet
to be parallelizable.
|
40 |
[en] A FRAMEWORK FOR DYNAMIC ADAPTATION OF DISTRIBUTED COMPONENT-BASED SYSTEMS / [pt] UM FRAMEWORK PARA ADAPTAÇÃO DINÂMICA DE SISTEMAS BASEADOS EM COMPONENTES DISTRIBUÍDOSRENATO FIGUEIRO MAIA 04 August 2004 (has links)
[pt] A adaptação dinâmica de aplicações distribuídas tem se
tornado um recurso cada vez mais essencial na construção de
sistemas de computação. Isso é justificado especialmente
pelo avanço da tecnologia, que tem permitido a automação de
tarefas complexas em domínios de aplicação cada vez menos
tolerantes à suspensão de serviços. Nesta dissertação é
proposto o LuaOrb Adaptation Framework, que utiliza os
recursos da linguagem Lua na adaptação dinâmica de sistemas
baseados em componentes do Modelo de Componentes de CORBA
(CCM - CORBA Component Model ). Através desse framework é
possível utilizar as abstrações de papéis e protocolos para
realizar adaptações criando novas interações entre os
componentes do sistema, assim como reconfigurar
dinamicamente os componentes CCM. Devido a limitações do
modelo CCM, é proposta uma adaptação desse modelo para a
linguagem Lua, de onde surge o conceito de contêiner
dinâmico, que permite a construção de componentes
dinamicamente adaptáveis através de alterações na estrutura
e implementação desses componentes. O contêiner dinâmico
permite que essas alterações sejam feitas em níveis
diferentes, ou seja, no nível de uma única instância ou
implementação de componente, assim como em todas as
instâncias de um determinado componente. / [en] Dynamic adaptation of distributed applications has become
an essential feature in development of computer systems,
mainly justified by nowadays technology, which enables
complex tasks to be performed by computers in application
domains less suited for service interruption. This
dissertation proposes the LuaOrb Adaptation Framework,
which uses features of the programming language Lua to
dynamically adapt systems based on the CORBA Component
Model (CCM). This framework uses abstractions like
roles and protocols to adapt systems by creating new
interactions between systems components, as well as
provides features for dynamic reconfigurations of CCM
components. Due to limitations of CCM, an adaptation of this
model to Lua concepts is proposed, resulting in the
definition of dynamic containers, which enable development
of dynamically adaptable components by changes on component
structure and implementation. Dynamic containers allows
adaptations to be done on different levels, namely on the
level of a single component instance or implementation, as
well as on all instances of a given component.
|
Page generated in 0.0501 seconds