Pyro

A Collaborative, Meta-Model-Driven, Web-Based and Graphical Modeling Environment


Pyro is a CINCO Meta Plugin to realize an alternative generation target. Instead of a local Eclipse based IDE, Pyro generates a full featured web application for a platform independent multi-user modeling experience.

Docs

For Tutorials, how to setup Pyro follow the Pyro GitLab Wiki. To develop your own graphical domain specific language, take a look at the CINCO SCCE Meta Tooling Suite

Simultaneously Shared Modeling Experience


Generation Concept & Technologies


CINCO provides multiple languages to define the meta model of your graphical DSL:

Pyro utilizes the CINCO Meta Plugin extension point to generate an alternative modeling environment, based on a CINCO Product Definition and the referenced MGLs and MSLs. Pyro is based on leading technologies to provide the same user experience as a local application:

The Pyro Meta Plugin Generator Mechanism
The Pyro Meta Plugin Generator Mechanism.

Communication Architecture


Pyro uses a command-based communication pattern to realize simultanious editing of multiple users on the same model instance. The commands are equivalent to possible atomic actions affecting a model, like:

Since Pyro provides the same Custom Actions and Hooks as CINCO, the actions done on the API level are propagated as well. The commands are stored in Queues to realize possibilities for Undo and Redo actions for the users.

All actions are immediately distributed to every user currently working on the dependent model instance, to show the changes and avoid additional versioning.

The Pyro Meta Plugin Generator Mechanism
The Pyro Meta Plugin Generator Mechanism.