1. Deploying Eclipse Modelling on an
industrial scale with software factories
EGF: a Generation Framework
Benoît Langlois – Thales/EPM
intranet.corp.thales/epm
2. 2
EGF: a Generation Framework – March 26th, 2009 – Thales Corporate Services - EPM
Demo
Principles of EGF
Agenda
3. 3
EGF: a Generation Framework – March 26th, 2009 – Thales Corporate Services - EPM
Demo
Principles of EGF
Agenda
4. History
Tooling for Mass-Producing Software at Thales
EGF: a Generation Framework – March 26th, 2009 – Thales Corporate Services - EPM
Generator portfolio
Tool Infrastructure Generation
Software Factory Portfolio Document Generation
Code, Testing
…
Tool Factory Engine
Eclipse
4
5. History
Tooling for Mass-Producing Software at Thales
EGF: a Generation Framework – March 26th, 2009 – Thales Corporate Services - EPM
Generator portfolio
Tool Infrastructure Generation
Software Factory Portfolio Document Generation
Code, Testing
…
EGF [Eclipse Generation Promotion as an
Factories] Eclipse Component
Eclipse
5
6. Objective of EGF
The EGF (Eclipse Generation Factories) component is a proposed
open source project under the EMFT project to provide a model-
based generation framework
EGF: a Generation Framework – March 26th, 2009 – Thales Corporate Services - EPM
Objective: supporting complex, large-scale and customizable
generations
In order to meet this objective, EGF:
Does not provide a new transformation engine or DSL editor
Reusing them
Provides an extensible generation structure
Provides mechanisms of generation customization
Promotes the constitution of factory portfolios in order to capitalize on
generation solutions
6
7. Factory Component
Deployable unit of generation with a clear objective of generation
Unit of generation with a clear contract
Assembly of factory components
EGF: a Generation Framework – March 26th, 2009 – Thales Corporate Services - EPM
Delegation
Creation of heterogeneous and complex generation chains
Explicit declaration of generation data organised by viewpoints
Orchestration of the generation with a production plan
Factory Component Lifecycle: edition and execution, including
validation
7
9. Factory Component Structure
Factory Component
Generation Viewpoint
EGF: a Generation Framework – March 26th, 2009 – Thales Corporate Services - EPM
= FC Contract
=
Model
Generation Pattern
Model Mapping
e.g., license, deployment,
Contrib.: One’s Viewpoint feature model
Orchestration
0101
Viewpoints: Explicit declaration of generation data
A viewpoint conforms to a language
Associated editor
9
10. Factory Component Structure
Factory Component
Generation Viewpoint
EGF: a Generation Framework – March 26th, 2009 – Thales Corporate Services - EPM
Orchestration
0101
Production Plan
FC invocation
Java Task
0101
Contrib.: Orchestration Type
10
11. Generation Pattern
Generation Pattern: Generation solution to a recurrent generation
problem. A pattern has parameters, condition, and an
implementation. For the implementation, EGF proposes by default a
model-to-text transformation, Jet-based today.
EGF: a Generation Framework – March 26th, 2009 – Thales Corporate Services - EPM
Pattern
Pattern customization:
New methods
Sub- Method overload
Pattern New method invocation
Patterns are defined in a generation pattern viewpoint
Patterns are executed by a pattern execution FC
11
12. EGF: a Generation Framework – March 26th, 2009 – Thales Corporate Services - EPM
12
Demo
Principles of EGF
Agenda
13. Case Study
Model Mgt Generator
Model API
Model
EGF: a Generation Framework – March 26th, 2009 – Thales Corporate Services - EPM
Model
Library Model, Edit, Editor
Library Application Model Edit Generator
Model Editor Generator
Domain Diagram Generator Diagram
Model Documentation
Domain HTML Web-Site Generator
13
14. EGF: a Generation Framework – March 26th, 2009 – Thales Corporate Services - EPM
14
Factory Component