DYNAMIC EVOLUTION OF DISTRIBUTED SYSTEMS SPECIFICATIONS USING REFLECTIVE LANGUAGE
Abstract
Recently, object-oriented specifications of distributed systems has gained more attention. The object-oriented approach is known for its flexibility for system construction. However, one of the major challenges is to provide facilities for the dynamic modifications of such specifications during the development and maintenance process. Yet, current work has not addressed the dynamic modifications of specifications of distributed systems. In this paper, we are concerned with formal description techniques that allow for the development and dynamic modification of executable specifications. A two-level model for the evolution of large object-oriented specifications is introduced. The first deals with the dynamic modifications of types (classes), while the second deals with modifications of modules. We have defined a set of structural and behavioral constraints to ensure specification consistency after modification at both levels. To allow dynamic modification of types and modules, we have developed a reflective object-oriented specification language which uses meta-objects to support the modification operations. In this language, types and modules are objects.