The Denotational Semantics of slotted-Circus * Pawe l Gancarski 1 and Andrew Butterfield 1 Trinity College Dublin, Andrew.Butterfield@cs.tcd.ie Abstract. This paper describes a complete denotational semantics, in the UTP framework, of slotted-Circus , a generic framework for reason- ing about discrete timed/synchronously clocked systems. The key result presented here is a comprehensive semantics of the entire language that addresses various semantics issues that have been uncovered, whilst lay- ing foundations for future extensions, particularly towards prioritized choice. 1 Introduction 1.1 Circus and slotted-Circus The formal notation Circus is a unification of Z and CSP, and has been given a UTP semantics [OCW09]. A Circus text describes behaviour as a collection of actions, which are a combination of processes with mutable state. However, apart from event sequencing, there is no notion of time in Circus. A timed version of Circus (Circus Time Action or CTA) has been explored [SH02, She06] that introduces the notion of discrete time-slots in which sequences of events occur. The semantics of CTA has been developed using UTP, and there we find a two-level notion of history: the top-level views history as a sequence of time- slots; whilst the bottom-level records a history of events within a given slot. Our interest in hardware compilation languages such as Handel-C [Cel02] led to a development of semantic theories based on the notion of time-slots in CTA, but with much more structure (“microslots”) to the events within the timeslots [BW05]. Looking for a way to formally link Circus as a specification language to Handel-C as an implementation language, and given that CTA was a step in this direction, we decided to explore a UTP semantics for Handel-C. As the Handel-C semantics had three levels of complexity, each supporting a larger range of language features, it was decided to develop a generic the- ory (called slotted-Circus ), with time-slots whose bottom-level contents could be parameterised, as simple traces, or multisets of events, or as one of the three successively more complex “micro-slot” structures [BSW07]. That paper dis- cussed a number of fundamental issues that had to be addressed, most regarding healthiness conditions. More recent work [GBW09] looked at subtleties involving communication and state update. * This research was supported by a grant from Science Foundation Ireland, as well as partial support from Lero, the Irish Software Engineering Research Centre