This paper presents static and dynamic semantics for a fragment of LOTOS with a functional (rather than algebraic) data language. We present a `core' functional data language (which is explicitly and monomorphically typed), and show how it can be integrated into the LOTOS behavioural model. We then introduce data abstraction, and discover that data abstraction fits badly with the LOTOS
... [Show full abstract] communication model, which assumes that the data space is `flat'. We propose three possible solutions: 1) accepting the loss of data abstraction, 2) banning abstract types from communication, or 3) allowing the specifier to determine the behaviour of each type in output synchronization and input hiding. We then show that both of the last two options allow gates to be treated as first-class values (ending the distinction between gates and data), and the 3rd has the expressive power of the p-calculus. Contents 1 Introduction 2 2 Data language 3 2.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . ...