This shows you the differences between two versions of the page.
faq [2010/03/11 22:18] ptidejteam created |
faq [2017/09/06 01:54] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | * Q: The PADL meta-model is qualified of semi-language independent. Why "semi"? | ||
- | * A: Because it is only for typed object-oriented programming languages. In any case, don't fall for people who would like to sell you "truly" language-independent meta-models, this is a dream! | ||
- | * Q: Which model has the most detailed data about a software system? | ||
- | * A: The IIdiomLevelModel. Actually, it is the IDesignLevelModel, which includes micro-architectures that are occurrences of some design motifs. However, occurrences are costly to identify so far... | ||
- | |||
- | * Q: What is IWalker? | ||
- | * A: The PADL meta-model supports the Visitor design pattern by providing two interfaces: IWalker and IGenerator depending of the conceptual type of data returned by the visit. | ||
- | |||
- | * Q: What are "actors" and "ghosts? | ||
- | * A: Actor can be any entity or element of a model, such as a Class, an Interface, a Method, a Field, and so on. It is a legacy name from PDL! A "ghost" is any entity known to exist but not currently analysed, such as classes and interfaces provided by the Java class libraries. | ||
- | |||
- | * Q: What is the difference between AACRelationshipsAnalysis and ModelAnnotatorInstructions? | ||
- | * A: AACRelationshipsAnalysis does not provide any data about the inside of methods, such the lines of code, while ModelAnnotatorInstructions does. | ||
- | |||
- | * Q: Are the metrics calculated automatically during PADL analysis? | ||
- | * A: No, separate calls must be performed to do it, cf. POM. | ||
- | |||
- | * Q: What is "design motif" ? | ||
- | * A: A design motif represents the solution of a design pattern and can be described using the constituent of the PADL meta-model. | ||
- | |||
- | * Q: Does a PADL model include the fields of other classes used by a method? | ||
- | * A: Yes... somewhat... through IMethodInvocation, which is kind of a hack... see PADL | ||
- | |||
- | * Q: What the difference between a member class/interface and member ghost? | ||
- | * A: Membre classes/interfaces were added to the Java language after the definition of its first version and of the JVM going with it. Therefore, Java developers added membre classes/interfaces using a "hack": if A defines a membre class MembreOfA, two classfiles are produced: one called A.class, another called A$MemberOfA.class. Thus, if you want to analyse membre classes/interfaces, you must also include in the CompleteClassFileCreator the X$Y.class files, else their corresponding membre classes/interfaces will show up as membre ghosts. | ||
- | |||
- | * Q: What is CPL? | ||
- | * A: CPL, also known as "Common Ptidej Library", is a project that contains all kind of utility code and useful libraries that can be used in any projects build as part of Ptidej. |