Paul Philbrow
University of Glasgow
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Paul Philbrow.
Archive | 2000
David W. Stemple; Leo Fegaras; Robin B. Stanton; Tim Sheard; Paul Philbrow; Richard Cooper; Malcolm P. Atkinson; Ronald Morrison; Graham N. C. Kirby; Richard C. H. Connor; Suad Alagic
Reflective systems allow their own structures to be altered from within. In a programming system reflection can occur in two ways: by a program altering its own interpretation or by it changing itself. Reflection has been used to facilitate the production and evolution of data and programs in database and programming language systems. This paper is concerned with a particular style of reflection, called linguistic reflection, used in compiled, strongly typed languages. Two major techniques for this have evolved: compile-time reflection and run-time reflection. These techniques are described together with a definition and anatomy of reflective systems using them. Two illustrative examples are given and the uses of type-safe reflective techniques in a database programming language context are surveyed. These include attaining high levels of genericity, accommodating changes in systems, implementing data models, optimising implementations and validating specifications.
Software - Practice and Experience | 1997
Dag I. K. Sjøberg; Ray Welland; Malcolm P. Atkinson; Paul Philbrow; Cathy Waite
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.
Nordic Journal of Computing | 1997
Dag I. K. Sjøberg; Ray Welland; Malcolm P. Atkinson; Paul Philbrow; Cathy Waite; Stewart Macneill
The Persistent Workshop is a programming environment to support the construction of application systems in Napier88, a persistent programming language. In addition to supporting programming activities, the Workshop provides a demonstration of the persistence technology together with an environment in which various experiments can be conducted. The paper gives a brief description of the underlying principles of persistence, which are exploited by the Workshop. The basic structure of the Workshop is described, together with a brief summary of the tools provided within the programming environment, followed by an outline of the internal structure of the Workshop and the use of persistent data structures. Some initial measurements on the usage of the Workshop are briefly presented, and we discuss related work. Finally, the current status of the Workshop is described together with some comments on future work.
Archive | 2000
Malcolm P. Atkinson; Ray Welland; Paul Philbrow; Cathy Waite; Richard Cooper; Darryn Lavery; Alan Froggatt; Claudia Herzig; Stewart Macneill; Miguel Mira da Silva; Greig Montgomery; Tony Printezis
This chapter describes the development of the Glasgow Persistent Libraries for Napier88. Our overall goals are to increase software re-use and accelerate software construction and maintenance. The objectives of this work were to investigate the creation of high-quality library components and the provision of accurate retrieval mechanisms enabling users to find relevant library components. We discuss the basic principles which guided our research and describe the tools which were built to support the construction and use of the Libraries. To conclude, we outline possible future work in the area of large component libraries.
Sigplan Notices | 1988
Paul Philbrow; I. Armour; Malcolm P. Atkinson; J. Livingstone
We describe a language-level approach to device-independent output. The paper moves from an abstract discussion through to the provision of destinations for PS-algols print statement. Some feedback from programmers is presented, and conclusions drawn.
database programming languages | 1992
Malcolm P. Atkinson; Christophe Lécluse; Paul Philbrow; Philippe Richard
POS | 1993
Malcolm P. Atkinson; Anthony Birnie; Niall Jackson; Paul Philbrow
POS | 1990
Atsushi Ohori; Ivan Tabkha; Richard C. H. Connor; Paul Philbrow
The Computer Journal | 1990
Paul Philbrow; Malcolm P. Atkinson
Archive | 1994
Malcolm P. Atkinson; Peter R. Bailey; Paul Philbrow; Ray Welland