Upgrade to Pro — share decks privately, control downloads, hide ads and more …

TMPA-2017: Layered Layouts for Software Systems Visualization

TMPA-2017: Layered Layouts for Software Systems Visualization

TMPA-2017: Tools and Methods of Program Analysis
3-4 March, 2017, Hotel Holiday Inn Moscow Vinogradovo, Moscow

Layered Layouts for Software Systems Visualization
Alexey A. Mitsyuk, Yaroslav V. Kotylev, Higher School of Economics

For video follow the link: https://youtu.be/NFsgWQpMQjs
Would like to know more?
Visit our website:
www.tmpaconf.org
www.exactprosystems.com/events/tmpa

Follow us:
https://www.linkedin.com/company/exactpro-systems-llc?trk=biz-companies-cym
https://twitter.com/exactpro

Exactpro

March 23, 2017
Tweet

More Decks by Exactpro

Other Decks in Technology

Transcript

  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) [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
  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