Picto Web:
A Tool for Complex
Model Exploration
A. Yohannis, D. Kolovos, A. García-Domínguez,
C. J. Fernández Candel
MODELS 2022 - Wednesday October 26th, 2022
Visualizing complex models
● A complex model has many different types of elements,
involved in non-trivial relationships
● Visualisations can help understand such models, but:
○ A single visualisation with everything can be overwhelming
○ A single visualisation is also computationally hard to lay out!
● Different users will want different visualisations
○ All served from the same model
○ We may want to reuse computed visualisations for repeated requests
● Visualisations need to stay up to date when changes happen
Picto: the original tool
● Picto is an Eclipse tool generating transient viz on demand
● A .picto file defines a set of visualisations using EGX scripts
● An EGX script orchestrates EGL model-to-text transformations
Picto Web: this paper
● Port of Picto to the Web, watching model folders
● Regenerates views upon changes, notifying clients
● Caches views for repeated requests
● Docker image available for ease of use - github.com/epsilonlabs/picto-web
Demo time!
● Social network (Flexmi): Graphviz/Pinset viz, change detection
○ The other social network example is the same, but with models in XMI format
● Class diagrams (ecorediagram):
○ PlantUML global / per-class visualisations
● Class diagrams (ecd.flexmi):
○ Flexmi models are used to specify custom subsets for diagrams
● Sequence diagrams (minisd):
○ Other PlantUML visualisations, using tree paths to drill into alt combinations
● Table-based metamodel docs (egldoc): HTML visualisations
Thank you!
Sources: https://github.com/epsilonlabs/picto-web
a.garcia-dominguez@york.ac.uk (me)
alfa.yohannis@york.ac.uk (lead dev)

MODELS 2022 Picto Web tool demo

  • 1.
    Picto Web: A Toolfor Complex Model Exploration A. Yohannis, D. Kolovos, A. García-Domínguez, C. J. Fernández Candel MODELS 2022 - Wednesday October 26th, 2022
  • 2.
    Visualizing complex models ●A complex model has many different types of elements, involved in non-trivial relationships ● Visualisations can help understand such models, but: ○ A single visualisation with everything can be overwhelming ○ A single visualisation is also computationally hard to lay out! ● Different users will want different visualisations ○ All served from the same model ○ We may want to reuse computed visualisations for repeated requests ● Visualisations need to stay up to date when changes happen
  • 3.
    Picto: the originaltool ● Picto is an Eclipse tool generating transient viz on demand ● A .picto file defines a set of visualisations using EGX scripts ● An EGX script orchestrates EGL model-to-text transformations
  • 4.
    Picto Web: thispaper ● Port of Picto to the Web, watching model folders ● Regenerates views upon changes, notifying clients ● Caches views for repeated requests ● Docker image available for ease of use - github.com/epsilonlabs/picto-web
  • 5.
    Demo time! ● Socialnetwork (Flexmi): Graphviz/Pinset viz, change detection ○ The other social network example is the same, but with models in XMI format ● Class diagrams (ecorediagram): ○ PlantUML global / per-class visualisations ● Class diagrams (ecd.flexmi): ○ Flexmi models are used to specify custom subsets for diagrams ● Sequence diagrams (minisd): ○ Other PlantUML visualisations, using tree paths to drill into alt combinations ● Table-based metamodel docs (egldoc): HTML visualisations
  • 6.