This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
padl_analyses [2014/02/16 07:55] yann |
padl_analyses [2025/01/15 21:40] (current) |
||
---|---|---|---|
Line 3: | Line 3: | ||
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 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://wwwptidej.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.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. | * ''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: | 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 the model regarding their lines of code; | + | * ''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 the model to describe conditional statements. | + | * ''padl.statement.creator.classfiles.ConditionalModelAnnotator'' thats add new constituents in the methods of a PADL model to describe conditional statements. |