Openflexo presentation at SIMF Workshop @Models2013

31
Conceptual interoperability through Models Federation Openflexo Christophe Guychard Sylvain Guerin Thales R&T: Ali Koudri Télécom Bretagne: Antoine Beugnard Fabien Dagnat

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 – ConceptSpace concepts

□ 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 – Model connector concepts

□ 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 – 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 <[email protected]>

● Academics & Technical Support:

● Sylvain Guérin <[email protected]>