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":

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 :

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

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.

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

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
-
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.
-
If you compile with MinGW, some Windows commands are only available with admin rights. You have to launch your executable as an administrator.
-
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 :

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

Normally it should be "object_to_dataset(object_param:cilObject)
First check the following steps :
- In the model explorer go to
"ExternLibrary" ExternalTypes
"External, ExternalClass" cilObject
- In
properties > Profile > ExternalClass (from cil4sys)
- If kind is "WebSocketServer" change it to "cilObject"

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 :

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 :
- In the model explorer go to
"ProjectPackage" Project_name
"ActorsPackage" Actors
"Include, Dictionary" DictionaryClass

- Select object_to_dataset(object_param)
- Go to properties then UML
- In Owned parameters double click on object_param
- Change the type by clicking on "..."

- In the popup that opens, type "cilobject" then select
<<External, ExternalClass>> <Class> cilObject
