VMTS Solution of Case Study: Reverse Engineering
|
|
- Joanna Sullivan
- 6 years ago
- Views:
Transcription
1 VMTS Solution of Case Study: Reverse Engineering László Angyal, Tamás Vajk, and Gergely Mezei Budapest University of Technology and Economics, Budapest 1111, Hungary, WWW home page: Abstract. Model-driven software development makes models and model transformations first-class citizens in software development. Program code and corresponding models evolve parallelly, thus round-trip engineering is highly required. Program code to model transformation plays a key role in program comprehension and examination as examining models is simpler than processing program code. In this paper, we introduce our solution to the reverse engineering case at GraBaTs 09 tool contest, in which filtering and transformation tasks have been proposed. The given solution utilizes model transformation described by graph transformation rules and a control flow language. 1 Introduction Model-driven software development approaches (for example Model-Integrated Computing and OMG s Model-Driven Architecture) emphasize the use of models at all stages of system development. They have placed model-based approaches to software development into focus. Model transformations appear in many, different situations in a model-based development process. Model-based development and model-based environments are driven by model transformations. Our environment, Visual Modeling and Transformation System (VMTS) [1] supports editing models according to their metamodels, and allows specifying constraints written in textual languages, such as OCL and C#. Models are formalized as directed, labeled graphs. VMTS uses a simplified class diagram for its root metamodel ( visual vocabulary ). VMTS not only facilitates rapid modeling language development and modeling, but also efficient model processing techniques. There are two main means to access the models: (i) traversing model processors and (ii) visual model processors. Traversing processors access the models via an automatically generated, object-oriented programming interface. It usually traverses the model graph, and the processing code is described in a general purpose language. In VMTS, the graph rewriting based transformations are defined with the use of two modeling languages: the Visual Control Flow Language (VCFL) and the Visual Transformation Definition Language (VTDL). The activity diagram-like VCFL models control the execution order of the rewriting rules, while the rewriting rules are
2 expressed with VTDL models. These VTDL models define the searched (left hand side, LHS) pattern and the replacement (right hand side, RHS) pattern of a rewriting rule. Actually in VMTS the LHS and the RHS patterns are merged into a single model. Our transformation engine applies an instance-based matcher with both OCL and C# script support for constraint definition. In case of this engine, both the control flow models and the rewriting rules are processed with traversing processors and converted into executable code. With this technique VMTS model transformation engine represents a performance efficient model processing environment. 2 Problem Interpretation This paper is based on a case study for the GraBaTs 09 contest. In the case description [2], three main tasks have been given to perform different analysis on models of Java source code. The first task is to find all the type definitions that contains factory methods, meaning public, static methods that return instances of the given type. The second task is to provide a transformation that translates a sample Java method body into a control-flow model. Finally, the third task is to convert the previously created control-flow model into a program dependency graph (PDG). The aim of these tasks is to facilitate program comprehension with generating the necessary models. The given tasks test the scalability of the utilized tool and that whether it is capable of working on several models corresponding to different metamodels. In this paper, we provide solutions for the first two problems cases. 3 Solution In this section, the solutions to the filtering and the program code to control-flow transformation are given. 3.1 Filtering Query In our tool, filtering the given input model is performed with the transformation rule depicted in Fig. 1. The illustrated rule matches a TypeDeclaration containing a SimpleName and a MethodDeclaration. VMTS matches only those method declaration elements that contains two Modifier elements: a public and a static one. These constraints are given in C# illustrated in Fig. 2. Furthermore, the method declaration matched needs to have a SimpleType as return type with a SimpleName element. A constraint has been given to check that the name of the return type equals the name of the type declaration (see Fig. 2). Finally, the rule copies the type declaration and its name to the output model. (Actually, the output model is not saved in the transformation, only the fullyqualifiedname attribute value is written to the console.)
3 Fig. 1. Filter rule in VMTS PublicModifier.Attributes.Ecpublic == true PublicModifier.Attributes.Ecstatic == true TypeName.Attributes.EcfullyQualifiedName == SimpleName.Attributes.EcfullyQualifiedName Fig. 2. Constraints in the filter transformation rule 3.2 Control-Flow Transformation In order to perform the Control-Flow transformation, we have created a sample instance model, a small piece of code taken from [2], that corresponds to the Java AST metamodel. The input model represented in textual form is as follows: prod = 1; k= 1; while(k<=10) { prod = prod *k; k++; } System.out.print(k); System.out.print(prod); In our tool, the computation of the CFG for the example was solved by 10 transformation rules depicted in Fig. 3. The algorithm implemented by the graph transformation rules is elaborated in Fig. 4. We have used four global transformation variables (called storages in VMTS) to store states of the processing and in order to implement a Breath-First Search traversal of the AST model. The idea behind the CFG building is the repetitive insertion of nodes between the previously inserted node PrevNode (AbstractNode) and the last node NextNode (AbstractNode) of the statement block BlockToProcess (Block). When inserting an IterationNode (e.g. While cycle) into the CFG, it will be added to the list
4 of special nodes: ComplexNodes. The inner blocks of nodes contained by ComplexNodes are also processed by setting the BlockToProcess and starting again while there are unprocessed statements. The presented algorithm can be easily completed to support all kinds of special nodes: conditional and iteration and jump statements as well. Fig. 3. The control flow of the graph transformation rules The rule illustrated in Fig. 5 is the transformation step InsertRule that is responsible for inserting a new Node into the CFG container between the two connected nodes, the Previous and the Next. The existing outgoing edge (a) is reconnected (b) to the newly inserted node and a new CFG flow edge (c) is also created. The inserted Node will store the statement from which it was created (using a custom property Tag provided for each node and edge in VMTS). 4 Conclusions and Results This paper has presented the VMTS-based solution for the querying transformations executed on the Java input models. The given filtering solution returns the name of the types that contains factory methods. (Apt6Plugin for the first input and Apt6Plugin and AptUIPlugin for the second input) Performance measurements have been executed on an Intel Core 2 Duo E8400 3GHz machine with 4 GB of memory and Windows Vista Business operating system. The measured results are illustrated in Table 1.
5 1 Create Enter, Exit and CFGraph container nodes 2 Set PrevNode = Enter, NextNode = Exit 3 Set BlockToProcess = the body block of the method 4 Set ComplexNodes = Empty List 5 6 While there is unprocessed statement in BlockToProcess 7 ForEach statement in BlockToProcess 8 9 If (statement == "WhileStatement") 10 Create IterationNode between PrevNode and NextNode 11 Add IterationNode into ComplexNodes 12 Set PrevNode = IterationNode Else if (PrevNode == NextNode) 15 Insert new Node into the SelfLoop edge of PrevNode Else if (PrevNode!= NextNode) 18 Create Node between PrevNode and NextNode ForEach expression in statement 21 Create Expression into Node 22 Set Expression.isIdentifier = (expression == "FieldAccess") ForEach innerexpression that can be reached from expression 25 Create Expression into its parentexpression 26 Set Expression.isIdentifier = (innerexpression == "FieldAccess") If (ComplexNodes!= Empty List) 29 Set ComplexNode = ComplexNodes.First() If (ComplexNode == WhileStatement) 32 Create a SelfLoop edge to ComplexNode 33 Set BlockToProcess = body block of ComplexNode 34 Set NextNode = PrevNode = ComplexNode Restore all modified Statements and Expressions in the Java model Fig. 4. The Java to CFG algorithm we have implemented by graph rewriting Fig. 5. Insert new Node rule
6 Table 1. Measured performance Load time (s) Execution time (s) Used memory (MB) Input Input Input 3 out of memory after Solving Task 2 demonstrates that our tool can work with different source and target metamodels: from a Java code model its Control-Flow Graph (CFG) can be computed. However, without a specific visualization engine (a plugin) for this CFG metamodel, the output models can only be viewed through the Abstract Syntax Visualization Plugin of VMTS. Fig. 6 depicts the computed output CFG with a manually created layout. This CFG model is suitable to be an input model for a Program Dependency Graph computation. Acknowledgment Fig. 6. Output CFG computed from the sample Java code The fund of Mobile Innovation Centre has partly supported the activities described in this paper. VMTS environment utilizes the user interface controls developed by Infragistics. References 1. VMTS Team, Visual Modeling and Transformation System website Jean-Sbastien Sottet and Frdric Jouault, Program Comprehension. grabats2009reverseengineering.pdf.
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 informationVisual 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 informationCREATING SORTED LIST FOR SIMULINK MODELS WITH GRAPH TRANSFORMATION
CREATING SORTED LIST FOR SIMULINK MODELS WITH GRAPH TRANSFORMATION Péter Fehér (a), Tamás Mészáros (a), Pieter J. Mosterman (b) and László Lengyel (a) (a) Department of Automation and Applied Informatics
More informationTermination 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 informationAn AmmA/ATL Solution for the GraBaTs 2009 Reverse Engineering Case Study
n mm/tl Solution for the GraaTs 2009 Reverse Engineering Case Study Frédéric Jouault and Jean-Sébastien Sottet INRI Centre Rennes retagne tlantique, Ecole des Mines de Nantes 4, rue lfred Kastler, 44307,
More informationProceedings of the Second International Workshop on Graph and Model Transformation (GraMoT 2006)
Electronic Communications of the EASST Volume 4 (2006) Proceedings of the Second International Workshop on Graph and Model Transformation (GraMoT 2006) A Model Transformation for Automated Concrete Syntax
More informationOn Open Source Tools for Behavioral Modeling and Analysis with fuml and Alf
Open Source Software for Model Driven Engineering 2014 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,
More informationThe TTC 2011 Reengineering Challenge Using MOLA and Higher-Order Transformations
The TTC 2011 Reengineering Challenge Using MOLA and Higher-Order Transformations Agris Sostaks, Elina Kalnina, Audris Kalnins, Edgars Celms, and Janis Iraids Institute of Computer Science and Mathematics,
More informationFlattening Virtual Simulink Subsystems with Graph Transformation
Flattening Virtual Simulink Subsystems with Graph Transformation Péter Fehér 1, Tamás Mészáros 1, Pieter J. Mosterman 2, and László Lengyel 1 1 Department of Automation and Applied Informatics Budapest
More informationTowards 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 informationAttribute Algebra for N-layer Metamodeling
Proceedings of the 7th WSEAS International Conference on Applied Informatics and Communications, Athens, Greece, August 24-26, 2007 142 Attribute Algebra for N-layer Metamodeling GERGELY MEZEI, TIHAMÉR
More informationIntroduction 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 informationIntroduction to EGF. Benoît Langlois / Thales Global Services.
www.thalesgroup.com Introduction to EGF Benoît Langlois / Thales Global Services 2 / Agenda Introduction EGF Architecture Concepts & Practice EGF Portfolios 3 / Agenda Introduction EGF Architecture Concepts
More informationA GrGen.NET solution of the Model Migration Case for the Transformation Tool Contest 2010
A GrGen.NET solution of the Model Migration Case for the Transformation Tool Contest 2010 Sebastian Buchwald Edgar Jakumeit June 3, 2010 1 Introduction The challenge of the Model Migration Case [1] is
More informationBPMN 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 informationStart Up Benoît Langlois / Thales Global Services Eclipse (EMFT) EGF 2011 by Thales; made available under the EPL v1.
www.thalesgroup.com Start Up Benoît Langlois / Thales Global Services 2 / Introduction EGF Architecture Concepts & Practice EGF Portfolios 3 / Introduction EGF Architecture Concepts & Practice EGF Portfolios
More informationData Type Propagation in Simulink Models with Graph Transformation
Data Type Propagation in Simulink Models with Graph Transformation Péter Fehér, Tamás Mészáros and László Lengyel Department of Automation and Applied Informatics Budapest University of Technology and
More informationCSE 12 Abstract Syntax Trees
CSE 12 Abstract Syntax Trees Compilers and Interpreters Parse Trees and Abstract Syntax Trees (AST's) Creating and Evaluating AST's The Table ADT and Symbol Tables 16 Using Algorithms and Data Structures
More informationIntroduction to PHP. Handling Html Form With Php. Decisions and loop. Function. String. Array
Introduction to PHP Evaluation of Php Basic Syntax Defining variable and constant Php Data type Operator and Expression Handling Html Form With Php Capturing Form Data Dealing with Multi-value filed Generating
More informationADT: Eclipse development tools for ATL
ADT: Eclipse development tools for ATL Freddy Allilaire (freddy.allilaire@laposte.net) Tarik Idrissi (tarik.idrissi@laposte.net) Université de Nantes Faculté de Sciences et Techniques LINA (Laboratoire
More informationTiger 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 informationComputation 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 informationAADL Graphical Editor Design
AADL Graphical Editor Design Peter Feiler Software Engineering Institute phf@sei.cmu.edu Introduction An AADL specification is a set of component type and implementation declarations. They are organized
More informationS/W Programming & Languages
S/W Programming & Languages Overview Programming five steps Five generations High-level programming Object-oriented programming Internet programming 2 Programming What are the five steps of the programdevelopment
More informationBeginning To Define ebxml Initial Draft
Beginning To Define ebxml Initial Draft File Name Version BeginningToDefineebXML 1 Abstract This document provides a visual representation of how the ebxml Architecture could work. As ebxml evolves, this
More informationUNIT II. Syllabus. a. An Overview of the UML: Visualizing, Specifying, Constructing, Documenting
UNIT II Syllabus Introduction to UML (08 Hrs, 16 Marks) a. An Overview of the UML: Visualizing, Specifying, Constructing, Documenting b. Background, UML Basics c. Introducing UML 2.0 A Conceptual Model
More informationObject-Oriented Identifier Renaming Correction in Three-Way Merge
Object-Oriented Identifier Renaming Correction in Three-Way Merge László Angyal, László Lengyel, Hassan Charaf Department of Automation and Applied Informatics Budapest University of Technology and Economics
More informationJava Refactoring Case: a VIATRA Solution
Java Refactoring Case: a VIATRA Solution Dániel Stein Gábor Szárnyas István Ráth Budapest University of Technology and Economics Department of Measurement and Information Systems H-1117 Magyar tudósok
More information3rd Lecture Languages for information modeling
3rd Lecture Languages for information modeling Agenda Languages for information modeling UML UML basic concepts Modeling by UML diagrams CASE tools: concepts, features and objectives CASE toolset architecture
More informationSoftware 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 informationBPMN2BPEL transformation with Fujaba - a Case Study
BPMN2BPEL transformation with Fujaba - a Case Study Ruben Jubeh SE, Kassel University Wilhelmshöher Allee 73 34121 Kassel ruben.jubeh@uni-kassel.de ABSTRACT We have modeled a BPMN to BPEL synthesis transformation
More informationLocal 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 informationModel 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 informationA 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 informationLab 09: Advanced SQL
CIS395 - BMCC - Spring 2018 04/25/2018 Lab 09: Advanced SQL A - Use Simple Loops with EXIT Conditions In this exercise, you use the EXIT condition to terminate a simple loop, and a special variable, v_counter,
More informationDetecting 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 informationIntegration With the Business Modeler
Decision Framework, J. Duggan Research Note 11 September 2003 Evaluating OOA&D Functionality Criteria Looking at nine criteria will help you evaluate the functionality of object-oriented analysis and design
More informationScience of Computer Programming. Aspect-oriented model-driven skeleton code generation: A graph-based transformation approach
Science of Computer Programming 75 (2010) 689 725 Contents lists available at ScienceDirect Science of Computer Programming journal homepage: www.elsevier.com/locate/scico Aspect-oriented model-driven
More informationPattern 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 informationMetaprogrammable Toolkit for Model-Integrated Computing
Metaprogrammable Toolkit for Model-Integrated Computing Akos Ledeczi, Miklos Maroti, Gabor Karsai and Greg Nordstrom Institute for Software Integrated Systems Vanderbilt University Abstract Model-Integrated
More informationModel Abstraction versus Model to Text Transformation
Model Abstraction versus Model to Text Transformation Jon Oldevik, Tor Neple, Jan Øyvind Aagedal SINTEF Information and Communication Technology, Forskningsvn 1, N-0314 Oslo, Norway {jon.oldevik tor.neple
More informationchallenges in domain-specific modeling raphaël mannadiar august 27, 2009
challenges in domain-specific modeling raphaël mannadiar august 27, 2009 raphaël mannadiar challenges in domain-specific modeling 1/59 outline 1 introduction 2 approaches 3 debugging and simulation 4 differencing
More informationMetamodeling. 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 informationCMSC 330: Organization of Programming Languages. Context Free Grammars
CMSC 330: Organization of Programming Languages Context Free Grammars 1 Architecture of Compilers, Interpreters Source Analyzer Optimizer Code Generator Abstract Syntax Tree Front End Back End Compiler
More informationWhile Loops A while loop executes a statement as long as a condition is true while condition: statement(s) Statement may be simple or compound Typical
Recommended Readings Chapter 5 Topic 5: Repetition Are you saying that I am redundant? That I repeat myself? That I say the same thing over and over again? 1 2 Repetition So far, we have learned How to
More informationLL(k) Parsing. Predictive Parsers. LL(k) Parser Structure. Sample Parse Table. LL(1) Parsing Algorithm. Push RHS in Reverse Order 10/17/2012
Predictive Parsers LL(k) Parsing Can we avoid backtracking? es, if for a given input symbol and given nonterminal, we can choose the alternative appropriately. his is possible if the first terminal of
More informationComputer Science at Kent
Computer Science at Kent YATL: Yet Another Transformation Language - Reference Manual Version 1.0 Octavian Patrascoiu Technical Report No. 2-04 March 2004 Copyright 2004 University of Kent at Canterbury
More informationBetweenness Metric Dmitry Vyukov November 1, 2010
Problem Statement Betweenness Metric Dmitry Vyukov mailto:dvyukov@gmail.com November 1, 2010 Betweenness is a metric applied to a vertex within a weighted graph. For the purposes of this problem we will
More informationIntermediate Code Generation
Intermediate Code Generation In the analysis-synthesis model of a compiler, the front end analyzes a source program and creates an intermediate representation, from which the back end generates target
More informationNooJ Graphical User Interfaces Modernization
NooJ Graphical User Interfaces Modernization Z. Gotti, S. Mbarki, S. Gotti and N. Laaz MISC Laboratory, Faculty of Science, Ibn Tofail University Kenitra, MOROCCO Plan Introduction Context Contribution
More informationChallenges for advanced domain-specific modeling. István Ráth. Budapest University of Technology and Economics
Challenges for advanced domain-specific modeling frameworks István Ráth Dániel Varró Department of Measurement and Information Systems Department of Measurement and Information Systems Budapest University
More informationExecutive Summary. Round Trip Engineering of Space Systems. Change Log. Executive Summary. Visas
Reference: egos-stu-rts-rp-1002 Page 1/7 Authors: Andrey Sadovykh (SOFTEAM) Contributors: Tom Ritter, Andreas Hoffmann, Jürgen Großmann (FHG), Alexander Vankov, Oleg Estekhin (GTI6) Visas Surname - Name
More informationIntroduction to Dependable Systems: Meta-modeling and modeldriven
Introduction to Dependable Systems: Meta-modeling and modeldriven development http://d3s.mff.cuni.cz CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics 3 Software development Automated software
More informationSmall is Beautiful Building a flexible software factory using small DSLs and Small Models
Small is Beautiful Building a flexible software factory using small DSLs and Small Models Jos Warmer Partner, Ordina jos.warmer@ordina.nl 1 Modeling Maturity Levels MML 0: No specification MML 1: Textual
More informationDeveloping 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 informationTextbook. Topic 5: Repetition. Types of Loops. Repetition
Textbook Topic 5: Repetition Are you saying that I am redundant? That I repeat myself? That I say the same thing over and over again? Strongly Recommended Exercises The Python Workbook: 64, 69, 74, and
More informationAdvanced Analytics Healthcare
Healthcare Process Overview The Timeline Overview gives you important information on how healthcare processes are being executed end to end. The top bar also displays the average days, number of unique
More informationRecursive Graph Pattern Matching
Recursive Graph Pattern Matching With Magic Sets and Global Search Plans Gergely Varró 1, Ákos Horváth 2, and Dániel Varró 2 1 Department of Computer Science and Information Theory Budapest University
More informationData Structure. Recitation III
Data Structure Recitation III Topic Binary Search Abstract Data types Java Interface Linked List Binary search Searching a sorted collection is a common task. A dictionary is a sorted list of word definitions.
More informationWhat s New In Portal Release 2? Presented By: Craig Warman - Computer Resource Team, Inc. (USA)
What s New In Portal Release 2? Presented By: Craig Warman - Computer Resource Team, Inc. (USA) Paper Section: 2 Craig s Oracle Portal R2 Frequently Asked Questions What Happened to Content Areas? Do They
More informationFormal 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 informationThe Send keystrokes plugin PRINTED MANUAL
The Send keystrokes plugin PRINTED MANUAL Send keystrokes plugin All rights reserved. No parts of this work may be reproduced in any form or by any means - graphic, electronic, or mechanical, including
More informationMore On Syntax Directed Translation
More On Syntax Directed Translation 1 Types of Attributes We have productions of the form: A X 1 X 2 X 3... X n with semantic rules of the form: b:= f(c 1, c 2, c 3,..., c n ) where b and the c s are attributes
More informationThe Semantic Web Explained
The Semantic Web Explained The Semantic Web is a new area of research and development in the field of computer science, aimed at making it easier for computers to process the huge amount of information
More informationDetecting Code Similarity Using Patterns. K. Kontogiannis M. Galler R. DeMori. McGill University
1 Detecting Code Similarity Using atterns K. Kontogiannis M. Galler R. DeMori McGill University 3480 University St., Room 318, Montreal, Canada H3A 2A7 Abstract Akey issue in design recovery is to localize
More informationHistory of object-oriented approaches
Prof. Dr. Nizamettin AYDIN naydin@yildiz.edu.tr http://www.yildiz.edu.tr/~naydin Object-Oriented Oriented Systems Analysis and Design with the UML Objectives: Understand the basic characteristics of object-oriented
More informationThe UML Extension Mechanisms
Jasmine Farhad Dept of Computer Science University College London 13-Dec-02 The UML Extension Mechanisms Introduction There is an important need for organisations to evolve in today s market. This has
More informationAdvanced Layouts in a Content-Driven Template-Based Layout System
Advanced Layouts in a Content-Driven Template-Based Layout System ISTVÁN ALBERT, HASSAN CHARAF, LÁSZLÓ LENGYEL Department of Automation and Applied Informatics Budapest University of Technology and Economics
More informationAn Overview of GCC Architecture (source: wikipedia) Control-Flow Analysis and Loop Detection
An Overview of GCC Architecture (source: wikipedia) CS553 Lecture Control-Flow, Dominators, Loop Detection, and SSA Control-Flow Analysis and Loop Detection Last time Lattice-theoretic framework for data-flow
More informationA UML 2 Profile for Variability Models and their Dependency to Business Processes
A UML 2 Profile for Variability Models and their Dependency to Business Processes Birgit Korherr and Beate List Women s Postgraduate College for Internet Technologies Institute of Software Technology and
More informationCompiler Optimisation
Compiler Optimisation 3 Dataflow Analysis Hugh Leather IF 1.18a hleather@inf.ed.ac.uk Institute for Computing Systems Architecture School of Informatics University of Edinburgh 2018 Introduction Optimisations
More informationModel-checking with the TimeLine formalism
Model-checking with the TimeLine formalism Andrea Zaccara University of Antwerp Andrea.Zaccara@student.uantwerpen.be Abstract A logical model checker can be an effective tool for verification of software
More informationDefining Domain-Specific Modeling Languages
Defining Domain-Specific Modeling Languages 1 st Oct 2008 Juha-Pekka Tolvanen MetaCase 1 Relevant language classifications to start with General-Purpose / Domain-Specific Narrow area of interest Often
More informationAn Ontology-Based Methodology for Integrating i* Variants
An Ontology-Based Methodology for Integrating i* Variants Karen Najera 1,2, Alicia Martinez 2, Anna Perini 3, and Hugo Estrada 1,2 1 Fund of Information and Documentation for the Industry, Mexico D.F,
More informationOCL 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 informationStatechart Modeling with Fujaba
GraBaTs 04 Preliminary Version Statechart Modeling with Fujaba Leif Geiger Albert Zündorf University of Kassel, Software Engineering Research Group, Wilhelmshöher Allee 73, 34121 Kassel, Germany {leif.geiger
More informationDetecting Renamings in Three-Way Merging
Detecting Renamings in Three-Way Merging László Angyal, László Lengyel, Hassan Charaf Department of Automation and Applied Informatics Budapest University of Technology and Economics Goldmann György tér
More informationParsing II Top-down parsing. Comp 412
COMP 412 FALL 2018 Parsing II Top-down parsing Comp 412 source code IR Front End Optimizer Back End IR target code Copyright 2018, Keith D. Cooper & Linda Torczon, all rights reserved. Students enrolled
More information* 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 informationBusiness-Driven Software Engineering Lecture 5 Business Process Model and Notation
Business-Driven Software Engineering Lecture 5 Business Process Model and Notation Jochen Küster jku@zurich.ibm.com Agenda BPMN Introduction BPMN Overview BPMN Advanced Concepts Introduction to Syntax
More informationIBM Endpoint Manager Version 9.0. Software Distribution User's Guide
IBM Endpoint Manager Version 9.0 Software Distribution User's Guide IBM Endpoint Manager Version 9.0 Software Distribution User's Guide Note Before using this information and the product it supports,
More informationAdaptive Graph Pattern Matching for Model Transformations using Model-sensitive Search Plans 1
GraMoT 2005 Preliminary Version Adaptive Graph Pattern Matching for Model Transformations using Model-sensitive Search Plans Gergely Varró 2 Katalin Friedl 4 Department of Computer Science and Information
More informationModels in Conflict Towards a Semantically Enhanced Version Control System for Models
Models in Conflict Towards a Semantically Enhanced ersion Control System for Models Kerstin Altmanninger Department of Telecooperation, Johannes Kepler University Linz, Austria kerstin.altmanninger@jku.at
More informationSequence 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 informationOn Using UML Profiles in ATL Transformations
On Using UML Profiles in ATL Transformations Manuel Wimmer and Martina Seidl Business Informatics Group, Vienna University of Technology, Austria {wimmer seidl}@big.tuwien.ac.at Abstract. For defining
More informationMDSE USE CASES. Chapter #3
Chapter #3 MDSE USE CASES Teaching material for the book Model-Driven Software Engineering in Practice by Morgan & Claypool, USA, 2012. www.mdse-book.com MDSE GOES FAR BEYOND CODE-GENERATION www.mdse-book.com
More informationECS 142 Spring Project (part 2): Lexical and Syntactic Analysis Due Date: April 22, 2011: 11:59 PM.
Project (part 2): Lexical and Syntactic Analysis Due Date: April 22, 2011: 11:59 PM. 1 Overview This course requires you to write a compiler that takes a program written in a language, Java, and constructs
More informationThe Data timeout plugin PRINTED MANUAL
The Data timeout plugin PRINTED MANUAL Data timeout plugin All rights reserved. No parts of this work may be reproduced in any form or by any means - graphic, electronic, or mechanical, including photocopying,
More informationi-trade Application FAQs v1.1
i-trade Application FAQs v1.1 1. WHAT IS I-TRADE APPLICATION? 2. WHAT IS SYSTEM REQUIREMENT OF I-TRADE APPLICATION? 3. HOW CAN DISPLAY I-TRADE APPLICATION DIFFERENT LANGUAGE? 4. HOW CAN I IMPROVE THE PERFORMANCE
More informationSysML Past, Present, and Future. J.D. Baker Sparx Systems Ambassador Sparx Systems Pty Ltd
SysML Past, Present, and Future J.D. Baker Sparx Systems Ambassador Sparx Systems Pty Ltd A Specification Produced by the OMG Process SysML 1.0 SysML 1.1 Etc. RFI optional Issued by Task Forces RFI responses
More informationModel-Driven Iterative Development of 3D Web-Applications Using SSIML, X3D and JavaScript
Freiberg University of Mining and Technology The University of Resources. Since 1765. WEB3D 2012-17th International Conference on 3D Web Technology Model-Driven Iterative Development of 3D Web-Applications
More informationThe Aggregator plugin PRINTED MANUAL
The Aggregator plugin PRINTED MANUAL Aggregator plugin All rights reserved. No parts of this work may be reproduced in any form or by any means - graphic, electronic, or mechanical, including photocopying,
More informationA PARSING APPROACH FOR SYSTEM BEHAVIOUR MODELING
IADIS International Conference Applied Computing 2007 A PARSING APPROACH FOR SYSTEM BEHAVIOUR MODELING Lau Sei Ping 1, Wee Bui Lin 2, Nurfauza bt Jali 3 Faculty of Computer Science and Information Technology
More informationA GrGen.NET solution of the Reengineering Case for the Transformation Tool Contest 2011
A GrGen.NET solution of the Reengineering Case for the Transformation Tool Contest 2011 Edgar Jakumeit Sebastian Buchwald May 2, 2011 1 Introduction The challenge of the Reengineering Case [1] is to extract
More informationQuestion 7.11 Show how heapsort processes the input:
Question 7.11 Show how heapsort processes the input: 142, 543, 123, 65, 453, 879, 572, 434, 111, 242, 811, 102. Solution. Step 1 Build the heap. 1.1 Place all the data into a complete binary tree in the
More informationSpoofax: An Extensible, Interactive Development Environment for Program Transformation with Stratego/XT
Spoofax: An Extensible, Interactive Development Environment for Program Transformation with Stratego/XT Karl Trygve Kalleberg 1 Department of Informatics, University of Bergen, P.O. Box 7800, N-5020 BERGEN,
More informationSFilter: A Simple and Scalable Filter for XML Streams
SFilter: A Simple and Scalable Filter for XML Streams Abdul Nizar M., G. Suresh Babu, P. Sreenivasa Kumar Indian Institute of Technology Madras Chennai - 600 036 INDIA nizar@cse.iitm.ac.in, sureshbabuau@gmail.com,
More informationSOFTWARE ENGINEERING UML FUNDAMENTALS. Saulius Ragaišis.
SOFTWARE ENGINEERING UML FUNDAMENTALS Saulius Ragaišis saulius.ragaisis@mif.vu.lt Information source Slides are prepared on the basis of Bernd Oestereich, Developing Software with UML: Object- Oriented
More informationProceedings 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 informationFaculty of Electrical Engineering, Mathematics, and Computer Science Delft University of Technology
Faculty of Electrical Engineering, Mathematics, and Computer Science Delft University of Technology exam Compiler Construction in4020 July 5, 2007 14.00-15.30 This exam (8 pages) consists of 60 True/False
More information