Adapt Dynamic Evolution in a Reflective Object-Oriented Computer Language

Issam A. HAMID  Mohammed ERRADI  Gregor v. BOCHMANN  Setsuo OHSUGA  

IEICE TRANSACTIONS on Information and Systems   Vol.E78-D   No.4   pp.363-382
Publication Date: 1995/04/25
Online ISSN: 
Print ISSN: 0916-8532
Type of Manuscript: PAPER
Category: Software Theory
software evolution,  type evolution,  meta-level architecture,  reflection,  object-oriented programming,  dynamic modifications,  

Full Text: PDF(2MB)
>>Buy this Article

This paper describes the design of the reflective concurrent object-oriented specification language RMondel. RMondel is designed for the specification and modeling of distributed systems. It allows the development of executable specifications which may be modified dynamically. Reflection in RMondel is supported by two fundamental features that are: Structural Reflection (SR) and Behavioral Reflection (BR). Reflection is the capability to monitor and modify dynamically the structure and the behavior of the system. We show how the features of the language are enhanced using specific meta-operations and meta-objects, to allow for the dynamic modification of types (classes) and instances using the same language. RMondel specification can be modified by adding or modifying types and instances to get a new adapted specification. Consistency is checked dynamically at the type level as well as at the specification level. At the type level, structural and behavioral constrations are defined to preserve the conformance of types. At the specification level, a transaction mechanism and a locking protocol are defined to ensure the consistency of the whole specification.