Start Up Benoît Langlois / Thales Global Services Eclipse (EMFT) EGF 2011 by Thales; made available under the EPL v1.

Similar documents
Introduction to EGF. Benoît Langlois / Thales Global Services.

EGF Tutorial. Benoît Langlois Thales/EPM. EGF Tutorial by Thales; made available under the EPL v1.0

EGF Tutorial Reuse and Customization

Generation Chain. Benoît Langlois Thales/EPM. EGF Tutorial Generation Chain by Thales; made available under the EPL v1.

EGF Creation Review. Benoît Langlois - Thales/TCS/EPM. April 22, 2009

EMF GENERATION PORTFOLIO

CONCERNS The designer functionally assembles basic services. The designer executes tasks. The developer writes basic services in a language.

EMF course - PACT. Etienne Borde

Dominique Blouin Etienne Borde

CISC836: Models in Software Development: Methods, Techniques and Tools

EMFT Mint (Incubation) 0.7 Ganymede Simultaneous Release Review

Christian Doppler Laboratory

BLU AGE 2009 Edition Agile Model Transformation

Dominique Blouin Etienne Borde

Compositional Model Based Software Development

with openarchitectureware

Introduction to Model Driven Engineering using Eclipse. Frameworks

Knowledge Discovery: How to Reverse-Engineer Legacy Systems

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

Eclipse b3. Eclipse Project Creation Review. November, 2009 Henrik Lindberg, Cloudsmith Inc. Project Creation Review

EMFT 1.0 Release Review (OCL, Query, Transaction, and Validation)

SCA Tools project Creation Review. July

The Eclipse Modeling Framework and MDA Status and Opportunities

Introduction to MDE and Model Transformation

INTRODUCTION TO EMF. Creating Model using EMF. Our Domain model used to showcase this use case is as shown below in fig.1

ECLIPSE MODELING PROJECT

SCALE. A language for dynamic composition of heterogeneous services

challenges in domain-specific modeling raphaël mannadiar august 27, 2009

EMF Europa Simultaneous Release

Sequence Diagram Generation with Model Transformation Technology

Introduction to OpenArchitectureWare

IP Log for modeling.mdt.modisco Release Indigo

Applications Of Model Weaving Techniques

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

Kermeta. in compiled mode

AADL Graphical Editor Design

IBM Rational Software Architect

Acceleo Galileo Simultaneous Release

Modif Documentation. Refactoring User Guide

Socket attaches to a Ratchet. 2) Bridge Decouple an abstraction from its implementation so that the two can vary independently.

Towards a Unifying Model Transformation Bus

The Galilean Moons of Eclipse

Object-Oriented Design

EMF Ganymede Simultaneous Release

The etrice Eclipse Project Proposal

EMF Compare Galileo Simultaneous Release

(Meta)Models between MetaEdit+

Lessons learned from building Eclipse-based add-ons for commercial modeling tools

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

IP Log for modeling.mdt.modisco

EPL 603 TOPICS IN SOFTWARE ENGINEERING. Lab 6: Design Patterns

Kermeta tutorial. How to create an EMF meta model? François Tanguy, Didier Vojtisek, Zoé Drey, Marie Gouyette. Abstract

BIG MODELS AN ALTERNATIVE APPROACH

SCA Tools: new & noteworthy

BEAWebLogic. Portal. Overview

JAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP

ATL: Atlas Transformation Language. ATL User Manual

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

Model handling with EMF

Chapter 3. Interactive Software Development Assistants Logic-based Software Representation. Logic-based Software Analysis

POAD Book: Chapter 4: Design Patterns as Components Chapter 5: Visual Design Models

Plan. Language engineering and Domain Specific Languages. Language designer defines syntax. How to define language

On the link between Architectural Description Models and Modelica Analyses Models

JBPM Course Content. Module-1 JBPM overview, Drools overview

Apache Wink Developer Guide. Draft Version. (This document is still under construction)

Introduction to Dependable Systems: Meta-modeling and modeldriven

Software Engineering

Topics in Object-Oriented Design Patterns

"Charting the Course... Mastering EJB 3.0 Applications. Course Summary

From Models to Components. Rapid Service Creation with

Implementing a Web Service p. 110 Implementing a Web Service Client p. 114 Summary p. 117 Introduction to Entity Beans p. 119 Persistence Concepts p.

EMC Documentum Composer

ADT: Eclipse development tools for ATL

I Got My Mojo Workin'

Language engineering and Domain Specific Languages

Application-Oriented System Design

Applying Model Driven Technologies in the Creation. of Domain Specific Modeling Languages

A Reconnaissance on Design Patterns

WSDM = Web Services Distributed Management, an open standard/specified ratified by OASIS

The Next Generation of Eclipse: e4. Mike Milinkovich Executive Director Eclipse Foundation

Modelling the Reactive Behaviour of Scoped User Interfaces with Hierarchically-linked Statecharts

JetBrains TeamCity Comparison

UNIT II. Syllabus. a. An Overview of the UML: Visualizing, Specifying, Constructing, Documenting

EMC Documentum Composer

2.5.1: Reforms in Continuous Internal Evaluation (CIE) System at the Institutional Level

Eclipse SOA Tools Platform Project

Papyrus: Advent of an Open Source IME at Eclipse (Redux)

Object-oriented Software Design Patterns

Model Transformations for Embedded System Design and Virtual Platforms

Semantic SOA - Realization of the Adaptive Services Grid

1Z Oracle IT Architecture SOA 2013 Essentials Exam Summary Syllabus Questions

An Integrated Approach to Managing Windchill Customizations. Todd Baltes Lead PLM Technical Architect SRAM

Model-Code-Deploy platform. Product Overview. Features. UML support. Requirements management

Enterprise Architect Training Courses

Model Driven Development with EMF and EclipseLink (experiences in MDD and generating user interfaces)

New and Noteworthy. Peter Friese Bernd Kolb

Inheritance (Chapter 7)

Notes. Submit homework on Blackboard The first homework deadline is the end of Sunday, Feb 11 th. Final slides have 'Spring 2018' in chapter title

Symmetric Language-Aware Aspects for Modular Code Generators

An Introduction to Software Architecture By David Garlan & Mary Shaw 94

Transcription:

www.thalesgroup.com Start Up Benoît Langlois / Thales Global Services

2 / Introduction EGF Architecture Concepts & Practice EGF Portfolios

3 / Introduction EGF Architecture Concepts & Practice EGF Portfolios

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 / 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 / General info about EGF Project page: http://www.eclipse.org/egf Wiki: http://wiki.eclipse.org/egf Download: by update site from Indigo or by update site from Amalgam

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 / Introduction EGF Architecture Architecture Some issues addressed by EGF Concepts & Practice EGF Portfolios

9 / EGF Architecture EGF Portfolio EGF Engine Extensions EGF Engine

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 / EGF Architecture EGF Portfolio EGF Engine Extensions Meets specific software production needs EGF Engine Language & tools interoperability New types of generation formalisms

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 / 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 / Introduction EGF Architecture Architecture Some issues addressed by EGF Concepts & Practice EGF Portfolios

15 / Generation Composition, Language and Tool Interoperability Factory Component Production Plan (Activity workflow) 0 1 0 1 Language Task Data exchange between heterogeneous activities 0 1 0 1 Tool Task Jet ATL Factory Component Composite Activity Invocation Activity Workflow with Java and Ruby: http://vimeo.com/15705526

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 / 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 / Generation Development in Multi-User Mode Needs Validation Analysis Architecture & Design Build Deployment Factories Development 0 1 0 1 Core Team Member Project Member

19 / Software Factory Engineering Generation Activity Development Development Assembly & Orchestration 0 1 0 1 Use 0 1 0 1 Language Task Factory Component 0 1 0 1 Tool Task Pattern Packaging Management Off-The-Shelf Factories Customization Reuse Portfolio Reuse Factories Project Adaptation

20 / Software Factory Engineering General Architecture of EGF Development & Reuse Process with EGF Example of EGF Factory

21 / Introduction EGF Architecture Concepts & Practice EGF Portfolios

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: http://wiki.eclipse.org/egf_installation

23 / Examples and Portfolio Installation of the Examples Install the examples File/New/Example /EGF Presentation of the EGF Portfolios http://wiki.eclipse.org/egf/portfolio

24 / Introduction EGF Architecture Concepts & Practice Generation Chain Activity Factory Component Task Pattern EGF Portfolios

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 / Introduction EGF Architecture Concepts & Practice Generation Chain Activity Factory Component Task Pattern EGF Portfolios

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 / 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 / Instantiation & Customization of Generation Chains Generation Chain Definition Instantiation Generation Factories Reuse Customization Project Context Portfolio

30 / [Practice] Hands On Links: Video: http://vimeo.com/29472598 For more explanations: Generation Chain Tutorial http://wiki.eclipse.org/egf_tutorial_and_use_cases 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 / Introduction EGF Architecture Concepts & Practice Generation Chain Activity Factory Component Task Pattern EGF Portfolios

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 / 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 / Introduction EGF Architecture Concepts & Practice Generation Chain Activity Factory Component Task Pattern EGF Portfolios

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 / Factory Component Structure Factory Component = Contract container = Viewpoint container Production Plan

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 / 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 / Factory Component Structure Factory Component = Contract container = Viewpoint container Production Plan Production Plan: workflow to describe generation steps Sequential today

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 / In/Output relationships Example Quantity s Properties Amount s Properties

42 / Introduction EGF Architecture Concepts & Practice Generation Chain Activity Factory Component Task Pattern EGF Portfolios

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 / [Practice] Hands On Links: [Video] Video: Activity Creation: http://vimeo.com/15639796 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 / Introduction EGF Architecture Concepts & Practice Generation Chain Activity Factory Component Task Pattern EGF Portfolios

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 / Introduction EGF Architecture Concepts & Practice Generation Chain Activity Factory Component Task Pattern Pattern Structure EGF Portfolios

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 / 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 / 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 / Pattern Structure Specification View Pattern Language Super-pattern Query Parameter

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 / Introduction EGF Architecture Concepts & Practice Generation Chain Activity Factory Component Task Pattern Pattern Structure Pattern Execution EGF Portfolios

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 / 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 / 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 / Introduction EGF Architecture Concepts & Practice Generation Chain Activity Factory Component Task Pattern Pattern Structure Pattern Execution Pattern Relationships EGF Portfolios

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 / Pattern Relationships Pattern Inheritance Pattern Delegation Pattern Injection Pattern Callback delegates injects Pattern Substitution substitutes Pattern Merge merges Pattern Comparison

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 / 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 / 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 / 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 / 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 / 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 / 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 / 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] http://wiki.eclipse.org/egf_tutorial_and_use_cases#egf_patterns

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 / 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 / [Practice] Hands On Links: [Video] Pattern Creation: http://vimeo.com/15664081 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 / Introduction EGF Architecture Concepts & Practice EGF Portfolios Enhancement of the EMF Generation Build Chain Portfolio

72 / Introduction EGF Architecture Concepts & Practice EGF Portfolios Enhancement of the EMF Generation Build Chain Portfolio

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 / 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 / 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 / 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 / [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: http://wiki.eclipse.org/egf_tutorial_and_use_cases#enhanced_emf_ Generation

78 / Introduction EGF Architecture Concepts & Practice EGF Portfolios Enhancement of the EMF Generation Build Chain Portfolio

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 / Portfolio #2 Build Chain Editor & Generator Build Model Definition Build Script Generation Build Automation

81 / Portfolio #2 Build Chain Editor & Generator Nomenclature

82 / [Practice] Hands On Links: [Video] Build Chain Creation: http://vimeo.com/22033124 Examples: [Eclipse] http://wiki.eclipse.org/egf_build_portfolio Exercices: EGF Example [Plug-in] org.eclipse.egf.portfolio.eclipse.build.examples

83 / General info about EGF Project page: http://www.eclipse.org/egf Wiki: http://wiki.eclipse.org/egf Blog: http://blanglois.blogspot.com/ Twitter: @LangloisBenoit