Plan to create a modelling workbench with Sirius? This presentation will give you some hints to start your project in good conditions. We will discuss about the global Sirius process and we will continue with the project methodology used at Obeo with its customers for this kind of projects
You're probably wondering “How do I start my project'
You're probably wondering “How do I start my project'
Usually a Sirius project follows these steps :
- domain model : concepts offered to users for their modeling activity, properties and how they're related each each other
- Create your graphical modelers with Sirius to design the views you want to offer in your modeling tool
- and you may have to develop component to integrate your workbench in your global toolchain
And we'll see in the presentation, you can execute this process iteratively
Fundamental step:
- the domain model carry out the concepts, the properties and the relations your users will manipulate each time they use your workbench
- the model must describe accurately your business so that your users will easily learn how to use it and will be comfortable with it
- Another important point is that you will probably not cover your domain entirely in the first iteration
- our tools are iterative
Avant available :
An Eclipse technology
That's why we recommend to organized working session with the target users to precisely set up the modeler for their needs
Specify your representation with your target user
Use as much as possible the usual Visual Identity of your users to style your representations
Sirius allows to highly configure the graphical representations and the editing tools in your modeler
This key feature must be used to create various modelers precisely adapted to their users and the associated use cases
Depending on your needs, a modeling tool can be used quite often (maybe every day) so we recommend to make them nice. Your users will find them more pleasant to use
Follow the recommandations given by loredana in the previous session to make them shiny
For the moment, I only discussed about the visual presentation of your modelers, but the way you edit the model is very important too.
You can also very efficiently configure your editing tools in your Sirius modelers
You can configure the editing behaviour of your tools in the palette, the popup menu, the tabbar so that you can create very intuitive modelers in your workbench
Take advantage of the new Properties Views feature in Sirius 4.X to adapt even more your representations to your users
Take advantage of the new Properties Views feature in Sirius 4.X to adapt even more your representations to your users
Take advantage of the new Properties Views feature in Sirius 4.X to adapt even more your representations to your users
Take advantage of the new Properties Views feature in Sirius 4.X to adapt even more your representations to your users
Finally, you could have to integrate your modeling workbench with your other tools
Import data from others tools
Export models to others tools
Generate documentation, reports
…
Fortunately Sirius is Open Source and is part of the Eclipse Ecosystem
Easiness to interact with other tool
Availability of tons of opensource tools ready-to-use with Sirius (m2doc, acceleo…)
- Thanks to the eclipse platform you will find a lot of great projects to help you create all you components.
Take advantage of the new Properties Views feature in Sirius 4.X to adapt even more your representations to your users
These technologies are highly iterative so
Feel free to make tries
Feel free to launch small prototypes
Feel free to skip and to leave unfinalized a topic to work on it later
This iterability lets you work in a very agile way to develop your Sirius modelers
Start with a small, well defined scope of your domain
A POC generally address
A subset of the target domain
a reduced set of representations
These representations must cover the elements to present and the associated editing tools
Here, the goal is to validate the general principle of the tooling, not start the development
Usually, internal tooling team is responsible for this workbench
If such team exists in the company, different scenarios to organize the develop the workbench are possible:
The team can develop the entire workbench
In this case, Obeo can train the team to the technologies involved in the project
The team can co-develop the workbench with Obeo
Usually, Obeo starts the project, organizing and leading the working session, initializing the development part before a transfer to the target teams
Finally, the team can subcontract the entire development to Obeo
If such a team doesn’t exist,
Either a development team takes responsibility for the project
With one of the scenarios described above
Either the company can subcontract the entire project
Once the Pilot project deployed, the tooling will be placed in the hands of final users
who may need some hot fixes or product improvement
who may depends on the proper operation of the tools
The company may need a professional support from a software company
The step after a successful pilot project is the industrialization of the modeling workbench. This results in:
Potentially performing a final iteration on the domain
Iterate on all representations to upgrade them to an industrial quality level
Finalization of all configuration (styles, dynamic styles, toolings…)
Add of additional representations
Full integration with external tools
Branding
For the implementation aspects:
IC (if not already done)
Automated tests
Projects infrastructure (bugs tracker if not already create)
The industrialization of a first project can be parallelized to new POCs or Pilot modeling new domain
In order to provide a full modeling workbench dedicated to one or more fields of the company
With a growing number of users, the collaborative editing strategy must be tackle
How users will collaborate together?
Do we authorize model conflicts?
Where does the models are stored?
Obeo propose two way to implement collaborative editing strategy
You have to chose the one matching the more with your context
Users
Modeling context
Habits
...
Finally, if you want to provide your users with a smoother way to collaborate together, you can start to use Obeo Designer Team
It provides instant collaboration. When a user start to modify a model, the others users are notified with graphical locks
And when the first user validate his changes, the others users are immediately updated with the new version of the model.