Overview

Data Oriented Architecture (DOA) is a software architecture pattern that creates data-driven, loosely coupled, decentralised, and open systems. DOA achieves these goals by exposing systems’ data as a first-class citizen to distributed, stateless, and asynchronous components. These design decisions enable DOA-based systems to achieve data availability, reusability, and monitoring, as well as adaptability, scalability, and autonomy. DOAgent is a Python library for building multi-agent systems where shared data is the primary interface between decentralised agents that cooperate in open environments. It follows three principles: data as a first-class citizen, decentralisation, and openness. These Part II, Part III, and MPhil projects use that library. Related group programme: Data-Oriented Architectures for AI-based Systems.

Links

Projects in this theme

Comparing Data-Oriented Architectures and Agentic Services Computing for Building Multi-Agent Systems

Supervisors: Christian Cabrera Jojoa, Neil D. Lawrence

Multi-agent systems are designed and architected using styles like microservices or serverless. Recent research proposes extending traditional service-oriented computing to agentic services computing. This extension transforms reusable functional endpoints into goal-oriented autonomous services that can be described, discovered, composed, operated, and governed. Services are interfaces that hide data, creating a data dichotomy: machine learning systems require data exposure for monitoring and adaptation, while services hide it behind interfaces. This dichotomy is one root cause of intellectual debt: systems work in practice, but their designers do not understand their inner workings. This project compares that service style with data-oriented architecture for building multi-agent systems. Data-oriented architecture treats data as a first-class citizen and advocates decentralised, open deployments. DOAgent is a library for building multi-agent systems in which agents coordinate through shared data and can be an starting point for the project.

Interpretable Multi-Agent Systems with DOAgent

Supervisors: Christian Cabrera Jojoa, Neil D. Lawrence

Multi-agent systems (MAS) and Self-Adaptive Systems (SAS) are used across robotics, resource management, and autonomous computing, yet understanding why agents make particular decisions remains an open challenge. When multiple agents interact through shared environments, the resulting behaviour is difficult to trace, attribute, and explain. DOAgent is a Python library that addresses this gap by treating shared data as the primary interface between agents, automatically recording decisions, state transitions, and contributions so that agent behaviour can be analysed after execution. This project proposes to reproduce an existing multi-agent or self-adaptive system from the literature using DOAgent, and then explore interpretability approaches on the recorded agent interactions.