Open Community Experience (OCX)

Diagrams on the web, OSS all the way: SysON & SysMLv2

48:13 · 21 Apr 2026 – 23 Apr 2026 · YouTube

About this talk

This talk introduces the capabilities and advancements of the CML V2 within the context of model-based systems engineering (MBSE). The speaker explains the flexibility and customization potential of the CML V2, emphasizing its design as an open-source foundation for developing specific modeling tools. Key features such as a modern web-based user interface, a strong REST API for live model interaction, and the use of Sirius technology for graphical design are highlighted. The speaker also discusses the importance of interdisciplinary collaboration in engineering, showcasing how CML V2 aims to facilitate communication between various engineering disciplines. Furthermore, the talk touches on the roadmap for future enhancements of the CML V2 and the integration of artificial intelligence to aid design processes.

Full transcript

Okay everybody welcome to this session about CISO and CML VV2 who is knowing already heard about CMLV2 here in this room okay two3 perfect so I will have uh try to both explain you what are the main difference of system 2 compared to what was before and a quick overview of season with demo and at the end a little specific demo just made for you uh last

week. Um I come from OBO. I'm one of the founder of the company 20 years ago and we are doing modding technology and especially at Eclipse Foundation for a while and uh we have three main pillar pillars domain specific modeling uh MBSC and enterprise architecture and on MBSC we are adding now a second solution aside capa season what um season it's foundation project uh which is so

open source and which target to do um a pure implementation of CML V2 um about the notation which is agnostic about the methodology beyond this so you can customize it uh how it's look like like this as you can see it's web based uh it's as modern as possible with um an UI which is as clean and as minimal as possible the idea is not to overload

the ID the UI with plenty of complex um command but to try to to keep it simple to be readable. Uh there are three main aspect but the way we design season first and that's perhaps the most important it's flexible by design which mean that we see season as a foundation to build specific editor on on top of it. CSMLV2 is large, it's wide, it's very very

flexible and um with a freedom of how you design your system to free to make it um really usable at scale. So it's need to be customized to have specific methodology and season has been designed from scratch with this idea of adding at the top of season a methodology layer to guide your user while you still are on this um the official standard. It's we use the

rest API. Now in CM V2 there are API aside the format itself to interact with your model in live. Um it's web based I can see. So just a URL and you can see it by email by Slack or by anything you want and other have access exactly to the same uh page that you are. uh it's open source it's EPLv2 and uh it benefits of Eclipse

governance we are doing open source for a while so it's really a journey and season is our last step in this world of um openness that we are doing at Tobio and under the hood um season is built on the top of Sirius which is a technology uh which come from decade of experience of how to do graphical designer and modeling environment which scale. Um OB so

my company how why we are credible on TCML V2. So we are member of OMG. We are also part of the SMC working group which is responsible of the the question of the language itself. So we are involved there. We are also involved in the pilot project implementation which is a different way to do standard UMG while you um you create first pilot implementation and then you

derive from this pilot the specification itself which mean that the CML V2 specification is really more precise and you can really it is not something which which is just an ID with paperworks it's really implemented and Uh we also work for several years on different prototyping uh before season to be sure we are going in the in the right track in the right way to to do

um the the beginning and the core of season in the right way to be in the principle and the mindset of CMA itself and still today but it's too early to something we continue to work with the SST modeling to increase the usage of uh season in the OMG itself. Um just um step back to explain the value of MBC for other especially for software here at

O6 are plenty of software expert. So it's for me it was important to give a very quick overview of the value of system engineering compared to just the design of software. The main point um is really to enable the collaboration between discipline. It mean that you uh it is very important that person which are doing hardware design, safety, electric, electricity, software of of course 3D design use

the same specification as the entry point of their work. That's key because if you are the software design, you say I will I will use define an API to call from a part of my system to another one and it will works. But if at the end you don't have a cable just will never work and so it's very important to target integration issues as soon as

possible during the process of complex system design. uh and a complexity design the definition is a mix of this discipline. If you are doing just software uh you are not a complex design even if your software is very complex and so the idea is really to create a communication between engineers. um using models be bend and not only Excel or or vis uh is really key because

it help you to do uh computations to do validations to have several diagrams which are synchronized together without any effort and that's why now um model based system engineering is growing uh a lot compared to the system engineering community itself a system engineering community is several million of engineer around the And uh MBSC is um is a subset of this community which aims to be in our

half of this community. So it's this is quite CMLV2. Um here is a little survey before system 2 to explain uh worldwide what are the feedback of user about system engineering and model based system engineering um uh statement and how how is it uh perceived internally and you can see there were a lot of lake and issues and so uh the beginning start very early um in

system I think it was around 12 or 13 years to try to address all this part to have something very modern and so v2 is not just a small evolution of v1 it's completely something new we say just we use a trademark but it's really really something different um for example uh it's used now what what is called carml kernel modeling language it's a new way to

define extensibility and uh libraries so you before this we were using meta model an instance of meta models with kml it's something which is more dynamics you can create a library and create a subsetting of an element of a library in live and you can have an element which have several subsetting in the same times we not go in deeply in here but there is really some

course concept which has been introduced in cmlv2 um it is also really really more precise expressiveness and usable our vision about this is that system is a really key enabler to enable the digital engineering revolution. Digital engineering is the continuity across the different phases of a system from the requirement to the maintenance while you you have the supply chain in the middle 3D etc. Everybody should use

models and IT system connected together. So if you are in a 3D design, you do a modification because you have an issue with a cable, it will come back to the architecture design this one and have the propagations uh to all the other um discipline software mechanicals and others not automatically with some workflow but that's really the promise on the long run. It doesn't work at all

today. It's really the idea at the end. Um it's enable a good interoperability um because you have strong um rest API a formal textual um syntax which is uh so very easier to detect if it's correct or not. Uh very less interpretation possible interpretation of how you you can store and import and export your data. Um even the core is more formal. you compare to systemv1 which

was based on UML there are plenty of way to interpret interpret scenario with second diagram with state machine with activity diagrams now it's really more formal and um and this is a good forc process as well and so we for us our visions is to enable uh and to democratize the usage of this new generation thanks to season with something which is easy to use, open source,

so without a very expensive license model and very customizable. So other editor which are doing specific tool can rely on season create a kind of wrapper to continue to use their team terminology while under the hood they are using systemv2. What are the difference um between uh compared to before? First uh there is now a uh graphical notation aside textual one. So you can use the both

you can uh some software guys will surely prefer the textual one while system engineers usually don't like the system one because they are not developers and they prefer to to use graphical one because it for their design thinking it's more natural but the two are equivalent. Here is a more complex and uh one. Uh you can see I use VS code. I can use also tier because

there are already some um extension to support the CML V2 um syntax. Um there is a normalization of the syntax also. when you were doing CML v1 you have block you have instance you have um you have different way of explaining uh the concept now you have usage definition you can see that there is a kind of equivalent which is quite easy to understand um and unified

uh also they get wide of some compromise that they made made before because of UML with a vocabulary inspired by um software. For example, an object uh now it's not at all an oriented object. It is an object, a real object and an instance is an occurrence. So they are using the vocabulary of system engineers and so that's very very better and it's help to not have

something which is just in the middle between system and software. Um I already start to speak a little about this but there is uh some API there are some API which are standardized uh some about OSLC to create birectional uh connectivity with Java but the most famous is the one with REST. So you can call any CMLV2 editor or repository from the language you want. Um and

you can interact uh at the project level, at the element level, at uh the commit level and it is quite simple. It's really well designed. It's fine way currently. Uh there are some work for future version to have some more coarse grain uh recipe but at least it's work quite well and we we already be able to connect with other tools um and it just work like

a charm. So that's very cool. So you can imagine to have for example a similar simulation engine which use the CMLV2 API to to perform some simulation in live do some modification some some put uh query to modify to put the result in in the model itself to have something which move in a in real time while it work with any CMV2 tool it's cool uh it's

usage focus modeling approach that's something which come also from uh our other initiative Capella uh which was in a way um uh in advance compared to systemv1 and several aspect it get rid of UML for example but it was also more natural to for system engineers to to describe a system like my laptop by describing that I have a screen I have a keyboard and so on

and so forth without the need to create a class and an instance of a class which is natural for software guys but not at all for system describe it and so you can describe in this way in system V2 so describe your screen and if you want to create um uh you you consider that you will have several times the same screen and you don't want to

duplicate you create a screen definition which is a reusable way to create a building blocks building blocks are reusable part of design there and it's really more natural to go in this way instance first reuse later. Uh you have plenty of extensible uh domain library which are built in inside um the standard. Uh so for example you have all the unit for kilograms, for speed, for temperature,

for timing uh which come from ISO standard. So it's very h and it's really really cool because every language based on top of of systemv2 will have exactly the same unit format. uh you have also some mathematic functions. So that's very very powerful that they did it. Uh you know comparative to CML v1 it's like if you have Java compared to Java plus the GDK it's very

wider and you can you can create your own domain library as well. There are also other concept for example 4D um you could have you perhaps you know what is a state machine but on real system um big system uh like a nuclear plant or um a submarine stuff boat um your system can your state machine can evolve across the decades and so now you can describe

on this same state machine um on the timing aspect and on the spe special aspect in in a different way. Just an example, you have some key point about v uh life cycle not life cycle sorry variability point uh to create um product life management. uh you have viewpoints also we are working also for CMLV 2.1 with Melanie on the back of this room to standardize the

diagram interchange uh format to also be able to to exchange between tools the position and the styling of um your ear diagrams and you can also compute expressions like um like this one and so the system V2 um models become something that it is not just a description but also tools to compute some validations some constraint in live here is also a summary of the different language

capabilities and I will not show you everything right now what I will show you at this one in term of standard use you it's get rid also of lot of existing views that you could know in um UML or CML V1. Uh for example, when you do component based design, previously it was called um BDD or IBD. It's completely removed. It's now interconnection view. Uh you don't

have any more uh activity diagram on one side and uh what's the other one? Um I even don't remember the name. Uh okay, let's go. Now it's action flow. So we use the name actions which is the same that inside the in the meta models and there is a a one which is really key. It's a general view. The general view is a view where you could

put anything on the same uh graphical canvas. And this is really powerful because it's enable really to you know to to to have the flexibility or showing everything you want without any constraint. And something which was um which was not so easy to understand at the beginning event for us which required us last year a full refactoring on all the core of season that the general view

enable also to combine view uh inside view which mean that you could imagine to have on the same canva on the same page um one element one part for example which describe as a standard one you know with boxes and and descript uction. While another one is with a sequence diagrams combined with an an action flow diagrams, everything on the same and you the end user really

have the capability to combine them in a fluent way. And our vision is to go one step beyond with table matrix inside the canvas. You can you can do any uh in the way you want. And what I will show you today are this one I will show you with several videos. just teasing to keep you up to see the videos. Yeah. So, season is very modern.

Um, we have a full meta model coverage of the specification and of the standard libraries. Um, you have some auto auto layout capability where you can do manual layout at a very fine grain level and we try to mix the two to to be more productive. Um there are some contextual pallet. We remove the principle of uh fixed pallet with plenty of concept especially with a general

view where you can put anything. It's hundreds and hundreds of concept. So it's really complex for a user. Here guide you because it's contextual. You can it's show you only the tool which are applied to to the element where you click and uh property view which is on the left side because everybody have always grid now it's SVG everywhere so you can zoom in zoom out uh

influent way the statue of the project uh which is coded by OBO and CA um is to release every two months um so something which is very incremental um We we focus currently on glitch which mean that we want to have um a very cool experience for daily use usage. Um that's why it is still considered as in development phases not yet for predictions. We really want

that you don't have any what's the uh experience when you have some very small uh elements. It's nothing is critical. is really some very small I know you want a little little element about the compression about you know the way the edges auto our auto layouting stuff and we really want when we consider it really be prod uh yeah you can see just a very very small

part of uh the improvement we are doing it's a very very very active Um we are here at uh 06 so the value of open source I think everybody is knowing them but in this domain is quite key um because we we think that season will become a I can say a not a def facto standard that's a bad word but um yeah the solution you want

to use when you discover this technology and you run up uh or strategy why to not focus first sorry last not to focus first on customers which is strange for a company like mine to not focus on big customer but first to focus on academics uh and professor to pre because they want to prepare their lesson for the future generation for engineers and season is very cool

for students secondly to work a lot with trainers because the same they want to prepare worldwide training sessions about CM2 and so season it's already usable right now for this and third to work with the author themselves of CML V2 language. So we are sure that the internal and every detail is many in in the spirit of what they have in mind to be really become the

best tool in the world. Um so the the version of January have this scope of um future. So we don't yet have 100% of coverage of specification. For example, sequence sequence diagrams, we don't yet have it. Geometry, which is 3D 3D rendering, we don't have it. And and some others, but it's quite quite good today. In term of architectures, it's based on serious web. Perhaps you already

assisted some talk about serious web. Uh so it's a low code approach to design easily uh graphical designer. So that's why we we we have a productivity of the question of season which is just amazing and we rely on mainstream technology under the hood. So on the back end it's mainly spring uh with posgress on the front end it's react and uh material UI and in the

middle that's graphql and protocol inspired by language server protocol to to have very good performance. The flexible by design is at three level. The first one is uh standard one inside CSML V2 himself. You can create view and viewpoint concept to create in life some diagrams which filter some element which have a little rendering different aspect. So um that's a possibility you can also extend it through

the the APIs. And the second level is to create a specific um wrapper. So you have a little um example here where the you made for Arcadia user that's a technology beyond um Capella. So when the user is using it it's can only create in a specific specific type of um diagrams some component inside component some functions function can be allocated between other functions in a very

fixed way to guide the user. But under the under the scene that's 100% a CML model and this customization is made thanks to S web and uh and so that's something which is very powerful. The last one is the integrated versions. It has been designed in a modular way which means that you can take just the diagrams without the the detail view without the tree on the

left and integrated in another application like Jupiter labs like VS code like your own and everything has been designed in this way. The internal is based on do uh DDD uh so it's event based everywhere. So you can remove one of our implementation put your your own there and it's work. Uh so it's it's a a kind of OGI like model but apply to Spring and React

and here is the small slide about how it's work to to do the customization with SE web. So of course we use SE web internally so the code is open. So it can be um you can look at it to see how it has been designed to reproduce it for your own customization there. It's time for demo. Okay. Yeah. Yeah. So I use um the example of

a flashlight made by Sundantal, one of the main author of the language itself. Um so it's a very simple one uh but very well known when you look at books about um TML V2 and so I will have a light demo at the end just to secure but uh currently I will do um okay here it's work so first I will start u to create some um

package let's keep it simple at the So I as you can see there is uh the contextual pallet uh help you to to find by yourself the different element. You can also directly type it to find if you know that you will create a package it will directly help you in um to find the right tool there. So you can see the look and feel here but

it's quite simple. Continue. So it's remember the last tool you apply to not to not be able have to to go directly inside them. You can also drag and drop to the direct element. You can do multi selections and this time I will remove them. package. So very simple. Now use cases. So I create a new representation on the other side. Still a general view. You will

see I think in most of this video I will use a general view for basically everything. When you we create a boxes you can see there is no the compartment with uh as usual in UML with attribute operations if there is nothing it's just compartment itself and we will reveal the compartment when it is usable or when it makes sense or when the user decide by himself

to uh to print one. um when we create an embedded requirement by default we put it um outside but you can say no I want to show it internally and so automatically we remove the other one to not have the duplication no yeah that's the that's the kind of glitch I explained at the beginning to explain how it is just natural to work um with season um

in term of compartment you have something like 20 different compartments that's also why it's completely different. Um it's really important to not show them every time but to let uh to let the user um decide if you want to. So this time it show you I will create to my use case um uh a subject what it is about. So I reuse the create sorry an actor

which is a flashlight himself and the user of a flashlight. So you can see I can I can use SVG image. This one is very simple. Sorry for the look and feel. That's the one from the specification. So we try to be as close as possible. Um you have some you know some syntax like dot dot and uh mirror. What's the name of this? Yeah thank you

kind of brackets. And so that's kind of syntax you have to learn when you you do you do um you do system v2 uh when you write it there is uh we analyze uh what you you wrote to to e is um this writing you can write requirements uh what I will show you is that uh inside requirement you can have formula with um expressions so I

will accelerate there. Here it is. Yep. So I use battery wise I I put mass and automatically it detects that mass is something which already exist in my libraries and so that's why he add I I Q that's name. So there is a kind of um know uh link linkage computations to reuse existing uh type there. Um it's also it's more strict in term of dependency. It's

like in Java. In Java you you do import explicit import when you create a dependency. Um in CML v1 it was not the case. So it was a real graph without this strong dependency. Now you you have to explicitly say that you import this element and you have access to only elements you import uh of course. Oh I just want to get back on and and season

help you to do this kind of import uh uh to to easy use this. Why I come back here? Um we support import uh of your model with a textual syntax export when you download the model you have the textual syntax as well but also we support uh some import of fragment of of textual syntax which mean that here I have my requirement overview here it is

too slow now come on oh the flash specification where is Where is it? Okay. So I can do new object from text and so I can copy past from a textual one just a sub part of an element and so we will pass it and integrate it directly in the model and so you can so in this way combine some part that some of your colleagues made

by hand because they prefer the textual one and you inject it in this way very easily. Of course you can use API to do it automatically but in the UI at least there is something that is very very convenient especially when you work with um expressions. we support also tables like this. So um yes this is an example with requirements when you can um visualize all your

requirement and edit um it's not just visualization it's with the additions you can order you can filter it's a full feature um tables it's very important because in system engineering the leader of the market currently is still Excel so it's really important for to ramp up that first to provide an excell to to edit your models and then to benefit of the all the other parts. So

for the actions so the actions is quite similar to activities in a way where it's really where you design you know the behavior of your systems and uh and so you can create initial state fork. Um you can see that the way we we create a link between an element to another one is just to use one of the brackets around the shape to again to avoid

to have another pallet somewhere else to make it contextual. You can see that there are several possibility of link between the element of an action an action items. So you will see that when I will create a link between two actions I will have several possibility. One could be successor another one flows that the type of uh precision which is quite cool for CM2 that uh the

type of transition between actions is very more precise. I will not explain right now what are the difference but uh it's really help to have a semantic which is stronger and so you can do simulation you can do computation validations in a really really really better way let's continue part is very key. Uh when you speak about system, usually everybody speak about part. Part is is a

part of a of a system. So again my laptop, you have the laptop, the screen, the keyboard, everything here is is a part. And so you have a breakdown of a part which is combined of another one, another one, another one. Um as you can see here, I start by the instance. I describe my flashlight which is combined of a battery of a switch and just if

I need several switch um in this case I will create a port definition which could um create it's not exactly like a super class um if I say this to the system the systems will kill me but let's amplify it's something quite similar so you can put in the port definition, some reusable element like the port, like some attributes that every subset um usage of this definition

will have to be to be to benefits and you can have kind of of attribute which come from the other one automatically like new um implicit returns and you see them directly in your models and you can override them uh to to precise it directly in at your level. Okay. So I think I will stop for this demo. Perhaps the last one will be interactions just to

show you a result of a component based one accelerate. yep. So this time you will see that it is mainly about element with port with connection with port to see the flow between my different part of my systems. So of course the previous uh diagrams are is synchronized with this one. It's just a matter of uh of different visualizations. Okay, let's back on diagrams. So the road

map is part of the three pillar. Now it is very close to be ready for experimentation ramp pilot project. Um you can uh so yeah continuous evolutions uh to add some um some CCM v2 concept. For example, by design, we prefer to have a good experience of the concept which are mainly used. Um, and for example, we don't support yet the variabilities, uh, some analyst cases, some

some element, but that's part of the plan and we are we want to also improve the the adopability with the textation. um our strategy at OBO also it's to to combine the strengths of CM2 and so CON with the other tool we are invol on for MBSC capella uh because Capella provide a very very cool methological guidance uh you see there are plenty of concept in CMLV2

and it's hard to know how to start how to use them use them in the right way while Capella is exactly the opposite you really um put your feet under the table and just guide you. And so the idea is to to have a new version of Capella based on season so based on the web and based on season v2 and so you benefit of the two.

Um we also have an enterprise version of season which add some uh team management. So you can login um with your open ID connect you can um manage your project uh among different organization and teams you I think all of you know already GitHub so it's quite similar the same principle but apply to this models and you can work in parallel with several user with an experience

which is similar to Figma or Google Docs uh there and you have also the change log and and history of any modific and that's a surprise. Uh we will also add AI to to this and I would like to show you a live demo for the first time in public of uh the current version of our AI antression. um to do some I will do something dangerous

is that I will let you so first I will switch oh I will let you choose which kind of example of a complex system I can design and ask my AI to design live you have any idea double decker bus oh yeah that's gone So, yeah, because last week I was in London, so I do this. Uh, but we will do it in live. So my prompt

will be just create the architecture of a London um London double decard and I will go in a specific version is it of um of CS with a customization on the top of it for Arcadia inspired by Capella. So I will create a new project here. I can call it double London bus up. Okay. So I have my project with different layer there. I will create a

new representation which will be empty. It is. And here I will activate a new AI stuff. Let me remove this. Hi just to check if uh the network is working. Okay, it's okay. And so I will ask him create the architecture of a London bus there I have two mode one it is just query and another one with authorization of modifi mod modifying the model. So let's

do this automatically. So the way we do is really to do it with the user in the loop and to not go deeply to generate all the model. It's just a dream. It will not work or if it work it will be completely stupid. So the idea is really first he answer to you in the chat. I think this could be what I propose and he proposed

just the upper layer of your architectures. Okay. So let's consider that it's okay. Confirm. Go on. Wow. Sorry. And then it will use um so it will not manipulate the model directly. It will manipulate the model through the tools which means my my customization I made to follow my my methodology. So the capella one will be respected by the LM. So I have in full control of

what he is supposed to do and how he will store the data how he will create the different element. So that's very key. Um and all the other interaction I see with this MV2 in AI usually target directly the model. So you will have something which is not at all conform to your your best practice. So it creates I auto layout and I hope that if there

is a um British person in in the room if the content will be okay. So I have an a safety monitoring a door system a braking system a propulation system that my component and inside I have my function what they are supposed to do. So braking system seems to be okay door system. Oh, let's ask him to to or for the proportion one to be more precise.

So I click on it and the LLM will be aware about what I am doing on the system. So I will say decompose and so it will take this provide action function functions. Yeah, confirm and it will create a sub function of it and just this one. So that's why there is really human in the loop and each time he do he do something. There are two

very interesting uh things to notice. First he's able to say what he was he didn't succeed to to do and secondly he proposed the next actions. So I can say this time go go on this one on this component and create link create functional exchange. So that that's the um in the archadology. So confirm Yeah. Confirm. Yeah. Yeah. Yeah. You should never do like I do. You

should read. So that's really the way we we think it AI is interesting only if it's control with a human which uh guarantee that what you are doing is just safe and okay in this example I have just one but usually you have plenty of them that's is it cool in a chill um so season is first standard compliant Uh it's a pure one, not just a

wrapper on top of something which is not exactly CIV2. It's really a pure one. It's very modern in term of UX. Um it's a web and collaborative. Um it's extensible uh with a custom wrapper, but you can embed in another tool and it's open source. Thank you. We have time for question. >> Um, obviously since with CML V2 you go way apart from UML. This does not

rely on papyrus. But my question was are there interactions between CML v2 and pipos uh between cisan and pipos web are there common libraries or does it all boil down to serious dependencies. >> So perhaps not everybody know what is papus so I will just explain it's another uh project at eclipse for UML modeling and um extension and it's also based on the same technology. So and

this week CA announced um PapioS web which is a a reborn of papirus with serious web under the hood and uh and so it shares the same ergonomics the same UI same principle but that's really two different language so there isn't any you know mix between the two that's really two different models which leave yeah so if you want to for example create a UML model and

embed it in CML V2 it's not possible today yeah and this is not about just a matter of tools it's just from a concept point of view >> yeah sure >> I think UML could be useful if you are more detailed view so you do system engineering to be cross discipline um and you do transformation to be more um software specific with appear if you want thank

you another M. Oh, thank you.