1 |
Applying Hierarchical Feature Modeling in Automotive IndustryOliinyk, Olesia January 2013 (has links)
Context. Variability management (VM) in automotive domain is a promising solution to reduction of complexity. Feature modeling, as starting point of VM, deals with analysis and representation of available features in terms of commonalities and variabilities. The work is done in the context of an automotive industry – Adam Opel AG. Objectives. This work studies the automotive specific problems with respect to feature modeling, investigates what decomposition and structuring approaches exist in literature, and which one of them satisfies the industrial requirements. The approach to feature modeling is synthesized, evaluated and documented. Methods. In this work a case study with survey and literature review is performed. Survey uses semi structured interview and workshops as data collection methods. Systematic review includes articles from Compendex, Inspec, IEEE Xplore, ACM Digital Library, Science Direct and Engineering Village. Approach selection is based on mapping requirements against discovered approaches and discussion with industry practitioner on the regular meetings. Evaluation is proposed according to Goal Question Metric paradigm. Results. The approach that can be followed in the case organization is described and evaluated. The reasoning behind feature modeling approach construction and selection can be generalized for other organizations as well. Conclusions. We conclude that there is no perfect approach that would solve all the problems connected to automotive software. However, structuring approaches can be complementary and while combining give a good results. Tool support that integrates into the whole development cycle is important, as the amount of information cannot be processed using simple feature modeling tools. There is a need for further investigation in both directions – tool support and structuring approaches. The tactics that are proposed here should be introduced in organizations and formally evaluated. / Tel. +4917661965859
|
2 |
Representing Component Variability In Configuration ManagementBayraktar, Gamze 01 September 2012 (has links) (PDF)
Reusability of assets within a family of products is the major goal of Software Product Line Engineering (SPLE), therefore managing variability is an important task in SPLs. Configuration management in the context of software product line engineering is more complicated
than that in single systems engineering due to &rdquo / variability in space&rdquo / in addition to &rdquo / variability in time&rdquo / of core assets. In this study, a method for documenting variability in executable configuration items, namely components, is proposed by associating them with the Orthogonal
Variability Model (OVM) which introduces variability as a separate model. The main aim is to trace variability in dierent configurations by explicitly documenting variability information for components. The links between OVM elements and components facilitate tool support for product derivation as the components matching the selected variations can be gathered by following the links. The proposed scheme is demonstrated on a case study about a radar GUI variability model.
|
3 |
Modeling Product Line Variability in the Rail Vehicle DomainBogicevic, Stefan January 2018 (has links)
Software Product Line Engineering (SPLE) is a development approach used for handling large amounts of variants in software systems. The idea behind this approach is to exploit reusability of various similar and diverse products. Reusable products have various commonalities and differences that can be exploited, and to do so, developers need to define those differences (i.e., variabilities) within them. Variabilities can occur at different abstraction levels, through whole product lifecycle and developer need to handle it through the whole process. To address this problem at the architectural and requirement level, we used pure::variants, a leading variant-management commercial tool, to model variability within requirements in the railway domain. With this tool, we explicitly define a process on how to design a variability model that could be used to model several aspects of requirement variability, which can be reused again in the future, for the requirement engineering. We propose an approach for engineers to automatically generate models from requirement documents and then with the use of pure::variants functions, create various aspects which are then further transformed into feature models. Finally, the results of this transformation made possible the identification between core and variant features presented in these requirements making it easy to define what parts of the software are project specific and what are common for all generated models. Our results indicate that variability modelling using the pure::variants tool is applicable for requirement variant handling in the railway domain.
|
4 |
Vers une conception logique et physique des bases de données avancées dirigée par la variabilité / Towards a Variability-Aware Logical and Physical Database DesignBouarar, Selma 13 December 2016 (has links)
Le processus de conception des BD ne cesse d'augmenter en complexité et d'exiger plus de temps et de ressources afin de contenir la diversité des applications BD. Rappelons qu’il se base essentiellement sur le talent et les connaissances des concepteurs. Ces bases s'avèrent de plus en plus insuffisantes face à la croissante diversité de choix de conception, en soulevant le problème de la fiabilité et de l'exhaustivité de cette connaissance. Ce problème est bien connu sous le nom de la gestion de la variabilité en génie logiciel. S’il existe quelques travaux de gestion de variabilité portant sur les phases physique et conceptuelle, peu se sont intéressés à la phase logique. De plus, ces travaux abordent les phases de conception de manière séparée, ignorant ainsi les différentes interdépendances.Dans cette thèse, nous présentons d'abord la démarche à suivre afin d'adopter la technique des lignes de produits et ce sur l'ensemble du processus de conception afin de (i) considérer les interdépendances entre les phases, (ii) offrir une vision globale au concepteur, et (iii) augmenter l'automatisation. Vu l'étendue de la question, nous procédons par étapes dans la réalisation de cette vision, en consacrant cette thèse à l'étude d'un cas choisi de façon à montrer : (i) l'importance de la variabilité de la conception logique, (ii) comment la gérer en offrant aux concepteurs l'exhaustivité des choix, et la fiabilité de la sélection, (iii) son impact sur la conception physique (gestion multiphase),(iv) l'évaluation de la conception logique, et de l'impact de la variabilité logique sur la conception physique (sélection des vues matérialisées) en termes des besoins non fonctionnel(s) :temps d'exécution, consommation d'énergie voire l'espace de stockage. / The evolution of computer technology has strongly impacted the database design process which is henceforth requiring more time and resources to encompass the diversity of DB applications.Note that designers rely on their talent and knowledge, which have proven insufficient to face the increasing diversity of design choices, raising the problem of the reliability and completeness of this knowledge. This problem is well known as variability management in software engineering. While there exist some works on managing variability of physical and conceptual phases, very few have focused on logical design. Moreover, these works focus on design phases separately, thus ignore the different interdependencies. In this thesis, we first present a methodology to manage the variability of the whole DB design process using the technique of software product lines, so that (i)interdependencies between design phases can be considered, (ii) a holistic vision is provided to the designer and (iii) process automation is increased. Given the scope of the study, we proceed step-bystepin implementing this vision, by studying a case that shows: (i) the importance of logical design variability (iii) its impact on physical design (multi-phase management), (iv) the evaluation of logical design, and the impact of logical variability on the physical design (materialized view selection) in terms of non-functional requirements: execution time, energy consumption and storage space.
|
5 |
Engineering Families of Software-Intensive Systems using Features, Goals and ScenariosEriksson, Magnus January 2007 (has links)
Over the last decade, software has become an integral part of many products with which it is not traditionally associated (e.g., automobiles, medical equipment, home appliances, etc.). This has led to problems in many organizations, since it has proved difficult to integrate software engineering processes with other engineering processes. To address the increased complexity and to coordinate their engineering efforts, many organizations working in such domains have therefore introduced systems engineering into their business processes. Systems engineering is an interdisciplinary approach to system development. Teamwork is essential in developing complex systems, and systems engineering orchestrates this process throughout the lifespan of a system. The focus of systems engineering is on defining customer needs and required functionality, documenting requirements, synthesizing a design and validating the system. A problem with the traditional techniques of systems engineering is, however, that they provide inadequate support for achieving high levels of reuse between different projects. In this dissertation, methods and tools with the overall purpose of providing an improved reuse infrastructure for systems engineering artifacts and their resulting detailed design artifacts are proposed. The proposed methods and tools are based on the software product-line approach, a reuse strategy which focuses on families of related systems that address particular market segments. Studies have shown that if an empirical study does not report experiences from that which practitioners consider a “real” situation, results are likely to be ignored. Even though case studies cannot achieve the scientific rigor of formal experiments, case studies can provide enough information to decide if a specific technology will benefit a particular organization. To ensure industry-relevant research results, case studies on real development projects were chosen as the main vehicle for performing research. This dissertation reports experiences from four empirical studies which were performed within the Swedish defense industry. The studies indicate that the proposed methods and tools indeed provide an improved reuse infrastructure, compared to the previously used methods and tools.
|
6 |
Feature Oriented Domain Specific Language For Dependency Injection In Dynamic Software Product LinesDayibas, Orcun 01 September 2009 (has links) (PDF)
Base commonality of the Software Product Line (SPL) Engineering processes is to analyze commonality and variability of the product family though, SPLE defines many various processes in different abstraction levels. In this thesis, a new approach to configure (according to requirements) components as building blocks of the architecture is proposed. The main objective of this approach is to support domain design and application design processes in SPL context. Configuring the products is made into a semi-automatic operation by defining a Domain Specific Language (DSL) which is built on top of domain and feature-component binding model notions. In order to accomplish this goal, dependencies of the components are extracted from the software by using the dependency injection method and these
dependencies are made definable in CASE tools which are developed in this work.
|
7 |
Building a safety case for a small sized product line of Fuel Level Display SystemsGallucci, Antonio January 2013 (has links)
ISO 26262 is an international standard valid for the automotive domain. It regulates all the activities to perform for developing safety critical systems in such domain. To be compliant with ISO 26262, all the required activities have to be performed and all the required work products have to be provided. Furthermore, in addition to develop a system in a safe way, following the safety standard guidelines, the achieved safety has also to be demonstrated. This is done through a safety case, a structured argument showing that a system is acceptably safe. ISO 26262 focuses on single systems and does not contain guidelines for product lines. Product line engineering is a valid approach to systematize reuse, aimed at reducing the effort needed to develop similar systems. But, it loses its strength when dealing with safety critical systems, since it is not aligned with safety standards. Hence, when developing a safety critical product line in the automotive domain, the work products required by ISO 26262 have to be provided every time from scratch, including the safety case, for each single system of the product line. This thesis work focuses on providing an approach for building and modeling a safety case for safety critical product lines in the automotive domain. Furthermore, the considered product line engineering approach is aligned with ISO 26262, through the inclusion of safety activities in the product line development process. Giving in this way, the concrete possibility to overtake to the current limitations, reducing the effort needed to develop and certificate each single system of a safety critical product line. To illustrate the validity of the proposed approach a safety critical product line developed by Scania is used as case study.
|
8 |
Achieving non-intrusive interoperability between models for involving users in modeling tasksPérez Pérez, María Francisca 02 December 2015 (has links)
[EN] Model-Driven Development (MDD) promotes models as the cornerstone in the software development process, thereby displacing source code as the development process's main feature. Although this model-centric schema claims advantages over traditional software development (e.g., the code could be automatically generated from the models), it does not have the level of adoption that has been expected.
The literature review reveals a broad agreement in the fact that end-users may develop and adapt systems themselves but the complexity in modeling standards and the lack of modeling skills prevents their active involvement in modeling tasks of existing MDD processes. To overcome this, end-users should be provided with different modeling languages that use concepts, which fit their particular skills, context and needs.
This challenge is the main goal of this thesis, which is addressed by combining the End-user Development and the Model-Driven Development fields. This work starts with the involvement of end-users into the modeling tasks using a tool-supported visual modeling language that allows end-users to select and customize system features of pervasive systems using closer concepts for them. Afterwards, this thesis shows the necessity of enriching existing MDD processes for supporting the development of a new generation of software systems (e.g., smart health) that require expertise in a variety of domains. Consequently, different types of users (e.g., scientists, engineers and end-users) must actively participate in the description of model fragments that depend on their expertise using a different modeling language. Thus, users are able to collaborate to obtain a unified system description. At this point, it becomes necessary to provide mechanisms that transforms models fragments from one modeling language to another, delimits which model fragments are described by a different user, and integrates those model fragments.
To provide this, the presented approach encompasses variability management in a novel way to enable collaborative modeling by supporting both the selection of model fragments of the system that may be described using a different modeling language, and the integration of those model fragments once they are described. Furthermore, interoperability mechanisms bridge two different modeling languages in a non-intrusive way with the structure of models by transforming the description of gaps. Thus, our proposal could enrich models of existing MDD processes with model fragments that have been described using a different modeling language, which could make users feel confident to adopt models for describing domain-specific content and could help to adopt MDD processes.
The proposal has been validated in three case studies from different levels of complexity and domains: smart home systems, web information systems, and biomechanical protocols. The results have proven the applicability and feasibility of our approach to actively involve different types of users (end- users with software professionals, domain experts with software development experts, and doctors with biomedical engineers, respectively) in model descriptions of existing MDD processes using a different modeling language. / [ES] En el Desarrollo de Software Dirigido por Modelos (DSDM) los modelos son la piedra angular del proceso de desarrollo de software, desplazando así al código fuente como artefacto principal. Aunque este enfoque centrado en modelos ofrece ventajas sobre el desarrollo de software tradicional (por ejemplo, la generación de código de forma automática a partir de los modelos) no tiene el nivel de adopción esperado.
La literatura científica revela un amplio acuerdo en el hecho de que los usuarios finales puedan ellos mismos desarrollar y adaptar los sistemas pero la complejidad de los estándares de modelado y la carencia de habilidades de modelado impide su participación activa en procesos DSDM existentes. Para lograrlo, los usuarios finales deben disponer de lenguajes de modelado diferentes con conceptos adaptados a sus habilidades, contexto y necesidades.
Este desafío es el objetivo principal de esta tesis que se aborda combinando las ideas del desarrollo orientado al usuario final y el DSDM. Este trabajo comienza involucrando usuarios finales en tareas de modelado con una herramienta que les proporciona un lenguaje de modelado visual para seleccionar y personalizar características de un sistema pervasivo utilizando conceptos familiares para ellos. Después, esta tesis motiva la necesidad de enriquecer procesos de DSDM existentes para soportar el desarrollo de una nueva generación de sistemas software (por ejemplo, salud inteligente) que requieren conocimientos especializados en una variedad de dominios. Consecuentemente, diferentes tipos de usuarios (por ejemplo, científicos, ingenieros y usuarios finales) deben participar activamente en la descripción de fragmentos de modelos que dependen de su experiencia utilizando un lenguaje de modelado diferente. De este modo, los usuarios pueden colaborar para obtener una descripción del sistema unificada. En este punto, es necesario proporcionar mecanismos que transformen e integren los fragmentos de un lenguaje de modelado a otro y delimiten qué fragmentos se describen por un usuario diferente.
Para proporcionar esto, la propuesta presentada utiliza la gestión de variabilidad de forma novedosa para permitir modelado colaborativo seleccionando fragmentos de un modelo del sistema que pueden ser descritos utilizando un lenguaje de modelado diferente y, la integración de esos fragmentos una vez que hayan sido descritos. Además, la propuesta utiliza mecanismos de interoperabilidad para conectar dos lenguajes de modelado diferentes transformando la descripción de los fragmentos de una manera no invasiva con su estructura. Por tanto, nuestra propuesta puede enriquecer los modelos de procesos DSDM existentes con fragmentos de modelos que han sido descritos con un lenguaje diferente y esto, podría hacer que los usuarios se sientan seguros al adoptar modelos para describir contenido de dominio específico y podría ayudar a adoptar procesos DSDM.
La propuesta ha sido validada en tres casos de estudio con diferentes niveles de complejidad y dominios: sistemas para el hogar inteligente, sistemas de información web y protocolos biomecánicos. Los resultados han demostrado la aplicabilidad y viabilidad de nuestra propuesta para involucrar diferentes tipos de usuarios (usuarios finales con profesionales de software, expertos en el dominio con expertos en desarrollo de software y, médicos con ingenieros biomédicos, respectivamente) en descripciones de modelos de procesos DSDM existentes utilizando un lenguaje de modelado diferente. / [CA] En el Desenvolupament de Programari Dirigit per Models (DPDM) els models són la pedra angular del procés de desenvolupament de programari, desplaçant així al codi font com a artefacte principal. Encara que aquest enfocament centrat en models ofereix avantatges sobre el desenvolupament de programari tradicional (per exemple, la generació de codi de forma automàtica a partir dels models) no té el nivell d'adopció esperat.
La literatura científica revela un ampli acord en el fet que els usuaris finals puguen ells mateixos desenvolupar i adaptar els sistemes però la complexitat dels estàndards de modelatge i la falta d'habilitats de modelatge impedeix la seua participació activa en processos DPDM existents. Per a aconseguir-ho, els usuaris finals han de disposar de llenguatges de modelatge diferents amb conceptes adaptats a les seues habilitats, context i necessitats.
Aquest desafiament és l'objectiu principal d'aquesta tesi que s'aborda combinant les idees del desenvolupament orientat a l'usuari final i el DPDM. Aquest treball comença involucrant usuaris finals en tasques de modelatge amb una eina que els proporciona un llenguatge de modelatge visual que permet als usuaris finals seleccionar i personalitzar característiques d'un sistema pervasiu utilitzant conceptes familiars per a ells. Després, aquesta tesi motiva la necessitat d'enriquir processos de DPDM existents per a suportar el desenvolupament d'una nova generació de sistemes programari (per exemple, salut intel¿ligent) que requereixen coneixements especialitzats en una varietat de dominis. Conseqüentment, diferents tipus d'usuaris (per exemple, científics, enginyers i usuaris finals) han de participar activament en la descripció de fragments de models que depenen de la seua experiència utilitzant un llenguatge de modelatge diferent. D'aquesta manera, els usuaris poden col¿laborar per a obtenir una descripció del sistema unificada. En aquest punt, és necessari proporcionar mecanismes que transformen i integren els fragments d'un llenguatge de modelatge a un altre i delimiten quins fragments es descriuen per un usuari diferent.
Per a proporcionar açò, la proposta presentada utilitza la gestió de variabilitat de forma nova per a permetre modelatge col.laboratiu seleccionant fragments d'un model del sistema que poden ser descrits utilitzant un llenguatge de modelatge diferent i, la integració d'aqueixos fragments una vegada que hagen sigut descrits. A més, la proposta utilitza mecanismes d'interoperabilitat per a connectar dos llenguatges de modelatge diferents transformant la descripció dels fragments d'una manera no invasiva amb la seua estructura. Per tant, la nostra proposta pot enriquir els models de processos DPDM existents amb fragments de models que han sigut descrits amb un llenguatge diferent i açò, podria fer que els usuaris se senten segurs en adoptar models per a descriure contingut de domini específic i podria ajudar a adoptar processos DPDM.
La proposta ha sigut validada en tres casos d'estudi amb diferents nivells de complexitat i dominis: sistemes per a la llar intel¿ligent, sistemes d'informació web i protocols biomecànics. Els resultats han demostrat l'aplicabilitat i viabilitat de la nostra proposta per a involucrar diferents tipus d'usuaris (usuaris finals amb professionals de programari, experts en el domini amb experts en desenvolupament de programari i, metges amb enginyers biomèdics, respectivament) en descripcions de models de processos DPDM existents utilitzant un llenguatge de modelatge diferent. / Pérez Pérez, MF. (2015). Achieving non-intrusive interoperability between models for involving users in modeling tasks [Tesis doctoral]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/58429
|
9 |
A model-based approach to support the systematic reuse and generation of safety artefacts in safety-critical software product line engineering / Uma abordagem dirigida a modelos para apoiar o reuso sistemático e geração de artefatos de safety em engenharia de linhas de produtos de sistemas embarcados críticosOliveira, André Luiz de 05 May 2016 (has links)
Software Product Line Engineering (SPLE) has been proven to reduce development and maintenance costs, improving the time-to-market, and increasing the quality of product variants developed from a product family via systematic reuse of its core assets. SPLE has been successfully used in the development of safety-critical systems, especially in automotive and aerospace domains. Safety-critical systems have to be developed according to safety standards, which demands safety analysis, Fault Tree Analysis (FTA), and assurance cases safety engineering artefacts. However, performing safety analysis, FTA, and assurance case construction activities from scratch and manually for each product variant is time-consuming and error-prone, whereas variability in safety engineering artefacts can be automatically managed with the support of variant management techniques. As safety is context-dependent, context and design variation directly impact in the safety properties changing hazards, their causes, the risks posed by these hazards to system safety, risk mitigation measures, and FTA results. Therefore, managing variability in safety artefacts from different levels of abstraction increases the complexity of the variability model, even with the support of variant management techniques. To achieve an effective balance between benefits and complexity in adopting an SPLE approach for safety-critical systems it is necessary to distinguish between reusable safety artefacts, whose variability should be managed, and those that should be generated from the reused safety artefacts. On the other hand, both industry and safety standards have recognized the use of model-based techniques to support safety analysis and assurance cases. Compositional safety analysis, design optimization, and model-based assurance cases are examples of techniques that have been used to support the generation of safety artefacts required to achieve safety certification. This thesis aims to propose a model-based approach that integrates model-based development, compositional safety analysis, and variant management techniques to support the systematic reuse and generation of safety artefacts in safety-critical software product line engineering. The approach contributes to reduce the effort and costs of performing safety analysis and assessment for a particular product variant, since such analysis is performed from the reused safety artefacts. Thus, variant-specific fault trees, Failure Modes and Effects Analysis (FMEA), and assurance case artefacts required to achieve safety certification can be automatically generated with the support the model-based safety analysis and assurance case construction techniques. / Engenharia de Linha de Produtos de Software (ELPS) contribui para a redução dos custos de desenvolvimento e de manutenção, a melhoria do time-to-market, e o aumento da qualidade de produtos desenvolvidos a partir de uma família de produtos por meio do reuso sistemático dos ativos principais da linha de produtos. A ELPS vem sendo utilizada com sucesso no desenvolvimento de sistemas embarcados críticos, especificamente nos domínios de sistemas automotivos e aeroespaciais. Sistemas embarcados críticos devem ser desenvolvidos de acordo com os requisitos definidos em padrões de segurança, que demandam a produção de artefatos de análise de segurança, árvores de falhas e casos de segurança. Entretanto, a realização de atividades de análise de segurança, análise de árvores de falhas e construção de casos de segurança de forma manual para cada produto de uma linha de produtos é uma tarefa demorada e propensa a erros. O gerenciamento de variabilidade em artefatos de análise de segurança pode ser automatizado com o apoio de técnicas de gerenciamento de variabilidades. Em virtude de safety ser uma propriedade dependente de contexto, a variabilidade no projeto e contexto inerente uma linha de produtos software impacta na definição de propriedades de segurança do sistema, modificando as ameaças à segurança do sistema, suas causas e riscos, medidas de mitigação aplicáveis, e resultados de análise de árvore de falhas. Dessa forma, gerenciar variabilidades em artefatos relacionados à safety em diferentes níveis de abstração aumenta a complexidade do modelo de variabilidade mesmo com o apoio de técnicas de gerenciamento de variabilidades. Para alcançar o equilíbrio eficaz entre os benefícios e a complexidade da adoção de uma abordagem de ELPS para o desenvolvimento de sistemas embarcados críticos é necessário fazer a distinção entre artefatos de safety reusáveis, em que a variabilidade deve ser gerenciada, e artefatos de safety que devem ser gerados a partir de artefatos reusáveis. Por outro lado, tanto a indústria quanto os padrões de segurança têm reconhecido o uso de técnicas dirigidas a modelos para apoiar a análise segurança e a construção de casos de segurança. Técnicas de análise de segurança composicional e otimização de projeto, e de construção de casos de segurança dirigido a modelos vêm sendo utilizadas para apoiar a geração de artefatos de safety requeridos para certificação. O objetivo desta tese é a proposta de uma abordagem dirigida a modelos que integra técnicas de desenvolvimento dirigido a modelos, análise de segurança composicional e otimização de projeto, e construção de casos de segurança dirigido a modelos para apoiar o reuso sistemático e a geração de artefatos de safety em engenharia de linhas de produtos de sistemas embarcados críticos. A abordagem proposta reduz o esforço e os custos de análise e avaliação de segurança para produtos de uma linha de produtos, uma vez que tal análise é realizada a partir de artefatos de safety reusados. Assim, artefatos como análises de árvores de falhas e de modos de falha e efeitos, e casos de segurança requeridos para certificação podem ser gerados automaticamente com o apoio de técnicas dirigidas a modelos.
|
10 |
Software Product Line:Survey of ToolsMunir, Qaiser, Shahid, Muhammad January 2010 (has links)
<p>software product line is a set of software-intensive systems that share a common, managed set of features satisfying the specificneeds of a particular market segment or mission. The main attractive part of SPL is developing a set of common assets which includes requirements, design, test plans, test cases, reusable software components and other artifacts. Tools for the development of softwareproduct line are very few in number. The purpose of these tools is to support the creation, maintenance and using different versions ofproduct line artifacts. This requires a development environment that supports the management of assets and product development,processes and sharing of assets among different products.</p><p>The objective of this master thesis is to investigate the available tools which support Software Product Line process and itsdevelopment phases. The work is carried out in two steps, in the first step available Software Product Line tools are explored and a list of tools is prepared, managed and a brief introduction of each tool is presented. The tools are classified into different categoriesaccording to their usage, relation between the tools is established for better organization and understanding. In the second step, two tools Pure::variant and MetaEdit+ are selected and the quality factors such as Usability, Performance, Reliability, MemoryConsumption and Capacity are evaluated.</p>
|
Page generated in 0.104 seconds