Getting Started

In the following, you will learn about XGEE. If you want to test drive XGEE then you might want to try out the XGEE Example Application.

What is XGEE?

XGEE stands for eXtensible Graphical EMOF Editor and is a web framework for the creation of web-based graphical editors for domain-specific models.

View of the XGEE example application

The definition of the graphical visualization and editing capabilities is carried out using the XGEE presentation model. The presentation model is used by XGEE during runtime to provide the model visualization and graphical editing tools. Further customizations can take place through the provision of plugins.

Installing XGEE

The easiest way to get to know XGEE or start your own project is checking out the XGEE Example Application from our repository and installing the XGEE framework launcher using pip:

git clone --recurse-submodules https://gitlab.com/xgee/xgee-example-app.git
pip install XGEE

If you are having difficulties cloning the repository, make sure that you have generated and added your public ssh-key to your GitLab account (https://docs.gitlab.com/ee/user/ssh.html) and also that you have added GitLab to the list of known hosts in your .ssh/ folder.

Launching XGEE

To launch XGEE open a command window in the xgee-example-app folder and simply type xgee:

xgee-example-app> xgee

This starts the EOQ server for the model data and a web server which are neccessary for XGEE. Now open XGEE in your web browser by typing localhost:8080 in the address bar of your web browser

localhost:8080

Note

XGEE has been tested with Mozilla Firefox, Google Chrome, and Microsoft Edge. The web application is served on http://localhost:8001. You can make port changes by altering the script httptornado.py. We recommend nginx or Apache in productive environments.

Warning

Firefox is capable of running the web application directly from the file system. In this case, no web server is necessary. Therefore, you have to make changes to its CORS (Cross-Origin Resource Sharing) settings. Due to the associated security risks we recommend undoing the configuration changes when browsing the internet. To prepare Firefox accordingly, type about:config in the address bar, then search for the security.fileuri.strict_origin_policy entry and set its value to false.

The XGEE Example application comes with graphical editors for the Open Avionics Architecture Model . Try them out with the example OAAM models. Please note, that the editors only show what they are configured for. This means that they show a blank window when there are no model elements to display. Afterwards, you can have a look at the Modeling with XGEE Editors tutorial to learn how to use your XGEE applications for modeling. If you are ready to start your own project based on XGEE the Starting your own XGEE project tutorial will help you with the initial setup.

Who is developing XGEE?

XGEE is being developed at the Institute of Aircraft Systems of the University of Stuttgart. We use XGEE for the development of automated design, configuration and safety-analysis tools for avionics systems. With XGEE we design the graphical editors e.g. for our domain-specific model for avionics systems, the Open Avionics Architecture Model. We hope that you find XGEE useful for your own project and welcome your contributions.

Projects using XGEE

AUTOSAFE - a prototype stage tool for the automatic generation of fault trees

TALIA - XGEE shall be used as the user interface for the domain-specific modeling framwork