3. □ Openflexo – Models Federation
Our vision of Models Federation:
Models crossing technical space boundaries
● connect to heterogeneous models
● freely build new concepts out of existing ones
● design custom representation for them
● provide dedicated tooling to manipulate them
● non-intrusive: existing tooling should not be
replaced or altered
4. □ Openflexo – Modeling space organization
Design Space
Concept Space
Information Space
5. □ Openflexo – Federated Concepts
Virtual Model
OWL Individual
FlexoConcept
Role “A”
Role “B”
Role “C”
EMF EClass
EMF Individual
Federated concept:
● bind together a set of elements through Roles
● carry its own semantics, structure & behaviour
As such: conceptual interoperability emerges from federation
6. □ Openflexo – Any over-simple example?
● Your business is about « cars »
● Unfortunately:
● wheels are defined in tool A
● engines are described in tool B
● You might define a FlexoConcept:
● named « car »
● one role pointing to « wheels » in tool A
● one role pointing to the « engine» in tool B
● And then define tools to manipulate your instances
(and yes, you might need a chassis to hold them together …)
12. □ Openflexo – Technical Infrastructure overview
Openflexo desktop application
(CORE + modules loaded at runtime)
Technology adapters (connectors)
(loaded at run-time)
VE
ViewEditor
flexoviewpointmodeller
...
Openflexo desktop application layer
flexo
UI
FGE
FIB
flexointerfacebuilder
ViewPoint
model
View model
(run-time)
…
flexofoundation
PAMELA (Openflexo modelling framework)
flexopamela
Utilities
flexoutils
GUIs
Tooling
Editors
...
OWL-connector
FML
bindings
FlexoAction layer
Cor
e
GUIs
EMF-connector
Openflexo Core
flexographicalengine
OWL-connector-ui
Editors
flexovieweditor
Other
modules
EMF-connector-ui
Tooling
VPM
ViewPointModeller
FML
bindings
Technology
Model
Technology
Model
13. □ Openflexo – Openflexo infrastructure overview
Virtual Models
(Conceptual abstractions
offered to Design Space)
Virtual Model 2
FlexoConcepts
(EditionPattern)
Model 2
System
Under
Study
Design Layer Conceptual Layer
(Design Space) (Concept Space)
Models Modelling
Elements
[Legacy]
Modelling Layer
(Information Space)
14. □ Openflexo – InformationSpace concepts
● ModellingElement
Elements exposed through technology adapters
(model connector) to the designer, can be used
to build new concepts.
● Resource
(TechnologyAdapterResource)
Source of information, interpreted by a model
connector and exposed as a collection of
ModelingElement
System
Under
Study
● Model and MetaModel (type-safe
ModellingElements)
Source of information, interpreted by a
connector and exposed as a collection of
ModelingElement and conformance
relationships between them. A model is conform
to a(some) given metamodel(s). Only some
technologies offer type-safe ModellingElements.
This conformance relationship is not a
requirement for Openflexo infrastructure.
Models Modelling
Elements
Legacy
Modelling Layer
(Information Space)
15. □ Openflexo – ConceptSpace concepts
● FlexoConcept
Virtual Model
FlexoConcepts
(EditionPattern)
Designer defines concepts out of
ModellingElement. An FlexoConcept might be
seen as an n-ary relationship between some
ModellingElement, carrying a given(contextual)
semantics.
● ConceptRole
Model 2
In the context of a FlexoConcept definition,
PatternRole assigns a name to a
ModelingElement reference (symbolic link).
● VirtualModel
Modelling space where the designer defines
FlexoConcepts. A VirtualModel is a container
for instances of FlexoConcepts. The
VirtualModel has also the responsibility for the
life cycle of contained FlexoConcepts. is the
place where the designer defines Federated
Concepts
Conceptual Layer
(Concept Space)
System
Under
Study
17. □ Openflexo – Focus on the connectors
Concept Space
Information Space
Model Slots
OWL Individual
role
OWL
T.A.
role
EClass
role
role
EMF
T.A.
EObject
Resource
Center
Virtual Model
Model
Resources
18. □ Openflexo – Focus on the Technology Adapters
Technology Adapter
Concept 1
Concept 2
Concept 3
Model Slot A
Concept
Space
Edition Action
1
Edition Action
2
Edition Action
2
Concept 2
Concept 4
Model Slot B
Edition Action
4
Technological Space
21. □ Openflexo – Typical Use Cases
● Model Synchronisation support (cf. CityMapping online tutorial)
● Federate several models wich describe the same thing using different
viewpoints, for differing usages
23. □ Openflexo – Typical Use Cases (Work in progress)
● Following our work on iFEST: Cometa/CometaGen
● Multi-paradigm modeling
● Code generation from federated models (TODO)
25. □ Openflexo – Features & Work In Progress
Delivered (version 1.6beta)
● Technology adapters plugin infrastructure
● XML/XSD backend (experimental)
● EMF backend
● Owl backend
● Multi-slot viewpoint models for Model Federation
● Re-entrant definition of virtual models
● Dynamic generation of diagrams (experimental)
● Execution support for federated concepts behavior
specification
● “Model Synchronisation” behavior specification
26. □ Openflexo – Features & Work In Progress
Being Delivered (version 1.6.0)
● Interaction modeling for Diagram (Thales partnership)
● Technology Adapters
● XML/XSD backend (full configurable support)
● EMF backend (including Archi,MDT-UML2, MDT-BPMN2)
● Owl backend
● Archimate tooling (experimental)
● Spreadsheets Support (Excel, experimental)
27. □ Openflexo – Features & Work In Progress
Features on the Roadmap
● Full featured Spreadsheets backend
● User-views enhancements
● custom edition forms
● dynamic & animated diagrams
● Eclipse integration
● Flexible Code generator on top of federated
conceptual models
● Agile support for “Model to Code” roundtrip
● Model repositories support for Resource
centers
28. □ Openflexo – Features & Work In Progress
For now, all the tooling is GUI based
● We need a textual syntax for the Flexo Modeling
Language to:
● Enhance tool designers productivity
● Enable analysis of federated conceptual models
● Enhance Model Connectors specification
● Prepare conformance to OMG-SIMF standard
● We intend to support:
● Reactive behaviors
● Concept's axiomatic nature
● Multi-level modeling
● Interaction modeling
30. □ Openflexo – On the radar
Future work
● Ergonomics for complex systems engineering support
● Flexo Modeling language formalization
(Telecom-Bretagne)
● Model connectors
(Telecom-Bretagne)
● Model federation support for tool-chains
(ENSTA-Bretagne)
● Axiomatic nature of concepts & reasoning support
(Thales R&T, Telecom Bretagne)
● Free Modeling: multi-paradigm et multi-level modeling
31. □ Contact US
We’re looking for Open Innovators :
• Academic Research
• Business Partners
● Business & Partners Contact:
● Christophe Guychard <christophe.guychard@openflexo.org>
● Academics & Technical Support:
● Sylvain Guérin <sylvain.guerin@openflexo.org>