User Tools

Site Tools


This is an old revision of the document!

  • 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.
faq.1268345938.txt.gz · Last modified: 2019/10/06 20:37 (external edit)