eclipsecon 2009 - egf presentation
TRANSCRIPT
intranet.corp.thales/epm
Deploying Eclipse Modelling on an industrial scale with software factoriesEGF: a Generation FrameworkBenoît Langlois – Thales/EPM
2
EGF:
a G
ener
atio
nFr
amew
ork
–M
arch
26t
h, 2
009
–Th
ales
Cor
pora
teSe
rvic
es -
EPM
Agenda
Principles of EGF
Demo
3
EGF:
a G
ener
atio
nFr
amew
ork
–M
arch
26t
h, 2
009
–Th
ales
Cor
pora
teSe
rvic
es -
EPM
Agenda
Principles of EGF
Demo
4
EGF:
a G
ener
atio
nFr
amew
ork
–M
arch
26t
h, 2
009
–Th
ales
Cor
pora
teSe
rvic
es -
EPM
History
Eclipse
Tool Factory
Software Factory PortfolioGenerator portfolioTool Infrastructure GenerationDocument GenerationCode, Testing…
Engine
Tooling for Mass-Producing Software at Thales
5
EGF:
a G
ener
atio
nFr
amew
ork
–M
arch
26t
h, 2
009
–Th
ales
Cor
pora
teSe
rvic
es -
EPM
History
Eclipse
EGF [Eclipse Generation Factories]
Software Factory PortfolioGenerator portfolioTool Infrastructure GenerationDocument GenerationCode, Testing…
Tooling for Mass-Producing Software at Thales
Promotion as anEclipse Component
6
EGF:
a G
ener
atio
nFr
amew
ork
–M
arch
26t
h, 2
009
–Th
ales
Cor
pora
teSe
rvic
es -
EPM
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
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
7
EGF:
a G
ener
atio
nFr
amew
ork
–M
arch
26t
h, 2
009
–Th
ales
Cor
pora
teSe
rvic
es -
EPM
Factory Component
Deployable unit of generation with a clear objective of generation Unit of generation with a clear contract Assembly of factory components 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
8
EGF:
a G
ener
atio
nFr
amew
ork
–M
arch
26t
h, 2
009
–Th
ales
Cor
pora
teSe
rvic
es -
EPM
Factory Component Structure
0 1 0 1
Factory Component
Generation Viewpoint
Orchestration
9
EGF:
a G
ener
atio
nFr
amew
ork
–M
arch
26t
h, 2
009
–Th
ales
Cor
pora
teSe
rvic
es -
EPM
Factory Component Structure
0 1 0 1
==
Factory Component
FC Contract
ModelGeneration Pattern
Model Mapping
Orchestration
Contrib.: One’s Viewpoint
Generation Viewpoint
Viewpoints: Explicit declaration of generation dataA viewpoint conforms to a languageAssociated editor
e.g., license, deployment, feature model
10
EGF:
a G
ener
atio
nFr
amew
ork
–M
arch
26t
h, 2
009
–Th
ales
Cor
pora
teSe
rvic
es -
EPM
Factory Component Structure
0 1 0 1
Factory Component
Generation Viewpoint
OrchestrationProduction Plan
FC invocation
0 1 0 1 Java Task
Contrib.: Orchestration Type
11
EGF:
a G
ener
atio
nFr
amew
ork
–M
arch
26t
h, 2
009
–Th
ales
Cor
pora
teSe
rvic
es -
EPM
Generation Pattern
Pattern
Sub-Pattern
Pattern customization:New methodsMethod overloadNew method invocation
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.
Patterns are defined in a generation pattern viewpointPatterns are executed by a pattern execution FC
12
EGF:
a G
ener
atio
nFr
amew
ork
–M
arch
26t
h, 2
009
–Th
ales
Cor
pora
teSe
rvic
es -
EPM
Agenda
Principles of EGF
Demo
13
EGF:
a G
ener
atio
nFr
amew
ork
–M
arch
26t
h, 2
009
–Th
ales
Cor
pora
teSe
rvic
es -
EPM
Case Study
Model Mgt Generator
Model Edit Generator
Model Editor Generator
Domain Diagram Generator
Domain HTML Web-Site Generator
Library Application Library Model, Edit, Editor
ModelModel
Model API
Model Documentation
Diagram
14
EGF:
a G
ener
atio
nFr
amew
ork
–M
arch
26t
h, 2
009
–Th
ales
Cor
pora
teSe
rvic
es -
EPM
Factory Component