[squeak-dev] [ANN] PhD Thesis

stephane ducasse stephane.ducasse at free.fr
Tue Mar 11 08:54:06 UTC 2008


Stef


http://www.talentsplace.com/syndication1/inria/ukdoc/details.html?id=PNGFK026203F3VBQB6G68LOE1&LOV5=4509&LOV2=4486&LG=EN&Resultsperpage=20&nPostingID=2380&nPostingTargetID=5692&option=52&sort=DESC&nDepartmentID=28

Environnement
Being able to cope with unanticipated software changes is an important  
challenge for today's languages and infrastructure.
Hot-upgrade (i.e., loading code at run-time while a different version  
of the same code may be already running) is a key mechanism to support  
dynamic unanticipated changes. It enables applications to evolve at  
runtime, while being executed. In statically-typed languages such as  
Java, hot-upgrade is traditionally obtained by using wrappers, proxy  
objects, and dynamic bytecode adaptation. However the rigidity of Java  
classloaders and the type system constrain code unloading and  
structural modification.
Dynamically typed languages such as CLOS and Smalltalk do not have  
such typing problems because of their dynamic nature. Hot-upgrade is  
implicitely supported by those language thanks to their extended
reflection. It appears that a dynamic code update may break existing  
code since there is no garantee
that an upgrade will perform as expected (e.g., protocol preser vation).

Missions
A possible roadmap should address the following points:
- performing a study of existing modules systems in dynamic languages,
- study the instance update migration mechanisms available in CLOS MOP  
and Smalltalk,
- study the dynamic application of aspects in AOP language extensions,
- study of the update related aspects in component models such as  
Fractal or OSGI,
- defining a robust and declarative module system enabling static  
checks,
- definition of a specific meta-model for code as well as for changes  
to support static analyses,
- definition of a language to express set of static checks and  
verifications that could be
performed on a dynamically typed language.

Activités
The goal of this PhD is to propose a more robust software code upgrade  
mechanism for dynamic languages. Different strategies for code  
replacement, evolution, adaptation will have to be defined in order to  
cope with the need of code tangling, software evolution, context  
awareness and security.
A validation will have to be conducted on the open source Squeak  
platform and will have to address challenges raised by the presence of  
legacy code and Squeak's highly interactive programming environment.

Stef


More information about the Squeak-dev mailing list