Thursday, November 22, 2012

Live demo of a graphical DSL

Last week I was in Toulouse, for the second step of Obeo Designer roadshow.

The evening, just after the roadshow, I have been invited by Toulouse JUG for a 15' talk.

I presented a live demo of Obeo Designer: from zero, I created a new graphical designer (definition of an Ecore model, generation of the EMF source code, creation of a sample model and definition of a diagram).

The presentation (in french) has been recorded. It is available on

At the end, while I was presenting an existing designer (Graal Designer, a designer created for the french Ministry of Defence) Etienne, who was attending the presentation with his own machine, connected to my machine and hacked my diagram in live!

An interesting use-case of collaborative modeling ;-)

There were also four other presentations: GTB (by Baptiste Mathus), Jenkins (by Michaël Pailloncy), JavaFX2 (by Sebastien Bordes) and Scala (by Didier Plaindoux). These presentations are also on

Thank you to Nicolas Zozol and Baptiste Mathus for the invitation to this event and its organization.

Tuesday, October 9, 2012

How to share a modeling project with other users?

In a previous post, I illustrated the Collaborative Modeling mode provided with Obeo Designer 6.

It allows several users to simultaneously edit a model and its diagrams. Thanks to the fine-grained locking mechanism, only the concerned model elements are locked, and automaticaly released once the modifications are saved.

Now, I will explain how to share a local modeling project on a server, in order to use this collaborative mode and to allow other users to collaborate with you on the same model.

To share a model with several users, only three steps are needed with Obeo Designer.

1) Start the server

The shared model must be hosted on a CDO server which has to be installed and started.

This can be done very easily with the sample CDO servers provided with Obeo Designer. These servers are available through Obeo Designer examples and can be launched with prebuilt Launch Configurations.

This video illustrates how to proceed.

Of course, for a large project, with important constraints, you will have to configure and administrate your own CDO server.

2) Share a Modeling Project

Once the server has started, you can use it to export a local Modeling Project.

This will copy your local project on the server and make it available for other users. 

This video illustrates how to proceed.

Then, this project can be used in a collaborative mode by any other user who can connect to the CDO server.

3) Work with a Shared Modeling Project

When a modeling project has been shared on a CDO server, other users can work with it in a collaborative mode.

They just have to locally create a new Shared Modeling Project which points to the project hosted on the server.

This video illustrates how to proceed.

This Shared Modeling Project is directly connected to the server and reflects all the changes done by all the other users on the same model.

Thursday, October 4, 2012

On the road again!

Once again, Obeo will hit the road with its hot new technologies and products in the bag.
We will meet with our partners, customers and technical community through three main events.

Obeo Designer Roadshow 2012

After the success of 2011's edition, we will organize a new roadshow which will pass through 4 cities in France:
  • Nantes (18/10)
  • Toulouse (15/11)
  • Paris (20/11)
  • Grenoble (6/12)
Each day is free and composed of two parts:

The morning, we will present how custom graphical designers can help in managing complexity and how to create this kind of tools with Obeo Designer. Then, we will let our partners and customers to present case-studies where they have used Obeo Designer. For the first date, in Nantes, case-studies will be presented by MMA and Thales Services.

The afternoon, is dedicated to a "hands-on" session. We encourage each participant to come with its own idea of a graphical designer. And, with the help of Obeo experts, we promise that everyone leave with a first version of a running designer!

Last year, participants left with designers for robots, SOA systems, IT infrastructure, authorization management, etc...


Enterprise Architecture Morning

The 16th of October, we will be in Paris to discuss about Enterprise Architecture.

The morning is free and will be composed of 4 main parts:

  • Obeo's approach to Enterprise Architecture
  • Case-Study by Choregie, in the Insurance domain
  • TEAP, a collaborative research project with Capgemini and DCNS.
  • SmartEA, the solution proposed by Obeo

At the end, we will keep time to allow participants to install SmartEA on their PC and to play with a sample model.

Obeo SmartEA allows Enterprise Architects to define their existing and target architectures (As-Is and To-Be), to evaluate gap analysis and define transformation scenarios. It provides:
  • a graphical environment based on Eclipse to edit TOGAF models
  • a viewpoint technology based on Obeo Designer to create new kinds of representations
  • a database repository to store the models and to allow collaborative work (technology based on Eclipse CDO)
  • connectors to federate existing information with the repository
  • architectural tools to study evolution plans and to analyze their impacts
  • a web client to navigate and to search into the models

EclipseCon Europe 2012

Last but not the least, like each year, Obeo will be present at Ludwigsburg (Germany) for the annual Eclipse conference in Europe.

EclipseCon Europe 2012

Obeo has been selected for 8 talks:

Monday, September 24, 2012

Collaborative Modeling

The classical approach to collaborate on the same model is usually to split the model into several files managed with a source control system such as SVN.

There are two major problems to this approach:

  • lock granularity: it is not reasonable to create a file by model element. So, each time you need to modify an object, you lock all the other model elements contained in the same file.
  • real-time updates: when a modification occurs, the other users have to manually reload the files which contain the changes

These problems have been well described by Alex Lagarde in this post: Live Collaboration with Obeo Designer 6

The solution provided with Obeo Designer consists in a CDO-based repository which contains shared models and their representations (diagrams, tables and trees).

Each time a user changes the property of a model element, only this element is locked. The author of the modification sees a green padlock on the element, while other users instantly see a red padlock on each representation where the same element is visible.

On the example below, the family Smith and the man Paul are locked.

Once the modification is saved, the changes are automaticaly reflected to the other users.

I have created this video to illustrate the collaboration mechanism.

Tuesday, September 4, 2012

ESA Case-Study

Modeling Satellites Software Architecture, a European Space Agency research initiative

Would you develop a satellite application the same way you develop a «classic» application ?

Of course not!

When developing an application embedded in a satellite, a software engineer has to deal with many additional constraints:
1. The software platform is constrained by so many factors (energy consumption, temperature, scarce computational power and memory size, etc) that general purpose methodologies are not always applicable.
2. Computation time and duration must be highly predictable in order to satisfy the complex orchestration of actions performed by the satellite.
3. As failures may lead to loss of mission, catastrophic damages or loss of lives, the quality of the software drives the development process

In order to support these constraints, the European Space Agency (ESA) has initiated an investigation for the realization of  a software reference architecture (SRA) for on-board software. Based on solid scientific foundations and industrial feedback, the SRA aims at providing a common framework which can be reused for multiple missions in the space domain.

Marco Panunzio at the University of Padova (Italy) contributed to the investigation on the SRA during is PhD and later his post-doc. In his work, he defined the key principles, formulated a component model compliant with these principles, and developed a graphical modeling tool based on Eclipse and Obeo Designer for the development of on-board software compliant with the SRA.

The results were periodically submitted to a working group comprising space stakeholders, for assessment and refinement.

The cornerstone principle of the SRA is separation of concerns, which is used in order to separate different aspects of software design (functional and non-functional concerns, actor's area of expertise, etc) and address them with the best-fit formalisms, tools and verification techniques. Other key principles of SRA are composability, compositionality, property preservation and composition with guarantees.

These principles have driven Marco Panunzio to the definition of a component model which supports the concept of Design Views in order to decompose the global architecture of the system into more detailled constituents. Each Design View represents self-contained concerns relevant to a given stakeholder. A Design View can define its own rules (visualization and modification rights, graphical representation, constraints, verification, etc).

At the present state of the investigation, the SRA comprises six Design Views:
·      Data
·      Component
·      Behavioural
·      Hardware/Deployment
·      Non Functional
·      Implementation/Analysis

It is also complemented by domain-specific views. For example, a view has been implemented for the PUS (Packet Utilization Standard), to define the use of services which involve the transfer of telemetry and telecommand data between the ground segment and on-board applications.

 SRA Design Views

To create a satellite application according to this component model, a tool has been developed in Eclipse. It supports the seven aforementioned views via 19 kinds of diagrams and 8 kinds of tables. These views are completed by validation rules and specific actions (for intensive computations).

To develop these views, Marco Panunzio selected EMF (Eclipse Modeling Framework) and Obeo Designer. The resulting editor was later adopted and refined in subsequent ESA-funded studies.

Two strategies have been considered:
·      UML with a specific profile
·      a DSL (Domain Specific Model)

Because of the gap between the concepts of the SRA component model and those defined by UML, using UML in this context would have introduced unnecessary complexity. That's the reason why an Ecore metamodel (called SCM) implementing the component model concepts was developed. With this approach, the tool natively supports the component model of the SRA.

Then, to implement the diagrams which allow the user to edit and visualize the components, Obeo Designer was chosen.

Another alternative would have been to directly use GMF. But implementing 19 specific diagrams would have consumed most of the effort to the detriment of realizing and perfectioning the approach.

On the contrary, with Obeo Designer, the design views have been implemented much faster with a better support for extensibility and incremental adaptations. Most of all, it permitted fast iterations with stakeholders in the prototypal phase for delicate points of the methodology.

Below, you can see some examples of the diagrams created with Obeo Designer.

  • Hardware diagram: declaration of the processing units, sensors, actuators, devices and the interconnections between them
Hardware diagram

  • Processor board diagram: declaration of the internals of a processor board in terms of processors, processor cores, cache and memory banks.

  • Processor board diagram

  • PUS component instance diagram: monitoring and reporting of on-board parameters, commanding of on-board operations from the ground segment, etc…

  • PUS component instance diagram

    This initiative is a concrete contribution to the development of an on-board software reference architecture for future satellite systems.

    Relying on a complete component model and an associated graphical editor, SRA is currently used by several ESA-funded studies which are consolidating and validating the approach and the tools.

    This post is based on Marco Panunzio's document "Definition and realization of an on-board software reference architecture" available on (registration required).

    Thursday, May 31, 2012

    Modeling P&C Insurance Products, the MAIF Case-Study

    EMF (Eclipse Modeling Framework) is mostly used to create model-driven tools for software or system engineers. Here, in this case-study, an EMF-based tool is directly used by business domain experts to create models which are deployed and interpreted at runtime.

    MAIF is a french insurance company with 2.8 millions of insured members (ranked 5th in number of insured vehicules and habitations in France).

    They needed a tool to get a structured, centralized and unified vision of the P&C (property and casualty) products (IARD in french for Incendie, Accidents et Risques Divers).

    The goal was to provide to insurance business experts a dedicated tool to specify their marketing offers and the caracteristics of their products. 

    The solution is a product catalog composed of:
    • a product workbench (based on Eclipse) to define and administrate the products structure
    • a repository to store the models
    • a business rules engine (based on JRules) to manage and execute the rules related to the products
    Accessible via services the catalog is used to manage production version of contracts and claims.

    The structure of the catalog, developed with the assistance of Capgemini and Obeo, is based on an Ecore model which defines the P&C products concepts (catalog, product, coverage, risk object, provision, option, etc) and the way they can be composed.

    The product workbench is used by MAIF P&C experts to define the products and administrate their life-cycle.

    It provides graphical representations to create, modify, consult, version and validate the products.

    These GMF diagrams are graphical representations on EMF models describing each product. They have been specified with Obeo Designer

    They selected Obeo Designer in order to speed-up the definition of the important number of GMF views to develop and to facilitate their maintenance.

    Additional developments have been done in Eclipse to finalize the workbench:
    • RCP customization to simplify the workbench (menus, toolbars and views) according to the kind of users
    • integration of LDAP to authentificate the users and manage their roles (product manager, validator, ...)
    • integration of SVN to manage collaborative work on products

    The models created by the workbench are directly consumed by the IT system through distributed services (progressively remplacing legacy ones).

    Without the need of specific IT developements, the deployment of new products is reduced from several weeks to about one week.

    This new approach increases the agility of P&C products deployment by reducing the gap between business experts and IT.

      You can find a more detailed description of this case-study, written by MAIF, on, in the case-studies section of Obeo Designer group (registration required).

      Thursday, May 24, 2012

      Creating a new Ecore model with Obeo Designer 6.0

      One of the cool things coming with Obeo Designer 6.0 is the new "Ecore Modeling Project" creation wizard.

      It automatically creates an EMF project containing an Ecore model and its corresponding genmodel. This project is also created with the Modeling Project nature and a Obeo Designer representation file (.aird) containing a diagram (depending on the viewpoint selected with the wizard).

      This diagram is automatically opened and you can directly start graphically design your Domain Model.

      Once you have defined your packages, classes, attributes, relations, ... you just have to open the genmodel and generate the EMF code. Of course you can customize the genmodel to introduce your own generation choices.

      This video demonstrates this new wizard on a simple Ecore model.

      Monday, April 16, 2012

      Performing multi-viewpoint analysis : Thales case-study

      From now, on this blog, my posts mainly described case-studies where model-driven engineering (MDE) has been used to produce code or modernize existing software systems.

      Another domain where MDE is widely used is System Engineering. In this domain, Thales has acquired a strong experience with the Arcadia approach.

      Arcadia is a model-based architecture engineering approach which has been tooled up in Eclipse with Melody Advance, a generic workbench developped  by Thales Engineering & Process Management with the assistance of Obeo.

      Based on EMF and GMF, Melody Advance allows other Thales entities to create their own modeling tools. These modeling tools are declared with a dedicated DSL which is interpreted to dynamically provide the corresponding GMF modeling editors coming with ergonomic facilities and supporting large models.

      Arcadia has been presented at MD Day 2011 by Jean-Luc Voirin, the System and Software Engineering Director of Research & Technology at Thales Aerospace & Mission Systems Division.

      This approach has several objectives:
      • To perform early validation of key architectural aspects to decrease the rework in design and production
      • To improve the quality of architecture by taking better descisions regarding complex but necessary architectural trade-off
      • To capitalize on both product definition and know-how by supporting negotiation and compromise between stakeholders

      For Arcadia, Thales has integrated and extended several standards such as AADL, DoDAF, NAF, UML or SysML and added specific viewpoints to support:
      • Operational analysis
      • Functional analysis
      • Logical architecture
      • Physical architecture
      • Non functional constraints
      • Non functional trade-off
      • Transition to software or hardware

      Arcadia tooling provides several editors for these viewpoints and allows the system architects to graphically design and analyze a system.

      System architects can evaluate their candidate architectures againts industrial constraints (cost & schedule, performance, safety, maintenability, product policy, etc). For each kind of constraint, layers can be applied on diagrams to graphicaly highlight the violated constraints.

      Thanks to Melody Advance technology, this tool is easily customizable: Thales can define its own graphical representations and validation rules.

      Initially developped to target signal processing, data processing and information systems, Thales detected much larger fields where Arcadia could be used such as electrical power systems or thermal systems.

      For example, it can be used to work on several interleaved multi-physics models of a new airplane:
      • a Power Model describing electrical generators, loads, converters, etc
      • a Thermal model describing turbines, compressors, valves, etc
      • a Command & Control model describing interfacing units, computing unit, data, etc

      Specific viewpoints on these models can help the enginers to evaluate the solution architecture and detect problems before the IVVQ (Integration, Verification, Validation, Qualification) phase :
      • power and thermal performance depending on flight phase consumption
      • redundancy rules
      • failure scenarios and propagation
      • reconfiguration issues
      • early identification of spatial arrangement constraints impacting the architecture
      • etc
      For Jean-Luc Voirin, one of the main benefit of this approach is to avoid exhaustive modelling. With the multi-viewpoint tooling, the architects can adjust modelling effort on major engineering issues.

      The slides of the talk given by Jean-Luc Voirin can be found on Obeo Network (registration required).