Specification languages and tools

Process algebra

We think process algebra is suitable for describing various aspects of VEs: modalities, GUI components, and possibly task and dialogue models. In terms of computer-aided tools, process algebra has two possibilities: automatic model checking and execution.

Model checkers/process algebra compilers

Process algebra in programming languages

We are interested in execution of process algebraic descriptions or automatic code generation. In our case, we wish to develop a VE system that is web-based, which probably implies Java.

Architectural description languages

The basic idea of architectural description languages (ADL) is to enable the structuring of a software system into modules with explicit interfaces.

Plan-based executable languages

AI and `agent' applications often use plan-based engines. Such engines are also used for simulation of human cognition.

Agent platforms

Agent platforms typically implement a protocol through which (mobile, Web-based) agents may communicate. Sometimes, though usually not, a plan specification language with reasoning engine is also supplied. Since these platforms are generally internet-based, they are typically written in Java.