Observer Patterns for Timed Properties

Observer Patterns for Timed Properties

Djamila Baroudi, Safia Nait-Bahloul
Copyright: © 2021 |Pages: 17
DOI: 10.4018/IJSI.2021040101
OnDemand:
(Individual Articles)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

Dwyer et al. proposed qualitative specification patterns that enable the practitioners of model checking tools to write formal specifications mainly used for automatic model checking. Although this involves formalisms that are not always easy to handle by engineers, to facilitate the integration of formal methods based on these definition patterns in the industrial field, several formal techniques and languages have been proposed. This paper studies a domain specific language named CDL which help non-experts writing formal specifications effortlessly. In CDL, a property is transformed into an observer automaton to perform a reachability analysis. The existing CDL patterns allow non-experts to reason about occurrence and order of events, but not enough about their timing. Furthermore, the semantics of patterns and transformations are not ideally formalized and are still complex. This work serves to extend the existing CDL system by patterns related to time. The contribution is illustrated in an industrial embedded system.
Article Preview
Top

Introduction

Verifying complex and real-time systems is a major challenge, especially in the industrial field. In this context, it is important to ensure behavioral compliance between the developed system and the requirements. In the past few decades, various formal methods (ex: model checking (Moon, Powers, Burch, & Clarke, 1992)) and property languages have been proposed as a rigorous and robust solution to help designers create flawless systems. Model-checking is a formal approach to software behavioral compliance checking. In this approach, the requirements are specified as properties in formalisms such as Linear temporal logic (LTL) (Pnueli, 1977) (Halbwachs N. a., 1994) or Computation Tree Logic (CTL) (Emerson & Sistla, 1984). Although these techniques and languages are notably expressive and allow for rigorous expressions, many of them involve formalisms that might be extremely intricate to be broadly adopted by industry engineers in their verification activities.

Another method, for the expression of requirements popularized by the LUSTRE language, is based on the notion of observer (Halbwachs N. a., 1994; Halbwachs, Lagnier, & Raymond, 1994). The testing process based on a parallel composition of the observer and the tested system consists of performing reachability analysis in the composed system. The expression of properties to be checked is more manageable in the form of an observer. However, writing such an automaton can nevertheless prove to be complex when the property itself is complex. Many authors have reported this finding, and some of them (Konrad & Cheng, 2005; Smith, Avrunin, Clarke, & Osterweil, 2002) have suggested formulating properties using the concept of “Definition Patterns” originally introduced by (Dwyer, Avrunin, & Corbett, 1999). They proposed a property specification language based on the composition of predefined patterns and scopes. A pattern expresses a temporal property on execution, seen as sequences of state/event. Each pattern can be associated with a scope that defines the parts of executions on which the pattern must hold. Yet, many authors revealed how painful it is for non-experts to express properties using (Dwyer, Avrunin, & Corbett, 1998) definition patterns. To handle this problem, Dhaussy et al. (Dhaussy, Auvray, De Belloy, Boniol, & Landel, 2008) define a specification language named CDL that gathers the main concepts proposed by (Konrad & Cheng, 2005; Smith, Avrunin, Clarke, & Osterweil, 2002; Dwyer, Avrunin, & Corbett, 1999) and allows the expression of properties (safety, invariance or liveness) more easily. Moreover, they implement an Observer-Based Prover (OBP) tooling that transforms properties into non-intrusive observer automata with reject states. The property verification process consists of a reachability analysis on the exploration graph rising from the composition of the tested model and the observer. If one of the reject states is reached, that means that the checked property is not valid.

This work shows that the CDL language can be easily extended to express further properties (1) by adding new variants of patterns (scopes and options). It proposes to adopt an observer automata-based semantics (2) that is well-suited to verify properties using OBP or other model-checking tools.

This paper is structured as follows. Section 2, provides a short introduction to the original property specification patterns system proposed by Dwyer et al. and evokes the specification language CDL suggested by (Dhaussy, Auvray, De Belloy, Boniol, & Landel, 2008). Section 3 provides an overview of the observers' automata. Section 4 presents the proposed extended CDL patterns, scopes and options. Section 5 shows the expressiveness of the extended CDL patterns compared to the original one. Section 6 highlights remarkable related works. Finally, Section 7 concludes and supplies a perspective of future works.

Complete Article List

Search this Journal:
Reset
Volume 12: 1 Issue (2024)
Volume 11: 1 Issue (2023)
Volume 10: 4 Issues (2022): 2 Released, 2 Forthcoming
Volume 9: 4 Issues (2021)
Volume 8: 4 Issues (2020)
Volume 7: 4 Issues (2019)
Volume 6: 4 Issues (2018)
Volume 5: 4 Issues (2017)
Volume 4: 4 Issues (2016)
Volume 3: 4 Issues (2015)
Volume 2: 4 Issues (2014)
Volume 1: 4 Issues (2013)
View Complete Journal Contents Listing