Electronic Communications of the EASST (European Association of Software Science and Technology)
Not a member yet
887 research outputs found
Sort by
Analysis of Petri Nets with Context-Free Structure Changes
Structure-changing Petri nets are Petri nets with transition replacement rules. In this paper, we investigate the restricted class of structure-changing workflow nets and show that two different reachability properties (concrete and abstract reachability) and word membership in the language of labelled firing sequences are decidable, while a language-based notion of correctness (containment of the language of labelled firing sequences in a regular language) is undecidable
Formal Specification, Verification, and Implementation of Fault-Tolerant Systems using EventML
Distributed programs are known to be extremely difficult to implement, test, verify, and maintain. This is due in part to the large number of possible unforeseen interactions among components, and to the difficulty of precisely specifying what the programs should accomplish in a formal language that is intuitively clear to the programmers. We discuss here a methodology that has proven itself in building a state of the art implementation of Multi-Paxos and other distributed protocols used in a deployed database system. This article focuses on the basic ideas of formal EventML programming illustrated by implementing a fault-tolerant consensus protocol and showing how we prove its safety properties with the Nuprl proof assistant
More on Graph Rewriting With Contextual Refinement
In GRGEN , a graph rewrite generator tool, rules have the outstandingfeature that variables in their pattern and replacement graphs may be refined withmeta-rules based on contextual hyperedge replacement grammars. A refined rule maydelete, copy, and transform subgraphs of unbounded size and of variable shape. Inthis paper, we show that rules with contextual refinement can be transformed to stan-dard graph rewrite rules that perform the refinement incrementally, and are appliedaccording to a strategy called residual rewriting. With this transformation, it is possi-ble to state precisely whether refinements can be determined in finitely many steps ornot, and whether refinements are unique for every form of refined pattern or not
Analyzing Fuzzy Logic Computations with Fuzzy XPath
Implemented with a fuzzy logic language by using the FLOPER tool developed in our research group, we have recently designed a fuzzy dialect of the popular XPath language for the flexible manipulation of XML documents. In this paper we focus on the ability of Fuzzy XPath for exploring derivation trees generated by FLOPER once they are exported in XML format, which somehow serves as a debugging/analizing tool for discovering the set of fuzzy computed answers for a given goal, performing depth/breadth-first traversals of its associated derivation tree, finding non fully evaluated branches, etc., thus reinforcing the bi-lateral synergies between Fuzzy XPath and FLOPER
State Distribution Policy for Distributed Model Checking of Actor Models
Model checking temporal properties is often reduced to finding accepting cycles in Buchi automata. A key ingredient for an effective distributed model checking technique is a distribution policy that does not split the potential accepting cycles of the corresponding automaton among several nodes. In this paper, we introduce a distribution policy to reduce the number of split cycles. This policy is based on the call dependency graph, obtained from the message passing skeleton of the model. We prove theoretical results about the correspondence between the cycles of the call dependency graph and the cycles of the concrete state space and provide empirical data obtained from applying our distribution policy in state space generation and reachability analysis. We take Rebeca, an imperative interpretation of actors, as our modeling language and implement the introduced policy in its distributed state space generator. Our technique can be applied to other message-driven actor-based models where concurrent objects or services are units of concurrency
Graph Transformation with Symbolic Attributes via Monadic Coalgebra Homomorphisms
We show how a coalgebraic approach leads to more natural representations of many kinds of graph structures that in the algebraic approach are frequently dealt with using ad-hoc constructions. For the case of symbolically attributed graphs, we demonstrate how using substituting coalgebra homomorphisms in double-pushout rewriting steps yields a powerful and easily understandable transformation mechanism
Verifying Critical Cyber-Physical Systems After Deployment
Cyber-Physical Systems (CPS) are increasingly novel hardware and software compositions creating smart, autonomously acting devices, enabling efficient end-to-end workflows and new forms of user-machine interaction. The heterogeneous, evolving and distributed nature of CPS means that there is little chance of performing a top down development or anticipating all critical requirements such devices will need to satisfy individually and collectively. This paper describes an approach to verifying system requirements, when they become known, by performing an automated refinement check of its composed components abstracted from the actual implementation
Transforming Event-B Models to Dafny Contracts
Our work aims to build a bridge between constructive (top-down) and analytical (bottom-up) approaches to software verification. This paper presents a tool-supported method for linking two existing verification methods: Event-B (constructive) and Dafny (analytical). This method combines Event-B abstraction and refinement with the code-level verification features of Dafny. The link transforms Event-B models to Dafny contracts by providing a framework in which Event-B models can be implemented correctly. The paper presents a method for transformation of Event-B models of abstract data types to Dafny contracts. Also a prototype tool implementing the transformation method is outlined. The paper also defines and proves a formal link between property verification in Event-B and Dafny. Our approach is illustrated with a small case study
Computing Bounds for Counter Automata
Qualitative formal verification, that seeks Boolean answers about the behavior of a system, is often insufficient for practical purposes. Observing quantitative information is of greater interest, e.g. for the calibration of a battery or a real-time scheduler. Historically, the focus has been on quantities in continuous domain, but recent years showed a renewed interest for discrete quantitative domains. Counter Automata (CA) is a quantitative extension of classical omega-automata. Recently a nice theory has been developed for them that extends the qualitative setting, with counterparts in terms of logics, automata and algebraic structure. We propose an adaptation, with plenty of practical applications, of this formalism to express properties over discrete quantitative domains. The behavior of a Counter Automaton defines a function from infinite words to integers. Finding the bounds of such a function over a given set of words can be seen as an extension of qualitative universal and existential model-checking. Although the problem of determining whether such bounds are finite have already been addressed, efficient algorithms to compute their exact values still lack. We propose an non-naive method for the computation of the exact values of these bounds. It relies on a generalization of the emptiness problem of omega-automata. To solve this generalized emptiness problem, we propose an algorithm that extends emptiness check algorithms based on SCC enumeration.