A visual editor for the XTT2 method, originally developed within the HeKatE project.

See the HQed website.

Concept, requirements, extensions, supervision: Grzegorz J. Nalepa

Design and implementation: Krzysztof Kaczor

Support: Krzysztof Kaczor

Developers page: HQEd developers page


See sort hqed presentation: HQEd presentation

Wiki version: HQEd presentation

The tool makes the visual design on the XTT level possible. What is more, it provides a mechanizm for formal verification, which allows for checking a model against the syntax and logical anomalies. The tool has built–in engine of syntax monitoring that checks the model against such errors as: inaccessible rules, values out of domain, etc. The logical anomalies are detected by other tool that constitutes logic server. The platform independence is the most important issue of the tool implementation. This effect has been reached by use of the Qt library. The Qt library is a cross-platform application development framework. It has a fully object-oriented architecture. Qt supports a various of technologies such as XML, OpenGL, SQL. A source code created by using Qt can be compiled on such platforms as X11, Windows, MacOS, and embeded systems based on GNU Linux. The source code of HQEd is divided into three layers, which correspond to MVC design pattern:

  • Model – is responsible for the internal XTT and ARD model representation.
  • View – provides the user interface as well as is responsible for the communication with the application.
  • Controller – provides the communication between the layers.

HQEd has a user friendly graphical interface. GUI is designed with respect to an intuitive and convenient use. Each window dialog has the appropriate input/output controls. This prevents the user from entering an incorrect data. The Figure 1 shows the schema of the architecture. The controller is the most important element of the architecture. It enables a flow of data between the layers. It corresponds to the MVC controller layer. The model consists of two layers that are responsible for the internal models representation. ARD Model stores an ARD model data, while the XTT Model stores an XTT model data. The remaining layers are included in the view that maps the model to the other formats:

  • User Interface – the visual model representation that is appropriate for an user. This layer generates the graphical XTT diagram.
  • XML mapping – translates a model data to a XML based language called HML (HeKatE Markup Language). The layer allow for storing and restoring the state of a model by use of the files. The HML file format supports storing both the ARD and XTT model data.
  • Plugins API – provides the communication between HQEd and the other services. The visual editor can be integrated with a custom rule interpreter HeaRT.


HQEd helps in rules modeling. Design process can be divided into three stages : (shown example describes office temperature management system)

Conceptual design

Identification of system attributes and it's functional connections. At this stage we use ARD modeling methodology which is a graphical representation of attribute's connections. ARD supports two types of attributes:

  • conceptual (abstract, general term)
  • physical (well defined, concrete and specyfic object properties, atomic system aspects)

ARD also supports two types of transformation:

  • finalisation (conceptual attributes during designing process are being finalised into possible largest amount of physical attributes)
  • split (division of complex system properties into few attributes and establishment of their functional dependencies)

Logical design

System stucture is being represented as hierarchical XTT structure. At this stage system structure may be analised, verified and optimised.

XTT is a knowledge representation formalism that allows to adjust structuring rule base by introducing rules grouping tables having the same attributes and to link between tables allowing for control of inference between the tables.

Physical design

For XTT model, Prolog code is generated, which can be compiled, executed and corrected


  • 2011.02.22 – release M6_10_1: fixed table moving in Qt 4.5 and later, other compatibility issues and a lot of bugs
  • 2010.01.06 – release M6_10: separate state pane, ui fixes and other bugs, rules sorting, selcting system trajetories
  • 2009.11.06 – release M6_9: HeaRT integration, fixes, ui fixes
  • 2009.08.02 – release M6_8: HeaRT integration, fixes
  • 2009.05.13 – release M6_6: support for XTT2, HML2, and HMR
  • 2008.04.21 – release M5_6
  • 2008.03.09 – public release, M5_2
  • 2008.03.05 – M5_2
  • 2008.02.29 – HQEd goes GPLv3

Getting it

Just download a HQEd milestone file below.


Waiting for new release…

OLD Releases (do not use)

  • 2011.02.22 – release M6_10_1: fixed table moving in Qt 4.5 and later, other compatibility issues and a lot of bugs
    To RUN download the hqed-m6_10_1.tar.gz file.
  • 2010.01.06 – release M6_10: separate state pane, ui fixes and other bugs, rules sorting, selcting system trajetories
    To RUN download the hqed-m6_10.tar.gz file.
  • 2009.11.06 – release M6_9: HeaRT integration, fixes, ui fixes
    To RUN download the hqed-m6_9.tar.gz file.
  • 2009.08.02 – release M6_8: HeaRT integration, fixes
    To RUN download the hqed-m6_8.tar.gz file.
  • 2009.05.13 – release M6_6: support for XTT2, HML2, and HMR
    To RUN download the hqed-m6_6.tar.gz file.
  • 2008.04.21 – release M5_6
    To RUN download the hqed-m5_6.tar.gz file.
  • 2008.03.09 – public release, M5_2
    To RUN download the hqed-m5_2.tar.gz file.
  • 2008.03.05 – M5_2
  • 2008.02.29 – HQEd goes GPLv3

Build it and run it


Build dependencies might include (in a Debian/GNU-related distro):

aptitude install libqt4-dev qt4-qmake qt4-dev-tools

Use it

Ready models

Look for xttml files in heakte cases.


  • run VARDA with ARD model:
    ./varda therm-model.pl
  • build XTT model from the ARD model
    ?- gax.
  • export the XTT model to XTTML file:
    ?- xxg('therm.hml').
  • optionally, you can save the ARD model with
    ?- axg('therm.hml').

    load it to hqed and generate xtt prototypes in the editor.

Report bugs

Please report the bugs, suggestions to the Redmine system:

  1. access the system with the kirk user/pass
  2. create new issue, use HQEd subproject

Emergency support: Krzysztof Kaczor kk@agh.edu.pl

Docs OnLine

The DoxyGen doc for Hqed, automagically regenereted.


hekate/hqed.txt · Last modified: 2019/06/27 15:49 (external edit)
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