Skip to Main Content
Sufficient test coverage for Software Agents that operate in an open and dynamic environment is unlikely to be achieved during the agents' development. Especially when agents exhibit self properties and are constantly adapting to changes in their environment it is important to limit their autonomy to ensure that their behaviour lies within safe boundaries. To increase the trust in the agents, once they are released, we propose to continuously validate/enforce safety properties during their execution. This approach is known as run-time verification and is achieved by inserting assertion points in the agents' codes. The safety properties are expressed as dynamic policies, that can change depending on time or events. The paper shows the flexibility and expressiveness of our policy language to describe temporal constraints on the agents' behaviours. Three conceptually different levels of constraints are investigated. Mechanisms that allow to detect (and possibly recover from) unsafe behaviour are evaluated using a simulated road-network as a case-study.