• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 17
  • 1
  • Tagged with
  • 18
  • 18
  • 18
  • 18
  • 7
  • 7
  • 6
  • 6
  • 5
  • 5
  • 5
  • 5
  • 4
  • 4
  • 4
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
11

[en] COMPONENT-BASED GROUPWARE DEVELOPMENT BASED ON THE 3C COLLABORATION MODEL / [pt] DESENVOLVIMENTO DE GROUPWARE COMPONENTIZADO COM BASE NO MODELO 3C DE COLABORAÇÃO

MARCO AURELIO GEROSA 12 July 2006 (has links)
[pt] Groupware é evolutivo e é difícil de construir e de manter, e acaba tendo um código desorganizado e difícil de evoluir. Nesta tese é proposta uma abordagem de desenvolvimento de groupware baseado em componentes concebidos em função do modelo 3C de colaboração. No modelo 3C, a colaboração é analisada a partir da comunicação, coordenação e cooperação. Na abordagem proposta, partese das necessidades de colaboração do grupo, analisadas com base no modelo, e componentes de software também organizados em função do modelo são utilizados para compor a solução. Como estudo de caso, a abordagem é aplicada no desenvolvimento da nova versão do ambiente AulaNet, cujo código padece dos problemas mencionados anteriormente. Neste estudo de caso, são desenvolvidos component kits para instanciar os serviços de comunicação do ambiente. Os componentes possibilitam compor, recompor e customizar os serviços de modo a refletir alterações na dinâmica de colaboração. / [en] Groupware is evolutionary and difficult to develop and maintain. Thus, its code becomes unstructured and difficult to evolve. In this thesis, a groupware development approach based on components organized according to the 3C collaboration model is proposed. In this model, collaboration is analyzed based on communication, coordination and cooperation. Collaboration necessities of the group, analyzed based on the 3C model, are mapped to software components, also organized according to the model, in order to compose the system. The proposed approach is applied as a case study to the development of the new version of the AulaNet environment. The environment´s code currently suffers the mentioned problems. In order to instantiate the communication services of the environment, for the case study, 3C based component kits were developed. The components allow the composition, re-composition and customization of the services in order to reflect collaboration dynamics changes.
12

[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 JAVA

EDUARDO 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.
13

[en] A DYNAMIC INTEGRATION MODEL FOR SOFTWARE COMPONENT SYSTEMS / [pt] EXAMES VIRTUAIS UTILIZANDO UM ALGORITIMO DE RAY CASTING ACELERADO

RENATO 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.
14

[en] SUPPORT FOR ARCHITECTURAL EVOLUTION IN COMPONENT-BASED DISTRIBUTED SYSTEMS / [pt] SUPORTE À EVOLUÇÃO ARQUITETURAL DE SISTEMAS DISTRIBUÍDOS BASEADOS EM COMPONENTES DE SOFTWARE

AIRTON JOSE ARAUJO LIBORIO 13 January 2015 (has links)
[pt] A natureza de certos sistemas de software determina que estes tenham de executar de maneira ininterrupta. Por outro lado, diversos sistemas de software são constantemente sujeitos a mudanças, por questões que incluem, mas não se limitam a, infraestrutura, correções de falhas, adição de funcionalidades e mudanças na lógica de domínio. Evolução dinâmica de software consiste em alterar aplicações durante a sua execução sem interrompê-las, mantendo-as disponíveis mesmo durante a aplicação destas modificações. Sistemas distribuídos baseados em componentes permitem decompor o software em entidades claramente separadas. Nesses casos, a evolução pode ser resumida a remoção, adição e modificação de tais entidades, e se tais atividades podem ser exercidas enquanto a aplicação está em execução, tem-se evolução dinâmica de software. Através disso, neste trabalho foi criada uma abordagem em que é possível se manipular arquiteturas distribuídas desenvolvidas sobre o middleware SCS de maneira a se minimizar a interrupção de partes do sistema enquanto certas adaptações são implantadas. Aplicamos o mecanismo em um sistema distribuído já consolidado, o CAS, que consiste em uma infraestrutura de gravação extensível com suporte a captura e acesso automáticos de mídias distribuídas. / [en] The nature of some software systems determine that they run without interruption. Furthermore, many software systems are constantly subject to change for reasons that include, but are not limited to, infrastructure changes, bug fixes, addition of functionalities, and changes in the domain logic. Dynamic software evolution consists into changing application during execution without stopping them, keeping them available even when applying these modifications. Component-based distributed systems allows decomposing software into clearly separated entities. In such cases, evolution can be summarized to removal, addition and modification of such entities, and if such activities can be performed while the application is executing, dynamic adaptation is achieved. In this work, we ve investigated an approach that aims to allow manipulation of distributed software architectures developed over the SCS middleware, in order to minimize system disruption while certain adaptations are deployed. The mechanism was tested in an already consolidated distributed system, the CAS, which consists of an extensible recording infrastructure that supports automatic capture and access of distributed medias.
15

[en] ARCHITECTURE FOR COORDINATION AND COMPOSITION OF SOFTWARE / [pt] UMA ARQUITETURA PARA A COORDENAÇÃO E A COMPOSIÇÃO DE ARTEFATOS DE SOFTWARE

GUSTAVO ROBICHEZ DE CARVALHO 16 October 2003 (has links)
[pt] A engenharia de software baseada em componentes é uma abordagem que prevê a reutilização de artefatos de software na geração de um conjunto de aplicações. Ao desenvolver aplicações com esta abordagem, é preciso reunir ou compor componentes de software já existentes. Após compor estas unidades, é necessário coordenar as interdependências estabelecidas entre elas para adequar a aplicação em desenvolvimento à resolução do problema. Esta dissertação propõe uma arquitetura de software que separa e estrutura os conceitos de coordenação, composição e componentes de software em camadas arquiteturais. A partir desta estrutura, espera-se que modificações específicas em construções de uma camada tenham o mínimo de influência sobre as demais. ACCA (Arquitetura para a Coordenação e a Composição de Artefatos de Software) deve ser entendida como uma estrutura conceitual utilizada para organizar o desenvolvimento de software baseado em componentes. Além disto, são apresentados um framework para ilustrar a realização da camada de composição de ACCA, o processo de reificação de ACCA e um processo de desenvolvimento de software utilizando a abordagem proposta. / [en] Component Based Software Engineering is an approach for reusing software artifacts when developing applications. In order to develop solutions using this approach, it is necessary to compose software using components that have already been developed. After putting those pieces together, we need to coordinate the interdependencies established among those compositions to fulfill the requirements, needed to resolve a problem. This dissertation proposes a software architecture that separates and structures the concepts of coordination, composition and software components in different architectural layers. Using this approach, we expect that specific modifications in layer constructions have the minimum impact on the others layers. ACCA (Architecture for Coordination and Composition of software Artifacts) must be understood as a conceptual structure that is used to organize component based software development. It also presents a composition framework, the reification process for ACCA and a software development process organized using this approach.
16

[en] LINDAX.: A LANGUAGE FOR DESCRIBING ADAPTABLE COMMUNICATION SYSTEMS / [pt] LINDAX: UMA LINGUAGEM DE DESCRIÇÃO DE SISTEMAS DE COMUNICAÇÃO ADAPTÁVEIS

ANTONIO TADEU AZEVEDO GOMES 25 August 2005 (has links)
[pt] No cenário atual do setor de telecomunicações, percebe-se uma tendência crescente em direção ao uso de sistemas de comunicação que permitam a criação rápida e de baixo custo de serviços. Na busca por arquiteturas de rede que respondam a essa tendência, vários grupos têm centrado seus esforços em pesquisas na área de redes programáveis. O surgimento da tecnologia de processamento de rede no mercado de equipamentos de telecomunicações abriu ainda maior espaço para pesquisas nessa área. Nesse contexto, é imprescindível que os processos de criação de serviços sejam bem estruturados e, o quanto possível, sistemáticos. Esta tese, inserida em um projeto desenvolvido no Laboratório TeleMídia da PUC-Rio, adota uma abordagem de criação de serviços em que técnicas de Arquitetura de Software e de Desenvolvimento Baseado em Componentes são aplicadas consistentemente e de modo ubíquo, desde especificações de alto nível de serviços até a implementação de software básico em unidades programáveis de processamento de rede. Os objetivos principais são expressar a adaptabilidade de múltiplos aspectos nesses serviços e, simultaneamente, reduzir a sobrecarga cognitiva em projetistas e programadores, decorrente dessa multiplicidade de aspectos. Para isso, foi desenvolvida uma linguagem de especificação baseada em XML, chamada Lindax, que permite descrever arquiteturalmente diversos aspectos de sistemas de comunicação - por meio de um arcabouço sintático único para DSLs - e restrições de adaptação em cada aspecto particular - por meio de estruturas de estilos arquiteturais. Complementando o trabalho, um conjunto de ferramentas de manipulação de descrições arquiteturais em LindaX é definido. Essas ferramentas permitem o refinamento para diferentes linguagens formais ou a síntese de configurações e mecanismos de controle de adaptações para diversas plataformas. / [en] It is increasingly noticeable, in the current telecommunications market, a trend towards using communication systems that allow rapid and cheap deployment of new services. In pursuit of network architectures that keep up with such trend, significant research has been carried out on programmable networks. This field is set to gain further impetus from developments in network processor-based equipment. In this context, it is crucial that service creation processes be well structured and, as far as possible, systematic. This thesis, which is part of an ongoing project at the TeleMídia Laboratory, PUC-Rio, adopts a service creation approach in which techniques from Software Architecture and Component-Based Software Development are uniformly and ubiquitously applied at all levels of a communication system, ranging from high- level service specifications to low-level software implementation running in network processors. The main aim is to express adaptibility in cross-cutting service aspects and, meanwhile, cut down on the cognitive overhead usually imposed upon designers and programmers due to such multiplicity of concerns. For the sake of the aforementioned aim, an XML-based specification language, called LindaX, has been developed. Such language allows various system aspects to be architecturally described - by means of a single syntactic framework for DSLs - as well as adaptable in a constrained way - through style structures. Complementing the work, a toolset for handling LindaX architecture descriptions has been defined, which allows their refinement to different formal languages or their synthesis onto system configurations and adaptation controlling mechanisms for diverse platforms.
17

[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ÍDOS

RENATO 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.
18

[en] FLEXIBLE COMPOSITION FOR C PLUS PLUS 11 / [pt] COMPOSIÇÃO FLEXIVEL EM C MAIS MAIS 11

MAXIMILIEN PHILIPPE M A DE BAYSER 01 February 2017 (has links)
[pt] Injeção de dependências, uma forma de inversão de controle, é uma forma de estruturar a configuração e composição de componentes de software que traz vários benefícios como um acoplamento reduzido entre componentes. No entanto, um framework genérico de injeção de dependências requer instrospecção em tempo de execução, o que explica por que injeção de dependências é popular em Java mas praticamente inexistente em C Mais Mais. Neste trabalho apresentamos um sistema de introspecção para C Mais Mais 11 e mostramos como ele pode ser usado para melhorar uma implementação de Service Component Architecture (SCA) para C Mais Mais. Usamos vários novas funcionalidades de C Mais Mais 11 como perfect forwarding, variadic templates e lvalue references para melhorar a usabilidade da API de reflexão e minimizar o overhead de execução. / [en] Dependency injection, a form of inversion of control, is a way of structuring the configuration and composition of software components that brings many benefits such as a loose coupling of components. However, a generic dependency injection framework requires runtime type introspection and this is why dependency injection is popular in Java and almost non-existent in C plus plus. In this work we present a introspection system for C plus plus 11 and show how to use it to improve an implementation of the Service Component Architecture (SCA) for C plus plus. It uses several features of C plus plus 11 such as perfect forwarding, variadic templates and lvalue references to improve usability and minimize overhead.

Page generated in 0.0521 seconds