next up previous
Next: Informal Semantics of ``accesses'' Up: The Basic Structure of Previous: XASM Components

Gluing of XASM components

In order to provide a high degree of flexibility in interconnecting XASM-components, it is possible to define local derived functions using so-called ``with'' definitions. For example, a asm A wants to use the check_blockvar as introduced above, but A doesn't declare a function named ``DeclTable'' as it is required by the check_blockvar asm. However, the DeclTable must be somehow expressible using existing functions in A. The ``with''-statement can be used to provide the called asm with the necessary function declaration, as illustrated in the following example:


\begin{asmfbox}
\ASM A \IS
\ldots
\FUNCTION currentmodule \rightarrow Str
\FUNCT...
...,v:Str) ==
SymTable(currentmodule,b,v)\untab\untab
\ldots
\ENDASM
\end{asmfbox}


In a similar way, accessed sub-asms can be specified in the context of a ``with'' statement.

Using XASM components together with this kind of gluing mechanism provides a powerful means to structure large specifications using smaller and reusable units.



Philipp Kutter 2002-03-18