Chapter

Λβ: a Virtual LOTOS Machine

Authors:
To read the full-text of this research, you can request a copy directly from the authors.

Abstract

LOTOS behaviour semantics are usually presented in a declarative style that permits to evaluate which events are possible at each stage, and which is the behaviour after an event occurs. In order to generate code that implements these operational semantics, an imperative model is very convenient for efficiency. A virtual machine (β-machine for LOTOS Behaviour Machine) is presented in this paper that provides such an imperative point of view, but still keeps independent of implementation details, effectively providing an intermediate representation for either interpretation or generation of code for any systems programming language. An abstract model of execution is presented, and then the virtual machine is presented by describing its instructions, the relationship to LOTOS constructs, and its dynamic semantics. C code generation is briefly commented too.

No full-text available

Request Full-text Paper PDF

To read the full-text of this research,
you can request a copy directly from the authors.

Chapter
This chapter addresses basically the pragmatic support for the production of a final implementation of a distributed information system, on basis of a high-level architectural design called initial architecture. This production process, which is called implementation phase ([G08]), is decomposed into two sub-phases. These two sub-phases share an intermediate design called reference implementation ([9]).
Conference Paper
The interleaved expansion presented in [QLP93] is a method to compute and represent the global events of a system preserving parallelism. As a side effect, this method provides important advantages in the technology of translation from LOTOS to Petri nets over static (direct) transformations and opens a simple process algebra form of representation for an important class of Petri nets. This work presents an algorithm that maps ITcalulus elements into labeled Petri nets and gives a comprehensive overview of different aspects of the translation from LOTOS to Petri nets using this intermediate form of representation.
Article
Full-text available
This paper reports on a number of formal methods that support correct protocol design and implementation. These methods are placed in the framework of a design methodology for distributed systems that was studied and developed within the ESPRIT II Lotosphere project (2304). The paper focuses on design methods for synthesising protocols by successive application of correctness-preserving LOTOS transformations. This transformational approach is described in some detail and is illustrated with a protocol design example. The paper concludes with some suggestions for relating design methods to milestones in the protocol design and implementation processes.
Article
LOTOS is an executable specification language for distributed systems currently being standardized within ISO as a tool for the formal specification of open systems interconnection protocols and services. It is based on an extended version of Milner's calculus of communicating systems (CCS) and on ACT ONE abstract data type (ADT) formalism. A brief introduction to LOTOS is given, along with a discussion of LOTOS operational semantics, and of the executability of LOTOS specifications. Further, an account of a prototype LOTOS interpreter is given, which includes an interactive system that allows the user to direct the execution of a specification (for example, for testing purposes). The interpreter was implemented in YACC/LEX, C and Prolog. The following topics are discussed: syntax and static semantics analysis; translation from LOTOS external format to internal representation; evaluation of ADT value expressions and extended CCS behaviour expressions. It is shown that the interpreter can be used in a variety of ways: to recognize whether a given sequence of interactions is allowed by the specification; to generate randomly chosen sequences of interactions; in a user-guided generation mode, etc.