5 research outputs found

    Denotational Fixed-Point Semantics for Constructive Scheduling of Synchronous Concurrency

    Get PDF
    The synchronous model of concurrent computation (SMoCC) is well established for programming languages in the domain of safety-critical reactive and embedded systems. Translated into mainstream C/Java programming, the SMoCC corresponds to a cyclic execution model in which concurrent threads are synchronised on a logical clock that cuts system computation into a sequence of macro-steps. A causality analysis verifies the existence of a schedule on memory accesses to ensure each macro-step is deadlock-free and determinate. We introduce an abstract semantic domain I(D, P) and an associated denotational fixed point semantics for reasoning about concurrent and sequential variable accesses within a synchronous cycle-based model of computation. We use this domain for a new and extended behavioural definition of Berry’s causality analysis in terms of approximation intervals. The domain I(D, P) extends the domain I(D) from our previous work and fixes a mistake in the treatment of initialisations. Based on this fixed point semantics the notion of Input Berry-constructiveness (IBC) for synchronous programs is proposed. This new IBC class lies properly between strong (SBC) and normal Berry-constructiveness (BC) defined in previous work. SBC and BC are two ways to interpret the standard constructive semantics of synchronous programming, as exemplified by imperative SMoCC languages such as Esterel or Quartz. SBC is often too restrictive as it requires all variables to be initialised by the program. BC can be too permissive because it initialises all variables to a fixed value, by default. Where the initialisation happens through the memory, e.g., when carrying values from one synchronous tick to the next, then IBC is more appropriate. IBC links two levels of execution, the macro-step level and the micro-step level. We prove that the denotational fixed point analysis for IBC, and hence Berry’s causality analysis, is sound with respect to operational micro-level scheduling. The denotational model can thus be viewed as a compositional presentation of a synchronous scheduling strategy that ensures reactiveness and determinacy for imperative concurrent programming

    CPO Models for Compact GSOS Languages

    Get PDF
    AbstractIn this paper, we present a general way of giving denotational semantics to a class of languages equipped with an operational semantics that fits the GSOS format of Bloom, Istrail, and Meyer. The canonical model used for this purpose will be Abramsky's domain of synchronization trees, and the denotational semantics automatically generated by our methods will be guaranteed to be fully abstract with respect to the finitely observable part of the bisimulation preorder. In the process of establishing the full abstraction result, we also obtain several general results on the bisimulation preorder (including a complete axiomatization for it), and give a novel operational interpretation of GSOS languages

    CPO Models for Compact GSOS Languages

    No full text

    Equivalence semantics for concurrency: comparison and application

    Get PDF
    Since the development of CCS and other process algebras, many extensions to these process algebras have been proposed to model different aspects of concurrent computation. It is important both theoretically and practically to understand the relationships between these process algebras and between the semantic equivalences that are defined for them. In this thesis, I investigate the comparison of semantic equivalences based on bisimulation which are defined for process algebras whose behaviours are described by structured operational semantics, and expressed as labelled transition systems. I first consider a hierarchy of bisimulations for extensions to CCS, using both existing and new results to describe the relationships between their equivalences with respect to pure CCS terms. I then consider a more general approach to comparison by investigating labelled transition systems with structured labels. I define bisimulation homomorphisms between labelled transition systems with different labels, and show how these can be used to compare equivalences. Next, I work in the meta-theory of process algebras and consider a new format that is an extension of the tyft/tyxt format for transition system specifications. This format treats labels syntactically instead of schematically, and hence I use a definition of bisimulation which requires equivalence between labels instead of exact matching. I show that standard results such as congruence and conservative extension hold for the new format. I then investigate how comparison of equivalences can be approached through the notion of extension to transition system specifications. This leads to the main results of this study which show how in a very general fashion the bisimulations defined for two different process algebras can be compared over a subset of terms of the process algebras. I also consider what implications the conditions which are required to obtain these results have for modelling process algebras, and show that these conditions do not impose significant limitations. Finally, I show how these results can be applied to existing process algebras. I model a number of process algebras with the extended format and derive new results from the meta-theory developed
    corecore