Openflexo presentation at SIMF Workshop @Models2013
-
Upload
openflexo -
Category
Technology
-
view
423 -
download
2
Transcript of Openflexo presentation at SIMF Workshop @Models2013
Conceptual interoperability through
Models Federation
Openflexo Christophe Guychard
Sylvain Guerin
Thales R&T: Ali Koudri
Télécom Bretagne: Antoine Beugnard
Fabien Dagnat
□ Openflexo – Models Federation
● 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
Our vision of Models Federation:
Models crossing technical space boundaries
□ Openflexo – Modeling space organization
Information Space Concept Space Design Space
□ Openflexo – Federated Concepts
Virtual Model
Role “B”
Role “A”
FlexoConcept
Role “C”
OWL Individual
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 – 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 – Technical Infrastructure overview
UI
Utilities flexoutils
Openflexo Core
flexofoundation
FlexoAction layer
Cor
e
ViewPoint
model …
View model
(run-time)
PAMELA (Openflexo modelling framework) flexopamela
FGE flexographicalengine
FIB flexointerfacebuilder
Openflexo desktop application layer flexo
VPM
ViewPointModeller flexoviewpointmodeller
VE
ViewEditor flexovieweditor
Other
modules
EMF-connector
Technology adapters (connectors)
(loaded at run-time)
. . .
. . .
Technology
Model
FML
bindings
EMF-connector-ui
GUIs
Editors
Tooling
OWL-connector
Technology
Model
FML
bindings
OWL-connector-ui
GUIs
Editors
Tooling
Openflexo desktop application
(CORE + modules loaded at runtime)
□ Openflexo – Openflexo infrastructure overview
[Legacy]
Modelling Layer
(Information Space)
Conceptual Layer
(Concept Space)
Design Layer
(Design Space)
Model 2
Modelling
Elements
Virtual Model 2 FlexoConcepts
(EditionPattern)
Virtual Models
(Conceptual abstractions
offered to Design Space)
Models
System
Under
Study
□ 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
● 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.
Legacy
Modelling Layer
(Information Space)
Modelling
Elements
Models
System
Under
Study
□ Openflexo – ConceptSpace concepts
● FlexoConcept 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 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)
Model 2
Virtual Model
System
Under
Study
FlexoConcepts
(EditionPattern)
□ Openflexo – Focus on the connectors
EMF
T.A.
OWL
T.A.
Resource
Center
Information Space Concept Space
Model
Resources
Model Slots
Virtual Model
OWL Individual
EClass
EObject
role
role
role
role
□ Openflexo – Focus on the Technology Adapters
Technological Space
Model Slot A
Model Slot B
Concept 2
Concept 4
Edition Action
4
Technology Adapter Concept 1
Concept 2
Concept 3
Edition Action
1 Edition Action
2 Edition Action
2
Concept
Space
□ 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 – Typical Use Cases (Work in progress)
● Following our work on iFEST: Cometa/CometaGen
● Multi-paradigm modeling
● Code generation from federated models (TODO)
□ 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 – 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 <[email protected]>
● Academics & Technical Support:
● Sylvain Guérin <[email protected]>