next up previous
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: 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
\begin{figure}\epsfxsize 10cm
\begin{center}
\hspace*{0cm}\fbox{\epsfbox{xasm-architecture.eps}}\end{center}\end{figure}

Basically, XASM-programs are structured using `` $\ASM\ldots\ENDASM$'' 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
\begin{figure}\begin{center}
\begin{asmfbox}
\ASM A (a_1:T_1,\ldots,a_n:T_n) \ri...
... rules} {2mm}
\USEDEF{asm rules}
\ENDASM
\end{asmfbox}\end{center}\end{figure}

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 up previous
Next: The Basic Structure of Up: XASM- An Extensible, Component-Based Previous: Introduction
Philipp Kutter 2002-03-18