Model Checking Families of Real Time Specifications using Annotations and Configuration Tables

To guide the model checking process of many variations of similar specifications of Real Time behaviour, using an intermediate set of configuration tables to guide the set of variants.

Model checking [MCF-AC1, MCF-AC2, MCF-AC3] is a method to verify if a model of the system under verification satisfies its requirements. In complex models verification becomes infeasible due to the large state space, requiring many small variations of the model, one for each set of related requirements. Typically, these variations are built independently, intersecting efforts, and not guaranteeing that they are kept consistent.

This method explores how to define this set of variations and respective requirements based on a single configurable model, leveraging on principles from software product line engineering (SPLE) [MCF-AC4], which are here applied to formal specifications rather than software specifications. It focuses on the UPPAAL real-time model checker [MCF-AC5], and proceeds in two phases: (1) annotation of the specifications, and (2) automatic configuration of these annotated blocks via a product line of specifications.

 

  1. Annotated Specifications

In many cases, the relation between the abstract model and the implementation is maintained via personal meetings and reports using natural languages. Automatizing this synchronisation involves a large effort and is in many cases impractical (e.g., learning abstract models by running concrete systems [MCF-AC6]). Our approach involves using a set of tables in Microsoft Excel to maintain the key parameters of the formal models, including scenarios and requirements of the system. This set of tables is easy to be read and modified by both developers of the system and by developers of the formal models and is automatically entangled with the models used by the formal analysis tools. On one hand, the system developers can update this table and check which requirements can be verified; on the other hand, the designers of the formal models can adapt the model to either include new details, or to relax aspects that introduce state explosions. By using an intermediate representation of the core parameters of the formal specifications, we reduce the expected knowledge of the system developers over formal models. This includes ranges of estimated time executions of individual components, the number of times certain actions may occur, and sequences of input scenarios. Experts in formal modelling are kept in the loop to refine the models and property specifications as needed.

  1. Product Line of Specifications

A common approach to avoid exploring too many states while trying to verify a property is to bound the state space. Some tools support bounded model checking, limiting the depth of search in the state space. Our approach supports the specification of variants, where the state-space can be reduced by modifying different parameters of the specification. For example, 2 variants could remove 2 independent parts of the specification, allowing the verification of properties for these two variants instead of the full model. Ultimately, the goal is to verify a large-enough set of variants to cover the relevant cases without incurring in state-space explosions.  

The method workflow is described in Figure 2.4. The informal behavioural description, different parameters, input scenarios, and requirements are provided as input. These are used to manually build: (1) an initial global and annotated real-time specification, and (2) a collection of Excel tables with information on how to populate the annotated blocks of the specifications and with the set of requirements. Our own tool (Uppex) is then used to automatically apply the configurations in the Excel tables to the annotated specifications, producing a set of specification instances. These are also automatically analysed via UPPAAL, with a provided time-out, and a report is produced over which requirements hold in which configuration. The instances can also be manually inspected within UPPAAL, leading to a manual refinement of the annotated specifications and the Excel tables, until all desired requirements are met for a rich enough set of configurations. Early results have been accepted in the proceedings of the conference RSSRail 2022 [MCF-AC-7].

MCF-4.png

More automation - making model checkers easier to use for non-experts who only need to modify a configuration table

In addition to the limitations inherited from “Model Checking Families of Real Time Specifications”, this improved method addresses the complexity of the models and the effectiveness to prove properties, with the following remaining limitations:

  • Each requirement can be proven to hold in specific variations of the model, but it is difficult to quantify how complete are these variations w.r.t. the most complete model.
  • Finding the set of variations that can satisfy a given requirement without timing out is sometimes difficult.

[MCF-AC1] Edmund M. Clarke, Orna Grumberg, Doron A. Peled: Model checking. MIT Press 1999, ISBN 978-0-262-03270-4

[MCF-AC2] Christel Baier, Joost-Pieter Katoen: Principles of model checking. MIT Press 2008, ISBN 978-0-262-02649-9, pp. I-XVII, 1-975

[MCF-AC3] Edmund M. Clarke, Thomas A. Henzinger, Helmut Veith, Roderick Bloem: Handbook of Model Checking. Springer 2018, ISBN 978-3-319-10574-1

[MCF-AC4] Apel, S., Batory, D., Kästner, C., Saake, G.: Feature-Oriented Software Product Lines: Concepts and Implementation. Springer (2013).

[MCF-AC5] Gerd Behrmann, Alexandre David, and Kim G. Larsen: A Tutorial on UPPAAL. LNCS 3185, pp 200-236. Springer-Verlag (2004).

[MCF-AC6] Falk Howar and Bernhard Steffen: Active Automata Learning in Practice, LNCS 11026, Springer-Verlag, DOI: 10.1007/978-3-319-96562-8_5 (2018).

[MCF-AC7] José Proença, Sina Borrami, Jorge Sanchez de Nova, David Pereira and Giann Nandi : Verification of multiple models of a safety-critical motor controller in railway systems, in the proceedings of RSSRail2022, to appear (2022)

Method Dimensions
In-the-lab environment
Analytical - Formal
Model, Software
Other
Thinking, Acting, Sensing
Non-Functional - Safety, Functional
V&V process criteria, SCP criteria
Relations
Contents

There are currently no items in this folder.