SlideShare a Scribd company logo
Layered Layouts for Software Systems Visualization
using Nested Petri Nets
Alexey Mitsyuk Yaroslav Kotylev
National Research University Higher School of Economics
Faculty of Computer Science
Laboratory of Process-Aware Information Systems (PAIS Lab)
amitsyuk@hse.ru, yavkotylev@edu.hse.ru
Dolgoprudny
March 4, 2017
Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 1 / 26
Overview
1 Introduction
Software Visualization
Layered Layouts
Similar & Related Approaches
2 Visualization of Nested Petri Nets
Basic Concepts
Overview of Our Approach
Algorithms
Concluding Information
3 Visualization of Petri Nets with Data
4 Conclusion
Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 2 / 26
Introduction Software Visualization
Software Visualization is Useful (Captain Obvious:)
Motivation
Typical modern software has complex architecture
Visual analysis can be insightful
Our problem
How to make visualization comprehensive and readable at the same time?
Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 3 / 26
Introduction Layered Layouts
Our solution: Layered Layouts (2.5D)
Different dimensions (multiple perspectives / flows) in a single view
Intuitive hierarchy visualization
Existing 2D layouts for layers
May be extended with dynamics and animation
Relatively easy to implement
Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 4 / 26
Introduction Similar & Related Approaches
Similar Approaches - 1
(all images are the property of their authors)
Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 5 / 26
Introduction Similar & Related Approaches
Similar Approaches - 2
(all images are the property of their authors)
Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 6 / 26
Introduction Similar & Related Approaches
Similar Approaches - 3
(all images are the property of their authors)
Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 7 / 26
Introduction Similar & Related Approaches
Similar Approaches - 4
(all images are the property of their authors)
Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 8 / 26
Introduction Similar & Related Approaches
Similar Approaches - 5
(all images are the property of their authors)
Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 9 / 26
Introduction Similar & Related Approaches
Similar Approaches - 6
(all images are the property of their authors)
Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 10 / 26
Introduction Similar & Related Approaches
Similar Approaches - 7
(all images are the property of their authors)
Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 11 / 26
Introduction Similar & Related Approaches
Similar Approaches - 8
(all images are the property of their authors)
Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 12 / 26
Introduction Similar & Related Approaches
Similar Approaches - Summary
1. Ideas similar to layered layouts (2.5D) are known in graph drawing.
2. 3D methods were already applied in software visualization.
3. Though the idea is not quite new, it reincarnates regularly in different
fields.
4. There are o lot of works on visualization of program structure (classes /
packages) and program executions (traces). We visualize flow models.
5. In the remainder we follow this idea and propose the 2.5D layouts
approach for nested Petri nets visualization.
Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 13 / 26
Visualization of Nested Petri Nets Basic Concepts
Visualization of Nested Petri Nets (1)
Basic Petri Net (P/T-net)
A PN is a bipartite graph.
Elements: places, transitions, arcs, tokens.
A marking (distribution of tokens) determines the current state.
Transitions denote the action elements. Places denote conditions.
Nested Petri Nets [Lomazova, 2001]
NPNs are a special type of high-level (coloured) Petri nets.
1. A NPN consists of a system net and element nets.
2. Some tokens of a system can be the element nets (nets within nets).
3. In general, an element net can be a system net itself.
Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 14 / 26
Visualization of Nested Petri Nets Overview of Our Approach
Visualization of Nested Petri Nets (2)
Our approach
1. Each net can be shown in a separate layer.
2. Lines between layers connect element net representations with
corresponding tokens.
3. The existing layout is used for layers.
4. We use colouring to improve readability (it is optional).
Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 15 / 26
Visualization of Nested Petri Nets Overview of Our Approach
Visualization of Nested Petri Nets (3)
Interactivity
1. Each layer can be shown or hidden.
2. Hierarchy can be visualized easily.
3. We use zoom in and out functions.
4. We use colouring to improve readability (it is optional).
5. It is possible to rotate/move the model.
Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 16 / 26
Visualization of Nested Petri Nets Algorithms
Layered Layouts Algorithm
Algorithm 1: Layered layout algorithm
Data: Net = (SN, EN) — NPN, where SN is a system net, EN is a set of
element nets
Result: All nodes are arranged
1 setCoordinates(SN,0);
2 layerShift ← computeLayerShift(Net);
3 foreach N in EN do
4 setCoordinates(N,layerShift);
5 end
6 return coords
— The order of foreach traverse can significantly change the visualization.
— Fixed layerShift can be calculated based on the size and configuration
of the model (possible improvement — variable layerShift).
Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 17 / 26
Visualization of Nested Petri Nets Algorithms
Single Layer Layout
The setCoordinates() calls the method, which implements the
Sugiyama-style algorithm (PNs are directed bipartite graphs).
The particular algorithm has been proposed in [Nikitina Mitsyuk, 2015].
Algorithm 2: Petri net layout algorithm
Data: Nodes — List of all nodes
Result: All nodes are arranged
1 Find all connected components;
2 foreach connected component Comp do
3 CNodes ← GetAllNodes(Comp,Nodes);
4 ICNodes ← SearchForInitialNodes(CNodes);
5 SetColumnForInitialNodes(ICNodes);
6 SetColumnForEachNode(CNodes  ICNodes);
7 coords ← SetCoordinatesForEachNode(CNodes);
8 end
9 return coords
Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 18 / 26
Visualization of Nested Petri Nets Algorithms
Traversal Order (based on BFS)
Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 19 / 26
Visualization of Nested Petri Nets Concluding Information
Revealing the Hierarchy
a)
b)
Figure: Manually prepared plane picture a) and an automatic layered visualization
in 3D b).
Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 20 / 26
Visualization of Nested Petri Nets Concluding Information
Prototype Tool
Prototype for NPNs
The prototype has been implemented using Processing [Reas Fry, 2014].
We use Carassius [Nikitina Mitsyuk, 2015] for Petri net editing.
Want to try?
The code with example nested Petri net is acceptable at
https://github.com/yavkotylev/NestedPetriNetsTool
Video demo
Demo link (internet connection required)
Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 21 / 26
Visualization of Petri Nets with Data
Another Case: Visualization of DPNs
Petri net with Data (with K.Samsonova)
Petri nets with data (DPN) were proposed in
[de Leoni and van der Aalst, 2013]
— Only 2 flows: control- and data-
— Control-flow is a P/T-net
— Sparse graphs for data-flow in most cases
— Dynamic colouring (firing, read and write operations)
Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 22 / 26
Conclusion
Future Work (To Do:)
1. To propose the approaches for cases with complex links between layers
2. To introduce a variable shift between layers
3. To evaluate different orders for layer drawing
4. To evaluate the force-based algorithms for 2D layers in 2.5D setting
5. To apply layered layouts for different modelling notations (e.g. UML
Sequence diagrams, BPMN 2.0)
6. To construct an algorithm for automated camera angle selection &
rotation
7. To add dynamics (model runs)
Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 23 / 26
Conclusion
Conclusion
In this talk we
1 recalled the usefulness of informal visual analysis;
2 showed the idea for visualization of graph-based software models;
3 discussed related and similar approaches;
4 demonstrated how layered layouts can be applied to NPN models;
5 outlined directions for future work.
Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 24 / 26
Conclusion
References
The full list of references can be found in the paper.
M. de Leoni and W. M. P. van der Aalst (2013)
Data-Aware Process Mining: Discovering Decisions in Processes Using Alignments
SAC 2013 Proceedings, pages 1454 – 1461. ACM, 2013.
Irina A. Lomazova (2001)
Nested Petri nets: Multi-level and recursive systems
Fundam. Inform., 47(3-4), pages 283 – 293.
N. Nikitina and A. Mitsyuk (2015)
Carassius: A simple process model editor
Proceedings of ISP RAS, 27(3), pages 219 – 236.
Casey Reas and Ben Fry (2014)
Processing: A Programming Handbook for Visual Designers and Artists
The MIT Press, 2014.
Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 25 / 26
Conclusion
Thank you!
https://github.com/yavkotylev/NestedPetriNetsTool
Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 26 / 26

More Related Content

PDF
TMPA-2017: Compositional Process Model Synthesis based on Interface Patterns
DOC
240164036 ee2092-4-2011-matrix-analysis
PDF
SJUT/Mat210/Interpolation/Lagrangian 2013-14S2
PDF
Lecture7 xing fei-fei
PPTX
A survey on graph kernels
PDF
Bringing Math to LOD
PDF
Resume-fangfen(company)
PPTX
Lect13
TMPA-2017: Compositional Process Model Synthesis based on Interface Patterns
240164036 ee2092-4-2011-matrix-analysis
SJUT/Mat210/Interpolation/Lagrangian 2013-14S2
Lecture7 xing fei-fei
A survey on graph kernels
Bringing Math to LOD
Resume-fangfen(company)
Lect13

Viewers also liked (20)

PDF
TMPA-2017: Stemming Architectural Decay in Software Systems
PDF
TMPA-2017: Modeling of PLC-programs by High-level Coloured Petri Nets
PDF
TMPA-2017: Functional Parser of Markdown Language Based on Monad Combining an...
PDF
TMPA-2017: Dl-Check: Dynamic Potential Deadlock Detection Tool for Java Programs
PDF
TMPA-2017: Extended Context-Free Grammars Parsing with Generalized LL
PDF
TMPA-2017: Simple Type Based Alias Analysis for a VLIW Processor
PDF
TMPA-2017: The Quest for Average Response Time
PDF
TMPA-2017: A Survey of High-Performance Computing for Software Verification
PDF
TMPA-2017: Evolutionary Algorithms in Test Generation for digital systems
PDF
TMPA-2017: Predicate Abstraction Based Configurable Method for Data Race Dete...
PDF
TMPA-2017: Technology and Tools for Developing Industrial Software Test Suite...
PDF
TMPA-2017: Regression Testing with Semiautomatic Test Selection for Auditing ...
PDF
TMPA-2017: Conference Opening
PDF
TMPA-2017: Using Functional Directives to Analyze Code Complexity and Communi...
PDF
TMPA-2017: Static Checking of Array Objects in JavaScript
PDF
TMPA-2017: Defect Report Classification in Accordance with Areas of Testing
PDF
TMPA-2017: 5W+1H Static Analysis Report Quality Measure
PDF
TMPA-2017: A Survey on Model-Based Testing Tools for Test Case Generation
PDF
TMPA-2017: Distributed Analysis of the BMC Kind: Making It Fit the Tornado Su...
PDF
TMPA-2017: Live testing distributed system fault tolerance with fault injecti...
TMPA-2017: Stemming Architectural Decay in Software Systems
TMPA-2017: Modeling of PLC-programs by High-level Coloured Petri Nets
TMPA-2017: Functional Parser of Markdown Language Based on Monad Combining an...
TMPA-2017: Dl-Check: Dynamic Potential Deadlock Detection Tool for Java Programs
TMPA-2017: Extended Context-Free Grammars Parsing with Generalized LL
TMPA-2017: Simple Type Based Alias Analysis for a VLIW Processor
TMPA-2017: The Quest for Average Response Time
TMPA-2017: A Survey of High-Performance Computing for Software Verification
TMPA-2017: Evolutionary Algorithms in Test Generation for digital systems
TMPA-2017: Predicate Abstraction Based Configurable Method for Data Race Dete...
TMPA-2017: Technology and Tools for Developing Industrial Software Test Suite...
TMPA-2017: Regression Testing with Semiautomatic Test Selection for Auditing ...
TMPA-2017: Conference Opening
TMPA-2017: Using Functional Directives to Analyze Code Complexity and Communi...
TMPA-2017: Static Checking of Array Objects in JavaScript
TMPA-2017: Defect Report Classification in Accordance with Areas of Testing
TMPA-2017: 5W+1H Static Analysis Report Quality Measure
TMPA-2017: A Survey on Model-Based Testing Tools for Test Case Generation
TMPA-2017: Distributed Analysis of the BMC Kind: Making It Fit the Tornado Su...
TMPA-2017: Live testing distributed system fault tolerance with fault injecti...
Ad

Similar to TMPA-2017: Layered Layouts for Software Systems Visualization (6)

ODP
Visualizing non-functional requirements
PDF
Node Path Visualizer Using Shortest Path Algorithms
PPTX
Out of Sight, Out of Mind: Improving Visualization of AI Info
PPTX
Visualization of Anomalies in Dynamic Networks with NodeXL
PDF
Gephi icwsm-tutorial
PDF
SP1: Exploratory Network Analysis with Gephi
Visualizing non-functional requirements
Node Path Visualizer Using Shortest Path Algorithms
Out of Sight, Out of Mind: Improving Visualization of AI Info
Visualization of Anomalies in Dynamic Networks with NodeXL
Gephi icwsm-tutorial
SP1: Exploratory Network Analysis with Gephi
Ad

More from Iosif Itkin (20)

PDF
Foundations of Software Testing Lecture 4
PPTX
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
PDF
Exactpro FinTech Webinar - Global Exchanges Test Oracles
PDF
Exactpro FinTech Webinar - Global Exchanges FIX Protocol
PDF
Operational Resilience in Financial Market Infrastructures
PDF
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
PDF
Testing the Intelligence of your AI
PDF
EXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
PDF
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
PPTX
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
PDF
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
PDF
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
PPTX
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
PDF
QA Community Saratov: Past, Present, Future (2019-02-08)
PDF
Machine Learning and RoboCop Testing
PDF
Behaviour Driven Development: Oltre i limiti del possibile
PDF
2018 - Exactpro Year in Review
PPTX
Exactpro Discussion about Joy and Strategy
PPTX
FIX EMEA Conference 2018 - Post Trade Software Testing Challenges
PDF
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
Foundations of Software Testing Lecture 4
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
Exactpro FinTech Webinar - Global Exchanges Test Oracles
Exactpro FinTech Webinar - Global Exchanges FIX Protocol
Operational Resilience in Financial Market Infrastructures
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
Testing the Intelligence of your AI
EXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
QA Community Saratov: Past, Present, Future (2019-02-08)
Machine Learning and RoboCop Testing
Behaviour Driven Development: Oltre i limiti del possibile
2018 - Exactpro Year in Review
Exactpro Discussion about Joy and Strategy
FIX EMEA Conference 2018 - Post Trade Software Testing Challenges
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Recently uploaded (20)

PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Empathic Computing: Creating Shared Understanding
PPTX
Big Data Technologies - Introduction.pptx
PPTX
Spectroscopy.pptx food analysis technology
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Machine learning based COVID-19 study performance prediction
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
Cloud computing and distributed systems.
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Encapsulation theory and applications.pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Reach Out and Touch Someone: Haptics and Empathic Computing
20250228 LYD VKU AI Blended-Learning.pptx
Encapsulation_ Review paper, used for researhc scholars
Dropbox Q2 2025 Financial Results & Investor Presentation
Empathic Computing: Creating Shared Understanding
Big Data Technologies - Introduction.pptx
Spectroscopy.pptx food analysis technology
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
Machine learning based COVID-19 study performance prediction
MYSQL Presentation for SQL database connectivity
Cloud computing and distributed systems.
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Programs and apps: productivity, graphics, security and other tools
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Encapsulation theory and applications.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...

TMPA-2017: Layered Layouts for Software Systems Visualization

  • 1. Layered Layouts for Software Systems Visualization using Nested Petri Nets Alexey Mitsyuk Yaroslav Kotylev National Research University Higher School of Economics Faculty of Computer Science Laboratory of Process-Aware Information Systems (PAIS Lab) amitsyuk@hse.ru, yavkotylev@edu.hse.ru Dolgoprudny March 4, 2017 Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 1 / 26
  • 2. Overview 1 Introduction Software Visualization Layered Layouts Similar & Related Approaches 2 Visualization of Nested Petri Nets Basic Concepts Overview of Our Approach Algorithms Concluding Information 3 Visualization of Petri Nets with Data 4 Conclusion Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 2 / 26
  • 3. Introduction Software Visualization Software Visualization is Useful (Captain Obvious:) Motivation Typical modern software has complex architecture Visual analysis can be insightful Our problem How to make visualization comprehensive and readable at the same time? Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 3 / 26
  • 4. Introduction Layered Layouts Our solution: Layered Layouts (2.5D) Different dimensions (multiple perspectives / flows) in a single view Intuitive hierarchy visualization Existing 2D layouts for layers May be extended with dynamics and animation Relatively easy to implement Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 4 / 26
  • 5. Introduction Similar & Related Approaches Similar Approaches - 1 (all images are the property of their authors) Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 5 / 26
  • 6. Introduction Similar & Related Approaches Similar Approaches - 2 (all images are the property of their authors) Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 6 / 26
  • 7. Introduction Similar & Related Approaches Similar Approaches - 3 (all images are the property of their authors) Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 7 / 26
  • 8. Introduction Similar & Related Approaches Similar Approaches - 4 (all images are the property of their authors) Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 8 / 26
  • 9. Introduction Similar & Related Approaches Similar Approaches - 5 (all images are the property of their authors) Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 9 / 26
  • 10. Introduction Similar & Related Approaches Similar Approaches - 6 (all images are the property of their authors) Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 10 / 26
  • 11. Introduction Similar & Related Approaches Similar Approaches - 7 (all images are the property of their authors) Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 11 / 26
  • 12. Introduction Similar & Related Approaches Similar Approaches - 8 (all images are the property of their authors) Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 12 / 26
  • 13. Introduction Similar & Related Approaches Similar Approaches - Summary 1. Ideas similar to layered layouts (2.5D) are known in graph drawing. 2. 3D methods were already applied in software visualization. 3. Though the idea is not quite new, it reincarnates regularly in different fields. 4. There are o lot of works on visualization of program structure (classes / packages) and program executions (traces). We visualize flow models. 5. In the remainder we follow this idea and propose the 2.5D layouts approach for nested Petri nets visualization. Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 13 / 26
  • 14. Visualization of Nested Petri Nets Basic Concepts Visualization of Nested Petri Nets (1) Basic Petri Net (P/T-net) A PN is a bipartite graph. Elements: places, transitions, arcs, tokens. A marking (distribution of tokens) determines the current state. Transitions denote the action elements. Places denote conditions. Nested Petri Nets [Lomazova, 2001] NPNs are a special type of high-level (coloured) Petri nets. 1. A NPN consists of a system net and element nets. 2. Some tokens of a system can be the element nets (nets within nets). 3. In general, an element net can be a system net itself. Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 14 / 26
  • 15. Visualization of Nested Petri Nets Overview of Our Approach Visualization of Nested Petri Nets (2) Our approach 1. Each net can be shown in a separate layer. 2. Lines between layers connect element net representations with corresponding tokens. 3. The existing layout is used for layers. 4. We use colouring to improve readability (it is optional). Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 15 / 26
  • 16. Visualization of Nested Petri Nets Overview of Our Approach Visualization of Nested Petri Nets (3) Interactivity 1. Each layer can be shown or hidden. 2. Hierarchy can be visualized easily. 3. We use zoom in and out functions. 4. We use colouring to improve readability (it is optional). 5. It is possible to rotate/move the model. Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 16 / 26
  • 17. Visualization of Nested Petri Nets Algorithms Layered Layouts Algorithm Algorithm 1: Layered layout algorithm Data: Net = (SN, EN) — NPN, where SN is a system net, EN is a set of element nets Result: All nodes are arranged 1 setCoordinates(SN,0); 2 layerShift ← computeLayerShift(Net); 3 foreach N in EN do 4 setCoordinates(N,layerShift); 5 end 6 return coords — The order of foreach traverse can significantly change the visualization. — Fixed layerShift can be calculated based on the size and configuration of the model (possible improvement — variable layerShift). Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 17 / 26
  • 18. Visualization of Nested Petri Nets Algorithms Single Layer Layout The setCoordinates() calls the method, which implements the Sugiyama-style algorithm (PNs are directed bipartite graphs). The particular algorithm has been proposed in [Nikitina Mitsyuk, 2015]. Algorithm 2: Petri net layout algorithm Data: Nodes — List of all nodes Result: All nodes are arranged 1 Find all connected components; 2 foreach connected component Comp do 3 CNodes ← GetAllNodes(Comp,Nodes); 4 ICNodes ← SearchForInitialNodes(CNodes); 5 SetColumnForInitialNodes(ICNodes); 6 SetColumnForEachNode(CNodes ICNodes); 7 coords ← SetCoordinatesForEachNode(CNodes); 8 end 9 return coords Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 18 / 26
  • 19. Visualization of Nested Petri Nets Algorithms Traversal Order (based on BFS) Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 19 / 26
  • 20. Visualization of Nested Petri Nets Concluding Information Revealing the Hierarchy a) b) Figure: Manually prepared plane picture a) and an automatic layered visualization in 3D b). Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 20 / 26
  • 21. Visualization of Nested Petri Nets Concluding Information Prototype Tool Prototype for NPNs The prototype has been implemented using Processing [Reas Fry, 2014]. We use Carassius [Nikitina Mitsyuk, 2015] for Petri net editing. Want to try? The code with example nested Petri net is acceptable at https://github.com/yavkotylev/NestedPetriNetsTool Video demo Demo link (internet connection required) Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 21 / 26
  • 22. Visualization of Petri Nets with Data Another Case: Visualization of DPNs Petri net with Data (with K.Samsonova) Petri nets with data (DPN) were proposed in [de Leoni and van der Aalst, 2013] — Only 2 flows: control- and data- — Control-flow is a P/T-net — Sparse graphs for data-flow in most cases — Dynamic colouring (firing, read and write operations) Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 22 / 26
  • 23. Conclusion Future Work (To Do:) 1. To propose the approaches for cases with complex links between layers 2. To introduce a variable shift between layers 3. To evaluate different orders for layer drawing 4. To evaluate the force-based algorithms for 2D layers in 2.5D setting 5. To apply layered layouts for different modelling notations (e.g. UML Sequence diagrams, BPMN 2.0) 6. To construct an algorithm for automated camera angle selection & rotation 7. To add dynamics (model runs) Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 23 / 26
  • 24. Conclusion Conclusion In this talk we 1 recalled the usefulness of informal visual analysis; 2 showed the idea for visualization of graph-based software models; 3 discussed related and similar approaches; 4 demonstrated how layered layouts can be applied to NPN models; 5 outlined directions for future work. Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 24 / 26
  • 25. Conclusion References The full list of references can be found in the paper. M. de Leoni and W. M. P. van der Aalst (2013) Data-Aware Process Mining: Discovering Decisions in Processes Using Alignments SAC 2013 Proceedings, pages 1454 – 1461. ACM, 2013. Irina A. Lomazova (2001) Nested Petri nets: Multi-level and recursive systems Fundam. Inform., 47(3-4), pages 283 – 293. N. Nikitina and A. Mitsyuk (2015) Carassius: A simple process model editor Proceedings of ISP RAS, 27(3), pages 219 – 236. Casey Reas and Ben Fry (2014) Processing: A Programming Handbook for Visual Designers and Artists The MIT Press, 2014. Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 25 / 26
  • 26. Conclusion Thank you! https://github.com/yavkotylev/NestedPetriNetsTool Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 26 / 26