CDO stands for Connected Data Objects, the well-known model repository for large, distributed, and shared EMF models. LM stands for Lifecycle Management, a brand-new subsystem of CDO that implements a holistic approach to modular, versioned, and team-based model development.
With CDO-LM you can break down large models into a system of versioned modules, each of them declaring versioned dependencies on other modules of that system. A local checkout of such a module automatically resolves an overall model graph that satisfies all the declared dependencies.
This module system for models is analogous to OSGi and p2 for modular Java applications. In addition to the static module layer, CDO-LM provides you with a customizable development process that is based on the concepts Stream, Change, Delivery, and Release.
CDO-LM was developed in open-source to form the collaboration foundation of a modeling and simulation environment dedicated to the specification and formal validation of the new generation of railway signalling systems (Computer-Based Interlocking Systems, CBI). This environment is developed by CEA and Systerel for the French railway company SNCF Réseau.
During this session we will explain the core concepts of CDO-LM and how they build upon CDO. We will also show how they are used to formally structure and control the evolution of CBI systems by demonstrating the SNCF environment in action.
You will leave this session with a good understanding of the guiding principles of CDO-LM:
- Divide and conquer: Split your complex system into a set of models, connected through modular dependencies.
- Evolve in isolation: Develop and release your models with separate teams, governed by a process, guided by a tool.