Title
On Persistent and Reliable Streaming in Ada
Abstract
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, intro- duces a new mechanism called streams that allows structured data to be flat- tened. 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 inter- face 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 per- sistence and as a state restoration feature in schemes used for tolerating software design faults.
Year
DOI
Venue
2000
10.1007/10722060_10
Ada-Europe
Keywords
Field
DocType
. streams,stable storage,ada 95,object-oriented programming,design patterns,persistence,fault tolerance.,reliable streaming,structured data,ada,software design,fault tolerant,design pattern,object oriented programming
Persistent data structure,Programming language,Object-oriented programming,Computer science,System Fault Tolerance,Software design pattern,Software fault tolerance,Real-time computing,Data model,Software development,Distributed computing,Stable storage
Conference
Volume
ISSN
ISBN
1845
0302-9743
3-540-67669-4
Citations 
PageRank 
References 
5
0.79
10
Authors
2
Name
Order
Citations
PageRank
Jörg Kienzle173269.38
Alexander B. Romanovsky238641.97