• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 17
  • 2
  • 1
  • 1
  • Tagged with
  • 22
  • 22
  • 22
  • 12
  • 11
  • 11
  • 6
  • 6
  • 6
  • 6
  • 6
  • 6
  • 6
  • 6
  • 5
  • 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

DYMOS: Uma abordagem para suporte a variabilidades dinâmicas em Linhas de Produto de Software Orientado a Serviços e Sensível ao Contexto

Martins, Dhiego Abrantes de Oliveira 30 August 2013 (has links)
Submitted by Daniella Sodre (daniella.sodre@ufpe.br) on 2015-03-10T13:52:04Z No. of bitstreams: 2 license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) Dissertaçao Dhiego Abrantes De Oliveira Martins..pdf: 2253205 bytes, checksum: ac6b5aaa983adfe88c8555520c237441 (MD5) / Made available in DSpace on 2015-03-10T13:52:04Z (GMT). No. of bitstreams: 2 license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) Dissertaçao Dhiego Abrantes De Oliveira Martins..pdf: 2253205 bytes, checksum: ac6b5aaa983adfe88c8555520c237441 (MD5) Previous issue date: 2013-08-30 / É notório o surgimento de ambientes cada vez mais dinâmicos, exigindo sistemas mais flexíveis, de forma que componentes possam ser plugados ou desplugados durante o seu ciclo de vida, inclusive em tempo de execução. Para atender estes requisitos, é necessário que decisões sobre possíveis adaptações e variações do produto possam ser tomadas em tempo de execução. Sistemas Sensíveis ao Contexto atendem a esse propósito, sendo capazes de adaptar-se em tempo de execução de acordo com mudanças no ambiente, obedecendo um conjunto de regras. Quando técnicas de Linhas de Produto de Software (LPS) são aplicadas no desenvolvimento de sistemas adaptativos, tais decisões podem resultar na configuração de um novo produto. Em uma LPS tradicional, um produto é derivado de acordo com sua configuração, que ocorre na fase de design e consiste na seleção de features que irão compor o produto, remoção das features que não farão parte do produto e ligação dos pontos de variação. Linhas de Produto de Software Dinâmicas extendem o conceito convencional de LPS abordando aspectos dinâmicos, provendo uma abordagem para tratar variabilidades que precisam ser manipuladas em tempo de execução. Quando alinhamos paradigmas como Sistemas Sensíveis ao Contexto, Arquitetura Orientada a Serviços e LPS, podemos enfrentar alguns desafios. O sistema derivado de uma LPS é composto por features e pontos de variação. Considerando que o modelo de Arquitetura Orientada a Serviços segue o padrão arquitetural Cliente-Servidor, podemos ter um cenário em que as features que compõem o produto no lado cliente podem endereçar uma composição de serviços. Dessa forma, os pontos de variação podem sofrer variabilidades de acordo com mudanças no contexto, exigindo a execução de reconfigurações nos serviços de modo a atender tais variabilidades. As abordagens propostas atualmente não oferecem um suporte para esse tipo de problema ou são incipientes, estando em fases iniciais de pesquisa. Neste trabalho é apresentado um estudo sobre variabilidades dinâmicas em Linhas de Produto de Software Orientadas a Serviços e Sensíveis ao Contexto, investigando especificamente situações quando features que endereçam um ou mais serviços são reconfiguradas no lado cliente, requerendo reconfigurações nos serviços, no lado servidor.
12

An Approach to Implement Core Assets in Service-Oriented Product Lines

Ribeiro, Heberth Braga Gonçalves 31 January 2010 (has links)
Made available in DSpace on 2014-06-12T15:57:49Z (GMT). No. of bitstreams: 2 arquivo3229_1.pdf: 8498063 bytes, checksum: 88bb2641f48f32f7d023ed864ecd7221 (MD5) license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5) Previous issue date: 2010 / Conselho Nacional de Desenvolvimento Científico e Tecnológico / Linhas de Produto de Software (LPS) e Orientação à Serviços (OS) são duas estratégias que vem sendo exploradas, tanto em pesquisas acadêmicas, quanto na indústria de software. Os conceitos de LPS e OS focam em objetivos distintos, porém, ambas usam o reúso de software como seu principal princípio. No entanto, para o resultado dessa junção ser otimizado, é necessário utilizar um processo de desenvolvimento bem definido. Caso contrário, a equipe de desenvolvimento poderá produzir software de maneira não sistemática, aumentando as chances de falha, o tempo e o custo de desenvolvimento. Embora existam algumas abordagens explorando estes conceitos, há uma certa carência em como lidar com alguns desafios, como complexas atividades em relação a implementação de artefatos e preocupações tecnológicas específicas, os quais são importantes para o gerenciamento de aspectos variáveis. Portanto, a fim de entender e reduzir os problemas citados anteriormente, este trabalho propôs uma abordagem para a implementação de artefatos em linhas de produto de software orientada à serviços, constituída de um conjunto de atividades, tarefas, passos e orientações com entradas e saídas especificadas, sendo cada uma delas realizada por um conjunto predefinido de papéis com responsabilidades definidas. Para garantir a qualidade da abordagem desenvolvida, um modelo de decisão foi construído através de um estudo de caso inicial realizado na universidade, a fim de guiar engenheiros de software na tarefa de escolher tecnologias para implementar aspectos variáveis com o suporte de mecanismos de implementação de variabilidade. Por fim, a abordagem definida foi validada, também, por um estudo de caso inicial
13

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
14

Uma infraestrutura de apoio ao desenvolvimento de aplicações educacionais móveis para o ensino e aprendizagem de fundamentos de programação / An Infrastructure to Support the Development of Mobile Learning Applications for the Teaching and Learning of Programming Fundamentals

Marcolino, Anderson da Silva 22 May 2019 (has links)
A importância das disciplinas de programação nas grades curriculares de cursos de computação, tanto no contexto nacional como internacional e as limitações e problemas apresentados em tais disciplinas, tem levado a um esforço significativo em pesquisas na área da Informática na Educação para propor soluções de software no domínio de ensino e aprendizagem de programação, com destaque para a adoção de soluções para a modalidade de aprendizagem eletrônica (e-learning). No entanto, é possível notar limitações nas pesquisas já conduzidas, principalmente em relação à quantidade ainda reduzida de estudos que adotam a aprendizagem móvel (m-learning) como modalidade para ensinar a programar. Observa-se, ainda, a incipiência de pesquisas que adotam metodologias provenientes da Engenharia de Software baseada em Reúso para apoiar o processo de criação de produtos de software educacionais. A adoção de tais metodologias pode permitir uma variação maior de produtos educacionais, permitindo o desenvolvimento de modo a atender um maior número de professores, instituições e domínios. Neste contexto, esta pesquisa de doutorado tem como objetivo propor e desenvolver uma infraestrutura para o desenvolvimento de aplicações educacionais móveis para o ensino de fundamentos de programação a serem utilizadas em nível superior. Para isso, diferentes soluções já existentes foram avaliadas permitindo a criação de um catálogo de requisitos educacionais móveis que serviu de artefato para o estabelecimento de uma arquitetura de linha de produtos de software (LPS) e de uma ferramenta de apoio, intitulada TANGRAM (an infrasTructure to support the development of mobile leArning applicatioNs for the teachinG and leaRning of progrAMming fundamentals), que permite a criação facilitada dos produtos dessa linha. Adicionalmente, um conjunto inicial de funcionalidades para a plataforma móvel foi desenvolvido. Para verificar a viabilidade do uso de tal infraestrutura, diversas avaliações foram conduzidas nas diferentes etapas de concepção da mesma. Ao final, foram observadas evidências preliminares de que a LPS e a ferramenta TANGRAM possibilitam a criação de aplicações educacionais móveis para serem utilizadas na mitigação de problemas no ensino e aprendizagem de fundamentos programação. Além de contribuições complementares referentes ao catálogo de requisitos para aplicações educacionais móveis, as escolhas metodológicas e tecnológicas na concepção do projeto arquitetural, e um conjunto de gestos de interação para telas sensíveis ao toque a integrar as aplicações educacionais, que possibilitam a condução de trabalhos futuros na exploração dos mesmos no que se refere à mitigação de problemas no ensino e aprendizagem de fundamentos programação. / The importance of programming disciplines in computer curricula courses worldwide has increasing the efforts of researches in informatics in education area to propose software for the mitigation of problems in programming domain, highlighting the adoption of electronic learning solutions (e-learning). Meanwhile, it is possible to identify limitations in researches that adopting other learning modalities, as mobile learning modality (m-learning) for teaching of programming. Furthermore, it is also noticed a lack of adoption of reused-based software engineering methodologies, for supporting the process of development of educational software for programming domain, in special, software product lines (SPL).The adoption of such methodologies may allow a higher variation of educational products and a higher support for a greater number of professors and institutions. In this perspective, this doctoral research aimed at the establishment of an infrastructure to support the development of m-learning applications for the teaching of programming fundamentals in undergraduates courses. For that, several software solutions in programming domain were analysed allowing the creation of a m-learning requirement catalog. Such catalog was used as the main artifact for the establishment of an SPL and a support tool entitled TANGRAM (an infrasTructure to support the development of mobile leArning applicatioNs for the teachinG and leaRning of progrAMming fundamentals). The tool was proposed to facilitate the creation of applications considering the SPLs artifacts and their management. Additionally, an initial set of features for the mobile learning applications were developed, e.g., a catalog of gestures. To investigate the viability in the use of such infrastructure, several evaluations were conducted in each phase of conception of the SPL. At the end, preliminar positive evidence indicates that both LPS and TANGRAM tool may allow the develpment of m-learning applications for the mitigation of problems in the teaching and learning of programming fundamentals. Besides, contributions related with the m-learning requirement catalog, the methods and technologies selected for the conduction of the architectural project, and a set of gesture for touchscreen interfaces were also identified, resulting in an infrastructure which may be better investigate and adopted to improve the processes of teaching and learning in the programming fundamentals domain.
15

UbiComSPL : desenvolvimento baseado em MDA, de linha de produto de software no domínio de aplicações ubíquas

Oliveira, Raphael Pereira de 03 July 2009 (has links)
Made available in DSpace on 2016-06-02T19:05:38Z (GMT). No. of bitstreams: 1 2623.pdf: 2743696 bytes, checksum: cc0c40ac7065c499f2cd408b70711f1d (MD5) Previous issue date: 2009-07-03 / Financiadora de Estudos e Projetos / This thesis presents an approach to Development based on Model-Driven Architecture, of Ubiquitous Applications Domain Software Product Lines. The approach uses Model-Driven Architecture to facilitate the modeling reuse of the same application in different architectures of the Ubiquitous Computing. With focus in the problem domain, the Software Product Lines core is developed and it is reused in the products construction. One of the assets that composed the Software Product Lines is the Ubiquitous Computing Framework, developed to attend the non functional requirements of Ubiquitous Computing. The CASE tool, called MVCASE, makes automatic part of the activities in the proposed approach. / Essa dissertação apresenta uma Abordagem para Desenvolvimento baseado em Model-Driven Architecture, de Linha de Produto de Software orientada a domínios de Aplicações Ubíquas. A abordagem utiliza a Model-Driven Architecture para melhor atender as diversidades de arquiteturas da Computação Ubíqua e facilitar o reuso. Com foco no domínio do problema, desenvolve-se o Core Asset, núcleo da Linha de Produto de Software, que é reutilizado na construção dos produtos derivados da linha. Um dos artefatos do Core Asset é Ubiquitous Computing Framework construído para atender os requisitos não funcionais da Computação Ubíqua. Uma ferramenta CASE, denominada MVCASE, automatiza grande parte do processo da Model-Driven Architecture, desde a modelagem até a geração parcial de código.
16

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.
17

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
18

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
19

Uma abordagem sistem?tica para implementa??o, gerenciamento e customiza??o de testes de linhas de produto de software

C?mara, Heitor Mariano de Aquino 01 March 2011 (has links)
Made available in DSpace on 2014-12-17T15:47:58Z (GMT). No. of bitstreams: 1 HeitorMAC_DISSERT.pdf: 3258229 bytes, checksum: 5f7856b140a636bd052147c58ff9dede (MD5) Previous issue date: 2011-03-01 / Coordena??o de Aperfei?oamento de Pessoal de N?vel Superior / Through the adoption of the software product line (SPL) approach, several benefits are achieved when compared to the conventional development processes that are based on creating a single software system at a time. The process of developing a SPL differs from traditional software construction, since it has two essential phases: the domain engineering - when common and variables elements of the SPL are defined and implemented; and the application engineering - when one or more applications (specific products) are derived from the reuse of artifacts created in the domain engineering. The test activity is also fundamental and aims to detect defects in the artifacts produced in SPL development. However, the characteristics of an SPL bring new challenges to this activity that must be considered. Several approaches have been recently proposed for the testing process of product lines, but they have been shown limited and have only provided general guidelines. In addition, there is also a lack of tools to support the variability management and customization of automated case tests for SPLs. In this context, this dissertation has the goal of proposing a systematic approach to software product line testing. The approach offers: (i) automated SPL test strategies to be applied in the domain and application engineering, (ii) explicit guidelines to support the implementation and reuse of automated test cases at the unit, integration and system levels in domain and application engineering; and (iii) tooling support for automating the variability management and customization of test cases. The approach is evaluated through its application in a software product line for web systems. The results of this work have shown that the proposed approach can help the developers to deal with the challenges imposed by the characteristics of SPLs during the testing process / Com o uso da abordagem de linhas de produto de software (LPSs), v?rios benef?cios s?o alcan?ados quando comparados aos processos de desenvolvimento convencionais que se baseiam na cria??o de um ?nico sistema por vez. O processo de desenvolvimento de uma LPS se diferencia da constru??o tradicional de software, uma vez que apresenta duas etapas essenciais: a engenharia de dom?nio - quando elementos comuns e vari?veis da LPS s?o definidos e implementados; e a engenharia de aplica??o quando uma ou mais aplica??es (produtos espec?ficos) s?o derivadas a partir do reuso dos artefatos criados na engenharia de dom?nio. Durante a elabora??o da LPS, assim como no desenvolvimento convencional de sistemas, a atividade de teste ? fundamental e tem como objetivo a detec??o de defeitos nos artefatos produzidos. Contudo, as caracter?sticas de uma LPS trazem novos desafios a essa atividade e que precisam ser considerados. Diversas abordagens foram propostas para o processo de teste de linhas de produto, mas elas se mostram limitadas ou fornecem diretrizes muito gerais. Outro fator preocupante ? a escassez de ferramentas que auxiliem na implementa??o, aplica??o e acompanhamento dos testes, bem como na ger?ncia e customiza??o de tais artefatos. Com base nesse contexto relacionado ao processo de teste de LPSs, esta disserta??o tem como objetivo propor uma abordagem sistem?tica para o teste de linhas de produto de software. A abordagem oferece: (i) estrat?gias de testes automatizados para LPSs tanto na engenharia de dom?nio quanto de aplica??o; (ii) diretrizes para a implementa??o e reuso de casos de teste automatizados nos n?veis de unidade, integra??o e sistema tanto para a engenharia de dom?nio quanto de aplica??o; e (iii) suporte ferramental para ger?ncia e customiza??o autom?tica de casos de teste usando t?cnicas de deriva??o autom?tica de software. A abordagem ? avaliada atrav?s da sua aplica??o em uma linha de produto para sistemas web. Os resultados deste trabalho mostram que a abordagem proposta pode ajudar os desenvolvedores a lidar com os desafios impostos pelas caracter?sticas das LPSs durante o processo de testes
20

Dos requisitos ? arquitetura em linhas de produtos de software: uma estrat?gia de transforma??es entre modelos

Coelho, Keivilany Janielle de Lima 06 February 2012 (has links)
Made available in DSpace on 2014-12-17T15:47:59Z (GMT). No. of bitstreams: 1 KeivilanyJLC_DISSERT.pdf: 3136956 bytes, checksum: 58f2931b21ff1ab0cd5e4e065e0d1aa4 (MD5) Previous issue date: 2012-02-06 / Conselho Nacional de Desenvolvimento Cient?fico e Tecnol?gico / The tracking between models of the requirements and architecture activities is a strategy that aims to prevent loss of information, reducing the gap between these two initial activities of the software life cycle. In the context of Software Product Lines (SPL), it is important to have this support, which allows the correspondence between this two activities, with management of variability. In order to address this issue, this paper presents a process of bidirectional mapping, defining transformation rules between elements of a goaloriented requirements model (described in PL-AOVgraph) and elements of an architectural description (defined in PL-AspectualACME). These mapping rules are evaluated using a case study: the GingaForAll LPS. To automate this transformation, we developed the MaRiPLA tool (Mapping Requirements to Product Line Architecture), through MDD techniques (Modeldriven Development), including Atlas Transformation Language (ATL) with specification of Ecore metamodels jointly with Xtext , a DSL definition framework, and Acceleo, a code generation tool, in Eclipse environment. Finally, the generated models are evaluated based on quality attributes such as variability, derivability, reusability, correctness, traceability, completeness, evolvability and maintainability, extracted from the CAF? Quality Model / O rastreamento entre modelos das atividades de requisitos e arquitetura ? uma estrat?gia que busca evitar a perda de informa??es, reduzindo o gap entre essas duas atividades iniciais do ciclo de vida do software. No contexto das Linhas de Produto de Software (LPS), ? importante que haja um suporte a esse rastreamento, que permita a correspond?ncia entre as duas atividades, com um gerenciamento satisfat?rio das variabilidades. Buscando atender a essa quest?o, este trabalho apresenta um processo de mapeamento bi-direcional, definindo regras de transforma??o entre elementos de modelo de requisitos orientado a objetivos (descrito em PL-AOVgraph) e elementos de descri??o arquitetural (definida em PL-AspectualACME). Essas regras de mapeamento s?o avaliadas em um estudo de caso: a LPS Ginga ForAll. Para automatizar essa transforma??o, implementamos a ferramenta MaRiPLA (Mapping Requirements to Product Line Architecture), atrav?s de t?cnicas do desenvolvimento dirigido a modelos (Model-driven Development MDD), incluindo a linguagem de transforma??es entre modelos Atlas Transformation Language (ATL) com especifica??o de metamodelos do tipo Ecore em conjunto com os frameworks Xtext, de defini??o DSL, e Acceleo, de gera??o de c?digo, em ambiente Eclipse. Por fim, os modelos gerados s?o avaliados, com base em atributos de qualidade como variabilidade, derivabilidade, reusabilidade, corretude, rastreabilidade, completude, evolutibilidade e manutenibilidade, extra?dos do Modelo de Qualidade CAF?

Page generated in 0.4909 seconds