Mondrian Overview 2007-11-06

2,174 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,174
On SlideShare
0
From Embeds
0
Number of Embeds
148
Actions
Shares
0
Downloads
29
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Mondrian Overview 2007-11-06

  1. 1. Painting objects with Mondrian Tudor Gîrba www.tudorgirba.com
  2. 2. Mondrian is created by Michael Meyer and Tudor Gîrba
  3. 3. Mondrian is about visualization
  4. 4. A picture is worth thousand words a
  5. 5. UML took it literally :)
  6. 6. 70% of our sensors are dedicated to vision
  7. 7. How many groups do you see?
  8. 8. How many groups do you see?
  9. 9. How many groups do you see?
  10. 10. How many groups do you see?
  11. 11. 70% of our sensors are dedicated to vision
  12. 12. A picture is worth thousand words a
  13. 13. Example: What is ?
  14. 14. What we have: Graphviz digraph classGraph { A [ shape=polygon, width = 6 ... ] B [ shape=polygon, width = 5 ... ] ... A -> B C -> D ... }
  15. 15. What we have: CodeCrawler Node Edge Class Inheritance Node Edge
  16. 16. Mondrian
  17. 17. What we want Scripting Instance based Any data model Close to data Interaction
  18. 18. What we want Scripting Instance based Any data model Close to data Interaction
  19. 19. Composition with Red,Yellow and Blue Piet Mondrian (1921)
  20. 20. Mondrian is about visualization
  21. 21. The simplest script is an empty view view := ViewRenderer new. view open.
  22. 22. View = nodes, edges, layout view := ViewRenderer new. view nodes: classes. view edges: classes from: [:each | each superclass] to: [:each | each]. view treeLayout. view open.
  23. 23. Shapes are responsible for drawing view := ViewRenderer new. view borderedRectangleShape height: [:each | each numberOfMethods]. view nodes: classes. view edges: classes from: [:each | each superclass] to: [:each | each]. view treeLayout. view open.
  24. 24. Blocks can be replaced by symbols view := ViewRenderer new. view borderedRectangleShape height: #numberOfMethods. view nodes: classes. view edgesFrom: #superclass. view treeLayout. view open.
  25. 25. Nesting is done through blocks view := ViewRenderer new. view borderedRectangleShape. view nodes: classes forEach: [:each | view nodes: each methods. view gridLayout]. view edgesFrom: #superclass. view treeLayout. view open.
  26. 26. Mondrian is about visualizations
  27. 27. Mondrian is about interactive visualization
  28. 28. Interaction is scriptable, too view := ViewRenderer new. view2 := ViewRenderer new. view interaction onSelect: [:each | each viewOn: view2]. view interaction popupView: [:each :aView | each viewOn: aView]. ... view open. view2 open.
  29. 29. Mondrian is a domain specific language view := ViewRenderer new. view borderedRectangleShape. view interaction popupView: [:each :aView | each viewOn: aView]. view nodes: classes forEach: [:each | view nodes: each methods. view gridLayout ]. view edgesFrom: #superclass. view treeLayout. view open.
  30. 30. Mondrian Tudor Gîrba www.tudorgirba.com
  31. 31. Tudor Gîrba www.tudorgirba.com creativecommons.org/licenses/by/3.0/

×