96 research outputs found

    Software Product Line

    Get PDF
    The Software Product Line (SPL) is an emerging methodology for developing software products. Currently, there are two hot issues in the SPL: modelling and the analysis of the SPL. Variability modelling techniques have been developed to assist engineers in dealing with the complications of variability management. The principal goal of modelling variability techniques is to configure a successful software product by managing variability in domain-engineering. In other words, a good method for modelling variability is a prerequisite for a successful SPL. On the other hand, analysis of the SPL aids the extraction of useful information from the SPL and provides a control and planning strategy mechanism for engineers or experts. In addition, the analysis of the SPL provides a clear view for users. Moreover, it ensures the accuracy of the SPL. This book presents new techniques for modelling and new methods for SPL analysis

    Enhancing Variability Modeling in Process-Aware Information Systems through Change Patterns

    Full text link
    [EN] The increasing adoption of process-aware information systems (PAISs) together with the high variability in business processes has resulted in collections of process families. These families correspond to a business process model and its variants, which can comprise hundreds or thousands of different ways of realizing this process. Modeling and managing process variability in this context can be very challenging due to the size of these families. Motivated by this challenge, several approaches enabling process variability have been developed. However, with these approaches PAIS engineers usually are required to model and manage one by one all the elements of a process family and ensure its correctness by their own. This can be tedious and error-prone especially when a process family comprises hundreds or thousands of process variants. For example, variability may not be properly reflected since PAIS engineers need to be aware of each variation of each process variant. Thus, there is a need of methods that allow PAIS engineers to model process variability more explicitly, especially at a level of abstraction higher than the one provided by the existing process variability approaches. However, how process variability is represented in existing approaches becomes critical for these methods (e.g., what language constructs are used to model process variability). In this context, the use of modeling patterns (reusable solutions to a commonly occurring problem) is a promising way to address these issues. For example, patterns have been proved as an efficient solution to model individual business processes. The objective of this thesis is to enhance the modeling of variability in process families through change patterns. First, we conduct a systematic study to analyze existing process variability approaches regarding their expressiveness with respect to process variability modeling as well as their process support. Thus, we can identify how process variability is actually modeled by existing approaches (i.e., a core set of variability-specific language constructs). In addition, based on the obtained empirical evidence, we derive the VIVACE framework, a complete characterization of process variability which comprises also a core set of features fostering process variability. VIVACE enables PAIS engineers to evaluate existing process variability approaches as well as to select that variability approach meeting their requirements best. In addition, it helps process engineers in dealing with PAISs supporting process variability. Second, to facilitate variability modeling in process families, based on the identified language constructs, we present a set of 10 change patterns and show how they can be implemented in a process variability approach. In particular, these patterns support process family modeling and evolution and are able to ensure process family correctness. In order to prove their effectiveness and analyze their suitability, we applied these change patterns in a real scenario. More concretely, we conduct a case study with a safety standard with a high degree of variability. The case study results show that the application of the change patterns can reduce the effort for process family modeling in a 34% and for evolution in a 40%. In addition, we have analyzed how PAIS engineers apply the patterns and their perceptions of this application. Most of them expressed some benefit when applying the change patterns, did not perceived an increase of mental effort for applying the patterns, and agreed upon the usefulness and ease of use of the patterns.[ES] La creciente adopción de sistemas de información dirigidos por procesos de negocio (PAIS) junto con la alta variabilidad en dichos procesos, han dado lugar a la aparición de colecciones de familias de procesos. Estas familias están constituidas por un modelo de proceso de negocio y sus variantes, las cuales pueden comprender entre cientos y miles de diferentes formas de llevar a cabo ese proceso. Gestionar la variabilidad en este contexto puede resultar muy difícil dado el tamaño que estas familias pueden alcanzar. Motivados por este desafío, se han desarrollado varias soluciones que permiten la gestión de la variabilidad en los procesos de negocio. Sin embargo, con estas soluciones los ingenieros deben crear y gestionar uno por uno todos los elementos de las familias de procesos y asegurar ellos mismos su corrección. Esto puede resultar tedioso y propenso a errores especialmente cuando las familias están compuestas de miles de variantes. Por ejemplo, la variabilidad puede no quedar adecuadamente representada ya que los ingenieros deben ser conscientes de todas y cada una de las variaciones de todas las variantes. Así, son necesarios nuevos métodos que permitan modelar la variabilidad de los procesos de una manera más explícita, a un nivel de abstracción más alto del proporcionado por las soluciones actuales. Sin embargo, cómo se representa la variabilidad en estos métodos resulta crítico (ej.: qué primitivas se utilizan). En este contexto, el uso de patrones de modelado (soluciones reutilizables a un problema recurrente) resultan un camino prometedor. Por ejemplo, los patrones han sido probados como una solución eficaz para gestionar procesos de negocio individuales. El objetivo de esta tesis es mejorar el modelado de la variabilidad en las familias de procesos a través del uso de patrones de cambio. En primer lugar, hemos llevado a cabo un estudio sistemático con el fin de analizar las soluciones existentes que permiten gestionar la variabilidad en los procesos, así como el soporte que estas proporcionan. Así, hemos sido capaces de identificar y analizar cuál es el conjunto básico de primitivas específicas para representar la variabilidad. Además, basándonos en la evidencia empírica obtenida, hemos derivado el marco de evaluación VIVACE, el cual recoge las primitivas de variabilidad y un conjunto básico de características que favorecen la variabilidad en los procesos. El principal objetivo de VIVACE es conformar una completa caracterización de la variabilidad en los procesos de negocio. Asimismo, VIVACE permite evaluar las soluciones que gestionan la variabilidad en los procesos, así como seleccionar la solución que se ajuste mejor a sus necesidades. Finalmente, VIVACE puede ayudar a los ingenieros a gestionar PAISs con variabilidad. En segundo lugar, para facilitar el modelado de la variabilidad en las familias de procesos, basándonos en las primitivas identificadas, hemos definido un conjunto de 10 patrones de cambio y hemos mostrado cómo estos patrones pueden ser implementados. En particular, estos patrones ayudan al modelado y la evolución de familias de procesos y son capaces de garantizar la corrección de la propia familia. Para probar su efectividad y analizar su idoneidad, hemos aplicado estos patrones de cambio en un escenario real. En concreto, hemos llevado a cabo un caso de estudio con un estándar de seguridad con un alto nivel de variabilidad. Los resultados de este caso demuestran que la aplicación de nuestros patrones de cambio puede reducir el esfuerzo para el modelado de familias de procesos en un 34% y para la evolución de esos modelos en un 40%. Además, hemos analizado cómo los ingenieros aplican los patrones y cuáles son sus percepciones de esta aplicación. Como resultado, la mayoría de ellos encontró beneficios al aplicar los patrones. Además, no percibieron un aumento en el esfuerzo mental necesario para aplicarlos y estuvieron de acuerdo en la utilid[CA] La creixent adopció de sistemes d'informació dirigits per processos de negoci (PAIS) junt amb l'alta variabilitat en eixos processos, han donat lloc a la aparició de col·leccions de famílies de processos. Estes famílies es formen de un model de procés de negoci i les seues variants, les quals poden comprendre entre cents i milers de diferents formes de dur a terme eixe procés. Modelar la variabilitat dels processos en este context pot resultar molt difícil donat la grandària que aquestes famílies poden aconseguir. Motivats per este desafiament, s'han desenvolupat diverses solucions que permeten la gestió de la variabilitat en els processos de negoci. No obstant, amb aquestes solucions els enginyers que treballen amb PAIS han de crear i gestionar un a un tots els elements de les famílies de processos i assegurar ells mateixos la seua correcció. Això pot resultar tediós i propens a errors especialment quan les famílies es componen de cents o milers de variants. Per exemple, la variabilitat pot no quedar adequadament representada ja que els enginyers han de ser conscients de totes i cadascuna una de les variacions de totes les variants. Per quest motiu, son necessaris nous mètodes que permeten als enginyers de PAIS modelar la variabilitat dels processos de manera més explícita, sobretot a un nivell d'abstracció més alt del proporcionat per les solucions actuals. No obstant, com es representa la variabilitat en aquestos mètodes resulta crític (ex.: quines primitives s'utilitzen per a modelar la variabilitat en els processos). En aquest context, l'ús de patrons de modelatge (solucions reutilitzables a un problema recurrent) resulten un camí prometedor. Per exemple, els patrons han sigut provats com una solució eficaç per modelar i gestionar processos de negoci individuals. L'objectiu d'aquesta tesi 'es millorar el modelatge de la variabilitat en les famílies de processos a través de l'ús de patrons de canvi. En primer lloc, hem dut a terme un estudi sistemàtic per a analitzar les solucions existents per a gestionar la variabilitat en els processos, així com el suport que aquestes proporcionen. D'aquesta manera, som capaços d'identificar i analitzar quin 'es el conjunt bàsic de primitives específiques per a representar la variabilitat. A més, basant-nos en l'evidència empírica obtinguda, hem derivat el marc d'evacuació VIVACE, el qual arreplega les primitives de variabilitat i un conjunt bàsic de característiques que afavoreixen la variabilitat en els processos. Així mateix, VIVACE permet als enginyers de PAIS avaluar les solucions per a gestionar la variabilitat en els processos, així com seleccionar la solució que s'ajusta millor a les seues necessitats. Finalment, VIVACE també pot ajudar als enginyers a gestionar PAISs que donen suport a aquesta variabilitat. En segon lloc, per a facilitar el modelatge de la variabilitat en les famílies de processos, basant-nos en les primitives identificades, hem definit un conjunt de 10 patrons de canvi i hem mostrat com aquestos poden ser implementats. En particular, estos patrons ajuden al modelatge i l'evolució de famílies de processos i garanteixen la correcció de la pròpia família. Per a provar la seua efectivitat i analitzar la seua idoneïtat, hem aplicat els patrons de canvi en un escenari real. En particular, hem dut a terme un cas d'estudi amb un estàndard de seguretat amb un alt nivell de variabilitat. Els resultats de aquest cas demostren que l'aplicació dels nostres patrons de canvi poden reduir l'esforç per al modelatge de famílies de processos en un 34% i per a l'evolució de eixos models en un 40%. A més, hem analitzat com els enginyers de PAIS apliquen els patrons i quines son les seues percepcions d'esta aplicació. Com a resultat, la majoria d'ells va trobar beneficis al aplicar els patrons de canvi. A més, no van percebre un augment en l'esforç mental necessari per a aplicar-los i van estar d'acord en la utilitat i fAyora Esteras, C. (2015). Enhancing Variability Modeling in Process-Aware Information Systems through Change Patterns [Tesis doctoral no publicada]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/58426TESI

    Integrated Management of Variability in Space and Time in Software Families

    Get PDF
    Software Product Lines (SPLs) and Software Ecosystems (SECOs) are approaches to capturing families of closely related software systems in terms of common and variable functionality (variability in space). SPLs and especially SECOs are subject to software evolution to adapt to new or changed requirements resulting in different versions of the software family and its variable assets (variability in time). Both dimensions may be interconnected (e.g., through version incompatibilities) and, thus, have to be handled simultaneously as not all customers upgrade their respective products immediately or completely. However, there currently is no integrated approach allowing variant derivation of features in different version combinations. In this thesis, remedy is provided in the form of an integrated approach making contributions in three areas: (1) As variability model, Hyper-Feature Models (HFMs) and a version-aware constraint language are introduced to conceptually capture variability in time as features and feature versions. (2) As variability realization mechanism, delta modeling is extended for variability in time, and a language creation infrastructure is provided to devise suitable delta languages. (3) For the variant derivation procedure, an automatic version selection mechanism is presented as well as a procedure to derive large parts of the application order for delta modules from the structure of the HFM. The presented integrated approach enables derivation of concrete software systems from an SPL or a SECO where both features and feature versions may be configured.:I. Context and Preliminaries 1. The Configurable TurtleBot Driver as Running Example 1.1. TurtleBot: A Domestic Service Robot 1.2. Configurable Driver Functionality 1.3. Software Realization Artifacts 1.4. Development History of the Driver Software 2. Families of Variable Software Systems 2.1. Variability 2.1.1. Variability in Space and Time 2.1.2. Internal and External Variability 2.2. Manifestations of Configuration Knowledge 2.2.1. Variability Models 2.2.2. Variability Realization Mechanisms 2.2.3. Variability in Realization Assets 2.3. Types of Software Families 2.3.1. Software Product Lines 2.3.2. Software Ecosystems 2.3.3. Comparison of Software Product Lines and Software Ecosystems 3. Fundamental Approaches and Technologies of the Thesis 3.1. Model-Driven Software Development 3.1.1. Metamodeling Levels 3.1.2. Utilizing Models in Generative Approaches 3.1.3. Representation of Languages using Metamodels 3.1.4. Changing the Model-Representation of Artifacts 3.1.5. Suitability of Model-Driven Software Development 3.2. Fundamental Variability Management Techniques of the Thesis 3.2.1. Feature Models as Variability Models 3.2.2. Delta Modeling as Variability Realization Mechanism 3.2.3. Variant Derivation Process of Delta Modeling with Feature Models 3.3. Constraint Satisfaction Problems 3.4. Scope 3.4.1. Problem Statement 3.4.2. Requirements 3.4.3. Assumptions and Boundaries II. Integrated Management of Variability in Space and Time 4. Capturing Variability in Space and Time with Hyper-Feature Models 4.1. Feature Models Cannot Capture Variability in Time 4.2. Formal Definition of Feature Models 4.3. Definition of Hyper-Feature Models 4.4. Creation of Hyper-Feature Model Versions 4.5. Version-Aware Constraints to Represent Version Dependencies and Incompatibilities 4.6. Hyper-Feature Models are a True Extension to Feature Models 4.7. Case Study 4.8. Demarcation from Related Work 4.9. Chapter Summary 5. Creating Delta Languages Suitable for Variability in Space and Time 5.1. Current Delta Languages are not Suitable for Variability in Time 5.2. Software Fault Trees as Example of a Source Language 5.3. Evolution Delta Modules as Manifestation of Variability in Time 5.4. Automating Delta Language Generation 5.4.1. Standard Delta Operations Realize Usual Functionality 5.4.2. Custom Delta Operations Realize Specialized Functionality 5.5. Delta Language Creation Infrastructure 5.5.1. The Common Base Delta Language Provides Shared Functionality for all Delta Languages 5.5.2. Delta Dialects Define Delta Operations for Custom Delta Languages 5.5.3. Custom Delta Languages Enable Variability in Source Languages 5.6. Case Study 5.7. Demarcation from Related Work 5.8. Chapter Summary 6. Deriving Variants with Variability in Space and Time 6.1. Variant Derivation Cannot Handle Variability in Time 6.2. Associating Features and Feature Versions with Delta Modules 6.3. Automatically Select Versions to Ease Configuration 6.4. Application Order and Implicitly Required Delta Modules 6.4.1. Determining Relevant Delta Modules 6.4.2. Forming a Dependency Graph of Delta Modules 6.4.3. Performing a Topological Sorting of Delta Modules 6.5. Generating Variants with Versions of Variable Assets 6.6. Case Study 6.7. Demarcation from Related Work 6.8. Chapter Summary III. Realization and Application 7. Realization as Tool Suite DeltaEcore 7.1. Creating Delta Languages 7.1.1. Shared Base Metamodel 7.1.2. Common Base Delta Language 7.1.3. Delta Dialects 7.2. Specifying a Software Family with Variability in Space and Time 7.2.1. Hyper-Feature Models 7.2.2. Version-Aware Constraints 7.2.3. Delta Modules 7.2.4. Application-Order Constraints 7.2.5. Mapping Models 7.3. Deriving Variants 7.3.1. Creating a Configuration 7.3.2. Collecting Delta Modules 7.3.3. Ordering Delta Modules 7.3.4. Applying Delta Modules 8. Evaluation 8.1. Configurable TurtleBot Driver Software 8.1.1. Variability in Space 8.1.2. Variability in Time 8.1.3. Integrated Management of Variability in Space and Time 8.2. Metamodel Family for Role-Based Modeling and Programming Languages 8.2.1. Variability in Space 8.2.2. Variability in Time 8.2.3. Integrated Management of Variability in Space and Time 8.3. A Software Product Line of Feature Modeling Notations and Constraint Languages 8.3.1. Variability in Space 8.3.2. Variability in Time 8.3.3. Integrated Management of Variability in Space and Time 8.4. Results and Discussion 8.4.1. Results and Discussion of RQ1: Variability Model 8.4.2. Results and Discussion of RQ2: Variability Realization Mechanism 8.4.3. Results and Discussion of RQ3: Variant Derivation Procedure 9. Conclusion 9.1. Discussion 9.1.1. Supported Evolutionary Changes 9.1.2. Conceptual Representation of Variability in Time 9.1.3. Perception of Versions as Incremental 9.1.4. Version Numbering Schemes 9.1.5. Created Delta Languages 9.1.6. Scalability of Approach 9.2. Possible Future Application Areas 9.2.1. Extend to Full Software Ecosystem Feature Model 9.2.2. Model Software Ecosystems 9.2.3. Extract Hyper-Feature Model Versions and Record Delta Modules 9.2.4. Introduce Metaevolution Delta Modules 9.2.5. Support Incremental Reconfiguration 9.2.6. Apply for Evolution Analysis and Planning 9.2.7. Enable Evolution of Variable Safety-Critical Systems 9.3. Contribution 9.3.1. Individual Contributions 9.3.2. Handling Updater Stereotypes IV. Appendix A. Delta Operation Generation Algorithm B. Delta Dialects B.1. Delta Dialect for Java B.2. Delta Dialect for Eclipse Projects B.3. Delta Dialect for DocBook Markup B.4. Delta Dialect for Software Fault Trees B.5. Delta Dialect for Component Fault Diagrams B.6. Delta Dialect for Checklists B.7. Delta Dialect for the Goal Structuring Notation B.8. Delta Dialect for EMF Ecore B.9. Delta Dialect for EMFText Concrete Syntax File

    A model for tracing variability from features to product-line architectures: a case study in smart grids

    Get PDF
    In current software systems with highly volatile requirements, traceability plays a key role to maintain the consistency between requirements and code. Traceability between artifacts involved in the development of Software Product Lines (SPL) is still more critical because it is necessary to guarantee that the selection of variants that realize the different SPL products meet the requirements. Current SPL traceability mechanisms trace from variability in features to variations in the configuration of product-line architecture (PLA) in terms of adding and removing components. However, it is not always possible to materialize the variable features of a SPL through adding or removing components, since sometimes they are materialized inside components, i.e. in part of their functionality: a class, a service and/or an interface. Additionally, variations that happen inside components may crosscut several components of architecture. These kinds of variations are still challenging and their traceability is not currently well-supported. Therefore, it is not possible to guarantee that those SPL products with these kinds of variations meet the requirements. This paper presents a solution for tracing variability from features to PLA by taking these kinds of variations into account. This solution is based on models and traceability between models in order to automate SPL configuration by selecting the variants and realizing the product application. The FPLA modeling framework supports this solution which has been deployed in a software factory. Validation has consisted in putting the solution into practice to develop a product line of power metering management applications for Smart Grids

    Using Transformation-Aspects in Model-Driven Software Product Lines

    Get PDF
    International audienceModel-Driven Software Product Lines (MD-SPL) are configured by using configuration models and Problem Space metamodels that capture product line scope. Products are derived by means of successive model transformations, starting from problem space models and based on the configuration models. Fine-variations of MD-SPLs correspond to characteristics that afect particular elements of models involved in the model transformations. In this paper, we present an approach to create MD-SPL including fine-variations. We configure products creating fine-feature configurations. Then, based on such configurations, we create MD-SPLs using principles of Aspects Oriented Development. Thus, our approach allows to derive products including fine-grained details of configuration

    Configuration management for models : generic methods for model comparison and model co-evolution

    Get PDF
    It is an undeniable fact that software plays an important role in our lives. We use the software to play our music, to check our e-mail, or even to help us drive our car. Thus, the quality of software directly influences the quality of our lives. However, the traditional Software Engineering paradigm is not able to cope with the increasing demands in quantity and quality of produced software. Thus, a new paradigm of Model Driven Software Engineering (MDSE) is quickly gaining ground. MDSE promises to solve some of the problems of traditional Software Engineering (SE) by raising the level of abstraction. Thus, MDSE proposes the use of models and model transformations, instead of textual program files used in traditional SE, as means of producing software. The models are usually graph-based, and are built by using graphical notations – i.e. the models are represented diagrammatically. The advantages of using graphical models over text files are numerous, for example it is usually easier to deduce the relations between different model elements in their diagrammatic form, thus reducing the possibility of defects during the production of the software. Furthermore, formal model transformations can be used to produce different kinds of artifacts from models in all stages of software production. For example, artifacts that can be used as input for model checkers or simulation tools can be produced. This enables the checking or simulation of software products in the early phases of development, which further reduces the probability of defects in the final software product. However, methods and techniques to support MDSE are still not mature enough. In particular methods and techniques for model configuration management (MCM) are still in development, and no generic MCM system exists. In this thesis, I describe my research which was focused on developing methods and techniques to support generic model configuration management. In particular, during my research, I focused on developing methods and techniques for supporting model evolution and model co-evolution. Described methods and techniques are generic and are suitable for a state-based approach to model configuration management. In order to support the model evolution, I developed methods for the representation, calculation, and visualization of state-based model differences. Unlike in previously published research, where these three aspects of model differences are dealt with in separation, in my research all these three aspects are integrated. Thus, the result of model differences calculation algorithm is in the format which is described by my research on model differences representation. The same representation format of model differences is used as a basis of my approach to differences visualization. It is important to notice that the developed representation format for model differences is metamodel independent, and thus is generic, i.e., it can be used to represent differences between all graph-based models. Model co-evolution is a term that describes the problem of adapting models when their metamodels evolve. My solution to this problem has three steps. In the first step a special metamodel MMfMM is introduced. Unlike in traditional approaches, where metamodels are represented as instances of a metametamodel, in my approach the metamodels are represented by models which are instances of an MMfMM. In the second step, since metamodels are represented by models, previously defined methods and techniques for model evolution are reused to represent and calculate the metamodel differences. In the final step I define an algorithm that uses the calculated metamodel differences to adapt models conforming to the evolved metamodel. In order to validate my approaches to model evolution and model co-evolution, I have developed a tool for comparing models and visualizing resulting differences, and a tool for model co-evolution. Moreover, I have developed a method to compare tools for model comparison, and using this method I have conducted a series of experiments in which I compared the tool I developed to an industrial tool called EMFCompare. The results of these experiments are also presented in the thesis. Furthermore, in order to validate my tool and approach to model co-evolution, I have also specified and conducted several experiments. The results of these experiments are also presented in the thesis

    Configurable Software Performance Completions through Higher-Order Model Transformations

    Get PDF
    Chillies is a novel approach for variable model transformations closing the gap between abstract architecture models, used for performance prediction, and required low-level details. We enable variability of transformations using chain of generators based on the Higher-Order Transformation (HOT). HOTs target different goals, such as template instantiation or transformation composition. In addition, we discuss state-dependent behavior in prediction models and quality of model transformations

    Cost-effective model-based test case generation and prioritization for software product line

    Get PDF
    In Software Product Line (SPL), testing is used to manage core assets that comprised variability and commonality in effective ways due to large sizes of products that continue to be developed. SPL testing requires a technique that is capable to manage SPL core assets. Model-based Testing (MBT) is a promising technique that offers automation and reusability in test cases generation. However, there are difficulties to ensure testing in MBT can achieve good test cases generation results based on cost (size of test suite, total execution time) and effectiveness (coverage criteria, fault detection rate) measures. This is due to lack of trade-off between cost and effectiveness in test cases generated in MBT for SPL. This study aims to increase quality of test cases based on cost and effectiveness by using generation and prioritization approaches for MBT in SPL. This study focuses on three parts to enhance quality of test cases. First, test model development based on traceability link. In order to improve test cases quality, this study focused on implementation of hybrid-based and hyper-heuristic based techniques to generate test cases. This is followed by Test Cases Prioritization (TCP) technique that is based on dissimilarity-based technique with string distance. These test cases generation and prioritization approaches are evaluated by using two benchmarks - one test object and one real object. The results are compared with other prominent approaches. The mapping approach showed 10.27% and 32.39% f-measure improvement against existing approach on e-shop object, respectively. For test cases generation using hybrid-based approach, the proposed approach outperformed existing approaches with 11.66% coverage, 17.78% average execution time, and 45.98% average size of test suite on vending machine object. The hyper-heuristic based approach NSGA-II-LHH outperformed other proposed low-level heuristic approaches with 12.00% improvement on coverage, 46.66% average execution time and 42.54% average size of test suite. Furthermore, evaluation of TCP approaches showed fault detection improvement of 21.60%, 10.40% and 12.20% and total execution time improvement of 48.00%, 22.70% and 31.80% in comparison with three existing approaches. The results revealed that proposed model transformations, test cases generation and prioritization approaches significantly improve cost and effectiveness measure in MBT for SPL
    corecore