AlexandreDecan / sismic

Sismic Interactive Statechart Model Interpreter and Checker http://sismic.readthedocs.io/
GNU Lesser General Public License v3.0
141 stars 25 forks source link

Error in visualizing `tests/yaml/deep_history.yaml` #111

Open rajivr opened 3 years ago

rajivr commented 3 years ago

Firstly, thanks a lot for this tool. I accidentally discovered it, and I am really glad I found it.

I am new to sismic. I was trying to visualize tests/yaml/deep_history.yaml, and it looks likes plantuml is throwing an error.

Sismic version is current master (commit e8b585f90d)

Here are the steps that I followed.

$ sismic-plantuml deep_history.yaml > deep_history.uml

$ plantuml deep_history.uml 
Error line 39 in file: deep_history.uml
Some diagram description contains errors

$ plantuml -version
PlantUML version 1.2021.9 (Sun Jul 25 15:43:56 IST 2021)
(GPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Default Encoding: UTF-8
Language: en
Country: US

PLANTUML_LIMIT_SIZE: 4096

Dot version: dot - graphviz version 2.47.3 (0)
Installation seems OK. File generation OK

Here is the image that is generated by plantuml.

deep_history

AlexandreDecan commented 3 years ago

Hello,

Thanks for having reported this issue! I'll have a look at it within the next few days. :)

AlexandreDecan commented 3 years ago

For what I see, it seems this "issue" is on PlantUML side. The current implementation does not support concurrent state with outgoing transitions. A similar limitation arises when trying to visualize "nested_parallel.yaml", but not "elevator.yaml" for example.

I have no idea what I could do to fix this, unfortunately... :(

Related discussions:

tommens commented 3 years ago

If PlantUML does not respect the UML 2.5 specification w.r.t. what is possible to specify in certain statecharts, then it is indeed difficult to do anything about it from the side of Sismic. PlantUML should try to fix this problem. (I do not know if they will do this anywhere soon, given that some of the issues are "due to the current implementation" of PlantUML.

AlexandreDecan commented 3 years ago

The first (above) discussion dates back to 2014. The second one was created this year, in March. I hope it will receive more feedback :)

rajivr commented 3 years ago

Thanks @tommens and @AlexandreDecan for the feedback and the pointers.