Property preserving abstractions for the verification of concurrent systems (original) (raw)
Related papers
An action-based framework for veryfying logical and behavioural properties of concurrent systems
Computer Networks and ISDN Systems, 1993
A system is described which supports proofs of both behavioural and logical properties of concurrent systems; these are specified by means of a process algebra and its associated logics. The logic is an action based version of the branching time logic CTL which we call ACTL; it is interpreted over transition labelled structures while CTL is interpreted over state labelled ones. The core of the system are two existing tools, AUTO and EMC. The f'wst builds the labelled transition system corresponding to a term of a process algebra and permits proof of equivalence and simplification of terms, while the second chocks validity of CTL logical formulae. The integration is realized by memos of two translation functions from the action based branching time logic ACTL to CTL and from transition-labelled to state-labelled structures. The correctness of the integration is guaranteed by the proof that the two functions when coupled preserve satisfiability of logical formulae.
Verification of Temporal Properties of Concurrent Systems
DAIMI Report Series, 1993
This thesis is concerned with the verification of concurrent systems modelled by process algebras. It provides methods and techniques for reasoning about temporal properties as described by assertions from an expressive modal logic -- the modal µ-calculus. It describes a compositional approach to model checking, efficient local and global algorithms for model checking finite-state systems, a general local fixed-point finding algorithm, a proof system for model checking infinite-state systems, a categorical completeness result for an intuitionistic version of the modal µ-calculus, and finally it shows some novel applications of the logic for expressing behavioural relations.
Assume-Guarantee Verification of Concurrent Systems
2009
Process algebras are a set of mathematically rigourous languages with well defined semantics that permit modelling behaviour of concurrent and communicating systems. Verification of concurrent systems within the process algebraic approach can be performed by checking that processes enjoy properties described by some temporal logic’s formulae. In this paper we present a formal framework that permits verifying properties of concurrent and communicating systems by using an assumption-guarantee approach. Each system component is not considered in isolation, but in conjunction with assumptions about the context of the component. In the paper we introduce a sound and complete proof system that permits verifying whether a process, when it is executed in an environment for which we provide some assumptions, satisfies a given formula. It is also ensured that property satisfaction is preserved whenever the context is partially instantiated (implemented) as a concrete process that verifies the assumptions we have for the environment.
State abstraction techniques for the verification of reactive circuits
Several techniques for formal verification of synchronous cir-cuits depend on the computation of the reachable state space (RSS) of the circuit. Computing the exact RSS may be prohibitively expensive. In order to simplify the computation, the exact RSS can be replaced by an over-approximation of it, called the ORSS. The resulting verification computation will be conservative, and the larger the ORSS, the more conservative the approximation. A common technique for computing the ORSS is to replace some of its state variables by inputs. In this paper, we present a new approach based on variable abstraction using a three-valued logic. We also present a way to reduce the over-approximation by using structural information given by compilers of high-level languages like Esterel, ECL or SyncCharts. A real example of an avionic system is used to show the improvements that variable abstraction can bring.
Algebraic Specification of Concurrent Systems
Algebraic Foundations of Systems Specification, 1999
This article presents an extension of the formalism of algebraic specifications to the specification of concurrent systems. The key concept is that of process specifications, which have two hierarchical layers: processes and data. Processes apply to data via an application operator, eventually yielding a set of data as a result. Syntax and semantics of process specifications are presented, with emphasis on methodological issues (how to write hierarchically consistent and complete specifications). A suitable notion of observational congruence is introduced and characterized. A notion of implementation is denned, and a general method for proving correction is considered, based on the notion of serializability proof. A primitive for putting specifications together, in parellel, is analyzed. Finally, richer primitives for building basic specifications are discussed. Our proposal is illustrated via several examples inciuding the one of the systematic, stepwise development of a complex specification. * Partially supported by the Esprit 432 METEOR project.
On Concurrent Realization of Reactive Systems and Their Morphisms
Lecture Notes in Computer Science, 2001
The paper introduces the notion of concurrent realization of reactive systems. A framework is also presented in which labelled safe Petri nets as concurrent realizations of concrete asynchronous systems are constructed. The construction is uniform in the sense that it extends to a realization of an arbitrary diagram. We discuss applicability of the framework to construct maximally concurrent realizations of reactive systems.
Logic Based Abstractions of Real-Time Systems
2000
When verifying concurrent systems described by transition systems, state explosion is one of the most serious problems. If quantitative temporal information (expressed by clock ticks) is considered, state explosion is even more serious. We present a notion of abstraction of transition systems, where the abstraction is driven by the formulae of a quantitative temporal logic, called qu-mu-calculus, defined in the paper. The abstraction is based on a notion of bisimulation equivalence, called ρ, n -equivalence, where ρ is a set of actions and n is a natural number. It is proved that two transition systems are ρ, n -equivalent iff they give the same truth value to all qu-mu-calculus formulae such that the actions occurring in the modal operators are contained in ρ, and with time constraints whose values are less than or equal to n. We present a non-standard (abstract) semantics for a timed process algebra able to produce reduced transition systems for checking formulae. The abstract semantics, parametric with respect to a set ρ of actions and a natural number n, produces a reduced transition system ρ, nequivalent to the standard one. A transformational method is also defined, by means of which it is possible to syntactically transform a program into a smaller one, still preserving ρ, n -equivalence.
On Modularity in Reactive Control Architectures, with an Application to Formal Verification
ACM Transactions on Cyber-Physical Systems, 2022
Modularity is a central principle throughout the design process for cyber-physical systems. Modularity reduces complexity and increases reuse of behavior. In this article we pose and answer the following question: how can we identify independent “modules” within the structure of reactive control architectures? To this end, we propose a graph-structured control architecture we call a decision structure and show how it generalizes some reactive control architectures that are popular in Artificial Intelligence (AI) and robotics, specifically Teleo-Reactive programs (TRs), Decision Trees (DTs), Behavior Trees (BTs), and Generalised Behavior Trees ( k -BTs). Inspired by the definition of a module in graph theory [ 16 ] we define modules in decision structures and show how each decision structure possesses a canonical decomposition into its modules, which can be found in polynomial time. We establish intuitive connections between our proposed modularity and modularity in structured progra...
Verification of temporal properties in concurrent systems
2003
Rapid growth of distributed systems stimulates many attempts to describe precisely the behavior of concurrent systems. The target of the research is to model complex systems, to automatically generate an executable code from abstract models, and to check the correctness of concurrent systems. In this thesis, a new concept of concurrent system verification is presented. The idea is based on building a new version of CTL temporal logic (QsCTL) over reachability graphs of systems defined by concurrent automata CSM. The proposed method is addressed to verify control-dominated systems. Many questions on concurrent system behavior may be asked easier in QsCTL than in traditional CTL. An original algorithm CBS (Checking By Spheres) for automatic evaluation of temporal formulas in this logic is presented. Another algorithm of state space reduction is designed. The presented ideas are implemented in TempoRG program, the element of the COSMA environment developed in ICS, WUT. The purpose of COSMA is to integrate formal verification methodology with concurrent systems design environment. The formulated theoretical concepts are illustrated with several examples concerning verification processes including quite complex industrial system.