Templatized Model Transformation Enabling Reuse in Model Transformations
Templatized Model Transformation: Enabling Reuse in Model Transformations Amogh Kavimandan and Aniruddha Gokhale Dept. of EECS, Vanderbilt University, Nashville, TN 1. Heterogeneous DRE System Development 2. 1 Identifying the variabilities § Heterogeneous, consist of co-operating application subsystems, developed using several middleware technologies map requirements to configuration options § Separate Qo. S specification mechanisms for each type of middleware – Qo. S configuration[2] must be performed for each of these platforms § Variability is in mapping – hard to extend to other Composed DRE system Qo. S configuration platforms! § Commonalities present in these Qo. S mechanisms of individual platforms § E. g. , source/type-based filtering support, group events, push/pull-based subscription model for event-based communication § These commonalities can be used in generalizing mapping of application Qo. S requirements to middleware-specific configurations Group § Variabilities are in semantics of mechanisms, their values etc. – can be separated from the generalized Qo. S mappings events Commonalities in Qo. S configuration New techniques are needed to perform Qo. S configuration for composed DRE systems 2. Our Solution: Templatized Model Transformations § Constraint notation blocks can be used to identify variabilities in templatized transformation e. g. : §Structural variabilities, where variation emanates from dissimilarities in structural composition of application variants (e. g. , model objects, their cardinalities etc. ) §Qualitative variabilities, where model objects may be same, but their values may be different across different application variants §Specified as a special comment in transformation rules and therefore is transparent to the transformation engine 2. 2 Generating variability metamodel § MTS defines higher-order transformations that generate variability metamodel from the application variability specification in 2. 1 MTS constraint specification language § The variability metamodel creates its model objects and attributes from those of the input and output languages of the templatized transformation § In essence, moves the variability from “transformation” into a “model” § Application variant-specific variabilities can be modeled as name-value pairs of object associations using Variability metamodel generation the variability metamodel 2. 3 Specializing application instances § Application developers create specialization repository in terms of models (as opposed to rules) § Individual models in specialization repository denote concrete instances of application variabilities (from 2. 1) § MTS defines another higherorder transformation that creates specialized instances of model transformations from these repository models Specializing application instances using specialization repository models 3 Representative Case studies demonstrating the applicability of MTS 1 2 § Communication dialog (1) and real-time Qo. S configuration (2) metamodels. Each case study has certain variabilities that must be separated from the mappings Identification of variabilities and their specification in MTS § Table indicates what variabilities in each case study, the same variabilities are captured in MTS formal notation. Notice these variabilities are generic, i. e. , no values or cardinalities are associated with them § MTS higher-order transformations generate variability metamodel from the specification above §It creates model objects for structural variabilities (to capture associations, cardinalities), and attributes for qualitative variabilities (to capture concrete variations in attribute values, based on individual instances) § The models created form using this metamodel ultimately enable separation of variations from application transformations §Both transformation and variabilities can evolve independently, new variability models (for new applications) can be added without breaking existing mappings § Templatized Model Transformations (MTS)[1]: § Allow easy identification of variabilities: use a textual constraint specification language for developers to identify what changes in their application § Automatically generate variability metamodels from variabilities: create a new modeling language from the system variabilities specified in 1 § Synthesize a specialization repository: developers create specialization repository, i. e. , instances of the variability modeling language, modeling the specific concrete variations in their applications § Specialize application instances: an instance of specialization repository is used to create specialized instance of their applications Variability metamodel generation for communication dialog case study § MTS can be applied to any existing model transformation-based application (e. g. , [1] A. Kavimandan et. al. “Context-Sensitive Dialog Synthesis for Enterprise Workflows Using Templatized Model Transformations, ” The Twelfth IEEE International Enterprise transformations for middleware Qo. S configuration mapping from the requirements) Computing Conference (EDOC 2008), München, Germany, September 15 -19, 2008. [2] A. Kavimandan et. al. “Automated Middleware Qo. S Configuration Techniques for Distributed Real-time and Embedded Systems, ” The Fourteenth IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS 2008), St. Loius, MO, April 2008.
- Slides: 1