Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8192117
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 7, 20262026-06-07T04:05:54+00:00 2026-06-07T04:05:54+00:00

Base on Wikipedia , I can have a hierarchical state decomposition, where I have

  • 0

Base on Wikipedia, I can have a hierarchical state decomposition, where I have multiple orthogonal regions, which can change state independently.

The diagram shows how the orthogonal regions are entered. I assume that the entry happens in parallel in all regions. What I want to know is, how do you express the exit? If each region has an exit, does the global parent state exits when the first child region exit, or when they have all exited? I want to express that the exit happens when they have all exited. And how do you express that the global parent state transitions to the next global state because all children regions have exited? Is that always implicit?

My concrete problem is that my FSM starts in the Initializing global state. It sends multiple queries to multiple external systems asynchronously in parallel. Only once it has received the answer to each query, it can then proceed. So I model each asynchronous parallel query as an orthogonal region inside the global Initializing state. Each child region can change state independently. When all child regions have reached an end-state, I can move on.

The FSM will be implemented in an Actor framework, where asynchronous messages (events) are the only way to communicate.

Ideally, I’d like the answer to point to an example image, as such things are difficult to express in words.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-07T04:05:59+00:00Added an answer on June 7, 2026 at 4:05 am

    A completion transition from the orthogonal state will do the trick, since it will be taken when all of the orthogonal regions have finished.

    When an composite state (state with inner states and/or orthogonal regions) is entered, each region starts at its initial state, to a different state in each region using fork pseudonodes, or to the last state of each region if the state is entered through a history pseudostate. Exiting the composite state can be done through a transition that starts at one of the inner states, which exists all of the orthogonal regions from their current state. If you want to exit when a the machine has come to a set of states in different regions, you can also use join pseudostates.

    As you can see, the possibilities are almost endless. I can’t add an image yet, but I’ll do it later when I have a good UML editor at hand.

    An now the example. Suppose you have the following state machine:
    example state machine

    1. If both parallel regions finish (arrive at a final node), then the completion transition will take the machine from S1 to S5. If the
    2. If the machine is currently at S3 and receives e1, it will exit S1 and go to S6.
    3. If the machine is in S7 and S8 and they both finish, it will go to the join and then to S6.

    This is the way I know state machines work.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have created a little robot like the Karel robot ( Wikipedia ) which
I'm trying to implement a force base graph layout algorithm, based on http://en.wikipedia.org/wiki/Force-based_algorithms_(graph_drawing )
${BASE}/test/ other_consecutive_none_empty_characters If the cursor is under the $ sign ,how can I copy
ActiveRecord::Base has a big ol' API with multiple methods for both finding and saving
I'm reading about the State pattern. I have only just begun, so of course
I have recently completed the following interview exercise: 'A robot can be programmed to
Base on my understanding, The supporting multiple screen size is work on 3.2 or
BASE stands for 'Basically Available, Soft state, Eventually consistent' So, I've come this far:
Although I have no problem whatsoever understanding recursion, I can't seem to wrap my
Using this example coming from Wikipedia, in which DrawSquare() calls DrawLine() : (Note that

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.