Rule-based peer-to-peer framework for decentralised real-time service oriented architectures
Modularity has been a key issue in the design and development of modern embedded Real-Time Software Systems (RTS) where modularity enables flexibility with respect to changes in platform, environment, and requirements, as well as reuse. In distributed RTS, similar ideas have led to the adoption of Commercial Off-The-Shelf (COTS) components integrated via Service-Oriented Architecture (SOA) principles and technologies that are already well-established in business-oriented information systems. However, current SOA technologies for orchestration, such as Enterprise Service Busses, do not meet strict time-dependent constraints on scalability and latency required by RTS. We present a novel approach to RTS development where the orchestration of real-time processes is decentralised among the services within a fully distributed rule-driven process framework. Our framework wraps around COTS components implementing individual processing steps in a decentralised real-time process. Our execution model incorporates real-time constraints and is configurable through message routing policies distributed as a knowledge base containing rule sets, and therefore dispenses with the need for a central orchestration component which could easily become a bottleneck. Deterministic behaviour can be achieved through the validation of the rule-sets and the use of Modular Performance Analysis (MPA). We analyse the performance of our architecture using the Real-Time Calculus and show by empirical evaluation that our method scales to a typical real-time process application found in a tactical naval combat system context.
service-oriented architectures deterministic real-time calculus rule based decentralised process execution real-time systems