From: Juan Quemada Subject: E-LOTOS has born Date: Tue, 18 Feb 1997 18:00:18 +0100 Last January, the first version of the definition of E-LOTOS, the revision of the LOTOS standard, was finished and submitted for approval as a Committee Draft which is the first step for becoming an International Standard. E-LOTOS is the result of a large cooperative effort where experts from over ten countries (see 1,2) have cooperated during more than four years in the framework of ISO and IEC. The resulting language (see 3) is a mayor revision of the LOTOS standard which keeps the spirit of its predecessor. The enhancements introduced substantially increase the expressive power of the language (time, exceptions, modules, subtyping, ...), adapt the language to the needs and requirements of current software engineering standards and Open Distributed Processing. The committee would like to invite interested experts in the field to review E-LOTOS, to make extensive use of the proposed new version of the standard and to send feedback to the designers such that fine tuning of the language can be achieved during the last stages of the standardisation process. The current definition of E-LOTOS can be found in: ftp://ftp.dit.upm.es/pub/lotos/elotos/Working.Docs/cd.pdf.gz (* in Adobe's PDF format *) ftp://ftp.dit.upm.es/pub/lotos/elotos/Working.Docs/cd.ps.gz (* in postcript format) An E-LOTOS interest list exists for those interested in having a closer contact with the E-LOTOS work item or for sending feedback about E-LOTOS. We would appreciate if this msg is distributed as widely as possible. Thanks and regards Juan Quemada E-LOTOS Rapporteur =============================================================================== Prof. Juan Quemada Dept. Ingenieria de Sistemas Telematicos, Universidad Politecnica de Madrid Address: ETSI Telecomunicacion, E-28040 Madrid, SPAIN email: jquemada@dit.upm.es, tf: +34 1 3367331, fax: +34 1 3367333 =============================================================================== =============================================================================== (1) REGULAR CONTRIBUTORS to E-LOTOS (have participated to 3 or more meetings and sent regular contributions) =============================================================================== Arnaud Fevrier, E.N.S.T., France Hubert Garavel, INRIA, France Alan Jeffrey, University of Sussex, United Kingdom Guy Leduc, University of Liege, Belgium Luc Leonard, University of Liege, Belgium Luigi Logrippo, University of Ottawa, Canada Jose Manas, Technical University of Madrid, Spain Elie Najm, E.N.S.T., France Juan Quemada, Tech. University of Madrid, Spain Mihaela Sighireanu, INRIA and RSI, Romania Jacques Sincennes, University of Ottawa, Canada =============================================================================== (2) Other contributors or participants in the E-LOTOS Work Item (which have sporadically attended to meetings or contributed) =============================================================================== Daniel Amyot, University of Ottawa, Canada Robin Barker, NPL, UK Jim Davies, Oxford University, UK Christian Hernalsteen, Free University of Brussels, Belgium Sungwon Kang, Korea Telecom, Korea Luis Llana, Universidad Complutense de Madrid, Spain Giovanny Lucero, University of Pernambuco, Brasil Eric Madelaine, INRIA, France Radu Mateescu, INRIA and RSI, Romania Krimo Nimour, E.N.S.T., France Abdelbarim Nimour, E.N.S.T., France Koji Okada, Electrotechnical Laboratory, Japan Charles Pecheur, University of Liege, Belgium Rudolf Roth, GMD, Germany Steve Schneider, Oxford University, UK Joseph Sifakis, VERIMAG, Grenoble, France Richard Sinnott, University of Stirling, UK Jean-Bernard Stefani, CNET, France Bernard Stepien, University of Ottawa, Canada Jan Tretmans, University of Twente, The Netherlands Bruno Vivien, INRIA and CNET, France =============================================================================== (3) BRIEF INTRODUCTION TO THE E-LOTOS WORK ITEM =============================================================================== Since 1993 an ISO/IEC WI (Work Item) named "Enhancements to LOTOS" has been revising the LOTOS standard. The revised version of LOTOS has been referenced usually as E-LOTOS. This is used now to reference the new language. E-LOTOS was conceived with the goal of being a formal specification language able to describe systems at various levels of abstraction following many of the main goals and design principles which guided the definition of the preceding LOTOS standard. This includes a well defined mathematical semantic definition, as well as the inclusion of a number of capabilities which should formally support a system design cycle, i.e. abstraction, information hiding, implementation independence, stepwise refinement, testing and conformance testing, ... The initial LOTOS goals were enriched in the definition of the Work Item with feedback coming from the application of LOTOS in system design in industrial environments. The purpose and scope of the definition of the new Work Item on "Enhancement to LOTOS" summarises the main conclusions obtained from the practical application of LOTOS. Those include executability, user friendly data types, predefined types, partial functions, subtypes, modules, object orientation, dynamic reconfiguration, gate typing, partial synchronisation, time, priorities, ... In addition, the inclusion of the E-LOTOS WI in the framework of ODP (Open Distributed Processing) in 1994 has widened the domain of applicability of the revised standard to a larger number of systems and has introduced new requirements. Although many of the requirements imposed by ODP were already in the definition of the E-LOTOS Work Item, a much closer alignment was pursued from then with existing ODP standards such as IDL, the ODP viewpoints and models, ... The E-LOTOS work started officially in 1991 when a question was raised in ISO/IEC regarding the creation of a Work Item on "Enhancements to LOTOS". The resolution of the question led to the creation of a WI which started in the fall of 1993. Nevertheless work on enhancing LOTOS had started several years before guided by industrial usage experiments. This document is the result of several years of work in which a large number of enhancement proposals have been analysed and assessed against the objectives of the Work Item. In May 1996 in the Kansas City SC21 plenary the selection of the enhancements to be included in E-LOTOS was made. The selected enhancements remove known limitations and extend the expressiveness, abstraction capabilities, structuring capabilities, user friendliness,... of the preceding version of the standard. The resulting language meets most of the initial goals. The level of maturity of the definition of the language is considered high, but some fine tuning is still to be done during the progression of the document to its final status. The semantics of the language is formed of a behavioural process algebra part which generalises various LOTOS operators, and of a functional data definition part which is executable and more user friendly. The number of enhancements is high and all of them are very intertwined. A list is given now which tries to highlight from the user point of view the new features from which an E-LOTOS user should benefit when using the language. The most notable enhancements of E-LOTOS with respect to LOTOS are: - Modularity: E-LOTOS has modularisation facilities which include: module and interface definitions; export, import and visibility control; and generic modules. The modules can contain definitions of types, functions and/or processes. - Data typing. E-LOTOS includes the following facilities for data definitions: predefined types, union types, recursive types, records, extensible records and record subtyping. The predefined data types will be defined within a module. At the semantical level, functions have been defined as a particular kind of processes which do not perform any visible event except termination. A two level approach has been devised for backward compatibility with LOTOS. The first level is declarative. The second level provides executable definitions of the data types which should satisfy the declarative definition of level one. With this scheme backwards compatibility with LOTOS is achieved by having declarative specifications at level one, either in ACT ONE or in an enhanced version of ACT ONE. Functional level two data definitions should satisfy level one specifications. - Time: The introduction of some notion of quantitative time is needed for the precise description of real-time systems and the semantics of E-LOTOS allows timed specifications for which a precise meaning to the execution of actions in time. In the E-LOTOS model events are atomic and instantaneous. The specifier can define the time at which actions or behaviours may occur. For example, time restrictions can be added to action denotations restricting the occurrence to a given set of time instants or wait statements can be used to delay the occurrence of a behaviour in time. - Introduction of a sequential composition operator which substitutes the operators existing in LOTOS for sequential composition, action prefix and exit/enabling(>>) pair. In E-LOTOS the same operator is used for both cases, for example "a;B" or "B1;B2". In LOTOS the >> operator always generates an internal action when the enabling is performed. In E-LOTOS, internal action are generated only when necessary. - Unification of processes and functions at the semantic level. A function is only a process which performs only a termination action upon termination. - Introduction of write-once variables. The present version of the CD includes write once variables where a safe use is assured by static semantic means. For example: assignment (write) must be performed made before usage (read); no dangerous use of shared variables is made by parallel behaviours; ... It is a goal of the WI to have write-many variables which can be used in a safe way. This is intended to be achieved in the next version of the document. - Introduction in E-LOTOS of output variables in processes and functions as the means to pass values in sequential composition. This substitutes exit statements with value passing coupled with accept statements. The existence of input and output variables in processes and functions provides a unified approach for value communication among sequentially composed behaviours which is much more readable and concise. It is in line with notations used in ODP, like IDL (Interface Definition Language). To illustrate the new approach how sequential composition and value passing are performed lets see an example which includes variable assignment, processes and functions. ?x := 2 ; phase1 [...] (x, ?result) ; (* a process *) compute (result, ?res1, ?res2) ; (* a function *) (lphase [...] (x, res1) ||| rphase [...] (x, res2) ) ............ - A more general parallel operator has been introduced in E-LOTOS which has the actual LOTOS parallel operator as a particular case. This operator is n-ary and supports the synchronisation of J processes among K composed processes where "J <= K". Therefore synchronisation patterns of 2 among N can be modelled in E-LOTOS. The new operator is also more readable because it clearly identifies the synchronising gates for each behaviour composed. - The Suspend/Resume operator which generalises disabling. The new operator generalises the LOTOS disabling operator by allowing a disabled behaviour to be resumed by a specific action of the disabling behaviour. - Introduction of exceptions and exception handling in the behavioural and data parts with a uniform approach. Exception mechanisms permit new ways of structuring and are demanded by ODP. - Explicit renaming operator for observable actions or exceptions. The renaming operator allows not only to change the name of the events occurring but to add and remove fields from the structure of events, or to merge and to split gates. - Typed gates and partial synchronisation. Gates must be explicitly typed. The use of the record subtyping relation permits partial synchronisation of gates as well as provides backward compatibility with standard LOTOS untyped gates. - The introduction of partial synchronisation is of relevance for using a constraint oriented approach which can be performed in E-LOTOS in a much more concise way as each constraint must know only the part of the event structure which relates to him. The introduction of enhancements has been performed trying to minimise the growth in the complexity of the language. Rather than introducing new operators, the enhancements have been introduced by generalising existing operators. Only a couple of new statements and/or operators have been introduced when absolutely necessary. E-LOTOS is, as LOTOS, a language which permits a rich variety of specification styles which may be used to model different aspects of the design process. The styles existing in LOTOS, constraint oriented, resource oriented, state oriented, EFSM oriented, monolithic, ... can be also used in E-LOTOS. In addition the existence of exceptions, partial synchronisation, event renaming, and other new constructs open new ways of specifying. ===============================================================================