Ronald Morrison

dblp:82/2183 · DBLP profile ↗
← Back
33ranked-venue papers
12as first author
0since 2021 · last 2008
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 17 · 8 first-authorDatabases, data management, data science and information retrieval · 8 · 1 first-authorTheory of computation · 4 · 2 first-authorApplied, interdisciplinary, general and emerging computing · 4 · 1 first-authorGraphics, computer vision, multimedia, augmented reality and games · 2 · 1 first-authorSystems, architecture and hardware · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
7 papers
Programming languages and type systems · 46% Runtime systems and virtual machines · 39% Compilers and program optimization · 10%
Computer architecture, parallel and distributed computing, and storage systems
2 papers
Distributed systems · 84% Storage systems · 16%
Databases, data mining, and information retrieval
1 paper
Data models and query languages · 100%

Topics — the 13 heaviest of 17, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Programming languages and type systems
language design
0.011999
Hyper-Programming in Java · VLDB 1999
Runtime systems and virtual machines › garbage collection
distributed garbage collection
0.011997
Garbage Collecting the World: One Car at a Time · OOPSLA 1997
Runtime systems and virtual machines
garbage collection
0.011997
Garbage Collecting the World: One Car at a Time · OOPSLA 1997
Distributed systems
distributed object systems
0.011997
Garbage Collecting the World: One Car at a Time · OOPSLA 1997
Data models and query languages › object-oriented database
persistent object system
0.011995
Orthogonally Persistent Object Systems · VLDB J. 1995
Runtime systems and virtual machines
orthogonal persistence
0.011995
Orthogonally Persistent Object Systems · VLDB J. 1995
Programming languages and type systems › type systems
polymorphism
0.011991
An Ad Hoc Approach to the Implementation of Polymorphism · ACM Trans. Program. Lang. Syst. 1991
Programming languages and type systems › object-oriented programming
multiple inheritance
0.011989
An Object Addressing Mechanism for Statically Types Languages with Multiple Inheritance · OOPSLA 1989
Compilers and program optimization › memory optimization › data layout optimization
object layout
0.011989
An Object Addressing Mechanism for Statically Types Languages with Multiple Inheritance · OOPSLA 1989
Operating systems › persistence
persistent object systems
0.011997
A Persistent Hyper-Programming System · ICDE 1997
Programming languages and type systems
abstract data types
0.011985
Procedures as Persistent Data Objects · ACM Trans. Program. Lang. Syst. 1985
Storage systems › storage architecture
persistent storage
0.011985
The Persistent Store as an Enabling Technology for Integrated Project Support · ICSE 1985
Software maintenance and evolution › software configuration management
version control
0.011985
Procedures as Persistent Data Objects · ACM Trans. Program. Lang. Syst. 1985

Methods — techniques the papers use, named apart from their topics

train algorithm · 0.0non-blocking collection · 0.0mature object space · 0.0type-safe links · 0.0ad hoc implementation technique · 0.0symbol table · 0.0static address calculation · 0.0
YearPublicationVenuePosition
2008 A Component-Based Model and Language for Wireless Sensor Network Applications
abstract
Wireless sensor networks are often used by experts in many different fields to gather data pertinent to their work. Although their expertise may not include software engineering, these users are expected to produce low-level software for a concurrent, real-time and resource-constrained computing environment. In this paper, we introduce a component-based model for wireless sensor network applications and a language, Insense, for supporting the model. An application is modelled as a composition of interacting components and the application model is preserved in the Insense implementation where active components communicate via typed channels. The primary design criteria for Insense include: to abstract over low-level concerns for ease of programming; to permit worst-case space and time usage of programs to be determinable; to support the fractal composition of components whilst eliminating implicit dependencies between them; and, to facilitate the construction of low footprint programs suitable for resource-constrained devices. This paper presents an overview of the component model and Insense, and demonstrates how they meet the above criteria.
Alan Dearle, Dharini Balasubramaniam, Jonathan Lewis, Ronald Morrison
COMPSAC4
2007 An Active Architecture Approach to Dynamic Systems Co-evolution
Ronald Morrison, Dharini Balasubramaniam, Flávio Oquendo, Brian Warboys, Robert Mark Greenwood
ECSA1
2007 Flexible Software Development: From Software Architecture to Process
abstract
Modern software development practices show that there is significant diversity in the product, process and geographical location of software development due to economical, technical and logistical constraints. Such diverse development demands flexibility in the software engineering methodology. In this paper, we propose the cellular development methodology (CDM), an architecture-driven approach to flexible software development. CDM derives the development process and its architecture from the software architecture of product. The software development process is structured and customised as a network of cooperating cells. Our contribution is a cellular approach to software development based on the software architecture of the end product whereby a network of configurable cells yield customisable, potentially distributed software development processes which in turn produce software that is highly tailored to user requirements.
Dharini Balasubramaniam, Ronald Morrison, Robert Mark Greenwood, Brian Warboys
WICSA2
2007 A framework for supporting dynamic systems co-evolution
Ronald Morrison, Dharini Balasubramaniam, Graham N. C. Kirby, Kath Mickan, Brian Warboys, Robert Mark Greenwood, Ian Robertson, Robert A. Snowdon
Autom. Softw. Eng.1
2007 The Doomsday distributed termination detection protocol
Mike Livesey, Ronald Morrison, David S. Munro
Distributed Comput.2
2006 Scalable Surveillance Software Architecture
abstract
Video surveillance is a key technology for enhanced protection of facilities such as airports and power stations from various types of threat. Networks of thousands of IP-based cameras are now possible, but current surveillance methodologies become increasingly ineffective as the number of cameras grows. Constructing software that efficiently and reliably deals with networks of this size is a distributed information processing problem as much as it is a video interpretation challenge. This paper demonstrates a software architecture approach to the construction of large scale surveillance network software and explores the implications for instantiating surveillance algorithms at such a scale. A novel architecture for video surveillance is presented, and its efficacy demonstrated through application to an important class of surveillance algorithms.
Henry Detmold, Anthony R. Dick, Katrina Falkner, David S. Munro, Anton van den Hengel, Ronald Morrison
AVSS6
2005 Server Enforced Program Safety for Web Applications
Henry Detmold, Katrina Falkner, David S. Munro, Travis Olds, Ronald Morrison, Stuart J. Norcross
J. Web Eng.5
2004 Support for Evolving Software Architectures in the ArchWare ADL
abstract
Software that cannot evolve is condemned to atrophy: it cannot accommodate the constant revision and re-negotiation of its business goals nor intercept the potential of new technology. To accommodate change in software systems, we have defined an active software architecture to be: dynamic in that the structure and cardinality of the components and interactions are changeable during execution; updatable in that components can be replaced; decomposable in that an executing system may be (partially) stopped and split up into its components and interactions; and reflective in that the specification of components and interactions may be evolved during execution. Here we describe the facilities of the ArchWare architecture description language (ADL) for specifying active architectures. The contribution of the work is the unique combination of concepts including: a /spl pi/-calculus based communication and expression language for specifying executable architectures; hyper-code as an underlying representation of system execution that can be used for introspection; a decomposition operator to incrementally break up executing systems; and structural reflection for creating new components and binding them into running systems.
Ronald Morrison, Graham N. C. Kirby, Dharini Balasubramaniam, Kath Mickan, Flávio Oquendo, Sorana Cîmpan, Brian Warboys, Robert A. Snowdon, Robert Mark Greenwood
WICSA1
2003 Architectural Support for Global Smart Spaces
Alan Dearle, Graham N. C. Kirby, Ronald Morrison, Andrew J. McCarthy, Kevin Mullen, Richard Connor 0001, Paula Welen, Andy Wilson
Mobile Data Management3
2000 A compliant persistent architecture
abstract
The changing needs of modern application systems demand new and radical software architectures to support them. The attraction of persistent systems is that they define precisely the extent to which they are open, thereby allowing the dynamically changing resource requirements of applications to be tracked accurately within the persistent environment. Thus, an ever-growing body of work is being established to study the nature of running applications, and to use the information gleaned, to improve the run-time execution of these applications. Here we propose a new architectural approach to constructing persistent systems that accommodates, and thus is compliant to, the needs of particular applications. By separating policy from mechanism in all components, the architecture may be tailored to the policy needs of the application. (Policy may be regarded as strategy for achieving a goal, such as a cache eviction algorithm, whereas mechanism is the method by which the objective is achieved, such as the physical movement of the cache lines. As we see later, policy and mechanism are composable to form new mechanism.) We first propose a generic architecture for compliance, and then show how it may be instantiated. Finally, we describe an example of how the architecture operates in a manner that is compliant to a target application. We postulate, since we have not yet measured, that the benefits of compliant architectures will be a reduction in complexity, with corresponding gains in flexibility, portability, understandability in terms of failure semantics, and performance. Copyright © 2000 John Wiley & Sons, Ltd.
Ronald Morrison, Dharini Balasubramaniam, Robert Mark Greenwood, Graham N. C. Kirby, Kenneth R. Mayes, David S. Munro, Brian Warboys
Softw. Pract. Exp.1
1999 Hyper-Programming in Java
Evangelos Zirintsis, Graham N. C. Kirby, Ronald Morrison
VLDB3
1998 Linguistic Reflection in Java
abstract
Reflective systems allow their own structures to be altered from within. Here we are concerned with a style of reflection, called linguistic reflection, which is the ability of a running program to generate new program fragments and to integrate these into its own execution. In particular, we describe how this kind of reflection may be provided in the compiler-based, strongly typed object-oriented programming language Java. The advantages of the programming technique include attaining high levels of genericity and accommodating system evolution. These advantages are illustrated by an example taken from persistent programming, which shows how linguistic reflection allows functionality (program code) to be generated on demand (Just-In-Time) from a generic specification and integrated into the evolving running program. The technique is evaluated against alternative implementation approaches with respect to efficiency, safety and ease of use. © 1998 John Wiley & Sons, Ltd.
Graham N. C. Kirby, Ronald Morrison, David W. Stemple
Softw. Pract. Exp.2
1997 Evolving Persistent Applications on Commercial Platforms
Graham N. C. Kirby, Ronald Morrison, David S. Munro
ADBIS2
1997 A Persistent Hyper-Programming System
abstract
We demonstrate the use of a hyper-programming system in building persistent applications. This allows program representations to contain type-safe links to persistent objects embedded directly within the source code. The benefits include improved efficiency and potential for static program checking, reduced programming effort and the ability to display meaningful source level representations for first class procedure values. Hyper-programming represents a completely new style of programming which is only possible in a persistent programming system.
Graham N. C. Kirby, Ronald Morrison, David S. Munro, Richard Connor 0001, Quintin I. Cutts
ICDE2
1997 Garbage Collecting the World: One Car at a Time
abstract
A new garbage collection algorithm for distributed object systems, called DMOS (Distributed. Mature Object Space), is presented. It is derived from two previous algorithms, MOS (Mature Object Space), sometimes called the train algorithm, and PMOS (Persistent Mature Object Space). The contribution of DMOS is that it provides the following unique combination of properties for a distributed collector: safety, completeness, non-disruptiveness, incrementality, and scalability. Furthermore, the DMOS collector is non-blocking and does not use global tracing.
Richard L. Hudson, Ronald Morrison, J. Eliot B. Moss, David S. Munro
OOPSLA2
1995 Exploiting Persistent Linkage in Software Engineering Environments
abstract
Persistent programming systems are designed to provide technology for the construction and maintenance of large, long-lived object-based application systems. Many successful prototypes have been constructed and a large body of application building experience is emerging. Three common attributes of persistent systems are persistent linkage, strong typing, and the referential integrity of data. Persistent linkage allows persistent objects to be included in the binding process. Strong typing guarantees that objects are only manipulated in a manner consistent with their type system descriptions. Referential integrity ensures that once a link (reference) to an object is established, its identity is unique and it persists over time. As a consequence no object can be deleted while another refers to it. Here we examine some of the advantages of providing software engineering environments within a persistent object system with strong typing and referential integrity. It is shown how the integration of system specifications, programs, configuration management tools and documentation all within a single persistent environment leads to powerful new techniques. This new power is achieved by sharing structured persistent data across the hitherto enclosing boundaries of system components.
Ronald Morrison, Richard Connor 0001, Quintin I. Cutts, Vivienne S. Dunstan, Graham N. C. Kirby
Comput. J.1
1995 Orthogonally Persistent Object Systems
Malcolm P. Atkinson 0001, Ronald Morrison
VLDB J.2
1991 An Ad Hoc Approach to the Implementation of Polymorphism
abstract
Polymorphicabstraction provides the ability to write programs that are independent of the form of the data over which they operate.There are a number of different categories of polymorphic expression-ad hoc and umversal, which includes parametric and inclusion-all of which have many advantages in terms of code reuse and software economics.It has proved difficult to provide efficient implementations of polymorphism.Here, we address this problem and describe a new technique that can implement all forms of polymorphism, use a conventional machine architecture, and support nonuniform data representations.Furthermore, the method ensures that any extra cost of implementation applies to polymorphic forms only, and allows such polymorphic forms to persist over program invocations.
Ronald Morrison, Alan Dearle, Richard Connor 0001, Alfred L. Brown
ACM Trans. Program. Lang. Syst.1
1990 Existentially Quantified Typed as a Database Viewing Mechanism
Richard Connor 0001, Alan Dearle, Ronald Morrison, Alfred L. Brown
EDBT3
1990 On the Classification of Binding Mechanisms
Ronald Morrison, Malcolm P. Atkinson 0001, Alfred L. Brown, Alan Dearle
Inf. Process. Lett.1
1989 An Object Addressing Mechanism for Statically Types Languages with Multiple Inheritance
abstract
In this paper we are concerned with addressing techniques for statically typed languages with multiple inheritance. The addressing techniques are responsible for the efficient implementation of record field selection. In object-oriented languages, this record selection is equivalent to the access of methods. Thus, the efficiency of these techniques greatly affects the overall performance of an object-oriented language. We will demonstrate that addresses, in such systems, cannot always be calculated statically and show how symbol tables have been used as address maps at run time. The essence of the paper is a new addressing technique that can statically calculate either the address of a field or the address of the address of the field. This technique is powerful enough to support an efficient implementation of multiple inheritance with implicit subtyping as described by Cardelli.
Richard Connor 0001, Alan Dearle, Ronald Morrison, Alfred L. Brown
OOPSLA3
1988 Binding and Type Checking in Database Programming Languages
abstract
Static binding and type-checking, by which we mean the ability to bind names and assign types in advance of program execution is a desirable feature of many modern programming languages. In particular, it is one of the most useful techniques for catching programming errors and is a powerful aid in program optimisation, However, many programming tasks, especially those involving persistent data, appear to require some form of delayed binding and type checking. In this paper we illustrate the need for delaying those operations and examine a selection of languages to see how they provide a mixture of delayed and static operations. We conclude that, with the current state of language technology, the programmer needs explicit control over the timing of binding and type checking.
Malcolm P. Atkinson 0001, Peter Buneman, Ronald Morrison
Comput. J.3
1986 An Integrated Graphics Programming Environment
abstract
Abstract The facilities of the PS‐algol programming language are described in this paper to show how they may be used to provide an integrated graphics programming environment. The persistent store mechanism and the secure transaction facilities of the language provide the basic environment in which an integrated system may be implemented. This is augmented by data types and operations to support line drawings and raster graphics. The combination of these mechanisms may be used to provide the integrated graphics programming environment.
Ronald Morrison, A. L. Florianis, Alan Dearle, Malcolm P. Atkinson 0001
Comput. Graph. Forum1
1986 A Persistent Graphics Facility for the ICL PERQ
abstract
Abstract The facilities of the PS‐algol programming language are described in this paper to show how they may be used to provide an integrated programming support environment. The persistent store mechanism and the secure transaction facilities provide the basic environment in which an integrated system may be implemented. In particular the paper makes use of the data type picture of PS‐algol to show how such an environment may be built for a graphics system ideal for use with a medium range computer workstation. An implementation of a picture editor on the ICL PERQ workstation is described to show the utility of the system.
Ronald Morrison, Alfred L. Brown, Peter J. Bailey, Antony J. T. Davie, Alan Dearle
Softw. Pract. Exp.1
1985 The Persistent Store as an Enabling Technology for Integrated Project Support
Ronald Morrison, Alan Dearle, Peter J. Bailey, Alfred L. Brown, Malcolm P. Atkinson 0001
ICSE1
1985 Procedures as Persistent Data Objects
abstract
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.
Malcolm P. Atkinson 0001, Ronald Morrison
ACM Trans. Program. Lang. Syst.2
1984 Persistent First Class Procedures are Enough
Malcolm P. Atkinson 0001, Ronald Morrison
FSTTCS2
1984 Persistent Object Management System
abstract
Abstract 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 heap1 entirely by means of procedures written in PS‐algol.
W. Paul Cockshott, Malcolm P. Atkinson 0001, Kenneth Chisholm, Peter J. Bailey, Ronald Morrison
Softw. Pract. Exp.5
1983 Experience with a high level language that supports interval arithmetic
abstract
An extension of the language S-algol4called Triplex5which facilitates the use of interval arithmetic and which is similar to triplex algol 603is described. Experience in the use of Triplex is reported. In particular, a Triplex program corresponding to a triplex algol 60 program of Nickel19is given, together with numerical results.
Ronald Morrison, A. J. Cole, Peter J. Bailey, Michael A. Wolfe, J. M. Shearer
IEEE Symposium on Computer Arithmetic1
1983 An Approach to Persistent Programming
abstract
This paper presents the identification of a new programming language concept and reports our initial investigations of its utility. The concept is to identify persistence as an orthogonal property of data, independent of data type and the way in which data is manipulated. This is expressed by the principle that all data objects, independent of their data type, should have the same rights to persistence or transience. We expect to achieve persistent independent programming, so that the same code is applicable to data of any persistence. We have designed a language PS-algol by using these ideas and constructed a number of implementations. The experience gained is reported here, as a step in the task of achieving languages with proper accommodation for persistent programming.
Malcolm P. Atkinson 0001, Peter J. Bailey, Kenneth Chisholm, W. Paul Cockshott, Ronald Morrison
Comput. J.5
1982 Triplex: A System for Interval Arithmetic
abstract
Abstract Triplex is a language which supports interval arithmetic. The interval is represented by a triple. That is, the end points of the interval plus the value that real computer arithmetic would calculate. The intervals are used to bound the errors that occur in real calculations. The paper describes how they may be implemented.
A. J. Cole, Ronald Morrison
Softw. Pract. Exp.2
1982 Low Cost Computer Graphics for Micro Computers
abstract
Abstract A graphical output system small enough to fit on a medium range micro computer is described. The system, called Outline, allows the user to produce line drawings in an infinite two dimensional space. It also offers a picture building facility in which the relationship between different sub‐pictures is specified by mathematical transformations. A basic set of picture manipulating facilities along with a set of physical drawing attributes for each device is defined. The system is embedded in a high level language for simplicity of use.
Ronald Morrison
Softw. Pract. Exp.1
1979 On the Implementation of Constants
Hamish I. E. Gunn, Ronald Morrison
Inf. Process. Lett.2