Time, Knowledge, and Cooperation: Alternating-Time Temporal Epistemic Logic and Its Applications
Branching-time temporal logics have proved to be an extraordinarily successful tool in the formal specification and verification of distributed systems. Much of this recent success stems from the tractability of the model checking problem for the branching time logic CTL. Several successful verification tools (of which SMV is the best known) have been implemented that allow designers to verify that systems satisfy requirements expressed in CTL. Recently, CTL was generalised by Alur, Henzinger, and Kupferman in a logic known as “Alternating-time Temporal Logic” (ATL). The key insight in ATL is that the path quantifiers of CTL could be replaced by “cooperation modalities”, of the form 《 G 》, where G is a set of agents. The intended interpretation of an ATLform ula 《 G 》 ø is that the agents G can cooperate to ensure that ø holds (equivalently, that G have a winning strategy for ø). It turns out that the resulting logic very naturally generalises and extends CTL. In this talk, I will discuss extensions to ATL with knowledge modalities, of the kind made popular by the work of Fagin, Halpern, Moses, and Vardi. Combining these knowledge modalities with ATL, it becomes possible to express such properties as “group G can cooperate to bring about ø iff it is common knowledge in G that ψ”. The resulting logic—Alternating-time Temporal Epistemic Logic (ATEL)—has a range of applications, which will be discussed in the talk. In addition, I will relate some preliminary experiments with ATEL model checking, which shares the tractability property of its ancestor CTL.