| R. Morrison, F. Brown, R. Connor, and A. Dearle. The Napier88 Reference Manual. Research Report PPRR-77-89, Universities of Glasgow and St Andrews, 1989. |
....in which case this API can be rewritten in pure Java. 3.4 Related Work 3.4. 1 Build Management in Persistent Platforms Sjberg s PhD thesis [Sj93b] seems to be the only work at this time where build management in the context of persistent platform (in this case, Napier88 persistent language [MBCD89] is investigated. The work addresses the general problem of supporting changes in large applications over long periods of time, includes one case study for a real industrial application, etc. Its main contribution is a persistent thesaurus mechanism, that analyses persistent software and stores ....
R. Morrison, F. Brown, R. Connor, and A. Dearle. The Napier88 Reference Manual. Research Report PPRR-77-89, Universities of Glasgow and St Andrews, 1989.
....environments require efficient retrieval of data according to their location. Conventional database systems are not capable of performing such searches effectively over large data sets. We have developed multi dimensional indexing libraries as part of the Glasgow Bulk Type Libraries[2] for Napier88[13], and studied their performance under a variety of simulation loads. We conclude that persistent languages such as Napier88 are suitable for implementing and running spatial data systems, and that algorithms designed for use with files fit well with the Napier88 persistent store. The only problem ....
....framework for GIS construction, naming problems with store growth as the major obstacle to overcome. He also noted that database construction seemed somewhat slow, and recommended future incorporation of other indexing methods particularly R trees. 2. 2 The Napier88 Bulk Type Libraries Napier88 [13] is a persistent programming language with a stable store and orthogonal persistence. The Glasgow Bulk Types Library [2] provides add on Napier88 types with a uniform set of operations. This enables programmers to use different bulk types interchangeably without having to adapt to new procedures ....
Morrison, R., Brown, F., Connor, R. and Dearle, A., The Napier88 Reference Manual, Technical Report PPRR-77-89, Universities of Glasgow and St Andrews, 1989.
....and other results that indicate differences. The complete experiment is described in [13] 4.3 Maintaining a Napier88 Application This section describes an experiment in a controlled environment whose results are currently being analysed. The activities of programmers in the Glasgow Napier88 [14] community were automatically logged during the experiment. We will describe the logging technique, the kind of data analysis we can produce and the kind of tasks carried out in the experiment. Napier88 programs can be manipulated within a program development environment called the Persistent ....
Morrison, R., Brown, F., Connor, R. and Dearle, A. The Napier88 Reference Manual. Technical Report PPRR-77-89, Universities of Glasgow and St Andrews, 1989.
....it is achieved without requiring any user intervention in excess of that already needed for calling a procedure in a type safe language. The research work described in this paper is different from other work because the RPC mechanism takes advantage of many advanced features found in Napier88 [MBCD89] a persistent programming language; it does not necessarily offer more than other commercial implementations or research prototypes. Persistence is important for building an automatic type safe RPC mechanism mainly because it enormously eases the task of implementing the system. Napier88 ....
....languages solve this problem by incorporating persistence into the programming language. The RPC mechanism presented in this paper was implemented in Napier88, a persistent programming language described next. 3. 1 Napier88 Originally developed as part of the PISA project [AMP87] Napier88 [MBCD89] is a strongly typed, procedural persistent programming language. The implementation this paper refers to was built by the Persistent Programming Research Group at the University of St Andrews, Scotland. It is offered as a compiler to an intermediate language, an interpreter for that language and ....
R. Morrison, A.L. Brown, R.C.H. Connor, and A. Dearle. The Napier88 reference manual. Technical Report PPRR-77-89, Universities of Glasgow and St Andrews, 1989.
....the program in which they are created, and thus, be persistent [22] Orthogonal persistence specifies that all data objects may be persistent and that a program manipulates transient and persistent data in the same manner. A representative persistent programming environment is the Napeir88 system [23] which consists of the language Napier88 and a persistent store. In the Napier88 system, long term data objects are stored in the persistent store and are obtained by traversing the store from the root of persistence. All data objects are considered first class objects, and thus, in addition to ....
....phash passociation pput classify expression cons cell generating expr side effect free predicate expr FooScape Figure 3. FooScape: a view of connected function ellipses, showing the dynamic behaviour of a program through the inversion of active functions. 14 4.3. ABERDEEN Within the Napier88 [23] programming environment a tool, ABERDEEN [27] for browsing the persistent store and allowing interactive declarations and expressions to be applied to the store has been developed. ABERDEEN is an extension of Kirby s object browser for Napier88 [28] ABERDEEN is not intended to be a true ....
R. Morrison, A. L. Brown, R. Carrick and R. Connor. The Napier88 Reference Manual. Research Report, PPRR-77-89, Universities of Glasgow and St Andrews, 1989.
....costs. In order to minimize the transitive referential closure of an entity, its representation must not include (indirect) references to entities which are irrelevant for its further use. A counterexample is a linked list representation of function closures as found, for example, in Napier88 [MBCD89] where nested functions can unattendedly capture indirect references to bulk structures, as for instance the persistent root of the object store. This virtually prevents code and thread transmission and is also a severe obstacle to garbage collections. To avoid these problems, Tycoon uses flat ....
R. Morrison, A.L. Brown, R. Connor, and A. Dearle. The Napier88 reference manual. PPRR 77-89, Universities of Glasgow and St Andrews, 1989.
....the representation of an empty map. The header holds the constancy, the predicates, the cardinality, and a tag indicating the current form of the map s body. It also contains an updatable reference to the map s body. The structures used are presented in two forms: as diagrams, and as Napier88 [MBCD88] declarations. The diagrams have the map header in the top left, and the body hanging from it; and with the corresponding map position in the top right. The declarations correspond to the experimental implementation given in the next section, and used for the measurements presented in section 4. ....
R. Morrison, F. Brown, R. Connor, and A. Dearle. The Napier88 Reference Manual. Technical Report PPRR-77-89, Universities of Glasgow and St Andrews, 1988.
....been built. The HMS thesaurus tool was developed for a health management system (HMS) in an industrial (C, C , X Window System and relational database) environment [13] Another thesaurus tool was thereafter built in the context of the strongly typed, persistent programming language Napier88 [12]. The software environments that have been built around the thesauri focus on change management and include tools that display structures and dependencies and provide impact analysis. In the persistent case, automatic build management is supported, including installation, smart recompilation [15] ....
R. Morrison, F. Brown, R. Connor and A. Dearle. The Napier88 Reference Manual. Technical Report PPRR-77-89, Universities of Glasgow and St Andrews, 1989.
....protection; long term referential integrity; and incremental software construction. In short, orthogonally persistent systems are expected to provide better support for the design, development, operation and maintenance of complex database applications. 2. 1 The Napier88 Persistent System Napier88 [49, 48] is a research persistent programming language that also incorporates a number of other interesting features (described below) Napier88 supports orthogonal persistence. Persistence of an object is defined by reachability from a single persistent root. Objects that cannot be reached are unusable ....
R. Morrison, A.L. Brown, R.C.H. Connor, and A. Dearle. The Napier88 reference manual. Technical Report PPRR-77-89, Universities of Glasgow and St Andrews, 1989.
....data [2, 7] An object will be garbage collected only if it is unreachable using the normal constructs in the persistent language. Thus a persistent programming language is both a programming language and a database management system with a single programming model. Examples include Napier88 [30, 29] and PJava [5, 3] In order to guarantee that an object can always be used later if it can be reached, the persistent system has to store not only the data of that object but also its code. This small but important point is the main difference between object oriented database systems (OODBS) and ....
....21, 22] Although Tycoon runs on many computer platforms, it can be considered a proprietary language (for the purposes of this paper) because its syntax has no resemblance with Java. One of the authors has also worked on similar issues with another persistent programming language called Napier88 [30, 29]. As a result, a number of models for communication between autonomous persistent programs have been designed and implemented [24, 28, 27, 25] Like Tycoon, procedures and threads are first class values in Napier88 and code can migrate between autonomous programs (but not threads) However, ....
R. Morrison, A.L. Brown, R.C.H. Connor, and A. Dearle. The Napier88 reference manual. Technical Report PPRR-77-89, Universities of Glasgow and St Andrews, 1989.
....of Glasgow, Glasgow, Scotland. Email: fdaw,trinderg csd.glasgow.ac.uk Note: This is an extended version of a paper submitted for publication. 1 Introduction Several database programming languages (DBPLs) are emerging that enable dataintensive applications to be created with greater ease [1, 3, 6, 10, 11, 12, 13]. In order to represent and manipulate large amounts of data, a DBPL must support one or more bulk types. Values of a bulk type are large and typically variable sized. Examples of bulk types are lists, sets, relations, and finite mappings. Most conventional database management systems and some ....
....no obvious order amongst people. In contrast, the places visited on a tour are most naturally modelled by a list: a place may be visited twice, and the order of visits is important. In order to model application domains more naturally, therefore, some DBPLs permit the use of different bulk types [3, 10, 11]. Unfortunately, supporting several bulk types may complicate the language because there must be a means of declaring, constructing, inspecting, and updating instances of each type. The problem is exacerbated in languages, such as those with orthogonal persistence, that permit the programmer to ....
Morrison, R., Brown, F., Connor, R., and Dearle, A. The Napier 88 Reference Manual. Universities of Glasgow and St Andrews, PPRR-77-89.
....It seems like persistence is included in places where transitive closure from a persistent root would have been su#cient. This may be a result of inadequate understanding of the technology. This is not totally unexpected. Similar results were found in a study of applications written in Napier88 [19]. There were significant di#erences between novices and experienced programmers in the way they designed their applications and their use of the languages constructs [11] A common factor that also may explain why these applications conflict with the hypothesis is that quite a bit of test code is ....
Morrison R, Brown F, Connor R, Dearle A. The Napier88 Reference Manual. Technical Report PPRR-77-89, Universities of Glasgow and St Andrews, 1989.
....file system services. ffl Tysin is a portable disk based single user store that was developed by our group specifically for systems without virtual memory support like Microsoft Windows and Macintosh OS. ffl Napier is a store adaptor to the Napier disk based single user store for SunOS systems [Bro89] This store makes heavy use of memory mapped files [RHB 90] to achieve very fast object addressing. ffl Object is a store adaptor to the commercial product ObjectStore [LLOW91] a multi user store with a client server architecture. Furthermore, TSP is intended to be a stackable protocol. ....
....defined by TSP using the operations and data modeling features 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 ....
A.L. Brown. Persistent Object Stores. PPRR 7189, Universities of Glasgow and St Andrews, March 1989.
....the last three years by our group to overcome the above problems and to provide a well defined, standardized interface between the frontend and the backend of fully integrated persistent environments. This interface is based on the widely accepted notion of an untyped persistent heap ( MS88, BM91, KKD89] Despite the fact that TSP has been implemented and evaluated in the context of the Tycoon project [MS93] TSP is fully independent of the Tycoon system and supports multiple (generic) clients and multiple database servers. This paper is organized as follows: We first sketch how TSP ....
....by TSP using the operations and data modeling features 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 ....
A.L. Brown and R. Morrison. A Generic Persistent Object Store. PPRR 2-91, Universities of Glasgow and St Andrews, 1991.
....a light button and a menu, check box lists built using check boxes; in the second case are warning dialogues that prevent some action from continuing by taking all inputs until the user acknowledges a message. 4 Enabling Technology ShTh was built using the persistent programming language Napier88 [Morrison et al. 1989] and by using procedures from the WIN [Cutts et al. 1990] and Maps [Atkinson et al. 1991] libraries of Napier88 procedures (as illustrated in Figure 8) WIN (standing for windows in Napier88) is the toolkit providing all needed windows and other dialogue components. WIN was chosen because it is ....
R. Morrison, A.L. Brown, R.C.H. Connor, and A. Dearle. The Napier88 reference manual. Technical Report PPRR-77-89, Universities of Glasgow and St Andrews, 1989.
....it is achieved without requiring any user intervention in excess of that already needed for calling a procedure in a type safe language. The research work described in this paper is different from other work because the RPC mechanism takes advantage of many advanced features found in Napier88 [11], a persistent programming language; it does not necessarily offer more than other commercial implementations or research prototypes. Persistence is important for building an automatic type safe RPC mechanism mainly because it enormously eases the task of implementing the system. Napier88 provides ....
....the programmer freedom to choose the best types independent of the length of time the values will persist. This freedom eliminates the burden of having to choose two different representations for storage and manipulation, and to write the code to translate between them. 3. 1 Napier88 Napier88 [11] is a strongly typed, procedural persistent programming language. The implementation this paper refers to was built at the University of St Andrews by Ron Morrison and his team, and is offered as a compiler to an intermediate language, an interpreter for that language and a store already ....
R. Morrison, A.L. Brown, R.C.H. Connor, and A. Dearle. The Napier88 reference manual. Technical Report PPRR-77-89, Universities of Glasgow and St Andrews, 1989.
....long term referential integrity; and incremental software construction. In short, orthogonally persistent systems are expected to provide better support for the design, development, operation and maintenance of complex database applications. 2. 1 The Napier88 Persistent System Napier88 [MBCD89, MBC 94] is a research persistent programming language that supports orthogonal persistence. Persistence of an object is defined by reachability from a single persistent root. Objects that cannot be reached are unusable and thus can be garbage collected. The Napier88 rich type system is ....
R. Morrison, A.L. Brown, R.C.H. Connor, and A. Dearle. The Napier88 reference manual. Technical Report PPRR-77-89, Universities of Glasgow and St Andrews, 1989.
....paper aims to inform research in the areas of persistent programming methodology design, the design and implementation of persistent programming environments and associated tools and the design and implementation of persistent programming languages. The analysed software was written in Napier88 [4], a strongly typed, higher order persistent programming language. The applications derive from a number of sources, from the Napier88 programming environment software, to student programs to the first major non system applications written using the Napier88 system. The measured software comes from ....
Morrison R, Brown F, Connor R, Dearle A. The Napier88 Reference Manual. Technical Report PPRR-77-89, Universities of Glasgow and St Andrews, 1989
....constructing new languages and object stores. There are relatively few reports of experience using these facilities to construct and maintain persistent applications. Non trivial DBPL applications are also rare because many languages and stores are experimental prototypes. However, Napier88 [MBCD89] is a new persistent programming language (PPL) that is sufficiently well engineered to support the construction of non trivial applications. The following sections describe experience gained in constructing the Thesaurus Application (TA) in Napier88. Although built in a specific language, ....
R. Morrison, F. Brown, R. Connor, and A. Dearle. The Napier88 reference manual. Technical Report PPRR-77-89, Universities of Glasgow and St Andrews, June 1989.
....on persistent and transient data is provided. Tools, programs and data may reside in the same store. Many of the benefits of persistent language technology have been described in the literature [3, 5, 6] SPASM is couched in terms of the orthogonally 5 persistent programming language Napier88 [26]. A similar model may operate in an object oriented database context [4] A persistent store is organised in environments, which are extensible collections of bindings. Each binding is a quadruple: a unique identifier, a type, a value, and a constancy. The Napier88 system provides a mechanism ....
Morrison, R., Brown, F., Connor, R. and Dearle, A. The Napier88 Reference Manual. Technical Report PPRR-77-89, Universities of Glasgow and St Andrews, 1989.
....queries over new bulk types constructed by the application programmer, providing that the new type has some well defined properties. 1 Introduction Several database programming languages, or DBPLs, are emerging that enable programmers to create dataintensive applications with greater ease [1, 2, 3, 15, 19, 23]. Each DBPL must incorporate a query notation because interrogating the database is a common task. A query notation should be clear, concise, efficient and well integrated with its host language. Arguments are constructed that comprehensions, a construct found in some programming languages, have ....
Morrison R. Brown F. Connor R. Dearle A. The Napier 88 Reference Manual. Universities of Glasgow and St Andrews, PPRR-77-89.
....and it 11 would seem sensible to build this in from the beginning to allow for expansion. For this the message passing model is more appropriate. The answer is to have a model that will allow the programmer the freedom to choose. 3. 1 Napier Model We have proposed and built the language Napier [17] in which the persistent store may be regarded as an unbounded collection of objects, each one sharable among the active processes in the system. We will use this language to demonstrate the concepts necessary to allow polymorphic, persistent processes. In Napier, all data is persistent. That is, ....
. Morrison, R., Brown, A.L., Carrick, R., Connor, R. & Dearle, A. Napier Reference Manual. Universities of Glasgow and St Andrews (1988).
....triple mappings for each operation. The successful persistent object systems are therefore likely to be those that take some programming language and provide it with orthogonal persistence [ Atkinson et al. 1983 ] or those that are designed explicitly to provide orthogonal persistence [ Morrison et al. 1989 ] The most popular versions of persistent systems at present are derived from C [ Richardson and Carey, 1987; Bancilhon et al. 1992; Object Design Inc. 1991; Ontologic Inc. 1991 ] Provision of orthogonal persistence may be viewed as a step in the process of providing a more uniform ....
....on the assumption that the projection performs satisfactorily; and 3. the projection itself, which is checked dynamically at the time when the projection is performed. This will be made concrete with another infinite union construct, env, in the programming language Napier88 [ Dearle, 1989; Morrison et al. 1989 ] which will be used for illustrative purposes below. The type env denotes any set of bindings. Each binding is a quadruple: a unique identifier, a type, a value, and a constancy. The value must conform to the type. Values of type env are therefore a set of such bindings and have all the rights of ....
R. Morrison, A.L. Brown, R.C.H. Connor, and A. Dearle. The Napier88 reference manual. Technical Report PPRR-77-89, Universities of Glasgow and St Andrews, 1989.
No context found.
Morrison, R., Brown, A.L., Carrick, R. and Connor, R. The Napier88 Reference Manual, Universities of Glasgow and St Andrews, PPRR-77-89, 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