DSL Design. Model Transformations. Model Transformations. Language g Implementation Strategies
|
|
|
- Jessica Wilson
- 10 years ago
- Views:
Transcription
1 DSL Design Generic Language g Technology 2IS15 Model Transformations Language g Implementation Strategies Stand-alone Marcel van Amstel Embedding Translation / Software Engineering and Technology PAGE 2 Model Transformations Model Transformations Semi-Thue systems A model transformation is a mapping from a set of source models to a set of target models defined as a set of transformation rules.
2 Model Transformations Model transformation PAGE 6 Model Transformations Implementation approaches Model transformation formalisms Direct model manipulation Intermediate representation Model transformation language ATL Xtend Xtext Xpand QVT Relations QVT Operations QVT Core ASF+SDF Stratego/XT VIATRA Tefkat ETL (Epsilon) GrGen Platform: Eclipse and EMF PAGE 8
3 Model Transformations ATL characteristics: Hybrid language (declarative and imperative constructs) Transformation is a set of transformation rules and helpers OCL for source model navigation Limited escape mechanism to use Java In-place transformation simulated using refining mode The Atlas Transformation Language (ATL) is a hybrid language (a mix of declarative and imperative constructions) designed to express model transformations A model transformation in ATL is expressed as a set of transformation rules Hybrid style of programming: Declarative transformation based on simple mappings Imperative for complex mappings OCL is used to expression constraints on rules Guards (constraints) on the entry point for a rule Documentation: Documentation: PAGE 10 An ATL transformation program is composed of rules that define how source model elements are matched and navigated to create and initialize the elements of the target models The ATL programs for model to model transformation are called modules An example of an ATL specification The goal is to present a use case of a model to model transformation written in ATL This use case is named: Books to Publications Initially we have a text t describing a list of books We want to transform this into another text describing a list of publications PAGE PAGE 12
4 ATL: Book2Publication example ATL: Book2Publication example MMM Ecore MM a MM t MM b MM Book ATL MM Publication M t Book2Publication M a Transformation M b Book Transformation Publication PAGE PAGE 14 Meta-model of Book: Meta-model of Publication: Example of Book: PAGE PAGE 16
5 First we create an ATL project Getting started Select in Eclipse File/New/ATL Project Select then the Finish button First we have to create/ obtain meta-models Next we create an ATL file Getting started Select in Eclipse File/New/ATL File Select then the Next button PAGE PAGE 18 Next we have to set the Input/Output parameters of ATL transformation: Select then the Finish button A detailed description of the transformation can be found at: _Create_a_simple_ATL_transformation a transformation This will generate automatically the header section PAGE PAGE 20
6 ATL transformation code A header section that defines some attributes that are relative to the transformation module An optional import section that enables to import some existing ATL libraries A set of helpers that can be viewed as an ATL equivalent to Java methods Header: The header section names the transformation module and names the variables corresponding to the source and target models ("IN" and "OUT") together with their meta-models ( Book" and Publication") acting as types. module Book2Publication; create OUT : Publication from IN : Book; A set of rules that defines the way target models are generated from source ones PAGE PAGE 22 Libraries: The optional import section enables to declare which ATL libraries have to be imported The declaration of an ATL library is achieved as follows: uses extensionless_library_file_name; library name; ATL helpers ATL helpers can be viewed as the ATL equivalent to Java methods They make it possible to define factorized ATL code that can be called from different points of an ATL transformation Body of helpers is OCL code For example: uses strings; PAGE PAGE 24
7 An ATL helper is defined by the following elements: a name a context type The context type defines the context in which this attribute is defined Optional a return value type. Note that, in ATL, each helper must have a return value an OCL expression that represents the code of the ATL helper; an optional set of parameters, in which a parameter is identified by a couple (parameter name, parameter type). Helper functions: A helper is an auxiliary function that computes a result needed in a rule helper context Book!Book def : getauthors() : String = self.chapters-> collect(e e.author)-> asset()-> iterate(authorname, acc : String = '' acc + if acc = '' then authorname else ' and ' + authorname endif); PAGE PAGE 26 Select the chapters Get the authors of each chapter Filter duplicates To iterate over a collection helper context Book!Book def : getauthors() : String = self.chapters-> collect(e e.author)-> asset()-> iterate(authorname; acc : String = '' acc + if acc = '' then authorname else ' and ' + authorname endif); source -> iterate(elem, var : Type = init_exp body ) var is an accumulator which gets an initial value elem is an iterator which iterates on each element of the collection For each iteration body is evaluated and then used to update var Build a list PAGE PAGE 28
8 Helper To get the total of pages helper context Book!Book def : getnbpages() : Integer = self.chapters-> collect(f f.nbpages)-> iterate(pages, acc : Integer = 0 acc + pages); It is possible to consider a helper that returns the maximum of two integer values: the contextual integer and an additional integer value which is passed as parameter: helper context Integer def : max(x : Integer) : Integer =...; Alternative helper context Book!Book def : getnbpageseasy() : Integer = self.chapters -> collect(f f.nbpages) -> sum(); PAGE PAGE 30 ATL Rules There exist three different kinds of rules that correspond to the two different programming modes matched rules (declarative programming), lazy rules, called rules (imperative programming). ATL matched rule mechanism provides a mean to specify the way target model elements must be generated from source model elements. A matched rule enables to specify: 1. which source model element must be matched, 2. the number and the type of the generated target model elements, and 3. the way these target model elements must be initialized from the matched source elements PAGE PAGE 32
9 Each matched rule is identified by its name (rule_name). A matched rule name must be unique within an ATL transformation. An ATL matched rule is composed of two mandatory sections from and to parts. two optional sections: using and do parts. The different variables that may be declared in the scope of a rule (the source and target pattern elements and the local variables) must have a unique name. Matched rules rule rule_name{ from in: MM1!MetaClass(<matching condition>) using{<variable definitions> to out1: MM2!MetaClass1( <bindings1> ), out2: MM2!MetaClass2( <bindings2> ) do{<imperative block> Matches on all model elements of type MM1!MetaClass, similar to ASF s traversal functions PAGE 33 Rules rule Book2Publication { from b : Book!Book ( b.getnbpages() > 2 ) to out : Publication!Publication ( title <- b.title, authors <- b.getauthors(), nbpages <- b.getnbpages() ) Assigning attributes in ATL rules: In/out pattern Meta model identification Meta model element identification rule example1{ from in: MM1!MetaClassA to out: MM2!MetaClassB( attr <- in.attr ) Attribute assignment PAGE PAGE 36
10 Source pattern The from section corresponds to the rule source pattern. This pattern (a single source pattern element) contains the source variable declaration (in_var) of the type of the source model elements that will be matched by the rule (in_type). It may contain, between brackets, an optional boolean expression (condition) The following code illustrates the syntax of the from section: Assignment statement enables to assign target model element features target <- exp; from p : MMPerson!Person e ( p.name = 'Smith' ) PAGE PAGE 38 If statement enables to define alternative treatments if(condition) then { statement1 else { statement2 endif ATL imperative code For statement enables to define iterative imperative computations: for(iterator in collection) { statements Condition is an OCL expression PAGE PAGE 40
11 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 target model element generated by another rule The first case (assigning g a model element produced by the same rule) is the simplest one: the considered reference can be initialized with the name of the other target pattern element consider the following example in which the rule Case1 has two target pattern model elements (o_1 and o_2), with o_1 having a reference to a Class2 model element defined (linktoclass2): rule Case1 { from i : MM_A!ClassA to o_1 : MM_B!Class1 ( linktoclass2 <- o_2 ), o_2 : MM_B!Class2 (... ) In the second case (assigning g the default target element of another rule): the considered reference has to be initialized with the source model element which is matched by the remote rule for generating the target model element to be assigned In the following example, the rule Case2_R1 aims to generate a target model element (o_1) that has a reference to a target model element that corresponds to the default target pattern (o_1) of the rule Case2_R2 Assuming that the source model element matched by Case2_R1 has a reference (linktoclassb) to the relevant MM_ A!ClassB source model element, this assignment is expressed as follows: rule Case2_R1 { from i : MM_A!ClassA to o_ 1 : MM_ B!Class1 ( linktoclass2 <- i.linktoclassb ) rule Case2_R2 { from i : MM_A!ClassB to o_1 : MM_B!Class2 (... ),...
12 rule Case2_R1 { from i : MM_A!ClassA to o_1 : MM_B!Class1 ( linktoclass2 <- i.linktoclassb ) rule Case2_R2 { from i : MM_A!ClassB to o_1 : MM_B!Class2 (... ),... Alternative (also used in the non-default target element) rule Case2_R1 { from i : MM_A!ClassA to o_1 : MM_B!Class1 ( linktoclass2 <- thismodule.resolvetemp(i.linktoclassb, o_1 ) ) rule Case2_R2 { from i : MM_ A!ClassB to o_1 : MM_B!Class2 (... ),... Example of assignments PAGE 46 Lazy rules Lazy rules are like matched rules, but are only applied when called by another rule PAGE PAGE 48
13 Lazy rules lazy rule rule_name{ from in: MM1!MetaClass using{<variable definitions> to out1: MM2!MetaClass1( <bindings1> ), out2: MM2!MetaClass2( <bindings2> ) do{<imperative block> Generates new target elements for every er call to the rule Invoked from other rules as follows: thismodule.rule_name(<model element of type MM1!MetaClass>) PAGE 50 Unique lazy matched rules unique lazy rule rule_name{ from in: MM1!MetaClass using{<variable definitions> to out1: MM2!MetaClass1( <bindings1> ), out2: MM2!MetaClass2( <bindings2> ) do{<imperative block> Always returns rns the same target elements for a given source element, i.e., target elements are generated only once per source element Called rules The called rules provide ATL developers with convenient imperative programming facilities. Called rules can be seen as a particular type of helpers: they have to be explicitly called to be executed and they can accept parameters called rules can generate target model elements as matched rules do A called rule has to be called from an imperative code section, either from a matched rule or another called rule A called rule does not include a source pattern PAGE 52
14 Called rules [entrypoint]? rule rule_name(<parameters>){ using{<variable definitions> to out1: MM2!MetaClass1( <bindings1> ), out2: MM2!MetaClass2( <bindings2> ) do{<imperative block> For generating target elements from imperative code No from clause Example of a called rule rule NewPerson (na: String, s_na: String) { to p : MMPerson!Person ( name <- na ) do { p.surname <- s_na PAGE 54 Besides matched rules, ATL defines an additional kind of rules enabling to explicitly generate target model elements from imperative code Except for the entrypoint called rule, this kind of rules must be explicitly called from an ATL imperative block. A called rule is identified by its name (rule_name). A called rule name must be unique within an ATL transformation must not collide with a helper name a called rule cannot be called "main" A called rule can optionally be declared as the transformation entrypoint/endpoint. p an ATL transformation can include one entrypoint/endpoint called rule. it is implicitly invoked at the beginning/ending of the transformation execution PAGE PAGE 56
15 Helper with context helper context MM!MetaClass def: helper_name(<parameters>): return_type = let <variable definition> in <expression>; Invocation: <model element of type MM!MetaClass>.helper_name(<parameters>) The context should never be of a collection type Helper without context helper def: helper_name(<parameters>): return_type = let <variable definition> in <expression>; Invocation: thismodule.helper_name(<parameters>) More reading material _Overview_of_the_Atlas_Transformation_Language _The_ATL_Language For OCL functions refer to the ATL user guide PAGE 58 Quality of Model Transformations Quality of Model Transformations MDE is gaining popularity are software too Academia Design Methodology Reuse Maintenance Industry
16 Quality of Model Transformations Quality of Model Transformations Reuse 1. As-is Maintenance 1. Corrective 2. With modify 2. Adaptive 3. Perfective PAGE PAGE 62 Quality of Model Transformations Quality of Model Transformation are software too Internal vs. external quality Design Methodology Maintenance Reuse Quality attributes t Understandability Modularity They should not become the next maintenance nightmare Modifiability Reusability Consistency Completeness Conciseness PAGE 63
17 Quality of Model Transformations Quality of Model Transformations Quality assessment techniques Direct quality assessment Metrics Indirect quality assessmente Debugging of domain-specific models Analysis of domain-specific models Determining the effect of a source model change PAGE PAGE 66 Quality of Model Transformations Quality of Model Transformations PAGE PAGE 68
Metrics for Analyzing the Quality of Model Transformations
Metrics for Analyzing the Quality of Model Transformations Marcel van Amstel 1 Christian Lange 2 Mark van den Brand 1 1 Eindhoven University of Technology, The Netherlands 2 Federal Office for Information
Organization of DSLE part. Overview of DSLE. Model driven software engineering. Engineering. Tooling. Topics:
Organization of DSLE part Domain Specific Language Engineering Tooling Eclipse plus EMF Xtext, Xtend, Xpand, QVTo and ATL Prof.dr. Mark van den Brand GLT 2010/11 Topics: Meta-modeling Model transformations
Model-Driven Development - From Frontend to Code
Model-Driven Development - From Frontend to Code Sven Efftinge [email protected] www.efftinge.de Bernd Kolb [email protected] www.kolbware.de Markus Völter [email protected] www.voelter.de -1- Model Driven
Textual Modeling Languages
Textual Modeling Languages Slides 4-31 and 38-40 of this lecture are reused from the Model Engineering course at TU Vienna with the kind permission of Prof. Gerti Kappel (head of the Business Informatics
CommentTemplate: A Lightweight Code Generator for Java built with Eclipse Modeling Technology
CommentTemplate: A Lightweight Code Generator for Java built with Eclipse Modeling Technology Jendrik Johannes, Mirko Seifert, Christian Wende, Florian Heidenreich, and Uwe Aßmann DevBoost GmbH D-10179,
ATL: Atlas Transformation Language. Specification of the ATL Virtual Machine
ATL: Atlas Transformation Language Specification of the ATL Virtual Machine - version 0.1-2005 by ATLAS group LINA & INRIA Nantes Content Figure List... 4 Table List... 4 1 Introduction... 5 2 ATL Programming
Requirements Exchange: From Specification Documents to Models
Requirements Exchange: From Specification Documents to Models Morayo ADEDJOUMA, Hubert DUBOIS, François TERRIER Ansgar RADERMACHER UML&AADL 2011-27 April 2011, Las Vegas Agenda Big picture Challenge Technologies
Automated transformations from ECA rules to Jess
Automated transformations from ECA rules to Jess NAME : N.C. Maatjes STUDENT NUMBER : S0040495 PERIOD : 4-2-2006 until 3-7-2007 DATE : 3-7-2007 SUPERVISOR : L. Ferreira Pires GRADUATION COMMITTEE : L.
Java 6 'th. Concepts INTERNATIONAL STUDENT VERSION. edition
Java 6 'th edition Concepts INTERNATIONAL STUDENT VERSION CONTENTS PREFACE vii SPECIAL FEATURES xxviii chapter i INTRODUCTION 1 1.1 What Is Programming? 2 J.2 The Anatomy of a Computer 3 1.3 Translating
VICCI. The Eclipse Modeling Framework (EMF) A Practical Introduction and Technology Overview. Dipl.-Inf. Christoph Seidl
VICCI Visual and Interactive Cyber-Physical Systems Control and Integration The Eclipse Modeling Framework (EMF) A Practical Introduction and Technology Overview Dipl.-Inf. Christoph Seidl Overview of
The Service Revolution software engineering without programming languages
The Service Revolution software engineering without programming languages Gustavo Alonso Institute for Pervasive Computing Department of Computer Science Swiss Federal Institute of Technology (ETH Zurich)
Automating the Development of Information Systems with the MOSKitt Open Source Tool
http://www.moskitt.org Automating the Development of Information Systems with the MOSKitt Open Source Tool Vicente Pelechano Universidad Politécnica de Valencia Content PART I: About the Project and the
Moving from CS 61A Scheme to CS 61B Java
Moving from CS 61A Scheme to CS 61B Java Introduction Java is an object-oriented language. This document describes some of the differences between object-oriented programming in Scheme (which we hope you
Modeling Cloud Messaging with a Domain-Specific Modeling Language
Modeling Cloud Messaging with a Domain-Specific Modeling Language Gábor Kövesdán, Márk Asztalos and László Lengyel Budapest University of Technology and Economics, Budapest, Hungary {gabor.kovesdan, asztalos,
Co-Creation of Models and Metamodels for Enterprise. Architecture Projects.
Co-Creation of Models and Metamodels for Enterprise Architecture Projects Paola Gómez [email protected] Hector Florez [email protected] ABSTRACT The linguistic conformance and the ontological
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
Computing Concepts with Java Essentials
2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Computing Concepts with Java Essentials 3rd Edition Cay Horstmann
Lesson 1 Introduction to Rapid Application Development using Visual Basic
Lesson 1 Introduction to Rapid Application Development using Visual Basic RAD (Rapid Application Development) refers to a development life cycle designed to give much faster development and higher-quality
The C Programming Language course syllabus associate level
TECHNOLOGIES The C Programming Language course syllabus associate level Course description The course fully covers the basics of programming in the C programming language and demonstrates fundamental programming
Introduction to Generative Software Development
Introduction to Generative Software Development Krzysztof Czarnecki University of Waterloo [email protected] www.generative-programming.org Goals What is to be achieved? Basic understanding of Generative
mbeddr: an Extensible MPS-based Programming Language and IDE for Embedded Systems
mbeddr: an Extensible MPS-based Programming Language and IDE for Embedded Systems Markus Voelter independent/itemis [email protected] Daniel Ratiu Bernhard Schaetz Fortiss {ratiu schaetz}@fortiss.org Bernd
Jairson Vitorino. PhD Thesis, CIn-UFPE February 2009. Supervisor: Prof. Jacques Robin. Ontologies Reasoning Components Agents Simulations
CHROME: A Model-Driven Component- Based Rule Engine Jairson Vitorino PhD Thesis, CIn-UFPE February 2009 Supervisor: Prof. Jacques Robin Ontologies Reasoning Components Agents Simulations Contents 1. Context
ARIZONA CTE CAREER PREPARATION STANDARDS & MEASUREMENT CRITERIA SOFTWARE DEVELOPMENT, 15.1200.40
SOFTWARE DEVELOPMENT, 15.1200.40 STANDARD 1.0 APPLY PROBLEM-SOLVING AND CRITICAL THINKING SKILLS TO INFORMATION 1.1 Describe methods of establishing priorities 1.2 Prepare a plan of work and schedule information
OpenEmbeDD basic demo
OpenEmbeDD basic demo A demonstration of the OpenEmbeDD platform metamodeling chain tool. Fabien Fillion [email protected] Vincent Mahe [email protected] Copyright 2007 OpenEmbeDD project (openembedd.org)
1 External Model Access
1 External Model Access Function List The EMA package contains the following functions. Ema_Init() on page MFA-1-110 Ema_Model_Attr_Add() on page MFA-1-114 Ema_Model_Attr_Get() on page MFA-1-115 Ema_Model_Attr_Nth()
Toward Families of QVT DSL and Tool
Toward Families of QVT DSL and Tool Benoît Langlois, Daniel Exertier, Ghanshyamsinh Devda Thales Research & Technology RD 128 91767 Palaiseau, France {benoit.langlois, daniel.exertier, ghanshyamsinh.devda}@thalesgroup.com
Esigate Module Documentation
PORTAL FACTORY 1.0 Esigate Module Documentation Rooted in Open Source CMS, Jahia s Digital Industrialization paradigm is about streamlining Enterprise digital projects across channels to truly control
Integration of Application Business Logic and Business Rules with DSL and AOP
Integration of Application Business Logic and Business Rules with DSL and AOP Bogumiła Hnatkowska and Krzysztof Kasprzyk Wroclaw University of Technology, Wyb. Wyspianskiego 27 50-370 Wroclaw, Poland [email protected]
Movie Database Case: An EMF-INCQUERY Solution
Movie Database Case: An EMF-INCQUERY Solution Gábor Szárnyas Oszkár Semeráth Benedek Izsó Csaba Debreceni Ábel Hegedüs Zoltán Ujhelyi Gábor Bergmann Budapest University of Technology and Economics, Department
Aspect Oriented Programming. with. Spring
Aspect Oriented Programming with Spring Problem area How to modularize concerns that span multiple classes and layers? Examples of cross-cutting concerns: Transaction management Logging Profiling Security
An eclipse-based Feature Models toolchain
An eclipse-based Feature Models toolchain Luca Gherardi, Davide Brugali Dept. of Information Technology and Mathematics Methods, University of Bergamo [email protected], [email protected] Abstract.
Development of Tool Extensions with MOFLON
Development of Tool Extensions with MOFLON Ingo Weisemöller, Felix Klar, and Andy Schürr Fachgebiet Echtzeitsysteme Technische Universität Darmstadt D-64283 Darmstadt, Germany {weisemoeller klar schuerr}@es.tu-darmstadt.de
Model Transformations and Code Generation
Model Transformations and Code Generation Ecole IN2P3 Temps Réel [email protected] 2 École d été, 26.11 08h30 10h00: Cours S1 Component models CCM and FCM (connectors) CCM CORBA component model
Implementing reusable software components for SNOMED CT diagram and expression concept representations
1028 e-health For Continuity of Care C. Lovis et al. (Eds.) 2014 European Federation for Medical Informatics and IOS Press. This article is published online with Open Access by IOS Press and distributed
Professional. SlickEdif. John Hurst IC..T...L. i 1 8 О 7» \ WILEY \ Wiley Publishing, Inc.
Professional SlickEdif John Hurst IC..T...L i 1 8 О 7» \ WILEY \! 2 0 0 7 " > Wiley Publishing, Inc. Acknowledgments Introduction xiii xxv Part I: Getting Started with SiickEdit Chapter 1: Introducing
1 Introduction. 2 An Interpreter. 2.1 Handling Source Code
1 Introduction The purpose of this assignment is to write an interpreter for a small subset of the Lisp programming language. The interpreter should be able to perform simple arithmetic and comparisons
WebSphere ESB Best Practices
WebSphere ESB Best Practices WebSphere User Group, Edinburgh 17 th September 2008 Andrew Ferrier, IBM Software Services for WebSphere [email protected] Contributions from: Russell Butek ([email protected])
The Clean programming language. Group 25, Jingui Li, Daren Tuzi
The Clean programming language Group 25, Jingui Li, Daren Tuzi The Clean programming language Overview The Clean programming language first appeared in 1987 and is still being further developed. It was
Xtext Documentation. September 26, 2014
Xtext Documentation September 26, 2014 Contents I. Getting Started 9 1. 5 Minutes Tutorial 10 1.1. Creating A New Xtext Project........................ 10 1.2. Generating The Language Infrastructure...................
Implementing a Bidirectional Model Transformation Language as an Internal DSL in Scala
Implementing a Bidirectional Model Transformation Language as an Internal DSL in Scala BX 14: 3rd International Workshop on Bidirectional Transformations @EDBT/ICDT 14, Athens, Greece Arif Wider Humboldt-University
Bridging the Generic Modeling Environment (GME) and the Eclipse Modeling Framework (EMF)
Bridging the Generic ing Environment () and the Eclipse ing Framework (EMF) Jean Bézivin (), Christian Brunette (2), Régis Chevrel (), Frédéric Jouault (), Ivan Kurtev () () ATLAS Group (INRIA & LINA,
Automatic Generation of Consistency-Preserving Edit Operations for MDE Tools
Automatic Generation of Consistency-Preserving Edit Operations for MDE Tools Michaela Rindt, Timo Kehrer, Udo Kelter Software Engineering Group University of Siegen {mrindt,kehrer,kelter}@informatik.uni-siegen.de
Megamodels as models of the linguistic architecture of software products and software technologies
19 April 2012 Megamodels as models of the linguistic architecture of software products and software technologies Ralf Lämmel (Software Languages Team) on behalf of Jean-Marie Favre, Thomas Schmorleiz,
KITES TECHNOLOGY COURSE MODULE (C, C++, DS)
KITES TECHNOLOGY 360 Degree Solution www.kitestechnology.com/academy.php [email protected] [email protected] Contact: - 8961334776 9433759247 9830639522.NET JAVA WEB DESIGN PHP SQL, PL/SQL
ORACLE 9I / 10G / 11G / PL/SQL COURSE CONTENT
ORACLE 9I / 10G / 11G / PL/SQL COURSE CONTENT INTRODUCTION: Course Objectives I-2 About PL/SQL I-3 PL/SQL Environment I-4 Benefits of PL/SQL I-5 Benefits of Subprograms I-10 Invoking Stored Procedures
Sightly Component Development
Sightly Component Development @GabrielWalt, Product Manager @RaduCotescu, Product Developer Development Workflow Design HTML/CSS Web Developer HTML CSS/JS Inefficiency Static HTML being handed over Component
Java 7 Recipes. Freddy Guime. vk» (,\['«** g!p#« Carl Dea. Josh Juneau. John O'Conner
1 vk» Java 7 Recipes (,\['«** - < g!p#«josh Juneau Carl Dea Freddy Guime John O'Conner Contents J Contents at a Glance About the Authors About the Technical Reviewers Acknowledgments Introduction iv xvi
SCADE System 17.0. Technical Data Sheet. System Requirements Analysis. Technical Data Sheet SCADE System 17.0 1
SCADE System 17.0 SCADE System is the product line of the ANSYS Embedded software family of products and solutions that empowers users with a systems design environment for use on systems with high dependability
CS346: Database Programming. http://warwick.ac.uk/cs346
CS346: Database Programming http://warwick.ac.uk/cs346 1 Database programming Issue: inclusionofdatabasestatementsinaprogram combination host language (general-purpose programming language, e.g. Java)
Implementation and Integration of a Domain Specific Language with oaw and Xtext
Implementation and Integration of a Domain Specific Language with oaw and Xtext by Volker Koster MT AG, Okt. 2007 www.mt-ag.com [email protected] Implementation and Integration of a Domain Specific Language
A QUICK OVERVIEW OF THE OMNeT++ IDE
Introduction A QUICK OVERVIEW OF THE OMNeT++ IDE The OMNeT++ 4.x Integrated Development Environment is based on the Eclipse platform, and extends it with new editors, views, wizards, and additional functionality.
Overview. Elements of Programming Languages. Advanced constructs. Motivating inner class example
Overview Elements of Programming Languages Lecture 12: Object-oriented functional programming James Cheney University of Edinburgh November 6, 2015 We ve now covered: basics of functional and imperative
Transforming PICTURE to BPMN 2.0 as Part of the Model-driven Development of Electronic Government Systems
Heitkötter, Henning, Transforming PICTURE to BPMN 2.0 as Part of the Model-Driven Development of Electronic Government Systems, 44th Hawaii International Conference on System Sciences (HICSS), pp. 1 10,
EVALUATION. WA1844 WebSphere Process Server 7.0 Programming Using WebSphere Integration COPY. Developer
WA1844 WebSphere Process Server 7.0 Programming Using WebSphere Integration Developer Web Age Solutions Inc. USA: 1-877-517-6540 Canada: 1-866-206-4644 Web: http://www.webagesolutions.com Chapter 6 - Introduction
Network Model APPENDIXD. D.1 Basic Concepts
APPENDIXD Network Model In the relational model, the data and the relationships among data are represented by a collection of tables. The network model differs from the relational model in that data are
Analysis of the Specifics for a Business Rules Engine Based Projects
Analysis of the Specifics for a Business Rules Engine Based Projects By Dmitri Ilkaev and Dan Meenan Introduction In recent years business rules engines (BRE) have become a key component in almost every
Extending XSLT with Java and C#
Extending XSLT with Java and C# The world is not perfect. If it were, all data you have to process would be in XML and the only transformation language you would have to learn would XSLT. Because the world
Microsoft Windows PowerShell v2 For Administrators
Course 50414B: Microsoft Windows PowerShell v2 For Administrators Course Details Course Outline Module 1: Introduction to PowerShell the Basics This module explains how to install and configure PowerShell.
Software Development Kit
Open EMS Suite by Nokia Software Development Kit Functional Overview Version 1.3 Nokia Siemens Networks 1 (21) Software Development Kit The information in this document is subject to change without notice
Meta-Model specification V2 D602.012
PROPRIETARY RIGHTS STATEMENT THIS DOCUMENT CONTAINS INFORMATION, WHICH IS PROPRIETARY TO THE CRYSTAL CONSORTIUM. NEITHER THIS DOCUMENT NOR THE INFORMATION CONTAINED HEREIN SHALL BE USED, DUPLICATED OR
Integration of data validation and user interface concerns in a DSL for web applications
Softw Syst Model (2013) 12:35 52 DOI 10.1007/s10270-010-0173-9 THEME SECTION Integration of data validation and user interface concerns in a DSL for web applications Danny M. Groenewegen Eelco Visser Received:
Comparison of Model-Driven Architecture and Software Factories in the Context of Model-Driven Development
Comparison of Model-Driven Architecture and Software Factories in the Context of Model-Driven Development Ahmet Demir Technische Universität München Department of Informatics Munich, Germany [email protected]
A Multi-layered Domain-specific Language for Stencil Computations
A Multi-layered Domain-specific Language for Stencil Computations Christian Schmitt, Frank Hannig, Jürgen Teich Hardware/Software Co-Design, University of Erlangen-Nuremberg Workshop ExaStencils 2014,
WESTMORELAND COUNTY PUBLIC SCHOOLS 2011 2012 Integrated Instructional Pacing Guide and Checklist Computer Math
Textbook Correlation WESTMORELAND COUNTY PUBLIC SCHOOLS 2011 2012 Integrated Instructional Pacing Guide and Checklist Computer Math Following Directions Unit FIRST QUARTER AND SECOND QUARTER Logic Unit
Project Planning and Project Estimation Techniques. Naveen Aggarwal
Project Planning and Project Estimation Techniques Naveen Aggarwal Responsibilities of a software project manager The job responsibility of a project manager ranges from invisible activities like building
Developing Eclipse Plug-ins* Learning Objectives. Any Eclipse product is composed of plug-ins
Developing Eclipse Plug-ins* Wolfgang Emmerich Professor of Distributed Computing University College London http://sse.cs.ucl.ac.uk * Based on M. Pawlowski et al: Fundamentals of Eclipse Plug-in and RCP
today 1,700 special programming languages used to communicate in over 700 application areas.
today 1,700 special programming languages used to communicate in over 700 application areas. Computer Software Issues, an American Mathematical Association Prospectus, July 1965, quoted in P. J. Landin
Federated, Generic Configuration Management for Engineering Data
Federated, Generic Configuration Management for Engineering Data Dr. Rainer Romatka Boeing GPDIS_2013.ppt 1 Presentation Outline I Summary Introduction Configuration Management Overview CM System Requirements
Glossary of Object Oriented Terms
Appendix E Glossary of Object Oriented Terms abstract class: A class primarily intended to define an instance, but can not be instantiated without additional methods. abstract data type: An abstraction
EMC Documentum Composer
EMC Documentum Composer Version 6.5 User Guide P/N 300 007 217 A02 EMC Corporation Corporate Headquarters: Hopkinton, MA 01748 9103 1 508 435 1000 www.emc.com Copyright 2008 EMC Corporation. All rights
Taking Subversion to a Higher Level. Branching/Merging Support. Component Management Support. And More
Taking Subversion to a Higher Level Branching/Merging Support Component Management Support And More About Impact CM Impact CM is a Service AddOn that facilitates software configuration management (CM)
The Elective Part of the NSS ICT Curriculum D. Software Development
of the NSS ICT Curriculum D. Software Development Mr. CHEUNG Wah-sang / Mr. WONG Wing-hong, Robert Member of CDC HKEAA Committee on ICT (Senior Secondary) 1 D. Software Development The concepts / skills
This is a training module for Maximo Asset Management V7.1. It demonstrates how to use the E-Audit function.
This is a training module for Maximo Asset Management V7.1. It demonstrates how to use the E-Audit function. Page 1 of 14 This module covers these topics: - Enabling audit for a Maximo database table -
UML-based Test Generation and Execution
UML-based Test Generation and Execution Jean Hartmann, Marlon Vieira, Herb Foster, Axel Ruder Siemens Corporate Research, Inc. 755 College Road East Princeton NJ 08540, USA [email protected] ABSTRACT
Visual Basic Programming. An Introduction
Visual Basic Programming An Introduction Why Visual Basic? Programming for the Windows User Interface is extremely complicated. Other Graphical User Interfaces (GUI) are no better. Visual Basic provides
Scenario-driven Testing of Security-related Domain-specific Language Models
Scenario-driven Testing of Security-related Domain-specific Language Models Bernhard Hoisl June 25, 2013 Introduction, Definition, Motivation MDD: software engineering technique, abstracting problem domain
ARIZONA CTE CAREER PREPARATION STANDARDS & MEASUREMENT CRITERIA SOFTWARE DEVELOPMENT, 15.1200.40
SOFTWARE DEVELOPMENT, 15.1200.40 1.0 APPLY PROBLEM-SOLVING AND CRITICAL THINKING SKILLS TO INFORMATION TECHNOLOGY 1.1 Describe methods and considerations for prioritizing and scheduling software development
Exercise 1: Python Language Basics
Exercise 1: Python Language Basics In this exercise we will cover the basic principles of the Python language. All languages have a standard set of functionality including the ability to comment code,
Reusable Knowledge-based Components for Building Software. Applications: A Knowledge Modelling Approach
Reusable Knowledge-based Components for Building Software Applications: A Knowledge Modelling Approach Martin Molina, Jose L. Sierra, Jose Cuena Department of Artificial Intelligence, Technical University
A standards-based approach to application integration
A standards-based approach to application integration An introduction to IBM s WebSphere ESB product Jim MacNair Senior Consulting IT Specialist [email protected] Copyright IBM Corporation 2005. All rights
Microsoft' Excel & Access Integration
Microsoft' Excel & Access Integration with Office 2007 Michael Alexander and Geoffrey Clark J1807 ; pwiueyb Wiley Publishing, Inc. Contents About the Authors Acknowledgments Introduction Part I: Basic
Web Services for Management Perl Library VMware ESX Server 3.5, VMware ESX Server 3i version 3.5, and VMware VirtualCenter 2.5
Technical Note Web Services for Management Perl Library VMware ESX Server 3.5, VMware ESX Server 3i version 3.5, and VMware VirtualCenter 2.5 In the VMware Infrastructure (VI) Perl Toolkit 1.5, VMware
New Generation of Software Development
New Generation of Software Development Terry Hon University of British Columbia 201-2366 Main Mall Vancouver B.C. V6T 1Z4 [email protected] ABSTRACT In this paper, I present a picture of what software development
