padl
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| padl [2014/02/16 09:48] – yann | padl [2025/01/15 21:40] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 5: | Line 5: | ||
| ===== Levels of Models ===== | ===== Levels of Models ===== | ||
| - | There are three different levels of abstractions to model programs, collectively called abstract-level models: | + | There are four different levels of abstractions to model programs, collectively called abstract-level models: |
| * A '' | * A '' | ||
| Line 108: | Line 108: | ||
| - | ===== '' | + | ===== Names and Paths ===== |
| - | Although the getID(), getName(), and getPath() methods form a trio, they have different semantics. The getID() must return a unique identifier for each constituent in a model. | + | The '' |
| - | Here are some examples of getID() : | + | * '' |
| - | * padl for a package; | + | * '' |
| - | * getName() for a method; | + | * '' |
| - | * setName(java.lang.String) | + | * '' |
| - | * addA(int, padl.example.aggregation.A) | + | * '' |
| - | * name for an attribute. | + | The paths are used to name and address each constituent uniquely within a model but consistently across models. The paths start with a '/' |
| - | * Member | + | * ''/ |
| - | Here are some examples of getName() | + | * ''/ |
| - | * padl for a package; | + | * ''/ |
| - | * getName | + | * ''/ |
| - | * setName | + | * ''/ |
| - | * addA for a method; | + | The class '' |
| - | * name for an attribute. | + | ===== Visitors ===== |
| - | * Member for a member class, member interface, or member ghost. | + | The PADL metamodel provide two types of visitors |
| - | + | ||
| - | The paths are used to represent how to get to a constituent within a model. | + | |
| - | + | ||
| - | The paths start with a '/' | + | |
| - | + | ||
| - | Then, each constituent to go through until the target is specified | + | |
| - | + | ||
| - | - the ' | + | |
| - | - the (simple) name of the interface in padl.kernel of the constituent (or one of its super-interface, | + | |
| - | - the ':' | + | |
| - | - a constituent specific part: | + | |
| - | * If the constituent | + | |
| - | * Its name otherwise | + | |
| - | + | ||
| - | The class padl.path.Finder can be used to walk the paths. | + | |
padl.1392544110.txt.gz · Last modified: (external edit)
