Results 1 -
2 of
2
A framework based on design patterns for providing persistence in object-oriented programming languages
- IN IEEE PROCEEDINGS OF SOFTWARE ENGINEERING 149 (2002) 77 – 85
, 2000
"... This paper describes an approach to providing object persistence in object-oriented programming languages without modifying the run-time system or the language itself. By successively applying design patterns such as the Serializer, Factory Method, and Strategy patterns we develop an object-oriented ..."
Abstract
-
Cited by 4 (3 self)
- Add to MetaCart
This paper describes an approach to providing object persistence in object-oriented programming languages without modifying the run-time system or the language itself. By successively applying design patterns such as the Serializer, Factory Method, and Strategy patterns we develop an object-oriented framework for providing object persistence. The advantages of object-orientation are highlighted: structured classification through class-hier-archies, extensibility and promotion of reuse. The framework clearly separates persistence control from storage control. A hierarchy of different storage types, useful in different application domains, is introduced. The framework does not rely on any kind of special program-ming language features. It only uses basic object-oriented programming techniques, and is therefore implementable in any object-oriented programming language. An experimental
On Persistent and Reliable Streaming in Ada
- IN INTERNATIONAL CONFERENCE ON RELIABLE SOFTWARE TECHNOLOGIES - ADA-EUROPE’2000
, 2000
"... Saving internal program data for further use is one of the most useful ideas in programming. Developing general features to provide such data saving/ restoring is a very active research area. There are two application areas for such features we believe to be crucial: system fault tolerance and da ..."
Abstract
-
Cited by 3 (2 self)
- Add to MetaCart
Saving internal program data for further use is one of the most useful ideas in programming. Developing general features to provide such data saving/ restoring is a very active research area. There are two application areas for such features we believe to be crucial: system fault tolerance and data persistence. Our analysis shows that the features used in these areas have a lot in common: they are to flatten data of different types and save them in a store which can be used later on. The recent revision of the Ada language standard, Ada 95, introduces a new mechanism called streams that allows structured data to be flattened. Streams are sequences of elements comprising values from possibly different types. Ada 95 allows programmers to develop their streams following the standard abstract class interface. In this paper we show how to use the stream concept for developing new features to provide internal program data saving suitable for fault tolerance and persistence. A hierarchy of different storage types, useful in different application domains, is introduced. The standard stream interface is extended, making it possible for programmers to have a better control of the way streams work by separating storage medium control from the actual stream type using the design patterns. The convenience of this new interface is demonstrated by developing a generic package allowing any non-limited object to be written into a storage device. It can be used for providing data persistence and as a state restoration feature in schemes used for tolerating software design faults.

