The materials presented in this paper are available in
http://www.reflection.uniovi.es/rrotor.
REFERENCES
Borning, A. H. (1986). Classes versus prototypes in object-
oriented languages. In ACM/IEEE Fall Joint Com-
puter Conference, pages 36–40.
Bracha, G. and Griswold, D. (1993). Strongtalk: Type-
checking Smalltalk in a production environment. In
OOPSLA 93, ACM SIGPLAN Notices, volume 28,
pages 215–230.
Cazzola, W., Chiba, S., and Saake, G. (2004). Evolv-
able pattern implementations need generic aspects. In
ECOOP’04 Workshop on Reflection, AOP, and Meta-
Data for Software Evolution, pages 111–126.
Chambers, C. and Ungar, D. (1989). Customization: Opti-
mizing compiler technology for Self, a dynamically-
typed object-oriented programming language. In ACM
PLDI Conference.
Chiles, B. (2008). CLR inside out: IronPython and the
Dynamic Lang. Runtime. http://msdn2.microsoft.com
/en-us/magazine/cc163344.aspx.
CodeHaus (2008). Boo. a wrist friendly language for the
CLI. http://boo.codehaus.org/.
Cutsem, T. V., Mostinckx, S., Boix, E. G., Dedecker, J.,
and Meuter, W. D. (2007). AmbientTalk: Object-
oriented event-driven programming in mobile ad hoc
networks. In XXVI International Conference of the
Chilean Computer Science Society, SCCC 2007.
Diehl, S., Hartel, P., and Sestoft, P. (2000). Abstract ma-
chines for programming language implementation. In
Future Generation Computer Systems, page 739.
Ernst, E. (1999). Dynamic inheritance in a statically typed
language. Nordic Journal of Computing, 6(1):72–92.
Golm, M. and Kleinder, J. (1997). MetaJava - a platform
for adaptable operating system mechanisms. In LNCS
1357, page 507.
Grogan, M. (2008). JSR 223. scripting for the Java plat-
form. http://www.jcp.org/en/jsr/detail?id=223.
Kleinder, J. and Golm, G. (1996). MetaJava: An efficient
run-time meta architecture for Java. In International
Workshop on Object Orientation in Operating Sys-
tems, pages 420–427.
Lucas, C., Mens, K., and Steyaert, P. (1995). Typing dy-
namic inheritance: A trade-off between substitutabil-
ity and extensibility. Technical Report vub-prog-tr-95-
03, Vrije Universiteit Brussel.
Maes, P. (1987). Computational Reflection. PhD thesis,
Vrije Universiteit.
Meijer, E. and Drayton, P. (2004). Static typing where pos-
sible, dynamic typing when needed: The end of the
cold war between programming languages. In OOP-
SLA Workshop on Revival of Dynamic Languages.
Meijer, E. and Gough, J. (2000). Technical overview of the
CLR. Technical report, Microsoft.
MetaSlash (2008). PyChecker: a Python source code check-
ing tool. http://pychecker.sourceforge.net/.
Nierstrasz, O., Bergel, A., Denker, M., Ducasse, S., Gaelli,
M., and Wuyts, R. (2005). On the revival of dynamic
languages. In Software Composition 2005, LNCS.
OpenJDK (2008). The Da Vinci machine. http://openjdk.
java.net/projects/mlvm/.
Ortin, F. (2008). The StaDyn programming language.
http://www.reflection.uniovi.es/stadyn/.
Ortin, F. and Cueva, J. M. (2004). Dynamic adaptation of
application aspects. In Journal of Systems and Soft-
ware. Elsevier.
Ortin, F., Lopez, B., and Perez-Schofield, J. B. (2004). Sep-
arating adaptable persistence attributes through com-
putational reflection. In IEEE Soft., Vol. 21, Issue 6.
Ortin, F., Redondo, J. M., Vinuesa, L., and Cueva, J. M.
(2005). Adding structural reflection to the SSCLI. In
Journal of .Net Technologies, pages 151–162.
Pierce, B. P. (2002). Types and Programming Languages.
The MIT Press.
Project, T. (2008). The Tunes project. http://slate.tunes.org/.
Redondo, J. M., Ortin, F., and Cueva, J. M. (2006a). Dise
˜
no
de primitivas de reflexi
´
on estructural eficientes in-
tegradas en SSCLI. In Proceedings of the JISBD 06.
Redondo, J. M., Ortin, F., and Cueva, J. M. (2006b). Op-
timizaci
´
on de las primitivas de reflexi
´
on ofrecidas
por los lenguajes din
´
amicos. In Proceedings of the
PROLE 06, pages 53–64.
Redondo, J. M., Ortin, F., and Cueva, J. M. (2008). Opti-
mizing reflective primitives of dynamic languages. In
Int. Journal of Soft. Engineering and Knowledge En-
gineering. World Scientific.
Rose, J. (2008). JSR 292. supporting dynamically typed
languages on the Java platform. http://www.jcp.org/
en/jsr/detail?id=292.
Rossum, G. V. and Drake, F. L. (2003). The Python Lan-
guage Reference Manual. Network Theory.
Singer, J. (2003). JVM versus CLR: a comparative study. In
ACM Proceedings of the 2nd international conference
on principles and practice of programming in Java.
Stutz, D., Neward, T., and Shilling, G. (2003). Shared
Source CLI Essentials. O’Reilly.
Taivalsaari, A. (1992). Kevo: A prototype-based OO lan-
guage based on concatenation and module operations.
Technical report, U. of Victoria, British Columbia.
Thomas, D., Fowler, C., and Hunt, A. (2004). Programming
Ruby. Addison-Wesley Professional, 2nd edition.
Thomas, D., Hansson, D. H., Schwarz, A., Fuchs, T., Breed,
L., and Clark, M. (2005). Agile Web Development with
Rails. A Pragmatic Guide. Pragmatic Bookshelf.
Udell, J. (2003). D. languages and v. machines. Infoworld.
Ungar, D., Chambers, G., Chang, B. W., and Holzl, U.
(1991). Organizing programs without classes. In Lisp
and Symbolic Computation.
Wolczko, M., Agesen, O., and Ungar, D. (1996). Towards a
universal implementation substrate for object-oriented
languages. Sun Microsystems Laboratories.
ICSOFT 2008 - International Conference on Software and Data Technologies
12