A common compiler for LOTOS and SDL specifications
by C. Binding, W. Bouma, M. Dauphin, G. Karjoth, Y. Yang
This paper describes a translation of LOTOS and SDL specification languages into executable code, as it was prototyped in the Specification and Programming Environment for Communication Software (SPECS) project under the Research and Development in Advanced Communications in Europe (RACE) program. Both languages are translated into a common intermediate representation in the form of a network of state machines with both synchronous and asynchronous communications. By a series of transformations that make full use of the equivalence relations defined on LOTOS processes, this translation solves unique problems stemming from the highly abstract nature of LOTOS. The common intermediate representation is mapped into C code that can be executed in a specific run-time environment, implemented on a UNIX®-like operating system. SPECS has also developed a pragmatic approach to represent implementable data types in the algebraic framework of LOTOS and SDL, based on a set of predefined type constructors.