DRASTIC: A Run-Time Architecture for Evolving, Distributed, Persistent Systems

Modern systems must be adaptable — to changing requirements, bug-fixes, new technologies and reconfiguration. For critical applications this must be possible at run-time; for complex applications it should be limitable to major sub-divisions of the system. The DRASTIC architecture addresses these goals by exploiting object persistence and distributed systems implementation techniques. It enables run-time changes of types, implementations, and the system configuration. This is based on a novel architectural abstraction of locality for evolution, called the ‘zone’. Contracts between zones automatically limit the visibility of such changes between zones. We present work in progress on DRASTIC's computational model and run-time system, illustrating support for software evolution and highlighting key features of our current implementation.

[1]  Ian Sommerville,et al.  Schema evolution in OODBs using class versioning , 1993, SGMD.

[2]  Naranker Dulay,et al.  A constructive development environment for parallel and distributed programs , 1994, Proceedings of 2nd International Workshop on Configurable Distributed Systems.

[3]  James A. Gosling,et al.  The java language environment: a white paper , 1995 .

[4]  Markus Tresch,et al.  Meta Object Management and its Application to Database Evolution , 1992, ER.

[5]  Morris Sloman,et al.  Configuring object-based distributed programs in REX , 1992, Softw. Eng. J..

[6]  James M. Purtilo,et al.  Surgeon: a packager for dynamically reconfigurable distributed applications , 1992, Softw. Eng. J..

[7]  Hiroshi Ishikawa Database Programming Language , 1993 .

[8]  Renzo Orsini,et al.  The Implementation of Galileo's Persistent Values , 1988, Data Types and Persistence , Informal Proceedings.

[9]  Stanley B. Zdonik,et al.  Object-Oriented Type Evolution. , 1987 .

[10]  Luca Cardelli,et al.  The Modula–3 type system , 1989, POPL '89.

[11]  David Maier,et al.  Development of an object-oriented DBMS , 1986, OOPLSA '86.

[12]  Larry Carter,et al.  Distrbution and Abstract Types in Emerald , 1987, IEEE Transactions on Software Engineering.

[13]  Peter William Dickman,et al.  Distributed object management in a non-small graph of autonomous networks with few failures , 1991 .

[14]  Susan S. Owicki,et al.  Network objects , 1995 .

[15]  Malcolm P. Atkinson,et al.  Design Issues for Persistent Java: A Type-Safe, Object-Oriented, Orthogonally Persistent System , 1996, POS.

[16]  Jeannette M. Wing,et al.  Specification matching of software components , 1995, TSEM.

[17]  Anders Björnerstedt,et al.  AVANCE: an object management system , 1988, OOPSLA '88.

[18]  Richard C. H. Connor,et al.  Napier88 - A Database Programming Language? , 1989, DBPL.

[19]  Malcolm P. Atkinson,et al.  An orthogonally persistent Java , 1996, SGMD.

[20]  A. Nico Habermann,et al.  Beyond schema evolution to database reorganization , 1990, OOPSLA/ECOOP '90.

[21]  Stanley B. Zdonik,et al.  The management of changing types in an object-oriented database , 1986, OOPLSA '86.

[22]  Jay Banerjee,et al.  Semantics and implementation of schema evolution in object-oriented databases , 1987, SIGMOD '87.

[23]  Jeannette M. Wing,et al.  Signature matching: a tool for using software libraries , 1995, TSEM.

[24]  Stewart M. Clamen,et al.  Type Evolution and Instance Adaptation , 1992 .

[25]  R. Connor,et al.  Design Issues for Persistent Java: a type-safe, object-oriented, orthogonally persistent system , 1996 .

[26]  E. B. Moss,et al.  Nested Transactions: An Approach to Reliable Distributed Computing , 1985 .

[27]  Naranker Dulay,et al.  Specifying Distributed Software Architectures , 1995, ESEC.

[28]  Edward Wobber,et al.  Network objects , 1994, SOSP '93.

[29]  James M. Purtilo,et al.  The POLYLITH software bus , 1994, TOPL.