Overview

XLIA (for eXecutable Language for Interaction & Assemblage) is a language to describe Systems. The Diversity tools support the definition and the symbolic execution of models. Its classical usage is devoted to help generate tests sets from the specification of systems expressed with XLIA.

Translations from different formalisms used in the literature to model concurrent communicating systems (such as UML, SDL ...) into XLIA are possible.

In XLIA a System is described as a set of communicating machines. A machine communicates with other machines or the environment via ports. The behavior of a machine is described by states and transitions. XLIA can specify triggers, guards and effects for each transitions.

The Language

XLIA can be considered to be a "Declarative Language". Indeed the written code only declares the existence of XLIA components (and their subcomponents recursively). It is the interpretation of their possible interactions by the Symbolic Execution Engine that allows results to be produced. There are no routines or procedure calls in XLIA; it is the description of a model, much like UML.

Most XLIA components are defined by :

The higher level components in XLIA are machines. When writing XLIA, the user may only interact with :