Slide 1

Slide 1 text

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) [email protected], [email protected] Dolgoprudny March 4, 2017 Alexey Mitsyuk, Yaroslav Kotylev (HSE) Layered Layouts for Visualization of NPNs Dolgoprudny March 4, 2017 1 / 26

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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