The following bibliography lists papers authored or co-authored by Andrew. Citation statistics and other public information can be found through Andrew's google scholar profile.
An open architecture for event-based analytics
Springer, December 2016 PDF
Extending choreography with business contract constraints
International Journal of Cooperative Information Systems, Vol 14, Num 2&3
Business contracts play a central role in governing commercial interactions between organizations. It is increasingly recognized that business contract conditions need to be closely linked to internal and external business processes, both to reduce the risk of contract violations and to ensure compliance with legislative regimes. Recent research has proposed contract languages allowing the specification of obligations, permissions and prohibitions in business contracts. Business processes that cross-organizational boundaries can be specified in choreography and coordination languages but these do not provide appropriate abstractions for contract constraints. In this paper, we examine the transformation of contract constraints in a business contract language into expressions in a choreography language. An example cross-organizational process is presented, along with a specification of the process in a choreography language and a specification of a set of contract conditions for the process in a business contract language. The contract terms are then translated into choreography expressions that govern the process to ensure compliance. Subsequent discussion explores a number of business and technology issues related to the results. We conclude that cross-organizational business processes can be monitored and enforced according to business contract specifications through the transformation of a contract definition to constraints on process behavior.
Describing Open Distributed Systems: A Foundation
The Computer Journal, Vol 40, Num 8
In this paper we outline a semantic model for open distributed systems which provides a foundation for a corresponding architecture description language. This semantic model is based on architecture models reported in , with a number of refinements to support abstraction and composition. The model is specifically designed to describe open distributed systems independent of implementation details such as communication protocols and middleware systems. The modelling concepts in the semantic model are: object (a model of an entity), event (a unit of interaction between an object and its environment), event relationship (a specification of behaviour defining the relationships amongst a set of events), interface (an abstraction of an object’s interaction with its environment) and binding (a context for interaction between objects). The binding concept is particularly important because it can describe any kind of interaction in an open distributed system, ranging from remote procedure calls and multicast to more complex,enterprise interactions. Special attention is given to the problem of composition and abstraction of events and behaviour in the model. This is needed to reflect the reuse, evolution and interworking requirements of open distributed systems. Our approach allows for the effective modelling of asynchrony,concurrency and complex flows of information in open distributed systems.
An application-level implementation of causal timestamps and causal ordering
Distributed Systems Engineering
Maintenance of causality information in distributed systems has previously been implemented in the communications infrastructure with the focus on providing reliability and availability for distributed services. While this approach has a number of advantages, moving causality information up into the view and control of the application programmer is useful, and in some cases, preferable. In an experiment at the University of Queensland, libraries to support application-level maintenance of causality information have been implemented. The libraries allow the collection and use of causality information under programmer control, supplying a basis for making causal dependency information available for application management and troubleshooting. The libraries are also unique in supporting existing distributed systems based on the remote procedure call paradigm. This paper describes the underlying theory of causality, and the design and implementation of the libraries. An event reporting service example is used to motivate the approach, and a number of previously unresolved practical problems are addressed in the design process.
Describing and Supporting Complex Interactions in Distributed Systems
The University of Queensland, July 2001 PDF
The idea of building software that spans many computers has been a signiﬁcant driver for research since the earliest days of computing. Despite this past effort, there are still considerable resources being applied to the problems of building distributed software systems. This thesis proposes an alternative approach to building distributed systems that is both pragmatic and has a sound theoretical basis. The approach is driven by the following key assertions:
Given this context, this thesis describes Finesse, a system for describing and supporting the complex interactions of components in distributed applications. Finesse uses the notion of event relationships to describe the visible behaviour of components and how those behaviours are coordinated to satisfy the requirements of an application. There are three signiﬁcant aspects of Finesse, each of which makes a novel contribution to the body of research:
The system implies a mediated communication architecture, where a mediating component accepts events from components and distributes appropriate notiﬁcations to other components. This decoupling of components and the mediation semantics allow the necessary transformation of data and event correlation to support legacy applications. The event relationship semantics, however, also allow the mediator to be fully distributed and asynchronous. This asynchrony allows us to deal with high-latency, high-failure communication networks. The design of the programming language allows us to develop mediating ’components’ that can be nested within a higher level mediator, thus giving us the ability to build a ﬂexible library of abstractions for relationships between participating components.
The thesis includes a set of examples that demonstrate the approach and its strengths. Through the examples and the arguments expressed in the work, this thesis demonstrates the power and utility of the event relationship approach to building distributed systems.
An Event-Based Model to Support Distributed Real-Time Analytics: Finance Case Study
Enterprise Distributed Object Computing
IEEE, September 2015 PDF
Real-time analytics for legacy data streams in health: Monitoring health data quality
Enterprise Distributed Object Computing
Healthcare organizations are increasingly using information technology to ensure patient safety, increase effectiveness and improve efficiency of healthcare delivery. While the use of health information technology (HIT) has realized many improvements, it has also introduced new failure modes arising from data quality and IT system usability issues. This paper presents an approach towards addressing these failure modes by applying real-time analytics to existing streams of clinical messages exchanged by HIT systems. We use complex event processing provided by the EventSwarm software framework to monitor data quality in such systems through intercepting messages and applying rules reflecting the syndromic surveillance model proposed in . We believe this is the first work reporting on the real-time application of syndromic surveillance rules to legacy clinical data streams. Our design and implementation demonstrates the feasibility of this approach and highlights benefits obtained through improved operational quality of HIT systems, notably better patient safety, reduced risks in healthcare delivery and potentially reduced costs.
Open Distributed Coordination with Finesse
Proceedings SAC 1998
Coordination languages have recently been attracting significant attention as a means of programming parallel and distributed systems. The approach of separating coordination from computation is particularly attractive in distributed systems because there are a wide range of possible interaction, quality and reliability semantics that are either hidden or ignored by traditional infrastructures based on remote procedure call. Introducing an explicit, programmable model for the distributed infrastructure makes these semantics visible and tractable, without requiring substantial changes in distributed components. This paper presents Finesse, a language for describing the interaction of components in open distributed systems, and demonstrates its power through a number of examples.
A Distributed Asynchronous Execution Semantics for Programming the Middleware Machine
Proceedings ISADS 2001
IEEE, 2001 Abstract
Distributed software is traditionally built by connecting a set of software components using a communications abstraction. The interaction semantics provided by the abstraction is predominantly static: any programming of behavior occurs in the components or in local wrappers around those components. While autonomous behavior can be programmed over these abstractions, there is increasing awareness that static interaction models are not sufficient to capture the semantic diversity found in dynamic, evolving distributed systems. This paper presents an asynchronous, distributed and executable semantic model suitable for implementing programmable connector objects. Programs described using the semantic model can be jointly executed by a set of autonomous, distributed participants with no explicit synchronization of execution state. By removing the requirement for explicit synchronization, participants can execute independently with no requirement for centralized mediation, and the asynchrony of the model implicitly allows for potentially high latencies in distributed environments like the Internet. This combination of properties makes the model ideal for E-commerce applications.
A General Resource Discovery System for Open Distributed Processing
IEEE, 1995 PDF
The A1! Architecture Model
IEEE, 1995 PDF
An Improved Model for Transactional Operations in RM-ODP
Proc ICODP'93, 1993.
On the mapping of business contracts to executable choreography
Enterprise Distributed Object Computing
IEEE, September 2004 PDF
Open, Distributed Coordination with Finesse
ACM Symposium on Applied Computing
IEEE, 1998 PDF
Language Support for Distribution in CSCW Systems
ECSCW'97 Workshop on Object-Oriented Groupware Platforms
Orbit - Supporting social worlds Human-Computer Interaction
IEEE, July 1997
A Panacea for Distributed CSCW Infrastructure.
OzCHI'96 Workshop on the Next Generation of CSCW Systems
IEEE, 1996 PDF
A Type Model Supporting Interoperability in Open Distributed Systems.
Proc of TINA'95, 1995
An Introduction to Open Distributed Processing.
Proc of the ACS Queensland Branch Conference
ACS, Sep 1993