22.01.2015 Views

Military Communications and Information Technology: A Trusted ...

Military Communications and Information Technology: A Trusted ...

Military Communications and Information Technology: A Trusted ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

212 <strong>Military</strong> <strong>Communications</strong> <strong>and</strong> <strong>Information</strong> <strong>Technology</strong>...<br />

Multinational character of military units <strong>and</strong> operations as well as C2 systems<br />

integration challenges leads us to the idea of DSLs with multilingual support. With<br />

multilingual support we mean DSLs with different syntax, but with mutually related<br />

semantic processing [11], [12]: At first sight, a language used e.g. in a U.S. system<br />

would seem to be different than that in a Slovak system, but the tasks that can be<br />

described by language constructions in both systems would probably be very similar.<br />

Similarly, in the case of C2 system integration an XML-based language would<br />

be preferred (as in the case of [10]). On the other h<strong>and</strong>, analogically as the great<br />

majority of programming languages is not XML-based, when the primary target<br />

of the language is a human, an XML-based language probably would not be<br />

the preferred choice.<br />

Now let us look at the syntactical <strong>and</strong> semantic aspects of CLs, bearing in mind<br />

multilingual character of DSLs.<br />

II. Syntax, semantics, <strong>and</strong> processing of computer languages<br />

In order to be able to be processed by machines CLs need to have exactly<br />

<strong>and</strong> unambiguously specified their syntax <strong>and</strong> semantics. Syntax of CLs is usually<br />

specified by means of context-free grammars (CFGs) or from CFGs derived<br />

Backus-Naur forms (BNFs) [2], [13], [14], [15].<br />

A context-free grammar is a 4-tuple<br />

G = (N, T, P, S), (1)<br />

where N is a finite set of non-terminal characters (or variables), T is a finite set<br />

of terminal characters (or terminals), S, SÎN is the starting symbol of the grammar<br />

from which each derivation starts, <strong>and</strong> P is a finite set of productions (or rewriting<br />

rules) of the form<br />

B → α, (2)<br />

where BÎN is the left-h<strong>and</strong> side <strong>and</strong> αÎ(NÈT) * is the right-h<strong>and</strong> side of the production.<br />

When designing a DSL with multilingual support, it seems to be rational to<br />

separate its abstract syntax from its concrete syntaxes. For example, if we need two<br />

language representations, we will use a common abstract syntax <strong>and</strong> two concrete<br />

syntaxes. Both abstract <strong>and</strong> concrete syntaxes can be expressed using CFGs (1) <strong>and</strong><br />

in both cases syntax of individual productions has to be designed with respect to<br />

semantic processing of the productions.<br />

The grammar expressing abstract syntax is not intended to be directly used<br />

by the parser, therefore it does not have to be unambiguous nor deterministic<br />

context-free of a specified type. It should define elements, or concepts, that make<br />

up a language (regardless of the concrete form of the language) <strong>and</strong> the rules for<br />

composition of these elements [12]. When designing an abstract syntax of a lan-

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!