Home · Projects · PolicyUpdater arinola.net


PolicyUpdater is a logic-based authorisation system that provides a dynamic access control mechanism for conditional policy updating as well as query evaluation. The system uses a first-order authorisation language Language L, to represent the policy base. Query evaluation works by translating Language L into a Normal Logic Program, which is suitable for evaluation using the Stable Model Semantics. Queries can then be tested against the resulting stable models.

PolicyUpdater uses Smodels, an application and library package that computes the stable models of Normal Logic Programs. PolicyUpdater is written in C++, with a wrapper library for C applications. The core system is a library (libvlad) designed to provide a mechanism for defining, updating and querying the policy base. Included in the package is the vlad application, which features a parser for translating Language L into a Normal Logic Program.

The mod_vlad module is an application of PolicyUpdater implemented as an external module for the Apache web server. The mod_vlad module provides a logic-based authorisation system as an alternative to the access control system provided by Apache's internal mod_access module.

PolicyUpdater 2 is an extension with support for authorisations with temporal attributes. The corresponding extended language, Language LT, allows expression of temporal constraints within authorisation rules by the integration of the well-known temporal interval algebra. PolicyUpdater 2 makes use of the Tribe temporal reasoner library to evaluate relations between the temporal intervals.


Please note that the copyright for the following papers may belong to the publisher of the publication. Further note that these papers may not exactly correspond to their respective referenced versions.

Source Code

All source code available for download from this page are released under the terms of the GNU General Public License (GPL). Copyright is retained by University of Western Sydney.

Link to GitHub project page: https://github.com/vfcrescini/vlad.

Copyright © 2007 - 2013 VF Crescini accessed 1342899 times