This document discusses enabling runtime change through explicit meta-objects. It proposes a system called Albedo that makes meta-objects explicit to allow runtime reflection and change. Albedo supports both structural and behavioral meta-objects to intercept and modify execution events like method calls and object creation. These meta-objects can be composed and extended to provide flexible and reusable runtime reflection.
The objective of this application was to build social networking platform with a focus on Local Neighborhood. As the networking advances the relations are strengthen with the people but in lieu of these far away relations the user is not updated of his own surroundings and neighborhood.
The objective of this application was to build social networking platform with a focus on Local Neighborhood. As the networking advances the relations are strengthen with the people but in lieu of these far away relations the user is not updated of his own surroundings and neighborhood.
Mine and Jason's talk from BarCampBrighton 5 about building brilliant APIs that bloody work.
Probably won't make sense without having been there..
Any questions give myself (@ben_c) or Jason (@fry15) a shout on twitter.
DOTT Cornwall - Introduction to Service Design and MethodsAndy Polaine
This is a presentation that serves as an introduction to service design as well as very briefly outlining some techniques and approaches such as blueprinting and prototyping.
Mine and Jason's talk from BarCampBrighton 5 about building brilliant APIs that bloody work.
Probably won't make sense without having been there..
Any questions give myself (@ben_c) or Jason (@fry15) a shout on twitter.
DOTT Cornwall - Introduction to Service Design and MethodsAndy Polaine
This is a presentation that serves as an introduction to service design as well as very briefly outlining some techniques and approaches such as blueprinting and prototyping.
1. Run-Time Evolution
through Explicit
Meta-Objects
Jorge Ressia, Lukas Renggli, Tudor Gîrba,
Oscar Nierstrasz
Tuesday, October 5, 2010
To enable change at run-time, a system must be self-aware and be able to fully reflect on
itself.
2. Tuesday, October 5, 2010
To enable change at run-time, a system must be self-aware and be able to fully reflect on
itself.
8. Dynamic
Representation
Tuesday, October 5, 2010
We need to reflect on the dynamic representation of a program, that is, the operational
execution.
This is called Behavioral Reflection pioneered by Smith in the context of Lisp
9. Behavioral Reflection
Tuesday, October 5, 2010
Behavioral reflection provides a way to intercept and change the execution of a program. It is concerned with execution
events, i.e., method execution, message sends, or variable assignments.
10. Behavioral Reflection
S mith
1982
Tuesday, October 5, 2010
Behavioral reflection provides a way to intercept and change the execution of a program. It is concerned with execution
events, i.e., method execution, message sends, or variable assignments.
11. Message Send
Message Receive
Method Lookup
Object Creation
State Read/Write
Tuesday, October 5, 2010
14. Is that all?
Tuesday, October 5, 2010
It is not possible to foresee all potential reification that might be required at runtime.
15. What if we need a
new reification?
Tuesday, October 5, 2010
It is not possible to foresee all potential reification that might be required at runtime.
16. Thesis
To e n a b l e r u n t i m e
change we must reify
Meta-objects explicitely
Tuesday, October 5, 2010