Design: API Language
Program Elements and Properties
TODO: getId() now: getData()
Fig. 1: Class Diagram API Language
- EMF-like Patterns:
- Factory und Interfaces (Multi-Inheritance)
- extended Reflection: Package, lget*-Methoden
- pro Property wird eine IProperty-Subklasse erzeugt
- volle Typsicherheit auch im Code
- pro Kind wird eine IProgramElement-Subklasse erzeugt
- volle Typsicherheit auch im Code
- erzeugte ProgramElement-Klassen haben Properties als echte Attribute (Les- und Wartbarkeit!)
Kinds
Fig. 2: Class Diagram API Kinds
Domains
TODO: Queries are not defined in domain anymore, instead,
queries can be used in then-block of rules
Fig. 3: Class Diagram API Domains
Domain ist keine "statische" Program-Repräsentation,
sondern abhängig vom konkreten Refactoring