• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 57
  • 33
  • 5
  • 5
  • 3
  • 2
  • 1
  • 1
  • 1
  • Tagged with
  • 111
  • 111
  • 111
  • 43
  • 28
  • 28
  • 26
  • 26
  • 23
  • 21
  • 20
  • 19
  • 18
  • 17
  • 16
  • 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.
71

Caracterizando os fluxos excepcionais em linhas de produto de software: um estudo explorat?rio

Melo, Hugo Faria 26 July 2012 (has links)
Made available in DSpace on 2014-12-17T15:48:02Z (GMT). No. of bitstreams: 1 HugoFM_DISSERT.pdf: 1847783 bytes, checksum: 58d9312a629dabdd3fe4b15c8dc44101 (MD5) Previous issue date: 2012-07-26 / The Exception Handling (EH) is a widely used mechanism for building robust systems. In Software Product Line (SPL) context it is not different. As EH mechanisms are embedded in most of mainstream programming languages (like Java, C# and C++), we can find exception signalers and handlers spread over code assets associated to common and variable SPL features. When exception signalers and handlers are added to an SPL in an unplanned way, one of the possible consequences is the generation of faulty family instances (i.e., instances on which common or variable features signal exceptions that are mistakenly caught inside the system). In this context, some questions arise: How exceptions flow between the optional and alternative features an LPS? Aiming at providing answers to these questions, this master thesis conducted an exploratory study, based on code inspection and static analysis code, whose goal was to categorize the main ways which exceptions flow in LPSs. To support the study, we developed an static analysis tool called PLEA (Product Line Exception Analyzer) that calculates the exceptional flows of LPSs, and categorize these flows according to the features associated with handlers and signalers. Preliminary results showed that some types of exceptional flows have more potential to yield failures in exceptional behavior of SLPs / O mecanismo de tratamento de exce??es ? amplamente utilizado para a constru??o de sistemas robustos. No contexto de Linhas de Produto de Software (LPSs) n?o ? diferente. Uma vez que mecanismos de tratamento de exce??es est?o embutidos nas principais linguagens de programa??o da atualidade (como Java, C# e C++), podemos encontrar sinalizadores e tratadores de exce??es espalhados entre os artefatos de c?digo associados a caracter?sticas (do ingl?s: features) opcionais e obrigat?rias de uma LPS. Quando tratadores ou sinalizadores de exce??es s?o adicionados a uma LPS de forma n?o planejada, uma das poss?veis conseq??ncias ? a gera??o de produtos falhos (i.e., produtos em que exce??es lan?adas por features vari?veis ou obrigat?rias s?o erroneamente tratadas). Neste contexto, surge a pergunta: Quais as consequ?ncias de se usar o mecanismo de tratamento de exce??es em LPSs? Com o objetivo de responder a esta pergunta, este trabalho conduz um estudo explorat?rio, baseado em inspe??o de c?digo e an?lise est?tica de c?digo, cujo objetivo foi caracterizar as principais formas em que exce??es fluem em LPSs. Para apoiar a realiza??o deste estudo desenvolvemos a PLEA (Product Line Exception Analyzer), uma ferramenta baseada em analise est?tica de c?digo que calcula os fluxos excepcionais de uma LPS e os classifica de acordo com as features associadas aos seus tratadores e sinalizadores. Resultados preliminares mostraram que alguns tipos de fluxos excepcionais tem mais potencial para originarem falhas no comportamento excepcional das LPSs
72

Promovendo modularidade em um processo de Engenharia de Requisitos para linhas de produto de software

Silva Netto, Dorgival Pereira da 23 June 2015 (has links)
Submitted by Viviane Lima da Cunha (viviane@biblioteca.ufpb.br) on 2016-02-17T10:53:15Z No. of bitstreams: 1 arquivototal.pdf: 20428901 bytes, checksum: b66dc5cc2c10c67d4c70f46436440ab4 (MD5) / Made available in DSpace on 2016-02-17T10:53:15Z (GMT). No. of bitstreams: 1 arquivototal.pdf: 20428901 bytes, checksum: b66dc5cc2c10c67d4c70f46436440ab4 (MD5) Previous issue date: 2015-06-23 / Goal Oriented Requirements Engineering approaches capture both the stakeholders’ goals and the requirements of the system-to-be, so that the latter corresponds to the stakeholders desires. Goal models can capture similarities and the variability of a Software Product Line (SPL), but they cannot describe the detailed behavior of its functionality. Due to this limitation, a process called GS2SPL (Goals and Scenarios to Software Product Lines) was defined to systematically obtain, from goal models, feature models and the specification of use case scenarios with variability described in PLUSS (Product Line Use case modeling for Systems and Software engineering). However, the variability of the SPL and the configuration knowledge are tangled an the scenarios described in PLUSS, jeopardizing the maintenance and reuse of artifacts. In order to solve this problem, it was proposed techniques to specific use case scenarios with separation of crosscutting concerns (or just, aspectual scenarios). One of these techniques is called MSVCM (Modeling Scenario Variability as Crosscutting Mechanisms), which specifies the variability and configuration knowledge of a SPL separately, as well as it defines a process to configure the specifications of a product. Thus, this work proposes an extension of the GS2SPL to obtain, systematically, a feature model and a specification of aspectual scenarios in MSVCM, from goal models. This approach is called GAS2SPL (Goals and Aspectual Scenarios to Software Product Lines) and their activities were described using the TaRGeT (Test and Requirements Generation Tool) example. GAS2SPL approach was evaluated through a comparative study between TaRGeT and MyCourses artifacts generated by GS2SPL and GAS2SPL approaches, taking into account modularity (features scattering and tangling scenarios) and expressiveness (how detailed are the configuration knowledge). After evaluating our approach, we realize that GAS2SPL approach reduced in the features scattering and tangling in the scenarios to zero, addition to own a knowledge configuration more specific because uses less symbols for it elaborate. / Abordagens de Engenharia de Requisitos Orientadas a Objetivos capturam tanto os objetivos dos interessados ( stakeholders) como os requisitos do software a ser desenvolvido, de modo que este último corresponda ao que realmente os interessados desejam. Modelos de objetivos são capazes de capturar as similaridades e variabilidades de uma Linha de Produto de Software (LPS), mas não conseguem descrever o comportamento detalhado de suas funcionalidades. Diante dessa limitação, o processo GS2SPL (Goals and Scenarios to Software Product Lines) foi definido para obter sistematicamente, a partir de modelos de objetivos, modelos de features e especificações de cenários de casos de uso com variabilidade, descritos em PLUSS (Product Line Use case modeling for Systems and Software engineering). Entretanto, a variabilidade da LPS e o conhecimento de configuração ficam entrelaçados nos cenários descritos em PLUSS, o que prejudica a manutenção e reuso dos artefatos. A fim de solucionar esse problema, foram propostas técnicas de especificação de cenários de caso de uso com separação de interesses transversais (ou, simplesmente, cenários aspectuais). Uma destas técnicas é o MSVCM (Modeling Scenario Variability as Crosscutting Mechanisms), que especifica a variabilidade da LPS separadamente do conhecimento de configuração e define um processo para configurar as especificações de produto. Assim, este trabalho propõe uma extensão do GS2SPL visando obter, sistematicamente, modelos de features e especificações de cenários aspectuais em MSVCM, a partir de modelos de objetivos. Esta abordagem chama-se GAS2SPL (Goals and Aspectual Scenarios to Software Product Lines) e suas atividades foram descritas utilizando o TaRGeT (Test and Requirements Generation Tool) como exemplo. A abordagem GAS2SPL foi avaliada através de um estudo comparativo entre os artefatos do TaRGeT e do MyCourses- A Course Scheduling System gerados pelas abordagens GS2SPL e GAS2SPL, levando-se em consideração a modularidade (espalhamento de features e entrelaçamento de cenários) e, a expressividade (quão detalhado é o conhecimento de configuração). Depois de realizar a avaliação, percebemos que a abordagem GAS2SPL conseguiu reduzir o espalhamento de features e o entrelaçamento de cenários para zero, além de possuir um conhecimento de configuração mais expressivo, pois utiliza menos símbolos para elaborá-lo.
73

Using a Multi-Method Approach for Evaluating Service Identification Methods in Service-Oriented Product Lines

VALE, Tassio Ferreira 03 1900 (has links)
Submitted by Daniella Sodre (daniella.sodre@ufpe.br) on 2015-03-09T12:32:57Z No. of bitstreams: 2 MSc Dissertation -Tassio Ferreira Vale.pdf: 3047313 bytes, checksum: 266f36d93884380708ea06bafe535341 (MD5) license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) / Made available in DSpace on 2015-03-09T12:32:57Z (GMT). No. of bitstreams: 2 MSc Dissertation -Tassio Ferreira Vale.pdf: 3047313 bytes, checksum: 266f36d93884380708ea06bafe535341 (MD5) license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) Previous issue date: 2012-03 / A combinação de Linhas de Produto de Software (LPS) e Computação Orientada a Serviços (COS) tem recebido atenção de pesquisadores e praticantes, já que uma área é capaz de solucionar determinados problemas da outra. A junção dessas duas áreas é chamada de Linha de Produto Orientada a Serviços (LPOS), e tem se mostrado uma área de pesquisa emergente nos últimos anos. No contexto da Computação Orientada a Serviços, identificação de serviços é uma das primeiras atividades para modelagem de uma solução COS, e consiste na determinação de serviços candidatos. Essa não é uma tarefa trivial, e os erros adquiridos durante a identificação de um serviço pode propagar-se para as atividades subsequentes do processo de desenvolvimento orientado a serviços. Existem diversas propostas para identificação de serviços. Apesar da diversidade, não existe um método de identificação de serviços capaz de adequar-se a diversos contextos e necessidades. Considerando a heterogeneidade desses métodos, esta dissertação tem o objetivo de verificar quais métodos podem ser aplicados em linhas de produto de software, bem como as vantagens, desvantages e desafios existentes neste campo. Esta pesquisa utilizou uma abordagem multi-métodos, que combina estudos primários e secundários a fim de incrementar o corpo de conhecimento em determinada área baseada nos achados de tal investigação. Desta forma, este trabalho utilizou um método secundário (revisão sistemática) e dois métodos primários com o intuito de aumentar a confiabilidade dessa pesquisa. Além disso, foi realizada uma revisão da literatura a fim de coletar as abordagens de identificação de serviços existentes, visando propor uma recomendação dos métodos mais adequados considerando três cenários de LPS: top-down, bottom-up e hybrid. Esta recomendação foi avaliada através de um estudo de caso com uma linha de produto de sistemas médicos, usando dois metodos classificados no cenário o qual os sistemas médicos encontram-se, top-down. A principal contribuição dessa pesquisa é prover um instrumento que auxilie os interessados em identificar serviços a escolher um método apropriado, levando em consideração o cenário SPL a ser aplicado. Os resultados do estudo de caso mostram que as abordagens de identificação de serviços podem ser aplicadas num contexto de LPS. Além disso, este métodos facilitam a realização da atividade de identificação. / The combination of Software Product Line (SPL) and Service-Oriented Computing (SOC) have started to receive attention by researchers and practitioners, since they can address issues of each other. Putting these two areas together is called Service-Oriented Product Lines Enginering (SOPLE), presenting itself as an emerging area in the last years. In the Service-Oriented Computing, service identification is one of the first activities in the modeling of a SOC solution, that consists of determining candidate services. This is not a trivial task, and the errors made during the identification can propagate mistakes to the next activities of the service-oriented development process. There are several proposals addressing service identification for several contexts. However, an unified method for identifying services has not yet been reached. Regarding the heterogeneity of these methods, this dissertation aims to verify which methods can be applied in the SPL context, the advantages, disadvantages and the existing challenges of this field. This research used a multi-method approach that combines primary and secondary studies in order to increase the availability of empirical knowledge based on the findings of the investigation. Thus, this work used one secondary method (systematic review) and two primary methods (survey and case study) to address it. Furthermore, it was performed a literature review in order to collect all existing approaches of service identification, aiming to propose a set of decision models that recommend the most suitable methods according to three SPL scenarios: bottom-up, topdown and hybrid, onde decision model for each scenario. One of the decision models was evaluated through a case study in a medical applications domain, using two approaches classified in the decision model of the top-down scenario. The main contribution of this research is to provide an instrument that can help the service identification stakeholders to choose a suitable method, taking consideration of their SPL scenarios. In addition, these systematic methods facilitate the application of the identification activity. The case study results evaluated some service identification approaches and presented evidence that the methods can be applied in SPL.
74

RiPLE-EM: a process to manage evolution in software product lines

Oliveira, Thiago Henrique Burgos de 31 January 2009 (has links)
Made available in DSpace on 2014-06-12T15:53:51Z (GMT). No. of bitstreams: 2 arquivo1933_1.pdf: 2116074 bytes, checksum: 1144c9fce7906fba6fc1437ad2a4c27b (MD5) license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5) Previous issue date: 2009 / Reuso de software é um aspecto chave para organizações interessadas em obter melhorias de produtividade, qualidade e redução de custos. Linhas de Produto de Software é uma abordagem de reúso de software que provou seus benefícios em diferentes contextos industriais (Weiss et al., 2006). Em termos de evolução, uma linha de produtos é um conjunto em contínua evolução, e por isso, sua evolução precisa ser gerenciada para que se alcance os benefícios dessa abordagem. O fato de um core asset ser compartilhado entre produtos, e todas as mudanças neste core asset poder ter efeito sobre diversos produtos (McGregor, 2003), aliado ao fato que em linhas de produto de software é preciso lidar com evolução no tempo (versões) e também evolução no espaço (variabilidade) (Krueger, 2002), faz com que o gerenciamento da evolução (mudanças) em linhas de produto de software seja mais complexo e mais desafiador do que o desenvolvimento tradicional de sistemas únicos (Pussinen, 2002). Portanto, a evolução dos core assets e também dos produtos precisa ser bem gerenciada para minimizar os problemas causados por ela. Este desafio envolve diferentes soluções, como questões técnicas, gerenciais e processuais. Desta forma, o foco desta dissertação está nos problemas ligados ao processo de gerenciamento evolução em linhas de produto de software. Neste contexto, este trabalho apresenta o RiPLE-EM, que é um processo para gerenciamento da evolução. Este processo é uma forma sistemática de guiar e gerenciar a evolução de cada core asset e cada produto, englobando atividades de gerenciamento de mudanças, builds, e entregas. Esta dissertação também apresenta a validação inicial do RiPLE-EM, seguindo guias bem estabelecidos de experimentação de software (Wohlin et al., 2000), e de acordo com os dados coletados e analisados na experimentação, RiPLE-EM mostra indicações de que seja um processo viável para o gerenciamento da evolução em linhas de produto de software
75

Uma abordagem para gerenciamento de Linhas de Produtos de Software baseada em serviços / A service-based approach for managing Software Product Lines

Karen Dias Rabelo Pacini 05 April 2016 (has links)
Linhas de Produtos de Software (LPS) abstraem a semelhança entre produtos e envolvem o conceito de reúso de software para desenvolver software em larga escala com mais rapidez e qualidade. O reúso dos artefatos em uma LPS é planejado e executado desde sua concepção, sendo assim possível armazenar esses artefatos em um repositório (núcleo de ativos reusáveis) para utilização posterior. Porém, ao se construir um repositório para uma certa LPS, este atende apenas às especificações desta arquitetura e não promove o reúso desses ativos em outras LPS, causando uma certa perda no potencial de reusabilidade dos ativos produzidos e armazenados. Além disso, a definição e os dados da execução do processo de desenvolvimento dessas LPS também não são armazenados prevendo o reúso, o que gera retrabalho para definir e instanciar um processo de software sempre que uma nova LPS é criada. Neste contexto, este trabalho tem por objetivo apresentar uma abordagem baseada em um conjunto de serviços para promover o amplo reúso de ativos produzidos e de elementos de processo utilizados, além de facilitar a criação e o desenvolvimento de linha de produtos de software, permitindo o gerenciamento do núcleo de ativos reusáveis. Por possuir uma interface baseada em serviços, esta abordagem poderá ser incorporada também a outros ambientes. Para validar a abordagem, verificar vantagens e sugerir melhorias, foi conduzida uma prova de conceito com sua aplicação. Os resultados dessa prova comprovaram a viabilidade da abordagem em cumprir os objetivos propostos. / Software Product Lines (SPL) extract the similarity among products and use the software reuse concept to produce large-scale software with increased quality and reduction in the development time. Reuse in SPL is planned and executed since the beginning for each artifact resulting from the development process, and then these artifacts are stored in a repository (reusable core assets) for later use. However, when a repository is built for a specific SPL, it supports only the specifications for that architecture and do not promote the reuse of these assets among distinct SPL, which inhibits their reuse potential. In addition, the definition and execution data of the development process applied are not stored properly for reuse, which causes a re-work to define and instantiate a software process when creating a new SPL. In this context, this work aims at present a service-based approach to promote the wide reuse of the produced assets and process elements, also to facilitate the creation and the management of SPL and to allow the management of the reusable core assets. Once this approach has a service-based interface, it can be embedded into other environments. In order to validate this approach, point out advantages and suggest improvements, a concept proof was performed applying it. The results of this proof ensured the approach viability to fulfill the proposed goals.
76

A model-based approach to support the systematic reuse and generation of safety artefacts in safety-critical software product line engineering / Uma abordagem dirigida a modelos para apoiar o reuso sistemático e geração de artefatos de safety em engenharia de linhas de produtos de sistemas embarcados críticos

André Luiz de Oliveira 05 May 2016 (has links)
Software Product Line Engineering (SPLE) has been proven to reduce development and maintenance costs, improving the time-to-market, and increasing the quality of product variants developed from a product family via systematic reuse of its core assets. SPLE has been successfully used in the development of safety-critical systems, especially in automotive and aerospace domains. Safety-critical systems have to be developed according to safety standards, which demands safety analysis, Fault Tree Analysis (FTA), and assurance cases safety engineering artefacts. However, performing safety analysis, FTA, and assurance case construction activities from scratch and manually for each product variant is time-consuming and error-prone, whereas variability in safety engineering artefacts can be automatically managed with the support of variant management techniques. As safety is context-dependent, context and design variation directly impact in the safety properties changing hazards, their causes, the risks posed by these hazards to system safety, risk mitigation measures, and FTA results. Therefore, managing variability in safety artefacts from different levels of abstraction increases the complexity of the variability model, even with the support of variant management techniques. To achieve an effective balance between benefits and complexity in adopting an SPLE approach for safety-critical systems it is necessary to distinguish between reusable safety artefacts, whose variability should be managed, and those that should be generated from the reused safety artefacts. On the other hand, both industry and safety standards have recognized the use of model-based techniques to support safety analysis and assurance cases. Compositional safety analysis, design optimization, and model-based assurance cases are examples of techniques that have been used to support the generation of safety artefacts required to achieve safety certification. This thesis aims to propose a model-based approach that integrates model-based development, compositional safety analysis, and variant management techniques to support the systematic reuse and generation of safety artefacts in safety-critical software product line engineering. The approach contributes to reduce the effort and costs of performing safety analysis and assessment for a particular product variant, since such analysis is performed from the reused safety artefacts. Thus, variant-specific fault trees, Failure Modes and Effects Analysis (FMEA), and assurance case artefacts required to achieve safety certification can be automatically generated with the support the model-based safety analysis and assurance case construction techniques. / Engenharia de Linha de Produtos de Software (ELPS) contribui para a redução dos custos de desenvolvimento e de manutenção, a melhoria do time-to-market, e o aumento da qualidade de produtos desenvolvidos a partir de uma família de produtos por meio do reuso sistemático dos ativos principais da linha de produtos. A ELPS vem sendo utilizada com sucesso no desenvolvimento de sistemas embarcados críticos, especificamente nos domínios de sistemas automotivos e aeroespaciais. Sistemas embarcados críticos devem ser desenvolvidos de acordo com os requisitos definidos em padrões de segurança, que demandam a produção de artefatos de análise de segurança, árvores de falhas e casos de segurança. Entretanto, a realização de atividades de análise de segurança, análise de árvores de falhas e construção de casos de segurança de forma manual para cada produto de uma linha de produtos é uma tarefa demorada e propensa a erros. O gerenciamento de variabilidade em artefatos de análise de segurança pode ser automatizado com o apoio de técnicas de gerenciamento de variabilidades. Em virtude de safety ser uma propriedade dependente de contexto, a variabilidade no projeto e contexto inerente uma linha de produtos software impacta na definição de propriedades de segurança do sistema, modificando as ameaças à segurança do sistema, suas causas e riscos, medidas de mitigação aplicáveis, e resultados de análise de árvore de falhas. Dessa forma, gerenciar variabilidades em artefatos relacionados à safety em diferentes níveis de abstração aumenta a complexidade do modelo de variabilidade mesmo com o apoio de técnicas de gerenciamento de variabilidades. Para alcançar o equilíbrio eficaz entre os benefícios e a complexidade da adoção de uma abordagem de ELPS para o desenvolvimento de sistemas embarcados críticos é necessário fazer a distinção entre artefatos de safety reusáveis, em que a variabilidade deve ser gerenciada, e artefatos de safety que devem ser gerados a partir de artefatos reusáveis. Por outro lado, tanto a indústria quanto os padrões de segurança têm reconhecido o uso de técnicas dirigidas a modelos para apoiar a análise segurança e a construção de casos de segurança. Técnicas de análise de segurança composicional e otimização de projeto, e de construção de casos de segurança dirigido a modelos vêm sendo utilizadas para apoiar a geração de artefatos de safety requeridos para certificação. O objetivo desta tese é a proposta de uma abordagem dirigida a modelos que integra técnicas de desenvolvimento dirigido a modelos, análise de segurança composicional e otimização de projeto, e construção de casos de segurança dirigido a modelos para apoiar o reuso sistemático e a geração de artefatos de safety em engenharia de linhas de produtos de sistemas embarcados críticos. A abordagem proposta reduz o esforço e os custos de análise e avaliação de segurança para produtos de uma linha de produtos, uma vez que tal análise é realizada a partir de artefatos de safety reusados. Assim, artefatos como análises de árvores de falhas e de modos de falha e efeitos, e casos de segurança requeridos para certificação podem ser gerados automaticamente com o apoio de técnicas dirigidas a modelos.
77

FlexMonitorWS : uma solução de monitoração de serviços Web com foco em atributos de QoS / FlexMonitorWS : a solution for monitoring Web services with a focus on QoS attributes

Franco, Rômulo José, 1980- 08 January 2014 (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-25T19:51:06Z (GMT). No. of bitstreams: 1 Franco_RomuloJose_M.pdf: 10351473 bytes, checksum: 560e490e6acebcaf56e0a906dd45d0ec (MD5) Previous issue date: 2014 / Resumo: Serviços Web são usados como uma das formas de se obter uma Arquitetura Orientada a Serviços (SOA). Com aspectos interoperáveis, dinâmicos e distribuídos, tais serviços agregam valores de negócio, são unidades de software com alta coesão e são utilizados para integração entre aplicações empresariais. Em um contexto de SOA, provedores de serviços devem oferecer garantias de funcionamento de seus serviços. Esta garantia é realizada através de atributos de Quality of Service (QoS) inseridos em contratos do tipo SLA (Service Level Agreement). Atributos de QoS podem ter flutuações ou mudança de estado ao longo do tempo, dado que um serviço opera em um ambiente de alta dinamicidade e alta imprevisibilidade que são propriedades inerentes ao contexto SOA. Diante deste cenário, há uma clara necessidade de se conhecer as variações que ocorrem nos atributos de QoS. Para isso, é fundamental aplicar uma monitoração que possibilite conhecer os valores de atributos de QoS para compreender o contexto geral do ambiente que opera o serviço. Uma boa solução de monitoração deve oferecer meios flexíveis de monitorar diferentes atributos de QoS (e.g. disponibilidade, desempenho e confiabilidade), de diferentes modos de operar, considerando diferentes alvos ligados ao serviço (e.g. servidor, rede e aplicação servidora). Por meio de uma Revisão Sistemática da Literatura identificamos que as soluções encontradas não apoiam a flexibilidade na monitoração. Face a este contexto, esta dissertação propôs a FlexMonitorWS uma solução de monitoração de serviços Web e de recursos de infraestrutura de TI ligada ao serviço Web. A FlexMonitorWS adota técnicas de Linhas de Produtos de Software para criar uma família de monitores a partir da variabilidade de software existente em sistemas de monitoração de serviços Web. Três estudos de caso foram executados para avaliar a viabilidade da ferramenta, obtendo-se resultados satisfatórios na entrega de valores de atributos de QoS e na compreensão do ambiente que opera o serviço Web. Ao final, apresentamos conclusões, contribuições e direções para trabalhos futuros / Abstract: Web services are used as a way of obtaining a Service Oriented Architecture (SOA). With interoperable, dynamic and distributed aspects such services add business values are software units with high cohesion and are used to integrate business applications. In a SOA context, service providers must offer guarantees of the servces operations. This warranty is carried out by attributes Quality of Service (QoS) type contracts entered into SLA (Service Level Agreement). QoS attributes can have fluctuations or changes of state over time, given that a service operates in an environment of high dynamics and high unpredictability inherent in the SOA context properties. Given this scenario, there is a clear need to understand the fluctuations in the QoS attributes. Therefore, it is essential to apply a monitoring which allows to know the QoS attributes values to understand the overall context of the environment that operates the service. A good monitoring solution must offer flexible ways to monitor different QoS attributes (e.g. performance, availability and reliability) in different ways to operate, considering different targets linked to the service (e.g. server, network and server application). By analyzing existing solutions through a Systematic Literature Review identified that solutions do not support the flexibility in monitoring. Against this background, this thesis proposed a solution FlexMonitorWS monitoring of Web services and IT infrastructure resources connected to the Web services. FlexMonitorWS adopts techniques from Software Product Lines to create a monitors family from the existing variability in the Web services monitoring systems. Three case studies were performed to assess the tool feasibility, obtaining satisfactory results in delivering QoS attributes values and understanding to environment that operates the Web service. In the end, conclusions, contributions and directions for future work are presented / Mestrado / Ciência da Computação / Mestre em Ciência da Computação
78

Metamodels and feature models : complementary approaches to formalize product comparison matrices / Méta-modèles et modèles de caractéristiques : deux approches complémentaires pour formaliser les matrices de comparaison de produits

Bécan, Guillaume 23 September 2016 (has links)
Les Matrices de Comparaison de Produits (MCP) sont largement répandues sur le web. Elles fournissent une représentation simple des caractéristiques d'un ensemble de produits. Cependant, le manque de formalisation et la grande diversité des MCP rendent difficile le développement de logiciels pour traiter ces matrices. Dans cette thèse, nous développons deux approches complémentaires pour la formalisation de MCP. La première consiste en une description précise de la structure et la sémantique d'une MCP sous la forme d'un meta-modèle. Nous proposons aussi une transformation automatique d'une MCP vers un modèle de MCP conforme au meta-modèle. La seconde approche consiste à synthétiser des modèles de caractéristiques attribués à partir d'une classe de MCP. Grâce nos contributions, nous proposons une approche générique et extensible pour la formalisation et l'exploitation de MCP. / Product Comparison Matrices (PCMs) abound on the Web. They provide a simple representation of the characteristics of a set of products. However, the lack of formalization and the large diversity of PCMs challenges the development of software for processing these matrices. In this thesis, we develop two complementary approaches for the formalisation of PCMs. The first one consists in a precise description of the structure and semantics of PCMs in the form of a metamodel. We also propose an automated transformation from PCMs to PCM models conformant to the metamodel. The second one consists in synthesizing attributed feature models from a class of PCMs. With our contributions, we propose a generic and extensible approach for the formalization and exploitation of PCMs.
79

[en] SUPPORTING HETEROGENEOUS CONFIGURATION KNOWLEDGE OF SOFTWARE PRODUCT LINES / [pt] SUPORTANDO CONHECIMENTO DE CONFIGURAÇÃO HETEROGÊNEO DE LINHAS DE PRODUTOS DE SOFTWARE

ELDER JOSE REIOLI CIRILO 24 January 2017 (has links)
[pt] Softwares personalizados para as necessidades de um cliente proveem vantagem competitiva quando comparados aos softwares de proposito geral. Linhas de produtos de softwares tem como objetivo a produção de produtos personalizados a partir de um conjunto de features reutilizáveis. É conhecido que o reuso sistemático de features potencialmente leva a ganhos significativos como rápida produção de software a um baixo custo e com maior qualidade. Na prática, a construção de linhas de produtos de softwares empresariais pode se tornar uma tarefa arriscada e sujeita a erros quando se leva em consideração o uso das técnicas atuais de implementação de features. O desenvolvimento de linhas de produtos de software empresariais de fato requer a convergência coordenada de várias visões (ex., especialistas de domínio, projetistas de interface, e desenvolvedores). Neste caso, cada participante do processo de desenvolvimento tem uma linguagem particular para resolver o problema específico a sua especialidade. Os desafios para integração de diferentes linguagens, evitando uma potencial cacofonia, é o problema do conhecimento de configuração heterogêneo. Nesta tese, nos examinamos as dificuldades atuais na especificação do conhecimento de configuração heterogêneo e como solução nos propomos a noção de Linguagens de Modelagem do Conhecimento do Domínio (LMCD). O propósito das LMCDs é evidenciar os conceitos do domínio e suas interfaces de programação, o que ajuda reduzir o ofuscamento do código fonte e aumentar a compreensão. Além disso, evidenciando os conceitos específicos de domínio, somos aptos a prevenir inconsistências em produtos pela detecção de erros em toda a linha de produto de software. Outro resultado deste trabalho de pesquisa é GenArchPlus, uma ferramenta extensível que suporta de forma flexível a incorporação de LMCDs na engenharia de linhas de produtos de softwares tradicional. Nos enfatizamos os benefícios da ferramenta, incluindo simplicidade, expressividade, e a capacidade de ser independente de qualquer tecnologia de implementação do domínio. Finalmente, nos ilustramos e avaliamos o uso de LMCDs em três diferentes linhas de produtos de software. / [en] Customer-specific software can provide a competitive advantage compared to general-purpose software. A software product line (SPL) aims at tailoring customer-specific products from a set of reusable features. It is well known that systematic reuse of features potentially leads to significant gains such as faster production with low costs and high quality. In practice, building enterprise software product lines might become a laborious and error-prone task when we take into account the use of current implementation techniques. Successful development of modern enterprise software product lines requires the convergence of multiple views (e.g., domain experts, interface designers, and developers), which are usually managed via domain-specific concepts. In this case, each participant of the development process has a particular working language to solve specific problems to its expertise. The challenge of integrating these differences into the engineering process, avoiding the potential cacophony of multiple different languages, is the heterogeneous configuration knowledge problem. In this thesis, we examine the current shortcomings on the specification of heterogeneous configuration knowledge and as a solution we propose the notion of Domain Knowledge Modeling Languages (DKMLs). The purpose of DKMLs is to put in evidence the domain concepts and their programming interfaces, which help to reduce source code obfuscation and increase feature comprehension. Moreover, evidencing the domain-specific concepts, we are also able to prevent inconsistencies on products by detecting errors in the entire software product line. Another result of this research is the GenArchPlus, an extensible tool that supports the flexible incorporation of DKMLs in traditional software product line engineering. We emphasize the benefits of GenArchPlus, including simplicity, expressiveness, and being framework independent. Finally, we illustrate and evaluate the use of DKMLs in three different product lines.
80

Uma infraestrutura autoadaptativa baseada em linhas de produtos de software para composições de serviços tolerantes a falhas / A self-adaptive infrastructure based on software product line for fault-tolerant composite services

Nascimento e Silva, Amanda Sávio, 1982- 24 August 2018 (has links)
Orientador: Cecília Mary Fischer Rubira / Tese (doutorado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-24T09:31:42Z (GMT). No. of bitstreams: 1 NascimentoeSilva_AmandaSavio_D.pdf: 8931458 bytes, checksum: 448739042e9597c70abf120976d316b8 (MD5) Previous issue date: 2013 / Resumo: A confiabilidade é um requisito de qualidade indispensável a muitos sistemas orientados a serviços, cada vez mais disseminados em várias atividades humanas. Composições confiáveis de serviços são formadas por um conjunto de serviços com diversidade de projetos, isto é, um conjunto de serviços funcionalmente equivalentes, ou serviços alternativos, usados para implementar técnicas de tolerância a falhas. Uma determinada técnica, como por exemplo, Recovery Blocks ou N-version Programming, pode ser mais adequada para um contexto específico de execução do que outra, dependendo dos requisitos exigidos pela aplicação, como por exemplo, desempenho. Sistemas orientados a serviços são usualmente implantados num ambiente altamente dinâmico, em que são comuns alterações nos requisitos dos clientes e flutuações na qualidade de serviços. Portanto, uma composição de serviços confiável deveria poder modificar seu próprio comportamento dinamicamente em resposta a essas mudanças. Entretanto, as soluções existentes, que usam diversidade de projetos para implementar composições confiáveis, apresentam algumas limitações: (i) não apóiam a seleção de serviços alternativos adequados que garantam que a composição realmente tolere falhas de software; (ii) em geral implementam uma única técnica de tolerância a falhas, não apoiando os requisitos diversos de clientes; e (iii) não apoiam um mecanismo autoadaptativo capaz de mudar a estratégia de tolerância a falhas em tempo de execução. Nessa tese, é apresentada uma solução baseada em linhas de produtos de software, que explora a variabilidade de software existente nas técnicas de tolerância a falhas e nas mudanças ocorridas no ambiente de execução, para a implementação de composições de serviços tolerantes a falhas e autoadaptativas. A solução encompassa: (a) um conjunto de diretrizes para investigar até que ponto serviços alternativos são realmente diversos entre si para tolerar falhas de software; (b) uma família de técnicas de tolerância a falhas para construir composições confíaveis que permite a escolha de uma técnica mais adequada para o contexto; e (c) uma infraestrutura autoadaptiva que apoia a instanciação de técnicas diferentes de tolerância a falhas como resposta a mudanças ocorridas no contexto, baseando-se no gerenciamento dinâmico de variabilidades de software. Resultados de estudos empíricos sugerem que a solução é eficiente para apoiar composições de serviços tolerantes a falhas e autoadaptativas. Direções para trabalhos futuros são apresentadas / Abstract: Nowadays, society is dependent on systems based on Service-Oriented Architecture (SOA) for its basic day-to-day functioning. As a consequence, these systems should be reliable. Fault-tolerant service compositions encompass a set of services, each with equivalent functionality yet different designs, called alternate services, that are used to implement fault tolerance techniques. A particular technique, for example, Recovery Blocks or N-version Programming, might be more suitable in a context than in another one, depending on non-functional requirements of an application, for example, performance or reliability. SOA-based applications often rely in an environment that is highly dynamic and several decisions should be postponed until runtime, where we have different stakeholders with conflicting requirements, and fluctuations in the quality of services (QoS) are recurrent. Therefore, a fault-tolerant service composition should adapt itself to meet the dynamically and widely changing context. Nevertheless, the existing diversity-based solutions for fault-tolerant service compositions present some drawbacks: (i) they do not support the selection of alternate services that in fact efficient to support a reliable service composition; (ii) they usually support only one fault tolerance technique, thus not being able to face various clients' requirements; (iii) they do not support an adaptive fault tolerance mechanism able to instantiate different fault tolerance strategies at runtime to cope with dynamic changes in the context. In this thesis, we present a solution based on software product line, which explores the variability among various software fault tolerance techniques and changes in the execution environment, to implement fault-tolerant and self-adaptive service compositions. The proposed solution encompasses: (a) a set of directives to investigate to what extent alternate services are able to tolerate software faults; (b) a family of software fault tolerance techniques to support reliable service compositions, such as the most suitable technique can be chosen according to the context; (c) a self-adaptive infrastructure to instantiate at runtime appropriate fault tolerance techniques in response to changes in the context, through dynamic management of software variability. Results from empirical studies suggest that the proposed solution is efficient to support fault-tolerant and self-adaptive service compositions. Directions for future work are also presented / Doutorado / Ciência da Computação / Doutora em Ciência da Computação

Page generated in 0.0417 seconds