Giter VIP home page Giter VIP logo

Comments (3)

sverweij avatar sverweij commented on June 20, 2024

Hi @noricor - I guess you mean that this...

image

...could render nicer? State-machine-cat runs into the limitations of the auto-layout engine in some occasions. I'm on the lookout for an other one.

That said if I interpret your last sentence correctly: would something like this work? Or does this miss something?

image

Initial.initial,
On: 
events.GetState / Action.GetState
events.GetVersion / Action.GetVersion
events.SetLogLevel / Action.SetLogLevel
 { 
   foo:events.GetState / Action.GetState, 
   bar;
   
 },
 Off.final;

Initial.initial -> On;
On -> Off.final : events.Exit / Action.Exit;
On -> On : events.Reset;

from state-machine-cat.

noricor avatar noricor commented on June 20, 2024

Hi,

yes, you identified the rendering issue correctly, especially for large state machines (20-30 states with lots of transitions and stuff) this becomes a readability issue.

Regarding the second part. Yes, this would work and it is also more in line with the UML 2.5 spec which introduces an "internal transition compartment" for states

Internal Transition compartment
This compartment contains a list of internal Transitions, where each item has the following syntax:
{trigger}* ['[' guard']'] [/behavior-expression]
Where is the notation for Triggers (see sub clause 13.3.4), is a Boolean expression for a
guard, and the optional is the specification of the effect Behavior to be executed if the
Event occurrence matches the trigger and guard of the internal Transition. It is an expression written in some
textual surface language, which may be either a vendor-specific or some standard language (see sub clause
16.1).

Cheers

from state-machine-cat.

github-actions avatar github-actions commented on June 20, 2024

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

from state-machine-cat.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.