Talks and Papers to be Presented at the Workshop on Experience with Reflective Systems
(Held in conjunction with Reflection 2001, The 3rd International Conference on
Metalevel Architectures and Separation of Crosscutting Concerns)
Kyoto, Japan
25 September 2001
Workshop website: http://www.openjit.org/reflection2001/reflective-systems.html
Conference website: http://www.openjit.org/reflection2001/
Talks
Reflection for Adaptable Mobility - Experiences from a project on a reflective system for strong mobile systems
Mario Sudhölt, École des Mines de Nantes.
We present our experiences gained from a project supported by France Telecom R&D on a reflective system for strong mobile systems. We argue that separation of concerns can be advantageously applied to the development of applications relying on weak mobility (i.e. moving and executing code) and coarse-grained strong mobility (i.e. moving distributed entities while these entities are executing). We present the design of an infrastructure for such mobile applications where the mobility concern is cleanly separated from other concerns.
We present an overview of a prototype implementation --- called RAM (Reflection for Adaptable Mobility) --- of such an infrastructure for strong mobility in Java by means of computational reflection. This infrastructure permits the development of mobile applications by plugging a mobility concern implemented at the meta-level into a sequential base program, and enables the dynamic introduction of different migration policies. We discuss an implementation of such an infrastructure based on program transformation techniques using appropriate existing tools (Javassist, www.csg.is.titech.ac.jp/~chiba/javassist, and JavaGo, web.yl.is.s.u-tokyo.ac.jp/amo/).
Based on the results of this project, we discuss how the relationships of reflective systems for mobile systems with two larger but closely related contexts:
- A generic kernel for reflective programming supporting mobility as one
concern among others.
- Aspect-Oriented Programming, in particular a more langage-based approach
compared to our current library-based one.
Reflective Security
Ian Welch, Department of Computing, University of Newcastle upon Tyne.
This talk will discuss the use of reflection to enable a separation between security and application level concerns. The talk will cover:
- How reflection can be used to enforce well-known security models.
- Requirements for an implementation language for a reflective security architecture.
- Show how these requirements can be satisfied using an extension of the Java(tm) programming language (Kava).
- Overview a reflective security architecture that extends the Java Security architecture.
- Show how this reflective security architecture can be used to implement security for a third-party application and contrast it with other non-reflective approaches.
The Development of OpenORB
Geoff Coulson, Distributed Multimedia Research Group, Department of Computing, Lancaster University.
This talk will discuss experiences with the design of a reflective middleware platform called OpenORB v2 that addresses the following requirements:
- backward compatibility with CORBA
- sufficiently configurable to run well on a wide variety of platforms (from supercomputers to PDAs to embedded systems)
- sufficiently configurable to accommodate a wide range of application areas (e.g. real-time, multimedia, groups, embedded control systems)
- support run-time inspection, adaptation and extension
- perform at least as well as present day commodity ORBs
The platform is built using a well-founded lightweight component model built on the heart of Microsoft's COM (but without COM's higher levels), uses reflective techniques to facilitate (re)configuration, and employs the notion of component frameworks to manage and constrain the scope of reconfiguration operations.
Papers
- RECOM: A Reflective Architecture of Middleware, Yang Sizhong and Liu Jinde, MCI, College of Computer Science and Engineering, UEST of China, Chengdu, China.
- The Iguana Experience: Meta-Level Programming in a Compiled Reflective Language, Peter Haraszti, Tilman Schäfer, and Vinny Cahill, Trinity College, Dublin, Ireland.
- Some Software Design Issues for Realizing Internet-Scale Ubiquitous Computing, Hiro Ishikawa, and Tatsuo Nakajima, Department of Information and Computer Science, Waseda University, Japan.
- Experiences with OpenORB's Compositional Meta-Model and Groups of Components, Katia B. Saikoski and Geoff Coulson, Distributed Multimedia Research Group, Department of Computing, Lancaster University.