Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LCA? #44

Open
ringlej opened this issue Feb 9, 2018 · 1 comment
Open

LCA? #44

ringlej opened this issue Feb 9, 2018 · 1 comment
Assignees

Comments

@ringlej
Copy link
Contributor

ringlej commented Feb 9, 2018

In the README.md, you mention LCA:

LCA calculation is done (mostly) compile time.

I've been trying to figure out what is meant by LCA... Do you mean LCCA (Least Common Compound Ancestor) that is mentioned in https://www.w3.org/TR/scxml/#LCCA ?

@jp-embedded
Copy link
Owner

Yes, LCA in hierarchical state machines is the Least Common Ancestor which is called LCCA in scxml. But since LCA is always a compound state they are the same.

It is my intention describe this in more detail in the documentation. So it's fine you have opened an issue on this. I will try to prioritize it.

Basically, the LCA is needed when a transition is made. Then the exit action must be called on all states from the transitions source state and up to LCA and all enter actions must be called from the transitions destination state and up to LCA (in reverse order). This is actually possible to to compile time, so there is no code logic added to calculate this in the generated state machines.

@jp-embedded jp-embedded self-assigned this Feb 9, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants