Department of Computer Science and Technology

Technical reports

SBUS: a generic policy-enforcing middleware for open pervasive systems

Jatinder Singh, Jean Bacon

February 2014, 20 pages

DOI: 10.48456/tr-847


Currently, application components tend to be bespoke and closed, running in vertical silos (single applications/systems). To realise the potential of pervasive systems, and emerging distributed systems more generally, it must be possible to use components system-wide, perhaps in ways and for purposes not envisaged by their designers. It follows that while the infrastructure and resources underlying applications still require management, so too do the applications themselves, in terms of how and when they (inter)operate. To achieve such context-dependent, personalised operation we believe that the application logic embodied in components should be separated from the policy that coordinates them, specifying where and how they should be used.

SBUS is an open, decentralised, application-independent policy-enforcing middleware, developed towards this aim. To enable the flexible and complex interactions required by pervasive systems, it supports a wide range of interaction patterns, including event driven operation, request-response, and data (message) streaming, and features a flexible security model. Crucially, SBUS is dynamically reconfigurable, allowing components to be managed from outside application logic, by authorised third-parties. This paves the way for policy-driven systems, where policy can operate across infrastructure and applications to realise both traditional and new functionality.

This report details the SBUS middleware and the role of policy enforcement in enabling pervasive, distributed systems.

Full text

PDF (1.9 MB)

BibTeX record

  author =	 {Singh, Jatinder and Bacon, Jean},
  title = 	 {{SBUS: a generic policy-enforcing middleware for open
         	   pervasive systems}},
  year = 	 2014,
  month = 	 feb,
  url = 	 {},
  institution =  {University of Cambridge, Computer Laboratory},
  doi = 	 {10.48456/tr-847},
  number = 	 {UCAM-CL-TR-847}