sagar sen - Academia.edu (original) (raw)

Papers by sagar sen

Research paper thumbnail of Automatic Model Generation Strategies for Model Transformation Testing

Testing model transformations requires input models which are graphs of inter-connected objects t... more Testing model transformations requires input models which are graphs of inter-connected objects that must conform to a meta-model and meta-constraints from heterogeneous sources such as well-formedness rules, transformation preconditions, and test strategies. Manually specifying such models is tedious since models must simultaneously conform to several meta-constraints. We propose automatic model generation via constraint satisfaction using our tool Cartier for model transformation testing. Due to the virtually infinite number of models in the input domain we compare strategies based on input domain partitioning to guide model generation. We qualify the effectiveness of these strategies by performing mutation analysis on the transformation using generated sets of models. The test sets obtained using partitioning strategies gives mutation scores of up to 87% vs. 72% in the case of unguided/random generation. These scores are based on analysis of 360 automatically generated test models for the representative transformation of UML class diagram models to RDBMS models.

Research paper thumbnail of Reusable model transformations

Software and System Modeling

Model transformations written for an input metamodel may often apply to other metamodels that sha... more Model transformations written for an input metamodel may often apply to other metamodels that share similar concepts. For example, a transformation written to refactor Java models can be applicable to refactoring UML class diagrams as both languages share concepts such as classes, methods, attributes, inheritance. Deriving motivation from this example, we present an approach to make model transformations reusable such that they function correctly across several similar metamodels. Our approach relies on these principal steps: (1) We analyze a transformation to obtain an effective subset of used concepts. We prune the input metamodel of the transformation to obtain an effective input metamodel containing the effective subset. The effective input metamodel represents the true input domain of transformation. (2) We adapt a target input metamodel by weaving it with aspects such as properties derived from the effective input metamodel to ultimately make it a subtype of the effective input metamodel. The subtype property ensures that the transformation can process models conforming to the target input metamodel without any change in the transformation itself. We validate our approach by adapting well-known refactoring transformations (Encapsulate Field, Move Method, and Pull Up Method) written for an in-house domain-specific modelling language (DSML) to three different industry standard metamodels (Java, MOF, and UML).

Research paper thumbnail of Metamodel Pruning

Large and complex meta-models such as those of Uml and its profiles are growing due to modelling ... more Large and complex meta-models such as those of Uml and its profiles are growing due to modelling and inter-operability needs of numerous stakeholders. The complexity of such meta-models has led to coining of the term meta-muddle. Individual users often exercise only a small view of a meta-muddle for tasks ranging from model creation to construction of model transformations. What is the effective meta-model that represents this view? We present a flexible meta-model pruning algorithm and tool to extract effective meta-models from a meta-muddle. We use the notion of model typing for meta-models to verify that the algorithm generates a super-type of the large meta-model representing the meta-muddle. This implies that all programs written using the effective meta-model will work for the meta-muddle hence preserving backward compatibility. All instances of the effective meta-model are also instances of the meta-muddle. We illustrate how pruning the original Uml meta-model produces different effective meta-models.

Research paper thumbnail of Automated and Scalable T-wise Test Case Generation Strategies for Software Product Lines

Software Product Lines (SPL) are difficult to validate due to combinatorics induced by variabilit... more Software Product Lines (SPL) are difficult to validate due to combinatorics induced by variability across their features. This leads to combinatorial explosion of the number of derivable products. Exhaustive testing in such a large space of products is infeasible. One possible option is to test SPLs by generating test cases that cover all possible T feature interactions (T -wise). T -wise dramatically reduces the number of test products while ensuring reasonable SPL coverage. However, automatic generation of test cases satisfying T -wise using SAT solvers raises two issues. The encoding of SPL models and Twise criteria into a set of formulas acceptable by the solver and their satisfaction which fails when processed "all-at-once". We propose a scalable toolset using Alloy to automatically generate test cases satisfying T -wise from SPL models. We define strategies to split T -wise combinations into solvable subsets. We design and compute metrics to evaluate strategies on AspectOPTIMA, a concrete transactional SPL.

Research paper thumbnail of Domain-Specific Model Editors with Model Completion

Today, integrated development environments such as Eclipse allow users to write programs quickly ... more Today, integrated development environments such as Eclipse allow users to write programs quickly by presenting a set of recommendations for code completion. Similarly, word processing tools such as Microsoft Word present corrections for grammatical errors in sentences. Both of these existing systems use a set of constraints expressed in the form of a grammar to restrict/correct the user. Taking this idea further, in this paper we present an integrated software system capable of generating recommendations for model completion of partial models built in arbitrary domain specific model editors. We synthesize the model editor equipped with automatic completion from a modelling language's declarative specification consisting of a meta-model and constraints on it along with a visual syntax. The automatic completion feature is powered by a Prolog engine whose input is a constraint logic program derived from some models. The input logic program is obtained by a model transformation from models in multiple languages: the meta-model (as a class diagram), constraints on it (as constraint logic clauses), and a partial model (in the domain specific language). The Prolog engine solves the generated logic program and the solution(if there is one) is returned to the model editor as a set of recommendations for properties of the partial model. We incorporate automatic completion in the generative tool AToM 3 and use SWI-Prolog for constraint representation and satisfaction. We present examples using an illustrative visual language of Finite State Machines.

Research paper thumbnail of Pairwise testing of dynamic composite services

Page 1. Pairwise Testing of Dynamic Composite Services Ajay Kattepur ∗ IRISA/INRIA Rennes-Cedex, ... more Page 1. Pairwise Testing of Dynamic Composite Services Ajay Kattepur ∗ IRISA/INRIA Rennes-Cedex, France Ajay.Kattepur@irisa.fr Sagar Sen INRIA Sophia-Antipolis, FranceSagar.Sen@inria.fr Benoit Baudry IRISA/INRIA Rennes-Cedex, France Benoit.Baudry@irisa. ...

Research paper thumbnail of MetaModeling and Model Transformation for Bond Graphs

This article extends the idea of meta-modeling and model transformation to the bond graph formali... more This article extends the idea of meta-modeling and model transformation to the bond graph formalism. In particular we deal with the acausal bond graph formal-ism. Meta-modeling for acausal bond graphs is done using entity-relationship (ER) diagrams. The visual syntax in ER, augemented with concrete syntax informa-tion is used to automatically synthesize visual modeling environments for acausal bond graphs. This is done using a Computer Automated Multi-Paradigm Mod-eling (CAM-PaM) tool, AToM,, A Tool for Multi-formalism and Meta-Modeling. Model transformation routines are developed for model transformation to convert acausal bond graphs to Modelica standard format. The efiectiveness of using meta-modelling and model transformation for the bond graph formalism is demonstrated by examples from multi-domain physical models.

Research paper thumbnail of Towards Domain-specific Model Editors with Automatic Model Completion

Transactions of The Society for Modeling and Simulation International, 2010

Integrated development environments such as Eclipse allow users to write programs quickly by pres... more Integrated development environments such as Eclipse allow users to write programs quickly by presenting a set of recommendations for code completion. Similarly, word processing tools such as Microsoft Word present corrections for grammatical errors in sentences. Both of these existing structure editors use a set of constraints expressed in the form of a natural language grammar to restrict/correct the user (syntax-directed editing) or formal grammar (language-directed editing) to aid document completion. Taking this idea further, in this paper we present an integrated software system capable of generating recommendations for model completion of partial models built in editors for domain-specific modelling languages. We present a methodology to synthesize model editors equipped with automatic completion from a modelling language's declarative specification consisting of a metamodel with a visual syntax. This meta-model directed completion feature is powered by a first-order relational logic engine implemented in ALLOY. We incorporate automatic completion in the generative tool AToM 3 . We use the Finite State Machines modelling language as a concise running example. Our approach leverages a correct by construction philosophy that renders subsequent simulation of models considerably less error-prone.

Research paper thumbnail of On Combining Multi-formalism Knowledge to Select Models for Model Transformation Testing

Testing remains a major challenge for model transformation development. Test models that are used... more Testing remains a major challenge for model transformation development. Test models that are used as test data for model transformations, are constrained by various sources of knowledge that is expressed in different formalisms. Thus, in order to automatically generate test models it is necessary to interpret these different sources of knowledge and combine them into a consistent set of information that can be used for model synthesis. In this paper, we identify sources of testing knowledge and present our tool Cartier that uses Alloy as the first-order relational logic language to represent combined knowledge in the form of constraints. The constraints are solved leading to a selection of qualified test models from the input domain of a model transformation. We illustrate our approach using the Unified Modeling Language Class Diagram to Relational Database Management Systems transformation as a running example.

Research paper thumbnail of Variability Modeling and QoS Analysis of Web Services Orchestrations

The ever-growing choice in diverse services is making service orchestration variability an essent... more The ever-growing choice in diverse services is making service orchestration variability an essential aspect of a composite web service. Influence of this variation on the Quality of Service (QoS) of a composite service is critical and the focus of our work. In this paper, we present a methodology to first model orchestration variability using a feature diagram (FD). The FD specifies a product line of orchestrations represented as configurations of invoked/rejected atomic services. Second, due to the potentially large set of configurations we employ combinatorial testing techniques to automatically generate configurations covering all valid pairwise interactions between services. Third, we analyze QoS variation for each configuration using probabilistic models of QoS. Using a crisis management system case study we experimentally show that pairwise generation covers all QoS outliers and eliminates analysis of > 75% of all possible configurations. The QoS analysis of the pairwise configurations reveals unsafe/ineffective configurations, helps determine realistic Service Level Agreements (SLAs), and provides valuable feedback to help remodel an orchestration.

Research paper thumbnail of Mutation-based Model Synthesis in Model Driven Engineering

With the increasing use of models for software development and the emergence of model-driven engi... more With the increasing use of models for software development and the emergence of model-driven engineering, it has become important to build accurate and precise models that present certain characteristics. Model transformation testing is a domain that requires generating a large number of models that satisfy coverage properties (cover the code of the transformation or the structure of the metamodel). However, manually building a set of models to test a transformation is a tedious task and having an automatic technique to generate models from a metamodel would be very helpful. We investigate the synthesis of models based on plans. Each plan comprises of a sequence of model synthesis rules (or mutation operators) specified as Graph Grammar (GG) rules. These mutation operators are primitive GG rules , automatically obtained from any meta-model. Such plans can be evolved by various artificial intelligence techniques to generate useful models for different tasks including model transformation testing.

Research paper thumbnail of Automatic Model Generation Strategies for Model Transformation Testing

Testing model transformations requires input models which are graphs of inter-connected objects t... more Testing model transformations requires input models which are graphs of inter-connected objects that must conform to a meta-model and meta-constraints from heterogeneous sources such as well-formedness rules, transformation preconditions, and test strategies. Manually specifying such models is tedious since models must simultaneously conform to several meta-constraints. We propose automatic model generation via constraint satisfaction using our tool Cartier for model transformation testing. Due to the virtually infinite number of models in the input domain we compare strategies based on input domain partitioning to guide model generation. We qualify the effectiveness of these strategies by performing mutation analysis on the transformation using generated sets of models. The test sets obtained using partitioning strategies gives mutation scores of up to 87% vs. 72% in the case of unguided/random generation. These scores are based on analysis of 360 automatically generated test models for the representative transformation of UML class diagram models to RDBMS models.

Research paper thumbnail of Reusable model transformations

Software and System Modeling

Model transformations written for an input metamodel may often apply to other metamodels that sha... more Model transformations written for an input metamodel may often apply to other metamodels that share similar concepts. For example, a transformation written to refactor Java models can be applicable to refactoring UML class diagrams as both languages share concepts such as classes, methods, attributes, inheritance. Deriving motivation from this example, we present an approach to make model transformations reusable such that they function correctly across several similar metamodels. Our approach relies on these principal steps: (1) We analyze a transformation to obtain an effective subset of used concepts. We prune the input metamodel of the transformation to obtain an effective input metamodel containing the effective subset. The effective input metamodel represents the true input domain of transformation. (2) We adapt a target input metamodel by weaving it with aspects such as properties derived from the effective input metamodel to ultimately make it a subtype of the effective input metamodel. The subtype property ensures that the transformation can process models conforming to the target input metamodel without any change in the transformation itself. We validate our approach by adapting well-known refactoring transformations (Encapsulate Field, Move Method, and Pull Up Method) written for an in-house domain-specific modelling language (DSML) to three different industry standard metamodels (Java, MOF, and UML).

Research paper thumbnail of Metamodel Pruning

Large and complex meta-models such as those of Uml and its profiles are growing due to modelling ... more Large and complex meta-models such as those of Uml and its profiles are growing due to modelling and inter-operability needs of numerous stakeholders. The complexity of such meta-models has led to coining of the term meta-muddle. Individual users often exercise only a small view of a meta-muddle for tasks ranging from model creation to construction of model transformations. What is the effective meta-model that represents this view? We present a flexible meta-model pruning algorithm and tool to extract effective meta-models from a meta-muddle. We use the notion of model typing for meta-models to verify that the algorithm generates a super-type of the large meta-model representing the meta-muddle. This implies that all programs written using the effective meta-model will work for the meta-muddle hence preserving backward compatibility. All instances of the effective meta-model are also instances of the meta-muddle. We illustrate how pruning the original Uml meta-model produces different effective meta-models.

Research paper thumbnail of Automated and Scalable T-wise Test Case Generation Strategies for Software Product Lines

Software Product Lines (SPL) are difficult to validate due to combinatorics induced by variabilit... more Software Product Lines (SPL) are difficult to validate due to combinatorics induced by variability across their features. This leads to combinatorial explosion of the number of derivable products. Exhaustive testing in such a large space of products is infeasible. One possible option is to test SPLs by generating test cases that cover all possible T feature interactions (T -wise). T -wise dramatically reduces the number of test products while ensuring reasonable SPL coverage. However, automatic generation of test cases satisfying T -wise using SAT solvers raises two issues. The encoding of SPL models and Twise criteria into a set of formulas acceptable by the solver and their satisfaction which fails when processed "all-at-once". We propose a scalable toolset using Alloy to automatically generate test cases satisfying T -wise from SPL models. We define strategies to split T -wise combinations into solvable subsets. We design and compute metrics to evaluate strategies on AspectOPTIMA, a concrete transactional SPL.

Research paper thumbnail of Domain-Specific Model Editors with Model Completion

Today, integrated development environments such as Eclipse allow users to write programs quickly ... more Today, integrated development environments such as Eclipse allow users to write programs quickly by presenting a set of recommendations for code completion. Similarly, word processing tools such as Microsoft Word present corrections for grammatical errors in sentences. Both of these existing systems use a set of constraints expressed in the form of a grammar to restrict/correct the user. Taking this idea further, in this paper we present an integrated software system capable of generating recommendations for model completion of partial models built in arbitrary domain specific model editors. We synthesize the model editor equipped with automatic completion from a modelling language's declarative specification consisting of a meta-model and constraints on it along with a visual syntax. The automatic completion feature is powered by a Prolog engine whose input is a constraint logic program derived from some models. The input logic program is obtained by a model transformation from models in multiple languages: the meta-model (as a class diagram), constraints on it (as constraint logic clauses), and a partial model (in the domain specific language). The Prolog engine solves the generated logic program and the solution(if there is one) is returned to the model editor as a set of recommendations for properties of the partial model. We incorporate automatic completion in the generative tool AToM 3 and use SWI-Prolog for constraint representation and satisfaction. We present examples using an illustrative visual language of Finite State Machines.

Research paper thumbnail of Pairwise testing of dynamic composite services

Page 1. Pairwise Testing of Dynamic Composite Services Ajay Kattepur ∗ IRISA/INRIA Rennes-Cedex, ... more Page 1. Pairwise Testing of Dynamic Composite Services Ajay Kattepur ∗ IRISA/INRIA Rennes-Cedex, France Ajay.Kattepur@irisa.fr Sagar Sen INRIA Sophia-Antipolis, FranceSagar.Sen@inria.fr Benoit Baudry IRISA/INRIA Rennes-Cedex, France Benoit.Baudry@irisa. ...

Research paper thumbnail of MetaModeling and Model Transformation for Bond Graphs

This article extends the idea of meta-modeling and model transformation to the bond graph formali... more This article extends the idea of meta-modeling and model transformation to the bond graph formalism. In particular we deal with the acausal bond graph formal-ism. Meta-modeling for acausal bond graphs is done using entity-relationship (ER) diagrams. The visual syntax in ER, augemented with concrete syntax informa-tion is used to automatically synthesize visual modeling environments for acausal bond graphs. This is done using a Computer Automated Multi-Paradigm Mod-eling (CAM-PaM) tool, AToM,, A Tool for Multi-formalism and Meta-Modeling. Model transformation routines are developed for model transformation to convert acausal bond graphs to Modelica standard format. The efiectiveness of using meta-modelling and model transformation for the bond graph formalism is demonstrated by examples from multi-domain physical models.

Research paper thumbnail of Towards Domain-specific Model Editors with Automatic Model Completion

Transactions of The Society for Modeling and Simulation International, 2010

Integrated development environments such as Eclipse allow users to write programs quickly by pres... more Integrated development environments such as Eclipse allow users to write programs quickly by presenting a set of recommendations for code completion. Similarly, word processing tools such as Microsoft Word present corrections for grammatical errors in sentences. Both of these existing structure editors use a set of constraints expressed in the form of a natural language grammar to restrict/correct the user (syntax-directed editing) or formal grammar (language-directed editing) to aid document completion. Taking this idea further, in this paper we present an integrated software system capable of generating recommendations for model completion of partial models built in editors for domain-specific modelling languages. We present a methodology to synthesize model editors equipped with automatic completion from a modelling language's declarative specification consisting of a metamodel with a visual syntax. This meta-model directed completion feature is powered by a first-order relational logic engine implemented in ALLOY. We incorporate automatic completion in the generative tool AToM 3 . We use the Finite State Machines modelling language as a concise running example. Our approach leverages a correct by construction philosophy that renders subsequent simulation of models considerably less error-prone.

Research paper thumbnail of On Combining Multi-formalism Knowledge to Select Models for Model Transformation Testing

Testing remains a major challenge for model transformation development. Test models that are used... more Testing remains a major challenge for model transformation development. Test models that are used as test data for model transformations, are constrained by various sources of knowledge that is expressed in different formalisms. Thus, in order to automatically generate test models it is necessary to interpret these different sources of knowledge and combine them into a consistent set of information that can be used for model synthesis. In this paper, we identify sources of testing knowledge and present our tool Cartier that uses Alloy as the first-order relational logic language to represent combined knowledge in the form of constraints. The constraints are solved leading to a selection of qualified test models from the input domain of a model transformation. We illustrate our approach using the Unified Modeling Language Class Diagram to Relational Database Management Systems transformation as a running example.

Research paper thumbnail of Variability Modeling and QoS Analysis of Web Services Orchestrations

The ever-growing choice in diverse services is making service orchestration variability an essent... more The ever-growing choice in diverse services is making service orchestration variability an essential aspect of a composite web service. Influence of this variation on the Quality of Service (QoS) of a composite service is critical and the focus of our work. In this paper, we present a methodology to first model orchestration variability using a feature diagram (FD). The FD specifies a product line of orchestrations represented as configurations of invoked/rejected atomic services. Second, due to the potentially large set of configurations we employ combinatorial testing techniques to automatically generate configurations covering all valid pairwise interactions between services. Third, we analyze QoS variation for each configuration using probabilistic models of QoS. Using a crisis management system case study we experimentally show that pairwise generation covers all QoS outliers and eliminates analysis of > 75% of all possible configurations. The QoS analysis of the pairwise configurations reveals unsafe/ineffective configurations, helps determine realistic Service Level Agreements (SLAs), and provides valuable feedback to help remodel an orchestration.

Research paper thumbnail of Mutation-based Model Synthesis in Model Driven Engineering

With the increasing use of models for software development and the emergence of model-driven engi... more With the increasing use of models for software development and the emergence of model-driven engineering, it has become important to build accurate and precise models that present certain characteristics. Model transformation testing is a domain that requires generating a large number of models that satisfy coverage properties (cover the code of the transformation or the structure of the metamodel). However, manually building a set of models to test a transformation is a tedious task and having an automatic technique to generate models from a metamodel would be very helpful. We investigate the synthesis of models based on plans. Each plan comprises of a sequence of model synthesis rules (or mutation operators) specified as Graph Grammar (GG) rules. These mutation operators are primitive GG rules , automatically obtained from any meta-model. Such plans can be evolved by various artificial intelligence techniques to generate useful models for different tasks including model transformation testing.