Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data.

Graham N. C. Kirby

dblp:k/GNCKirby · DBLP profile ↗
← Back
11ranked-venue papers
3as first author
0since 2021 · last 2018
0000-0002-4422-0190ORCID · verified

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

Databases, data management, data science and information retrieval · 5 · 2 first-authorSoftware engineering, systems software and programming languages · 4 · 1 first-authorComputer networks · 1Applied, interdisciplinary, general and emerging computing · 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
2 papers
Programming languages and type systems · 88% Operating systems · 12%

Topics — the 2 heaviest of 3, 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
Operating systems › persistence
persistent object systems
0.011997
A Persistent Hyper-Programming System · ICDE 1997

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

type-safe links · 0.0
YearPublicationVenuePosition
2018 Using Metric Space Indexing for Complete and Efficient Record Linkage
Özgür Akgün, Alan Dearle, Graham N. C. Kirby, Peter Christen
PAKDD (3)3
2011 Autonomic management of client concurrency in a distributed storage service
abstract
A distributed autonomic system adapts its constituent components to a changing environment. This paper reports on the application of autonomic management to a distributed storage service. We developed a simple analytic model which suggested potential benefit from tuning the degree of concurrency used in data retrieval operations, to suit dynamic conditions. We then validated this experimentally by developing an autonomic manager to control the degree of concurrency. We compared the resulting data retrieval performance with non-autonomic versions, using various combinations of network capacity, membership churn and workload patterns. Overall, autonomic management yielded improved retrieval performance. It also produced a distinct but not significant increase in network usage relative to one non-autonomic configuration, and a significant reduction relative to another.
Markus Tauber, Graham N. C. Kirby, Alan Dearle
Integrated Network Management2
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.3
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
WICSA2
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 Management2
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.4
1999 Hyper-Programming in Java
Evangelos Zirintsis, Graham N. C. Kirby, Ronald Morrison
VLDB2
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.1
1997 Evolving Persistent Applications on Commercial Platforms
Graham N. C. Kirby, Ronald Morrison, David S. Munro
ADBIS1
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
ICDE1
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.5