home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.specification
- Path: sparky!uunet!mcsun!sun4nl!utrcu1!infnews!infnews!lagemaat
- From: lagemaat@cs.utwente.nl (Jeroen van de Lagemaat)
- Subject: Re: Formal spec languages on top of C/C++ ?
- Message-ID: <1993Jan8.110527@cs.utwente.nl>
- Sender: usenet@cs.utwente.nl
- Nntp-Posting-Host: utis09
- Organization: University of Twente, Dept. of Computer Science
- References: <1993Jan6.212736.1456@news.acns.nwu.edu>
- Date: Fri, 8 Jan 1993 10:05:27 GMT
- Lines: 205
-
- In article <1993Jan6.212736.1456@news.acns.nwu.edu>, kanth@andersen.uucp (Kanth Miriyala) writes:
- |>
- |> Are there any formal specification languages available on top
- |> of C/C++ environments? I am looking for formal spec languages
- |> that are automatically translated down to C or C++ (perhaps
- |> inefficiently or partially).
- |>
- |> Please send me email. Thanks.
- |>
- |> -Kanth
- |>
- |> kanth@andersen.com
-
- I would like to inform you about available LOTOS tools.
-
-
- Lotos Integrated Tool Environment
- 1. What lite is about
-
- LITE is an integrated tool environment for LOTOS
- that aims to support:
-
- --specification writing, reading, and maintenance
- --validation of requirements via simulation
- --verification of steps towards product realization
- --product derivation via compiling
- --support for testing (conformance, validation, ...)
-
-
- |-------------------------------------------------------------|
- | edition: structure, graphical |
- | source to source transformations |
- |-------------------------------------------------------------|
- | report generation: verification: |
- | cross references completion |
- | gate sorts expansion |
- | ADT sanity checks basic LOTOS |
- | |
- | simulation: compilation: |
- | single step behaviour & data |
- | predicate solver rapid prototyping |
- | objective driven C, Ada, LWP |
- |-------------------------------------------------------------|
- | testing: behaviour and data |
- | conformance and validation |
- |-------------------------------------------------------------|
-
- LITE: an open architecture for further extensions:
-
- --LOTOS: ISO Language Of Temporal Ordering Specification.
- --CR: Common Representation.
- It is both an external and internal representation,
- and a set of tools to handle it.
-
- LITE appears as open to further extensions,
- users may easily plug in their tools,
- and take benefit of each other's functionalities.
-
- 2. Compiler Tools for LOTOS
-
- Within the LOTOS Integrated Tool Environment (lite) the
- following tools for compilation are incorporated: TOPO and
- COLOS.
-
- --TOPO provides automatic translation of behaviour and data part of a
- LOTOS specification into code for an abstract machine,
- so-called the lambda\beta machine. The lambda\beta machine code
- is then translated into C.
-
- Annotations can be used to relate real events (i.e., interrupts,
- signals, timer events, transmission and receptions of PDUs, etc.)
- with abstract LOTOS events, to take into account efficient
- implementations of LOTOS data types, to realize time delays
- in event offerings, and to define default values in
- ambiguous sum(choice)-expressions.
-
- --COLOS is restricted to a subset of the behaviour part of a LOTOS
- specification. The behaviour part is translated into an abstract machine,
- so-called SAP ( system of automata and ports ). The SAP machine code
- is then translated into C. LOTOS data types have to be defined and
- implemented by hand using C.
-
- In addition, hand-coded implementations for the LOTOS data types
- must be given by the implementor. COLOS facilitates the integration
- of hand-coded data types by means of annotations (as in TOPO).
-
- The formal gates of the specification are used to relate the generated
- implementation with its environment. This is also achieved by means of
- annotations: formal gates are mapped on members of a predefined set of
- environment ports. These environment ports are the only means in
- which information can be read from and be passed to the
- environment.
-
- 3. Editing Tools for LOTOS
-
- The LOTOS Integrated Tool Environment (lite) contains
- a graphical LOTOS editor, called GLOTOS, and a
- structure LOTOS editor, called CRIE.
- GLOTOS offers syntax driven graphical editing,
- CRIE offers textual and structural editing,
- including so-called correctness preserving transformations (CPTs),
- combined with interactive syntax and static semantics checking.
-
- The editing in GLOTOS is menu driven; GLOTOS allows to transform a placeholder
- in its graphical or textual form. GLOTOS loads textual files or files in the
- editor's internal format.
-
- CRIE offers structural editing as well as textual editing of any selected
- LOTOS expression.
- Editing applying CPTs is supported by the SPLITTING-tool and the RPPT-tool;
- the tools are available in CRIE when the selected LOTOS expression
- satisfies the applicability condition of the transformation.
-
- CRIE automatically detects errors against static semantics,
- using incremental attribute recomputation,
- and flags them by LOTOS comments containing appropriate
- error messages at the location of the error.
-
- CRIE automatically pretty prints the specification.
- CRIE can show the result sort of value expressions and the functionality
- of behaviour expression.
- It has additional browsers that show respectively the error messages,
- the headers of the process definitions or the headers of the data types
- of the specification.
- It is possible to do the static semantics checking on demand,
- allowing a user to postpone lengthy reevaluations.
- CRIE can compute the common representation of a specifcation.
-
- 4. Report Generating Tools for LOTOS
-
- Within the LOTOS Integrated Tool Environment (lite) the
- following tools for report generation and browsing are incorporated:
- LS1 and LS2, two phases of a syntax and semantic checker,
- a datatype analyzer, called REP-ADT, a gate-sortlist analyzer,
- called GSL, a
- cross reference generator, called REP-XREF, and a report browser,
- called LOBROW.
-
- 5. Simulation Tools for LOTOS
-
- Within the LOTOSPHERE Integrated Tool Environment (lite) a
- symbolic LOTOS simulation tool, called SMILE, has been
- incorporated. This tool offers functionalities for the analysis
- of the dynamic properties of both the process
- and the data type part of a specification.
-
- SMILE can be used
- (1) to gain more confidence in the dynamic behaviour of the
- system;
- (2) to test the abstract data type specification;
- (3) to transform a specification into a finite state machine.
- Such a finite state machine can then subsequently
- be used as a starting point for an implementation;
- (4) to run test-sequences against a specification; or
- (5) to generate test-sequences from a specification.
-
- SMILE is an interactive tool with an X11-based user interface.
- It has two different windows: one devoted to the analysis of
- the abstract data type part of the specification, and one
- for the behavioural part of the specification.
-
- Any behaviour expression in the LOTOS specification can
- be analyzed either step by step (unfolding every state
- manually) or automatically (symbolic execution of the
- specification) up to a user-provided number of steps.
- SMILE offers a number of functions to control the
- actual behaviour of the simulation and for the interpretation
- of the results of the simulation.
-
- 6. Test generation tool for Basic LOTOS
-
- Within the LOTOSPHERE Integrated Tool Environment (lite) a
- test generation tool for Basic LOTOS has been incorporated.
- This tool computes a canonical tester from a Basic LOTOS specification.
-
- 7. Verification Tools for LOTOS
-
- The LOTOS Integrated Tool Environment (LITE) provides a number of
- verification tools and functions,
- including a completion tool COMPLOT,
- a tool for the construction and analysis of finite automata AUTO,
- a model checker for temporal logic CHECKER,
- and functions for building Basic Lotos approximations from Lotos
- specifications.
-
- The behaviour verification functions can be used both as a debugging
- tool in the first steps of a specification development, and also later
- during refinement steps for proving that a refined specification is
- indeed a refinement of the previous version of the specification.
- The tools can be applied to an automaton encoding the complete
- extended finite state machine of the specification, when this is
- possible (e.g. through Smile or Lola), orelse to an automaton encoding a
- Basic Lotos finite approximation of the specification.
- --
- ___
- __/ \__________ Jeroen van de Lagemaat <lagemaat@cs.utwente.nl>
- | \___/ |
- |___ __ ___ | University of Twente
- | | | / \ (__ | Tele-Informatics & Open Systems
- | |__|__\__/____) | P.O. Box 217 NL-7500 AE Enschede The Netherlands
- |_________________| tel. +31 53 893684 tfx. +31 53 333815
-
- Humour, you're making me laugh.
- - Herman Finkers, Dutch comedian -
-
-