A development of state-transition diagrams that introduces hierarchical states and concurrent states. In a statechart a concurrent state can indicate that a modeled item must be in several parallel states simultaneously. This is useful where an object can have several independent behaviors while in a given operating mode. For example, an aircraft in flight will simultaneously have a navigation state (e.g. manual control or autopilot control) and this will be independent of which radio is being used to communicate with air-traffic controllers (and at which frequency).