Conceptual interoperability through
Models Federation

Openflexo

Christophe Guychard
Sylvain Guerin

Thales R&T:

Ali Koudri

Télécom Bretagne: Antoine Beugnard
Fabien Dagnat
□ Openflexo
□ 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
□ Openflexo – Modeling space organization
Design Space

Concept Space

Information Space
□ 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
□ 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 …)
□ Openflexo
□ Openflexo – One project, many models and views

We need environments to help architects and
experts reconcile the many points of view
□ Openflexo – Providing each user with his own views

Openflexo
□ Openflexo – Answering the ISO-42010 Standard

A toolbox to build custom AF-oriented modelers
□ Openflexo
□ 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
□ 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)
□ 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)
□ 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
□ Openflexo – ConceptSpace concepts
□ 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
□ 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
□ Openflexo – Model connector concepts
□ Openflexo
□ 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
□ Openflexo -

Simpe Use-Case :CityMapping UC
□ Openflexo – Typical Use Cases (Work in progress)
● Following our work on iFEST: Cometa/CometaGen
● Multi-paradigm modeling
● Code generation from federated models (TODO)
□ Openflexo
□ 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
□ 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)
□ 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
□ 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
□ Openflexo: Flexo Modeling Language (work in progress)
□ 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
□ 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>

Openflexo presentation at SIMF Workshop @Models2013

  • 1.
    Conceptual interoperability through ModelsFederation Openflexo Christophe Guychard Sylvain Guerin Thales R&T: Ali Koudri Télécom Bretagne: Antoine Beugnard Fabien Dagnat
  • 2.
  • 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 …)
  • 7.
  • 8.
    □ Openflexo –One project, many models and views We need environments to help architects and experts reconcile the many points of view
  • 9.
    □ Openflexo –Providing each user with his own views Openflexo
  • 10.
    □ Openflexo –Answering the ISO-42010 Standard A toolbox to build custom AF-oriented modelers
  • 11.
  • 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
  • 16.
    □ Openflexo –ConceptSpace concepts
  • 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
  • 19.
    □ Openflexo –Model connector concepts
  • 20.
  • 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
  • 22.
    □ Openflexo - SimpeUse-Case :CityMapping UC
  • 23.
    □ Openflexo –Typical Use Cases (Work in progress) ● Following our work on iFEST: Cometa/CometaGen ● Multi-paradigm modeling ● Code generation from federated models (TODO)
  • 24.
  • 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
  • 29.
    □ Openflexo: FlexoModeling Language (work in progress)
  • 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’relooking 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>