Mirella and HeKatE

Mirella was a prototype design and implementation tool for the first version of the XTT method.

It laid the foundation for the HeKatE Project.

The project has been discontinued, it is not compatible with HeKatE tools!

Old information is provided below (for historical reasons).


Mirella is on of the results of the Ph.D. dissertation by Grzegorz J. Nalepa, Ph.D., entitled “Meta-Level Approach to Integrated Process of Design and Implementation of Rule-Based Systems”, 2004, AGH University of Science and Technology.

Mirella is an intelligent visual design tool supporting on-line verification of rule-based systems, based of the XTT knowledge representation. It is oriented towards designing reliable and safe rule-based systems in general. The main goal of the system is to move the design procedure to a more abstract, logical and graphical level, where knowledge specification is based on use of abstract rule representation. The designed graphical specification is automatically translated into a predefined XML (XTTML) knowledge format, so the designer can focus on logical specification of safety and reliability; simultaneously, practical code can be generated form a wide class of systems. On the other hand, formal aspects such as completeness, determinism, etc. may be automatically verified on-line during the design, so that it verifiable characteristics are preserved.

Mirella is based on the XTT knowledge representation method. The main idea behind new visual knowledge representation language called Extended Tabular-Trees aims at combining some of the existing approaches such as decision-tables and decision-trees by building a special a hierarchy of Object-Attribute-Tables. This hierarchy is based on the Psi-tree structure. The new language has some unique features such as: simplicity and transparency, due to an intuitive way of graphical knowledge specification, hierarchical, tree-like knowledge representation, highly efficient way of visualization with high data density using tables similar to Relational Database tables, power of the decision table representation, flexibility with respect to knowledge manipulation, analogies to the RDB data representation scheme, direct knowledge representation mapping into PROLOG schemes and rule-based systems.

Mirella and XTT have been discussed in more detail in several scientific papers, namely:

  • G. J. Nalepa, A. Ligęza, A Visual Edition Tool For Design And Verification of Knowledge In Rule-Based Systems, Systems Science, 31(3), 103-109, (see gjn2005:syssci:mirella).
  • G. J. Nalepa, A. Ligęza, A Graphical Tabular Model For Rule-Based Logic Programming And Verification, Systems Science, 31(2), 89-95, (see gjn2005:syssci:xtt).
  • G. J. Nalepa, A. Ligęza, Designing reliable web security systems using rule-based systems approach, Advances in Web Intelligence : first international Atlantic Web Intelligence Conference AWIC 2003 : Madrid, Spain, May 5–6, 2003 : proceedings / eds. Ernestina Menasalvas, Javier Segovia, Piotr S. Szczepaniak. – Berlin ; Heidelberg : Springer-Verlag, 2003. – (Lecture Notes in Computer Science) ; (Lecture Notes in Artificial Intelligence ; 2663, (see gjn2005:awic).

Mirella design

The architecture of Mirella consists of several modules and layers. There are four main system layers: environment it provides ways of importing, exporting and presenting knowledge base in both human and machine readable formats, visual - it allows for visual design of knowledge base, logic it provides means of formal verification of knowledge base, semantics it helps in adding domain-specific semantics to the knowledge base. The knowledge base itself is a repository for XTT based system description.

There are four principal modules of the system:

  • Mirella Creator - which supports defining of system attributes with specific constraints, and semantic information,
  • Mirella Designer - which allows for visual design of system knowledge base using XTT schema,
  • Mirella Validator - which performs on-line analysis of system formal properties via an integrated Prolog compiler,
  • Mirella Exchanger - which consists of number of import and exports plugins, exchanging data with other knowledge representation languages, and domain specific system prototypes.

Mirella Architecture

Mirella implementation

The development platform for Mirella has been chosen with flexibility, portability and efficiency in mind. The platform consists of several middleware layers supporting GUI, canvas management, Prolog integration and XML handling; main components are:

  • GLib is a low-level general-purpose core utility library, providing a portable implementation of fundamental data types and algorithms and an advanced and extensible type/object system for ANSI C language.
  • GDK is a middleware that implements a portable general drawing toolkit providing an abstraction over native operating system drawing and windowing system.
  • GTK2 is an advanced library for building complex multiplatform graphical user interfaces, it provides multiple GUI components, widgets. GTK2 has a C-based object-oriented architecture that allows for maximum flexibility.
  • libGlade allows for dynamic runtime GUI building using an XML-based interface description; it also provides functions that can be used to connect signal handlers to parts of the interface.
  • GNOMECanvas provides a high-level engine for creating structured graphics that offers high performance rendering and rich imaging model;
  • libXML2 is a portable and efficient parser toolkit for XML that implements all core XML technologies such as XML-NameSpaces, XPath, and XSLT.

The architecture described above is implemented in pure, ANSI C language, and is able to run on multiple platforms. While the environment is being implemented in the GNU/Linux environment, it can be easily ported to Sun Solaris, and possibly Windows platform.

The SWI-Prolog is a modern ISO-compliant portable Prolog compiler. The SWI-Prolog was selected due to its: flexibility, portability, availability, and possibility of integration with other software. It offers a bi-directional programming interface to and from ANSI C language allowing for easy integration with other code. It provides a built-in XML/RDF parser, suitable for direct XML processing and applications in the field of Semantic Web.

Mirella Development Platform


Below several real-life RBSs designs in Mirella are shown.

Mirella Thermostat

Mirella Traffic Example

Mirella Firewall Example


A beta version of the tool was made available in 2004. However, due to grave rework in XTT method itself, the codebase has beed discontinued.

Mirella experiences where the foundation for the HeKatE project

hekate/mirella.txt · Last modified: 2009/05/07 21:15 by gjn
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0