User Tools

Site Tools


padl_analyses

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
padl_analyses [2010/03/11 22:37]
ptidejteam created
padl_analyses [2019/10/06 20:37] (current)
Line 1: Line 1:
-PADL model can be modified or abstracted (see [[PADL]]) by applying analyses on the different abstract-level models. All analyses implement the IAnalysis interface. Among the most popular analyses are:+====== ​PADL Analyses ======
  
-    * AACRelationshipsAnalysis that takes an ICodeLevelModel as input an returns an IIdiomLevelModel as output. This model is similar to the input model (a clone really) but it includes binary class relationships that can be inferred statically: creation, use, association,​ and aggregation. The inference of the binary class relationships is explained in a [[http://​www.iro.umontreal.ca/​~ptidej/​yann-gael/​Work/​Publications/​Documents/​OOPSLA04.doc.pdf|paper]]. The basic idea is to identify certain fields and methods and method invocations and associate these with the appropriate binary class relationship.+PADL models ​can be [[PADL|modified or abstracted]] by applying analyses on the different abstract-level modelsAll analyses implement ​the ''​padl.analysis.IAnalysis''​ interface. Among the most popular such analyses is:
  
-    * ModelAnnotatorInstructions ​that add extra data about the original Java program representation,​ for example the length of the methods. This particular analysis will prompt ​the users for the root path of the class files. Another ​[[Ptidej UI Analyses]] provide ​the same service without user guidanceusing the paths stored by the UI.+    * ''​padl.analysis.repository.AACRelationshipsAnalysis'' ​that takes an ''​ICodeLevelModel''​ as input an returns an ''​IIdiomLevelModel''​ as output. This model is similar to the input model (a clone really) but it includes reified binary-class relationships that can be inferred statically: creation, use, association,​ and aggregation. The inference ​of the binary-class relationships is explained in a [[http://​www.ptidej.net/​publications/​documents/​OOPSLA04.doc.pdf|paper]]. The basic idea is to identify certain fields, methods, and method invocations and associate these with the appropriate binary-class relationship;​ 
 +    * ''​padl.analysis.repository.SystematicUMLAnalysis''​ that adds new constituents and convert other constituents in a PADL model to make this model into a full-fledge UML modelincluding data class, types, powertypes, and so on. 
 + 
 +Another class of analyses pertain to statements and implement ​the ''​padl.statement.analysis.IAnalysis''​ interface. Among the most popular such analyses are: 
 + 
 +    * ''​padl.statement.creator.classfiles.LOCModelAnnotator''​ that adds extra information in the methods in a PADL model regarding their lines of code; 
 +    * ''​padl.statement.creator.classfiles.ConditionalModelAnnotator''​ thats add new constituents in the methods of a PADL model to describe conditional statements.
  
-    * ModelAnnotatorInstructions that add new constituent and convert other constituents to convert a PADL model into a full-fledge UML model, including data class, types, powertypes, and so on. 
padl_analyses.1268347045.txt.gz · Last modified: 2019/10/06 20:37 (external edit)