Release 3R5 of TOPO tool set is available at ftp://ftp.dit.upm.es/pub/lotos/tools/TOPO_3R5/ It fixes a number of bugs detected to the date, includes some new (still under testing) tools, and may be compiled under MSDOS. In the following days we'll add other tools contributed (e.g. LOLA). Keep an eye on this list or that ftp server. Bye, pepe TOPO Toolset to support product realization from LOTOS specifications Last version 3R5 -- December, 1995 Lotos Tools Development Team Dpt. Ingenieria Telematica Technical University of Madrid E.T.S.I. Telecomunicacion Ciudad Universitaria E-28040 Madrid, SPAIN TOPO is distributed as free software for non-profit use, and can be obtained from the address above. See details in the section "How to get it?" below. For commercial (profit) use, contact Kees Bogaards Sofware Ontwikkeling Met Sofware (SOMS) bv Institutenweg 1 7521 PH ENSCHEDE The Netherlands Tel: +31 53 309682 Fax: +31 53 309669 internet: bogaards@soms.nl compuserve: 100144.22@CompuServe.com ADT Abstract Data Types Support ------------------------------- Abstract Data Types Compiler: o Automatic implementation of ADT specifications as a rewrite system. o Memory management provided. o Opportunity to replace all or part of the data types by hand coded implementations. For efficient implementations (e.g. machine integers), or to link with other worlds (e.g. interoperation with ASN.1 coded data). o Partial data types may be considered by associating a user function to LOTOS operations. This function gets control whenever the operation is exercised, and may raise an exception or terminate the program. o User may specify which operations are constructors and which ones are not; this enables effective compile time checking of questionable data type specifications. Behaviour Compiler ------------------ Transition System Compiler: o An automata is generated that behaves according to the specification. Only the transitions allowed by the specification may happen. o Random (fair) behaviour is implemented for non-deterministic specifications. o Side-effects may be specified as pieces of code written in a programming language. The program fragment is associated to action offers. The code is executed upon synchronization success. It is similar to output actions in automata. o Event offers may be delayed for some time (in seconds). o Event offers may depend on external conditions: active wait is provided on user specified predicates. o Value negotiation may be assisted by means of default values provided by the implementer. o Multiway rendez-vous supported: synchronization, value matching, value exchange, broadcasting, ... o Recursive and dynamic creation of processes supported. o Automatic scheduling embedded / External scheduling is optional. TOPO, the toolset ----------------- TOPO is really a bunch of tools to help in design with LOTOS. Every tool is conformant to IS 8807, the ISO standard, and deals with full lotos (unless explicitly stated) Tool summary: o syntax checker o pretty printer (warning: no comments) o static semantics checker o C and Ada code generation for data and behaviour TOPO defines virtual machines for data and behaviour, before actual code generation. o data types analysis (hierarchies, and so ...) o objects cross reference listing o data type annotating tool, to link LOTOS data objects to external ones (C libraries, Ada packages, ...) o data interpreter, for debugging o behaviour interpreter library (to build symbolic tools) (warning: basic lotos) o data types test suite specification language, and translator o lotos behaviour test generator (warning: basic lotos) o generation of CR (Common Representation) as defined in ESPRIT project LotoSphere Several "standard libraries" are provided. The one in the ISO annex is bulky and has some flaws. The user may easily define its own library, so this is an open list of alternatives + minimal only booleans + bool_int only booleans and integers + is as defined in ISO IS 8807 + mod-is is modified by LotoSphere + ditupm an alternative with more realistic types (a matter of taste?) The tools may be accessed individually or under a shell interface that may be customized to concrete user needs. TOPO satellites: contributions ------------------------------ LOLA (LOtos LAboratory) o symbolic simulator, expansion tool, test execution tool TLOTOS (Lotos with time extensions) o for performance analysis, and time dependencies validation GLD (GraphicaL Designer) Tool for graphical editing. It uses two different formalism G-LOTOS and DART (can be mixed). . LOTOS mode: - Automatic layout - Automatic conversion from/to textual LOTOS. . DART mode: (To design the architecture of processes of the system and its relations of parallelism, sequecence and disable) - DART editing - Use of adjustable grid - DART transformation . both: - Mixed design: You can use G-LOTOS or DART in any moment. - Usual edit functions (Cut, Copy, Paste, Zoom, ...) - Programable transformation from DART into G-LOTOS and viceversa. - Rapid navigation over the specification GLA (GraphicaL Animator) Is a simulator of the behaviour of the specification, using graphical views from the DART specification to show: - process involved in a synchronization - what actions are the potencial offerts of each process - the history of instantiations - which process are active - a trace of the execution Applications ------------ o Rapid prototyping. o Validation. o Specification animation: annotate significant events with visual effects to trace system evolution. o Specification validation by running test suites: compose specification with test suite, compile, and run. o Product realization. How to get it ------------- o On the network. TOPO is obtainable via anonymous ftp from host IP address directory -------------- ------------- ------------------------- ftp.dit.upm.es [138.4.2.10] /pub/lotos/tools/TOPO_... -------------- ------------- ------------------------- where ... stands for the version. o On a streamer. Send us two standard Sun streamers (QIC-11, 600ft) TOPO will be loaded into one of them, and returned to you. The other streamer will be retained as payment for administrative costs.