1. CS – Communication & Systèmes / 1DESIGNER, INTEGRATOR, OPERATOR OF MISSION CRITICAL SYSTEMS uk.c-s.fr
ECLIPSE MODELING TECHNOLOGIES
PROPELLING THE NEW GENERATION OF
SPACE DATABASE EDITORS
PRESENTED BY: VINCENT HÉMERY
(ECLIPSE AND MODELING EXPERT)
2. CS – Communication & Systèmes / 2DESIGNER, INTEGRATOR, OPERATOR OF MISSION CRITICAL SYSTEMS uk.c-s.fr
BEST-NG
3. CS – Communication & Systèmes / 3/ 3
AGENDA
Project history
Technical design
Designing the generic model
Mapping the formats
Expressions editor
What’s next?
4. CS – Communication & Systèmes / 4/ 4
1
/ 4
PROJECT HISTORY
Project history
Technical design
Designing the generic model
Mapping the formats
Expressions editor
What’s next?
5. CS – Communication & Systèmes / 5/ 5
PREDECESSOR: BEST
Beyond EAST
›https://logiciels.cnes.fr/content/best
Maintained for CNES and ESA
XIF format (with possible extensions)
›Monitoring & Control extension
Quite old technologies
6. CS – Communication & Systèmes / 6/ 6
BEST
Modeler
WHAT BEST DOES
Exchanged
data
Space
database
model
conforms to
Additional BEST Tools
Data generation, reading,
post-processing…
work with
8. CS – Communication & Systèmes / 8/ 8
BEST-NG NEEDS
Bigger databases > 100 Mbytes
›Best : files < 20 Mbytes
Functional scope as large as BEST
›Unpluggable Monitoring & Control
Several formats
›Need to communicate in XIF, XTCE, and CADS
Better conception
›Expressions and references
9. CS – Communication & Systèmes / 9/ 9
ITERATIVE STEPS
May 2014
Preliminary
study
July 2014
– June 2015
First BEST-NG
implementation
September 2015
– nowadays
BEST-NG as
we know it
EMF or XSD
EMF &
CDO
Distributed
architecture
Multi-domain
Multi-format
MXIF
10. CS – Communication & Systèmes / 10/ 10
2
/ 10
TECHNICAL DESIGN
Project history
Technical design
Designing the generic model
Mapping the formats
Expressions editor
What’s next?
11. CS – Communication & Systèmes / 11/ 11
MULTI-DOMAIN ISSUES
Bitstream structure as a tree
›XIF without extension
Space database
›Packets
›Monitoring
›…
Format specific information
Other mission-specific information
›Like XIF extensions
12. CS – Communication & Systèmes / 12/ 12
MULTI-DOMAIN SOLUTION
Classic DSL (Ecore)
›All concepts in 1 Ecore file
›No multi-domain elements
Profile approach
›Base model element
›Domain concepts as Stereotypes
›Stereotypes applied on base element
DSL Profile approach
13. CS – Communication & Systèmes / 13/ 13
UML PROFILES?
OMG standard
UML not related to domain
›Mapping issues
UML too Complex and too rich
›Model pollution
Implementation violates EMF good practices
›Legacy mode for CDO
›Some Modeling tech might not work
Not customizable
14. CS – Communication & Systèmes / 14/ 14
EMF PROFILES?
EMF Profiles
›Apply Stereotypes on any model element
http://www.modelversioning.org/indexd7a8.html?option=com_conte
nt&view=article&id=69&Itemid=99
Conferences in 2011–2012
Not reliable and … dead
« Metalevel Lifting by Inheritance »
›Problems with CDO…
15. CS – Communication & Systèmes / 15/ 15
OUR OWN PROFILE SOLUTION!
Base metamodel: KISS
Domain concepts as Profiles
Format-specificities as Profiles
EMF good practices
Patch all you want
By the way… shamelessly mimic UML
24. CS – Communication & Systèmes / 24/ 24
PROFILE EDITOR
Provides validation
›Methodology
›Anti-patterns
Useful decorations and actions
Acceleo queries view
Made with Eclipse Sirius
25. CS – Communication & Systèmes / 25/ 25
AND LOTS OF EXPERTISE…
Modeling expertise
Domain expertise
›CNES + Development team
›Numerous meetings
What makes sense in the Generic Model?
What is the best usage?
›E.g. nature & unit on physical type
26. CS – Communication & Systèmes / 26/ 26
4
/ 26
MAPPING THE FORMATS
Project history
Technical design
Designing the generic model
Mapping the formats
Expressions editor
What’s next?
28. CS – Communication & Systèmes / 28/ 28
FORMAT MAPPING
DSL Profile
Extend the correct base element
Add Facet
›Applies on generic model
Move derived information to Facet
Get rid of syntactic sugar
… implement import/export particularities
29. CS – Communication & Systèmes / 29/ 29
5
/ 29
EXPRESSIONS EDITOR
Project history
Technical design
Designing the generic model
Mapping the formats
Expressions editor
What’s next?
31. CS – Communication & Systèmes / 31/ 31
EXPRESSION EDITOR
Xtext is great
Grammar and semantic
Actual model with references
On a model subset
›Virtual resource
›Tooling for context retrieval
32. CS – Communication & Systèmes / 32/ 32
GRAMMARS
Grammar inheritance
Format-specific grammars
› For transformation
› When not translatable
Generic
Expressions
Structured
Data
Expressions
SpaceMC
Expressions
33. CS – Communication & Systèmes / 33/ 33
GRAMMARS AND PROFILES
Weak coupling Profile Grammar
Profile Grammar
›Interface
›Stereotype constraint with Grammar ID
Grammar Profile
›Reference base element
›Keywords and services
34. CS – Communication & Systèmes / 34/ 34
6
/ 34
WHAT’S NEXT?
Project history
Technical design
Designing the generic model
Mapping the formats
Expressions editor
What’s next?
35. CS – Communication & Systèmes / 35/ 35
WHAT’S NEXT?
A real HMI
›Minimal HMI effort in the prototype
›JavaFX Eclipse 4 experiments with lazy loading
A better Name
›
Renewing the whole space database management tools
suite
›Based on BEST-NG
›Using Eclipse Modeling technologies
36. CS – Communication & Systèmes / 36/ 36
CONCLUSION
Merge different visions
Represent different domains
Performance
Domain expertise required
Eclipse modeling technologies
Transformation is a tedious task
›But maintenance should be reduced