Download presentation
Presentation is loading. Please wait.
Published byἈζαρίας Παχής Modified over 5 years ago
1
Prism A Prism for research in software modularity through
aspect mining Prism pattern recognition for aspect mining Charles Zhang and Hans-Arno Jacobsen Middleware Systems Research Group University of Toronto CASCON 2003
2
What is Prism? Goal: A platform discovers aspects in very large systems composed in a variety of languages. Consists of both backend engine and user interface. Core: A framework supports arbitrary language patterns and different pattern matching algorithms. Language pattern: Lexical pattern: regular expressions Usage of types: where is my typeA? Execution flow: where are my actions? CASCON 2003
3
Prism Architecture: A set of extension points
Prism fingerprint: A pattern definition specified by the user. Prism footprint: A encapsulation of the location information of a particular fingerprint. Prism task: A customizable assembly of Prism fingerprints which represents a more complex pattern. Prism algorithm: An algorithm responsible for matching a particular pattern and generating the associated footprint. Prism fingerprint Prism footprint Prism Engine Prism Task 1 Prism Algorithm Prism fingerprint Prism footprint CASCON 2003 Prism Task 2
4
Prism Eclipse Plug-in Prism footprints Prism tasks Fingerprints
Projects Java Editor CASCON 2003
5
Configuring a Prism Fingerprint
A Prism fingerprint consists of any combinations of lexical patterns and type patterns. Examples of type pattern: Referencing all types in a particular package. All types in package: org.omg.CORBA Referencing all methods of any class type: All call sites for all methods of class: org.omg.CORBA.Any AspectJ joinpoint definitions. Examples of lexical pattern: Regular expressions CASCON 2003
6
Prism Fingerprint Configuration
Fingerprint name Type pattern listing Type browser Regular expression listing CASCON 2003
7
Prism footprint Results of matching fingerprints in the source code.
Example: A fingerprint defined as “any method defined in the ‘class java.util.Hashtable’, of which the name starts by ‘get’ ” has the following footprints. CASCON 2003
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.