file Git Friendly Project store // Text driven models

1 month 1 week ago #6407 by jmpicnic
Sorry if this is the wrong forum, I am a newbie in the community.

As I start using Modelio, I would like to evangelize its use at work and I am wondering what is the best way to collaborate on large models/projects.

We have been using XCore (in Eclipse) and before that JSON-Schema (ouch) to represent information models in the past and PlantUML for other kinds of diagrams.

A key driver of those decisions is the ability to express the models in text/source files that are +/- human friendly (at least when compared to xmi), the ability to split a model in multiple files/directories (Java package style) and very importantly, to take advantage of the GitHub branch/modify/commit/pull-request/merge cycle that is most effective with smallish files and directory structures. This has allowed us to share models very broadly to developers that would never touch a UML tool.

Is there a way to export/import or even better, to edit directly the models as text in a DSL syntax like xcore ( wiki.eclipse.org/Xcore ) ? If not, do you think it is possible to develop a module that would at least do the import/export to a directory/zip structure?

Regards

Miguel

Please Log in or Create an account to join the conversation.

1 month 1 week ago #6411 by cma
Hello and welcome to Modelio community !

I think the best solution for your use case is to write a module to import/export your model files into Modelio.
With a module you will be able to use directly XCore java libraries to parse and write the file.

You will find more informations about how to write a module in the Module developer guide .

Regards

Please Log in or Create an account to join the conversation.

1 month 1 week ago #6412 by jmpicnic
Thank you for the quick response. I'll check the module development route. A quick question to validate the approach...

Are modules able to work "in the background" so that the two representations are kept transparently in sync?

Thanks again

Miguel

Please Log in or Create an account to join the conversation.

1 month 1 week ago #6413 by jmpicnic
One more question to help with my ramp up, are there any git projects of Modelio modules that I could look at to see how to best structure a module, and learning by example?

Thanks a lot again for your patience with a newbie.

Please Log in or Create an account to join the conversation.

1 month 6 days ago #6414 by cma
A module may do background work by:
- creating a Java Thread on module start
- Scheduling background work with a java.util.concurrent.ScheduledExecutorService
This may be done in your module lifecycle handler .

The limitation is only one thread may modify the model at the same time, creating a transaction will fail if another one is already open.
It means the user won't be able to modify the model while the module is modifying the model.


I don't know a place with short examples but you may look at the sources of the open source Java generator here:
github.com/ModelioOpenSource/ExtensionsForModelio

There is also a maven archetype available, it is described here .
and a module development tutorial .

Please Log in or Create an account to join the conversation.

1 month 6 days ago #6417 by jmpicnic
Thank you very much.

Please Log in or Create an account to join the conversation.

Moderators: tma
Time to create page: 0.067 seconds
^ Back to Top