Type Safety for Distributed Concurrent Objects and Runtime Upgrades

Ingrid Chieh Yu · 2009

In today’s society, we are becoming increasingly dependent on the reliability and availability of complex software systems distributed across networks such as the Internet. To construct such systems, object-oriented approaches to software development are well suited for encapsulating data and functions into software units that are integrated to form large systems. This support for modular program development combined with the encapsulation property of objects makes object-orientation the leading paradigm for development of distributed systems, where qualities such as limited inter-dependencies between software components, flexibility with regards to changes, and protection of components’ integrity are important. Distributed systems are often designed to run continuously, so modifications and extensions of existing software components, as well as additions of new ones, must happen while the overall system is running and available. For critical systems where faults and inaccessibility can have dramatic implications, it is necessary to ensure that system modifications are applied in a safe manner without compromising system availability, and that system crashes do not occur during or after such updates. It is therefore important to develop formal methods that support the development and maintenance of modular non-terminating systems. This thesis studies type safety of object-oriented distributed systems and dynamic class constructs. Based on the Creol language, the thesis addresses type safety for languages with concurrent objects, multiple inheritance and asynchronous method calls as the communication primitive. Moreover, we investigate an asynchronous upgrade model that captures the distributed nature of systems and study the integration of classical object-oriented features with runtime upgrade mechanisms.

Read the paper · More papers on PaperTik