6 research outputs found

    An industrial case study for adopting software product lines in automotive industry an evolution-based approach for software product lines (EVOA-SPL)

    Get PDF
    Software Product Lines (SPLs) seek to achieve gains in productivity and time to market. Many companies in several domains are constantly adopting SPLs. Dealing with SPLs begin after companies find themselves with successful variants of a product in a particular domain. The adoption of an SPL-based approach in the automotive industry may provide a significant return on investment. To switch to an SPL-based approach, practitioners lack a reengineering approach that supports SPL migration and evolution in a systematic fashion. This paper presents a practical evolution-based approach to migrate and evolve a set of variants of a given product into an SPL and describes a case study from the automotive domain. The case study considers the need to handle the classical sensor variants family (CSVF) at Bosch Company. Using this study, we performed a contributed step toward future switch of the CSVF into the SPL. We investigated the applicability of the proposed evolution-based approach with a real variants family (using the textual requirements of the CSVF) and we evaluated our approach using several data collection methods. The results reveal that our approach can be suitable for the automotive domain in the case study.The University of Minho and Bosch Company supported this research. We thank our colleagues from the classical sensor development team at Bosch Company. Especially Andre L. Ferreira and Jana Seidel for their active collaboration and support. Special acknowledgment to the spirit of Helder Boas, who passed away after he offered the help and support to this research work

    Identifying and Visualising Commonality and Variability in Model Variants

    No full text

    Identifying and Visualising Commonality and Variability in Model Variants

    No full text
    International audienceModels, as any other software artifact, evolve over time during the development life-cycle. Different versions of the same model are thus existing at different times. Model comparison of different versions has received a lot of attention in recent years. However, existing techniques focus on comparing only two model versions at the same time to identify model differences. Independently of model versioning context, another dimension of variation, called variation in space, appears in models. Contrary to variation in time, variation in space means that a set of model variants exists and should be maintained. Comparing all these model variants to identify common and variable elements becomes thus a major challenge. Current approaches for model variants comparison lack of flexibility and appropriate visualisation paradigm. The contribution of this paper is the Model Variants Comparison approach (MoVaC). This approach compares a set of model variants and identifies both commonality and variability in the form of what is referred to as features. Each feature consists in a set of atomic model-elements. MoVaC also visualizes the identified features using a graphical representation where common and variable features are explicitly presented to users. We validate the approach on two use cases demonstrating the flexibility of MoVaC to be applied to any kind of EMF-based model variants

    Model-Based Engineering of Collaborative Embedded Systems

    Get PDF
    This Open Access book presents the results of the "Collaborative Embedded Systems" (CrESt) project, aimed at adapting and complementing the methodology underlying modeling techniques developed to cope with the challenges of the dynamic structures of collaborative embedded systems (CESs) based on the SPES development methodology. In order to manage the high complexity of the individual systems and the dynamically formed interaction structures at runtime, advanced and powerful development methods are required that extend the current state of the art in the development of embedded systems and cyber-physical systems. The methodological contributions of the project support the effective and efficient development of CESs in dynamic and uncertain contexts, with special emphasis on the reliability and variability of individual systems and the creation of networks of such systems at runtime. The project was funded by the German Federal Ministry of Education and Research (BMBF), and the case studies are therefore selected from areas that are highly relevant for Germany’s economy (automotive, industrial production, power generation, and robotics). It also supports the digitalization of complex and transformable industrial plants in the context of the German government's "Industry 4.0" initiative, and the project results provide a solid foundation for implementing the German government's high-tech strategy "Innovations for Germany" in the coming years

    From Grown to Structured - Reducing unnecessary Variability of Technology Architectures in large-scale IT Landscapes

    Get PDF
    Die IT-Landschaft in einem Unternehmen entwickelt sich typischerweise über viele Jahre und Jahrzehnte. Um den steigenden Bedarf an Softwarelösungen zur Unterstützung unterschiedlichster Geschäftsfunktionen zu realisieren, werden so über die Zeit immer mehr Anwendungssysteme geschaffen und in die bestehende Landschaft integriert. In der Konsequenz können solche gewachsenen IT-Landschaften aus hunderten oder gar tausenden von Softwaresystemen bestehen, die ein breites Spektrum unterschiedlichster Technologien verwenden. So setzen zwar viele von ihnen gleiche Kerntechnologien (z.B. Java, .Net oder SAP) ein, unterscheiden sich jedoch häufig in den verwendeten technologischen Komponenten (z.B. verschiedene Betriebssysteme, Datenbanksysteme oder Applikationsserver). Diese technologischen Varianten sind aus Architektursicht nicht immer erforderlich und verursachen unnötige Variabilität in den Technologiearchitekturen der betrachteten Systeme, was zu einer höheren Komplexität, einer geringeren Anpassungsfähigkeit sowie zu steigenden Kosten und höherem Aufwand für die Wartung und Weiterentwicklung der gesamten IT-Landschaft führt. Um diesen Herausforderungen zu begegnen, ist es erforderlich, dass die Variabilität von technologisch verwandten Softwaresystemen reduziert wird. Da hiermit komplexe Tätigkeiten verbunden sind, die bisher manuell von Experten durchgeführt werden müssen, sind sie für gewachsene IT-Landschaften kaum durchführbar. Zur Lösung dieses Problems werden in dieser Dissertation drei wissenschaftlichen Beiträge vorgestellt: (1) Ein Mining-Verfahren zur Bestimmung von Variabilität in Technologiearchitekturen, welches eine beliebige Anzahl an verwandten IT-Systemen analysiert und alle Variabilitätsbeziehungen zwischen ihnen bestimmt. (2) Ein regelbasierter Ansatz zur Ableitung von Restrukturierungsempfehlungen, welcher unnötige Variabilität in den betrachteten Technologiearchitekturen identifiziert und geeignete Maßnahmen zur Reduzierung dieser Variabilität vorschlägt. (3) Ein Ansatz zur Simulation und Bewertung von abgeleiteten Restrukturierungsempfehlungen, welcher Experten bei der Entscheidungsfindung zur konkreten Restrukturierung von betrachteten Technologiearchitekturen unterstützt. Alle Beiträge wurden mit Experteninterviews und Fallstudien evaluiert. Für diese Evaluation standen uns verschiedene Experten eines Industriepartners sowie Daten von realen Technologiearchitekturen zur Verfügung.A company's IT landscape typically evolves over years and even decades. By satisfying the growing demand for software solutions, the number of software systems increases with a company’s requirements to support various business functions. As such an evolution is normally uncoordinated, the realization of new requirements often results in additional software systems. As a consequence, grown IT landscapes can consist of hundreds or thousands of different software systems with a large variety of technologies. Although such software systems typically utilize similar core technologies (e.g., Java, .Net, or SAP), they often differ in implemented technology components which are required to run the software system (e.g., different operating systems, database systems or application server). From an architectural point of view, such technical variants are not always necessary and might lead to unnecessary variability in the technology architectures of regarded software systems. This results in increasing costs, a reduced adaptability and higher effort for maintaining and evolving existing software solutions and the entire IT landscape. To cope with these challenges, the variability of technically related software systems has to be reduced. As this requires manual and complex analyzes, it is not feasible for a large number of software systems. Thus, experts continuously face the tedious challenge of making reasonable restructuring decisions for large-scale IT landscapes. To solve the described problems, this doctoral thesis comprises three different scientific contributions: (1) An automated mining approach for determining variability in technology architectures, which is capable of analyzing a large number of software systems and determining the inherent variability relations. (2) A rule-based approach for deriving restructuring recommendations, which identifies unnecessary variability in the considered technology architectures and suggests appropriate restructuring measures to reduce this variability. (3) An approach for evaluating and simulating derived restructuring recommendations, which supports experts in taking reasonable decisions for restructuring of analyzed technology architectures. All contributions were evaluated by means of expert interviews and several case studies. For this purpose, we had access to various experts as well as real-word data from our industry partner

    ModelVars2SPL : an automated approach to reengineer model variants into software product lines

    Get PDF
    Orientadora : Profª. Drª. Silvia R. VergilioCoorientador : Prof Dr. Roberto E. Lopez-HerrejonTese (doutorado) - Universidade Federal do Paraná, Setor de Ciências Exatas, Programa de Pós-Graduação em Informática. Defesa: Curitiba, 11/04/2017Inclui referências : f. 74-82Área de concentração : Ciência da computaçãoResumo: Linhas de Produto de Software (LPSs) são famílias de sistemas de software relacionados que são desenvolvidos para um segmento de mercado ou domínio. Comumente, LPSs surgem de um conjunto de variantes existentes, quando a manutenção e/ou evolução individuais tornam-se complexas. Contudo, as abordagens encontradas na literatura para extração de LPS a partir de variantes existentes não dão suporte a modelos de projeto, são parcialmente automatizadas, ou não refletem restrições de domínio em termos de combinação de características. Para lidar com estas limitações, o objetivo deste trabalho é apresentar uma abordagem automatizada para fazer a reengenharia de variantes de modelos em uma LPS, chamada ModelVars2SPL (Variantes de Modelos para Linha de Produto de Software, do Inglês Model Variants to Software Product Line). A entrada para a abordagem é um conjunto de diagramas de classe Linguagem de Modelagem Unificada (UML) e uma lista de características que estes implementam. Todo o processo de reengenharia é coberto, e a saída inclui (i) um Modelo de Características, que representa a combinação de características das variantes de entrada, e (ii) uma Arquitetura de Linha de Produto, que representa uma arquitetura global com características anotadas. O processo de reengenharia da ModelVars2SPL é composto por quatro passos, sendo dois deles apoiados em técnicas baseadas em busca, e os dois outros baseados em algoritmos determinísticos. Não existe a necessidade de especialistas humanos para obter soluções. Para avaliar a abordagem proposta, foi conduzido um experimento para aferir a qualidade das soluções obtidas. A qualidade dos Modelos de Características e das Arquiteturas de Linha de Produto foi medida considerando-se o quão bem as variantes de entrada foram representadas. Além disso, a qualidade das saídas em cada passo da abordagem foi avaliada levando-se em consideração os objetivos do processo de reengenharia. Para a experimentação utilizaram-se dez estudos de caso representando dois cenários diferentes. Os resultados da avaliação mostram que a abordagem consegue obter soluções com alto grau de corretude em termos de representação das variantes de entrada, e que as saídas dos passos estão de acordo com as fases do processo de reengenharia. Com base em um exemplo de uso de uma solução mostra-se como os artefatos de LPS obtidos facilitam a atividade de manutenção. Palavras-chave: Reúso, Reengenharia, Linha de Produto de Software, Extração de LPS, Engenharia de Software Baseada em Busca.Abstract: Software Product Lines (SPLs) are families of related software systems developed for specific market segments or domains. SPLs commonly emerge from sets of existing variants when their individual maintenance and/or evolution become complex. However, current approaches for SPL extraction from existing variants do not support design models, are partially automated, or do not reflect domain constraints in terms of feature combinations. To tackle these limitations, the goal of this work is to present an automated approach to reengineer model variants into an SPL, called ModelVars2SPL (Model Variants to Software Product Line). The input of the approach is a set of Unified Modeling Language (UML) class diagrams and the list of features they implement. All the reengineering process is covered, and the output includes (i) a Feature Model, which represents the combinations of features of the input variants, and (ii) a Product Line Architecture, which represents a global architecture with feature-related annotations. The reengineering process of ModelVars2SPL is composed of four steps, two of them rely on searchbased techniques and the others are based on deterministic algorithms. There is no need for human experts for obtaining solutions. We conducted an experiment to evaluate the quality of the solutions obtained with the proposed approach. The quality of the FMs and PLAs was measured by considering how well these artifacts represent the input variants. Furthermore, we evaluate the quality of the outputs in each step of the approach taking into account the goals of the reengineering process. For the experimentation we used ten case studies representing two di_erent scenarios. The results of the evaluation show that the approach can obtain solutions with high degree of correctness in terms of representing the input variants, and that the outputs of the steps are in accordance to the phases of the reengineering process. Based on an example of use we show how the obtained FM and PLA make easier the maintenance activity. Keywords: Reuse, Reengineering, Software Product Line, SPL extraction, Search-Based Software Engineering
    corecore