Roassalturn your programming environment into a         beauty center for objects                Vanessa Peña             ...
RoassalAdvanced visualization engineUseful to draw pictures of your dataWell modularized Easily portable (Pharo, VisualWor...
view nodes: Collection withAllSubclasses.
view nodes: Collection withAllSubclasses.
view nodes: Collection withAllSubclasses.view edgesFrom: #superclass.
view nodes: Collection withAllSubclasses.view edgesFrom: #superclass.view treeLayout
view shape rectangle! width: #numberOfVariables;! height: #numberOfMethods.view nodes: Collection withAllSubclasses.view e...
Roassal architecture & modelYour application      shape1 shape2 shape3Mondrian                     Graphical   Roassal    ...
Profiling blueprint                                      A                                              B                  ...
Profiling blueprint                                               A                                                       B...
Adding a memoizationROElement>>bounds! "Return the bounds of the element"!   boundsCache ifNotNil: [ ^ boundsCache ].!   ^...
Adding a memoizationROElement>>bounds! "Return the bounds of the element"!   boundsCache ifNotNil: [ ^ boundsCache ].!   ^...
Effect of the memoization                            14
make display:on:absoluteBounds                                          call absoluteBounds                               ...
Execution profiling blueprints. So!ware: Practices and Experience, 2012Visualizing Dynamic Metrics with Profiling Blueprints...
17
VisuAule             Visual code inspectorBy Camilo during the ‘show us your project’ session                             ...
Join us!We have positions Interships Engineering Master PhDDeadline is the end of this monthSantiago is a cool city! no mo...
ObjectProfile.com                             facebook.com/ObjectProfile                             @ObjectProfileSpy @ Cinc...
Roassal presentation
Upcoming SlideShare
Loading in …5
×

Roassal presentation

1,190 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,190
On SlideShare
0
From Embeds
0
Number of Embeds
19
Actions
Shares
0
Downloads
5
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Roassal presentation

  1. 1. Roassalturn your programming environment into a beauty center for objects Vanessa Peña Camilo Gomez Alexandre Bergel Object Profile & University of Chile
  2. 2. RoassalAdvanced visualization engineUseful to draw pictures of your dataWell modularized Easily portable (Pharo, VisualWorks, Amber, ...) Few external dependenciesOpen source (MIT)
  3. 3. view nodes: Collection withAllSubclasses.
  4. 4. view nodes: Collection withAllSubclasses.
  5. 5. view nodes: Collection withAllSubclasses.view edgesFrom: #superclass.
  6. 6. view nodes: Collection withAllSubclasses.view edgesFrom: #superclass.view treeLayout
  7. 7. view shape rectangle! width: #numberOfVariables;! height: #numberOfMethods.view nodes: Collection withAllSubclasses.view edgesFrom: #superclass.view treeLayout DEMO
  8. 8. Roassal architecture & modelYour application shape1 shape2 shape3Mondrian Graphical Roassal Element Pharo, VW, interaction Amber dictionary
  9. 9. Profiling blueprint A B E gray = Cexecution side effect time yellow = no side effect D #executions 1 3 2 Method 1 calls Method 2. Method 3 calls Method 1 F 10
  10. 10. Profiling blueprint A B E gray = C execution side effectmethods that takes times, time yellow = no side effectare executed many times, #executions D and without significant 1 side effect 3Method 1 calls Method 2. 2 Method 3 calls Method 1 F 11
  11. 11. Adding a memoizationROElement>>bounds! "Return the bounds of the element"! boundsCache ifNotNil: [ ^ boundsCache ].! ^ boundsCache := self position extent: (shape extentFor: self)
  12. 12. Adding a memoizationROElement>>bounds! "Return the bounds of the element"! boundsCache ifNotNil: [ ^ boundsCache ].! ^ boundsCache := self position extent: (shape extentFor: self)
  13. 13. Effect of the memoization 14
  14. 14. make display:on:absoluteBounds call absoluteBounds instead of absoluteBoundsFor A C B C 15
  15. 15. Execution profiling blueprints. So!ware: Practices and Experience, 2012Visualizing Dynamic Metrics with Profiling Blueprints. Proceedings of the TOOLS, 2010Counting Messages as a Proxy for Average Execution Time in Pharo. Proceedings of ECOOP, 2011Identifying Optimization Opportunities by Visualizing So!ware Execution. To be submitted to CACM 16
  16. 16. 17
  17. 17. VisuAule Visual code inspectorBy Camilo during the ‘show us your project’ session 18
  18. 18. Join us!We have positions Interships Engineering Master PhDDeadline is the end of this monthSantiago is a cool city! no mosquitos!
  19. 19. ObjectProfile.com facebook.com/ObjectProfile @ObjectProfileSpy @ Cincom StoreSpy @ SqueakSourceSpy @ ...Thanks to all of you guys!

×