Description
The language Dedalus is a Datalog-like language in which distributed computations and networking protocols can be programmed, in the spirit of the Declarative Networking paradigm. Whereas recently formal, operational, semantics for Dedalus-like languages have been developed, a purely declarative semantics has been lacking so far. The challenge is to capture precisely the amount of nondeterminism that is inherent to distributed computations due to concurrency, networking delays, and asynchronous communication. This paper shows how a declarative semantics can be obtained by simply using the well-known stable model semantics for Datalog with negation. This semantics is applied to the original Dedalus rules, modified to account for nondeterministic choices, and augmented with control rules which model causality. The main result then is that, as far as fair runs are concerned, the proposed declarative semantics matches exactly the previously proposed formal operational semantics.