Fig 2 - uploaded by Camilo Rocha
Content may be subject to copyright.
Approach for checking inductive stability and invariance properties for rewrite theories 

Approach for checking inductive stability and invariance properties for rewrite theories 

Source publication
Article
Full-text available
The InvA tool supports the deductive verification of safety properties of infinite-state concurrent systems. Given a concurrent system specified as a rewrite theory and a safety formula to be verified, InvA reduces such a formula to inductive properties of the underlying equational theory by means of the application of a few inference rules. Throug...

Context in source publication

Context 1
... approach for proving inductive stability and invariance properties in the InvA tool is depicted in Figure 2. ...

Similar publications

Preprint
Full-text available
This paper addresses the issue of specifying, simulating, and verifying reactive systems in rewriting logic. It presents an executable semantics for probabilistic, timed, and spatial concurrent constraint programming ---here called stochastic and spatial concurrent constraint systems (SSCC)--- in the rewriting logic semantic framework. The approach...
Article
Full-text available
The Orc calculus is a simple, yet powerful theory of concurrent computations with great versatility and practical applicability to a very wide range of applications, as it has been amply demonstrated by the Orc language, which extends the Orc calculus with powerful programming constructs that can be desugared into the underlying formal calculus. Th...
Conference Paper
Full-text available
Petri nets and their numerous extensions (or subclasses) are one of the popular traditional formalisms for the specification and verification of concurrent systems. Furthermore, due to the expressivity of rewriting logic, Maude and its associated analysis tools have been adopted in many recent works for executing and analyzing Petri nets. In this p...
Conference Paper
This paper presents a novel process for formalizing UCM notation as an executable formal specification described in the Maude language Strategy, a recent extension of Maude. The main motivation of our work is essentially to provide a sound and rigorous description of complex systems described by UCM, which can help analysts, designers and developer...

Citations

... The work on verification of inductive invariants in Section 6.3 is closely related to the work on deductive verification of safety properties of rewrite theories in [83,85,84]. They both share the idea of using one-step narrowing to verify inductive invariants, but Section 6.3 revisits this topic in the new setting of constrained narrowing and state properties specified by means of pattern predicates. ...
Article
A new notion of generalized rewrite theory suitable for symbolic reasoning and generalizing the standard notion in [19] is motivated and defined. Also, new requirements for symbolic executability of generalized rewrite theories that extend those in [33] for standard rewrite theories, including a generalized notion of coherence, are given. Symbolic executability, including coherence, is both ensured and made available for a wide class of such theories by automatable theory transformations. Using these foundations, several symbolic reasoning methods using generalized rewrite theories are studied, including: (i) symbolic description of sets of terms by pattern predicates; (ii) reasoning about universal reachability properties by generalized rewriting; (iii) reasoning about existential reachability properties by constrained narrowing; and (iv) symbolic verification of safety properties such as invariants and stability properties.
Chapter
Formal patterns are formally specified generic solutions to commonly occurring computational problems. A formal pattern applies to a typically infinite class of systems that satisfy specified semantic requirements. Application of a formal pattern to a system satisfying the formal pattern’s input requirements results in a new system with new functionality that is correct by construction and enjoys specific formal properties. This paper explains the semantics of formal patterns and illustrates their usefulness from the software engineering, programming methodology, and formal methods perspectives by means of specific formal patterns in several application areas.
Chapter
Cloud computing systems are complex distributed systems whose design is challenging for two main reasons: (1) since they are distributed systems, a correct design is very hard to achieve by testing alone; and (2) cloud computing applications have high availability and performance requirements; but these are hard to measure before implementation and hard to compare between different implementations. This paper summarizes our experience in using formal specification in Maude and model checking analysis to quickly explore the design space of a cloud computing system to achieve a high quality design that: (1) has verified correctness guarantees; (2) has better performance properties than other design alternatives so explored; (3) can be achieved before an actual implementation; and (4) can be used for both rapid prototyping and for automatic code generation.
Chapter
Rewriting logic is both a logical framework where many logics can be naturally represented, and a semantic framework where many computational systems and programming languages, including concurrent ones, can be both specified and executed. Maude is a declarative specification and programming language based on rewriting logic. For reasoning about the logics and systems represented in the rewriting logic framework symbolic methods are of great importance. This paper discusses various symbolic methods that address crucial reasoning needs in rewriting logic, how they are supported by Maude and other symbolic engines, and various applications that these methods and engines make possible. Because of the generality of rewriting logic, these methods are widely applicable: they can be used in many areas and can provide useful reasoning components for other reasoning engines.