• 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.
31

Leveraging software product lines engineering in the construction of domain specific languages / Usage de l'ingénierie de lignes de produits pour la construction de langages dédiés

Méndez Acuña, David Fernando 16 December 2016 (has links)
La complexité croissante des systèmes logiciels modernes a motivé la nécessité d'élever le niveau d'abstraction dans leur conception et mis en œuvre. L'usage des langages dédiés a émergé pour répondre à cette nécessité. Un langage dédié permet de spécifier un système logiciel à travers des concepts relatifs au domaine d'application. Cette approche a plusieurs avantages tels que la diminution des détails techniques auxquels les développeurs doivent faire face, la séparation des préoccupations et la participation des experts du domaine dans le processus de développement. Malgré les avantages fournis par l'usage des langages dédiés, cette approche présente des inconvénients qui remettent en question sa pertinence dans des projets réels de développement logiciel. L'un de ces inconvénients est le coût de la construction des langages dédiés. La définition et l'outillage de ces langages est une tâche complexe qui prend du temps et qui requiert des compétences techniques spécialisées. Le processus de développement des langages dédiés devient encore plus complexe lorsque nous prenons en compte le fait que ces langages peuvent avoir plusieurs dialectes. Dans ce contexte, un dialecte est une variante d'un langage qui introduit des différences au niveau de la syntaxe et/ou de la sémantique. Afin de réduire le coût du processus de développement des langages dédiés, les concepteurs des langages doivent réutiliser autant de définitions que possible pendant la construction des variantes. Le but est d'exploiter les définitions et l'outillage définis précédemment pour dunaire au maximum, la mis en ouvre des zéro dans la construction de langages. Afin de répondre à la question de recherche précédemment énoncée, la communauté de recherche autour de l'ingénierie des langages a proposé l'usage des lignes de produits. En conséquence, la notion de lignes de langages a récemment émergé. Une ligne de langages est une ligne de produis où les produits sont des langages. Le principal but dans les lignes de langages est la définition indépendante de morceaux de langage. Ces morceaux peuvent être combinées de manières différentes pour configurer des langages adaptés aux situations spécifiques. D'une manière similaire aux lignes de produits, les lignes de langages peuvent être construites à partir de deux approches différentes: top-down et bottom-up . Dans l'approche top-down, les lignes de langages sont conçues et mis en œuvre au travers d'un processus d'analyse du domaine où les connaissances du domaine sont utilisées pour définir un ensemble de modules de langage qui réalisent les caractéristiques de la ligne de langages. En outre, les connaissances du domaine sont aussi utilisées pour représenter la variabilité de la ligne de langages à travers des modèles bien structurés qui, en plus, servent à configurer des langages particuliers. Dans l'approche bottom-up, les lignes des langages sont construites à partir d'un ensemble de variantes des langages existant au travers de techniques d'ingénierie inverse. À partir des approches précédemment énoncées, nous proposons deux contributions : (1) Des facilités pour supporter l'approche top-down. Nous proposons une approche de modularisation des langages qui permet la décomposition des langages dédiés comme modules de langages interdépendants. En plus, nous introduisons une stratégie de modélisation pour représenter la variabilité dans une ligne de langages. (2) Techniques d'ingénierie inverse pour supporter l'approche bottom-up. Comme deuxième contribution, nous proposons une technique d'ingénierie inverse pour construire, de manière automatique, une ligne de langages à partir d'un ensemble de variantes de langages existantes. Nos contributions sont validées à travers des cas d'étude industriels. / The use of domain-specific languages (DSLs) has become a successful technique in the development of complex systems because it furnishes benefits such as abstraction, separation of concerns, and improvement of productivity. Nowadays, we can find a large variety of DSLs providing support in various domains. However, the construction of these languages is an expensive task. Language designers are intended to invest an important amount of time and effort in the definition of formal specifications and tooling for the DSLs that tackle the requirements of their companies. The construction of DSLs becomes even more challenging in multi-domain companies that provide several products. In this context, DSLs should be often adapted to diverse application scenarios, so language development projects address the construction of several variants of the same DSL. At this point, language designers face the challenge of building all the required variants by reusing, as much as possible, the commonalities existing among them. The objective is to leverage previous engineering efforts to minimize implementation from scratch. As an alternative to deal with such a challenge, recent research in software language engineering has proposed the use of product line engineering techniques to facilitate the construction of DSL variants. This led the notion of language product lines i.e., software product lines where the products are languages. Similarly to software product lines, language product lines can be built through two different approaches: top-down and bottom-up. In the top-down approach, a language product line is designed and implemented through a domain analysis process. In the bottom-up approach, the language product line is built up from a set of existing DSL variants through reverse-engineering techniques. In this thesis, we provide support for the construction of language product lines according to the two approaches mentioned before. On one hand, we propose facilities in terms of language modularization and variability management to support the top-down approach. Those facilities are accompanied with methodological insights intended to guide the domain analysis process. On the other hand, we introduce a reverse-engineering technique to support the bottom-up approach. This technique includes a mechanism to automatically recover a language modular design for the language product line as we as a strategy to synthesize a variability model that can be later used to configure concrete DSL variants. The ideas presented in this thesis are implemented in a well-engineered language workbench. This implementation facilitates the validation of our contributions in three case studies. The first case study is dedicated to validate our languages modularization approach that, as we will explain later in this document, is the backbone of any approach supporting language product lines. The second and third case studies are intended to validate our contributions on top-down and bottom-up language product lines respectively.
32

Processus flexible de configuration pour lignes de produits logiciels complexes / Flexible configuration process for complex software product lines

Urli, Simon 26 February 2015 (has links)
La nécessité de produire des logiciels de qualité en adéquation avec les besoins spécifiques du marché a conduit à l'émergence de nouvelles approches de développements telles que les Lignes de Produits Logiciels (LPL). Cependant pour répondre aux exigences croissantes des nouveaux systèmes informatiques, il convient aujourd'hui d'envisager la production de ces systèmes comme des compositions d’un grand nombre de systèmes interconnectés que l'on nomme aujourd'hui des systèmes-de-systèmes. En terme de lignes de produits, il s'agit de supporter la modularité et la très grande variabilité de ces systèmes, aussi bien du point de vue de la définition des sous-systèmes, que du point de vue de leur composition tout en garantissant la viabilité des systèmes construits. Pour supporter la construction et l'utilisation de lignes de produits logiciels complexes, nous proposons une nouvelle approche basée sur (i) la définition du modèle du domaine de la ligne, (ii) la formalisation de la variabilité des éléments du domaine par des feature models (FM) et (iii) l’expression des dépendances entre ces différents FM. Pour maîtriser la complexité de telles lignes nous avons complété cette approche de modélisation par d'une part, des algorithmes visant à assurer la cohérence des lignes ainsi modélisées et d'autre part, la conception d'un processus de configuration des produits logiciels complexes garantissant la cohérence des produits sans imposer d'ordre dans les choix utilisateurs et en autorisant l'annulation des choix. Nous validons nos travaux sur une LPL dédiée à un système-de-systèmes de portée industrielle pour la production de systèmes de diffusion d’informations. / The necessity of producing high quality softwares and the specific software market needs raise new approaches such as Software Product Lines (SPL). However in order to satisfy the growing requirements of new information systems, we need to consider those systems as a composition of many interconnected sub-systems called systems-of-systems. As a SPL, it implies to support the modularity and the large variability of such systems, from the definition of sub-systems to their composition, ensuring the consistency of final systems. To support design and usage of such a complex SPL, we propose a new approach based on (i) the definition of a SPL domain model, (ii) the formalization of variability using feature models (FM) and (iii) the representation of dependencies between those different FM. In order to manage the complexity of this SPL we complete our approach by in one hand algorithms ensuring the consistency of the SPL and on the other hand the definition of a configuration process which guarantees the consistency of products without imposing order in user choices and authorizing to cancel any choice. This thesis presents a formalization of these works and demonstrates the expected properties of those SPL, like the control of the product line consistency with incremental algorithms exploiting the domain model topology, the formal definition and the proof of the configuration process flexibility, and the consistency concepts of the process itself. On these basis, we propose a first implementation and we validate our works on a SPL dedicated to an industrial scale system-of-systems for producing digital signage systems.
33

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
34

Mixsets: Combining Annotative and Compositional Approaches to Variability and Product Lines

Algablan, Abdulaziz 10 December 2021 (has links)
In this thesis, we present mixsets, an approach to combine annotative and compositional fragments for specifying code variants to form software product lines (SPLs). There are three key contributions of our research: introducing mixsets to represent software variability, extending mixsets to construct feature models, and improving software composition to achieve fine-grained variability. The concept of mixsets is introduced in Umple as a conditional unit and a first-class entity to allow smoothly transitioning software to compositional SPLs. A mixset is a named set of mixins; each mixin belonging to the mixset is called a fragment. A mixset fragment can be a top-level entity that contains nested entities or can be embedded as a conditional fragment in other entities such as methods. Mixset content normally includes code blocks or statements of any type, and may include require statements, which describe explicit dependencies among mixsets. Mixsets can be used to specify product lines using code composition, code annotation or both. A strength of mixsets lies on the straightforward mechanism to transform annotated segments into compositional segments when used in a combined approach. Therefore, preplanning effort and time to transform annotative SPLs to compositional SPLs can be reduced. Mixsets can provide a backbone structure to realize product line features in a feature-based SPL. Hence, a feature model can be formed using a subset of specific dependent mixsets. Feature interactions within an SPL can be identified and separated in specific modules by mixset nesting. Furthermore, product configuration, feature modeling analysis and generation of feature diagrams can be accomplished based on mixsets. The thesis also demonstrates a method to enable the granularity of compositional approaches to be expressed at the statement level. This is achieved by allowing aspects to inject code into labelled places, or points of variation, within method code. Such injected code has a full access to the context in which its placed, such as access to local variables. Mixsets are implemented in Umple, a model-driven development (MDD) technology that allows combining abstract models, such as associations and state machines, with pure code, and generating code in multiple programming languages. Mixsets can thus be used to describe variations in models, not just code. The thesis uses a design science approach as its research methodology. The mixset concept is evaluated through three case studies. The first applies mixsets to the Oracle Berkeley Database SPL, which is used in other literature to evaluate SPL concepts. This study shows that the mixset implementation improves on the state of the art in several respects, such as elimination of complex workarounds that are required by other approaches. In the second study, mixsets help to refactor Umple into feature-oriented SPL. The case study shows how annotative fragments can be easily transformed into compositional counterparts. In the third study, mixsets help to present two alternative solutions the to the Rover Control Challenge Problem of the MDETools 2018 workshop.
35

Generating Graphical User Interfaces for Software Product Lines: A Constraint-based Approach

Müller, Johannes 12 March 2012 (has links)
Due to a high competitive pressure on the global software market, in many areas the software industry is moving from hand crafting to semi-automatic or automatic software construction based on Software Product Lines (SPL). Techniques to automate the construction of software products from SPLs are widely available. These can handle variability in source code artifacts but they are inappropriate to handle variability in Graphical User Interfaces (GUIs). The main reason is that they are not designed to handle such fine grained configurations as they are required to configure GUI frameworks or toolkits. To nevertheless employ them in GUI generation tasks is complex and time consuming. However, in the Human Computer Interaction (HCI) community approaches to develop GUIs in a model-based manner and with constraint-based techniques are worked on that help automate the construction of GUIs. Therefore, the main hypothesis of the proposed research is that constraint-based GUIs techniques are a well suited basis for reducing the customization effort of generated GUIs of SPLs. The paper proposes a research plan to employ these new HCI techniques in generating GUIs for SPLs.
36

A Feature Modelling Language Based on Product Family Algebra

Alabbad, Mohammed 10 1900 (has links)
<p>Feature modelling is an emerging software engineering paradigm, which helps organizations to develop products from core assets. Products are organized into families that share common core features. Feature modelling involves capturing, into a feature model, the commonality and variability of product families and several relationships among features or products. This thesis is about proposing a language for specifying feature models that is based on product family algebra (PFA). The language is intended to encompass the constructs found in early feature modelling graphical notations and languages. The thesis gives the syntax and the semantics of the proposed language. It discusses the design of its compiler that takes a feature model specification and generates its corresponding PFA, which can be analyzed using the tool Jory. The thesis uses a quite extensive case study to illustrate the use of the proposed language and its compiler.</p> / Master of Applied Science (MASc)
37

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
38

Squid impact analyser: uma ferramenta para an?lise de impacto de mudan?a em linhas de produto de software

Vianna, Alexandre Strapa??o Guedes 25 May 2012 (has links)
Made available in DSpace on 2014-12-17T15:48:03Z (GMT). No. of bitstreams: 1 AlexandreSGV_DISSERT.pdf: 2732563 bytes, checksum: ab07c81d7e941ed2d721415180865feb (MD5) Previous issue date: 2012-05-25 / Conselho Nacional de Desenvolvimento Cient?fico e Tecnol?gico / Software Products Lines (SPL) is a software engineering approach to developing software system families that share common features and differ in other features according to the requested software systems. The adoption of the SPL approach can promote several benefits such as cost reduction, product quality, productivity, and time to market. On the other hand, the SPL approach brings new challenges to the software evolution that must be considered. Recent research work has explored and proposed automated approaches based on code analysis and traceability techniques for change impact analysis in the context of SPL development. There are existing limitations concerning these approaches such as the customization of the analysis functionalities to address different strategies for change impact analysis, and the change impact analysis of fine-grained variability. This dissertation proposes a change impact analysis tool for SPL development, called Squid Impact Analyzer. The tool allows the implementation of change impact analysis based on information from variability modeling, mapping of variability to code assets, and existing dependency relationships between code assets. An assessment of the tool is conducted through an experiment that compare the change impact analysis results provided by the tool with real changes applied to several evolution releases from a SPL for media management in mobile devices / Linhas de Produtos de Software (LPS) consiste em um paradigma de desenvolvimento de software, no qual fam?lias de sistemas compartilham caracter?sticas comuns e tornam expl?citas outras caracter?sticas que variam de acordo com o sistema final sendo considerado. Esta abordagem oferece benef?cios ao desenvolvimento de software como redu??o de custos, qualidade do produto final, produtividade e tempo de desenvolvimento reduzido. Por outro lado, a abordagem imp?e novos desafios para a atividade de evolu??o dos artefatos que modelam e implementam a LPS. Trabalhos de pesquisa recentes prop?em abordagens com suporte automatizado de ferramentas de an?lise de impacto de mudan?a no contexto de evolu??o de LPSs. Tais abordagens s?o baseadas em t?cnicas de an?lise de impacto de mudan?as e rastreabilidade de artefatos, por?m apresentam limita??es quanto ? an?lise de impacto de mudan?as em variabilidades de granularidade fina, bem como ? customiza??o dos tipos e estrat?gias de an?lise realizadas. Esta disserta??o prop?e uma ferramenta de an?lise de impacto de mudan?a, denominada Squid Impact Analyzer, que utiliza uma estrat?gia de estimativa de impacto baseada em informa??es de caracter?sticas, mapeamento de tais caracter?sticas em artefatos de c?digo, e depend?ncia existente entre artefatos de implementa??o. A ferramenta ? avaliada atrav?s da condu??o de experimentos que realizam a quantifica??o de m?tricas de cobertura, precis?o e m?dia harm?nica nos resultados de buscas de an?lise de impacto de mudan?a da ferramenta proposta em contraposi??o ?s mudan?as reais realizadas nos artefatos de diversas vers?es de evolu??o de uma LPS para gerenciamento de m?dias em dispositivos m?veis. A ferramenta foi desenvolvida com base em uma infraestrutura que serve de base para a instancia??o de ferramentas de an?lise de propriedades de c?digo de LPSs, e que ? tamb?m parte da contribui??o da disserta??o
39

[en] GENARCH: A MODEL-BASED PRODUCT DERIVATION TOOL / [pt] GENARCH: UMA FERRAMENTA BASEADA EM MODELOS PARA DERIVAÇÃO DE PRODUTOS DE SOFTWARE

ELDER JOSE REIOLI CIRILO 29 October 2008 (has links)
[pt] Este trabalho apresenta uma ferramenta baseada em modelos para derivação de produtos de LPSs, denominada GenArch. O objetivo principal da ferramenta é permitir que a comunidade de desenvolvimento de software tradicional, utilize conceitos e fundamentos de abordagens de LPSs na produção de seus sistemas ou partes de seus sistemas sem a necessidade do entendimento de modelos e conceitos complexos. A abordagem implementada pela ferramenta foi elaborada com base em fundamentos do desenvolvimento dirigido por modelos. Centrada na definição de três modelos (características, implementação e configuração), a ferramenta permite a derivação automática de produtos ou frameworks existentes. O trabalho também define um conjunto específico de anotações Java que possibilitam a geração automática dos modelos de derivação a partir dos elementos de implementação da arquitetura de uma LPS. A plataforma Eclipse e as tecnologia EMF e openArchitectureWare foram utilizadas como base para a implementação da ferramenta. Uma extensão da ferramenta que atende especificamente aos modelos de componente Spring e OSGi, também é proposta nessa dissertação. Tal extensão permite a instanciação automática da LPS e aplicações através de diferentes tipos de customizações, variando da configuração fina de propriedades de componentes até a seleção automática de quais componentes irão compor o produto final. Como parte de validação da abordagem, a ferramenta foi utilizada na derivação automática de três diferentes estudos de caso: (i) o framework JUnit; (ii) uma LPS de jogos J2ME; e (iii) uma aplicação web baseada em serviços. Diversas lições aprendidas e resultados do uso da ferramenta nestes três diferentes cenários são também apresentadas. / [en] This work presents a model-based tool for product derivation, called GenArch, which aims to enable the mainstream software developer community to use the concepts and foundations of the SPL approach, without the need to understand complex concepts or models. The tool approach is build on top of model-driven development techniques. It is centered on the definition of three models (feature, implementation and configuration models), which enable the automatic instantiation of software product lines (SPLs) or frameworks. A set of specific Java annotations are also defined to allow generating automatically many of the models, based on existing implementations elements of SPL architectures. The Eclipse platform, and EMF and openArchitectureWare technologies are used as the base for the implementation of the tool. The dissertation also presents a GenArch extension that addresses the new abstractions provided by the Spring and OSGi component models. Different kinds of customizations are provided by this extension varying from fine-grained configuration of component properties to the automatic selection of components that will compose the final product. As part of the approach validation, the tool was used in the derivation of three case studies: (i) JUnit framework; (ii) a J2ME games SPL; (iii) a service oriented Web application. Several lessons learned and discussions resulting from the use of the tool also are described.
40

Gerenciamento de configuração de uma linha de produtos de software de veículos aéreos não tripulados / Confuguration management of a unmanned aerial vehicles software product line

Steiner, Eduardo Miranda 22 March 2012 (has links)
Veículos Aéreos não Tripulados (VANTs) são aeronaves que voam sem tripulação e são capazes de realizar diversos tipos de missões, como vigilância, coleta de dados topográficos e monitoramento ambiental. Este é um domínio que tem muito a ganhar com a aplicação da abordagem de Linha de Produtos de Software (LPS), uma vez que é rico em variabilidades e cada modelo de VANT tem também muitas partes comuns. Neste trabalho é apresentada uma infraestrutura tecnológica e de configuração de ativos em Simulink, gerenciados pelas ferramentas Pure::variant e Hephaestos para uma LPS de VANTs. Um conjunto de padrões para especificação de variabilidades em Simulink é proposto, bem como uma extensão para a ferramenta Hephaestus. Uma comparação entre as ferramentas Pure::variants e Hephaestus é apresentada / Unmanned Aerial Vehicles (UAVs) are aircrafts that can fly without any crew and are capable to realize several types of missions such as surveillance, topographic data collection and environmental monitoring. This is a domain which can benefit very much with the adoption of the Software Product Lines (SPL) approach, as each UAV model is rich in variabilities and has many common parts. In this work it is presented a software asset configuration infrastructure for the Simulink environment, managed by the tools Pure::variants and Hephaestus for a UAV SPL. A set of patterns of variability specification in Simulink is proposed as well as an extension to Hephaestus to support a SPL product engineering for Simulink. A comparison between Pure::variants and Hephaestus is also presented

Page generated in 0.0562 seconds