• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 20
  • Tagged with
  • 21
  • 21
  • 9
  • 9
  • 8
  • 7
  • 7
  • 6
  • 6
  • 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.
1

CReAMA: Uma Arquitetura de Referência para o Desenvolvimento de Sistemas Colaborativos Móveis Baseados em Componentes.

MELOTTI, M. 29 August 2014 (has links)
Made available in DSpace on 2016-08-29T15:33:19Z (GMT). No. of bitstreams: 1 tese_8121_dissert maison melotti creama.pdf: 2283105 bytes, checksum: 3cdd0c54b54e30d2c7cd63976d3cf541 (MD5) Previous issue date: 2014-08-29 / Sistemas colaborativos são sistemas que suportam dois ou mais usuários engajados em uma tarefa comum, fornecendo uma interface para um ambiente compartilhado para esses usuários e as aplicações móveis se tornaram uma parte importante das ferramentas de suporte à colaboração. Quando usados no contexto de mobilidade, sistemas colaborativos podem ser chamados de sistemas colaborativos móveis. Esses sistemas possibilitam, por exemplo, que equipes cooperem enquanto estão em movimento, aumentando o potencial da colaboração. Ferramentas para apoiar desenvolvedores de software são muito importantes de uma forma geral, mas no que diz respeito à colaboração móvel, ferramentas se tornam fundamentais principalmente por se tratar de uma área multidisciplinar que lida com muitas questões técnicas. Porém, sem uma base de requisitos ou modelos que mapeiam esses requisitos para se apoiar, muitas vezes o ferramental pode se tornar inutilizado ou pouco útil. Torna-se com isso de grande importância prover suporte ao desenvolvimento de sistemas colaborativos móveis por meio de um conjunto de ferramentas e métodos que apoiem o desenvolvedor na criação desses sistemas. Devido a isto, neste trabalho foi desenvolvida CReAMA, uma arquitetura de referência para orientar o desenvolvimento de sistemas colaborativos móveis orientados a componentes. Além da definição da arquitetura de referência também foi realizada uma avaliação de CReAMA com o intuito de observar com uma visão abrangente a validade da proposta.
2

Um metodo de testes para componentes tolerantes a falhas

Rocha, Camila Ribeiro 23 November 2005 (has links)
Orientador: Eliane Martins / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-07T04:49:59Z (GMT). No. of bitstreams: 1 Rocha_CamilaRibeiro_M.pdf: 20985604 bytes, checksum: 50cbb47532e2d8ee64f537135b9d8b89 (MD5) Previous issue date: 2005 / Resumo: Componentes de software são cada vez mais utilizados no desenvolvimento de sistemas computacionais, incluindo sistemas críticos, dados os benefícios de redução de custo e tempo de desenvolvimento através da reutilização de código. A garantia da qualidade, porém, continua dependente da realização de testes a cada novo contexto, e é dificultada especialmente pela falta de conhecimento sobre o funcionamento do componente. O método proposto tem como foco principal componentes tolerantes a falhas, e busca facilitar a realização de testes caixa preta que exercitem tanto o comportamento normal quanto o comportamento excepcional do componente. O método é voltado para a construção de componentes testáveis, apresentando diretrizes para inclusão de mecanismos de monitoração e de verificação dos contratos dos componentes, mesmo sem a presença de código fonte, com a utilização de programação orientada a aspectos. Para a geração automática de drivers e stubs, são utilizados modelos comportamentais do componente, no formato do diagrama de atividade da linguagem UML. O método de testes pode ser usado paralelamente ao método de desenvolvimento. No trabalho é apresentado o uso do método em conjunto com o Método para Definição do Comportamento Excepcional (MDCE+), proposto em outra dissertação de mestrado do Instituto de Computação da Unicam / Abstract: Nowadays software components are widely used in software development, including critical systems, because of advantages such as time and cost reduction through code reuse.However, quality assurance, although, is still dependent on test execution at every new utilization context of the component, and usually faces difficulties specially related to lack of knowledge about component details. The test method proposed focuses fault-tolerant components, facilitating black-box testing of both normal and exceptional behavior. Aiming testable components development, the method proposed presents guidelines for inclusion of tracking and contract checking mechanisms, source code independently, using aspect-oriented programming. Drivers and stubs are automatically generated from component behavior models, in UML activity diagram form. The test method can be used together with a development method. In this work, the test method use is presented in parallel to Method for the Definition of Exceptional Behavior, proposed in a Master¿s thesis of the Institute of Computing at Unicam / Mestrado / Mestre em Ciência da Computação
3

CosmosLoader : uma ferramenta de apoio ao gerenciamento de configuração baseado no modelo Cosmos* / CosmosLoader : a support framework for configuration management based on the Cosmos* model

Gayard, Leonel Aguilar, 1983- 23 August 2018 (has links)
Orientador: Cecília Mary Fischer Rubira / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-23T21:56:13Z (GMT). No. of bitstreams: 1 Gayard_LeonelAguilar_M.pdf: 1532057 bytes, checksum: 8324b0d9bd3eebedc13daca6f31c7c6b (MD5) Previous issue date: 2013 / Resumo: Nos últimos anos, o desenvolvimento baseado em componentes (DBC) e a arquitetura de software emergiram como disciplinas complementares para promover o reuso no desenvolvimento de software. O desenvolvimento baseado em componentes promove o desenvolvimento de componentes reutilizáveis e a formação de novos sistemas de software a partir da integração de componentes existentes. A arquitetura de um sistema de software descreve o sistema em termos de seus componentes arquiteturais, das propriedades destes e das conexões entre eles. Modelos de componentes possibilitam concretizar elementos de DBC como componentes e conectores a partir de conceitos tradicionais de desenvolvimento de software, como por exemplo, orientação a objetos e arquivos, de modo que um conjunto de classes e arquivos complementares podem formar um componente se seguirem as regras do modelo. A adequação a um modelo de componentes oferece benefícios para o sistema de software: por exemplo, o modelo de componentes EJB possibilita que um componente seja implantado em um contêiner e se beneficie do gerenciamento de segurança e transparência de localização oferecidos pelo contêiner; o modelo Cosmos estabelece regras para a criação de componentes baseados em conceitos de linguagens orientadas a objetos, como classes, interfaces e pacotes. Assim, a integração de componentes para a composição de um sistema de software de acordo com uma arquitetura e um modelo de componentes se torna uma atividade importante no desenvolvimento de um novo sistema de software. Uma configuração concreta é um conjunto de determinadas versões de componentes de software conectados de acordo com uma arquitetura. No entanto, observa-se que, se modelos facilitam a criação de componentes de software, ainda é necessário um esforço de desenvolvimento para integrar componentes e formar novos sistemas. O uso de ambientes de desenvolvimento orientados a arquitetura e DBC, e também de ferramentas de automatização, reduzem o esforço necessário para a integração de componentes. O ambiente Bellatrix é um ambiente de desenvolvimento integrado que permite a especificação de elementos arquiteturais e a modelagem de arquiteturas de software. No entanto, ainda existe um hiato entre a arquitetura de um sistema modelada no ambiente Bellatrix e a configuração do sistema a partir de componentes concretos. Esta dissertação apresenta a ferramenta CosmosLoader, que auxilia o gerenciamento de configurações de componentes baseados no modelo Cosmos. A solução proposta se baseia na extensão do ambiente Bellatrix e no modelo de componentes Cosmos* ("Cosmos estrela"), que estende o modelo Cosmos com o conceito de composição hierárquica de componentes. Por fim, são descritos estudos de caso realizados com essas ferramentas / Abstract: In the last years, Component-Based Development (CBD) and Software Architecture emerged as complementary disciplines that promote reuse in software development. Component-Based Development promotes the development of reusable software components and the creation of new software systems by integrating existing software components. The architecture of a software system describes such system in terms of its architectural components, their properties and the connections between them. Component models materialize concepts from CBD such as components and connectors from traditional concepts of software development, such as object orientation and files, so that a set of classes and complementary files form a component if they follow the component model's rules. The adequacy to a component model brings benefits to a software system: for instance, the EJB component model allows a component to be deployed to a container and benefit from the security management and location transparency provided by the container; the Cosmos component model allows the creation of components using only concepts from object-oriented languages, such as classes, interfaces and packages. Therefore, the integration of components to compose a new software system according to an architecture and a component model becomes an important activity in the development of a new software system. A concrete configuration is the set of specific versions of software components connected according to an architecture. However, it can be observed that while models ease the creation of software components, a development effort is still necessary to integrate components and form new systems. The use of development environments oriented towards architecture and CBD, and also of automations tools, reduce the effort needed to integrate components. The Bellatrix development environment is an integrated development environment that allows the specification of architectural elements and modeling of software architectures. However, there still is a gap between the architecture of a system modeled in Bellatrix and the configuration of a system from concrete software components. This dissertation presents the CosmosLoader tool, which assists in managing the configuration of components based on the Cosmos model. The proposed solution is based on an extension to the Bellatrix development environment and on the Cosmos* component model ("Cosmos star"), which extends the Cosmos component model with hierarchical composition of components. Finally, case studies using these tools are described / Mestrado / Ciência da Computação / Mestre em Ciência da Computação
4

Tratamento de exceções no desenvolvimento de sistemas tolerantes a falhas baseadas em componentes / Exception handling in the development of fault-tolerant component-based systems

Lima Filho, Fernando Jose Castor de 30 November 2006 (has links)
Orientador: Cecilia Mary Fischer Rubira / Tese (doutorado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-10T07:04:57Z (GMT). No. of bitstreams: 1 LimaFilho_FernandoJoseCastorde_D.pdf: 5063998 bytes, checksum: 8bfec9185fab14cb08c2a8b2ce7391a9 (MD5) Previous issue date: 2006 / Resumo: Mecanismos de tratamento de exceções foram concebidos com o intuito de facilitar o gerenciamento da complexidade de sistemas de software tolerantes a falhas. Eles promovem uma separação textual explícita entre o código normal e o código que lida com situações anormais, afim de dar suporte a construção de programas que são mais concisos fáceis de evoluir e confáveis. Diversas linguagens de programação modernas e a maioria dos modelos de componentes implementam mecanismos de tratamento de exceções. Apesar de seus muitos benefícios, tratamento de exceções pode ser a fonte de diversas falhas de projeto se usado de maneira indisciplinada. Estudos recentes mostram que desenvolvedores de sistemas de grande escala baseados em infra-estruturas de componentes têm hábitos, no tocante ao uso de tratamento de exceções, que tornam suas aplicações vulneráveis a falhas e difíceis de se manter. Componentes de software criam novos desafios com os quais mecanismos de tratamento de exceções tradicionais não lidam, o que aumenta a probabilidade de que problemas ocorram. Alguns exemplos são indisponibilidade de código fonte e incompatibilidades arquiteturais. Neste trabalho propomos duas técnicas complementares centradas em tratamento de exceções para a construção de sistemas tolerantes a falhas baseados em componentes. Ambas têm ênfase na estrutura do sistema como um meio para se reduzir o impacto de mecanismos de tolerância a falhas em sua complexidade total e o número de falhas de projeto decorrentes dessa complexidade. A primeira é uma abordagem para o projeto arquitetural dos mecanismos de recuperação de erros de um sistema. Ela trata do problema de verificar se uma arquitetura de software satisfaz certas propriedades relativas ao fluxo de exceções entre componentes arquiteturais, por exemplo, se todas as exceções lançadas no nível arquitetural são tratadas. A abordagem proposta lança de diversas ferramentas existentes para automatizar ao máximo esse processo. A segunda consiste em aplicar programação orientada a aspectos (AOP) afim de melhorar a modularização de código de tratamento de exceções. Conduzimos um estudo aprofundado com o objetivo de melhorar o entendimento geral sobre o efeitos de AOP no código de tratamento de exceções e identificar as situações onde seu uso é vantajoso e onde não é / Abstract: Exception handling mechanisms were conceived as a means to help managing the complexity of fault-tolerant software. They promote an explicit textual separation between normal code and the code that deals with abnormal situations, in order to support the construction of programs that are more concise, evolvable, and reliable. Several mainstream programming languages and most of the existing component models implement exception handling mechanisms. In spite of its many bene?ts, exception handling can be a source of many design faults if used in an ad hoc fashion. Recent studies show that developers of large-scale software systems based on component infrastructures have habits concerning the use of exception handling that make applications vulnerable to faults and hard to maintain. Software components introduce new challenges which are not addressed by traditional exception handling mechanisms and increase the chances of problems occurring. Examples include unavailability of source code and architectural mismatches. In this work, we propose two complementary techniques centered on exception handling for the construction of fault-tolerant component-based systems. Both of them emphasize system structure as a means to reduce the impactof fault tolerance mechanisms on the overall complexity of a software system and the number of design faults that stem from complexity. The ?rst one is an approach for the architectural design of a system?s error handling capabilities. It addresses the problem of verifying whether a software architecture satis?es certain properties of interest pertaining the ?ow of exceptions between architectural components, e.g., if all the exceptions signaled at the architectural level are eventually handled. The proposed approach is based on a set of existing tools that automate this process as much as possible. The second one consists in applying aspect-oriented programming (AOP) to better modularize exception handling code. We have conducted a through study aimed at improving our understanding of the efects of AOP on exception handling code and identifying the situations where its use is advantageous and the ones where it is not / Doutorado / Doutor em Ciência da Computação
5

Um estudo sobre os riscos inerentes a implantação do reuso de componentes no processo de desenvolvimento de software / Study about implementation risks of component reuse in the software development process

Sanches, Mauricio Gruhn 28 June 2005 (has links)
Orientador: Ana Cervigni Guerra / Dissertação (mestrado profissional) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-05T06:59:49Z (GMT). No. of bitstreams: 1 Sanches_MauricioGruhn_M.pdf: 621110 bytes, checksum: b9818d8d518e03c417515cfe58fe3990 (MD5) Previous issue date: 2005 / Resumo: No mundo globalizado de hoje, a necessidade de se prover sistemas para o gerenciamento do grande volume de informações gerado a cada dia torna imperativa a busca contínua por novas práticas e formas de desenvolvimento de software para a manipulação dessas informações. Isso está vinculado também à necessidade de se conseguir ganhos de qualidade, produtividade e redução de custos em tais desenvolvimentos, pois esses são fatores fundamentais no sucesso do negócio de empresas ligadas à tecnologia da informação. Nesse cenário, o reuso de componentes no processo de desenvolvimento de software vem a exercer um papel importante na concretização desses objetivos. Este trabalho apresenta os conceitos envolvidos no contexto de um processo de desenvolvimento de software baseado em componentes reusáveis. São apresentadas as diferentes formas de reuso, o conceito de componentes reusáveis e as formas que esses componentes podem assumir dentro de um domínio de aplicação. Componentes possuem características diferentes, podem ser originados a partir de diversas fontes e carregam detalhes importantes que devem ser considerados durante a sua documentação. Todos esses aspectos influenciam o grau de reuso de um componente dentro do projeto ou organização. São apresentadas algumas tecnologias que promovem a aplicação do reuso de componentes e os conceitos envolvidos na definição, gerenciamento e implantação de repositórios de componentes reusáveis, fundamentais na consolidação do processo de reuso. Novos papéis e responsabilidades envolvidos no processo de reuso são apresentados, além de exemplos de métricas a serem utilizadas com o intuito de auxiliar a medição dos benefícios proporcionados pelo reuso dentro de um processo já consolidado. O resultado desse trabalho é uma análise crítica em relação aos benefícios do reuso e os riscos associados à sua implementação no processo de desenvolvimento de software, considerandose os aspectos tecnológicos, humanos e econômicos envolvidos em cada tópico abordado ao longo do trabalho / Abstract: In a globalized world, the needs to release new systems to manage the large volume of information generated every day force a continuous search for new software development practices in order to handle this information. This is related to the needs to obtain quality and productivity improvements, as well as cost reduction in such development, because these are the main success factors of Information Technology companies. In this scenario, the component reuse in the software development process plays an important role in order to achieve these goals. This work presents the concepts around the context of a software development process based on reusable components. Different types of reuse are explained, as well as the concept of a reusable component and types of components inside an application domain. Components have different characteristics, are originated from different sources and carry on important details that should be analyzed during its documentation. All these aspects have influence on the reuse level of the components inside the project or the company. Some technologies that promote the component reuse and the concepts involved in the definition, management and implementation of reusable software components, which are the basis to consolidate the reuse process, are presented. New roles and responsibilities involved in the reuse process are shown, and also some metrics used to help to measure the benefits due to a consolidated reuse process. The results of this work are a critical analysis about the reuse benefits and the risks associated to its implementation in the software development process, taking into account the technological, human and economic factors involved on each topic discussed along this work / Mestrado / Engenharia de Software / Mestre Profissional em Computação
6

Uma infra-estrutura de suporte a evolução para repositorios de componentes / An infrastructure to support evolution in component repositories

Tizzei, Leonardo Pondian, 1980- 03 February 2007 (has links)
Orientador: Cecilia Mary Fischer Rubira / Dissertação (mestrado) - Universidade Estadual de Campinas,Instituto de Computação / Made available in DSpace on 2018-08-08T19:35:35Z (GMT). No. of bitstreams: 1 Tizzei_LeonardoPondian_M.pdf: 1173368 bytes, checksum: dd09b9de9a47db9f4f82b8f63dcf35a7 (MD5) Previous issue date: 2007 / Resumo: No contexto do Desenvolvimento Baseado em Componentes(DBC), o elo de ligação entre desenvolvedores e consumidores de componentes de software são os repositórios de componentes, onde eles são adicionados por seus desenvolvedores e recuperados pelos integradores de sistemas. Considerando um cenário de evolução, onde componentes são modificados, são imprescindíveis modelos de evolução de componentes para definir uma abordagem sistemática de mudanças. Elas podem ocorrer, por exemplo, na especificação ou implementação de um componente e o repositório de componentes deve dar apoio à evolução uma vez que ela é parte inerente do processo de desenvolvimento de software. Contudo, assim como o software, modelos de evolução são modificados para acompanhar o desenvolvimento tecnológico e as necessidades de seus usuários. Além disso, diferentes produtores de componentes podem possuir modelos distintos. Este trabalho apresenta uma infra-estrutura de suporte à evolução em um repositório de componentes, para apoiar serviços de DBC, como a conversão de componentes para outros modelos de implementação, extração de metainformação de código-fonte de componentes, evolução de componentes e verificação de modelos de implementação de componentes. No caso particular desta dissertação, o repositório de componentes escolhido é o Rigel, que foi estendido para dar suporte à evolução de componentes. O repositório Rigel oferece as condições necessárias para adoção de um modelo de evolução de componentes, através da utilização de um padrão de metadados de componentes chamado RAS. Ferramentas de software ajudam a aumentar a produtividade de desenvolvedores e evitar tarefas repetitivas. Além disso, atividades de modificação são sujeitas a erros humanos. Portanto, foram desenvolvidas quatro ferramentas para dar suporte ao modelo de evolução SACE e ao modelo de implementação de componentes COSMOS. As ferramentas foram construÍdas com base em um framework de componentes baseado em regras que usa um motor de inferência chamado Drools. Este framework de componentes externaliza as regras da aplicação, garatindo uma maior modificabilidade, característica que é essencial para que as ferramentas possam evoluir em conformidade com os modelos apóiam / Abstract: In the Component-Based Development (CBD), the link between software component developers and consumers are component repositories where software components are checkedin by their developers and checked-out by their systems integrators. Considering an evolution scenario, when components are modified, it is essential component evolution models in order to define a systematic approach to component changes. These modifications can occur, for instance, in the component specification and implementation, and component repositories should support these kind of evolutions. However, component evolution models themselves can be modified to follow technological development and different user's needs. Furthermore, different component producers may also have distinct models. This work presents an infrastructure to support evolution in component repositories, to support various CBD services, such as component conversion to other implementation models, extraction of metainformation from the source code of components, component evolution and check implementation models. Particularly, in this work, the component reposítory chosen was Rigel (developed at IC-UNICAMP), which was extended to support component evolution. The Rigel repository provides necessary conditions to adopt a component evolution model, by using an extensibIe component metadata pattern called RAS specification. Software tools heIp to increase developer's productivity and to avoid repetitive tasks. Furthermore, human modification activities are error prone. Therefore, we have developed four tools to support the SACE evolution model and the COSMOS component implementation model. These tools were developed using a rule-based framework which is based on an inference engine called Drools. This component framework is important to externalize the application rules, to guarante a greater modifiability, which is essential for the evolution of the tools in conformity with the models they support / Mestrado / Mestre em Ciência da Computação
7

Evolução de componentes compartilhados por multiplas linhas de produto de software / Evolution of components shared by multiple software product lines

Assis, Wendel Malta de 15 August 2018 (has links)
Orientador: Cecilia Mary Fischer Rubira / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-15T07:02:41Z (GMT). No. of bitstreams: 1 Assis_WendelMaltade_M.pdf: 3475428 bytes, checksum: a93eaa26b089299962c102e6c3a037c5 (MD5) Previous issue date: 2009 / Resumo: O uso de Linhas de Produto de Software é uma prática comum entre as empresas de software, tendo como objetivo promover o desenvolvimento de um conjunto de produtos de software relacionados através da reutilização de um núcleo comum de ativos de software. Dentre estas empresas, podemos mencionar a Motorola, cujo ambiente de desenvolvimento em que múltiplas linhas de produto são mantidas em paralelo serviu de motivação para este trabalho. Na prática, a complexidade de alguns tipos de negócios apoiados por linhas de produto implica em mudanças na forma como a adoção da abordagem é sugerida pela literatura. Em particular na Motorola, as linhas de produto são baseadas em componentes e a arquitetura da linha de produto possui diversos pontos de variação, onde variantes de componentes representando diversas alternativas de projeto podem ser escolhidas. Além disso, várias linhas de produto são mantidas em paralelo e os componentes e suas variantes podem ser compartilhados entre elas. Neste contexto, a evolução de componentes é uma tarefa complexa, pois a inclusão de novas características nas variantes dos componentes pode impactar não somente a arquitetura e os ativos de uma única linha de produto, mas também das diversas linhas que as utilizam. A principal contribuição deste trabalho é a documentação de uma família de padrões de evolução de componentes compartilhados por múltiplas linhas de produto de software. Além desta família de padrões, também é apresentado um processo para auxiliar na análise do padrão de evolução a ser adotado para implementar uma determinada requisição de mudança / Abstract: The Software Product Line approach is becoming widely used by software companies, whose goal is to promote the development of a set of related software products through the reuse of a common core of software assets. Among these companies, we can mention Motorola, whose development environment where multiple software product lines are maintained in parallel served as the motivation for this work. In practice, the complexity of some types of businesses supported by product lines involves changes in how the adoption of the approach is suggested by the literature. At Motorola, the product lines are based on components and the product line architecture has many variation points, where variants of components representing various design alternatives can be chosen. In addition, several product lines are maintained in parallel and the components and their variants can be shared among them. In this context, the evolution of components is a complex task, because the inclusion of new features in variants of the components can impact not only the architecture and assets in a single product line but also on many products lines that are using them. The main contribution of this work is the documentation of a family of component evolution patterns that are shared between multiple software product lines. Besides that, a process to assist in analyzing the evolution pattern to be taken to implement a specific change request is presented / Mestrado / Engenharia de Software / Mestre em Ciência da Computação
8

Projeto e implementação de variabilidade em arquiteturas baseadas no modelo de componentes COSMOS* / Design and implementation of architectural variabilities based on COSMOS*

Dias, Marcelo de Oliveira 15 August 2018 (has links)
Orientador: Cecilia Mary Fischer Rubira / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-15T17:22:42Z (GMT). No. of bitstreams: 1 Dias_MarcelodeOliveira_M.pdf: 4085359 bytes, checksum: c41b2892cccbfb8a55cf89dc93b47f00 (MD5) Previous issue date: 2010 / Resumo: Muitos esforços estão sendo feitos, atualmente, para se obter um alto grau de reutilização durante o desenvolvimento de sistemas. Linhas de produtos de software (LPS) é uma abordagem moderna para promover a reutilização de software. Um dos principais artefatos de uma LPS é sua Arquitetura de Linhas de Produtos (ALP), que provê uma perspectiva global das variabilidades da linha, ao passo que engloba os conceitos tradicionais de uma arquitetura de software. Devido as variabilidades de software de uma ALP, a evolução arquitetural é ainda mais complexa, do que quando comparado com evolução de arquiteturas de software convencionais. O objetivo principal deste trabalho é propor um novo modelo para especificar e implementar variabilidades de software em ALPs baseadas em componentes, de forma a facilitar a evolução arquitetural. A solução proposta é um refinamento do modelo de implementações de componentes COSMOS*, chamado COSMOS*-VP, que emprega a modularização de pontos de variação explícitos e modernas abordagens de programação orientada a aspectos, com o intuito de promover a estabilidade arquitetural, e assim, facilitar a evolução de ALPs. A validação do modelo proposto foi feita utilizando duas LPS, que sofreram diversos cenários de evolução reais. Durante as evoluções, as ALPs criadas utilizando COSMOS*-VP tiveram a estabilidade mensurada através de métricas de impacto de mudanças e modularidade. Os resultados obtidos para o modelo proposto foram comparados com os alcançados utilizando o modelo COSMOS* original / Abstract: Nowadays, many efforts are being made to achieve a high degree of reuse during systems development. Software Product Lines (SPL) is a modern approach to improve software reuse, and one of its main artifacts is the Product Line Architecture (PLA). A PLA provides a global view of the variabilities of a SPL, while it embodies the concepts and advantages of the traditional software architecture. Due to its variabilities, a PLA is harder to evolve than a convetional software architecture. The main goal of this work is to propose a new model to specify and implement software variabilities of component-based PLAs. Our proposed solution is an extension of the component implementation model COSMOS*, called COSMOS*-VP, which employs specific elements and modern aspect-oriented approaches to modularize architectural variation points, aiming at the improvement of architectural stability of PLAs, and thus, facilitating their evolution. The validation of the proposed solution was made using two SPLs, which were targed of several real evolution scenarios. During the evolution, the PLAs created using COSMOS*-VP had their stability measured using metrics of change impact and modularity. The results of the proposed model were compared with those achieved using the COSMOS* model / Mestrado / Engenharia de Software / Mestre em Ciência da Computação
9

SysSU - Um Sistema de Suporte para Computação Ubíqua / SysSU - A System Support for Ubiquitous Computing

Lima, Francisco Fabrício de Paula January 2011 (has links)
LIMA, Francisco Fabrício de Paula. SysSU - Um Sistema de Suporte para Computação Ubíqua. 2011. 107 f. : Dissertação (mestrado) - Universidade Federal do Ceará, Centro de Ciências, Departamento de Computação, Fortaleza-CE, 2011. / Submitted by guaracy araujo (guaraa3355@gmail.com) on 2016-06-30T16:44:31Z No. of bitstreams: 1 2011_dis_ffplima.htm: 516 bytes, checksum: 2437a069c1b68c32347184787d792238 (MD5) / Approved for entry into archive by guaracy araujo (guaraa3355@gmail.com) on 2016-06-30T16:47:05Z (GMT) No. of bitstreams: 1 2011_dis_ffplima.htm: 516 bytes, checksum: 2437a069c1b68c32347184787d792238 (MD5) / Made available in DSpace on 2016-06-30T16:47:05Z (GMT). No. of bitstreams: 1 2011_dis_ffplima.htm: 516 bytes, checksum: 2437a069c1b68c32347184787d792238 (MD5) Previous issue date: 2011 / The hardware technologies necessary for the realization of Ubiquitous Computing (eg, smartphones, tablets, sensors and smart appliances) have evolved and, today, software components that enable new forms of interaction, able to recognize the face and voice of users, track its location and provide ways to incorporate augmented reality, needed in ubiquitous environments, are being widely developed. In addition, the Software Engineering has evolved to incorporate new development techniques seeking to increase quality and reduce production time of these software artifacts. However, in Ubiquitous Computing difficulties arise in the design of architectures, modeling collaboration among heterogeneous software components, system engineering, and marketing, implementation and validation of the system as a whole. Thus, the development of ubiquitous systems still presents many challenges due to the great diversity and complexity of your requirements. Especially, in ubiquitous environments, where the volatility and heterogeneity of devices, services and applications are common features, and unbound forms of interactions between entities in interoperable distributed software system becomes essential. This volatility and heterogeneity influence the way services are provided in the system, as they are discovered and invoked and how their activities are coordinated to achieve the ultimate goal of the applications. Therefore, this dissertation proposes a new software infrastructure in the form of a support system, called SysSU (System Support for Ubiquity). This support system is shown by a reference architecture and a formal specification. The architecture is based on models Linda and publish / subscribe for the purpose of achieving the desired decoupling. Since the formal specification determines the semantics of the primitives used for the interactions between software components and syntax of the messages exchanged between them in order to standardize implementations. To validate the proposed work, a reference implementation, based on formal specification and architecture, was built. This implementation was used to develop a case study consisting of two separate applications, and UbiPrinter GREat Tour, which exhibit characteristics of volatility and heterogeneity. / As tecnologias de hardware necessárias para a realização da Computação Ubíqua (e.g., smartphones, tablets, sensores e eletrodomésticos inteligentes) evoluíram e, atualmente, componentes de software que possibilitam novas formas de interação, capazes de reconhecer a face e a voz dos usuários, rastrear a sua localização e prover formas de incorporar realidade aumentada, necessários em ambientes ubíquos, estão sendo largamente desenvolvidos. Além disso, a Engenharia de Software evoluiu e passou a incorporar novas técnicas de desenvolvimento buscando aumentar a qualidade e diminuir o tempo de produção desses artefatos de software. Contudo, na Computação Ubíqua as dificuldades surgem no projeto das arquiteturas, na modelagem da colaboração entre os componentes de software heterogêneos, na engenharia do sistema, e na comercialização, implantação e validação do sistema como um todo. Assim, o desenvolvimento de sistemas ubíquos ainda apresenta inúmeros desafios devido à grande diversidade e complexidade dos seus requisitos. Particularmente, em ambientes ubíquos, onde a volatilidade e a heterogeneidade de dispositivos, serviços e aplicações são características comuns, formas de interações desacopladas e interoperáveis entre as entidades de software distribuídas no sistema tornam-se essenciais. Essa volatilidade e heterogeneidade influencia a forma como os serviços são disponibilizados no sistema, como são descobertos e invocados e como suas atividades são coordenadas para se atingir o objetivo final das aplicações. Nesse contexto, este trabalho de dissertação propõe uma nova infraestrutura de software, na forma de um sistema de suporte, denominada SysSU (System Support for Ubiquity). Esse sistema de suporte é apresentado por meio de uma arquitetura de referência e de uma especificação formal. A arquitetura é baseada nos modelos Linda e publish/subscribe com o propósito de se atingir o desacoplamento desejado. Já a especificação formal determina a semântica das primitivas utilizadas para as interações entre os componentes de software e a sintaxe das mensagens trocadas entre eles com o objetivo de padronizar as implementações. Para validar o trabalho proposto, uma implementação de referência, baseada na arquitetura e na especificação formal, foi construída. Essa implementação foi utilizada no desenvolvimento de um estudo de caso consistindo de duas aplicações distintas, GREat Tour e UbiPrinter, que apresentam características de volatilidade e heterogeneidade.
10

RIGEL : um repositorio com suporte para desenvolvimento basaeado em componentes / RIGEL : a repository with support for component based development

Pinho, Helder de Sousa 24 February 2006 (has links)
Orientador: Cecilia Mary Fischer Rubira / Dissertação (mestrado profissional) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-07T00:50:23Z (GMT). No. of bitstreams: 1 Pinho_HelderdeSousa_M.pdf: 1255692 bytes, checksum: 91ab06629ddbbf4b6885b93010e3511f (MD5) Previous issue date: 2006 / Resumo: O desenvolvimento baseado em componente (DBC) pennite que uma aplicação seja construída pela composição de componentes de software que já foram previamente especificados, construídos e testados, resultando em ganhos de produtividade e qualidade no software produzido. Para haver reuso de componentes, é necessário que usuários consIgam procurar e recuperar componentes previamente especificados ou implementados Um repositório de componentes é essencial para possibilitar tal reuso. Interoperabilidade é um requisito importante para repositórios, mas nem todas as ferramentas a tratam com a devida relevância. O modelo de metadados de um repositório para DBC deve contemplar características de componentes, tais como interface e separação entre especificação e implementação. Este trabalho apresentou o Rigel, um repositório de bens de software reutilizáveis com suporte para desenvolvimento baseado em componentes. O Rigel apresenta características que facilitam atividades executadas durante o desenvolvimento de sistemas baseados em componentes, tais como pesquisa, armazenamento e recuperação de bens e integração com CVS. O padrão RAS foi adotado como o fonnato de metadados e de empacotamento de bens, facilitando a integração do Rigel com outros sistemas. O modelo de metadados do RAS foi estendido para apoiar um modelo conceitual de componentes e arquitetura de software. Esta adaptação resultou na criação de quatro novos profiles RAS, para apoiar bens relacionados à DBC: componente abstrato, componente concreto, interface e configuração arquitetural. Um estudo de caso foi conduzido a fim de mostrar como o Rigel apóia um processo de desenvolvimento baseado em componentes. Conclui-se que as características do repositório Rigel facilitam um desenvolvimento baseado em componentes / Abstract: The component based development (CBD) permits an application to be built by composition of previously specified, build and tested components, resulting in increases in productivity and quality of the produced software. 1n order to make the reuse of components happen, it is necessary that users are able to search and retrieve previously specified or implemented components. A component repository is important to support this reuse. 1nteroperability is an important requirement for repositories, but not alI the tools consider it with the required relevance. The metadata model of a CBD repository must handle components features, such as interface and separation between specification and implementation. This work presents Rigel, a repository of reusable software assets with a support for component based development. Rigel presents features that make activities performed during the development of component based systems easier, such as search, storage and retrieval of assets and CVS integration. RAS standard was adopted as the asset metadata and packaging format, making Rigel integration with other systems easier. The RAS metadata model was extended to support a conceptual model of components and software architecture. This adaptation resulted in the creation of four new RAS profiles to support CBD related assets: abstract component, concrete component, interface and architectural configuration. A case study was conducted in order to show how Rigel supports a CBD processo We also conclude that Rigel repository features make the component based development easier / Mestrado / Engenharia de Computação / Mestre em Computação

Page generated in 0.1103 seconds