ygen_ui - Documentation

ygen_ui can be used to generate code for one state machine or for multiple state machines at once. It does so by transforming model files into C++-code. Model files can be created by using our EA add-in or by using your own generator.

Structure and functionality

ygen_ui works with projects. Each project can contain multiple state machine configurations and common settings for those state machines. Each state machine has its own settings.

Basic stuff

The following works in every window:

  • Open the online help page by pressing the '?' button.

  • Pressing the '_' button minimizes the window.

  • Pressing the 'x' button closes the window. If there are unsaved changes (e.g. to a project or state machine) a confirmation is necessary.

Main interface

images/download/attachments/9863368/doc_main.jpg

From the main interface, the user can create new projects (via the 'New project' button), open an existing project from a file (via 'Open project' button) or quickly open a recent project from the list of recent projects. To exiting the application use the the 'Quit' button.

By pressing the 'Settings' link, the window for the application settings opens. Pressing the 'Information' link will open the window containing information about the licenses and versions.

Project interface

images/download/attachments/9863368/doc_project_window.jpg

A project can contain multiple state machine configurations and some common settings for all state machines.

Common settings include:

  • namespaces that will be used for all state machines and will be used in front of any other namespace defined for the single state machines.

  • path for the output of header files - it can be overwritten by each state machine

  • path for the output of source files - it can be overwritten by each state machine

The user can:

  • Add, edit and delete state machines by pressing the corresponding buttons.

  • Add, edit and delete namespaces by pressing the corresponding buttons.

  • Change the order of namespaces by pressing the 'Move up' and 'Move down' buttons. These buttons are only visible if there are at least 2 namespaces.

  • Generate selected state machine by pressing the 'Generate' button.

  • Generate all state machines by pressing the 'Generate all' button.

  • Save changes to the project by pressing the 'Save' button.

  • Save the project in a different location or under a different name by pressing the 'Save as' button.

  • Close the project and return to the main interface by pressing the 'Close' button. If there are unsaved changes to the project, a confirmation is necessary.

  • Exit the application by pressing the 'Quit' button. If there are unsaved changes to the project, a confirmation is necessary.

State Machine interface

images/download/attachments/9863368/doc_state_machine_window.jpg

The state machine window contains the settings for code generation for this specific state machine.
The settings are:

  • Name of the state machine.

  • Path to the model file ('.ym') where the state machine is described.

  • Path to the output header file.

  • Path to the output source file.

  • Template type that is used for generation.

  • Type of the state machine. It can be synchronous ('sync') or asynchronous ('async').

  • Namespaces that will be used for this state machine. The namespaces from the project are going to be used first followed by the these namespaces.

  • The names of the classes that contain free functions or methods that are used as behaviors and/or guards in the state machine.

The user can:

  • Name the state machine

  • Choose the path of the model file by pressing the '...' button in the model file field or enter the path in the text box.

  • Choose an option for the output file paths:

    • Use the project default: The path from the project is kept and the names of the header and source file will be the same as the state machine's name plus the corresponding extensions.

    • Override output directories (same for header and source): The user can choose (or manually enter) the path for the header file in the header file field and the source file will use the same path and name.

    • Override output directories (different for header and source): The user can choose (or manually enter) the path for the header file and the source file independently.

  • Choose template type for code generation.

  • Choose the state machine's type. It can be synchronous ('sync') or asynchronous ('async').

  • Add, edit and delete namespaces.

  • Change the order of namespaces by pressing the 'Move up' and 'Move down' buttons. These buttons are only visible if there are at least 2 namespaces.

  • Add, edit and delete behavior classes' names.

  • Move behavior classes' names up or down in the list. These buttons are only visible if there are at least 2 behavior classes' names.

  • Generate the state machine by pressing the 'Generate' button.

  • Save the configuration of the state machine by pressing the 'Ok' button.

  • Cancel the configuration editing and return to the project window by pressing 'Cancel'. If there are changes to the state machine configuration, a confirmation is necessary.

Settings interface

images/download/attachments/9863368/doc_settings.jpg

In the settings windows the user can configure the appearance and behavior of the application.

Settings

Languages

  • English

  • German

  • Romanian

Themes

  • dark

  • light

The user can:

  • Change the settings

  • Press the 'Save' button which will save the current application configuration and apply it.

  • Press the 'Close' button which closes the settings window and discards all changes of the configuration.

Information interface

images/download/attachments/9863368/doc_information_widow.jpg

In this window information about the application version and about licensing is displayed.