Abstract. Witnesses and counterexamples produced by model checkers provide a very useful source of diagnostic information. They are usually returned in the form of a single computation path along the model of the system. However, a single computation path is not enough to explain all reasons of a validity or a failure. Our work in this area is motivated by the application of action-based model checking algorithms to the test case generation for models formally specified with a CCS-like process algebra. There, only linear and finite witnesses and counterexamples are useful and for the given formula and model an efficient representation of the set of witnesses (counterexamples) explaining all reasons of validity (failure) is needed. This paper identifies a fragment of action computation tree logic (ACTL) that can be handled in this way. Moreover, a suitable form of witnesses and counterexamples is proposed and witness and counterexample automata are introduced, which are finite automata recognizing them. An algorithm for generating such automata is given.
A flexible job shop scheduling problem (FJSP) is a widely studied NP-hard combinatorial problem. Its goal is to optimise the production plans for simultaneously produced parts, where each part production consists of executing various operations. Each operation can be executed on several, or even all, available machines. A distinctive subproblem of FJSP is the identification of feasible solutions. A feasible solution is an allocation plan (i.e. assignment of a machine to a particular operation of a part to be produced) yielding an execution schedule satisfying the given resource constraints. FJSP is applied primarily in manufacturing systems, but it can be used to optimise Internet traffic, cloud computing, and other resource scheduling problems as well. So far, the exact methods for solving FJSP have not been considered attractive, since they seemed incapable of coping with real-size problems. This paper proposes a novel exact approach to solving FJSP which can find and count out all schedules of relatively large systems. The approach is successful due to the power of a special data structure called zero-suppressed binary decision diagrams to represent and manipulate the set of all feasible solutions efficiently. All the algorithms are implemented and tested by using our free Binary Decision Diagram package called Biddy.
Biddy is a BDD package under GPL, developed at the University of Maribor. It uses ROBDDs with complement edges, as described in the paper K. S. Brace, R. L. Rudell, R. E. Bryant, Efficient Implementation of a BDD Package, 1990. Compared to other available BDD packages, Biddy's most distinguishing features are its specially designed C interface and an original implementation of automatic garbage collection. More generally, the Biddy project is not only concerned with the computer library, but also offers a demo application for the visualization of BDDs, called BDD Scout. The whole project is oriented towards a readable and comprehensible source code in C, which can be compiled unchanged on different platforms, including GNU/Linux and MS Windows. Index Terms Boolean algebra, binary decision diagram, symbolic manipulation of Boolean functions, formal methods, free software I. INTRODUCTION Boolean algebra is a mathematical structure applied within many engineering and scientific fields, especially those concerned with electronics, computers, and communications. The Binary Decision Diagram (BDD) is a data structure for representing Boolean functions. This representation has gained popularity because it is canonical, and thus tautology checking, satisfiability checking, and equivalence checking can be done in a constant time (after the BDD has been created). Moreover, it is a compact representation of many of those Boolean functions that arise during practical problems. Binary decision diagrams are not just another theory. Many applications are heavily based on Boolean algebra and BDDs. Some successful examples are hardware design methods, e.g. logic synthesis [1], formal methods concerned with testing and verifying systems, e.g. symbolic model checking [2], and methods for knowledge representation and discovery e.g. the rough-set theory [3]. Recently, D. E. Knuth included an extensive section about BDDs in his famous monograph The Art of Computer Programming [4], where it states that "(BDDs) burst on the scene in 1986, long after old-timers like me thought that we had already seen all of the basic data structures that would ever prove to be of extraspecial importance" and that "(BDDs) have given me many more surprises than anything else so far". And last, but not least, a pioneering paper on BDD algorithms [5] is one of the most cited paper in the history of computer science!
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2025 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.