Runtime evolution
-
Upload
jorge-ressia -
Category
Documents
-
view
1.691 -
download
0
description
Transcript of Runtime evolution
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.
Tuesday, October 5, 2010
To enable change at run-time, a system must be self-aware and be able to fully reflect on itself.
Instrospection
Tuesday, October 5, 2010
Query
Intercession
Tuesday, October 5, 2010
Modify
Structural Reflection
Tuesday, October 5, 2010
ClassesObjectsMethods
InstructionsInstance Variables
Tuesday, October 5, 2010
That is not enough
Tuesday, October 5, 2010
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
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.
Behavioral Reflection
Smith1982
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.
Message SendMessage ReceiveMethod LookupObject Creation
State Read/Write
Tuesday, October 5, 2010
Tuesday, October 5, 2010
CodAMcAffer 1995
Tuesday, October 5, 2010
Is that all?
Tuesday, October 5, 2010
It is not possible to foresee all potential reification that might be required at runtime.
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.
To enab le run t ime change we must reify Meta-objects explicitely
Thesis
Tuesday, October 5, 2010
Albedo
Tuesday, October 5, 2010
Structural Meta-objects
Behavioral Meta-objects
Albedo
Tuesday, October 5, 2010
Structural Meta-Object
Tuesday, October 5, 2010
add methodremove method
add stateremove state
Tuesday, October 5, 2010
Object
Class
Tuesday, October 5, 2010
- Removing accessors.
Object
Meta-object
Class
Tuesday, October 5, 2010
- Removing accessors.
BehavioralMeta-Object
Tuesday, October 5, 2010
message sendmessage received
state writestate read
object creation
Tuesday, October 5, 2010
Object
Class
Tuesday, October 5, 2010
Method Look up
Object
Meta-object
Class
Tuesday, October 5, 2010
Method Look up
Object
Meta-object
Class
Object
M
Tuesday, October 5, 2010
Method Look up
Composables
Tuesday, October 5, 2010
Object Object
Tuesday, October 5, 2010
Object Object
Meta-object
Tuesday, October 5, 2010
Object Object
Meta-object
Meta-object
Tuesday, October 5, 2010
Object ObjectMeta-object
Meta-object
Meta-object
Tuesday, October 5, 2010
Reusable
Tuesday, October 5, 2010
Object
ObjectObject
Meta-objects
Tuesday, October 5, 2010
Object
Object
ObjectObject
Meta-objects
Tuesday, October 5, 2010
Object
Object
ObjectObject
Object
Meta-objects
Tuesday, October 5, 2010
Extensible
Tuesday, October 5, 2010
Partial Behavioral Reflection
Tuesday, October 5, 2010
Partial Behavioral Reflection
ReflexTanter 2003
Tuesday, October 5, 2010
Partial Behavioral Reflection
ReflexTanter 2003
Reflectivity
Denker 2008
Tuesday, October 5, 2010
AST
Tuesday, October 5, 2010
Examples?
AST
Tuesday, October 5, 2010
Examples?
AST
Tuesday, October 5, 2010
Examples?
Conclusions
Tuesday, October 5, 2010
- runtime- flexible- object oriented- dynamic- a Model that we can reflect upon.
Albedohttp://scg.unibe.ch/research/Albedo
Tuesday, October 5, 2010