Research—Andrew Berry

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.

Journal Papers

Weisi Chen, Zoran Milosevic, Fethi A. Rabhi, Andrew Berry

Real-Time Analytics - Concepts, Architectures, and ML/AI Considerations

IEEE, August 2023 PDF

Zoran Milosevic, Weisi Chen, Andrew Berry, Fethi A. Rabhi

An open architecture for event-based analytics

Springer, December 2016 PDF

Andrew Berry, Zoran Milosevic

Extending choreography with business contract constraints

International Journal of Cooperative Information Systems, Vol 14, Num 2&3

World Scientific, June & September 2005 PDF Abstract

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.

Andry Rakotonirainy, Andrew Berry, Stephen Crawley, Zoran Milosevic

Describing Open Distributed Systems: A Foundation

The Computer Journal, Vol 40, Num 8

British Computer Society, 1997 PDF Abstract

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 [2][5], 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.

Andrew Berry

An application-level implementation of causal timestamps and causal ordering

Distributed Systems Engineering

IOP Publishing, June 1995 PDF Abstract

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.

PhD Thesis

Andrew Berry

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 significant 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:

  1. The construction of software systems has become an evolutionary rather than revolutionary process. New software must extend or incorporate old software.
  2. Distributed applications must often coordinate the activities of multiple participants with varying relationships. Static abstractions like client-server are too primitive and inflexible to describe such relationships.
  3. Communication networks cannot consistently deliver high-bandwidth, low-latency, low-failure communications. Distributed software must be able to deal with the degradation or loss of communication.

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 significant aspects of Finesse, each of which makes a novel contribution to the body of research:

  1. A semantic model that provides the theoretical basis for event relationships.
  2. A programming language for describing component interfaces and the relationships between events occurring on those interfaces.
  3. A distributed runtime engine that manages and mediates communication between components to implement distributed programs described using the Finesse programming language.

The system implies a mediated communication architecture, where a mediating component accepts events from components and distributes appropriate notifications 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 flexible 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.

Conference Papers

Zoran Milosevic, Andrew Berry, Weisi Chen, Fethi A. Rabhi

An Event-Based Model to Support Distributed Real-Time Analytics: Finance Case Study

Enterprise Distributed Object Computing

IEEE, September 2015 PDF

Andrew Berry, Zoran Milosevic

Real-time analytics for legacy data streams in health: Monitoring health data quality

Enterprise Distributed Object Computing

IEEE, September 2013 PDF Abstract

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 [4]. 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.

Andrew Berry, Simon Kaplan

Open Distributed Coordination with Finesse

Proceedings SAC 1998

IEEE, September 2013 PDF Abstract

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.

Andrew Berry, Simon Kaplan

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.

Andrew Berry, Qinzheng Kong

A General Resource Discovery System for Open Distributed Processing

Proc ICODP'95

IEEE, 1995 PDF

Andrew Berry, Kerry Raymond

The A1! Architecture Model

Proc ICODP'95

IEEE, 1995 PDF

Andrew Berry, Kerry Raymond

An Improved Model for Transactional Operations in RM-ODP

Proc ICODP'93, 1993.

IEEE, 1993

Workshop Papers

Andrew Berry, Zoran Milosevic

On the mapping of business contracts to executable choreography

Enterprise Distributed Object Computing

IEEE, September 2004 PDF

Andrew Berry, Simon Kaplan

Open, Distributed Coordination with Finesse

ACM Symposium on Applied Computing

IEEE, 1998 PDF

Andrew Berry, Simon Kaplan

Language Support for Distribution in CSCW Systems

ECSCW'97 Workshop on Object-Oriented Groupware Platforms


T Mansfield, S Kaplan, T Phelps, M Fitzpatrick, W Qiu, R Taylor, G Fitzpatrick, A Berry

Orbit - Supporting social worlds Human-Computer Interaction


IEEE, July 1997

Andrew Berry

A Panacea for Distributed CSCW Infrastructure.

OzCHI'96 Workshop on the Next Generation of CSCW Systems

IEEE, 1996 PDF

W Brookes, J Indulska, A Berry, K Raymond, A Bond

A Type Model Supporting Interoperability in Open Distributed Systems.

Proc of TINA'95, 1995

Sep 1995

A Beitz, A Berry, A Lister, K Raymond

An Introduction to Open Distributed Processing.

Proc of the ACS Queensland Branch Conference

ACS, Sep 1993