Next: The Basic Structure of
Up: XASM- An Extensible, Component-Based
Previous: Introduction
Overview of XASM
XASM is an implementation of sequential ASMs focusing on the
generation of efficient executable programs simulating the run of
the specified ASM. In general, the main design goals of XASM can be
given as follows:
- full support of the ASM language as defined in the Lipari-Guide;
- efficient execution of generated executables;
- comfortable animation and debugging of ASM specifications;
- component-based library concept for managing large-scale
specifications;
- external language interface for integrating ASM
specifications in other systems.
The scenario of building ASM-based programs using XASM is depicted
in Figure 1. XASM source files are translated
into C source by the XASM-compiler. Additionally, the user can
integrate C-sources and -libraries using the external language
interface. As described below, XASM introduces a notion of
components being stored in a special repository. During the
translation process, the XASM-compiler retrieves registry information
from the component in order to integrate pre-compiled XASM-components
in the current build process. The result of such a build process is a
binary being either an executable or a new element of the component
library. In either case, the binary contains the ASM algorithms
specified in the XASM source files.
Figure 1:
Building XASM applications
|
Basically, XASM-programs are structured using ``
''
constructs each of which containing a list of local function and
universe declarations and a list of ASM rules representing a certain
part of the overall specification. In general, the structure of an
XASM-asm is shown in Figure 2.
The meta information part contains information concerning the role of
the asm as a reusable component; this part is described in
more detail below.
Figure:
The general structure of an XASM-asm
|
As defined in the Lipari-Guide, types are not part of the core ASM language. However,
because typing has been proven to be very useful to avoid many kinds
of errors, in XASM types can be supplied to the declaration of a
function and are used to detect static semantics inconsistencies of
the formalization.
Next: The Basic Structure of
Up: XASM- An Extensible, Component-Based
Previous: Introduction
Philipp Kutter
2002-03-18