Institute for Informatics
Georg-August-Universität Göttingen

Databases and Information Systems

Uni Göttingen

MARS: Modular Active Rules for the Semantic Web
SWAN: Semantic Web Active Node

MARS is a general framework for specifying and implementing active rules (ECA rules) in the Semantic Web. SWAN is an architecture for individual active nodes that are compatible with MARS.

MARS and SWAN are developed by the DBIS group of Göttingen University within the Working Group I5: Evolution and Reactivity of the EU FP6 Network of Excellence REasoning on the WEb with Rules and SEmantics (REWERSE). MARS shares its ideas with the R3 project at Universidade Nova de Lisboa. The components and interfaces of both projects are interoperable.

A prototype for MARS&SWAN is available with an online interface at The travel scenario frontend is another demonstrator for the MARS and SWAN prototypes.

The MARS protopype features the following services/languages:

  • ECA-ML (designed by the MARS group) as rule language
  • woodstock as an implementation of the SNOOP Composite Event Algebra,
  • an implementation of XML-QL for atomic event matching,
  • OWLQ (designed by the MARS group) as query language (for queries, tests, and event matching) and RDF-CL as RDF generation language (for actions and for raising events),
  • an implementation of the CCS - Calculus of Communicating Systems process algebra for implementing composite actions,
  • an LSR - Languages and Services registry where all services that signed on to the MARS infrastructure are listed. Note that the MARS framework is open for foreign languages and services.


Ontology Files

Languages and Service Ontologies

The non-ECA-specific meta-ontologies of languages and service descriptions [internal: Whitepaper Section 8] are located under

Ontology of Language Structures

The non-ECA-specific meta-ontologies of language structures [internal: Whitepaper Section 12]

Specific Languages Ontologies

The Framework defines the ECA-ML Language as its main language and introduces existing component languages (such as SNOOP for composite events and CCS for processes). Note that the language-specific things are located under