================================ 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. .. image:: ./img/xgee_example_app.png :alt: View of the XGEE example application The definition of the graphical visualization and editing capabilities is carried out using the :doc:`XGEE presentation model <./presentationModel/EPackage_editor>`. 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 :doc:`plugins <./tutorial/extending_xgee>`. ################## 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: .. code-block:: 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*: .. code-block:: 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 .. code-block:: 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/xgee_example_app.rst>`_ 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/own_xgee_project.rst>`_ 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