Using ATL to support Model-Driven Development of RubyTL Model Transformations

Size: px
Start display at page:

Download "Using ATL to support Model-Driven Development of RubyTL Model Transformations"

Transcription

1 Using ATL to support Model-Driven Development of RubyTL Model Transformations Álvaro Jiménez, David Granada, Verónica Bollati, Juan M. Vara Kybele Research Group, Department of Computing Languages and Systems, Rey Juan Carlos University, C/ Tulipán s/n, 28933, Móstoles, Madrid (Spain). {alvaro.jimenez, david.granada, veronica.bollati, Abstract. Model transformations are the main artefact in any Model-Driven Engineering proposal. However, being software artefacts more effort should be dedicated to apply model-driven principles in the development of model transformations. In this context, this work presents some tooling to ease the model-driven development of RubyTL model transformations. In particular, we present a metamodel for RubyTL, a model transformation to move from highlevel to RubyTL transformation models and finally a TCS injector/extractor to move from RubyTL models to RubyTL source-code and back. Keywords: Atlas Transformation Language (ATL), Model-Driven Engineering (MDE), Model Transformations, Transformation Models, Textual Concrete Syntax (TCS), RubyTL. 1 Introduction With the advent of Model-Driven Engineering (MDE) [3] the role of models has changed drastically since they became the main artefact along the development process. In such context, model transformations are typically the link between the different steps of the process. In the context of Model-Driven Software Development (MDSD) [16] such transformations aim at lowering the abstraction level of the target models until they can be (almost) serialized into working code. In other fields, such as model compare, transformations are used to generate difference models [13]. Despite the processing task for which transformations are developed, there is no doubt of their key role in any MDE proposal. As a response, a number of languages and tools to develop model transformations have arisen during the last years (see [7] or [18] for detailed reviews). They differ in many aspects [7], such as the preferred approach (declarative, imperative, graphbased, etc.), tooling support (complete IDEs, command-line tools, etc.), underlying metamodelling framework (EMF, MDR, built-in, etc.) and so on. This diversity brings additional complexity to the development of model transformations. In order to: a) address the inherent complexity of model transformations development and b) alleviate the problem of the diversity of available languages for model transformation, we advocate in favour of applying MDE principles to the

2 36 MtATL 2011 development of model transformations. In particular, we adopt the idea collected in [4]. Handling model transformations as transformation models we can process them as any other model, i.e. we can generate them, transform them, merge them, simulate their execution or perform any other model processing task. Unfortunately, there are not many languages that have adopted such approach, apart from ATL [9]. Besides, it might bring interoperability to the scope of existing model transformation languages: if we can inject a model transformation coded with the FOO language into a model, then we can map such model into another one conforming to the metamodel of the BAR language. Next, we can extract such model into the corresponding BAR working-code. Moreover, if we are able to define a high-level metamodel for a set of model transformation languages, we should be able to use it as a pivot metamodel to bridge such languages. In this line, the main contributions of this work are: a) the specification of an EMF metamodel for RubyTL [14], a hybrid model transformation language; b) the development of an ATL transformation to map high level specifications of model transformations into RubyTL models and c) the development of an injector/extractor for RubyTL using TCS [8] The rest of this paper is structured as follows. Section 2 presents the proposed development process which includes an ATL transformation defined to obtain RubyTL models from high abstraction level transformation models. In order to achieve this goal, also, we present a metamodel according to RubyTL language. Finally, we describe the mechanism to translate transformation models into code, and code into transformation models. Section 3 uses a case study to illustrate the tool developed to support the proposal. Finally, in Section 4, we conclude by summarizing the contributions and outlining future works. 2 Model-driven development of RubyTL transformations This work has been addressed in the context of MeTaGeM, a methodological and technical framework for model-driven development of model transformations [5]. In particular, the tasks addressed here constitute part of the proof of concept provided for MeTaGeM. This way, Fig. 1 provides an overview of the process proposed for the development of RubyTL transformations. At the PSM-level (Platform Specific Model) we define a high-level transformation model that conforms to a high-level transformation metamodel (see [5] for a detailed insight). We refer to this metamodel as platform-specific metamodel since it is intended to abstract the main concepts handled by model transformation languages adopting a hybrid approach, such as ATL or RubyTL. New metamodels can be defined for graph-based, pure imperative or pure declarative model transformation languages. Next, an ATL model transformation consumes the previous model and generates a PDM (Platform Dependent Model) transformation model that conforms to the metamodel of the targeted transformation language, in this case, the RubyTL

3 Code PDM PSM CEUR Workshop Proceedings 37 metamodel. Finally, the low-level transformation model is serialized into RubyTL source code by means of the TCS injector/extractor. High-Level Transformation Meta-Model c2 High-Level Transformation Model RubyTL Transformation Meta-model c2 RubyTL Transformation Model RubyTL Transformation Code Fig. 1 Model-driven development of RubyTL transformations c2: Conforms to 2.1 A metamodel for RubyTL Although some partial specifications can be found in existing literature [14, 15], so far there is no complete metamodel for RubyTL. Therefore, in order to be able to generate and process RubyTL transformation models we have had to first specify and implement such metamodel. To do so, we have analysed previous works around RubyTL and we have count with the help of their developers. Fig. 2 shows the new metamodel, for more details see [5].

4 38 MtATL 2011 Fig. 2 RubyTL metamodel specification 2.2 From high-level transformation models to RubyTL transformation models This section focuses on the development of the model transformation that allows synthesizing high-level transformation models into RubyTL transformation models. With regard to the development of model transformations, in [12] it is stated that the mapping description may be in natural language, an algorithm in an action language, or a model in a mapping language. Accordingly, in previous works [17] we sketched a generic process to address the development of model-to-model transformations: o First, the mappings between models are defined using natural language. o Next, those mappings are structured by collecting them in a set of rules, expressed again in natural language. o o Then, these mapping rules are formalized using graph grammars. Finally, the resulting graph transformation rules are implemented using one of the existing model transformation approaches. In particular we decided for using ATL from the very beginning. Nowadays such decision has proven to be right since ATL is considered the de-facto standard for model transformations. Indeed, we have compared it with other engines such as QVTo [6] and we have concluded that it remains the most convenient in terms of available documentation, tooling support and cases of success. According to this process, Table 1 collects the mapping rules to move from highlevel transformation models to RubyTL transformation models. It is worth mentioning that these rules are the result of a continuous refining process that might continue during the next months.

5 CEUR Workshop Proceedings 39 High-Level Transformation Meta-model Module InMetaModel OutMetaModel RubyTL Meta-model Transformation MetaModel (Input) MetaModel (Output) Rule ismain = true and in = 1 ismain = true and in > 1 ismain = false and typeattribute <> #unique and in = 1 ismain = false and typeattribute <> #unique and in > 1 ismain = false and typeattribute = #unique and in = 1 ismain = false and typeattribute = #unique and in > 1 in = 0 SourceElementRule TargetElementRule ElementIncluded Operation - LeftPattern - RightPattern - Operation.body + Return.datatype Rule TopRule TopRule (use of allobjects method in Rule.filter) CopyRule CopyRule (use of allobjects method in Rule.filter) NormalRule FromElement ToElement Binding Decorator NormalRule (use of allobjects method in Rule.filter) Static Method of Ruby - ExpGet (Left side) - ExpGet (Right side) - Decorator.body + datatype.tostring() Table 1 Mapping rules: from High-Level to RubyTL transformation models According to the above-described process, next step was the formalization of the mapping rules using graph grammars [1]. Again, the complete set of graph transformation rules can be found in [5]. To provide with an example, Fig. 3 shows the graph transformation rule to map Rule elements from the PSM to TopRule elements in the PDM: whenever a Rule element, whose IsMain property is set to true, is found on the PSM ( ), a TopRule element is added on the PDM ( ). The properties From and To of the new TopRule element are initialized with references to the FromElement and ToElement elements

6 40 MtATL 2011 of the PDM. These are created from the source elements SourceElementRule and TargetElementRule respectively ( and ). Fig. 3 Graph Transformation Approach: Rule Rule2MatchedRule 2.3 Implementation Based on the rules shown in Table 1 and the formalization of them using graph grammar, we have implemented it using ATL language [9]. As an example, Fig. 4 shows the ATL rule that implements the transformation between the Module elements of the high-level transformation metamodel and Transformation elements of the RubyTL metamodel. In Transformation element are defined the name property, the references: sourcemetamodels and targetmetamodels, which indicate, respectively, the source and the target metamodels involved in the model transformation; rules, which represent the transformation rules of the module; and decorators, which represent the functions that can be defined. rule Module { from mm_hybrid : MM_Hybrid!Module to rubytl : RubyTL!Transformation ( name <- mm_hybrid.name_module, sourcemetamodels <- mm_hybrid.inmm, targetmetamodels <- mm_hybrid.outmm, rules <- mm_hybrid."rule", decorators <- mm_hybrid.operations) } Fig. 4 - ATL transformation rule: Module The Rule meta-class in RubyTL is defined as abstract, and it is specialized by: TopRule, NormalRule and CopyRule. Therefore, it is necessary to define three different kinds of rules, establishing a guard condition in each one. This guard condition evaluates the ismain property and the return value of the helper getsizeip(), which verifies the number of SourceElementRule elements dependent of the element Rule. For example, Fig. 5 shows the one of these ATL rules, the rule which map the Rule element at PSM model to the TopRule element at PDM model. The

7 CEUR Workshop Proceedings 41 createrule2toprulemulti rule states that for every Rule found in the source model, a TopRule, a Filter and Mapping elements are created in the target model; when the ismain property, of the Rule, is True and the return value of the helper getsizeip() is greater than one, that is the Rule element has more than one SourceElementRule. A set of direct bindings initialize some attributes of the Rule, such as the name, which indicate the name of the rule; from, which indicate the source element; to, which indicate the target element; comment, where it is possible to define a comment. Moreover, it is necessary to define the following elements: mapping, which combines the properties of the target element; and filter, which performs a verification of the existence of all elements of type SourceElementRule. In order to obtain this verification, we define a helper getfiltermultiin(). rule createrule2toprulemulti{ from mm_hybrid_rule : MM_Hybrid!Rule (mm_hybrid_rule.getsizeip()>1 and mm_hybrid_rule.ismain=true) to rubytl : RubyTL!TopRule ( name <- mm_hybrid_rule.name_rule, "from" <- mm_hybrid_rule."in".assequence().first(), "to" <- mm_hybrid_rule.out.assequence(), comment <- mm_hybrid_rule.getcomment(), filter <- afilter, mapping <- amapping), afilter : RubyTL!Filter( expression <- mm_hybrid_rule.getfiltermultiin()), } amapping : RubyTL!Mapping ( bindings <- mm_hybrid_rule.out.assequence()->collect(i i.included)) Fig. 5 ATL transformation rule: createrule2toprulemulti Fig. 6 shows an ATL transformation rule that generates Binding elements (PDM), from ElementIncluded elements (PSM). This rule establishes the relationship between a source element (right-hand side) and a target element (left-hand side) at PDM level. As Fig. 6 shown the source element is generated by the helper definebinding() (Fig. 7) that defines the source element by means a set of conditions and calls to others helpers. These conditions verify if in the source defined at PSM level, there are calls to other rules, operations, references or is defined a constant value.

8 42 MtATL 2011 rule Bindings { from eleminc : MM_Hybrid!ElementIncluded to rubytl : RubyTL!Binding ( --Right side of formula, that has the value issues source <- eleminc.definebinding(), --Left side of formula, that will receive the value target <- atargetvalue ), atargetvalue : RubyTL!ExpGet( --property of target property <- eleminc.left.targetelement.assequence().first().name_element, source <- asourcename), asourcename : RubyTL!ExpVariable( variable <- avariabletrg), avariabletrg : RubyTL!ToElement ( name <- eleminc.refimmediatecomposite().name_element.tolower()+'_out') } Fig. 6 ATL Transformation rule: Bindings The target element of the Bindings rule is defined by setting property and value attributes, which are defined with the generation of the ExpGet, ToElement and ExpVariable elements, as shown in Fig Helper -> To call the correct lazy rule to define the Binding helper context MM_Hybrid!ElementIncluded def:definebinding():atl!oclexpression= if (self.right."rule".assequence().first().oclisundefined() and self.right.operation.assequence().first().oclisundefined() and self.right.sourceelement.assequence().first().oclisundefined() and self.right.reference.oclisundefined()) then thismodule.getconcretebinding(self) else if (not self.right.reference.oclisundefined()) then if self.right.reference.oclistypeof(mm_hybrid!sourceelementrule) then thismodule.getcomplexbinding(self) else thismodule.getsimplebinding(self) endif else thismodule.getcomplexbinding(self) endif endif; Fig. 7 ATL Transformation helper: definebinding 2.4 Code Generation The next step was to serialize the RubyTL transformation models generated into working-code. To that end, we have opted for the Textual concrete Syntax (TCS) [8]. TCS provides with a DSL for the specification of the correspondence between the metamodel and its textual representation. From that, an ANTLR grammar together with a parser for this grammar is generated. Such parser (also known as injector) takes as input a textual program of the DSL and generates a model conforming to the DSL

9 CEUR Workshop Proceedings 43 metamodel. In addition, TCS also generates an extractor that provides with model-totext capabilities. In order to illustrate this task, Fig. 8 shows a simple example. In particular, the Transformation template specification. This template defines the concrete syntax for Transformation, sourcemetamodel and targetmetamodel model elements from RubyTL models (Fig. 8 (a)). The serialization of these elements serve to compose the header of a RubyTL transformation, that include the name of the transformation and the name of the source and target metamodels (Fig. 8 (b)). Also, if the transformation contains decorators or rules, this template invokes the execution of the respective templates. (a) (b) (c) template Transformation main context : "transformation" name{as = stringsymbol}<newline> "input" sourcemetamodels <newline> "output" targetmetamodels (isdefined(decorators)?<newline><newline>) decorators{separator=<newline><newline>} (isdefined(rules)?<newline><newline>) rules {separator=<newline><newline>}; Fig. 8 Generating code and models with TCS 2.5 Current Limitations The code generated by the current version of the prototype developed is not fully executable in all cases. There are some scenarios in which the developer needs to manually refine the generated code, adding or modifying some code excerpts in order for the transformation to execute correctly. In this sense, one of the main issues we have found is that RubyTL does not allow to define multiple input patterns in a rule. For instance, Fig. 9(a) shows an example of a desirable rule containing a multiple input pattern in RubyTL. Since the language does not support this construction, to simulate it we should proceed as follows (see Fig. 9(b)): First, creating a guard which performs a cartesian product between all the source elements. Next, adding the many function to the target pattern. Finally, merging each pair of objects that resulted from the cartesian product.

10 44 MtATL 2011 # Desirable implementation - Not Allowed rule 'RuleTest' do from InMM::Src1, InMM::Src2 to OutMM::Trg1 mapping do src1, src2, trg1 trg1.name = src1.name_element trg1.type = src2.type_element end end (a) (b) # Solution. Using Cartesian product rule 'RuleTest' do from InMM::Src1 to many(outmm::trg1) mapping do src1, trg_set trg_set.values = InMM::Src2.all_objects.map do src2 trg1 = OutMM::Trg1.new trg1.name = src1.name_element trg1.type = src2.type_element trg1 #trg_set.values = trg1 end end end Fig. 9 Multiple input patterns limitation Besides, the rule shown in Fig. 9(b) uses some constructions, such as many or new, provided by the host language, i.e. Ruby. Such constructions have not been collected in the presented metamodel for RubyTL. Hence, to address this issue we should extend the metamodel to support the modelling of some Ruby elements. Another issue is related with the TCS injector/extractor. The concrete syntax of RubyTL hampers the binding of variables and elements from the transformation at the time of injecting it to a model. For instance, according to the RubyTL metamodel shown in Fig. 2, the src1 variable should produce a variable object, whose classname property should be Src1 and its metamodel reference should point to the InMM object. However, due to the concrete syntax of RubyTL, we have not been able of establishing such binding when generating the RubyTL model. Probably we might address this issue modifying the RubyTL metamodel, but we are still considering some other solutions. Finally, the current prototype was developed atop of older Eclipse and ATL versions because the current versions were not stable when it was developed. Hence, update tasks will be also addressed in the near future.

11 CEUR Workshop Proceedings 45 3 Case study This section presents a simple case study in order to validate our proposal. To that end, we use the traditional scenario of mapping object models to relational models [13]. Fig. 10 provides an overview of the source and target metamodels. Fig. 10 Class and Table metamodels In order to develop a transformation between these metamodels using our proposal, the user must first create a high-level transformation model. Next, the ATL transformation presented in the previous section maps such model into a RubyTL transformation model. As an example, Fig. 11 focuses on the class2table rule. This rule enables to transform a class and its attributes into a table and its respective columns. Fig. 11 From high-level to RubyTL transformation model - class2table Finally, such model is serialized into the RubyTL source code. To illustrate this step, Fig. 12 focuses in the mapping of TopRule objects into source code.

12 46 MtATL 2011 Fig. 12 From RubyTL model to RubyTL code - class2table The complete case study is available to view and download at the MeTAGeM Web site 1. Finally, we would like to note that, though this work have used a simple case study to illustrate the prototype developed, we have used it to address more complex scenarios which are also available at the MeTAGeM Web site. For example, in [5] we have developed the UML2ORDB4ORA transformation that allows generating ORDB models from conceptual data models expressed by means of UML class diagrams [19]. 4 Conclusion and further work Model transformations play a cornerstone role in any MDE proposal. However, despite the impact of MDE and the relevance of model transformations, there has not been too many works oriented to apply MDE principles to the development of model transformations so far. Indeed, their inherent complexity and the existence of a wide set of model transformation languages make the development of transformations an ideal scenario to apply MDE techniques. This way, we should be able to: a) bring simplicity to the development process b) shorten the distance between different model transformation languages. In the end, a transformation is another software product and thus, subject to the application of MDE techniques to its development. In order to put this idea into practice, in this work we have introduced the specification of a metamodel for RubyTL, a model transformation language that shares many similarities with ATL. Besides, we have developed a model transformation to map high-level transformation models into RubyTL transformation models. Likewise, we have developed a TCS injector/extractor to move forward and backward from the RubyTL model to RubyTL source-code. Finally, we have shown 1

13 CEUR Workshop Proceedings 47 how this tooling is used in a classical case study (providing with pointers to more elaborated ones that can be downloaded from the Web). This work provides with a number of directions for future work. The most immediate is to apply the same proposal to support other model transformation languages, such as EpsilonTL [10]. Besides, as long as there are available metamodels for other transformation languages we should be able to develop mappings between them. This way, we should be able to migrate any transformation (semi)- automatically. Besides, as long as we specify high-level transformation metamodels, they could be used as pivot metamodels to move between different model transformation engines. For instance, in this work we use a metamodel for hybrid languages that collects the main abstractions shared by the most adopted hybrid model transformation languages. The same approach can be applied to bridge graphbased or imperative languages. We could even bridge those high-level metamodels to support interoperability not only between languages following the same paradigm, but also between those following different paradigms. More concrete future works are planned regarding the prototype presented in this work. In particular, to update the prototype to current versions of Eclipse and ATL; to improve the first draft of the RubyTL metamodel and finally, testing other existing tools for injection and extraction, such as Gra2MoL and Acceleo 2. Acknowledgments. This work is partially funded by the MODEL CAOS project, financed by the Spanish Ministry of Science and Technology (Ref. TIN ), Agreement Technologies (CONSOLIDER CSD ) and Technical Support Staff Subprogram (MICCINN-PTA-2009), which is partially financed by the Spanish Ministry of Science and Innovation. References 1. Baresi, L. and Heckel, R Tutorial Introduction to Graph Transformation: A Software Engineering Perspective. In Proceedings of the First international Conference on Graph Transformation). LNCS Springer-Verlag, London, pp , Bézivin, J., Rumpe, B., Schürr, A., & Tratt, L. (2005). Mandatory Example Specification. CFP of the Model Transformations in Practice Workshop at MoDELS 2005, Montego Bay, Jamaica. 3. Bézivin, J.: In search of a Basic Principle for Model Driven Engineering. Novatica/Upgrade, V (2), (2004). 4. Bézivin, J., Büttner, F., Gogolla, M., Jouault, F., Kurtev, I., Lindow, A.: Model Transformations? Transformation Models!. 9th International Conference on Model Driven Engineering Languages and Systems, MoDELS 2006, (2006). 5. Bollati, V.: MeTAGeM: Entorno de Desarrollo de Transformaciones de Modelos Dirigido por Modelos. Ph. D. Thesis. Rey Juan Carlos University (2011). 6. Bollati, V. A., Sánchez, V., Vela, B., Marcos, E.: Análisis de QVT Operational Mappings: un caso de estudio. VI Taller sobre Desarrollo de Software Dirigido por Modelos, MDA y Aplicaciones, DSDM (2009). 2

14 48 MtATL Czarnecki, K., Helsen, S.: Classification of model transformation approaches. Proceedings of OOPSLA 03, workshop on Generative Techniques in the Context of MDA (2003). 8. Jouault, F., Bézivin, J., Kurtev, I.: TCS: a DSL for the specification of textual concrete syntaxes in model engineering. Generative Programming and Component Engineering, 5th International Conference, GPCE (2006). 9. Jouault, F., Allilaire, F., Bézivin, J., & Kurtev, I. (2008). ATL: A model transformation tool. Science of Computer Programming, 72(1-2), Kolovos, D., Paige, R., Polack, F.: The Epsilon Transformation Language. Proceedings of 1st International Conference on Model Transformation, Zurich, Switzerland (2008). 11. Mens, T. and Van Gorp, P A Taxonomy of Model Transformation. Electron. Notes Theor. Comput. Sci. 152 (March 2006), OMG. MDA Guide Version 1.0. Document number omg/ Ed.: Miller, J. and Mukerji, J. Retrieved from: Rose, L.M., Herrmannsdoerfer, M., Williams, J.R., Kolovos, D., Garcés, K., Paige, R., and Polack, F. A Comparison of Model Migration Tools. In Proceedings of the 13th International Conference on Model Driven Engineering Languages and Systems: Part I (MODELS'10), Springer-Verlag, Berlin, Heidelberg, Sánchez, J., García, J., Menarguez, M.: RubyTL: A Practical, Extensible Transformation Language. European Conference on Model Driven Architecture - Foundations and Applications, ECMDA-FA (2006). 15. Sánchez, J., García, J., Sánchez, E. V., Estévez, A.: RubyTL a ATC: un caso real de transformación de transformaciones. IV Taller sobre Desarrollo de Software Dirigido por Modelos, DSDM (2007). 16. Stahl, T., Volter, M., & Czarnecki, K. (2006). Model-Driven Software Development: Technology, Engineering, Management: John Wiley & Sons. 17. Vara, J. M., Vela, B., Cavero, J. M., & Marcos, E. (2007). Model Transformation for Object-Relational Database development. SAC '07: Proceedings of the 2007 ACM symposium on Applied computing, Vara, J. M.: M2DAT: A Technical Solution for Model-Driven Development of Web Information Systems. Ph. D. Thesis. Rey Juan Carlos University (2009) Vara, J. M., Vela, B., Bollati, V., Marcos, E.: Supporting Model-Driven Development of Object-Relational Database Schemas: A Case Study. Proceedings of International Conference on Model Transformation, ICMT (2009).

MeTAGeM: Entorno de Desarrollo de Transformaciones de Modelos Dirigido por Modelos. PhD Thesis. Wednesday, February 2 nd 2011

MeTAGeM: Entorno de Desarrollo de Transformaciones de Modelos Dirigido por Modelos. PhD Thesis. Wednesday, February 2 nd 2011 MeTAGeM: Entorno de Desarrollo de Transformaciones de Modelos Dirigido por Modelos PhD Thesis Wednesday, February 2 nd 2011 Author: Verónica Andrea Bollati Supervisor: Esperanza Marcos Martínez Co-Supervisor:

More information

Tool Support for Model Checking of Web application designs *

Tool Support for Model Checking of Web application designs * Tool Support for Model Checking of Web application designs * Marco Brambilla 1, Jordi Cabot 2 and Nathalie Moreno 3 1 Dipartimento di Elettronica e Informazione, Politecnico di Milano Piazza L. Da Vinci,

More information

Challenges in bootstrapping a model-driven way of software development

Challenges in bootstrapping a model-driven way of software development Challenges in bootstrapping a model-driven way of software development Dennis Wagelaar Vrije Universiteit Brussel, Pleinlaan 2, 1050 Brussels, Belgium dennis.wagelaar@vub.ac.be Abstract. Current MDE technologies

More information

A model driven approach for bridging ILOG Rule Language and RIF

A model driven approach for bridging ILOG Rule Language and RIF A model driven approach for bridging ILOG Rule Language and RIF Valerio Cosentino, Marcos Didonet del Fabro, Adil El Ghali To cite this version: Valerio Cosentino, Marcos Didonet del Fabro, Adil El Ghali.

More information

Model Transformation for Service-Oriented Web Applications Development

Model Transformation for Service-Oriented Web Applications Development Model Transformation for Service-Oriented Web Applications Development Valeria de Castro, Juan Manuel Vara, Esperanza Marcos Kybele Research Group Rey Juan Carlos University Tulipán S/N, 28933, Móstoles,

More information

Automatic Impact Analysis of Software Architecture Migration on Model Driven Software Development

Automatic Impact Analysis of Software Architecture Migration on Model Driven Software Development Automatic Impact Analysis of Software Architecture Migration on Model Driven Software Development Joseba Agirre, Leire Etxeberria, and Goiuria Sagardui Mondragon Unibertsitatea, MGEP, Mondragon, Spain

More information

A domain specific language for extracting models in software modernization

A domain specific language for extracting models in software modernization A domain specific language for extracting models in software modernization Javier Luis Cánovas Izquierdo and Jesús García Molina University of Murcia {jlcanovas,jmolina}@um.es Abstract. Model-driven engineering

More information

Development of Tool Extensions with MOFLON

Development of Tool Extensions with MOFLON Development of Tool Extensions with MOFLON Ingo Weisemöller, Felix Klar, and Andy Schürr Fachgebiet Echtzeitsysteme Technische Universität Darmstadt D-64283 Darmstadt, Germany {weisemoeller klar schuerr}@es.tu-darmstadt.de

More information

MDE Adoption in Industry: Challenges and Success Criteria

MDE Adoption in Industry: Challenges and Success Criteria MDE Adoption in Industry: Challenges and Success Criteria Parastoo Mohagheghi 1, Miguel A. Fernandez 2, Juan A. Martell 2, Mathias Fritzsche 3 and Wasif Gilani 3 1 SINTEF, P.O.Box 124-Blindern, N-0314

More information

DSL Design. Model Transformations. Model Transformations. Language g Implementation Strategies

DSL Design. Model Transformations. Model Transformations. Language g Implementation Strategies DSL Design Generic Language g Technology 2IS15 Model Transformations Language g Implementation Strategies Stand-alone Marcel van Amstel Embedding Translation / Software Engineering and Technology 9-1-2012

More information

Ontology-based Archetype Interoperability and Management

Ontology-based Archetype Interoperability and Management Ontology-based Archetype Interoperability and Management Catalina Martínez-Costa, Marcos Menárguez-Tortosa, J. T. Fernández-Breis Departamento de Informática y Sistemas, Facultad de Informática Universidad

More information

From Requirements to Web System Design. An Automated Approach using Graph Transformations

From Requirements to Web System Design. An Automated Approach using Graph Transformations From Requirements to Web System Design. An Automated Approach using Graph Transformations Sergio Segura, David Benavides, Antonio Ruiz-Cortés and María José Escalona Department of Computer Languages and

More information

Model-Driven Development - From Frontend to Code

Model-Driven Development - From Frontend to Code Model-Driven Development - From Frontend to Code Sven Efftinge sven@efftinge.de www.efftinge.de Bernd Kolb bernd@kolbware.de www.kolbware.de Markus Völter voelter@acm.org www.voelter.de -1- Model Driven

More information

COURSE GUIDE:Model-Driven Software Development (MDE)

COURSE GUIDE:Model-Driven Software Development (MDE) COURSE GUIDE:Model-Driven Software Development (MDE) Academic year: 2015-2016 Program: Center: University: Communication Technologies (I 2 -CIT) Universidad Autónoma de Madrid Last modified: 2015/18/05

More information

Toward Families of QVT DSL and Tool

Toward Families of QVT DSL and Tool Toward Families of QVT DSL and Tool Benoît Langlois, Daniel Exertier, Ghanshyamsinh Devda Thales Research & Technology RD 128 91767 Palaiseau, France {benoit.langlois, daniel.exertier, ghanshyamsinh.devda}@thalesgroup.com

More information

Bridging the Generic Modeling Environment (GME) and the Eclipse Modeling Framework (EMF)

Bridging the Generic Modeling Environment (GME) and the Eclipse Modeling Framework (EMF) Bridging the Generic ing Environment () and the Eclipse ing Framework (EMF) Jean Bézivin (), Christian Brunette (2), Régis Chevrel (), Frédéric Jouault (), Ivan Kurtev () () ATLAS Group (INRIA & LINA,

More information

Foundations of Model-Driven Software Engineering

Foundations of Model-Driven Software Engineering Model-Driven Software Engineering Foundations of Model-Driven Software Engineering Dr. Jochen Küster (jku@zurich.ibm.com) Contents Introduction to Models and Modeling Concepts of Model-Driven Software

More information

A Model Driven Architecture Approach to Web Development

A Model Driven Architecture Approach to Web Development A Model Driven Architecture Approach to Web Development Alejandro Gómez Cuesta, Juan Carlos Granja, and Rory O Connor 2 Software Engineering Department, University of Granada, Spain elales@gmail.com, jcgranja@ugr.es

More information

A Model-driven Approach to Interoperability in B2B Data Exchange

A Model-driven Approach to Interoperability in B2B Data Exchange A Model-driven Approach to Interoperability in B2B Data Exchange Dumitru Roman, Brice Morin, Sixuan Wang, Arne J. Berre SINTEF, Norway Forskningsveien 1, Oslo, Norway {firstname.lastname}@sintef.no ABSTRACT:

More information

Jairson Vitorino. PhD Thesis, CIn-UFPE February 2009. Supervisor: Prof. Jacques Robin. Ontologies Reasoning Components Agents Simulations

Jairson Vitorino. PhD Thesis, CIn-UFPE February 2009. Supervisor: Prof. Jacques Robin. Ontologies Reasoning Components Agents Simulations CHROME: A Model-Driven Component- Based Rule Engine Jairson Vitorino PhD Thesis, CIn-UFPE February 2009 Supervisor: Prof. Jacques Robin Ontologies Reasoning Components Agents Simulations Contents 1. Context

More information

MDA Game Design for Video Game Development by Genre

MDA Game Design for Video Game Development by Genre MDA Game Design for Video Game Development by Genre Vargas R. E. 1, Arellano G. G. 2, Beltrán H. D. 3, Zepeda L. Z. 4, Quintero R. R. 5, Vega L 6. Instituto Tecnológico de Culiacán Sinaloa, México {ing.rosavargas@gmail.com

More information

Towards a Multi-Domain Model-Driven Traceability Approach

Towards a Multi-Domain Model-Driven Traceability Approach Towards a Multi-Domain Model-Driven Traceability Approach Masoumeh Taromirad, Nicholas Matragkas, and Richard F. Paige Department of Computer Science, University of York, UK [mt705,nicholas.matragkas,richard.paige]@york.ac.uk

More information

Roles in Software Development using Domain Specific Modelling Languages

Roles in Software Development using Domain Specific Modelling Languages Roles in Software Development using Domain Specific Modelling Languages Holger Krahn Bernhard Rumpe Steven Völkel Institute for Software Systems Engineering Technische Universität Braunschweig, Braunschweig,

More information

CommentTemplate: A Lightweight Code Generator for Java built with Eclipse Modeling Technology

CommentTemplate: A Lightweight Code Generator for Java built with Eclipse Modeling Technology CommentTemplate: A Lightweight Code Generator for Java built with Eclipse Modeling Technology Jendrik Johannes, Mirko Seifert, Christian Wende, Florian Heidenreich, and Uwe Aßmann DevBoost GmbH D-10179,

More information

Design of Visual Repository, Constraint and Process Modeling Tool based on Eclipse Plug-ins

Design of Visual Repository, Constraint and Process Modeling Tool based on Eclipse Plug-ins Design of Visual Repository, Constraint and Process Modeling Tool based on Eclipse Plug-ins Rushiraj Heshi Department of Computer Science and Engineering Walchand College of Engineering, Sangli Smriti

More information

Generating the PIM Behavioral Model from the CIM using QVT

Generating the PIM Behavioral Model from the CIM using QVT Journal of Computer Science and Information Technology December 2014, Vol. 2, No. 3 & 4, pp. 55-81 ISSN: 2334-2366 (Print), 2334-2374 (Online) Copyright The Author(s). 2014. All Rights Reserved. Published

More information

From Business Services to Web Services: an MDA Approach

From Business Services to Web Services: an MDA Approach From Business Services to Web Services: an MDA Approach Hugo Estrada 1, Itzel Morales-Ramírez 2, Alicia Martínez 1, Oscar Pastor 3 1 CENIDET, Cuernavaca, Mor. México {hestrada, amartinez}@cenidet.edu.mx

More information

This is an author-deposited version published in : http://oatao.univ-toulouse.fr/ Eprints ID : 15447

This is an author-deposited version published in : http://oatao.univ-toulouse.fr/ Eprints ID : 15447 Open Archive TOULOUSE Archive Ouverte (OATAO) OATAO is an open access repository that collects the work of Toulouse researchers and makes it freely available over the web where possible. This is an author-deposited

More information

Web Application Development Focused on BP Specifications*

Web Application Development Focused on BP Specifications* Web Application Development Focused on BP Specifications* Victoria Torres Dept. De Sistemas Informáticos y Computación Universidad Politécnica de Valencia 46022 Valencia vtorres@dsic.upv.es Pau Giner Dept.

More information

Revel8or: Model Driven Capacity Planning Tool Suite

Revel8or: Model Driven Capacity Planning Tool Suite Revel8or: Model Driven Capacity Planning Tool Suite Liming Zhu 1,2, Yan Liu 1,2, Ngoc Bao Bui 1,2,Ian Gorton 3 1 Empirical Software Engineering Program, National ICT Australia Ltd. 2 School of Computer

More information

Development of a Feature Modeling Tool using Microsoft DSL Tools.

Development of a Feature Modeling Tool using Microsoft DSL Tools. Development of a Feature Modeling Tool using Microsoft DSL Tools. GIRO Technical Report 2009-1.ver 1.0 (05/01/2009) Rubén Fernández, Miguel A. Laguna, Jesús Requejo, Nuria Serrano. Department of Computer

More information

BOM Lazy: A Variability-Driven Framework for Software Applications Production Using Model Transformation Techniques

BOM Lazy: A Variability-Driven Framework for Software Applications Production Using Model Transformation Techniques BOM Lazy: A Variability-Driven Framework for Software Applications Production Using Model Transformation Techniques Abel Gómez Dep. of Information Systems and Computation Universidad Politécnica de Valencia

More information

Clarifying a vision on certification of MDA tools

Clarifying a vision on certification of MDA tools SCIENTIFIC PAPERS, UNIVERSITY OF LATVIA, 2010. Vol. 757 COMPUTER SCIENCE AND INFORMATION TECHNOLOGIES 23 29 P. Clarifying a vision on certification of MDA tools Antons Cernickins Riga Technical University,

More information

Organization of DSLE part. Overview of DSLE. Model driven software engineering. Engineering. Tooling. Topics:

Organization of DSLE part. Overview of DSLE. Model driven software engineering. Engineering. Tooling. Topics: Organization of DSLE part Domain Specific Language Engineering Tooling Eclipse plus EMF Xtext, Xtend, Xpand, QVTo and ATL Prof.dr. Mark van den Brand GLT 2010/11 Topics: Meta-modeling Model transformations

More information

Aplicando enfoque MDE a aplicaciones WEB-SOA

Aplicando enfoque MDE a aplicaciones WEB-SOA Aplicando enfoque MDE a aplicaciones WEB-SOA María Consuelo Franky lfranky@javeriana.edu.co Dpto. Ingeniería de Sistemas Universidad Javeriana Bogotá - 2010 http://sophia.javeriana.edu.co/~lfranky/ 1 Temario

More information

Language-Driven, Technology-Enhanced Instructional Systems Design

Language-Driven, Technology-Enhanced Instructional Systems Design Language-Driven, Technology-Enhanced Instructional s Design Iván Martínez-Ortiz, José-Luis Sierra, Baltasar Fernández-Manjón Fac. Informática. Universidad Complutense de Madrid C/ Prof. José García Santesmases

More information

Test Driven Mobile Applications Development

Test Driven Mobile Applications Development , 23-25 October, 2013, San Francisco, USA Test Driven Mobile Applications Development Haeng Kon Kim Abstract Mobile applications testing is the most important factor in its software development. Mobile

More information

Semantic-enabled Software Engineering and Development

Semantic-enabled Software Engineering and Development Semantic-enabled Software Engineering and Development Bernhard Bauer, Stephan Roser Programming of Distributed Systems, University of Augsburg, 86135 Augsburg [bauer roser]@informatik.uni-augsburg.de Abstract:

More information

Integration of Microsoft Visio and Eclipse Modeling Framework Using M3-Level-Based Bridges

Integration of Microsoft Visio and Eclipse Modeling Framework Using M3-Level-Based Bridges Integration of Microsoft Visio and Eclipse Modeling Framework Using M3-Level-Based Bridges Heiko Kern and Stefan Kühne Business Information Systems, University of Leipzig Johannisgasse 26, 04103 Leipzig,

More information

MDE FOR BPM A Systematic Review

MDE FOR BPM A Systematic Review MDE FOR BPM A Systematic Review Jose Manuel Perez UCLM-Soluziona Research and Development Institute, Ronda de Toledo s/n, 13005, Ciudad Real, Spain Josem.Perez2@alu.uclm.es Francisco Ruiz, Mario Piattini

More information

Model-Driven Cloud Data Storage

Model-Driven Cloud Data Storage Model-Driven Cloud Data Storage Juan Castrejón 1, Genoveva Vargas-Solar 1, Christine Collet 1, and Rafael Lozano 2 1 Université de Grenoble, LIG-LAFMIA, 681 rue de la Passerelle, Saint Martin d Hères,

More information

Comparison of Model-Driven Architecture and Software Factories in the Context of Model-Driven Development

Comparison of Model-Driven Architecture and Software Factories in the Context of Model-Driven Development Comparison of Model-Driven Architecture and Software Factories in the Context of Model-Driven Development Ahmet Demir Technische Universität München Department of Informatics Munich, Germany AhmetDemir@gmx.de

More information

An Agent Based Etl System: Towards an Automatic Code Generation

An Agent Based Etl System: Towards an Automatic Code Generation World Applied Sciences Journal 31 (5): 979-987, 2014 ISSN 1818-4952 IDOSI Publications, 2014 DOI: 10.5829/idosi.wasj.2014.31.05.268 An Agent Based Etl System: Towards an Automatic Code Generation Abderrahmane

More information

Integrating Performance Characterization with Software Development

Integrating Performance Characterization with Software Development International Journal of Basic & Applied Sciences IJBAS-IJENS Vol: 11 No: 02 7 Integrating Performance Characterization with Software Development Abstract- The importance of integrating performance considerations

More information

VARIABILITY MODELING FOR CUSTOMIZABLE SAAS APPLICATIONS

VARIABILITY MODELING FOR CUSTOMIZABLE SAAS APPLICATIONS VARIABILITY MODELING FOR CUSTOMIZABLE SAAS APPLICATIONS Ashraf A. Shahin 1, 2 1 College of Computer and Information Sciences, Al Imam Mohammad Ibn Saud Islamic University (IMSIU) Riyadh, Kingdom of Saudi

More information

Building a Flexible Software Factory Using Partial Domain Specific Models

Building a Flexible Software Factory Using Partial Domain Specific Models Building a Flexible Software Factory Using Partial Domain Specific Models Jos Warmer 1, Anneke Kleppe 2 3 1 Ordina SI&D, The Netherlands Jos.Warmer@ordina.nl 2 University Twente, Netherlands a.kleppe@utwente.nl

More information

Model-Driven Development of a Biosignal Analysis Framework: Benefits and Impacts on Processes. Nikolas Hofmann 08.11.2012

Model-Driven Development of a Biosignal Analysis Framework: Benefits and Impacts on Processes. Nikolas Hofmann 08.11.2012 Model-Driven Development of a Biosignal Analysis Framework: Benefits and Impacts on Processes Nikolas Hofmann Introduction Biosignal analysis has versatile applications in medicine Mobile devices allow

More information

Co-Creation of Models and Metamodels for Enterprise. Architecture Projects.

Co-Creation of Models and Metamodels for Enterprise. Architecture Projects. Co-Creation of Models and Metamodels for Enterprise Architecture Projects Paola Gómez pa.gomez398@uniandes.edu.co Hector Florez ha.florez39@uniandes.edu.co ABSTRACT The linguistic conformance and the ontological

More information

Creating visualizations through ontology mapping

Creating visualizations through ontology mapping Creating visualizations through ontology mapping Sean M. Falconer R. Ian Bull Lars Grammel Margaret-Anne Storey University of Victoria {seanf,irbull,lgrammel,mstorey}@uvic.ca Abstract We explore how to

More information

2 nd UML 2 Semantics Symposium: Formal Semantics for UML

2 nd UML 2 Semantics Symposium: Formal Semantics for UML 2 nd UML 2 Semantics Symposium: Formal Semantics for UML Manfred Broy 1, Michelle L. Crane 2, Juergen Dingel 2, Alan Hartman 3, Bernhard Rumpe 4, and Bran Selic 5 1 Technische Universität München, Germany

More information

Context-aware Model Driven Development by Parameterized Transformation

Context-aware Model Driven Development by Parameterized Transformation Context-aware Model Driven Development by Parameterized Transformation Samyr Vale 1,2, Slimane Hammoudi 1 1 ESEO, 4 rue Merlet de la Boulaye BP 926, 49009 Angers cedex 01 France {samyr.vale, slimane.hammoudi}@eseo.fr

More information

Mapping-Based Exchange of Models Between Meta-Modeling Tools

Mapping-Based Exchange of Models Between Meta-Modeling Tools Mapping-Based Exchange of Between Meta-Modeling Tools Heiko Kern Fred Stefan University of Leipzig Business Information Systems Augustusplatz 0, 0409 Leipzig, Germany {kern, stefan}@informatik.uni-leipzig.de

More information

Knowledge-based Expressive Technologies within Cloud Computing Environments

Knowledge-based Expressive Technologies within Cloud Computing Environments Knowledge-based Expressive Technologies within Cloud Computing Environments Sergey V. Kovalchuk, Pavel A. Smirnov, Konstantin V. Knyazkov, Alexander S. Zagarskikh, Alexander V. Boukhanovsky 1 Abstract.

More information

MQT, an Approach for Runtime Query Translation: From EOL to SQL

MQT, an Approach for Runtime Query Translation: From EOL to SQL MQT, an Approach for Runtime Query Translation: From EOL to SQL Xabier De Carlos 1, Goiuria Sagardui 2, and Salvador Trujillo 1 1 IK4-Ikerlan Research Center, P. J.M. Arizmendiarrieta, 2 20500 Arrasate,

More information

How To Test On A Model Driven Test On An Embedded System

How To Test On A Model Driven Test On An Embedded System Applying Model Driven Techniques to Mobile Testing Sang-Yong Byun Division of Computer Engineering, JeJu National University, Korea byunsy@jejunu.ac.kr Abstract Mobile Embedded Testing is the most important

More information

Product data quality in the vaccine industry, a Model-Driven Architecture for interoperability between information systems

Product data quality in the vaccine industry, a Model-Driven Architecture for interoperability between information systems 18 th European Symposium on Computer Aided Process Engineering ESCAPE 18 Bertrand Braunschweig and Xavier Joulia (Editors) 2008 Elsevier B.V./Ltd. All rights reserved. Product data quality in the vaccine

More information

Linking BPMN, ArchiMate, and BWW: Perfect Match for Complete and Lawful Business Process Models?

Linking BPMN, ArchiMate, and BWW: Perfect Match for Complete and Lawful Business Process Models? Linking BPMN, ArchiMate, and BWW: Perfect Match for Complete and Lawful Business Process Models? Ludmila Penicina Institute of Applied Computer Systems, Riga Technical University, 1 Kalku, Riga, LV-1658,

More information

Model Driven Interoperability through Semantic Annotations using SoaML and ODM

Model Driven Interoperability through Semantic Annotations using SoaML and ODM Model Driven Interoperability through Semantic Annotations using SoaML and ODM JiuCheng Xu*, ZhaoYang Bai*, Arne J.Berre*, Odd Christer Brovig** *SINTEF, Pb. 124 Blindern, NO-0314 Oslo, Norway (e-mail:

More information

SERVICE ORIENTED AND MODEL-DRIVEN DEVELOPMENT METHODS OF INFORMATION SYSTEMS

SERVICE ORIENTED AND MODEL-DRIVEN DEVELOPMENT METHODS OF INFORMATION SYSTEMS 7th International DAAAM Baltic Conference INDUSTRIAL ENGINEERING 22-24 April 2010, Tallinn, Estonia SERVICE ORIENTED AND MODEL-DRIVEN DEVELOPMENT METHODS OF INFORMATION SYSTEMS Lemmik, R.; Karjust, K.;

More information

Business Process Configuration with NFRs and Context-Awareness

Business Process Configuration with NFRs and Context-Awareness Business Process Configuration with NFRs and Context-Awareness Emanuel Santos 1, João Pimentel 1, Tarcisio Pereira 1, Karolyne Oliveira 1, and Jaelson Castro 1 Universidade Federal de Pernambuco, Centro

More information

MDA Approach for Maintenance of Business Applications

MDA Approach for Maintenance of Business Applications MDA Approach for Maintenance of Business Applications Mila Keren 1, Andrei Kirshin 1, Julia Rubin 1, and Ahto Truu 2 1 IBM Haifa Research Lab, Mount Carmel, Haifa, Israel {keren, kirshin, mjulia}@il.ibm.com

More information

Integration of Application Business Logic and Business Rules with DSL and AOP

Integration of Application Business Logic and Business Rules with DSL and AOP Integration of Application Business Logic and Business Rules with DSL and AOP Bogumiła Hnatkowska and Krzysztof Kasprzyk Wroclaw University of Technology, Wyb. Wyspianskiego 27 50-370 Wroclaw, Poland Bogumila.Hnatkowska@pwr.wroc.pl

More information

A Framework for Generating Query Language Code from OCL Invariants

A Framework for Generating Query Language Code from OCL Invariants A Framework for Generating Query Language Code from OCL Invariants Florian Heidenreich, Christian Wende, and Birgit Demuth Technische Universität Dresden Institut für Software- und Multimediatechnik D-01062,

More information

A Model-Driven Approach for Graph Visualization

A Model-Driven Approach for Graph Visualization A Model-Driven Approach for Graph Visualization Celal Çığır, Alptuğ Dilek, Akif Burak Tosun Department of Computer Engineering, Bilkent University 06800, Bilkent, Ankara {cigir, alptug, tosun}@cs.bilkent.edu.tr

More information

RETRATOS: Requirement Traceability Tool Support

RETRATOS: Requirement Traceability Tool Support RETRATOS: Requirement Traceability Tool Support Gilberto Cysneiros Filho 1, Maria Lencastre 2, Adriana Rodrigues 2, Carla Schuenemann 3 1 Universidade Federal Rural de Pernambuco, Recife, Brazil g.cysneiros@gmail.com

More information

Automated transformations from ECA rules to Jess

Automated transformations from ECA rules to Jess Automated transformations from ECA rules to Jess NAME : N.C. Maatjes STUDENT NUMBER : S0040495 PERIOD : 4-2-2006 until 3-7-2007 DATE : 3-7-2007 SUPERVISOR : L. Ferreira Pires GRADUATION COMMITTEE : L.

More information

An MDA Approach for the Development of Web applications

An MDA Approach for the Development of Web applications An MDA Approach for the Development of Web applications Santiago Meliá Beigbeder and Cristina Cachero Castro {santi,ccachero}@dlsi.ua.es Univesidad de Alicante, España Abstract. The continuous advances

More information

Towards Collaborative Requirements Engineering Tool for ERP product customization

Towards Collaborative Requirements Engineering Tool for ERP product customization Towards Collaborative Requirements Engineering Tool for ERP product customization Boban Celebic, Ruth Breu, Michael Felderer, Florian Häser Institute of Computer Science, University of Innsbruck 6020 Innsbruck,

More information

Domain-Specific Modeling and Code Generation for Cross-Platform Multi-Device Mobile Apps

Domain-Specific Modeling and Code Generation for Cross-Platform Multi-Device Mobile Apps Domain-Specific Modeling and Code Generation for Cross-Platform Multi-Device Mobile Apps Eric Umuhoza Politecnico di Milano. Dipartimento di Elettronica, Informazione e Bioingegneria Piazza L. Da Vinci

More information

Model Transformations and Classification

Model Transformations and Classification http://www.springer.com/3-540-25613-x A Systematic Look at Model Transformations Andreas Metzger Software Systems Engineering, University of Duisburg-Essen, Schützenbahn 70, 45117 Essen, Germany metzger@sse.uni-essen.de

More information

A Pattern-based Approach to Business Process Modeling and Implementation in Web Services

A Pattern-based Approach to Business Process Modeling and Implementation in Web Services A Pattern-based Approach to Business Process Modeling and Implementation in Web Services Steen Brahe 1 and Behzad Bordbar 2 1 Danske Bank & IT University of Copenhagen, Denmark stbr@itu.dk 2 University

More information

An Approach for the Systematic Development of Domain-Specific Languages

An Approach for the Systematic Development of Domain-Specific Languages An Approach for the Systematic Development of Domain-Specific Languages Mark Strembeck 1, Uwe Zdun 2 1 Institute of Information Systems, New Media Lab Vienna University of Economics and BA, Austria mark.strembeck@wu-wien.ac.at

More information

On the general structure of ontologies of instructional models

On the general structure of ontologies of instructional models On the general structure of ontologies of instructional models Miguel-Angel Sicilia Information Engineering Research Unit Computer Science Dept., University of Alcalá Ctra. Barcelona km. 33.6 28871 Alcalá

More information

An Architecture to Support Model Driven Software Visualization

An Architecture to Support Model Driven Software Visualization An Architecture to Support Model Driven Software Visualization R. Ian Bull and Margaret-Anne Storey University of Victoria British Columbia, Canada {irbull,mstorey@cs.uvic.ca Marin Litoiu IBM Markham Ontario

More information

Research Topics 2009. MDD & PL 2009 Stefan Tilkov stefan.tilkov@innoq.com

Research Topics 2009. MDD & PL 2009 Stefan Tilkov stefan.tilkov@innoq.com Research Topics 2009 MDD & PL 2009 Stefan Tilkov stefan.tilkov@innoq.com About innoq Technology Consultancy Focus: Efficient software development & Service-oriented architecture Ratingen, Darmstadt, Munich,

More information

Automatic Generation of Consistency-Preserving Edit Operations for MDE Tools

Automatic Generation of Consistency-Preserving Edit Operations for MDE Tools Automatic Generation of Consistency-Preserving Edit Operations for MDE Tools Michaela Rindt, Timo Kehrer, Udo Kelter Software Engineering Group University of Siegen {mrindt,kehrer,kelter}@informatik.uni-siegen.de

More information

Java Generation from UML Models specified with Alf Annotations

Java Generation from UML Models specified with Alf Annotations Université de Franche-Comté Supervisers : Fabien Peureux, Isabelle Jacques Java Generation from UML Models specified with Alf Annotations Supervised project report Alexandre Vernotte Jean-Marie Gauthier

More information

Chapter 4 Software Lifecycle and Performance Analysis

Chapter 4 Software Lifecycle and Performance Analysis Chapter 4 Software Lifecycle and Performance Analysis This chapter is aimed at illustrating performance modeling and analysis issues within the software lifecycle. After having introduced software and

More information

Software Specification and Testing

Software Specification and Testing Software Specification and Testing Using UML and OCL Jonathan Milley Faculty of Engineering and Applied Science MUN St. John s, Newfoundland Email: jmilley@engr.mun.ca Dr. Dennis K. Peters Faculty of Engineering

More information

MDA Transformations Applied to Web Application Development 1

MDA Transformations Applied to Web Application Development 1 MDA Transformations Applied to Web Application Development 1 Santiago Meliá 1, Andreas Kraus 2, and Nora Koch 2, 3 1 Universidad de Alicante, Spain 2 Ludwig-Maximilians-Universität München, Germany 3 F.A.S.T

More information

Business Model Interoperability using Enterprise Model Integration

Business Model Interoperability using Enterprise Model Integration Business Model Interoperability using Enterprise Model Integration Harald KÜHN, Marion MURZEK, Franz BAYER BOC Information Systems GmbH, Rabensteig 2, 1010 Vienna, Austria Tel: +43 1 513 27 36 10, Fax:

More information

Automatic Generation Between UML and Code. Fande Kong and Liang Zhang Computer Science department

Automatic Generation Between UML and Code. Fande Kong and Liang Zhang Computer Science department Automatic Generation Between UML and Code Fande Kong and Liang Zhang Computer Science department Outline The motivation why we need to do the generation between the UML and code. What other people have

More information

Model Comparison: A Key Challenge for Transformation Testing and Version Control in Model Driven Software Development

Model Comparison: A Key Challenge for Transformation Testing and Version Control in Model Driven Software Development Model Comparison: A Key Challenge for Transformation Testing and Version Control in Model Driven Software Development Yuehua Lin, Jing Zhang, and Jeff Gray Dept. of Computer and Information Sciences, University

More information

Semantic interoperability of dual-model EHR clinical standards

Semantic interoperability of dual-model EHR clinical standards Semantic interoperability of dual-model EHR clinical standards Catalina Martínez-Costa Departamento de Informática y Sistemas, Facultad de Informática Universidad de Murcia, CP 30100, Murcia cmartinezcosta@um.es

More information

The value of modeling

The value of modeling The value of modeling Level: Introductory Gary Cernosek, Marketing Manager, IBM Rational Eric Naiburg, Group Market Manager Desktop Products, IBM Rational 15 Nov 2004 from The Rational Edge: This article

More information

Co-evolution of Metamodels and Models through Consistent Change Propagation

Co-evolution of Metamodels and Models through Consistent Change Propagation Co-evolution of Metamodels and Models through Consistent Change Propagation Andreas Demuth, Roberto E. Lopez-Herrejon, and Alexander Egyed Institute for Systems Engineering and Automation Johannes Kepler

More information

Domain Driven Design and Model Driven Software Development

Domain Driven Design and Model Driven Software Development Domain Driven Design and Model Driven Software Development Karsten Klein, hybrid labs, January 2007 Version: 1.0 Introduction Eric Evans Book Domain Driven Design was first published end of 2003 [Evans2003].

More information

mdwfs Model-driven Schema Translation for Integrating Heterogeneous Geospatial Data

mdwfs Model-driven Schema Translation for Integrating Heterogeneous Geospatial Data mdwfs Model-driven Schema Translation for Integrating Heterogeneous Geospatial Data Tatjana Kutzner, Andreas Donaubauer Chair of Geoinformatics kutzner@tum.de INSPIRE KEN Schema Transformation Workshop,

More information

GECO: Automatic Generator-Composition for (Aspect-oriented) DSLs

GECO: Automatic Generator-Composition for (Aspect-oriented) DSLs GECO: Automatic Generator-Composition for (Aspect-oriented) DSLs Doctoral Symposium Reiner Jung Christian-Albrechts-Universität zu Kiel Institut für Informatik 26.02.2014 Domain-specific Languages Motivation

More information

How to Model Aspect-Oriented Web Services

How to Model Aspect-Oriented Web Services How to Model Aspect-Oriented Web Services Guadalupe Ortiz Juan Hernández gobellot@unex.es juanher@unex.es Quercus Software Engineering Group University of Extremadura Computer Science Department Pedro

More information

UPROM Tool: A Unified Business Process Modeling Tool for Generating Software Life Cycle Artifacts

UPROM Tool: A Unified Business Process Modeling Tool for Generating Software Life Cycle Artifacts UPROM Tool: A Unified Business Process Modeling Tool for Generating Software Life Cycle Artifacts Banu Aysolmaz 1 and Onur Demirörs 2 1, 2 Informatics Institute, Middle East Technical University, Ankara,

More information

MDA based approach towards Design of Database for Banking System

MDA based approach towards Design of Database for Banking System Volume 49 No.16, July 2012 MDA based approach towards Design of Database for Banking System Harsh Dev Phd,Professor, Department of CSE Pranveer Singh Institute of Technology, Kanpur U.P., India Amit Seth

More information

sql-schema-comparer: Support of Multi-Language Refactoring with Relational Databases

sql-schema-comparer: Support of Multi-Language Refactoring with Relational Databases sql-schema-comparer: Support of Multi-Language Refactoring with Relational Databases Hagen Schink Institute of Technical and Business Information Systems Otto-von-Guericke-University Magdeburg, Germany

More information

A Model-Driven Approach for the Development of an IDE for Spacecraft On-Board Software

A Model-Driven Approach for the Development of an IDE for Spacecraft On-Board Software A Model-Driven Approach for the Development of an IDE for Spacecraft On-Board Software Luigi Pomante Sante Candia Emilio Incerto Università degli Studi dell Aquila Center of Excellence DEWS - ITALY luigi.pomante@univaq.it

More information

Textual Modeling Languages

Textual Modeling Languages Textual Modeling Languages Slides 4-31 and 38-40 of this lecture are reused from the Model Engineering course at TU Vienna with the kind permission of Prof. Gerti Kappel (head of the Business Informatics

More information

Application of ontologies for the integration of network monitoring platforms

Application of ontologies for the integration of network monitoring platforms Application of ontologies for the integration of network monitoring platforms Jorge E. López de Vergara, Javier Aracil, Jesús Martínez, Alfredo Salvador, José Alberto Hernández Networking Research Group,

More information

On General-purpose Textual Modeling Languages. On General-purpose Textual Modeling Languages

On General-purpose Textual Modeling Languages. On General-purpose Textual Modeling Languages On General-purpose Textual Modeling Languages On General-purpose Textual Modeling Languages Martin Mazanec and Ondřej Macek Martin Mazanec and Ondřej Macek Department of Computer Science, FEL, Czech Technical

More information

An Eclipse plug-in for Public Administration software system modelling and simulation

An Eclipse plug-in for Public Administration software system modelling and simulation An Eclipse plug-in for Public Administration software system modelling and simulation Riccardo Cognini, Damiano Falcioni, Andrea Polini, Alberto Polzonetti, and Barbara Re University of Camerino, School

More information

The BPM to UML activity diagram transformation using XSLT

The BPM to UML activity diagram transformation using XSLT The BPM to UML activity diagram transformation using XSLT Ondřej Macek 1 and Karel Richta 1,2 1 Department of Computer Science and Engineering, Faculty of Electrical Engineering, Czech Technical University,

More information

On Open Source Tools for Behavioral Modeling and Analysis with fuml and Alf

On Open Source Tools for Behavioral Modeling and Analysis with fuml and Alf On Open Source Tools for Behavioral Modeling and Analysis with fuml and Alf Zoltán Micskei*, Raimund-Andreas Konnerth, Benedek Horváth, Oszkár Semeráth, András Vörös, and Dániel Varró* Budapest University

More information