A Graphical Specification of Model Composition With Triple Graph Grammars

Size: px
Start display at page:

Download "A Graphical Specification of Model Composition With Triple Graph Grammars"

Transcription

1 A Graphical Specification of Model Composition With Triple Graph Grammars Adil Anwar 1, Amine Benelallam 2, Akram Idani 3, Bernard Coulette 4, and Mahmoud Nassar 2 1 Siweb, Computer Science Department, EMI, Mohamed Vth Agdal University, Rabat, Morocco anwar@emi.ac.ma 2 IMS-SIME ENSIAS, Rabat, Morocco nassar@ensias.ma,amine.benelallam@um5s.net.ma 3 University of Joseph Fourier, Grenoble INP, CNRS Saint Martin dheres Cedex, France Akram.Idani@imag.fr 4 IRIT-UTM, University of Toulouse II, Toulouse, France coulette@univ-tlse2.fr Abstract. The concept of model is widely used in the MDE approach in order to represent several software artifacts, which are handled by different development teams throughout the software life cycle. Management of these models requires the definition of a set of model management operators such as the composition operation. This is generally an operation, which is dedicated to merge a number of models in order to create one (or more) incorporated model and which depends on the application context. The current work focuses on the description of a formal approach for model composition where the composition is specified by a set of graph transformation rules over UML-compliant models. The semantics of our composition operator is defined using triple graph grammars (TGGs) formalism. Furthermore, we present a composition scheme interpreted by a three-steps composition process: matching, checking and merging. Keywords. : Model composition, model-driven development, graph transformations, triple graph grammars, AGG. 1 Introduction Model composition is a crucial activity in Model Driven Engineering (MDE). It is particularly useful when adopting a multi-modeling approach to model large and complex software systems. The main purpose is to separate concerns in order to represent the software system as a set of less complex sub-models. Each model represents a view of the system according to different perspectives [6], different concerns, different components, and so on. The aim is to reduce the complexity of the analysis/design activities in the earlier phase of the software development process. However, this may increase the complexity of the integration of the various sub-models in a later phase.

2 The Model-Driven Engineering (MDE) approach is a powerful way to express and automate or semi-automate some integration operations. Thus, numerous works have adopted MDE techniques in order to define model composition as model transformations [11] [3]. Furthermore, we proposed, in a recent work [2] a formal approach for model composition in which we consider composition as an algebraic operator on the set of UML-compliant models. According to several studies, models and metamodels can thus be represented by a graph-based structure [13]. Graph transformation theory also provides a formal support for defining some activities related to model management such as model transformation [1] [15], model refactoring [13], model synchronization [9] and model integration [12]. For these reasons, we believe that graph transformation to be a powerful technology for specifying and applying model composition in an MDE process. Furthermore, using graph transformations as the underlying theory to formalizemodel composition as a special kind of model transformation, allows taking advantage of the diversity of existing graph-based tools such as AGG [17], Fujaba [14] and Great [1]. In this paper, we propose a novel approach that addresses the model composition problem by means of graph transformations. The core idea is to use the Triple graph grammars formalism to specify the composition operator with a set of visual and formal graph transformation rules. Using TGGs for model composition offers many conveniences, especially good understanding, simplicity for declaratively expressing composition rules, and also suitable technique with formal analysis tools. In particular, critical pair analysis that can be used to automatically detect dependencies and conflicts between graph production rules. The remainder of the paper is structured as follows. In section 2 we first introduce an example based on a case study that will illustrate our composition approach. In section 3, we explain our approach for specifying model composition as an application of triple graph grammars and we discuss some experiment details of our approach. Related works and issues raised by our work are discussed in section 4. Section 6 summarizes our contributions and sketches out some future works. 2 Running example In this section, we first give a brief overview of the modeling approach, then describe our composition process through a case study that serves as a running example for explaining the composition approach. 2.1 Motivating Example In this example, we need to merge two UML models that have been developed independently of each other. We illustrate the merging scenario through a Course Management System (CMS). The CMS system is designed using an

3 actor-centered process (student, teacher and system administrator). These actors have different concerns corresponding to view-points from which the system can be modeled. In this paper, we focus our study on structural models (class diagrams). Figure 1(a) shows an excerpt of the class diagram of the Students viewpoint. For teacher and system administrator viewpoints, a similar process is performed and produces class diagrams that model the specific requirements of associated actors (Figure 1 (b)). (a) Excerpt of the class diagram of Student s actor (b) Excerpt of the class diagram of Teacher s actor Fig. 1: Two viewpoint models of the CMS 2.2 Overview of the composition process Existing research [11] has demonstrated that model composition process can be decomposed into three activities, as depicted by Figure 2 below. Model composition includes different tasks. First, it defines correspondence relationships among design models, and then analyzes the correspondences in order to merge these models according to those correspondences. This separation facilitates the maintainability of the composition process since the matching operation is more stable than the merging operation which is subject to strategy modifications. We propose a composition scheme, which is made of tree steps: matching, correspondences checking and merging (Figure 2). Matching Step In this step, we need, on the one hand, to identify corresponding elements in the input models. On the other hand, we may need to express certain kinds of relationships between those elements. A notable example of such correspondence relationship is equality stating that two or more elements are equivalent, which means that they represent consistent views of the same concept. Another example of possible relationships is similarity stating that two or more elements are similar in some respects but not equivalent. For example,

4 Fig. 2: Composition process of the design models expressing similarity relationships is very useful in order to distinguish operations that appear with the same signature (name, type, parameters) but do not have the same behavior. Correspondences checking step The purpose of this step is to check and validate the correspondence relationships identified in the previous step. The designer may identify potential conflicts between input models. For example, one can identify similarity relationships relating two classes that represent the same concept appearing in two or more models with different names. Elements that have been identified as matching in the previous phase are examined for validation. Other types of relationships such as generalization, aggregation, dependency, etc. may be specified manually. Merging Step This is a relationship-driven merging step. This step aims at producing the composed model. In fact, different merging strategies can be applied according to each correspondence relationship. For example, we have identified two merging strategies: merge and translate. The Merge strategy is applied to elements that are related to each other through equality relationships. This is a nominal merging scenario which is applied to overlapping elements among multiple models. Elements that have no correspondent in the opposite model are simply translated into the composed model while following the translation rules. By applying this composition process to the CMS example, we obtained the class diagram resulting from the composition of the two class diagrams shown above (Figure 1 (a) and Figure 1(b)). We added some stereotypes to the classes of the merged model so one can trace back which classes originated from only one input model and which ones existed in both of them (Figure 3). For example, classes named Exercise and Course appear in the merged model with the merged stereotype. Otherwise, the merge process marks classes that appear only in one source model, with the stereotype actor (e.g Registration class). It should be

5 noted that we defined a tag value named actorname which can trace back the actors from which the class originated. Fig. 3: Excerpt of the global class diagram of CMS system 3 Composition Approach In this section we present our approach, which implements triple graph grammars [15], and how we can use it for model composition. Triple graph grammars offer a formalism to declaratively and visually describe bidirectional model transformations. This technology is suitable for addressing the problem of model transformation using the QVT-MOF standard 5. Furthermore, it can also be used to achieve many tasks and applications related to model-driven development process such as model refactoring [13], model synchronization [10], model integration [12],etc. In practice several tools and environment [17] [14] illustrate the application of triple graph grammars to implement model transformation with respect to basic concepts of the MDE approach. In the TGGs formalism, graph rewriting rules relate object pattern from both source and target pattern models. A TGG rule can be interpreted in different ways depending on the transformation direction. For example TGGs rules can be used to transform one graph into another graph (forward or backward transformations) or to check if two graphs structurally correspond to each other by generating a third graph, the correspondence graph [10]. 3.1 Representation of Models According to several studies [8], MOF-compliant models are intrinsically graphs. Following this, we adopt attributed and directed labelled graphs as the basis for our model representations. 5

6 In the following, we assume that viewpoints models (class diagrams in this paper) are formally defined as attributed graphs. Indeed, each vertex or edge can contain zero or more attributes. Such an attribute is typically a name-value pair that allows attaching a specific value to each attribute name [13]. Fig. 4: Example of a graph representing the UML class diagram modeled in Figure 1(a) As an example of an attributed graph we consider Figure 4 above. Its effectively attributed in the sense that all of its vertices contain attributes. Such an attribute is typically a name-value pair. For example, the AssocaitionEnd node that represents the Course AssociationEnd has an output edge that is labeled type and target the class node Course. This is mean that the Association courseexercise has as extremity of kind aggregation the Class Course according to the teacher class diagram (Figure 1(a)). 3.2 Metamodeling We use metamodels that conform to MOF Furthermore, metamodels are also used in order to specify our composition rules in the TGGs formalism. In our composition example, source and target metamodels are defined by the UML metamodel. We also use a third metamodel which we call composition metamodel. This metamodel allows defining all the link types for the graphical specification of composition rules. In the world of model driven engineering, we say that a model is conform to its metamodel, the same idea may be applied with the concept of graphs world, 6

7 and we say that a graph needs to conform to a so-called type graph or a graph schema [12]. A type graph defines the type of nodes and edges types and also constraints between nodes and edges. According to our composition process, we need to maintain and create matching links between input model elements from the matching step. In our approach, we require that matching links be used for merging. So, we create all of the matching link types we need by specializing the MergeRelation link type declaration. This link type, when specialized, defines a mapping link type for each element type from source metamodels and will be used in the merging step to produce elements in the merged model. For example an instance of the link type ClassMergeRelation maps classes that are defined as equivalent in source models. This link type will be used later by a merging rule to produce a merged class from the related source classes. Fig. 5: Simplified UML Class diagram and composition metamodels 3.3 Expressing Composition Rules with TGGs In the TGGs formalism, graph rewriting rules graphically specify how objects from a pair of graphs are related using a third graph, so-called correspondence

8 graph. Actually, each TGGs rule is composed of a pair of graph rewriting rules and a third graph rewriting rule which is used to check and create correspondence links between nodes of both considered graphs [12]. A graph rewriting rule consists of two parts, a left-hand side and a right-hand side. A rule is applied by substituting the objects of the left-hand side with the objects of the right-hand side, only if the pattern of the left-hand side can be matched to a given graph. As said earlier, TGGs rules are declarative specifications of bidirectional graph transformations. In this section, we explain how, from these declaratives specifications, we derive some transformation rules for merging purposes. We structured those transformation rules into three categories: matching, merging and translation rules. To explain our transformation rules, we use a graphical notation close to Fujaba-notation [14] for easy understanding. In this notation, white nodes represent nodes that appear on both the left and right sides of the graph rewriting rule. The colored nodes, also marked with the stereotype <<new>> are those that are additionally produced in the rule (Figure 6). Matching Rules To perform the matching transformation, we apply TGGs rules in a correspondence transformation scenario. In this scenario, there is actually no model transformed, input models are considered as source and target models of the transformation. TGGs rules are applied to calculate a valid correspondence between two existing graphs [10]. For this purpose, both source and target graph grammar sides are matched with the existing graph elements. Then, the correspondence graph pattern is created. If such a correspondence transformation is performed successfully, the created correspondence nodes represent the matching links of the two given models. Fig. 6: TGG rule createclassmatchinglink Figure 6 shows a rule, which creates a ClassMergeRelation correspondence link. To create this link between two classes, first, they must have the same name as specified by the constraint. Then, they have to be defined in two separate models linked to each other by a ModelMergeRelation. The correspondence link ModelMergeRelation acts as an application context of the rule ClassMergeRelation. This means that the rule that create the link ModelMergeRelation has to be triggered first. Note that, we omitted a negative

9 application condition, which prohibits multiple applications of this rule and the creation of more than one correspondence link. We recall that during the checking correspondence step (Figure 2, the designer can manually introduce other matching links in order to relate elements that represent the same concept but are modeled differently. This is one of the advantages of this approach, which clearly separates the matching and merging activities. Merging Rules The basic idea of the merging The basic idea of the merging transformation is to consider the regarded models plus the matching links, identified in the previous step, as a single graph (input graphs + matching links). Merging rules compute different matching links in order to produce equivalent elements in the merged model. Fig. 7: A TGGs rule merging two input classes Figure 7 shows a TGGs rule which specifies the generation of a new class and linking it to an existing merged model. The target production of the rule also specifies the generation of the merged stereotype according to our merge strategy. Again, a negative application condition has been suppressed to increase the readability of the transformation rule. Finally, the merged class diagram and the inputs class diagram must already be linked by a correspondence link of type ModelMergeRelation. Translation Rules Translation rules deal with elements that are not identified as equivalent in the matching step. The default strategy of a translation rule consists only in creating, in the target model, a deep copy of the source element on which it is applied. Figure 7 presents an example of a translation rule that translates an isolated class into the merged model. This rule creates, in the merged model, a target class and a stereotype (Figure 8) with the provided values for their attribute names. For this purpose, the merged model must have been previously created by the merging rules to which the newly created object

10 will be attached to. Finally, we need to specify a negative application condition to ensure that the source class is not being related by a matching link. Fig. 8: A TGGs translation rule transforming a class to the merged model 3.4 Implementation In this section we introduce some experiments we have performed with AGG tool [17]. AGG is a rule based visual language supporting an algebraic approach for graph transformation. Its provides some additional features of TGGs that are needed to express complex transformations. Some of these features include specific attribute constraints also called context constraints, Positive, Negative, and General Applications Conditions (PACs, NACs, and GACs). The GACs have the possibility to apply combinations of former operators like AND, OR, FORALL over patterns. AGG is also useful in order to validate graph grammars using consistency checking and critical pair analysis techniques such as parallel conflicts and sequential dependencies [5]. Finally, it is possible in AGG to specify a control flow of graph transformation by using rule layers and priority order [7]. Thus, layers set the order in which graph production rules are applied. Specifying composition type graph In AGG, metamodels are specified as type graphs. It is possible to define typed attributed graphs with node type inheritance, but transformation rules and application conditions do not yet support node inheritance. That is why we adopted the classical representation with no node type inheritance.each package(figure 5) is represented by a sub-graph. the three sub-graphs represent the type graph of our composition approach. Specifying rule layers So as to have the same logical order as in the composition process, we used rule layers to specify the transformations flow and decrease the complexity of the transformation application conditions. Thus, the matching rules appear first, the transformation rules come after the application of merging

11 rules, and, obviously, the deletion rules come after the transformation process. Figure 9 depicts composition rules sorted by rule layers. Fig. 9: Rules layers Figure 10 below illustrate a concrete example of a TGG rule in AGG tool. An AGG rule consists of a left hand side (LHS) and a right hand side (RHS). The LHS panel displays the sub-graph to look for, and the RHS displays the modifications over the LHS. Fig. 10: TGG rule ClassMergeRelation in AGG notation Specifying rules with AGG Figure 10 sketches the rule that merges classes. For a pair of classes having the same name and belonging each to an already merged class diagram (LHS), we generate a merged class with the same name and a merged stereotype which connects the merged class to the merged class diagram. The default NACs guarantees that rules are applied to a match only once. AGG offers an attribute context editor to declare variables and attribute condition definitions. For example, we used this feature to ensure that the class names are equal in the class merging rule.

12 Fig. 11: Merged graph To test composition rules, we consider the input models in figures 1(a) and figure 1 (b). To increase the clarity and the readability of the paper, we excluded some attributes and operations. Figures 11 depicts the merged model resulting from the application of all the TGGs rules. Consistency checking with AGG A consistency check can be performed on the output model using consistency conditions (CC). A consistency condition graphically describes graph properties like the existence of a particular element or the independence of a particular rule. Furthermore, a consistency condition is composed of a premise P and a conclusion C. For example, figure 12 describes a consistency condition that specifies how to check that every class has necessarily a stereotype with an attribute named actor or merged. The premise of the CC is the node Class, and the conclusion is a class connected to Stereotype with an attribute name actor or merged. When checking this CC on our output model a window appears with the message the graph fulfills this atomic. AGG also computes the graph of sequential dependencies between rules, in order to detect early defaults and verify the behavior of the transformation. We computed this graph for the all the transformation rules in our composition process. This implementation was an important step to validate our composition process, and discover the difficulties related to the use of a graph transformation tool. Most of the difficulties are similar to those flagged in [13]. When handling

13 Fig. 12: Check Class stereotypes constraint complex metamodels with inheritance and aggregation links, defining the type graph becames more difficult. Besides, AGG supports neither OCL 7 nor any OCL-derived language. This could have been very helpful whenever one of the OCL collection operators is needed. 4 Related Works Model composition has become an important activity in the model-driven engineering field. A number of related approaches are based on model transformations. In this section, we review some proposed approaches to model composition and discuss their strong and weak points. We focus on works that are close to ours, by means of using graph transformation formalisms and model driven engineering techniques. The MDI (Multi Document Integration) approach presented in [12] generalizes the formalism of TGGs with the concept of multi-graph grammars and proposes an approach for heterogeneous and distributed data integration. The integration process is based, on the one hand, on a set of declarative rules called data integration rules. Declaratives rules are used to specify correspondence links between the involved models. On the other hand, from those rules, they derive a set of operational rules that ensure consistency between models and are responsible for attribute changes propagation from one element to the linked one. Attribute constraints defined by TGGs being relatively simple, we propose in our approach the use of Layered graph grammars which make possible to reduce the complexity of attribute constraints. The approach presented in [16] elaborated a framework foelaborated a framework for model management using RGGs (Reserved Graph Grammars). RGGs are developed based on layered graph grammars using the layered formalism to allow the parsing algorithm to determine, in a finite number of steps, whether a graph is valid. Model management operators are specified at two levels, specific and generalized. A specific operator is a low level description presenting a concrete image of the expected output and interface. The generalized operator specifies, using RGGs rules, the operators behavior. Namely, the Merge operator 7

14 takes three inputs, a model A, a model B, and a mapping between A and B, and returns the union model C of A and B along with mappings between C and A, and between C and B. This approach does not compute the mapping model between A and B, which means that the correspondence step is not automated. Finally, the MOMENT framework [4] is an EMF-based framework for model management that provides a set of generic modules and operators such as the merge operator. It is based on three concepts: the equivalence relation, conflict resolution strategy and the construct refreshment which are respectively equivalent to the matching, merging and transcription steps. The Merge operator uses the equivalence relation defined for a metamodel to detect duplicated elements between the two input models. This approach assumes that input models are consistent and do not handle complex relationships like the Aggregation relationship. This makes the matching step easy to automate. The approach tackles change propagation instead. 5 Conclusions and Future Work This work aimed to formalize the model composition activity so as to produce a composed model that represents an integrated view of all the individual views. For this purpose, we considered the composition operation as a global operation decomposed into two atomic model management operations that are model matching and model merging. The formalization of our model composition operation is described graphically using graph transformations. We used the TGGs formalism to graphically specify a set of composition rules over a set of UML-compliant models. Attributed graphs are used in order to provide a formal representation of both source and target models and also the correspondence model. Truly, the matching operation aims to add a set of links to source model elements. The merging operation is viewed as a homogeneous model refactoring transformation. The merging strategy of related elements depends on their merging relation type. Using the correspondence graph, it is easy to automate the merging step and allow incremental refinement of the correspondence graph. Furthermore, it also allows to enhance the traceability of the composition process. This reported work can be extended in many directions. First, our approach was defined and validated in the context of UML models represented by class diagrams, but it is quite generic since most of our formalization deals with graphs properties. So it could be easily applied to the composition of any graph-based models. Automating the identification of potential concordances or inconsistencies between partial models may be an important step for applying the presented approach to large-scale projects. Thus, we could use matching heuristics to perform similarities computation between graph-based models. The similarity values will use relational and attribute related knowledge to identify semantic correspondences between elements.

15 References 1. A. Agrawal, G. Karsai, S. Neema, F. Shi, and A. Vizhanyo. The design of a language for model transformations. Software and Systems Modeling, 5(3): , A. Anwar, T. Dkaki, S. Ebersold, B. Coulette, and M. Nassar. A formal approach to model composition applied to vuml. In Engineering of Complex Computer Systems (ICECCS), th IEEE International Conference on, pages IEEE, A. Anwar, S. Ebersold, B. Coulette, M. Nassar, and A. Kriouile. A rule-driven approach for composing viewpoint-oriented models. Journal of Object Technology, 9(2):89 114, A. Boronat, J.Á. Carsí, I. Ramos, and P. Letelier. Formal model merging applied to class diagram integration. Electronic Notes in Theoretical Computer Science, 166:5 26, P. Bottoni, G. Taentzer, and A. Schurr. Efficient parsing of visual languages based on critical pair analysis and contextual layered graph transformation. In Visual Languages, Proceedings IEEE International Symposium on, pages IEEE, M. Chechik. A relationship-based approach to model management. In Model- Based Methodologies for Pervasive and Embedded Software, MOMPES 09. ICSE Workshop on, pages 1 1. IEEE, H. Ehrig, K. Ehrig, J. De Lara, G. Taentzer, D. Varró, and S. Varró-Gyapay. Termination criteria for model transformation. Fundamental Approaches to Software Engineering, pages 49 63, H. Ehrig, U. Prange, and G. Taentzer. Fundamental theory for typed attributed graph transformation. Graph Transformations, pages , H. Giese and R. Wagner. Incremental model synchronization with triple graph grammars. Model Driven Engineering Languages and Systems, pages , J. Greenyer and E. Kindler. Reconciling tggs with qvt. Model Driven Engineering Languages and Systems, pages 16 30, D. Kolovos, R. Paige, and F. Polack. Merging models with the epsilon merging language (eml). Model Driven Engineering Languages and Systems, pages , A. Königs and A. Schürr. Mdi: A rule-based multi-document and tool integration approach. Software and Systems Modeling, 5(4): , T. Mens, N. Van Eetvelde, S. Demeyer, and D. Janssens. Formalizing refactorings with graph transformations. Journal of Software Maintenance and Evolution: Research and Practice, 17(4): , J. Niere and A. Zündorf. Using fujaba for the development of production control systems. Applications of Graph Transformations with Industrial Relevance, pages , A. Schürr. Specification of graph translators with triple graph grammars. In Proceedings of the 20th International Workshop on Graph-Theoretic Concepts in Computer Science, pages Springer-Verlag, G. Song, K. Zhang, and J. Kong. Model management through graph transformation. In Visual Languages and Human Centric Computing, 2004 IEEE Symposium on, pages IEEE, G. Taentzer. Agg: A tool environment for algebraic graph transformation. Applications of Graph Transformations with Industrial Relevance, pages , 2000.

Pattern composition in graph transformation rules

Pattern composition in graph transformation rules Pattern composition in graph transformation rules András Balogh and Dániel Varró Department of Measurement and Information Systems Budapest University of Technology and Economics H-1117 Magyar tudosok

More information

Detecting Structural Refactoring Conflicts Using Critical Pair Analysis

Detecting Structural Refactoring Conflicts Using Critical Pair Analysis SETra 2004 Preliminary Version Detecting Structural Refactoring Conflicts Using Critical Pair Analysis Tom Mens 1 Software Engineering Lab Université de Mons-Hainaut B-7000 Mons, Belgium Gabriele Taentzer

More information

Computation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM):

Computation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM): viii Preface The software industry has evolved to tackle new approaches aligned with the Internet, object-orientation, distributed components and new platforms. However, the majority of the large information

More information

Design Patterns for Model Transformations: Current research and future directions

Design Patterns for Model Transformations: Current research and future directions Design Patterns for Model Transformations: Current research and future directions K. Lano 1, S. Yassipour-Tehrani 1 1 Dept of Informatics, King s College London, Strand, London, UK Abstract. There is increasing

More information

AGG: A Graph Transformation Environment for Modeling and Validation of Software

AGG: A Graph Transformation Environment for Modeling and Validation of Software AGG: A Graph Transformation Environment for Modeling and Validation of Software Gabriele Taentzer Technische Universität Berlin, Germany gabi@cs.tu-berlin.de Abstract. AGG is a general development environment

More information

A Formal Definition of Model Composition Traceability

A Formal Definition of Model Composition Traceability A Formal Definition of Model Composition Traceability Youness Laghouaouta 1, Adil Anwar 2 and Mahmoud Nassar 1 1 IMS-SIME, ENSIAS, Mohammed V University of Rabat Rabat, Morocco 2 Siweb, EMI, Mohammed V

More information

Model View Management with Triple Graph Transformation Systems

Model View Management with Triple Graph Transformation Systems Model View Management with Triple Graph Transformation Systems Esther Guerra and Juan de Lara Computer Science Department, Universidad Carlos III de Madrid (Spain) eguerra@inf.ucm.es Polytechnic School,

More information

Introduction to MDE and Model Transformation

Introduction to MDE and Model Transformation Vlad Acretoaie Department of Applied Mathematics and Computer Science Technical University of Denmark rvac@dtu.dk DTU Course 02291 System Integration Vlad Acretoaie Department of Applied Mathematics and

More information

Applying a Model Transformation Taxonomy to Graph Transformation Technology

Applying a Model Transformation Taxonomy to Graph Transformation Technology Replace this file with prentcsmacro.sty for your meeting, or with entcsmacro.sty for your meeting. Both can be found at the ENTCS Macro Home Page. Applying a Model Transformation Taxonomy to Graph Transformation

More information

Formalizing Software Refactoring in the Distributed Environment by aednlc Graph Grammar

Formalizing Software Refactoring in the Distributed Environment by aednlc Graph Grammar Formalizing Software Refactoring in the Distributed Environment by aednlc Graph Grammar Leszek Kotulski, Adrian Nowak Institute of Computer Science, Jagiellonian University Nawojki 11, 30-072 Kraków, Poland

More information

Chapter 7. Modular Refactoring. 7.1 Introduction to Modular Refactoring

Chapter 7. Modular Refactoring. 7.1 Introduction to Modular Refactoring Chapter 7 Modular Refactoring I n this chapter, the role of Unified Modeling Language (UML) diagrams and Object Constraint Language (OCL) expressions in modular refactoring have been explained. It has

More information

Process-Integrated Refinement Patterns in UML

Process-Integrated Refinement Patterns in UML Process-Integrated Refinement Patterns in UML Timo Kehrer Dept. of Computer Science and Media Stuttgart Media University (HdM) Nobelstr. 10, D-70569 Stuttgart, Germany Tel: +49 711 8923 2619 Fax: +49 711

More information

A Formalism for Automated Verification of Model Transformations

A Formalism for Automated Verification of Model Transformations Magyar Kutatók 10. Nemzetközi Szimpóziuma 10 th International Symposium of Hungarian Researchers on Computational Intelligence and Informatics A Formalism for Automated Verification of Model Transformations

More information

SUMMARY: MODEL DRIVEN SECURITY

SUMMARY: MODEL DRIVEN SECURITY SUMMARY: MODEL DRIVEN SECURITY JAN-FILIP ZAGALAK, JZAGALAK@STUDENT.ETHZ.CH Model Driven Security: From UML Models to Access Control Infrastructres David Basin, Juergen Doser, ETH Zuerich Torsten lodderstedt,

More information

Supporting Modeling in the Large in Fujaba

Supporting Modeling in the Large in Fujaba Supporting Modeling in the Large in Thomas Buchmann Angewandte Informatik 1 Universität Bayreuth D-95440 Bayreuth thomas.buchmann@unibayreuth.de Alexander Dotor Angewandte Informatik 1 Universität Bayreuth

More information

Model Transformation by Graph Transformation: A Comparative Study

Model Transformation by Graph Transformation: A Comparative Study Model Transformation by Graph Transformation: A Comparative Study Karsten Ehrig 1, Esther Guerra 2, Juan de Lara 3, Laszlo Lengyel 4, Tihamer Levendovszky 4, Ulrike Prange 1, Gabriele Taentzer 1, Daniel

More information

A Prototype for Guideline Checking and Model Transformation in Matlab/Simulink

A Prototype for Guideline Checking and Model Transformation in Matlab/Simulink A Prototype for Guideline Checking and Model Transformation in Matlab/Simulink Holger Giese, Matthias Meyer, Robert Wagner Software Engineering Group Department of Computer Science University of Paderborn

More information

Software Language Engineering of Architectural Viewpoints

Software Language Engineering of Architectural Viewpoints Software Language Engineering of Architectural Viewpoints Elif Demirli and Bedir Tekinerdogan Department of Computer Engineering, Bilkent University, Ankara 06800, Turkey {demirli,bedir}@cs.bilkent.edu.tr

More information

Model Refactoring in Eclipse by LTK, EWL, and EMF Refactor: A Case Study

Model Refactoring in Eclipse by LTK, EWL, and EMF Refactor: A Case Study Model Refactoring in Eclipse by LTK, EWL, and EMF Refactor: A Case Study Thorsten Arendt 1, Florian Mantz 1, Lars Schneider 2, Gabriele Taentzer 1 1 Philipps-Universität Marburg, Germany, FB 12 - Mathematics

More information

Towards Generating Domain-Specific Model Editors with Complex Editing Commands

Towards Generating Domain-Specific Model Editors with Complex Editing Commands Towards Generating Domain-Specific Model Editors with Complex Editing Commands Gabriele Taentzer Technical University of Berlin Germany gabi@cs.tu-berlin.de May 10, 2006 Abstract Domain specific modeling

More information

Visual Specification of a DSL Processor Debugger

Visual Specification of a DSL Processor Debugger Visual Specification of a DSL Processor Debugger Tamás Mészáros Budapest University of Technology and Economics Department of Automation and Applied Informatics mesztam@aut.bme.hu Tihamér Levendovszky

More information

Reconciling TGGs with QVT

Reconciling TGGs with QVT Faculty for Computer Science Software Engineering Group Warburger Straße 100 33098 Paderborn Germany A Study of Model Transformation Technologies: Reconciling TGGs with QVT Diploma Thesis by Joel Greenyer

More information

A Metamodeling Approach to Model Refactoring

A Metamodeling Approach to Model Refactoring A Metamodeling Approach to Model Refactoring Sheena R. Judson, Doris L. Carver, and Robert France 2 Department of Computer Science, Louisiana State University Baton Rouge, Louisiana USA sheena.r.judson@lmco.com,

More information

A Generic Framework for Analyzing Model Co-Evolution

A Generic Framework for Analyzing Model Co-Evolution A Generic Framework for Analyzing Model Co-Evolution Sinem Getir 1, Michaela Rindt 2 and Timo Kehrer 2 1 Reliable Software Systems, University of Stuttgart, Germany sinem.getir@informatik.uni-stuttart.de

More information

2nd Belgian-Dutch workshop on Software Evolution

2nd Belgian-Dutch workshop on Software Evolution 2nd Belgian-Dutch workshop on Software Evolution BENEVOL 2004 8-9 July 2004 University of Antwerp Belgium Problem statement More and better tool support needed for software evolution traceability management

More information

De-/Re-constructing Model Transformation Languages

De-/Re-constructing Model Transformation Languages De-/Re-constructing Model Transformation Languages Eugene Syriani Ph.D. Candidate in the Modelling, Simulation and Design Lab School of Computer Science McGill University OVERVIEW Context De-Constructing

More information

Local search-based pattern matching features in EMF-IncQuery

Local search-based pattern matching features in EMF-IncQuery Local search-based pattern matching features in EMF-IncQuery Márton Búr 1,2, Zoltán Ujhelyi 2,1, Ákos Horváth 2,1, Dániel Varró 1 1 Budapest University of Technology and Economics, Department of Measurement

More information

The Implications of Optimality Results for Incremental Model Synchronization for TGGs Holger Giese, Stephan Hildebrandt

The Implications of Optimality Results for Incremental Model Synchronization for TGGs Holger Giese, Stephan Hildebrandt The Implications of Optimality Results for Incremental Model Synchronization for TGGs Bi-directional transformations (BX) Theory and Applications Across Disciplines (13w5115) December 1-6, 2013 Holger

More information

Proceedings of the 7th International Workshop on Graph Based Tools (GraBaTs 2012)

Proceedings of the 7th International Workshop on Graph Based Tools (GraBaTs 2012) Electronic Communications of the EASST Volume 54 (2012) Proceedings of the 7th International Workshop on Graph Based Tools (GraBaTs 2012) Visual Modeling and Analysis of EMF Model Transformations Based

More information

A Visual Editor for Reconfigurable Object Nets based on the ECLIPSE Graphical Editor Framework

A Visual Editor for Reconfigurable Object Nets based on the ECLIPSE Graphical Editor Framework A Visual Editor for Reconfigurable Object Nets based on the ECLIPSE Graphical Editor Framework Enrico Biermann, Claudia Ermel, Frank Hermann and Tony Modica Technische Universität Berlin, Germany {enrico,lieske,frank,modica}@cs.tu-berlin.de

More information

Transformational pattern system - some assembly required

Transformational pattern system - some assembly required GT-VMT 2006 Transformational pattern system - some assembly required Mika Siikarla 1 and Tarja Systä 2 Institute of Software Systems Tampere University of Technology Tampere, Finland Abstract In the context

More information

Termination Analysis of the Transformation UML to CSP

Termination Analysis of the Transformation UML to CSP Magyar Kutatók 8. Nemzetközi Szimpóziuma 8 th International Symposium of Hungarian Researchers on Computational Intelligence and Informatics Termination Analysis of the Transformation UML to CSP Márk Asztalos,

More information

Detecting and Preventing Power Outages in a Smart Grid using emoflon

Detecting and Preventing Power Outages in a Smart Grid using emoflon Detecting and Preventing Power Outages in a Smart Grid using emoflon Sven Peldszus, Jens Bürger, Daniel Strüber {speldszus,buerger,strueber}@uni-koblenz.de University of Koblenz and Landau Abstract We

More information

Leveraging UML Profiles to Generate Plugins From Visual Model Transformations

Leveraging UML Profiles to Generate Plugins From Visual Model Transformations Electronic Notes in Theoretical Computer Science 127 (2005) 5 16 www.elsevier.com/locate/entcs Leveraging UML Profiles to Generate Plugins From Visual Model Transformations Hans Schippers, Pieter Van Gorp,

More information

Formal specification of semantics of UML 2.0 activity diagrams by using Graph Transformation Systems

Formal specification of semantics of UML 2.0 activity diagrams by using Graph Transformation Systems Formal specification of semantics of UML 2.0 activity diagrams by using Graph Transformation Systems Somayeh Azizi 1, Vahid Panahi 2 Computer science department, Sama Technical and vocational, Training

More information

A UML-based Process Meta-Model Integrating a Rigorous Process Patterns Definition

A UML-based Process Meta-Model Integrating a Rigorous Process Patterns Definition A UML-based Process Meta-Model Integrating a Rigorous Process Patterns Definition Hanh Nhi Tran, Bernard Coulette, Bich Thuy Dong 2 University of Toulouse 2 -GRIMM 5 allées A. Machado F-3058 Toulouse,

More information

Comparing Relational Model Transformation Technologies Implementing QVT with Triple Graph Grammars

Comparing Relational Model Transformation Technologies Implementing QVT with Triple Graph Grammars Noname manuscript No. (will be inserted by the editor) Comparing Relational Model Transformation Technologies Implementing QVT with Triple Graph Grammars Joel Greenyer 1, Ekkart Kindler 2 1 Software Engineering

More information

Towards Transformation Migration After Metamodel Evolution

Towards Transformation Migration After Metamodel Evolution Towards Transformation Migration After Metamodel Evolution David Méndez 1,2, Anne Etien 2, Alexis Muller 2, and Rubby Casallas 1 TICSw Research Group, Universidad de los Andes, Colombia {df.mendez73,rcasalla}@uniandes.edu.co

More information

Towards the integration of security patterns in UML Component-based Applications

Towards the integration of security patterns in UML Component-based Applications Towards the integration of security patterns in UML Component-based Applications Anas Motii 1, Brahim Hamid 2, Agnès Lanusse 1, Jean-Michel Bruel 2 1 CEA, LIST, Laboratory of Model Driven Engineering for

More information

Towards 2D Traceability

Towards 2D Traceability Towards 2D Traceability in a platform for Contract Aware Visual Transformations with Tolerated Inconsistencies Pieter Van Gorp pieter.vangorp@ua.ac.be Frank Altheide frank.altheide@gmail.com Dirk Janssens

More information

Model-Independent Differences

Model-Independent Differences Model-Independent Differences Patrick Könemann Technical University of Denmark, Informatics and Mathematical Modelling Richard Petersens Plads, DK-2800 Kgs. Lyngby, Denmark pk@imm.dtu.dk Abstract Computing

More information

The TOBIAS test generator and its adaptation to some ASE challenges Position paper for the ASE Irvine Workshop

The TOBIAS test generator and its adaptation to some ASE challenges Position paper for the ASE Irvine Workshop The test generator and its adaptation to some ASE challenges Position paper for the ASE Irvine Workshop Y. Ledru Laboratoire Logiciels Systèmes Réseaux/IMAG BP 72, F-38402 Saint-Martin-d Hères CEDEX, FRANCE

More information

Static Safety Analysis of UML Action Semantics for Critical Systems Development

Static Safety Analysis of UML Action Semantics for Critical Systems Development Static Safety Analysis of UML Action Semantics for Critical Systems Development Zsigmond Pap, Dániel Varró Dept. of Measurement and Information Systems Budapest University of Technology and Economics H-1521

More information

Towards Integrating SysML and AUTOSAR Modeling via Bidirectional Model Synchronization

Towards Integrating SysML and AUTOSAR Modeling via Bidirectional Model Synchronization Towards Integrating SysML and AUTOSAR Modeling via Bidirectional Model Synchronization Holger Giese, Stephan Hildebrandt and Stefan Neumann [first name].[last name]@hpi.uni-potsdam.de Hasso Plattner Institute

More information

Copying Subgraphs within Model Repositories

Copying Subgraphs within Model Repositories Copying Subgraphs within Model Repositories Pieter van Gorp, Hans Schippers, Dirk Janssens April 2, 2006 1 / 37 Contents Languages 2 / 37 Outline Languages 3 / 37 : Model Driven Software Engineering Model

More information

BPMN to BPEL case study solution in VIATRA2

BPMN to BPEL case study solution in VIATRA2 BPMN to BPEL case study solution in VIATRA2 Gábor Bergmann and Ákos Horváth Budapest University of Technology and Economics, Department of Measurement and Information Systems, H-1117 Magyar tudósok krt.

More information

MDD with OMG Standards MOF, OCL, QVT & Graph Transformations

MDD with OMG Standards MOF, OCL, QVT & Graph Transformations 1 MDD with OMG Standards MOF, OCL, QVT & Graph Transformations Andy Schürr Darmstadt University of Technology andy. schuerr@es.tu-darmstadt.de 20th Feb. 2007, Trento Outline of Presentation 2 Languages

More information

Dresden OCL2 in MOFLON

Dresden OCL2 in MOFLON Dresden OCL2 in MOFLON 10 Jahre Dresden-OCL Workshop Felix Klar Felix.Klar@es.tu-darmstadt.de ES Real-Time Systems Lab Prof. Dr. rer. nat. Andy Schürr Dept. of Electrical Engineering and Information Technology

More information

Metamodeling. Janos Sztipanovits ISIS, Vanderbilt University

Metamodeling. Janos Sztipanovits ISIS, Vanderbilt University Metamodeling Janos ISIS, Vanderbilt University janos.sztipanovits@vanderbilt.edusztipanovits@vanderbilt edu Content Overview of Metamodeling Abstract Syntax Metamodeling Concepts Metamodeling languages

More information

Formal Semantics of Consistent EMF Model Transformations by Algebraic Graph Transformation

Formal Semantics of Consistent EMF Model Transformations by Algebraic Graph Transformation SoSyM manuscript No. (will be inserted by the editor) Formal Semantics of Consistent EMF Model Transformations by Algebraic Graph Transformation Enrico Biermann 1, Claudia Ermel 1, Gabriele Taentzer 2

More information

Sequence Diagram Generation with Model Transformation Technology

Sequence Diagram Generation with Model Transformation Technology , March 12-14, 2014, Hong Kong Sequence Diagram Generation with Model Transformation Technology Photchana Sawprakhon, Yachai Limpiyakorn Abstract Creating Sequence diagrams with UML tools can be incomplete,

More information

OCL Support in MOF Repositories

OCL Support in MOF Repositories OCL Support in MOF Repositories Joachim Hoessler, Michael Soden Department of Computer Science Technical University Berlin hoessler@cs.tu-berlin.de, soden@cs.tu-berlin.de Abstract From metamodels that

More information

Coral: A Metamodel Kernel for Transformation Engines

Coral: A Metamodel Kernel for Transformation Engines Coral: A Metamodel Kernel for Transformation Engines Marcus Alanen and Ivan Porres TUCS Turku Centre for Computer Science Department of Computer Science, Åbo Akademi University Lemminkäisenkatu 14, FIN-20520

More information

Correctness and Completeness of Generalised Concurrent Model Synchronisation Based on Triple Graph Grammars

Correctness and Completeness of Generalised Concurrent Model Synchronisation Based on Triple Graph Grammars Correctness and Completeness of Generalised Concurrent Model Synchronisation Based on Triple Graph Grammars Susann Gottmann 1, Frank Hermann 1, Nico Nachtigall 1, Benjamin Braatz 1, Claudia Ermel 2, Hartmut

More information

A Generic Visual Language Technique for DSVL Model Refactoring to Patterns

A Generic Visual Language Technique for DSVL Model Refactoring to Patterns ECEASST A Generic Visual Language Technique for DSVL Model Refactoring to Patterns Karen Li 1, John Hosking 1, and John Grundy 2 1 {k.li, j.hosking}@auckland.ac.nz Departments of Computer Science, University

More information

Foundations of Data Warehouse Quality (DWQ)

Foundations of Data Warehouse Quality (DWQ) DWQ Foundations of Data Warehouse Quality (DWQ) v.1.1 Document Number: DWQ -- INRIA --002 Project Name: Foundations of Data Warehouse Quality (DWQ) Project Number: EP 22469 Title: Author: Workpackage:

More information

UML-Based Conceptual Modeling of Pattern-Bases

UML-Based Conceptual Modeling of Pattern-Bases UML-Based Conceptual Modeling of Pattern-Bases Stefano Rizzi DEIS - University of Bologna Viale Risorgimento, 2 40136 Bologna - Italy srizzi@deis.unibo.it Abstract. The concept of pattern, meant as an

More information

Reading part: Design-Space Exploration with Alloy

Reading part: Design-Space Exploration with Alloy Reading part: Design-Space Exploration with Alloy Ing. Ken Vanherpen Abstract In the growing world of MDE many tools are offered to describe a (part of a) system, constrain it, and check some properties

More information

Proceedings of the 6th Educators Symposium: Software Modeling in Education at MODELS 2010 (EduSymp 2010)

Proceedings of the 6th Educators Symposium: Software Modeling in Education at MODELS 2010 (EduSymp 2010) Electronic Communications of the EASST Volume X (2010) Proceedings of the 6th Educators Symposium: Software Modeling in Education at MODELS 2010 (EduSymp 2010) Teaching Model Driven Language Handling Terje

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

Tiger EMF Model Transformation Framework (EMT)

Tiger EMF Model Transformation Framework (EMT) Tiger EMF Model Transformation Framework (EMT) Version 1.2.0 User Manual TU Berlin EMT Project Team: Enrico Biermann, Karsten Ehrig, Claudia Ermel, Christian Köhler, Günter Kuhns, Gabi Taentzer Email:

More information

Object-Oriented Theories for Model Driven Architecture

Object-Oriented Theories for Model Driven Architecture Object-Oriented Theories for Model Driven Architecture Tony Clark 1, Andy Evans 2, Robert France 3 1 King s College London, UK, anclark@dcs.kcl.ac.uk, 2 University of York, UK, andye@cs.york.ac.uk, 3 University

More information

SDMX self-learning package No. 5 Student book. Metadata Structure Definition

SDMX self-learning package No. 5 Student book. Metadata Structure Definition No. 5 Student book Metadata Structure Definition Produced by Eurostat, Directorate B: Statistical Methodologies and Tools Unit B-5: Statistical Information Technologies Last update of content December

More information

A UML-based Methodology for Hypermedia Design

A UML-based Methodology for Hypermedia Design A UML-based Methodology for Hypermedia Design Rolf Hennicker, Nora Koch,2 Institute of Computer Science Ludwig-Maximilians University of Munich Oettingenstr. 67, D-80538 München, Germany {hennicke,kochn}@informatik.uni-muenchen.de

More information

Runtime Models as Interfaces for Adapting Software Systems

Runtime Models as Interfaces for Adapting Software Systems Runtime Models as Interfaces for Adapting Software Systems Seminar on Software Engineering for Self-Adaptive Systems Schloss Dagstuhl, October 24-29, 2010 Thomas Vogel System Analysis and Modeling Group

More information

Requirements Modelling and Software Systems Implementation Using Formal Languages

Requirements Modelling and Software Systems Implementation Using Formal Languages Requirements Modelling and Software Systems Implementation Using Formal Languages Radek Kočí Brno University of Technology, Faculty of Information Technology Czech Republic koci@fit.vutbr.cz ICSEA 2018,

More information

A Model-Based Development Method for Device Drivers

A Model-Based Development Method for Device Drivers A Model-Based Development Method for Device Drivers Michael Kersten Siemens AG Otto-Hahn-Ring 6 D-81739 München Ulrich Margull 1 mal 1 Software GmbH Maxstr. 31 D-90762 Fürth Nikolaus Regnat Siemens AG

More information

Formal Verification for safety critical requirements From Unit-Test to HIL

Formal Verification for safety critical requirements From Unit-Test to HIL Formal Verification for safety critical requirements From Unit-Test to HIL Markus Gros Director Product Sales Europe & North America BTC Embedded Systems AG Berlin, Germany markus.gros@btc-es.de Hans Jürgen

More information

Challenges in Model Refactoring

Challenges in Model Refactoring Challenges in Model Refactoring Tom Mens, University of Mons-Hainaut, Belgium tom.mens@umh.ac.be Gabriele Taentzer, Dirk Müller, Philipps-Universität Marburg, Germany {taentzer,dmueller}@mathematik.uni-marburg.de

More information

Joint Entity Resolution

Joint Entity Resolution Joint Entity Resolution Steven Euijong Whang, Hector Garcia-Molina Computer Science Department, Stanford University 353 Serra Mall, Stanford, CA 94305, USA {swhang, hector}@cs.stanford.edu No Institute

More information

Generating Executable BPEL Code from BPMN Models

Generating Executable BPEL Code from BPMN Models Generating Executable BPEL Code from BPMN Models Márk Asztalos, Tamás Mészáros, László Lengyel Budapest University of Technology and Economics Department of Automation and Applied Informatics {asztalos,

More information

Graph-Transformation Based Support for Model Evolution

Graph-Transformation Based Support for Model Evolution Graph-Transformation Based Support for Model Evolution Tom Mens 1 Software Engineering Lab, Université de Mons-Hainaut Av. du champ de Mars 6, 7000 Mons, Belgium tom.mens@umh.ac.be Abstract. During model-driven

More information

Substitution in Structural Operational Semantics and value-passing process calculi

Substitution in Structural Operational Semantics and value-passing process calculi Substitution in Structural Operational Semantics and value-passing process calculi Sam Staton Computer Laboratory University of Cambridge Abstract Consider a process calculus that allows agents to communicate

More information

Triple Graph Grammars: Concepts, Extensions, Implementations, and Application Scenarios

Triple Graph Grammars: Concepts, Extensions, Implementations, and Application Scenarios Triple Graph Grammars: Concepts, Extensions, Implementations, and Application Scenarios Technical Report tr-ri-07-284 Ekkart Kindler and Robert Wagner Department of Computer Science University of Paderborn

More information

A Formal Resolution Strategy for Operation-Based Conflicts in Model Versioning Using Graph Modifications

A Formal Resolution Strategy for Operation-Based Conflicts in Model Versioning Using Graph Modifications A Formal Resolution Strategy for Operation-Based Conflicts in Model Versioning Using Graph Modifications Hartmut Ehrig 1, Claudia Ermel 1 and Gabriele Taentzer 2 1 Technische Universität Berlin, Germany

More information

Managing Model and Meta-Model Components with Export and Import Interfaces

Managing Model and Meta-Model Components with Export and Import Interfaces Managing Model and Meta-Model Components with Export and Import Interfaces Daniel Strüber, Stefan Jurack, Tim Schäfer, Stefan Schulz, Gabriele Taentzer Philipps-Universität Marburg, Germany, {strueber,sjurack,timschaefer,schulzs,taentzer}

More information

Detecting and Resolving Model Inconsistencies Using Transformation Dependency Analysis

Detecting and Resolving Model Inconsistencies Using Transformation Dependency Analysis Detecting and Resolving Model Inconsistencies Using Transformation Dependency Analysis Tom Mens 1, Ragnhild Van Der Straeten 2, and Maja D Hondt 3 1 Software Engineering Lab, Université de Mons-Hainaut

More information

Capturing and Formalizing SAF Availability Management Framework Configuration Requirements

Capturing and Formalizing SAF Availability Management Framework Configuration Requirements Capturing and Formalizing SAF Availability Management Framework Configuration Requirements A. Gherbi, P. Salehi, F. Khendek and A. Hamou-Lhadj Electrical and Computer Engineering, Concordia University,

More information

The Analysis and Proposed Modifications to ISO/IEC Software Engineering Software Quality Requirements and Evaluation Quality Requirements

The Analysis and Proposed Modifications to ISO/IEC Software Engineering Software Quality Requirements and Evaluation Quality Requirements Journal of Software Engineering and Applications, 2016, 9, 112-127 Published Online April 2016 in SciRes. http://www.scirp.org/journal/jsea http://dx.doi.org/10.4236/jsea.2016.94010 The Analysis and Proposed

More information

Existing Model Metrics and Relations to Model Quality

Existing Model Metrics and Relations to Model Quality Existing Model Metrics and Relations to Model Quality Parastoo Mohagheghi, Vegard Dehlen WoSQ 09 ICT 1 Background In SINTEF ICT, we do research on Model-Driven Engineering and develop methods and tools:

More information

MERGING BUSINESS VOCABULARIES AND RULES

MERGING BUSINESS VOCABULARIES AND RULES MERGING BUSINESS VOCABULARIES AND RULES Edvinas Sinkevicius Departament of Information Systems Centre of Information System Design Technologies, Kaunas University of Lina Nemuraite Departament of Information

More information

Chapter 8: Enhanced ER Model

Chapter 8: Enhanced ER Model Chapter 8: Enhanced ER Model Subclasses, Superclasses, and Inheritance Specialization and Generalization Constraints and Characteristics of Specialization and Generalization Hierarchies Modeling of UNION

More information

Pattern-Oriented Development with Rational Rose

Pattern-Oriented Development with Rational Rose Pattern-Oriented Development with Rational Rose Professor Peter Forbrig, Department of Computer Science, University of Rostock, Germany; Dr. Ralf Laemmel, Department of Information Management and Software

More information

Model-based a-posteriori integration of engineering tools for incremental development processes

Model-based a-posteriori integration of engineering tools for incremental development processes Softw Syst Model (2005) 4: 123 140 / Digital Object Identifier (DOI) 10.1007/s10270-004-0071-0 Model-based a-posteriori integration of engineering tools for incremental development processes Simon M. Becker,

More information

Enhancing validation with Prototypes out of Requirements Model

Enhancing validation with Prototypes out of Requirements Model Enhancing validation with Prototypes out of Requirements Model Michael Deynet, Sabine Niebuhr, Björn Schindler Software Systems Engineering, Clausthal University of Technology, 38678 Clausthal-Zellerfeld,

More information

Improving the Usability of a Graph Transformation Language

Improving the Usability of a Graph Transformation Language Electronic Notes in Theoretical Computer Science 152 (2006) 207 222 www.elsevier.com/locate/entcs Improving the Usability of a Graph Transformation Language Attila Vizhanyo 1, Sandeep Neema, Feng Shi,

More information

Proceedings of the 6th Educators Symposium: Software Modeling in Education at MODELS 2010 (EduSymp 2010)

Proceedings of the 6th Educators Symposium: Software Modeling in Education at MODELS 2010 (EduSymp 2010) Electronic Communications of the EASST Volume X (2010) Proceedings of the 6th Educators Symposium: Software Modeling in Education at MODELS 2010 (EduSymp 2010) m2n: Translating Models to Natural Language

More information

A Meta-Model for Fact Extraction from Delphi Source Code

A Meta-Model for Fact Extraction from Delphi Source Code Electronic Notes in Theoretical Computer Science 94 (2004) 9 28 www.elsevier.com/locate/entcs A Meta-Model for Fact Extraction from Delphi Source Code Jens Knodel and G. Calderon-Meza 2 Fraunhofer Institute

More information

Using Component-oriented Process Models for Multi-Metamodel Applications

Using Component-oriented Process Models for Multi-Metamodel Applications Using Component-oriented Process Models for Multi-Metamodel Applications Fahad R. Golra Université Européenne de Bretagne Institut Télécom / Télécom Bretagne Brest, France Email: fahad.golra@telecom-bretagne.eu

More information

Model Driven Engineering (MDE)

Model Driven Engineering (MDE) Model Driven Engineering (MDE) Yngve Lamo 1 1 Faculty of Engineering, Bergen University College, Norway 26 April 2011 Ålesund Outline Background Software Engineering History, SE Model Driven Engineering

More information

* Corresponding Author

* Corresponding Author A Model Driven Architecture for REA based systems Signe Ellegaard Borch, Jacob Winther Jespersen, Jesper Linvald, Kasper Østerbye* IT University of Copenhagen, Denmark * Corresponding Author (kasper@it-c.dk)

More information

DSM model-to-text generation: from MetaDepth to Android with EGL

DSM model-to-text generation: from MetaDepth to Android with EGL DSM model-to-text generation: from MetaDepth to Android with EGL Rafael Ugaz Antwerp University (Belgium), rafaelugaz@gmail.com Abstract This article describes the process of a specific model-to-text transformation

More information

UML PROFILING AND DSL

UML PROFILING AND DSL UML PROFILING AND DSL version 17.0.1 user guide No Magic, Inc. 2011 All material contained herein is considered proprietary information owned by No Magic, Inc. and is not to be shared, copied, or reproduced

More information

Rule Chains Coverage for Testing QVT-Relations Transformations

Rule Chains Coverage for Testing QVT-Relations Transformations Rule Chains Coverage for Testing QVT-Relations Transformations Daniel Calegari and Andrea Delgado Instituto de Computación, Facultad de Ingeniería, Universidad de la República, 11300 Montevideo, Uruguay

More information

Consistency-Preserving Edit Scripts in Model Versioning

Consistency-Preserving Edit Scripts in Model Versioning Consistency-Preserving Edit Scripts in Model Versioning Technical Report 2013-11-12 Timo Kehrer, Udo Kelter Department Elektrotechnik und Informatik Universität Siegen, Germany Gabriele Taentzer Fachbereich

More information

Motivation: Model-driven. driven Engineering. Semantics of Model Transformation. Reiko Heckel University of Leicester, UK

Motivation: Model-driven. driven Engineering. Semantics of Model Transformation. Reiko Heckel University of Leicester, UK Semantics of Model Transformation Reiko Heckel University of Leicester, UK, University of Birmingham, 1 March 2007 Motivation: Model-driven driven Engineering Focus and primary artifacts are models instead

More information

HenshinTGG: TGG-Extension of HenshinEMF

HenshinTGG: TGG-Extension of HenshinEMF HenshinTGG: TGG-Extension of HenshinEMF BANFF Bidirectional Transformations 05-DECEMBER-203 Frank Hermann, frank.hermann@uni.lu SECAN-Lab Interdisciplinary Centre for Security, Reliability and Trust Université

More information

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN NOTES ON OBJECT-ORIENTED MODELING AND DESIGN Stephen W. Clyde Brigham Young University Provo, UT 86402 Abstract: A review of the Object Modeling Technique (OMT) is presented. OMT is an object-oriented

More information

Introduction to AGG and EMF Tiger by Modeling a Conference Scheduling System

Introduction to AGG and EMF Tiger by Modeling a Conference Scheduling System Int J Softw Tools Technol Transfer (2009) manuscript No. (will be inserted by the editor) Introduction to AGG and EMF Tiger by Modeling a Conference Scheduling System Enrico Biermann Claudia Ermel Leen

More information

Developing Web-Based Applications Using Model Driven Architecture and Domain Specific Languages

Developing Web-Based Applications Using Model Driven Architecture and Domain Specific Languages Proceedings of the 8 th International Conference on Applied Informatics Eger, Hungary, January 27 30, 2010. Vol. 2. pp. 287 293. Developing Web-Based Applications Using Model Driven Architecture and Domain

More information