Download presentation
Presentation is loading. Please wait.
1
“Plug-In Aspect” enabled Aspect Browser
Vadim Bokin Jonathan Neddenriep
2
Motivation / Problem Current aspects in Aspect Browser (AB) are generated exclusively through text search. Programmers would like other means of identifying and creating aspects to visualize code. 11/16/2018 CSE 218
3
Claim AB can be modified / extended to allow outside aspects to be viewed through the existing graphical user interface leveraging the map metaphor. 11/16/2018 CSE 218
4
Proposed Solution Create means to add plug-in aspects to AB which are based on the file and line number, instead of textual mapping. Add additional menu items to the AB interface to allow outside aspect imports. 11/16/2018 CSE 218
5
Solution Defined an interface, where the plug-in is to return the name of the new aspects and all file lines associated with it. Integrated our PluginManager with AB’s Menu class to generate new Menu items. PluginManager is a ClassLoader that searches through specific directories for classes that implement our Plug-In Aspect interface. 11/16/2018 CSE 218
6
Current Uses We created 2 Plug-ins
(1) A flat-file reader where each file is a single aspect and has the format <AspectName>::<color> <FileName>::<LineNumber> 11/16/2018 CSE 218
7
Uses [ continued ] EXAMPLE: MainMethods::#ff00ff Abc.java::14
Def.java::17 Ghi.java::13 11/16/2018 CSE 218
8
Uses [ continued ] (2) RCS (CVS) repository file parser
As parameter takes in a number of [filenames]+ and processes their respective repository files (that have the name “filename,v” We used CVS during a previous project in cse210 and now can visually see who actually did all the work [ Demo ] 11/16/2018 CSE 218
9
Possible Uses Current CVS parser replicates basic SeeSoft functionality. Can be used with Lackwit (types by use) Dynamic code profiling output (can show visually what code is being executed). Eg jProf 11/16/2018 CSE 218
10
Lessons learned Jumping into the middle of someone else’s code (AB code) is very difficult. We needed to refine the interface between our components before we were able to divide up the work. … and most important… The Map Metaphor is applicable to the information extracted from CVS repository This shows that there are many applications for AB besides text-based search. 11/16/2018 CSE 218
11
Questions? 11/16/2018 CSE 218
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.