• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 38
  • 4
  • Tagged with
  • 42
  • 42
  • 40
  • 29
  • 26
  • 15
  • 11
  • 10
  • 8
  • 8
  • 8
  • 8
  • 8
  • 8
  • 8
  • 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

Geração de aplicações para linhas de produtos orientadas a aspectos com apoio da ferramenta Captor-AO / Application generation for aspect oriented product lines with Captor-AO tool

Pereira Junior, Carlos Alberto de Freitas 19 November 2008 (has links)
Uma Linha de Produtos de Software (LPS) consiste de um conjunto de sistemas de software que compartilham características comuns e satisfazem às necessidades específicas de um segmento particular. Para tornar o processo de instanciação de produtos mais rápido e menos suscetível a erros, o projeto de uma LPS pode adotar a utilização de geradores de aplicação, que podem gerar os artefatos da LPS utilizando uma especificação das variabilidades de um certo produto. Adicionalmente, notase que determinadas características transversais de uma linha de produtos têm potencial de reúso em diferentes domínios, podendo ser implementadas usando a programação orientada a aspectos (POA). Neste trabalho é proposto um processo para o desenvolvimento de LPS e geração automatizada de produtos levando em consideração os interesses transversais existentes em cada domínio de aplicação. Os interesses transversais são as características comuns espalhadas pelas divisões ou módulos do programa de diferentes domínios. O processo aqui proposto tem a finalidade de aumentar o reúso de características de linhas de produtos por meio da POA, permitindo que as LPSs sejam projetadas de forma mais coesa e, consequentemente, facilitando sua manutenção e evolução. Visando diminuir o esforço necessário para a instanciação dos produtos provenientes dessas linhas de produtos, neste trabalho também é apresentada uma extensão do gerador Captor, denominada Captor-AO. Esse gerador fornece suporte ao processo proposto, permitindo a criação de produtos formados por características de diferentes domínios. Por fim, é apresentado um estudo de caso em que é realizada a configuração de um domínio transversal para o interesse de persistência, a definição de um domínio-base compatível com esse domínio transversal e a geração de produtos formados pelas características de ambos os domínios utilizando o gerador estendido Captor-AO / A Software Product Line (SPL) consists of a set of software systems that share common features and fulfill the specific requirements of a particular domain. In order to make the products instantiation process faster and less prone to errors, the project of a SPL can adopt the utilization of application generators, which can can automatically generate the SPL artifacts based on the specification of the variabilities of a particular product. Additionally, it can be noticed that certain crosscutting features of a product line have potencial to be reused in different domains, so they can be implemented using aspect oriented programming (AOP). In this work, a process is proposed for the development of SPLs and automatic generation of products, considering the crosscutting concerns present in each application domain. The crosscutting concerns are related to the common features that are scattered around program divisions or modules of different domains. The process proposed here has the goal of enhancing the reuse of SPL features using AOP, allowing the design of SPL in a more cohesive way and, thus, easing its maintenance and evolution. Aiming at decreasing the effort needed to instantiate products from these SPL, this work also presents an extension to the Captor application generator, named Captor-AO. This generator supports the proposed process, allowing the creation of products composed by features of different domains. Finally, a case study is presented in which Captor-AO is configured with two domains: a crosscutting domain for the persistence concern and a base domain compatible with this crosscutting domain, such that the generation of products can be done by composing features of both domains
12

[en] AN APPROACH FOR GROUPWARE DEVELOPMENT BASED ON SOFTWARE PRODUCT LINES AND THE 3C COLLABORATION MODEL / [pt] UMA ABORDAGEM DE DESENVOLVIMENTO DE GROUPWARE BASEADA EM LINHA DE PRODUTO DE SOFTWARE E MODELO 3C DE COLABORAÇÃO

BRUNO FREITAS GADELHA 15 June 2012 (has links)
[pt] Nesta tese investigou-se o desenvolvimento de software no contexto de groupware, especificamente para apoiar a aprendizagem colaborativa. O desenvolvimento de groupware, entretanto, não é trivial. Como todo software, há aspectos tecnológicos e sociais envolvidos no desenvolvimento. Quanto aos aspectos tecnológicos, o desenvolvimento de artefatos de infraestrutura ocupam grande parte do esforço destinado à implementação dessas aplicações, sobrando pouco tempo para a implementação de soluções inovadoras para as questões da colaboração propriamente ditas. Com respeito aos aspectos sociais, deve-se levar em conta que o trabalho em grupo é dinâmico e a composição dos grupos, bem como suas características, se alteram com o passar do tempo. Assim, desenvolveu-se uma linha de produtos de software para groupware baseado no Modelo 3C de Colaboração, onde os groupware são derivados a partir da formalização de técnicas de aprendizagem colaborativa em scripts de colaboração. Foi desenvolvido um protótipo, o GroupwareBuilder para interpretar o script de colaboração e derivar o groupware para suporte específico das suas atividades. Uma avaliação funcional e um estudo de caso foram realizados. Na avaliação funcional, buscou-se obter uma prova de conceito do GroupwareBuilder, na qual dois groupware foram derivados para apoiar os scripts de colaboração Debate Crítico e Buzz Groups. O estudo de caso foi realizado para observar como se daria a derivação de groupware para técnicas de aprendizagem colaborativa modeladas por diferentes professores. A principal contribuição deste trabalho é uma abordagem que possibilita a derivação e adaptação de groupware a partir de scripts de colaboração elaborados pelos usuários e não a partir de uma lista de requisitos funcionais, como em LPS’s tradicionais. / [en] In this thesis we explore software development on the context of groupware, specifically on supporting collaborative learning. Groupware development is not a trivial task given that technological and social issues are involved. Considering the technological issues, a huge amount of time is wasted on implementing infrastructure aspects leaving little time for implementation of innovative solutions on collaboration. Considering the social issues, we should take into account that group work is dynamic and that group composition changes over time. So, we developed a software product line for groupware based on the 3C Collaboration Model. The groupware derivation process starts with the formalization of the collaborative learning techniques in collaboration scripts. In order to support this collaboration process we developed the GroupwareBuilder, that reads the collaboration script and derives groupware tailored to the tasks described on the script. We made a functional evaluation and a case study. On the functional evaluation, we aimed on getting a proof of concept for GroupwareBuilder by deriving groupware for supporting the Critical Debate and Buzz Groups collaboration scripts. In order to analyze how GroupwareBuilder derives groupware from other collaborative learning techniques described by different teachers we made a case study. The main contribution of this thesis is an approach that enables the derivation of groupware and the customization of groupware in runtime from collaboration scripts written by the users, and not from a list of software requirements as used in other SPLs approaches.
13

An Assessment on Variability Implementation Techniques in Software Product Lines: A Replicated Case Study

Alvim, Loreno Freitas Matos 08 1900 (has links)
Submitted by Diogo Barreiros (diogo.barreiros@ufba.br) on 2017-06-02T17:13:36Z No. of bitstreams: 1 Dissertacao Loreno - corrigida.pdf: 2272486 bytes, checksum: eda3496f6b391d89f7d983d21c00111b (MD5) / Approved for entry into archive by Uillis de Assis Santos (uillis.assis@ufba.br) on 2017-06-28T18:39:11Z (GMT) No. of bitstreams: 1 Dissertacao Loreno - corrigida.pdf: 2272486 bytes, checksum: eda3496f6b391d89f7d983d21c00111b (MD5) / Made available in DSpace on 2017-06-28T18:39:11Z (GMT). No. of bitstreams: 1 Dissertacao Loreno - corrigida.pdf: 2272486 bytes, checksum: eda3496f6b391d89f7d983d21c00111b (MD5) / Computação Orientada a Serviços (COS) e Linhas de Produtos de Software (LPS) são abordagens destinadas ao desenvolvimento de sistemas de software que permitem as organizações reutilizarem, de forma sistemática, artefatos de software existentes ao invés de repetidamente desenvolvê-los a cada novo sistema implementado. Devido a essa característica, ambas as abordagens tem recebido uma crescente atenção de pesquisadores, principalmente, a sua combinação conhecida como Linha de Produtos Orientada a Serviços (LPOS). Isto pode ser justificada porque LPOS tem como objetivo alcançar os mesmos benefícios de ambas as abordagens e também resolver os problemas enfrentados por cada uma. No entanto, mesmo com toda esta campanha, muitos desafios precisam ser superados, em particular, a falta de avaliações que considerem as diferentes técnicas de implementação de variabilidade. Este trabalho investiga este problema através de dois diferentes estudos de caso. Assim, buscou-se identificar qual técnica de implementação de variabilidade obteve melhores resultados com relação a complexidade, estabilidade e modularidade de software. Baseados nos resultados, um modelo de decisão inicial foi desenvolvido para auxiliar engenheiros de software a escolherem a mais adequada técnica de implementação de variabilidade com base nesses critérios observados. / Service-Oriented Computing (SOC) and Software Product Lines (SPL) are approaches for developing software systems which enable organizations to reuse, in a systematic way, existing software assets rather than repeatedly developing them for new implemented systems. Due this characteristic, both approaches have received growing attention from researches, mainly, their combination known as Service-Oriented Product Lines (SOPL). It can be justified because SOPL has as objective achieving the same benefits from both approaches and also solving the problems facing by each one. Nevertheless, ever with this hype, many challenges need to be overcome, in particular, the lack of assessments considering different variability implementation techniques. This work investigates this problem through two different case studies. Thus, we aim to identify which variability mechanism achieved better results with respect to complexity, stability and modularity of software. Based on the results, an initial decision model was developed to aid software engineers choose the most suitable variability implementation technique based on a set of parameters.
14

On the Implementation o Dynamic Software Product Lines: An Exploratory Study

Carvalho, Michelle 22 December 2015 (has links)
Submitted by Kleber Silva (kleberbs@ufba.br) on 2016-05-31T18:36:48Z No. of bitstreams: 1 Dissertação de mestrado - Michelle Larissa.pdf: 7097555 bytes, checksum: 12c156cd6d3326533130fa7d2b9d09e3 (MD5) / Approved for entry into archive by Alda Lima da Silva (sivalda@ufba.br) on 2016-06-03T23:41:05Z (GMT) No. of bitstreams: 1 Dissertação de mestrado - Michelle Larissa.pdf: 7097555 bytes, checksum: 12c156cd6d3326533130fa7d2b9d09e3 (MD5) / Made available in DSpace on 2016-06-03T23:41:06Z (GMT). No. of bitstreams: 1 Dissertação de mestrado - Michelle Larissa.pdf: 7097555 bytes, checksum: 12c156cd6d3326533130fa7d2b9d09e3 (MD5) / A abordagem de Linhas de Produto de Software (LPS) consiste em um paradigma de engenharia de software emergente para promover reuso através do ciclo de vida de software. LPS permitem que as empresas de desenvolvimento supram a grande demanda de sistemas de software usando plataformas e customização em massa. O desenvolvimento de LPS, entretanto, precisa ser adaptado aos novos requisitos, tendo em conta o surgimento de novas tecnologias e serviços. Estas novas tendências de mercado requerem que LPS tornem-se mais evolutivas e adaptáveis. Mais recentemente, a abordagem de Linhas de Produto de Software Dinâmicas (LPSD) surgiu como um meio promissor para desenvolver LPS que incorporam artefatos reusveis e dinamicamente reconfiguráveis. LPSD adaptam seu comportamento quando a variabilidade é alcançada em tempo de execução. A abordagem de reconfiguração dinâmica usa o mapeamento de funcionalidades para os componentes que normalmente são tratadas na implementação. Assim, a seleção de mecanismos que oferecem suporte as decisões de tempo de execução consiste em uma atividade importante. Embora a literatura apresente alguns estudos de implementação nesse contexto, falta a caracterização de mecanismos de acordo com os requisitos de LPSD. De fato, os desenvolvedores precisam contar com um conjunto de mecanismos para lidar com a variabilidade dinâmica. Ademais, as pesquisas existentes começaram recentemente a investigar a necessidade de continuamente evoluir LPSD. No entanto, o foco consiste em discutir modelos de variabilidade. Além disso, no foram realizados estudos empíricos para avaliar quantitativamente o impacto de diferentes paradigmas na implementação de evolução de LPSD. A fim de entender e reduzir as questões mencionadas, nos investigamos as áreas de LPS e LPSD para identificar quais mecanismos de implementação têm sido abordados para gerenciar a variabilidade dinâmica. Neste sentido, um conjunto de critérios foi desenvolvido visando caracterizar esses mecanismos e auxiliar os desenvolvedores na etapa inicial do desenvolvimento de LPSD. Além disso, foi realizado um estudo exploratório no domínio de casas inteligentes com o objetivo de comparar as soluções orientadas a objetos e aspectos para a implementação de evolução de LPSD.
15

Comparing Strategies for Improving Precision When Checking Safe Evolution of Software Product Lines

ALMEIDA, Jefferson Rodrigues de 12 March 2014 (has links)
Submitted by Lucelia Lucena (lucelia.lucena@ufpe.br) on 2015-03-09T17:44:49Z No. of bitstreams: 2 DISSERTAÇÃO Jefferson Rodrigues de Almeida.pdf: 4623062 bytes, checksum: f4cfaea650da4ae73310745aa4b92435 (MD5) license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) / Made available in DSpace on 2015-03-09T17:44:49Z (GMT). No. of bitstreams: 2 DISSERTAÇÃO Jefferson Rodrigues de Almeida.pdf: 4623062 bytes, checksum: f4cfaea650da4ae73310745aa4b92435 (MD5) license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) Previous issue date: 2014-03-12 / FACEPE / Linhas de produtos de software estão emergindo como um paradigma de desenvolvimento viável e como um importante aliado que permite às empresas realizar melhorias de ordem de magnitude em tempo de mercado, custo, produtividade, qualidade e outros direcionadores de negócio. No entanto, a evolução de uma linha de produtos é arriscada, porque pode afetar muitos produtos e seus respectivos clientes. Neste contexto, ao evoluir uma linha de produtos para introduzir novas funcionalidades ou para melhorar a sua concepção, é importante garantir que os produtos existentes tenham o mesmo comportamento após a evolução. Ferramentas típicas de refatoração não podem garantir a preservação de comportamento dos produtos, porque o contexto de linha de produtos vai além de código. As linhas de produtos abrangem artefatos adicionais, tais como modelo de features e modelo de configurações. Além disso, geralmente tem que lidar com um conjunto de artefatos alternativos que não constituem um programa bem-formado. Portanto, ferramentas de refatoração existentes podem introduzir mudanças comportamentais ou invalidar configurações de produtos. Analisar essas evoluções de artefatos manualmente podem gastar muito tempo e levar a defeitos, comprometendo os benefícios de linhas de produtos de software acima mencionados. Na literatura, encontramos algumas abordagens de força bruta que se movem na direção de superar esses desafios. Elas implementam aproximações práticas de uma teoria de refinamento de linhas de produtos de software. No entanto, elas são imprecisas e gastam um tempo substancial para verificar incompatibilidades comportamentais entre as evoluções. Em contraste, uma alternativa otimizada foca na verificação de compatibilidade comportamental apenas das classes modificados durante a evolução. Isto leva a uma redução no tempo, fazendo com que a abordagem seja mais rápida quando comparado com outras abordagens propostas. Este procedimento melhora o desempenho, mas por outro lado, diminui a precisão. Portanto, neste trabalho, propomos estratégias para aumentar a precisão dessas abordagens otimizadas. Primeiramente implementados uma estratégia ao qual analisa as classes em uma hierarquia mais próxima do usuário, o que pode melhor determinar se a evolução preserva comportamento. Além disso, integramos uma nova ferramenta de geração de teste para o nosso conjunto de ferramentas, que tem uma heurística eficiente para orientar a sua busca por testes de maior qualidade. Neste trabalho, nós combinamos essas duas referidas abordagens com duas ferramentas de teste e fazemos comparações em relação ao desempenho e precisão. Elas são avaliadas em cenários concretos de evolução de duas linhas de produtos. A primeira linha de produtos gera testes funcionais a partir de especificações de casos e a segunda gerencia mídia em dispositivos móveis. Como resultado, nossas estratégias descobriram que algumas transformações introduziram mudanças comportamentais. Além disso, melhorou o desempenho e alcançou precisões mais elevadas.
16

Modeling software product line variability in use case scenarios: an approach based on crosscutting mechanisms

ALMEIDA, Rodrigo Bonifácio de 31 January 2010 (has links)
Made available in DSpace on 2014-06-12T15:52:31Z (GMT). No. of bitstreams: 2 arquivo3380_1.pdf: 3662532 bytes, checksum: 7a5c0cdcff383bfae82e49476b58f158 (MD5) license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5) Previous issue date: 2010 / Associação para Promoção da Excelência do Software Brasileiro / A Gerência de Variações é um desafio para a adoção de Linhas de Produtos de Software, uma vez que os desenvolvedores precisam de meios para especificar e implementar variações que ocorrem em diferentes tipos de artefatos (como requisitos, projeto e arquitetura, código fonte e casos de testes). Esta tese apresenta uma nova abordagem para gerenciar variações em cenários de casos de uso. Tal abordagem, Modeling Scenario Variabilities as Crosscutting Mechanisms (MSVCM), objetiva melhorar a separação de preocupações entre a representação de variações e as especificações de cenários, possibilitando aos engenheiros do domínio e da aplicação compreender evoluir ambas as preocupações de forma independente. MSVCM alcança tal objetivo graças ao uso extensivo de mecanismos composicionais para a derivação de produtos, idéia motivada pelo fato de que artefatos como modelos de features, configuração de produtos e modelos de conhecimento da configuração se entrecortam em relação aos membros da linha de produtos. Após a avaliação da abordagem proposta, por meio de alguns estudos de casos, identificou-se que MSVCM reduz o espalhamento de features e melhora a coesão das especificações de cenários. Estes resultados sugerem que a evolução das especificações usando a técnica proposta nesta tese requer alterações mais localizadas, quando comparada com outras abordagens existentes. Por outro lado, os resultados de três experimentos controlados apresentaram evidências de que MSVCM apenas reduz o tempo necessário para evoluir as especificações de uma LPS quando os participantes possuem grande familiaridade com a técnica proposta e com o processo de evoluir especificações de linhas de produtos.
17

Modeling software product line variability in use case scenarios: an approach based on crosscutting mechanisms

de Albuquerque Ribeiro, Rafael 31 January 2010 (has links)
Made available in DSpace on 2014-06-12T15:52:34Z (GMT). No. of bitstreams: 2 arquivo3521_1.pdf: 3662532 bytes, checksum: 7a5c0cdcff383bfae82e49476b58f158 (MD5) license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5) Previous issue date: 2010 / Conselho Nacional de Desenvolvimento Científico e Tecnológico / A Gerência de Variações é um desafio para a adoção de Linhas de Produtos de Software, uma vez que os desenvolvedores precisam de meios para especificar e implementar variações que ocorrem em diferentes tipos de artefatos (como requisitos, projeto e arquitetura, código fonte e casos de testes). Esta tese apresenta uma nova abordagem para gerenciar variações em cenários de casos de uso. Tal abordagem, Modeling Scenario Variabilities as Crosscutting Mechanisms (MSVCM), objetiva melhorar a separação de preocupações entre a representação de variações e as especificações de cenários, possibilitando aos engenheiros do domínio e da aplicação compreender evoluir ambas as preocupações de forma independente. MSVCM alcança tal objetivo graças ao uso extensivo de mecanismos composicionais para a derivação de produtos, idéia motivada pelo fato de que artefatos como modelos de features, configuração de produtos e modelos de conhecimento da configuração se entrecortam em relação aos membros da linha de produtos. Após a avaliação da abordagem proposta, por meio de alguns estudos de casos, identificou-se que MSVCM reduz o espalhamento de features e melhora a coesão das especificações de cenários. Estes resultados sugerem que a evolução das especificações usando a técnica proposta nesta tese requer alterações mais localizadas, quando comparada com outras abordagens existentes. Por outro lado, os resultados de três experimentos controlados apresentaram evidências de que MSVCM apenas reduz o tempo necessário para evoluir as especificações de uma LPS quando os participantes possuem grande familiaridade com a técnica proposta e com o processo de evoluir especificações de linhas de produtos
18

Understanding software product lines inspection in an industrial setting

Souza, Iuri Santos 31 January 2011 (has links)
Made available in DSpace on 2014-06-12T15:59:44Z (GMT). No. of bitstreams: 2 arquivo5530_1.pdf: 3005185 bytes, checksum: 2a022c6abeac87f561b30607dd251420 (MD5) license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5) Previous issue date: 2011 / Faculdade de Amparo à Ciência e Tecnologia do Estado de Pernambuco / Reuso de software é um aspecto fundamental para as organizações de software interessadas em melhorar os custos, a qualidade e reduzir o tempo de entrega dos produtos. Engenharia de Linhas de Produtos de software (SPL) é um conceito crescente em engenharia de software e foi desenvolvido objetivando uma maneira sistemática e prescrita para alcançar reuso. SPL é uma estratégia de reuso pró-ativa, que explora semelhanças e gerencia variabilidades dentro de um conjunto de produtos. O inerente reuso de artefatos de software em combinação com o desenvolvimento usualmente iterativo, traz um conjunto de melhorias para o desenvolvimento de software no contexto de SPL. Além disso, o conjunto de benefícios de SPL não acontecem sem esforços, tem alguns desafios e requer abordagens de garantia de qualidade, como testes e inspeção. Se esses pontos não são considerados, o sucesso da linha pode não ser alcançado, contrariando os enormes benefícios econômicos. Embora alguns autores discutam a importância de inspeções de software em todo o desenvolvimento de engenharia de software, na prática, poucos estudos discutem a relação entre inspeção e artefatos das fases iniciais de SPL. O cenário de Qualidade em SPL tem uma carência substancial da literatura em discutir as técnicas de garantia de qualidade. Neste cenário, esta dissertação apresenta um conjunto de evidências empíricas sobre Inspeção em Linhas de Produtos de Software fornecidas por um estudo empírico embutido, realizado em um ambiente industrial com objetivo de compreender e caracterizar como a atividade de inspeção deve ser tratada nas fases iniciais de SPL (escopo e engenharia de requisitos), especialmente para os artefatos de especificação de features, requisitos funcionais e casos de uso. Além disso, com base nos resultados coletados no estudo empírico alguns modelos de predição foram construídos a fim de estimar o número de não-conformidades para os artefatos investigados neste trabalho
19

MAKING SOFTWARE PRODUCT LINE EVOLUTION SAFER

Santiago Ferreira, Felype 31 January 2012 (has links)
Made available in DSpace on 2014-06-12T16:01:35Z (GMT). No. of bitstreams: 1 license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5) Previous issue date: 2012 / Coordenação de Aperfeiçoamento de Pessoal de Nível Superior / Desenvolvedores evoluem linhas de produtos de software (LPSs) manualmente ou usando Ferramentas típicas de refatoração de programas. No entanto, quando a evolução de uma Linha de produtos é feita para introduzir novas características, ou para melhorar o seu projeto, é importante ter a certeza de que o comportamento dos produtos existentes não é modificado. Programas típicos de refatoração de software não podem garantir isso porque o contexto de LPS vai além de código, e outros tipos de artefatos de código, e envolve artefatos adicionais, tais como modelos de feature e configuration knowledge. Além disso, em uma LPS, normalmente temos que lidar com um conjunto de possíveis artefatos de código-fonte alternativos que não constitui um programa bem formado. Como resultado, mudanças manuais e ferramentas de refatoração de software existentes podem introduzir mudanças comportamentais ou invalidar configurações de produtos existentes. Para evitar isso, propomos abordagens e implementamos ferramentas para tornar a evolução de linhas de produtos mais segura; essas ferramentas verificam se transformações em LPS são refinamentos no sentido de que preservam o comportamento dos produtos originais da LPS. Elas implementam aproximações diferentes e práticas de uma definição formal de refinamento de LPS. Avaliamos as abordagens em cenários concretos de evolução de LPS, onde o comportamento do produto existente deve ser preservado. No entanto, nossas ferramentas constataram que algumas transformações introduziram mudanças comportamentais. Além disso, avaliamos refinamentos defeituosos, e o conjunto de ferramentas detectou as mudanças de comportamento.
20

Geração de aplicações para linhas de produtos orientadas a aspectos com apoio da ferramenta Captor-AO / Application generation for aspect oriented product lines with Captor-AO tool

Carlos Alberto de Freitas Pereira Junior 19 November 2008 (has links)
Uma Linha de Produtos de Software (LPS) consiste de um conjunto de sistemas de software que compartilham características comuns e satisfazem às necessidades específicas de um segmento particular. Para tornar o processo de instanciação de produtos mais rápido e menos suscetível a erros, o projeto de uma LPS pode adotar a utilização de geradores de aplicação, que podem gerar os artefatos da LPS utilizando uma especificação das variabilidades de um certo produto. Adicionalmente, notase que determinadas características transversais de uma linha de produtos têm potencial de reúso em diferentes domínios, podendo ser implementadas usando a programação orientada a aspectos (POA). Neste trabalho é proposto um processo para o desenvolvimento de LPS e geração automatizada de produtos levando em consideração os interesses transversais existentes em cada domínio de aplicação. Os interesses transversais são as características comuns espalhadas pelas divisões ou módulos do programa de diferentes domínios. O processo aqui proposto tem a finalidade de aumentar o reúso de características de linhas de produtos por meio da POA, permitindo que as LPSs sejam projetadas de forma mais coesa e, consequentemente, facilitando sua manutenção e evolução. Visando diminuir o esforço necessário para a instanciação dos produtos provenientes dessas linhas de produtos, neste trabalho também é apresentada uma extensão do gerador Captor, denominada Captor-AO. Esse gerador fornece suporte ao processo proposto, permitindo a criação de produtos formados por características de diferentes domínios. Por fim, é apresentado um estudo de caso em que é realizada a configuração de um domínio transversal para o interesse de persistência, a definição de um domínio-base compatível com esse domínio transversal e a geração de produtos formados pelas características de ambos os domínios utilizando o gerador estendido Captor-AO / A Software Product Line (SPL) consists of a set of software systems that share common features and fulfill the specific requirements of a particular domain. In order to make the products instantiation process faster and less prone to errors, the project of a SPL can adopt the utilization of application generators, which can can automatically generate the SPL artifacts based on the specification of the variabilities of a particular product. Additionally, it can be noticed that certain crosscutting features of a product line have potencial to be reused in different domains, so they can be implemented using aspect oriented programming (AOP). In this work, a process is proposed for the development of SPLs and automatic generation of products, considering the crosscutting concerns present in each application domain. The crosscutting concerns are related to the common features that are scattered around program divisions or modules of different domains. The process proposed here has the goal of enhancing the reuse of SPL features using AOP, allowing the design of SPL in a more cohesive way and, thus, easing its maintenance and evolution. Aiming at decreasing the effort needed to instantiate products from these SPL, this work also presents an extension to the Captor application generator, named Captor-AO. This generator supports the proposed process, allowing the creation of products composed by features of different domains. Finally, a case study is presented in which Captor-AO is configured with two domains: a crosscutting domain for the persistence concern and a base domain compatible with this crosscutting domain, such that the generation of products can be done by composing features of both domains

Page generated in 0.0577 seconds