I want to use a railroad diagram to show the sequence of steps an algorithm takes:

enter image description here

I want to say we start with "SCC scheduling". It then repeatedly calls "chunk scheduling". Then "chunk scheduling" repeatedly calls "group scheduling". When "group scheduling" finishes we go back up to "chunk scheduling". And then we back up one more step to "SCC scheduling" and repeat and if there is no more SCC then we go end state.

  foreach SCC
     run SCC scheduling

SCC scheduling:
  foreach chunk inside SCC
     run chunk scheduling

Group scheduling:
  foreach Group inside chunk
     run group scheduling

I have been thinking about this for a long time and I am struggling.

1 Answer 1


Perhaps I'm incorrect, but it seems straightforward to me...

enter image description here

Visual variation (different arrow positions)...

enter image description here

  • Actually I meant we go to the end from the "SCC" and not "group". But makes sense
    – Node.JS
    Feb 6, 2023 at 8:52
  • 1
    Technically, the process would end at the last group from the last Chunk. Unless an SC exists with 0 Chunks.
    – Scott
    Feb 6, 2023 at 9:31
  • Yes. That's true. You are right
    – Node.JS
    Feb 6, 2023 at 15:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.