47,611 research outputs found
Automatic verification of any number of concurrent, communicating processes
The automatic verification of concurrent systems by model-checking is limited due to the inability to generalise results to systems consisting of any number of processes. We use abstraction to prove general results, by model-checking, about feature interaction analysis of a telecommunications service involving any number of processes. The key idea is to model-check a system of constant number (m) of concurrent processes, in parallel with an "abstract" process which represents the product of any number of other processes. The system, for any specified set of selected features, is generated automatically using Perl scripts
Adaptable processes
We propose the concept of adaptable processes as a way of overcoming the
limitations that process calculi have for describing patterns of dynamic
process evolution. Such patterns rely on direct ways of controlling the
behavior and location of running processes, and so they are at the heart of the
adaptation capabilities present in many modern concurrent systems. Adaptable
processes have a location and are sensible to actions of dynamic update at
runtime; this allows to express a wide range of evolvability patterns for
concurrent processes. We introduce a core calculus of adaptable processes and
propose two verification problems for them: bounded and eventual adaptation.
While the former ensures that the number of consecutive erroneous states that
can be traversed during a computation is bound by some given number k, the
latter ensures that if the system enters into a state with errors then a state
without errors will be eventually reached. We study the (un)decidability of
these two problems in several variants of the calculus, which result from
considering dynamic and static topologies of adaptable processes as well as
different evolvability patterns. Rather than a specification language, our
calculus intends to be a basis for investigating the fundamental properties of
evolvable processes and for developing richer languages with evolvability
capabilities
Refinement and verification of concurrent systems specified in Object-Z and CSP
The formal development of large or complex systems can often be facilitated by the use of more than one formal specification language. Such a combination of languages is particularly suited to the specification of concurrent or distributed systems, where both the modelling of processes and state is necessary. This paper presents an approach to refinement and verification of specifications written using a combination of Object-Z and CSP. A common semantic basis for the two languages enables a unified method of refinement to be used, based upon CSP refinement. To enable state-based techniques to be used for the Object-Z components of a specification we develop state-based refinement relations which are sound and complete with respect to CSP refinement. In addition, a verification method for static and dynamic properties is presented. The method allows us to verify properties of the CSP system specification in terms of its component Object-Z classes by using the laws of the CSP operators together with the logic for Object-Z
Monitoring Partially Synchronous Distributed Systems using SMT Solvers
In this paper, we discuss the feasibility of monitoring partially synchronous
distributed systems to detect latent bugs, i.e., errors caused by concurrency
and race conditions among concurrent processes. We present a monitoring
framework where we model both system constraints and latent bugs as
Satisfiability Modulo Theories (SMT) formulas, and we detect the presence of
latent bugs using an SMT solver. We demonstrate the feasibility of our
framework using both synthetic applications where latent bugs occur at any time
with random probability and an application involving exclusive access to a
shared resource with a subtle timing bug. We illustrate how the time required
for verification is affected by parameters such as communication frequency,
latency, and clock skew. Our results show that our framework can be used for
real-life applications, and because our framework uses SMT solvers, the range
of appropriate applications will increase as these solvers become more
efficient over time.Comment: Technical Report corresponding to the paper accepted at Runtime
Verification (RV) 201
Requirements, Formal Verification and Model transformations of an Agent-based System: A CASE STUDY
One of the most challenging tasks in software specifications engineering for
a multi-agent system is to ensure correctness. As these systems have high
concurrency, often have dynamic environments, the formal specification and
verification of these systems along with step-wise refinement from abstract to
concrete concepts play major role in system correctness. Our objectives are the
formal specification, analysis with respect to functional as well as
non-functional properties by step-wise refinement from abstract to concrete
specifications and then formal verification of these specifications. A
multi-agent system is concurrent system with processes working in parallel with
synchronization between them. We have worked on Gaia multi-agent method along
with finite state process based finite automata techniques and as a result we
have defined the formal specifications of our system, checked the correctness
and verified all possible flow of concurrent executions of these
specifications. Our contribution consists in transforming requirement
specifications based on organizational abstractions into executable formal
verification specifications based on finite automata. We have considered a case
study of our multi-agent system to exemplify formal specifications and
verification.Comment: 16 pages; Computer Engineering and Intelligent Systems
http://www.iiste.org - ISSN 2222-1719 (Paper) ISSN 2222-2863 (Online) -
Vol.5, No.3, 201
Business process modeling using petri nets with clocks
Petri Nets are tools for the analysis and design of concurrent systems. There is a formal theory, which supports Petri Nets. We propose Petri Nets with Clocks which has a high expressive power in the concurrent and asynchronous process modeling and gives the possibility to model real time systems.
The Petri Nets with Clocks are useful to model systems with temporal requirements via specification of clocks, using temporal invariants for the places and temporal conditions in the transitions. Also, we have developed an algorithm for the analysis of Petri Nets with Clocks.
For the Business Processes Modeling, we propose to use Petri Nets with Clocks to formalize models, allowing to study the models through a quantitative and qualitative analysis.
Petri Nets with Clocks includes additional temporal elements -clocks-, which are appropriate for the Business Processes Modeling and are not taken into consideration in the literature concerning the extensions of Petri Nets with time. Petri Nets with Clocks allows studying the structural properties of Business Processes Modeling. This study not only allows the simulation but also verifies formally the model. It is oriented to the verification and correction of errors in the modeling of the time variable en Business Processes.Eje: IngenierÃa de softwareRed de Universidades con Carreras en Informática (RedUNCI
- …