Publication | Closed Access
Mirrors
167
Citations
19
References
2004
Year
Unknown Venue
EngineeringOperating SystemsSoftware SystemsDesignFormal MethodsComputer ArchitectureSoftware EngineeringMeta-level FacilitiesObject-oriented DesignObject-oriented ProgrammingObject OrientationMetaprogrammingReflective MiddlewareSoftware AnalysisMirror-based ArchitecturesDesign PrinciplesProgramming Languages
We identify three design principles for reflection and metaprogramming facilities in object oriented programming languages. <i>Encapsulation</i>: meta-level facilities must encapsulate their implementation. <i>Stratification</i>: meta-level facilities must be separated from base-level functionality. <i>Ontological correspondence</i>: the ontology of meta-level facilities should correspond to the ontology of the language they manipulate. Traditional/mainstream reflective architectures do not follow these precepts. In contrast, reflective APIs built around the concept of <i>mirrors</i> are characterized by adherence to these three principles. Consequently, mirror-based architectures have significant advantages with respect to distribution, deployment and general purpose metaprogramming.
| Year | Citations | |
|---|---|---|
Page 1
Page 1