diff --git a/moose-wiki/Developers/predefinedEntities.md b/moose-wiki/Developers/predefinedEntities.md index efcc318..e24eae3 100644 --- a/moose-wiki/Developers/predefinedEntities.md +++ b/moose-wiki/Developers/predefinedEntities.md @@ -30,10 +30,17 @@ We finish by presenting the traits for [modelling genericity](#genericity) which ## Categories of traits First, one can divide the set of traits into four categories: -- [Association Traits](#association-traits) -- [Technical Traits](#technical-traits) -- [Property Traits](#property-traits) -- [Terminal Traits](#terminal-traits) +- [Categories of traits](#categories-of-traits) + - [Association Traits](#association-traits) + - [Technical Traits](#technical-traits) + - [Property Traits](#property-traits) + - [Terminal Traits](#terminal-traits) +- [Putting it all together](#putting-it-all-together) + - [Inheritance in context](#inheritance-in-context) + - [Invocation in context](#invocation-in-context) + - [Reference in context](#reference-in-context) + - [Access in context](#access-in-context) +- [Genericity](#genericity) They are described as follows: @@ -53,15 +60,15 @@ Using an association involves: There are five full-fledged associations in FamixNG: - `FamixTAccess`, from: `FamixTWithAccess`, to: `FamixTAccessible` -
![PlantUML Image](https://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/moosetechnology/moose-wiki/master/Developers/Diagrams/access.puml&fmt=svg)
+
![PlantUML Image](https://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/moosetechnology/moosetechnology.github.io/master/moose-wiki/Developers/Diagrams/access.puml&fmt=svg)
- `FamixTInheritance`, from: `FamixTWithInheritance`, to: `FamixTWithInheritance` -
![PlantUML Image](https://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/moosetechnology/moose-wiki/master/Developers/Diagrams/inheritance.puml&fmt=svg)
+
![PlantUML Image](https://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/moosetechnology/moosetechnology.github.io/master/moose-wiki/Developers/Diagrams/inheritance.puml&fmt=svg)
- `FamixTInvocation`, from: `FamixTWithInvocation`, to: `FamixTInvocable`, for OO programs, there is an extra receiver: `FamixTInvocationReceiver` -
![PlantUML Image](https://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/moosetechnology/moose-wiki/master/Developers/Diagrams/invocation.puml&fmt=svg)
+
![PlantUML Image](https://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/moosetechnology/moosetechnology.github.io/master/moose-wiki/Developers/Diagrams/invocation.puml&fmt=svg)
- `FamixTReference`, from: `FamixTWithReferences`, to: `FamixTReferenceable` -
![PlantUML Image](https://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/moosetechnology/moose-wiki/master/Developers/Diagrams/reference.puml&fmt=svg)
+
![PlantUML Image](https://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/moosetechnology/moosetechnology.github.io/master/moose-wiki/Developers/Diagrams/reference.puml&fmt=svg)
- `FamixTTraitUsage`, from: `FamixTWithTrait`, to: `FamixTTrait` -
![PlantUML Image](https://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/moosetechnology/moose-wiki/master/Developers/Diagrams/usetrait.puml&fmt=svg)
+
![PlantUML Image](https://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/moosetechnology/moosetechnology.github.io/master/moose-wiki/Developers/Diagrams/usetrait.puml&fmt=svg)
To these five we added two more specialized "associations": `DereferencedInvocation` (call of a pointer to a function in C) and `FileInclude` (also in C). @@ -69,8 +76,8 @@ These do not reify the association as a separate entity, but they might do so in For now there are only two traits to put at each end of the relationship: - `FamixTDereferencedInvocation` and `FamixTWithDereferencedInvocations` -
![PlantUML Image](https://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/moosetechnology/moose-wiki/master/Developers/Diagrams/derefInvok.puml&fmt=svg)
-- `FamixTFileInclude` and `FamixTWithFileInclude`
![PlantUML Image](https://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/moosetechnology/moose-wiki/master/Developers/Diagrams/fileInclude.puml&fmt=svg)
+
![PlantUML Image](https://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/moosetechnology/moosetechnology.github.io/master/moose-wiki/Developers/Diagrams/derefInvok.puml&fmt=svg)
+- `FamixTFileInclude` and `FamixTWithFileInclude`
![PlantUML Image](https://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/moosetechnology/moosetechnology.github.io/master/moose-wiki/Developers/Diagrams/fileInclude.puml&fmt=svg)
### Technical Traits