Start Up Benoît Langlois / Thales Global Services Eclipse (EMFT) EGF 2011 by Thales; made available under the EPL v1.
|
|
- Lee Peters
- 5 years ago
- Views:
Transcription
1 Start Up Benoît Langlois / Thales Global Services
2 2 / Introduction EGF Architecture Concepts & Practice EGF Portfolios
3 3 / Introduction EGF Architecture Concepts & Practice EGF Portfolios
4 4 / Generative Software Generation reusability? Generation customization? Variability? Product lines? Generation orchestration? Generation workflow? Generation data, which ones, where? Generation scope? How to develop & test? Executability? Distribution? What target-platform? Performance, scalability? One-click generation solution? Best practices, guidance? Combining [model text dsl]-to- [Model text dsl]? Multiplicity of languages and engines? Integration of a new language? Update strategy of the produced artifacts? Merging Generation? Issue Proposed solution Purpose Dealing with generation complexity An integrated and extensible software factory framework Software Industrialization
5 5 / What is EGF? EGF (Eclipse Generation Factories) is an Eclipse open source component project in incubation under the EMFT project Purpose: providing a model-based generation framework Objectives: Supporting complex, large-scale and customizable generations Promoting generation portfolios in order to capitalize on generation solutions Providing an extensible generation structure
6 6 / General info about EGF Project page: Wiki: Download: by update site from Indigo or by update site from Amalgam
7 7 / Project Organization Top & Sub Projects Core Project EPL License EGF Additional Portfolios Not EPL License Host: Infr rastructure, Policies s, Process Project Project Community Committer Contributor Owner Committer Contributor
8 8 / Introduction EGF Architecture Architecture Some issues addressed by EGF Concepts & Practice EGF Portfolios
9 9 / EGF Architecture EGF Portfolio EGF Engine Extensions EGF Engine
10 10 / EGF Architecture EGF Portfolio EGF Engine Extensions EGF Engine EGF Metamodel Basic behaviors, dynamic execution Provides basic metamodelsand behaviors to automate software production Factory component, task Pattern
11 11 / EGF Architecture EGF Portfolio EGF Engine Extensions Meets specific software production needs EGF Engine Language & tools interoperability New types of generation formalisms
12 12 / EGF Architecture EGF Portfolio EGF Engine Extensions Practice (EGF Wiki) Use cases to understand production issues Examples to mimic and start up Utilities Meets specific software production needs EGF Engine Provides basic metamodelsand behaviors to automate software production
13 13 / EGF Architecture EGF Portfolio EGF Engine Extensions Portfolio Portfolio = generation topic Simple to off-the-shelf software factories Meeting specific generation topics Examples of Portfolios provided with EGF Enhancement of the EMF Generation EGF Engine Build modeler and generator
14 14 / Introduction EGF Architecture Architecture Some issues addressed by EGF Concepts & Practice EGF Portfolios
15 15 / Generation Composition, Language and Tool Interoperability Factory Component Production Plan (Activity workflow) Language Task Data exchange between heterogeneous activities Tool Task Jet ATL Factory Component Composite Activity Invocation Activity Workflow with Java and Ruby:
16 16 / Code Generation Families Example Enterprise Portfolio Code/textual generation for my organization extends Team Portfolio Several levels of Customization Specific generation for my project
17 17 / Code Generation Families Example EMF Generation Standard Portfolio extends customization Enterprise Portfolio EMF Generation for my organization Team Portfolio Several levels of Customization extends EMF Generation for my application
18 18 / Generation Development in Multi-User Mode Needs Validation Analysis Architecture & Design Build Deployment Factories Development Core Team Member Project Member
19 19 / Software Factory Engineering Generation Activity Development Development Assembly & Orchestration Use Language Task Factory Component Tool Task Pattern Packaging Management Off-The-Shelf Factories Customization Reuse Portfolio Reuse Factories Project Adaptation
20 20 / Software Factory Engineering General Architecture of EGF Development & Reuse Process with EGF Example of EGF Factory
21 21 / Introduction EGF Architecture Concepts & Practice EGF Portfolios
22 22 / Installation of EGF Installation by update site Eclipse Update site Update site from Amalgam [Eclipse] Help / Install Modeling Components / EGF Download EGF materials Download EGF update site, dropins, examples Location:
23 23 / Examples and Portfolio Installation of the Examples Install the examples File/New/Example /EGF Presentation of the EGF Portfolios
24 24 / Introduction EGF Architecture Concepts & Practice Generation Chain Activity Factory Component Task Pattern EGF Portfolios
25 25 / Types of Generation Units in EGF Factory Component Composite generation unit with an activity workflow Task Leaf generation unit written in a language (e.g., Java, Ruby) Portfolio Capitalization on a specific generation topic Generation Chain High generation view to organize complex generations EGF Pattern -Description of systematic behavior -For definition of code generation families
26 26 / Introduction EGF Architecture Concepts & Practice Generation Chain Activity Factory Component Task Pattern EGF Portfolios
27 27 / Generation Chain - Objectives Objectives: Definition, at a high level of description, of executable generations Abstraction: encapsulating the irrelevant technical details of generation Simplicity & Efficiency: Reducing the number of clicks (i.e. the number of actions) Only providing the main generation features and next generating
28 28 / Generation Chain - Principles Technical principles: Generation features are captured in a generation chain file An EGF fcore file is produced from the generation chain: it contains the translation of the generation chain into factory components Next, the factory components are transparently executed to produce the expected artifacts It is possible to add customization later a generation with generation chains at the factory component level
29 29 / Instantiation & Customization of Generation Chains Generation Chain Definition Instantiation Generation Factories Reuse Customization Project Context Portfolio
30 30 / [Practice] Hands On Links: Video: For more explanations: Generation Chain Tutorial Exercice: 1. Select ecore models 2. File/New/Other /[EGF] Generation Chain Model 3. Set the generation parameters 4. Right click on the first Generation Chain node / Run Generation Chain 5. After execution, open the fcore file in a created plug-in in order to understand how the generation is realized
31 31 / Introduction EGF Architecture Concepts & Practice Generation Chain Activity Factory Component Task Pattern EGF Portfolios
32 32 / Activity Definition An activity is the abstract class of executable EGF generation units Factory component and Task are activities Activity storage Activities are stored in fcore files The same fcore file contains one to several activities Activity properties Contract declaration Ability to be invoked and to execute a generation action
33 33 / Concepts fcore file name location execute() 0-* activity Activity name execute() 0-1 container Contract Container 0-* contract Task Factory Component Contract name mode (in,out,inout) mandatory Type Instance value Type 0-1 value 1 type
34 34 / Introduction EGF Architecture Concepts & Practice Generation Chain Activity Factory Component Task Pattern EGF Portfolios
35 35 / Factory Component Unit of generation with a clear objective of generation Unit of generation with a clear contract Assembly of factory components Delegation to other activities Creation of heterogeneous and complex generations Generation workflow located in a production plan Explicit declaration of generation data organised by viewpoints A Factory Component can be edited and executed in the same Eclipse session
36 36 / Factory Component Structure Factory Component = Contract container = Viewpoint container Production Plan
37 37 / Factory Component Structure Factory Component = Contract container = = Contract Viewpoint container Production Plan Contract: Factory component parameter A contract has a type, a passing mode (In/Out/In_Out), a default value or not, is mandatory or optional
38 38 / Factory Component Structure Factory Component = Contract container = Viewpoint container Production Plan Viewpoint: area to declare concerns of generation data Examples of viewpoint: Available today: domain declaration, pattern Candidates: licensing, feature model
39 39 / Factory Component Structure Factory Component = Contract container = Viewpoint container Production Plan Production Plan: workflow to describe generation steps Sequential today
40 40 / Activity and Production Plan invocation * Activity 0-1 Contract Container Factory Component 0-1 Production Plan Task * Contract contract Activity Invocation * * Invocation Contract
41 41 / In/Output relationships Example Quantity s Properties Amount s Properties
42 42 / Introduction EGF Architecture Concepts & Practice Generation Chain Activity Factory Component Task Pattern EGF Portfolios
43 43 / Task Definition A task is an atomic generation unit A task enables to execute code in a language Examples of Tasks: Java Task, Ruby Task, Ant Task Task implementation: An implementation is associated to a task Example: a JavaTask is implemented by a Java class (which implements ITaskProduction) Java Task 1 implementation Java Class
44 44 / [Practice] Hands On Links: [Video] Video: Activity Creation: Examples: [Eclipse] Help Contents! / EGF / Tutorials / Factory Component First Steps Exercices: EGF Example [Plug-in] org.eclipse.egf.usecase.fc.uc1 plugin, for definition of Factory Component & Task
45 45 / Introduction EGF Architecture Concepts & Practice Generation Chain Activity Factory Component Task Pattern EGF Portfolios
46 46 / Pattern Definition Definition A pattern is a solution to a recurrent generation problem Purpose Applying a systematic behavior onto a resource Clearly dissociating the specification (external view) from the implementation (internal view) of the behavior Reusing and customizing a pattern in different contexts Supporting multilingual patterns in order to apply the best programming language to a situation, and then supporting multiparadigm (M2T, M2M, T2M, T2T) Java and Jet are the two first languages supported today
47 47 / Introduction EGF Architecture Concepts & Practice Generation Chain Activity Factory Component Task Pattern Pattern Structure EGF Portfolios
48 48 / Pattern Structure Specification Elements Super- Pattern Type 0..n parameter Pattern delegation Pattern Language 1 nature Parameter: Object type of a query record from a query applied over a resource (e.g., a class from an ecore model, a file of a file directory) Nature: Language used for the pattern implementation (e.g., Java, Jet for model-to-text)
49 49 / Pattern Structure Specification Elements Example EClassifier Gen ECore Resource EClass parameter EClass Gen delegation EStructural Feature Gen Jet nature The EClassGen pattern is applied onto a Ecore resource Objects selected on the ecore resource: EClass instances It specializes the EClassifierGen pattern It applies a model-to-text generation in Jet Its also applies a generation on its features by delegation to the EStructuralFeatureGen pattern
50 50 / Pattern Structure Specification Elements Super- Pattern Constraint 0..1 precondition Type 0..n variable Type 0..n parameter Pattern delegation Pattern Language 1 nature precondition/constraint: constraint to be verified before application variable/type: local variable declaration for the pattern implementation
51 51 / Pattern Structure Specification View Pattern Language Super-pattern Query Parameter
52 52 / Pattern Structure Implementation View Methods which implement the pattern They conform to the pattern language Order to execute the methods header: typically used for the Jet header init: method for pattern initialization (e.g., variable initialization) A method editor allows editing pattern methods
53 53 / Introduction EGF Architecture Concepts & Practice Generation Chain Activity Factory Component Task Pattern Pattern Structure Pattern Execution EGF Portfolios
54 54 / Pattern Execution Big Picture Control Pattern Strategy Way to apply patterns and a resource together Processing List of patterns to be applied For pattern execution, use of the language engine matching the pattern language, e.g. Jet, Java Resource For each pattern, query over a resource, e.g. Model Result Result View Optional - Pattern reporter for the final rendering
55 55 / Pattern Execution Big Picture Processing List of patterns to be applied For pattern execution, use of the language engine matching the pattern language, e.g. Jet, Java Control Pattern Strategy Way to apply patterns and a resource together Example of strategy: Strategy name: Model-driven Strategy Resource type: ecore model Algorithm: for each model element (indepth navigation), apply patterns matching the query parameters Resource For each pattern, query over a resource, e.g. Model Result Result View Optional - Pattern reporter for the final rendering
56 56 / Pattern Strategy Definition: Way to apply patterns against a resource Examples of strategies: Model-driven pattern strategy: in-depth navigation over a model, and for each model element, applying a set of patterns Pattern-driven strategy: for each pattern, applying the pattern for each model element [Data type]-driven strategy: generalization of the approach; instead of model, it could be any type of resource (e.g., file directory) Strategy parameters: Resource visitor: When navigating over a resource, the visitor function specifies how to continue this navigation. Example: considering the sub-classes of the current resource instance.
57 57 / Introduction EGF Architecture Concepts & Practice Generation Chain Activity Factory Component Task Pattern Pattern Structure Pattern Execution Pattern Relationships EGF Portfolios
58 58 / Pattern Relationships Introduction Patterns can be related together (e.g., pattern inheritance, pattern call) The next slides present the different kinds of pattern relationships
59 59 / Pattern Relationships Pattern Inheritance Pattern Delegation Pattern Injection Pattern Callback delegates injects Pattern Substitution substitutes Pattern Merge merges Pattern Comparison
60 60 / Pattern Inheritance Pattern inheritance Case 1. Reuse of super-pattern methods Same mechanism than Class inheritance Selection of methods from the super-pattern hierarchy Example Hello - sayhello - finish Hello World - body Orchestration of HelloWorld
61 61 / Pattern Inheritance Pattern inheritance Case 2. Reuse of super-pattern orchestration Reuse of method and orchestration defined in the super-pattern This abstracts the super-pattern orchestration This avoids rewriting pattern orchestration Just adding the methods of the current pattern Example
62 62 / Pattern Delegation Pattern delegation delegates Case. For Problem decomposition & Reuse of pattern - The same pattern is reused in different pattern contexts - The orchestration of the called pattern is applied - The Pattern caller provides parameter values to the called pattern - The parameter values are statically declared at the pattern definition Example 1 Hello World Hello Friends Example 2 Display EClass Display EAttribute Display Annotations
63 63 / Multilingual Call Pattern delegation delegates Case. Pattern delegation when implementation languages are different This corresponds to a Pattern Delegation where Pattern natures are different. For instance, a Pattern with a Jet nature calls a Pattern with a Java nature in order to differently process the same resource. It is impossible to have different natures in the same Pattern inheritance hierarchy. Example EClass Report Measure EClass Quality
64 64 / Pattern Injection Pattern injection injects Case. Reuse of pattern with a dynamic resolution of the injected context - A Pattern injection corresponds to a Pattern Delegation, but - The parameter values are dynamically set at pattern execution Example In this example, the setupvariable method sets the injection context
65 65 / Pattern Callback Pattern Callback Case 1. Applying a Java call The callback indicates where the callback on a Java Class is applied Example Pattern orchestration Specification of the Java Class in the production plan
66 66 / Pattern Callback Pattern Callback Case 2. Combination with the Pattern Strategy A strategy determines how to apply patterns and how to navigate over a resource. In an orchestration, a callback is the moment before and after a cycle of pattern application, and allows to discriminate the methods to apply before and after it. Example Scenario: The following generation result can be realized with a callback. - The model-driven strategy navigates over the model - There is a pattern for each kind of model element with the following pattern orchestration A generation action is realized before (open) and after (close) the callback. <EPackage name= P > <EClass name= C1 > <EAttribute = A1 > </EAttribute = A1 > </EClass name= C1 > </EPackage name= P > Generation result
67 67 / Pattern Substitution Pattern substitution substitutes Case. Customization of a pattern-based generation - A substitution replaces a pattern by a list of patterns - This list can be empty (for annihilating a pattern), another pattern, or a list of other patterns (for replacing one pattern by several) - This mechanism enables to adapt a generation to a specific context - It is used for definition of families of code generation with patterns For deeper understanding [Tutorial]
68 68 / Pattern Merge Pattern Merge merges Case. Combination of pattern lists - Two patterns lists are merged into one list - Examples: for customization, merging a local substitution with a pattern list in parameter of factory component For deeper understanding EGF Example [Plug-in] org.eclipse.egf.usecase.emf.uc3
69 69 / Pattern Comparison Pattern Comparison Case. Used during pattern edition Face pattern evolution when pattern-based generation scales up - Comparison of patterns in a hierarchy or of cousin patterns Example Scenario: Comparison of super- and child-patterns in the same or different pattern libraries. Below, comparison of body methods of a ChildPattern and its SuperPattern. Possibility of live edition when editing pattern comparison.
70 70 / [Practice] Hands On Links: [Video] Pattern Creation: Examples: [Eclipse] Help Contents! / EGF / Tutorials / Pattern First Steps Exercices: EGF Example [Plug-in] org.eclipse.egf.usecase.pattern.uc1 and org.eclipse.egf.usecase.pattern.uc2
71 71 / Introduction EGF Architecture Concepts & Practice EGF Portfolios Enhancement of the EMF Generation Build Chain Portfolio
72 72 / Introduction EGF Architecture Concepts & Practice EGF Portfolios Enhancement of the EMF Generation Build Chain Portfolio
73 73 / EMF Generation Levels of Maturity Dimension Product Lines Reusability Customization Generation as-is EMF Generation Standard EMF Generation Patterns EMF Generation Factory Component EMF Generation Generation Chain Silo Level 1 Integration Level 2 Component Level 3 Capability Level 4 Composite Capability Level 5 Maturity Level
74 74 / Portfolio #1 EMF Generations Layers Concrete Syntax Graphical Representation Textual Representation [Other Form of] Representation Design DSL Abstract Syntax Generation Chain Includes the related concerns to the EMF Generation (e.g., Java Doc) Abstraction of Projection Implementation GenModel Factories Customization Execution Generated EMF Code
75 75 / Portfolio #1 EMF Generations Layers Concrete Syntax Graphical Representation Textual Representation [Other Form of] Representation Design DSL Abstract Syntax Generation Chain Includes the related concerns to the EMF Generation (e.g., Java Doc) In Eclipse Implementation Abstraction of GenModel Factories Projection Customization Execution Generated EMF Code
76 76 / Portfolio #1 Enhancement of EMF Generation Several levels of Customization EMF Generation Factories Standard Portfolio Reverse into patterns EMF Generation customization EMF Generation Team Working Enterprise Portfolio Team Portfolio
77 77 / [Practice] Hands On Exercices: EGF Example org.eclipse.egf.usecase.emf.uc1, org.eclipse.egf.usecase.emf.uc2 and org.eclipse.egf.usecase.emf.uc3 Download access: Generation
78 78 / Introduction EGF Architecture Concepts & Practice EGF Portfolios Enhancement of the EMF Generation Build Chain Portfolio
79 79 / Portfolio #2 Build Chain Editor & Generator Objective of the Build Portfolio provided by EGF: Facilitating the definition of build chain: 1. A build editor describes a build chain 2. A generator targets a build platform, here Hudson and Buckminster 3. Use of the build chain
80 80 / Portfolio #2 Build Chain Editor & Generator Build Model Definition Build Script Generation Build Automation
81 81 / Portfolio #2 Build Chain Editor & Generator Nomenclature
82 82 / [Practice] Hands On Links: [Video] Build Chain Creation: Examples: [Eclipse] Exercices: EGF Example [Plug-in] org.eclipse.egf.portfolio.eclipse.build.examples
83 83 / General info about EGF Project page: Wiki: Blog:
Introduction 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 informationEGF Tutorial. Benoît Langlois Thales/EPM. EGF Tutorial by Thales; made available under the EPL v1.0
EGF Tutorial Benoît Langlois Thales/EPM Agenda Introduction EGF Structure Pattern 2 What is EGF? EGF (Eclipse Generation Factories) is an Eclipse open source project under the EMFT project. Purpose: provide
More informationEGF Tutorial Reuse and Customization
EGF Tutorial Reuse and Customization Benoît Langlois Thales/EPM Agenda Introduction Pattern Extensibility 2 Need of Reuse and Customization General needs: Need #1: Ability to reuse a portfolio, where a
More informationGeneration Chain. Benoît Langlois Thales/EPM. EGF Tutorial Generation Chain by Thales; made available under the EPL v1.
EGF Tutorial Generation Chain Benoît Langlois Thales/EPM Agenda Principles Generation Customization lipse Generation Fac ctories Thales Corp porate Services/EPM Generation Chain Extensibility 2 Agenda
More informationEGF Creation Review. Benoît Langlois - Thales/TCS/EPM. April 22, 2009
EGF Creation Review Benoît Langlois - Thales/TCS/EPM April 22, 2009 Communication Channel URL: http://www.eclipse.org/newsportal/thread.php?group=eclipse.egf Agenda Executive Summary Requirements Mentors
More informationEMF GENERATION PORTFOLIO
Author: Benoît Langlois benoit.langlois@thalesgroup.com Version: 1.0 DEFINITION The EMF Generation Portfolio is an EGF-based EMF Generation which facilitates the definition and maintenance of EMF Generations
More informationCONCERNS The designer functionally assembles basic services. The designer executes tasks. The developer writes basic services in a language.
Author: Benoît Langlois benoit.langlois@thalesgroup.com Version: 1.0 DEFINITION A task is a low level service with an implementation. OBJECTIVES The objectives of a task are to: Execute low level services
More informationEMF course - PACT. Etienne Borde
EMF course - PACT Etienne Borde www.etienneborde.fr Objectives Collective software development requires to focus on integration. John develops functionality A; Mike develops functionality B How to ensure
More informationDominique Blouin Etienne Borde
Dominique Blouin Etienne Borde dominique.blouin@telecom-paristech.fr etienne.borde@telecom-paristech.fr Institut Mines-Télécom Content Domain specific Languages in a Nutshell Overview of Eclipse Modeling
More informationCISC836: Models in Software Development: Methods, Techniques and Tools
CISC836: Models in Software Development: Methods, Techniques and Tools Topic 4: Code Generation with EMF Meta modeling Languages for meta models: Ecore Using EMF and Ecoreto define a data model Using EMF
More informationEMFT Mint (Incubation) 0.7 Ganymede Simultaneous Release Review
EMFT Mint (Incubation) 0.7 Ganymede Simultaneous Release Review 4 June, 2007 1 Agenda Talking Points Features Non-Code Aspects APIs Architectural Issues Tool Usability End-of-Life Bugzilla UI Usability
More informationChristian Doppler Laboratory
Christian Doppler Laboratory Software Engineering Integration For Flexible Automation Systems AutomationML Models (in EMF and EA) for Modelers and Software Developers Emanuel Mätzler Institute of Software
More informationBLU AGE 2009 Edition Agile Model Transformation
BLU AGE 2009 Edition Agile Model Transformation Model Driven Modernization for Legacy Systems 1 2009 NETFECTIVE TECHNOLOGY -ne peut être copiésans BLU AGE Agile Model Transformation Agenda Model transformation
More informationDominique Blouin Etienne Borde
Dominique Blouin Etienne Borde SE206: Code Generation Techniques dominique.blouin@telecom-paristech.fr etienne.borde@telecom-paristech.fr Institut Mines-Télécom Content Introduction Domain specific Languages
More informationCompositional Model Based Software Development
Compositional Model Based Software Development Prof. Dr. Bernhard Rumpe http://www.se-rwth.de/ Seite 2 Our Working Groups and Topics Automotive / Robotics Autonomous driving Functional architecture Variability
More informationwith openarchitectureware
Model-Driven Development with openarchitectureware Markus Völter voelter@acm.orgorg www.voelter.de Sven Efftinge sven@efftinge.de www.efftinge.de Bernd Kolb bernd@kolbware.de www.kolbware.de 2006-7 Völter,
More informationIntroduction to Model Driven Engineering using Eclipse. Frameworks
Introduction to Model Driven Engineering using Eclipse Model Driven Development Generator s Bruce Trask Angel Roman MDE Systems Abstraction Model Driven Development Refinement 1 Part I Agenda What is Model
More informationKnowledge Discovery: How to Reverse-Engineer Legacy Systems
Knowledge Discovery: How to Reverse-Engineer Legacy Systems Hugo Bruneliere, Frédéric Madiot INRIA & MIA-Software 1 Context of this work Knowledge Discovery: How To Reverse-Engineer Legacy Sytems The present
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 informationEclipse b3. Eclipse Project Creation Review. November, 2009 Henrik Lindberg, Cloudsmith Inc. Project Creation Review
Eclipse b3 Eclipse Project Creation Review November, 2009 Henrik Lindberg, Cloudsmith Inc 2009 Cloudsmith Inc. Made available under EPL Public License v1.0 1 b3 objectives to develop a new generation of
More informationEMFT 1.0 Release Review (OCL, Query, Transaction, and Validation)
EMFT 1.0 Release Review (OCL, Query, Transaction, and Validation) June 16, 2006 Christian Damus EMFT Developer IBM, Ottawa 1 EMFT 1.0 Release Review 2006 by IBM Corporation, made available under the EPL
More informationSCA Tools project Creation Review. July
SCA Tools project Creation Review July 23 2008 2008 by Obeo made available under the EPL v1.0 July 2008 Contents In a nutshell Goals and scope Architecture Code contribution Committers Contributors Interested
More informationThe Eclipse Modeling Framework and MDA Status and Opportunities
The Eclipse Modeling Framework and MDA Status and Opportunities David Frankel Consulting df@davidfrankelconsulting.com www.davidfrankelconsulting.com Portions adapted from the book Model Driven Architecture:
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 EMF. Creating Model using EMF. Our Domain model used to showcase this use case is as shown below in fig.1
INTRODUCTION TO EMF Creating Model using EMF This is the basic method of creating the Model instance using EMF (Eclipse Modelling Framework). In this tutorial we are going to explain the following, 1.
More informationECLIPSE MODELING PROJECT
ECLIPSE MODELING PROJECT A Domain-Specific Language Toolkit Richard С. Gronback AAddison-Wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich Pans Madrid
More informationSCALE. A language for dynamic composition of heterogeneous services
A language for dynamic composition of heterogeneous services Contents 1 Introduction...4 1.1 Heterogeneous Service Landscape...5 1.2 Composition of heterogeneous services...7 2 Guiding Concepts and Central
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 informationEMF Europa Simultaneous Release
EMF 2.3.0 Europa Simultaneous Release 6 June, 2007 Release Review revision 2.3.1 17 January, 2007 1 Europa Simultaneous Release 2007 by IBM Corporation, made available under the EPL v1.0 EMF - Europa Release
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 informationIntroduction to OpenArchitectureWare
Introduction to OpenArchitectureWare Dr. Neil Loughran Neil.Loughran@sintef.no 20 th April 2009 ICT 1 Objective To give some insights into an alternative model transformation approach i.e. OpenArchitectureWare
More informationIP Log for modeling.mdt.modisco Release Indigo
IP Log for modeling.mdt.modisco Release Indigo Licenses Eclipse Public License v1.0 Third-Party Code CQ Third-Party Code License Use 3636 3637 3702 3994 3997 4192 4271 4524 Apache Commons JXPath Version:
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 informationDSM model-to-text generation: from MetaDepth to Android with EGL
DSM model-to-text generation: from MetaDepth to Android with EGL Rafael Ugaz Antwerp University (Belgium), rafaelugaz@gmail.com Abstract This article describes the process of a specific model-to-text transformation
More informationKermeta. in compiled mode
Kermeta in compiled mode Cyril Faucher IRISA Lab / INRIA Rennes, France Triskell Group Kermeta Day - April 2nd, 2009 1 Outline Motivation Compilation process: Kmt to Java/EMF plugin Need of a model to
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 informationIBM Rational Software Architect
Unifying all aspects of software design and development IBM Rational Software Architect A complete design & development toolset Incorporates all the capabilities in IBM Rational Application Developer for
More informationAcceleo Galileo Simultaneous Release
Acceleo 0.8.0 Galileo Simultaneous Release Jonathan Musset Release Review : June 10, 2009 C om m unic a tion C ha nnel :e c lip s e.m o d e lin g.m 2 t n e w s g ro u p P roc es s D oc um enta tion : h
More informationModif Documentation. Refactoring User Guide
Modif Documentation - Refactoring User Guide This document explains the steps for using ModifRoundtrip for a Metamodel Refactoring June, 2015 by Paola Vallejo, Jean Philippe Babau Modif Documentation-
More informationSocket attaches to a Ratchet. 2) Bridge Decouple an abstraction from its implementation so that the two can vary independently.
Gang of Four Software Design Patterns with examples STRUCTURAL 1) Adapter Convert the interface of a class into another interface clients expect. It lets the classes work together that couldn't otherwise
More informationTowards a Unifying Model Transformation Bus
Towards a Unifying Model Transformation Bus Māris Jukšs 1, Bruno Barroca 1, Clark Verbrugge 1, Hans Vangheluwe 2,1 1 {mjukss,bbarroca,clump,hv}@cs.mcgill.ca School of Computer Science, McGill University
More informationThe Galilean Moons of Eclipse
The Galilean Moons of Eclipse Wayne Beaton The Eclipse Foundation Evangelist Director, Committer Community Agenda Ganymede New and Noteworthy Components/Equinox/OSGi Demo Questions What is Galileo? Simultaneous
More informationObject-Oriented Design
Object-Oriented Design Lecturer: Raman Ramsin Lecture 20: GoF Design Patterns Creational 1 Software Patterns Software Patterns support reuse of software architecture and design. Patterns capture the static
More informationEMF Ganymede Simultaneous Release
EMF 2.4.0 Ganymede Simultaneous Release June 4 th, 2008 Ganymede Release Talking Points Noteworthy New Features Support for Content Types Applications using EMF can now register its resources using content
More informationThe etrice Eclipse Project Proposal
The etrice Eclipse Project Proposal Dipl.-Ing. Thomas Schütz, Protos Software GmbH Eclipse Embedded Day 2010, Stuttgart Agenda Motivation Scope of etrice ROOM Language Codegenerators Middleware Realization
More informationEMF Compare Galileo Simultaneous Release
EMF Compare 1.0.0 Galileo Simultaneous Release Cédric Brun Release Review : June 10th, 2009 Communication Channel : eclipse.modeling.emft newsgroup Process Documentation : http://www.eclipse.org/projects/dev_process/development_process.php
More information(Meta)Models between MetaEdit+
The Interchange of (Meta)Models between MetaEdit+ and Eclipse EMF Heiko Kern kern@informatik.uni-leipzig.de ni ig Nashville, Tennessee, 10/19/2008 1 Agenda 1. Introduction 2. MetaEdit-EMF-Bridge EMF 3.
More informationLessons learned from building Eclipse-based add-ons for commercial modeling tools
Lessons learned from building Eclipse-based add-ons for commercial modeling tools (from a technology perspective) István Ráth Ákos Horváth EclipseCon France June 14 2018 MagicDraw A popular modeling tool
More informationModellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico
Modellistica Medica Maria Grazia Pia INFN Genova Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003 Lezione 9 OO modeling Design Patterns Structural Patterns Behavioural Patterns
More informationIP Log for modeling.mdt.modisco
IP Log for modeling.mdt.modisco Helios Release June 2010 Licenses Eclipse Public License v1.0 Third-Party Code CQ Third-Party Code License Use 3636 3637 3702 3994 3997 Apache Commons JXPath Version: 1.2
More informationEPL 603 TOPICS IN SOFTWARE ENGINEERING. Lab 6: Design Patterns
EPL 603 TOPICS IN SOFTWARE ENGINEERING Lab 6: Design Patterns Links to Design Pattern Material 1 http://www.oodesign.com/ http://www.vincehuston.org/dp/patterns_quiz.html Types of Design Patterns 2 Creational
More informationKermeta tutorial. How to create an EMF meta model? François Tanguy, Didier Vojtisek, Zoé Drey, Marie Gouyette. Abstract
Kermeta tutorial How to create an EMF meta model? François Tanguy, Didier Vojtisek, Zoé Drey, Marie Gouyette Abstract This tutorial show how to create an EMF model for the FSM example. Published Build
More informationBIG MODELS AN ALTERNATIVE APPROACH
2. BIG MODELS AN ALTERNATIVE APPROACH Whitepaper Eclipse Summit 2008 Modeling Symposium Jos Warmer, Ordina (jos.warmer@ordina.nl) Abstract Scaling up modeling within project runs into many practical problems.
More informationSCA Tools: new & noteworthy
SCA Tools: new & noteworthy Vincent Zurczak ( EBM WebSourcing ) A large part of the SCA Tools project was implemented in the scope of the SCOrWare project funded by the French Research National Agency
More informationBEAWebLogic. Portal. Overview
BEAWebLogic Portal Overview Version 10.2 Revised: February 2008 Contents About the BEA WebLogic Portal Documentation Introduction to WebLogic Portal Portal Concepts.........................................................2-2
More informationJAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP
2013 Empowering Innovation DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP contact@dninfotech.com www.dninfotech.com 1 JAVA 500: Core JAVA Java Programming Overview Applications Compiler Class Libraries
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 informationThe New Generation of the Eclipse Platform. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék
The New Generation of the Eclipse Platform Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Eclipse RCP For developing client applications o Based on the Eclipse
More informationModel handling with EMF
Model handling with EMF An introduction to the Eclipse Modeling Framework ATLAS group (INRIA & LINA), University of Nantes France http://www.sciences.univ-nantes.fr/lina/atl/!1 Context of this work The
More informationChapter 3. Interactive Software Development Assistants Logic-based Software Representation. Logic-based Software Analysis
Advanced Logic Programming Summer semester 2012 R O O T S Chapter 3. Logic-based Analysis Interactive Development Assistants Logic-based Representation Logic-based Analysis Logic-based Transformation Motivation
More informationPOAD Book: Chapter 4: Design Patterns as Components Chapter 5: Visual Design Models
POAD Book: Chapter 4: Design Patterns as Components Chapter 5: Visual Design Models Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU Outline Chapter 4: Design Patterns
More informationPlan. Language engineering and Domain Specific Languages. Language designer defines syntax. How to define language
Plan Language engineering and Domain Specific Languages Perdita Stevens School of Informatics University of Edinburgh 1. Defining languages 2. General purpose languages vs domain specific languages 3.
More informationOn the link between Architectural Description Models and Modelica Analyses Models
On the link between Architectural Description Models and Modelica Analyses Models Damien Chapon Guillaume Bouchez Airbus France 316 Route de Bayonne 31060 Toulouse {damien.chapon,guillaume.bouchez}@airbus.com
More informationJBPM Course Content. Module-1 JBPM overview, Drools overview
JBPM Course Content Module-1 JBPM overview, Drools overview JBPM overview Drools overview Community projects Vs Enterprise projects Eclipse integration JBPM console JBPM components Getting started Downloads
More informationApache Wink Developer Guide. Draft Version. (This document is still under construction)
Apache Wink Developer Guide Software Version: 1.0 Draft Version (This document is still under construction) Document Release Date: [August 2009] Software Release Date: [August 2009] Apache Wink Developer
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 informationSoftware Engineering
Software Engineering chap 4. Software Reuse 1 SuJin Choi, PhD. Sogang University Email: sujinchoi@sogang.ac.kr Slides modified, based on original slides by Ian Sommerville (Software Engineering 10 th Edition)
More informationTopics in Object-Oriented Design Patterns
Software design Topics in Object-Oriented Design Patterns Material mainly from the book Design Patterns by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides; slides originally by Spiros Mancoridis;
More information"Charting the Course... Mastering EJB 3.0 Applications. Course Summary
Course Summary Description Our training is technology centric. Although a specific application server product will be used throughout the course, the comprehensive labs and lessons geared towards teaching
More informationFrom Models to Components. Rapid Service Creation with
From Models to Components Rapid Service Creation with Marc Born, Olaf Kath {born kath}@ikv.de Evolutions in Software Construction C O M P L E X I T Y Model Driven Architectures Meta Object Facility and
More informationImplementing a Web Service p. 110 Implementing a Web Service Client p. 114 Summary p. 117 Introduction to Entity Beans p. 119 Persistence Concepts p.
Acknowledgments p. xvi Introduction p. xvii Overview p. 1 Overview p. 3 The Motivation for Enterprise JavaBeans p. 4 Component Architectures p. 7 Divide and Conquer to the Extreme with Reusable Services
More informationEMC Documentum Composer
EMC Documentum Composer Version 6.0 SP1.5 User Guide P/N 300 005 253 A02 EMC Corporation Corporate Headquarters: Hopkinton, MA 01748 9103 1 508 435 1000 www.emc.com Copyright 2008 EMC Corporation. All
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 informationI Got My Mojo Workin'
I Got My Mojo Workin' Gary Murphy Hilbert Computing, Inc. http://www.hilbertinc.com/ glm@hilbertinc.com Gary Murphy I Got My Mojo Workin' Slide 1 Agenda Quick overview on using Maven 2 Key features and
More informationLanguage engineering and Domain Specific Languages
Language engineering and Domain Specific Languages Perdita Stevens School of Informatics University of Edinburgh Plan 1. Defining languages 2. General purpose languages vs domain specific languages 3.
More informationApplication-Oriented System Design
Application-Oriented System Design LISHA/UFSC Prof. Dr. Antônio Augusto Fröhlich March 2004 March 2004 http://www.lisha.ufsc.br 29 Application-Oriented Operating Systems "An application-oriented operating
More informationApplying Model Driven Technologies in the Creation. of Domain Specific Modeling Languages
Applying Model Driven Technologies in the Creation Model Driven Development Language Editor Generator Abstraction Model Driven Development Refinement of Domain Specific Modeling Languages Bruce Trask Angel
More informationA Reconnaissance on Design Patterns
A Reconnaissance on Design Patterns M.Chaithanya Varma Student of computer science engineering, Sree Vidhyanikethan Engineering college, Tirupati, India ABSTRACT: In past decade, design patterns have been
More informationWSDM = Web Services Distributed Management, an open standard/specified ratified by OASIS
Proposal Overview: Move WSDM Tooling, WSDM extensions to Managed Agent Explorer (MAX) and WS-Notification provider to the TPTP Notification Broker to COSMOS incubator project Leave base MAX framework and
More informationThe Next Generation of Eclipse: e4. Mike Milinkovich Executive Director Eclipse Foundation
The Next Generation of Eclipse: e4 Mike Milinkovich Executive Director Eclipse Foundation 1 Changing Environment New Technologies: RIA Applications and Cloud Computing AJAX, Flash, Silverlight Amazon E2
More informationModelling the Reactive Behaviour of Scoped User Interfaces with Hierarchically-linked Statecharts
Modelling the Reactive Behaviour of Scoped User Interfaces with Hierarchically-linked Statecharts Jacob Beard McGill University Modelling, Simulation and Design Lab (MSDL) 08/27/2009 Challenges With UI
More informationJetBrains TeamCity Comparison
JetBrains TeamCity Comparison TeamCity is a continuous integration and continuous delivery server developed by JetBrains. It provides out-of-the-box continuous unit testing, code quality analysis, and
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 informationEMC Documentum Composer
EMC Documentum Composer Version 6 SP1 User Guide P/N 300 005 253 A01 EMC Corporation Corporate Headquarters: Hopkinton, MA 01748 9103 1 508 435 1000 www.emc.com Copyright 2008 EMC Corporation. All rights
More information2.5.1: Reforms in Continuous Internal Evaluation (CIE) System at the Institutional Level
D Y Patil Institute of Engineering and Technology, Ambi, Pune Address:Sr.No.124 & 126, A/p- Ambi, Tal-Maval, MIDC Road, TalegaonDabhade, Pune-410506, Maharashtra, India Tel: 02114306229, E-mail : info@dyptc.edu.in
More informationEclipse SOA Tools Platform Project
Eclipse SOA Tools Platform Project Oisín Hurley IONA Technologies http://www.iona.com 2007 by «Author»; made available under the EPL v1.0 Date Other Information, if necessary A Brief Introduction to SOA
More informationPapyrus: Advent of an Open Source IME at Eclipse (Redux)
Papyrus: Advent of an Open Source IME at Eclipse (Redux) Kenn Hussey Eclipse Modeling Day, Toronto November 18, 2009 A Perfect Storm for Tools Core technologies like MOF and UML are evolving Microsoft
More informationObject-oriented Software Design Patterns
Object-oriented Software Design Patterns Concepts and Examples Marcelo Vinícius Cysneiros Aragão marcelovca90@inatel.br Topics What are design patterns? Benefits of using design patterns Categories and
More informationModel Transformations for Embedded System Design and Virtual Platforms
1 Model Transformations for Embedded System Design and Virtual Platforms Nikos Matragkas, Ian Gray, Richard Paige, Dimitris Kolovos, Neil Audsley, Leandro Indrusiak Department of Computer Science The University
More informationSemantic SOA - Realization of the Adaptive Services Grid
Semantic SOA - Realization of the Adaptive Services Grid results of the final year bachelor project Outline review of midterm results engineering methodology service development build-up of ASG software
More information1Z Oracle IT Architecture SOA 2013 Essentials Exam Summary Syllabus Questions
1Z0-475 Oracle IT Architecture SOA 2013 Essentials Exam Summary Syllabus Questions Table of Contents Introduction to 1Z0-475 Exam on Oracle IT Architecture SOA 2013 Essentials 2 Oracle 1Z0-475 Certification
More informationAn Integrated Approach to Managing Windchill Customizations. Todd Baltes Lead PLM Technical Architect SRAM
An Integrated Approach to Managing Windchill Customizations Todd Baltes Lead PLM Technical Architect SRAM Event hashtag is #PTCUSER10 Join the conversation! Topics What is an Integrated Approach to Windchill
More informationModel-Code-Deploy platform. Product Overview. Features. UML support. Requirements management
Product Overview Model-Code-Deploy platform Visual Paradigm for UML (VP-UML) is a powerful, cross-platform and yet the most easy-to-use visual UML modeling and CASE tool. VP-UML provides software developers
More informationEnterprise Architect Training Courses
On-site training from as little as 135 per delegate per day! Enterprise Architect Training Courses Tassc trainers are expert practitioners in Enterprise Architect with over 10 years experience in object
More informationModel Driven Development with EMF and EclipseLink (experiences in MDD and generating user interfaces)
Model Driven Development with EMF and EclipseLink (experiences in MDD and generating user interfaces) Suresh Krishna, Oracle Inc. EclipseCon, 03.20.2008. 1 Background : Model acts as the heart of the business
More informationNew and Noteworthy. Peter Friese Bernd Kolb
New and Noteworthy Peter Friese peter.friese@gentleware.com http://www.gentleware.com Bernd Kolb b.kolb@kolbware.de http://www.kolbware.de What is openarchitectureware? oaw Languages New: AOP Mechanisms
More informationInheritance (Chapter 7)
Inheritance (Chapter 7) Prof. Dr. Wolfgang Pree Department of Computer Science University of Salzburg cs.uni-salzburg.at Inheritance the soup of the day?! Inheritance combines three aspects: inheritance
More informationNotes. Submit homework on Blackboard The first homework deadline is the end of Sunday, Feb 11 th. Final slides have 'Spring 2018' in chapter title
Notes Ask course content questions on Slack (is651-spring-2018.slack.com) Contact me by email to add you to Slack Make sure you checked Additional Links at homework page before you ask In-class discussion
More informationSymmetric Language-Aware Aspects for Modular Code Generators
Symmetric Language-Aware Aspects for Modular Code Generators Steffen Zschaler King s College London, Department of Informatics, London, UK szschaler@acm.org Awais Rashid School of Computing and Communications,
More informationAn Introduction to Software Architecture By David Garlan & Mary Shaw 94
IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark a class discussion An Introduction to
More information