1 / 7

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. What is Prism?.

dai
Download Presentation

Prism

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

More Related