Historical Notes
The APERO facilities have been defined and implemented by Charles
Pecheur in the context of his doctorate thesis. The syntax
extensions find their origin in the work of G. Scollo back in 1986, while the
principle of virtual libraries was settled in an early prototype called
VLib.
This work has been supported by the Euro-Canadian project EUCALYPTUS. In this
framework, the APERO tools have been integrated in a LOTOS tool set, together
with CAESAR/ALDEBARAN (model generation and verification, Verimag, Grenoble),
ELUDO (interactive simulator, U. Ottawa) and TETRA (test validation,
U. Montreal).
Presentation
The APERO data type pre-processors seek to offer a technical solution helping
the specification of common data structures in LOTOS while keeping
compatibility with the standard language, and therefore with existing
tools. The proposed solution is based on two complementary mechanisms:
- Syntax extensions provide concise forms for defining
commonly used data structures,
- Virtual libraries extend the standard library mechanism,
giving access to an infinite collection of general-purpose data types (records,
enumerated types etc.).
Both mechanisms are supported by their respective tools:
- APERO-SYN catches and expands syntax extensions into
standard LOTOS,
- APERO-LIB generates a finite subset of a virtual library
containing all types required by a particular specification.
In particular, syntax extensions can be translated into instances of virtual
library types.
Both functions rely on a generic text transformation algorithm and externally
specified transformation rules. These rules are defined in the APERO language,
which is a pattern-based formalism derived from a macro notation used in the
Scheme language. On one hand, this facilitates the modification and/or
extension of the provided extensions and library types. On the other hand, this
allows several alternative transformation rules for the same set of facilities,
where the translated specification is tuned for several environments (human
reading, compiler, simulator).
References
The APERO tools are described in
Ch. Pecheur, ``Improving the Specification of Data Types in LOTOS'',
thèse de doctorat, Université de Liège. (Abstract)
VLib, the preliminary prototype of APERO-LIB, is presented in
Ch. Pecheur, ``VLib: infinite virtual libraries for LOTOS'', Protocol
Specification, Testing and Verification XIII, North Holland, Amsterdam (1993),
29-44. (Full
text)
For further information, please contact either Charles Pecheur
(pecheur@ptolemy.arc.nasa.gov)
or Guy Leduc (leduc@montefiore.ulg.ac.be).
Features
- Compatible with full LOTOS.
- Runs on Sun-4 machines with SunOS 4.x or 5.x.
- Syntax extensions for:
- records,
- unions,
- enumerations,
- freely constructed types (ML-like),
- sets,
- strings (basic lists),
- lists (enriched strings),
- maps,
- tables,
- name spaces,
- optional values.
- Virtual libraries containing:
- all standard library types,
- records (all sizes),
- unions (all sizes),
- enumerations (all sizes),
- integers,
- rationals,
- lists (enriched strings),
- maps,
- tables,
- unitary types,
- optional values,
- name spaces.
- Translations tuned for human reading, CAESAR/ALDEBARAN (Verimag Grenoble),
ELUDO (U. Ottawa).
- Documentation:
- APERO Tools User's Guide (11 p.)
- APERO Language reference (15 p.)
- APERO Definitions User's Manuals (~50 p.)
- Implemented using SML/NJ.
Distribution
The APERO tools are now available free of charge.
If you wish to get a copy of this, please read the
LICENSE Agreement
and fill in the attached register form.
For more information, please contact:
Guy Leduc
Université de Liège
Institut Montefiore (B28)
B-4000 Liège
BELGIUM