跳到主要内容

FAQ for Designer

You can find here frequently asked questions. If you have a question that is still not here, please contact an admin so he can update the page.

Designer4Papyrus is slow to open diagrams

With Designer closed, modify "sim4sys.ini" file in the install directory, to add "-clean" before "-vmargs" line.

'BroadcastI_myFlow' has no member named 'yFlow'; did you mean 'myFlow'?

This kind of error often happens when an old naming is still in use in the model. One of the most common reason is the fact that an error has been corrected but it was not correctly updated. Here, the typo "yFlow" was corrected back to "myFlow", but "yFlow" is still used in the model.

It may be the fact that the state machines were not re-generated after operating the change. Generate the state machine for each diagram in which the flow "myFlow" may be used, this will update the flow name in the state machines.

'yFlow_value' was not declared in this scope; did you mean 'myFlow_value'?

If you renamed a flow, the typo may still shows up in other parts of the model. When a flow carries a parameter, it creates an internal variable that uses the name of the flow + the name of the parameters. By renaming the flow, the internal variable may still contain the typo. If this variable is used as a value in a parameter it may not be updated as in the example below where the flow was written with a space added at the end, and was then corrected. "the_driver_has_braked " (with a blank at the end) was corrected to "the_driver_has_braked":

typo not updated the_driver_has_braked

To update this you need to delete the flow (right click on the flow > Delete Selected Element), and trace it again. You will have to regenerate the state machine afterwards.

'EnumLiteralName' conflicts with a previous declaration

This error happens when you have multiple enumarations using the same literal name :

enumerations with same literal

To fix this, in Designer, Window → Papyrus → C++ code generation and check the "Use C++ 11 class enumeration" box.

cpp checkbox

Click Apply and Close, then Generate and Build your project.

How to rename a Designer project

In order to rename a Designer project, please go to the Project Explorer. You can then right click on theproject.di and rename it.

Rename the project in the project explorer

After that, please go to the overview and rename the project in properties.

Rename the project in the project explorer

Vector <data> error in object.h

If you have the following error when compiling:

...\CIL4SysLibs\libs/ComWebSocket/object.h:25:16: error: template argument 1 is invalid
25 | vector< data > itsData;
| ^
...\CIL4SysLibs\libs/ComWebSocket/object.h:25:16: error: template argument 2 is invalid

It means that you have installed the wrong versions of Cygwin's packages. Please refer to this page to reinstall the correct packages.

Why my executable crash at launch

  1. If there are an "entry" transition in an Initial State of your State Machine, the creation of the latter, during initialization, will be disrupted by this transition. You must delete these transitions to avoid this problem. If you ever wish that there is actually an "entry" transition in this State, then you will need to create a transitory initialization state.

  2. If you compile with MinGW, some Windows commands are only available with admin rights. You have to launch your executable as an administrator.

  3. It may be possible for the model tries to access a list with an index greater than its max size.

Desynchronization between the Overview and Properties tab

If ever an item in the Overview tab does not have its details displayed in Properties, there is a desynchronization in between. To fix this, you need to close the Overview and relaunch it via Window > Show View > Overview.

Cygwin stackdump error

If your executable crashes with the "Cygwin stackdump" error, here is how to fix it :

First you have to find at what part of the execution your executable crashes. You can put cout to find what flow causes the crash of your program. You can follow this link for more precisions:

When you have identified which part of your model (sequence diagram) causes the crash you can try the following method (since the stackdump can be caused by various errors it may not work for you):

  • Delete the trigger in your sequence diagram
  • Generate the state machine to delete the transition
  • Trace the trigger
  • Generate the state machine (to generate the transition again)

How to copy and reuse a Designer project?

To duplicate a Project within the same workspace, you can go to the "Project Explorer" tab of Designer Papyrus, right-click > Copy on the model to copy (or Ctrl+C), then right-click > Paste that model (or Ctrl+V).

cilobject object_to_dataset(undefined) errors

If you have the following error :

object_to_dataset undefined error


It means that there is a missing type for the "object_to_dataset" operation :

object_to_dataset operation missing type


Normally it should be "object_to_dataset(object_param:cilObject)

First check the following steps :

  1. In the model explorer go to "ExternLibrary" ExternalTypes
  2. "External, ExternalClass" cilObject
  3. In properties > Profile > ExternalClass (from cil4sys)
  4. If kind is "WebSocketServer" change it to "cilObject"
cilobject_external_class wrong kind


Then in the model explorer, right click on "ModelPackage, ListHint, Include" Your_project_name > Migration > Update model mappings.

Check in "ProjectPackage" Project_name > "ActorsPackage" Actors > "Include, Dictionary" DictionaryClass that object_to_dataset has the type cilObject :

object_to_dataset_operation correct type


The errors should be fixed.

If the kind of "External, ExternalClass" cilObject is set to cilObject and you somehow still have errors regarding the type of object_to_dataset, you can change its type manually :

  1. In the model explorer go to "ProjectPackage" Project_name
  2. "ActorsPackage" Actors
  3. "Include, Dictionary" DictionaryClass
actors_dictionnary_class
  1. Select object_to_dataset(object_param)
  2. Go to properties then UML
  3. In Owned parameters double click on object_param
  4. Change the type by clicking on "..."
type_undefined
  1. In the popup that opens, type "cilobject" then select <<External, ExternalClass>> <Class> cilObject
search_cilobject_class