@MISC{Murano_pushdownmodule, author = {Aniello Murano}, title = {Pushdown Module Checking for Branching-Time Temporal Logics}, year = {} }

Share

OpenURL

Abstract

In system modeling, a main distinction is between closed systems, whose behavior is totally determined by the program, and open systems, which are systems where the program interacts with an external environment [HP85, Hoa85]. In order to check whether a closed system satisfies a required property, we translate the system into a formal model (such as a transition system), specify the property with a temporal-logic formula (such as CTL [CE81], CTL ∗ [EH86], and µ-calculus [Koz83]), and check formally that the model satisfies the formula. This process is called model checking ([CE81, QS81]). Checking whether an open system satisfies a required temporal logic formula is much harder, as one has to consider the interaction of the system with all possible environments. We consider open systems that are modeled in the framework introduced by Kupferman, Vardi, and Wolper. Concretely, in [KV96, KVW01], an open finite-state system is described by an extended transition system called a module, whose set of states is partitioned into system states (where the system makes a transition) and environment states (where the environment makes a transition). Given a module M describing the system to be verified and a temporal logic formula ϕ specifying the desired behavior of the system, the problem of model checking a module, called module checking,