- Demonstration title
Gilgul - Dynamic Object Replacement as a Foundation for Dynamic Aspect Weaving
- Pascal Costanza, Sven Müller (University of Bonn, Germany)
- Wednesday April 24, 2:00-2:45
Thursday April 25, 4:00-4:45
Gilgul is an extension of the Java Programming Language and the Java Virtual Machine. Its key feature is the strict separation of the notions of reference and comparison which are traditionally perceived as merely different facets of the same indivisible idea - namely object identity. Gilgul's new model of reference and comparison permits dynamic object replacement as an atomic, and therefore consistent operation, without violating any of the constraints that would usually follow from the traditional concept of object identity. As a consequence, Gilgul specifically allows for the unanticipated introduction of decorators (wrappers) to any object at runtime.
Since most features provided by AOSD approaches can technically be expressed in terms of decorators, Gilgul can be regarded as a step towards a dynamic aspect-oriented system. Here, Gilgul's operations that allow for dynamic object replacement are the means to achieve what can be expressed with aspect weavers in other systems.
After a short introduction to Gilgul's basic concepts, the demonstration will focus on the dynamic introduction of decorators. It is planned to give a simple client-server application as an example: modifications are applied to the server software without shutting it down and the effects can be seen immediately in the client.