Decentralised Rule-Based Peer-to-Peer Framework for Real-Time SOA Systems

The emergence of collaborative information systems has seen a movement away from systems thinking involving simple, orderly and static categorisation of things. Indeed, it is inconceivable that future information systems will be designed as monolithic units that are unable to take advantage of network-based collaboration. Thus, if we consider the future is tending towards decentralised, procedural-based operations between such information nodes that can form new or emergent functional capability, we gain an insight into the concept of building Systems of Systems (SoS). Two major difficulties arise with the application of such architectures to real-time systems, the first being how to achieve interoperability between the nodes and the other relates to the verification and validation of the process model.

Service Orientation is considered the key technology in enabling interoperability in an SoS architecture. However, the success of Service Oriented Architecture (SOA) in real-time mission-critical systems has been restricted to environments that are strongly regulated and centralised. As real-time systems fail as a whole when any component within them fails, the engineering methodology tends towards the design of what we consider to be monolithic type systems. This is a consequence of the non-deterministic nature of networks. Thus we have a fundamental mismatch between the requirements of real-time systems and the limiting behaviour of networks. In a tactical military environment this problem is exacerbated due to the predominance of ‘disadvantaged networks’. These networks are characterised by poor availability and limited bandwidth. We are therefore faced with some significant issues related to interoperability, limited bandwidth, and verifiable and deterministic behaviour when seeking to design decentralised real-time systems.

We approach the problems in two fundamental ways. We first show that using web services and a task-based model, shown in Figure 1, it is possible to implement a logical synchronisation protocol, rather than the time-synchronised protocols usually used in real-time systems. Logical synchronisation is identical in purpose to time-synchronisation insofar as to ensure the separation and semantic correctness of received messages. In our task-based model, the web service is embedded in a container that transforms the service into a process aware task that can achieve independent and logically correct behaviour. It also removes the need to pass execution information (normally SOAP based XML messages) to the nodes which has, to-date, been considered a major inhibitor to the adoption of SOA in tactical environments.

Figure 1: A conceptual representation of a Decentralised Real-Time Task Node supporting an SOA-based architecture. It comprises a service that is an atomic unit of work that is not process aware within a Process Gateway Container that supplies the rules allowing it to contribute to a process.

Secondly we consider the verification aspects of the task and process model through the use of a process oriented knowledge-base coupled with an execution model based on the use of arrival curves (which isolates the network behaviour) and Real-Time Calculus (RTC). Thus, with a verifiable execution model and an appropriate scheduling strategy, the deterministic behaviour of recurring real-time messages is achievable.

Finally decentralisation of control can be achieved by applying process oriented guard rules at each task that controls the flow of messages between the tasks, as shown in Figure 2. As these rules can be dynamically updated, as shown in Figure 3, the task can contribute to a hierarchy of processes. Such a capability is essential when considering higher level behaviours needed to correctly and reliably address synchronisation/replication between systems that are both scalable and fault-tolerant.

Figure 2: A process is defined by the guard rules. Messages are only able to pass between tasks if the evaluation of the guard rule allows the task to publish the results of its calculation onto a channel.

Figure 2: A process is defined by the guard rules. Messages are only able to pass between tasks if the evaluation of the guard rule allows the task to publish the results of its calculation onto a channel.

Figure 3: The structure of the knowledgebase. The process drives the dynamic behaviour of the tasks as there is no static connection between the nodes.

Figure 3: The structure of the knowledgebase. The process drives the dynamic behaviour of the tasks as there is no static connection between the nodes.

Related Publications

2014

  • A. Cameron, M. Stumptner, N. Nandagopal, W. Mayer, and T. Mansell, “Rule-Based Peer-to-Peer Framework for Decentralised Real-Time Service Oriented Architectures,” Science of Computer Programming, 2014.
    [Bibtex]
    @Article{soap/CameronSNMM14,
      author =       {Alexander Cameron and Markus Stumptner and Nanda Nandagopal and Wolfgang Mayer and Todd Mansell},
      title =        {Rule-Based Peer-to-Peer Framework for Decentralised Real-Time Service Oriented Architectures},
      journal =      {Science of Computer Programming},
      year =         2014,
      publisher =    {Elsevier},
      note =         {Forthcoming},
    }

2013

  • A. Cameron, M. Stumptner, N. Nandagopal, W. Mayer, and T. Mansell, “A Rule-based Platform for Distributed Real-Time SOA with Application in Defence Systems,” in Proc. Military Communications and information systems Conference (MILCIS), Canberra, Australia, 2013.
    [Bibtex]
    @InProceedings{milcis/CameronSNMM13,
      author =       {Alexander Cameron and Markus Stumptner and Nanda Nandagopal and Wolfgang Mayer and Todd Mansell},
      title =        {A Rule-based Platform for Distributed Real-Time SOA with Application in Defence Systems},
      booktitle =    {Proc. Military Communications and information systems Conference (MILCIS)},
      year =         2013,
      address =      {Canberra, Australia},
      month =        nov,
      note =         {Forthcoming.},
    }
  • A. Cameron, M. Stumptner, W. Mayer, and N. Nandagopal, “Performance Analysis of a Rule-Based SOA Component for Real-Time Applications. ,” in Service-Oriented Architectures and Programming, 28th Annual ACM Symposium on Applied Computing (SAC), Track on Service-Oriented Architectures and Programming, Coimbra, Portugal, 2013.
    [Bibtex]
    @InProceedings{acm-sac/CameronNMS13,
      author =       {Alexander Cameron and Markus Stumptner and Wolfgang Mayer and Nanda Nandagopal},
      title =        {Performance Analysis of a Rule-Based SOA Component for Real-Time Applications. },
      booktitle =    {Service-Oriented Architectures and Programming, 28th Annual ACM Symposium on Applied Computing (SAC), Track on Service-Oriented Architectures and Programming},
      address =      {Coimbra, Portugal},
      month =        mar,
      year =         2013,
      organization = {ACM},
    }