A challenging issue in the construction and maintenance of large application systems is how to determine which components need to be rebuilt after change, when and in which order. Rebuilding is typically recompilation...
详细信息
A challenging issue in the construction and maintenance of large application systems is how to determine which components need to be rebuilt after change, when and in which order. Rebuilding is typically recompilation and linking, but may also include update of derivable components such as cross-reference databases and re-creation of library indexes. Type definitions or schema, and data values in a file store, database or persistent store may also need to be rebuilt. The main purpose of this paper is to describe how persistent language technology can be exploited to enhance build management. In particular, the paper describes a method for transactional, incremental linking and the implementation of its support. To help implement this method, and to make it safer and more efficient to carry out rebuild activities in general, we have defined a set of automatically checkable constraints on the software. The build management tool we have implemented, the Builder, derives rebuild dependencies automatically and offers partitioning of dependency graphs-a means to defer or avoid unnecessary rebuilding. The Builder is implemented in a persistent programming language and provides build management for applications written in the language. It exploits features such as strong typing, runtime linguistic reflection, and referential integrity provided by the language processing technology. The Builder operates over both programs and (complex) data, which is in contrast to conventional language-centred tools. (C) 1997 by John Wiley & Sons, Ltd.
Pointer swizzling1 is the conversion of database objects between an external form (object identifiers) and an internal form (direct memory pointers). Swizzling is used in some object-oriented databases, persistent obj...
详细信息
Pointer swizzling1 is the conversion of database objects between an external form (object identifiers) and an internal form (direct memory pointers). Swizzling is used in some object-oriented databases, persistent object stores, and persistent and database programming language implementations to speed manipulation of memory resident data. Here we describe a simplifying model of application behavior, revealing those aspects where swizzling is most relevant in both benefits and costs. The model has a number of parameters, which we have measured for a particular instance of the Mneme persistent object store, varying the swizzling technique used. The results confirm most of the intuitive, qualitative trade-offs, with the quantitative data showing that some performance differences between schemes are smaller than might be expected. However, there are some interesting effects that run counter to naive intuition, most of which we explain using deeper analysis of the algorithms and data structures.
This is a description of the integrated persistent Object Management System (POMS) for the language PS-algol. The objective of POMS is to provide an implementation of the PS-algol persistent heap 1 entirely by means o...
详细信息
This is a description of the integrated persistent Object Management System (POMS) for the language PS-algol. The objective of POMS is to provide an implementation of the PS-algol persistent heap 1 entirely by means of procedures written in PS-algol.
Modelling constructs for specifying semantic integrity are reviewed, and their implicit execution semantics are discussed. An integrity maintenance model based on these constructs, is presented. An implementation of t...
详细信息
Modelling constructs for specifying semantic integrity are reviewed, and their implicit execution semantics are discussed. An integrity maintenance model based on these constructs, is presented. An implementation of this model in a persistent programming language is described, allowing flexible automated dynamic integrity management for applications that update a persistent store;this implementation is based on an event-driven architecture.
A persistent programming environment, together with a language that supports first class procedures, may be used to provide the semantic features of other object modeling languages. In particular, the two concepts may...
详细信息
A persistent programming environment, together with a language that supports first class procedures, may be used to provide the semantic features of other object modeling languages. In particular, the two concepts may be combined to implement abstract data types, modules, separate compilation, views, and data protection. Furthermore, the ideas may be used in system construction and version control, as demonstrated here.
A challenging issue in the construction and maintenance of large application systems is how to determine which components need to be rebuilt after change, when and in which order. Rebuilding is typically recompilation...
详细信息
暂无评论