User Tools

Site Tools


padl_analyses

Differences

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

Link to this comparison view

padl_analyses [2018/03/04 02:53]
padl_analyses [2019/10/06 20:37] (current)
Line 1: Line 1:
 +====== PADL Analyses ======
 +
 +PADL models can be [[PADL|modified or abstracted]] by applying analyses on the different abstract-level models. All analyses implement the ''​padl.analysis.IAnalysis''​ interface. Among the most popular such analyses is:
 +
 +    * ''​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 model, including 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.