| A. Dearle, R. Connor, F. Brown, and R. Morrison. Napier88---a database programming language. In R. Hull, R. Morrison, and D. Stemple, editors, Second International Workshop on Database Programming Languages, pages 213--229, June 1989. |
....languages have supported orthogonal persistence. This is the notion that all data types, whether stored persistently or temporarily, are treated equivalently in the language. PS algol [4] and Elle [1] were among the first programming languages to support orthogonal persistence. Napier88 [26] is a more recent example. Persistent object systems have been around nearly this long. Persistent object systems provide orthogonal persistence in object based environments. One of the earliest is POMS [16] the Persistent Object Management System. In this system, based on PSalgol, persistent ....
....language run time system. Language persistence is commonly integrated into the language run time system. This approach is the earliest in persistent systems. Persistent systems grew up around such early persistent programming languages as PS algol [4] and Elle [1] as well as the later Napier88 [26], in which persistence support existed as a part of the language run time system. The earliest persistent object system was POMS [16] more recent examples include Thor [54] and Mneme [58] Java has been a specific target of modifications to support persistence, with such systems as PJama [64] ....
A. Dearle, R. Connor, F. Brown, and R. Morrison. Napier88---a database programming language. In R. Hull, R. Morrison, and D. Stemple, editors, Second International Workshop on Database Programming Languages, pages 213--229, June 1989.
....This granularity has also been shown to reduce contention in distributed shared memory systems [20] This approach is the earliest in persistent systems. Persistent systems grew up around such early persistent programming languages as PS Algol [2] and Elle [1] as well as the later Napier88 [10], in which persistence support existed as a necessary part of the language run time system. The earliest persistent object system was POMS [7] more recent examples include Thor [23] and Mneme [26] Java has been a specific target of modifications to support persistence, with such systems as PJama ....
A. Dearle, R. Connor, F. Brown, and R. Morrison. Napier88--- a database programming language. In R. Hull, R. Morrison, and D. Stemple, editors, Second International Workshop on Database Programming Languages, pages 213--229, June 1989.
....without impacting the persistent data. With persistent programming languages, there is typically no distinction in the programmer s eyes between transient and persistent types. In particular, some persistent programming languages, such as PGraphite, Pleiades, Napier 88, and PS Algol [WWFT88, TC93, DCBM89, ABC 83] treat persistence orthogonally to types. With these languages, an instance of any type can be made persistent dynamically. This approach is very powerful and flexible, since it allows programs to manipulate data uniformly without being concerned about whether it is persistent or ....
Alan Dearle, Richard Connor, Fred Brown, and Ron Morrison. Napier88---a database programming language? In Proceedings of the Second International Workshop on Database Programming Languages, pages 179--195. Morgan Kaufmann, 1989.
....language processor and the run time system support. Add On Bulk Types are defined and implemented utilizing standard built in language mechanisms (typing, naming, binding, scoping or recursion) of a sufficiently generic general purpose base language like ML [MTH90] Modula 3 [CDG 88] Napier 88 [DCBM89] or Eiffel [Mey88] In this paper we analyze the motivations and basic assumptions behind both (extreme) approaches and explore their individual advantages and shortcomings. This investigation is based on the one hand on our substantial experience This work was supported by the European ....
A. Dearle, R. Connor, F. Brown, and R. Morrison. Napier88 -- A Database Programming Language? In Proceedings of the Second International Workshop on Database Programming Languages, Salishan, Oregon, June 1989.
....into six groups, namely data bases, persistent programming approaches, operating systems, shared object stores, fault tolerant distributed systems and approaches based on a special purpose hardware architecture. In the area of general persistent programming PS Algol[16] E[29] Napier88 [11], Texas[33] may be mentioned. In the operating systems area systems like Grasshopper[12] Choices[6] Chorus Cool2 [1] and Clouds[10] support persistent programming ( 13] gives an analysis on operating system support for 16 persistence) whereas Monads[30] provides a single level persistent store ....
A. Dearle, R. C. H. Connor, A. L. Brown, and R. Morrison. Napier88---A Database Programming Language? In Proceedings of the 2nd International Workshop on Database Programming Languages, pages 179--195, Salishan, Oregon, 1989.
....that produce them, software engineering applications impose some challenging requirements on the design of an object management system. Programming languages, file systems, and database systems currently fail to satisfy these requirements. Recent work on database programming languages (e.g. [52, 1, 21, 13, 16]) and object oriented database systems (e.g. 3, 7, 26, 60] are attempting to overcome some of their limitations, but to date, none of these efforts have sufficiently provided the capabilities needed to support the spectrum of software engineering activities. Therefore, as part of the Arcadia ....
....and object oriented database approaches. Database programming languages have generally attempted to extend programming languages with some of the kinds of functionality that are typically found in databases, such as set constructors, concurrency control, associative access, and persistence (e.g. [52, 18, 1, 21, 13, 16]) While database programming languages provide the computational completeness of traditional programming languages, they have tended to limit their support for persistence, associative access, and concurrency control to a subset of types (usually sets) and have provided highly restricted models ....
[Article contains additional citation context not shown here]
A. Dearle, R. Connor, F. Brown, and R. Morrison. Napier88--A Database Programming Language? In Proceedings of the Second International Workshop on Database Programming Language, pages 179-- 195, Jun 1989.
.... compile time program analysis and optimization [67, 43, 42, 64, 38, 39, 48, 66, 65, 18, 17] 3 Related work The notion of orthogonal persistence has a long history [7] traced through the development of prototype orthogonal persistent programming languages such as PS Algol [5, 8, 6] and Napier88 [61, 28], and extensions to existing languages such as Smalltalk [55, 54, 77, 44, 40, 38] and Java [10, 52, 9, 53] It is important to note that all of these prototypes rely on support for persistence from an underlying virtual machine, implemented as an interpreter of abstract machine instructions. While ....
DEARLE,A.,CONNER,R.,BROWN,F.,AND MORRISON,R. Napier88 -- a database programming language? In Hull et al. [49], pp. 179--195.
....are aware, none of these languages provide the software engineer with the ability to constrain the effects of evolving an application in the way DRASTIC s zones and zone contracts do. 8. 6 Persistent Languages Type evolution is more of a problem for programming languages that support persistence [DCBM89, MMM93, AGO88, AJDS96] than for those that do not. This is because the persistent store contains data which is loaded into type instances at run time. If a type is changed, instances of that type may not longer be retrievable from the store unless some form of transformation is performed. This ....
....use of linguistic reflection [SSS 92] Linguistic reflection gives a programming system the ability to generate new program fragments and incorporate them into the executing process. Generator procedures produce representations of program fragments in the corresponding language (e.g. Napier88 [DCBM89] which are incorporated into the application after the appropriate validity checks. Linguistic reflection requires some mechanism for locating the relevant programs and data that require transformation. Once found, linguistic reflection can be used to introduce transformed versions in a ....
A. Dearle, R. C. H. Connor, A. L. Brown, and R. Morrison. Napier88 - A database programming language? In R. Hull, R. Morrison, and D. Stemple, editors, 2nd International Workshop on Database Programming Languages, pages 179--195, Salishan Lodge, Oregon, 1989. Morgan Kaufmann.
....languages the problem is more pervasive since one goal of persistent programming languages is to reduce or eliminate the distinction between transient and persistent types. In particular, some persistent programming languages, such as PGraphite, Pleiades, Napier 88, and PS Algol [WWFT88, TC93, DCBM89, ABC 83] treat persistence orthogonally to type definitions. With these languages, an instance of any type can be made persistent dynamically. This approach is very powerful and flexible, since it allows programs to manipulate data uniformly without being concerned about whether it is ....
Alan Dearle, Richard Connor, Fred Brown, and Ron Morrison. Napier88---a database programming language? In Proceedings of the Second International Workshop on Database Programming Languages, pages 179--195. Morgan Kaufmann, 1989.
....problem is more pervasive than with object oriented databases since there is typically no distinction in the programmer s eyes between transient and persistent types. In particular, some persistent programming languages, such as Persistent Java, PGraphite, Pleiades, Napier 88, and PSAlgol [12, 24, 22, 5, 1], treat persistence orthogonally to types. With these languages, an instance of any type can be made persistent dynamically. This approach is very powerful and flexible, since it allows programs to manipulate data uniformly without being concerned about whether it is persistent or transient data. ....
Alan Dearle, Richard Connor, Fred Brown, and Ron Morrison. Napier88---a database programming language ? In Proceedings of the Second International Workshop on Database Programming Languages, pages 179--195. Morgan Kaufmann, 1989.
....run time type checking can be performed whenever pointers to it are dereferenced. Such type checking also includes a residency check to ensure that the target object is resident. These overheads have a significant impact on program performance. 2.1.2. 2 Napier88 Napier88 [Morrison et al. 1989; Dearle et al. 1989] is the successor to PS Algol. As a new language, it was designed in the light of hindsight gained from experience with its predecessor. In contrast with PS Algol, Napier88 employs strong typing, so that static type checking can be performed in certain circumstances to eliminate some of the ....
Dearle, A., Conner, R., Brown, F., and Morrison, R. (1989). Napier88---A database programming language? In Hull et al. [1989], pages 179--195.
....memory management framework which incorporates extensible mechanisms and strategies for both volatile and non volatile memory management. Therefore the persistence features of Vast are not tightly coupled to a specific persistent programming language like in the case of PS Algol[4] or Napier88[2] but can be applied in a problem oriented manner. We think such an approach is well suited for parallel systems, since the implementations can be kept rather lightweight and largely free from overhead associated with features that are not necessary for a certain application domain. As depicted in ....
....programming so far, persistent programming is still in its childhood with respect to parallel systems. In this paper we showed how the parallel programming language Ocore is enhanced with persistence features based on the Vast framework for persistent programming. Unlike PS Algol[4] Napier88[2] or E[8] Ocore has not been designed specifically for persistent programming but for efficient parallel and distributed computing. In this area persistent objects primarily serve as high level substitutes for explicit I O operations. This requires a very efficient approach to persistence which ....
A. Dearle, R. C. H. Connor, A. L. Brown, and R. Morrison. Napier88---A Database Programming Language? In Proceedings of the 2nd International Workshop on Database Programming Languages, pages 179--195, Salishan, Oregon, 1989.
....binding: In its simplest, most basic form a (name,object) pair. The availability of binding (n; o) makes it possible to use name n to reference, access or manipulate object o. Bindings may also include additional information, such as type and mutability information (as, for example, in Napier [5]) binding space: A set of bindings that serves as a collection of definitions for names. context: A set of bindings that is available for use in referencing, accessing or manipulating objects. A context may consist of, or be formed from, one or more binding spaces, or parts of binding spaces, ....
Dearle, A., Connor, R., Brown, F., and Morrison, R. Napier88---A database programming language? In Second International Workshop on Database Programming Languages (June 1989), R. Hull, R. Morrison, and D. Stemple, Eds., pp. 213--229.
....offered by a specific storage system. Our group has developed object store adaptors for the object oriented database system ObjectStore from Object Design [LLOW91] and for the proprietary object store of the University of St. Andrews [Bro89, BM91, BMM 92, Mun93] also used by the Napier88 [DCBM89] system. The University of Pisa is implementing a store adaptor for the O2 [BDK92, CDKK85] object oriented database engine. The following two subsections give a brief implementation overview of the existing TSP adaptors. 5.1.1 The ObjectStore Adaptor ObjectStore poses very few restrictions on ....
A. Dearle, R. Connor, F. Brown, and R. Morrison. Napier88 -- A Database Programming Language? In Proceedings of the Second International Workshop on Database Programming Languages, Portland, Oregon, June 1989.
....specifications are used to resolve constraints violated in the target by preferring facts from one of the sources over the others. 1 Introduction One of the features touted by persistent object base researchers is the lack of need for object identification in POBs[FBC 87, PSM87, Gro87, DCBM89] In essence, persistent objects have persistent Identifiers (IDs) which make them distinct from all other objects simply by the way they are created. In fact, this feature is shared with the programming language freedom to create arrays, vectors, records and other structures, arbitrarily, ....
....arbitrarily, without regard to or fear of their possible equivalence to other such structures that just happen to be around in the address space. The seamless integration of persistence into such frameworks lends considerable support to the notion of persistent IDs as being a good idea [DCBM89] But POBs are in many cases used to model some part of the real world. In making that connection one does not have the freedom to create objects indiscriminately, but often must rely on key attributes to identify objects. The modelled world would be inconsistent if duplicate objects with the ....
A. Dearle, R. Connor, F. Brown, and R. Morrison. Napier88 -- a database programming language? In Proceedings of the Second International Workshop on Database Programming Languages, pages 179--195, June 1989.
.... question include: Transient, persistent or both: A typical programming language would only allow naming of transient objects, while an operating system might only allow naming of persistent objects (such as files) and an object oriented database or a database programming language (e.g. Napier [DCBM89]) might allow both. Names, bindings, binding spaces, contexts: Different choices are made in different name management approaches. For example, traditional programming languages allow none of these to be named, while in Unix names, binding spaces and contexts can all be named, but bindings ....
Alan Dearle, Richard Connor, Fred Brown, and Ron Morrison. Napier88--A database programming language? In Second International Workshop on Database Programming Languages, pages 213--229, June 1989.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC