|
|
- Adelia McKinney
- 6 years ago
- Views:
Transcription
1 Rubby Casallas Grupo de Construcción de Software Uniandes 1
2 ATL and OCL Matched Rules Lazy Rules Called Rules ATL Execution modes ATL execution semantics ATL language is based on OMG OCL (Object Constraint Language: data types declarative expressions ATL language is an hybrid Language declarative : matched rules, and called rules body. imperative : called rules and lazy rules (imperatively called action blocks ("do", usable in any rules 2
3 ! Represent the possible instances of the OclType class #! ATL supports: comparison operators: =, <>; oclisundefined(: returns a boolean value stating whether self is undefined; ocliskindof(t : ocltype: returns a boolean value stating whether self is an either an instance of t or of one of its subtypes; oclistypeof(t : ocltype: returns a boolean value stating whether self is an instance of t. " 3
4 ATL and OCL Matched Rules Lazy Rules Called Rules ATL Execution modes ATL execution semantics $ & '( rule rule_name { in_var : in_type [( condition ]? [using { var1 : var_type1 = init_exp1; varn : var_typen = init_expn; ]? to out_var1 : out_type1 ( bindings1, out_var2 : distinct out_type2 foreach(e in collection( bindings2, out_varn : out_typen ( bindingsn [do { statements ]? % 4
5 & '(*( rule rule_name { in_var : in_type [( condition ]? [using { var1 : var_type1 = init_exp1; varn : var_typen = init_expn; ]? p : MMPerson!Person ( p.name = 'Smith' p : MMPerson!Person ( true is equivalent to: p : MMPerson!Person & '(*(,-. rule rule_name { in_var : in_type [( condition ]? [using { var1 : var_type1 = init_exp1; varn : var_typen = init_expn; ]? Local Variables to the rule c : GeometricElement!Circle using { pi : Real = 3.14; area : Real = pi *.radius.square(; + 5
6 & '(( rule Journal2Book { j : Biblio!Journal to b : Biblio!Book ( title <- j.title + '_(' + j.vol + ':' + j.num, authors <- j.articles ->collect(e e.authors->flatten(->asset(, chapters <- j.articles, pagesnb <- j.articles->collect(e e.pagesnb->sum( feature of b & '(( rule Journal2Book { j : Biblio!Journal to b : Biblio!Book ( title <- j.title + '_(' + j.vol + ':' + j.num, authors <- j.articles ->collect(e e.authors->flatten(->asset(, chapters <- j.articles, pagesnb <- j.articles->collect(e e.pagesnb->sum( binding = feature-name <- OCL_expr 6
7 ( /0 (1 rule Journal2Book { j : Biblio!Journal to b : Biblio!Book ( title <- j.title + '_(' + j.vol + ':' + j.num, authors <- j.articles ->collect(e e.authors->flatten(->asset(, chapters <- j.articles, pagesnb <- j.articles->collect(e e.pagesnb->sum( 1. the title of the Book corresponds to the title of the journal concatenated with its volume (vol and its number (num; 2. the chapters of the Book correspond to the model elements that will be generated for the articles of the source Journal; 3. the authors of the Book correspond to the authors of the different articles of the source Journal, without any duplicate; 4. the attribute pagesnb is initialized with the sum of the number of pages (pagesnb of the articles of the source Journal. ( 0 (1 assigning to a reference: 1. a target model element generated by the current rule; 2. the default target model element of another rule; 3. a non-default target model element of another rule. 7
8 ( 0 (1 assigning to a reference: 1. a target model element generated by the current rule; rule Case1 { i : MM_A!ClassA to o_1 : MM_B!Class1 ( linktoclass2 <- o_2, o_2 : MM_B!Class2 ( ( 0 (1 assigning to a reference: 2. the default target model element of another rule; rule Case2_R1 { i : MM_A!ClassA to o_1 : MM_B!Class1 ( linktoclass2 <- i.linktoclassb rule Class2Table { c : Class!Class to out : Relational!Table ( col <- union(c.attr, rule Case2_R2 { i : MM_A!ClassB to o_1 : MM_B!Class2 (, rule DataTypeAttribute2Column { a : Class!Attribute to out : Relational!Column ( name <- a.name, type <- a.type " 8
9 ( 0 (1 assigning to a reference: 3. a non-default target model element of another rule. rule Case2_R1 { i : MM_A!ClassA to o_1 : MM_B!Class1 ( linktoclass2 <- thismodule.resolvetemp(i.linktoclassb, 'o_n' rule Case2_R2 { i : MM_A!ClassB to o_1 : MM_B!Class3 (, o_n : MM_B!Class2 (, $ 0! 2/(3! ( A sequence of ATL imperative statements that are executed after the target initialization helper def : id : Integer = 0; rule Journal2Book { j : Biblio!Journal to b : Biblio!Book ( do { thismodule.id <- thismodule.id + 1; b.id <- thismodule.id; % 9
10 ATL and OCL Matched Rules Lazy Rules Called Rules ATL Execution modes ATL execution semantics 1 ( Imperative rules, called explicitly lazy rule getcross { i: ecore!eobject to rel: metamodel!relationship ( rule Example { s : ecore!eobject to t : metamodel!node ( name <- s.tostring(, edges <- thismodule.getcross(s rule Example { s : ecore!eobject to t : metamodel!node ( name <- s.tostring(, edges <- ecore!eclass.allinstancesfrom('yourmodel'-> collect(e thismodule.getcross(e + 10
11 (( [entrypoint]? rule rule_name(parameters{ [using { var1 : var_type1 = init_exp1; varn : var_typen = init_expn; ]? [ to out_var1 : out_type1 ( bindings1, out_var2 : distinct out_type2 foreach(e in collection ( bindings2, out_varn : out_typen ( bindingsn ]? [do { statements ]? Except for the entrypoint called rule, this kind of rules must be explicitly called an ATL imperative block (( no more than one entry point [entrypoint]? rule rule_name(parameters{ rule_name different any helper name [using { var1 : var_type1 = init_exp1; specified in the same way than for helpers varn : var_typen = init_expn; ]? declare and initialize local variables [ to out_var1 : out_type1 ( bindings1 target pattern, out_var2 : distinct out_type2 foreach(e in collection ( bindings2, out_varn : out_typen ( bindingsn ]? [do { statements ]? 11
12 45& Two different execution modes for ATL modules: Normal (default execution mode: Developer has to specify, (matched or called rules, the way to generate each of the expected target model elements (source metamodel is different target metamodel Refining execution mode Developers can focus on the ATL code dedicated to the generation of modified target elements (similar source and target metamodel &(5 Three phases: a module initialization phase: a matching phase of the source model elements a target model elements initialization phase 12
13 &(5 Three phases: a module initialization phase: first, attributes initialization then, called rule with an entrypoint (if any a matching phase of the source model elements: matching condition are tested with the model elements of the source. if it is matched, ATL engine allocates the set of target model elements a target model elements initialization phase: each allocated target model element is initialized by executing the code of the bindings that are associated 13
Model transformations. Overview of DSLE. Model transformations. Model transformations. The 4-layer architecture
Overview of DSLE Model driven software engineering g in general Grammars, signatures and meta-models DSL Design Code generation Models increase the level of abstraction used for both hardware and software
More informationETL: Epsilon Transformation Language. MISO - Uniandes
ETL: Epsilon Transformation Language MISO - Uniandes 1 References http://www.eclipse.org/epsilon/doc/book/ http://www.eclipse.org/epsilon/examples/ Examples available at the wiki 2 Models are first class
More informationTransforming models with ATL
The ATLAS Transformation Language Frédéric Jouault ATLAS group (INRIA & LINA), University of Nantes, France http://www.sciences.univ-nantes.fr/lina/atl/!1 Context of this work The present courseware has
More informationATL: Atlas Transformation Language. ATL User Manual
ATL: Atlas Transformation Language ATL User Manual - version 0.7 - February 2006 by ATLAS group LINA & INRIA Nantes Content 1 Introduction... 1 2 An Introduction to Model Transformation... 2 2.1 The Model-Driven
More informationQVT: Query, Views, Transformations
QVT: Query, Views, Transformations Rubby Casallas Grupo de Construcción de Software Uniandes Basics Transformations are essential for the MDE A model transformation: takes as input a model conforming to
More informationATL: ATLAS Transformation Language
ATL: ATLAS Transformation Language Rubby Casallas Grupo de Construcción de Software Uniandes 1 Models are first class entities Transformations are models Transformations are assets 2 1 What is ATL? ATL
More informationModel transformations. Model transformations. Model transformations. Model transformations
The initialization of the attributes of a generated target model element by assigning references: Model target element generated by current rule Default target model element generated by another rule Non-default
More informationM. (1) (1) (2) (1) ATLAS
Practice of Model Transformation and Model Weaving in the Eclipse Modeling Project with ATL and AMW Part 1 ATL: the ATLAS Transformation Language Mikaël Barbero (1) Marcos Didonet Del Fabro (1) Juan M.
More informationATL: ATLAS Transformation Language. MISO - Uniandes
ATL: ATLAS Transformation Language MISO - Uniandes 1 Models are first class entities Transformations are models Transformations are assets 2 What is ATL? ATL is a model transformation language (MTL) developed
More informationIntroduction To Model-to-Model Transformation
- 1 - Context of this work The present courseware has been elaborated in the context of the MODELPLEX European IST FP6 project ( http://www.modelplex.org/). Co-funded by the European Commission, the MODELPLEX
More informationUnified Modeling Language 2
Unified Modeling Language 2 Profiles 166 Usage scenarios Metamodel customization for adapting terminology to a specific platform or domain adding (visual) notation adding and specializing semantics adding
More informationRubby Casallas Grupo de Construcción de Software Uniandes
UML OCL 2.0 Rubby Casallas Grupo de Construcción de Software Uniandes Why OCL? A UML diagram, such as a class diagram, is typically not refined enough to provide all the relevant aspects of a specification.
More informationRules and Helpers Dependencies in ATL Technical Report
Rules and Helpers Dependencies in ATL Technical Report Javier Troya 1, Martin Fleck 2, Marouanne Kessentini 3, Manuel Wimmer 2, and Bader Alkhaze 3 1 Department of Computer Languages and Systems, Universidad
More informationATL Transformation. Catalogue of Model Transformations
1. ATL TRANSFORMATION EXAMPLE: REMOVE REDUNDANT CLASSES... 1 2. ATL TRANSFORMATION OVERVIEW... 1 2.1. DESCRIPTION... 1 2.2. PURPOSE... 2 2.3. RULES SPECIFICATION... 2 2.4. ATL CODE... 4 3. REFERENCES...
More informationThe Model Driven Architecture. Dennis Wagelaar Viviane Jonckers Software Languages Lab
The Model Driven Architecture Dennis Wagelaar Viviane Jonckers Software Languages Lab Special session: ( ) The Model Driven Architecture origins, goals concepts Platform, CIM, PIM, PSM... Models and meta-models
More informationATL Transformation. Catalogue of Model Transformations
1. ATL TRANSFORMATION EXAMPLE: REPLACE INHERITANCE BY ASSOCIATION... 1 2. ATL TRANSFORMATION OVERVIEW... 2 2.1. DESCRIPTION... 2 2.2. PURPOSE... 2 2.3. RULES SPECIFICATION... 2 2.4. ATL CODE... 3 3. REFERENCES...
More informationFunctional Programming. Pure Functional Programming
Functional Programming Pure Functional Programming Computation is largely performed by applying functions to values. The value of an expression depends only on the values of its sub-expressions (if any).
More informationSpecification with OCL
Specification with OCL Jurriaan Hage Slides adapted from Birgit Demuth, TU Dresden e-mail: jur@cs.uu.nl homepage: http://www.cs.uu.nl/people/jur/ Department of Information and Computing Sciences, Universiteit
More informationTowards 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 informationATL Demystified and an Introduction to the RPG2Petrinet Experiment
ATL Demystified and an Introduction to the RPG2Petrinet Experiment Daan Janssens daan.janssens@student.uantwerpen.be University of Antwerp Abstract ATL is a fairly well known M2M model transformation language.
More informationAdvanced Traceability for ATL
Advanced Traceability for ATL Andrés Yie 1,2, Dennis Wagelaar 2 1 Grupo de Construcción de Software, Universidad de los Andes, Colombia 2 System and Software Engineering Lab (SSEL), Vrije Universiteit
More informationQuality Assessment of ATL Model Transformations using Metrics
Quality Assessment of ATL Model Transformations using Metrics M.F. van Amstel and M.G.J. van den Brand Department of Mathematics and Computer Science Eindhoven University of Technology, Eindhoven, The
More informationFirst experiments with the ATL model transformation language: Transforming XSLT into XQuery 1. Abstract
First experiments with the ATL model transformation language: Transforming XSLT into XQuery 1 Jean Bézivin (1), Grégoire Dupé (1), Frédéric Jouault (1) (2), Gilles Pitette (2), Jamal Eddine Rougui (1)
More informationRecursion and iteration support in USE Validator with AnATLyzer
USE Validator Jesús Sánchez Cuadrado (jesus.sanchez.cuadrado@uam.es) Miso - http://www.miso.es Universidad Autónoma de Madrid September 30th, 2015 OCL 15@MoDELS - Ottawa Content 1 2 3 4 5 Content 1 2 3
More informationATL Transformation Examples. The KM3 to Metric ATL transformation
s The KM3 to Metric ATL transformation - version 0.1 - September 2005 by ATLAS group LINA & INRIA Nantes Content 1 Introduction... 1 2 The KM3 to Metrics ATL transformation... 1 2.1 Transformation overview...
More informationIndex. business modeling syntax 181 business process modeling 57 business rule 40
OCL.book Page 203 Tuesday, July 22, 2003 9:48 PM Index Symbols OclAny, of 167 = OclAny, of 167 @pre 34, 86, 155 ^ 34, 156 ^^ 157 A abstract syntax 93 accumulator 153 action in statechart 56 activity
More informationMODEL-DRIVEN ENGINEERING (MDE) is a methodology
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING 1 Model Transformation Modularization as a Many-Objective Optimization Problem Martin Fleck, Javier Troya, Marouane Kessentini, Manuel Wimmer and Bader Alkhazi
More informationKerMeta Transformation Rules
INRIA Build date: @BUILD.DATE@ David Touzet KerMeta Transformation Rules Reference manual David Touzet Build date: @BUILD.DATE@ Date: June 2007 Metadata to be filled by the author The metadata gather information
More informationATL TRANSFORMATION EXAMPLE
1. ATL Transformation Example 1.1. Example: KM3 Problem The example describes a transformation a KM3 metamodel [1] in a Problem model. The generated Problem model contains the list of non-structural errors
More informationOCL parsing / type checking in the context of GF and KeY. Kristofer Johannisson
OCL parsing / type checking in the context of GF and KeY Kristofer Johannisson 1 I. Introduction 2 Typechecking? context OwnerPIN inv: maxpinsize > 0 and maxtries > 0 and triesremaining >= 0 and triesremaining
More informationCIS 771: Software Specifications. Lecture 14: Advanced OCL Expressions
CIS 771: Software Specifications Lecture 14: Advanced OCL Expressions Copyright 2001-2002, Matt Dwyer, John Hatcliff, and Rod Howell. The syllabus and all lectures for this course are copyrighted materials
More informationCS 112 Introduction to Computing II. Wayne Snyder Computer Science Department Boston University
9/5/6 CS Introduction to Computing II Wayne Snyder Department Boston University Today: Arrays (D and D) Methods Program structure Fields vs local variables Next time: Program structure continued: Classes
More informationModule superimposition: a composition technique for rule-based model transformation languages
Software & Systems Modeling (will be inserted by the editor) manuscript No. Dennis Wagelaar Ragnhild Van Der Straeten Dirk Deridder Module superimposition: a composition technique for rule-based model
More informationATL Transformation Example
1. ATL Transformation Example: UML2 to Measure The UML2 to Measure example describes measurement on UML2 models, using metrics defined as ATL libraries. 1.1. Transformation Overview The aim of this transformation
More informationOCL omissions and contradictions
OCL omissions and contradictions Edward Willink OCL RTF chair, QVT RTF representative Eclipse OCL Project Lead, Eclipse QVTd Project Lead, OMG ADTF 21st March 2012 Made available under EPL 1.0 Overview
More informationOCL and Concept Model
OCL and Concept Model Jörg Kienzle & Alfred Strohmeier COMP-533 OCL and Concept Model OCL History and Goal Constraints OCL Types Base Types & Operations Collection Types & Operations Navigating UML Diagrams
More informationpairs unpairs pairkeys pairvalues pairfirst pairgrep pairmap
NAME SYNOPSIS List::Util - A selection of general-utility list subroutines use List::Util qw( reduce any all none notall first max maxstr min minstr product sum sum0 pairs unpairs pairkeys pairvalues pairfirst
More informationVisual C# 2012 How to Program by Pe ars on Ed uc ati on, Inc. All Ri ght s Re ser ve d.
Visual C# 2012 How to Program 1 99 2-20 14 by Pe ars on Ed uc ati on, Inc. All Ri ght s Re ser ve d. 1992-2014 by Pearson Education, Inc. All 1992-2014 by Pearson Education, Inc. All Although commonly
More informationExpressions vs statements
Expressions vs statements Every expression results in a value (+side-effects?): 1+2, str.length(), f(x)+1 Imperative prg: Statements have just side-effects, no value: (for, if, break) Assignment is statement/expression
More informationPTL: A Model Transformation Language based on Logic Programming
PTL: A Model Transformation Language based on Logic Programming Jesús M. Almendros-Jiménez and Luis Iribarne University of Almería, SPAIN, {jalmen,luis.iribarne}@ual.es Jesús López-Fernández and Ángel
More informationWhat is OCL? OCL/Context
What is? Software Engineering Lecture 5: Prof. Dr. Peter Thiemann Universität Freiburg SS 20 = object constraint language standard query language of UML 2 specify expressions and constraints in object-oriented
More informationChapter 9. Def: The subprogram call and return operations of a language are together called its subprogram linkage
Def: The subprogram call and return operations of a language are together called its subprogram linkage Implementing FORTRAN 77 Subprograms Call Semantics: 1. Save the execution status of the caller 2.
More informationPrimitive Operators for the Concurrent Execution of Model Transformations Based on LinTra
Primitive Operators for the Concurrent Execution of Model Transformations Based on LinTra Loli Burgueño 1, Eugene Syriani 2, Manuel Wimmer 3, Jeff Gray 2, and Antonio Vallecillo 1 1 Universidad de Málaga,
More informationCS558 Programming Languages
CS558 Programming Languages Fall 2016 Lecture 4a Andrew Tolmach Portland State University 1994-2016 Pragmatics of Large Values Real machines are very efficient at handling word-size chunks of data (e.g.
More informationATL Transformation. Catalogue of Model Transformations
1. ATL TRANSFORMATION EXAMPLE: DISAGGREGATION... 1 2. ATL TRANSFORMATION OVERVIEW... 1 2.1. DESCRIPTION... 1 2.2. PURPOSE... 2 2.3. RULES SPECIFICATION... 2 2.4. ATL CODE... 4 3. REFERENCES... 7 1. ATL
More informationCS558 Programming Languages Winter 2018 Lecture 4a. Andrew Tolmach Portland State University
CS558 Programming Languages Winter 2018 Lecture 4a Andrew Tolmach Portland State University 1994-2018 Pragmatics of Large Values Real machines are very efficient at handling word-size chunks of data (e.g.
More informationATL: Atlas Transformation Language. ATL Transformation Description Template - version 0.1 -
ATL: Atlas Transformation Language ATL Transformation Description Template - version 0.1 - December 2005 by ATLAS group LINA & INRIA Nantes Content 1 Transformation Specification Sheet... 3 2 Transformation
More informationATL Transformation. Catalogue of Model Transformations
1. ATL TRANSFORMATION EXAMPLE: REPLACE ASSOCIATION BY FOREIGN KEY... 1 2. ATL TRANSFORMATION OVERVIEW... 2 2.1. DESCRIPTION... 2 2.2. PURPOSE... 2 2.3. RULES SPECIFICATION... 2 2.4. ATL CODE... 3 3. REFERENCES...
More informationSoftware Engineering
Software Engineering Lecture 15: OCL Peter Thiemann University of Freiburg, Germany 01.07.2013 Peter Thiemann (Univ. Freiburg) Software Engineering 01.07.2013 1 / 28 What is OCL? OCL = Object Constraint
More informationTOWARDS MODEL TRANSFORMATION DESIGN PATTERNS
TOWARDS MODEL TRANSFORMATION DESIGN PATTERNS Jean Bézivin, Frédéric Jouault, Jean Paliès ATLAS Group (INRIA & LINA, University of Nantes) {bezivin frederic.jouault jean.palies}@gmail.com Abstract Keywords:
More informationReactive Model Transformation with ATL
Reactive Model Transformation with ATL Salvador Martinez, Massimo Tisi, Rémi Douence To cite this version: Salvador Martinez, Massimo Tisi, Rémi Douence. Reactive Model Transformation with ATL. Science
More informationOCL Object Constraint Language
PA103 - Object-oriented Methods for Design of Information Systems OCL Object Constraint Language Radek Ošlejšek Fakulta informatiky MU oslejsek@fi.muni.cz Literature The Object Constraint Language (Second
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 informationQuery Language for AADLv2, Jérôme Hugues, ISAE Serban Gheorghe, Edgewater
Query Language for AADLv2, Jérôme Hugues, ISAE Serban Gheorghe, Edgewater Outline 1. Discussion from previous meetings 2. Defining elements for a DSL, inputs from the meta model 3. Defining elements for
More informationCS 3360 Design and Implementation of Programming Languages. Exam 1
1 Spring 2016 (Monday, March 21) Name: CS 3360 Design and Implementation of Programming Languages Exam 1 This test has 18 questions and pages numbered 1 through 6. Reminders This test is closed-notes and
More informationProgramming Languages, Summary CSC419; Odelia Schwartz
Programming Languages, Summary CSC419; Odelia Schwartz Chapter 1 Topics Reasons for Studying Concepts of Programming Languages Programming Domains Language Evaluation Criteria Influences on Language Design
More informationChapter 1. Fundamentals of Higher Order Programming
Chapter 1 Fundamentals of Higher Order Programming 1 The Elements of Programming Any powerful language features: so does Scheme primitive data procedures combinations abstraction We will see that Scheme
More informationToday's Topics. CISC 458 Winter J.R. Cordy
Today's Topics Last Time Semantics - the meaning of program structures Stack model of expression evaluation, the Expression Stack (ES) Stack model of automatic storage, the Run Stack (RS) Today Managing
More informationBucket Sort Puzzlers. 08 A: Sorting IV. CS1102S: Data Structures and Algorithms. Martin Henz. March 12, 2010
08 A: Sorting IV CS1102S: Data Structures and Algorithms Martin Henz March 12, 2010 Generated on Friday 12 th March, 2010, 11:26 CS1102S: Data Structures and Algorithms 08 A: Sorting IV 1 1 2 CS1102S:
More informationXQuery. Leonidas Fegaras University of Texas at Arlington. Web Databases and XML L7: XQuery 1
XQuery Leonidas Fegaras University of Texas at Arlington Web Databases and XML L7: XQuery 1 XQuery Influenced by SQL Based on XPath Purely functional language may access elements from documents, may construct
More informationSQL Part 3: Where Subqueries and other Syntactic Sugar Part 4: Unknown Values and NULLs
SQL Part 3: Where Subqueries and other Syntactic Sugar Part 4: Unknown Values and NULLs 1-1 List of Slides 1 2 More on "where" conditions 3 Esoteric Predicates: Example 4 WHERE Subqueries 5 Overview of
More informationA general introduction to Functional Programming using Haskell
A general introduction to Functional Programming using Haskell Matteo Rossi Dipartimento di Elettronica e Informazione Politecnico di Milano rossi@elet.polimi.it 1 Functional programming in a nutshell
More informationATL Transformation Example
1. ATL Transformation Example: Table to SVGBarChart The Table to SVGBarChart example describes a transformation from a Table model to a SVG file containing several bar chart representations. 1.1. Transformation
More informationModel Querying with Graphical Notation of QVT Relations
Model Querying with Graphical Notation of QVT Relations Dan LI, Xiaoshan LI Faculty of Science and Technology, University of Macau Volker Stolz University of Oslo, Norway Agenda! Motivation! QVT Relations
More informationCS 381: Programming Language Fundamentals
CS 381: Programming Language Fundamentals Summer 2017 Semantics July 12, 2017 Outline What is semantics? Semantics of naming 2 Why do we need semantics? Understand what program constructs do Judge the
More informationTowards Automatic Model Synchronization from Model Transformations
Towards Automatic Model Synchronization from Model Transformations Yingfei Xiong 1,2, Dongxi Liu 1, Zhenjiang Hu 1, Haiyan Zhao 2, Masato Takeichi 1 and Hong Mei 2 1 Department of Mathematical Informatics
More information6.821 Programming Languages Handout Fall MASSACHVSETTS INSTITVTE OF TECHNOLOGY Department of Electrical Engineering and Compvter Science
6.821 Programming Languages Handout Fall 2002 MASSACHVSETTS INSTITVTE OF TECHNOLOGY Department of Electrical Engineering and Compvter Science Problem Set 6 Problem 1: cellof Subtyping Do exercise 11.6
More informationTowards Approximate Model Transformations
Towards Approximate Model Transformations Javier Troya, Manuel Wimmer, Loli Burgueño, Antonio Vallecillo Third Workshop on the Analysis of Model Transformations AMT 14 Valencia, Spain 29.09.14 Business
More informationMDD 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 informationObject Constraint https://www.lri.fr/~linaye/gl.html lina.ye@centralesupelec.fr Sequence 3, 2017-2018 1/45 Plan 1 2 3 4 2/45 Motivation Why OCL Cannot represent all the relevant aspects of a specification
More informationA 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 informationSLIDES: Introductory Modeling Example Employing UML and OCL [UML: Unified Modeling Language, OCL:Object Constarint Language]
Lecture day 2016-04-07 SLIDES: Introductory Modeling Example Employing UML and OCL [UML: Unified Modeling Language, OCL:Object Constarint Language] - System design in an object-oriented way employing USE
More informationObject Oriented Paradigm Languages
Object Oriented Paradigm Languages The central design goal is to build inherent abstraction into the system, moving all the abstract implementation details from the user level (ad-hoc) to the system level
More informationApplications Of Model Weaving Techniques
Applications Of Model Weaving Techniques Hugo Bruneliere, Jendrik Johannes INRIA, TUD 1 Context of this work The present courseware has been elaborated in the context of the MODELPLEX European IST FP6
More informationProgramming Languages: Lecture 11
1 Programming Languages: Lecture 11 Chapter 9: Subprograms Jinwoo Kim jwkim@jjay.cuny.edu Chapter 9 Topics 2 Introduction Fundamentals of Subprograms Design Issues for Subprograms Local Referencing Environments
More informationOutline. What is semantics? Denotational semantics. Semantics of naming. What is semantics? 2 / 21
Semantics 1 / 21 Outline What is semantics? Denotational semantics Semantics of naming What is semantics? 2 / 21 What is the meaning of a program? Recall: aspects of a language syntax: the structure of
More informationProgramming Languages Third Edition. Chapter 10 Control II Procedures and Environments
Programming Languages Third Edition Chapter 10 Control II Procedures and Environments Objectives Understand the nature of procedure definition and activation Understand procedure semantics Learn parameter-passing
More informationTowards a Unifying Framework for Modelling and Executing Model Transformations
MASTER S THESIS Towards a Unifying Framework for Modelling and Executing Model Transformations Ivo van Hurne 18 th June, 2014 Supervisors: dr. L. Ferreira Pires dr. C.M. Bockisch Faculty of EEMCS Department
More informationReusing OCL in a Programming Language
Reusing OCL in a Programming Language Fabian Büttner a,, Martin Gogolla b a AtlanMod, École des Mines de Nantes - INRIA, Nantes, France b Database Systems Group, University of Bremen, Germany Abstract
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 informationArgument Passing All primitive data types (int etc.) are passed by value and all reference types (arrays, strings, objects) are used through refs.
Local Variable Initialization Unlike instance vars, local vars must be initialized before they can be used. Eg. void mymethod() { int foo = 42; int bar; bar = bar + 1; //compile error bar = 99; bar = bar
More informationIn addition to the correct answer, you MUST show all your work in order to receive full credit.
In addition to the correct answer, you MUST show all your work in order to receive full credit. Questions Mark: Question1) Multiple Choice Questions /10 Question 2) Binary Trees /15 Question 3) Linked
More informationCS 3360 Design and Implementation of Programming Languages. Exam 1
1 Spring 2017 (Thursday, March 9) Name: CS 3360 Design and Implementation of Programming Languages Exam 1 This test has 8 questions and pages numbered 1 through 7. Reminders This test is closed-notes and
More informationModel-Driven Constraint Programming
Model-Driven Constraint Programming Raphaël Chenouard CNRS, LINA, Université denantes, France. raphael.chenouard@univ-nantes.fr Laurent Granvilliers CNRS, LINA, Université denantes, France. laurent.granvilliers@univ-nantes.fr
More informationSQL - Basics. SQL Overview
SQL - Basics Davood Rafiei 1 SQL Overview Structured Query Language standard query language for relational system. developed in IBM Almaden (system R) Some features Declarative: specify the properties
More informationExisting 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 informationProgrammiersprachen (Programming Languages)
2016-05-13 Preface Programmiersprachen (Programming Languages) coordinates: lecturer: web: usable for: requirements: No. 185.208, VU, 3 ECTS Franz Puntigam http://www.complang.tuwien.ac.at/franz/ps.html
More informationTypes. What is a type?
Types What is a type? Type checking Type conversion Aggregates: strings, arrays, structures Enumeration types Subtypes Types, CS314 Fall 01 BGRyder 1 What is a type? A set of values and the valid operations
More informationLanguage-independent model transformation verification.
Language-independent model transformation verification. LANO, Kevin, RAHIMI, Shekoufeh Kolahdouz and CLARK, Tony Available from Sheffield Hallam University Research
More informationFinal thoughts on functions F E B 2 5 T H
Final thoughts on functions F E B 2 5 T H Ordering functions in your code Will the following code work? Here the function is defined after the main program that is calling it. print foo() def foo(): return
More informationLexical Considerations
Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6.035, Fall 2005 Handout 6 Decaf Language Wednesday, September 7 The project for the course is to write a
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 informationMeasuring ATL Transformations
Measuring ATL Transformations Andrés Vignaga MaTE, Department of Computer Science, Universidad de Chile avignaga@dcc.uchile.cl Abstract Model transformations are a key element in Model Driven Engineering
More informationATL Transformation Example
1. ATL Transformation Example: Table to SVGPieChart The Table to SVGPieChart example describes a transformation from a Table model to a SVG file containing several pie chart representations. 1.1. Transformation
More informationApplying MDA to Constrained Environments
www.pathfindermda.com Put MDA to Work Applying MDA to Constrained Environments Greg Eakman Pathfinder Solutions grege@pathfindermda.com Embedded MDA Executable models Large number of embedded systems platforms
More informationRepetition Structures
Repetition Structures Chapter 5 Fall 2016, CSUS Introduction to Repetition Structures Chapter 5.1 1 Introduction to Repetition Structures A repetition structure causes a statement or set of statements
More informationCondition-Controlled Loop. Condition-Controlled Loop. If Statement. Various Forms. Conditional-Controlled Loop. Loop Caution.
Repetition Structures Introduction to Repetition Structures Chapter 5 Spring 2016, CSUS Chapter 5.1 Introduction to Repetition Structures The Problems with Duplicate Code A repetition structure causes
More informationScuole di dottorato in Bioscienze e biotecnologie e Scienze biomediche sperimentali WEB OF SCIENCE
WEB OF SCIENCE WEB OF SCIENCE COVERAGE: multidisciplinary TIME RANGE: 1985- DOCUMENT TYPES: articles, proceedings papers, books WEB OF SCIENCE: SEARCH you can add one or more search field you can limit
More informationCMSC 4023 Chapter 9. Fundamentals of Subprograms Introduction
9. 9.1. Introduction Two fundamental abstraction facilities Process abstraction Emphasized from early days Data abstraction Emphasized in the1980s 9.2. 9.2.1. General Subprogram Characteristics Each subprogram
More informationModule 10: Imperative Programming, Modularization, and The Future
Module 10: Imperative Programming, Modularization, and The Future If you have not already, make sure you Read How to Design Programs Sections 18. 1 CS 115 Module 10: Imperative Programming, Modularization,
More information