STACCATO TM Finite State Machines for Embedded Software
  A Software Design Method and Architecture for Embedded Systems

 

Mapletech Productions LLC

Earn IEEE CEUs with the Staccatotm Crossroads SDK

Click here...

"..the power of Finite State Machines is their use for the Analysis and Design of both Abstract and Physical Systems.."

-from Course 1 of the Staccatotm Crossroads SDK

 Contact

Lean, Green Finite State Machines for Embedded Software   No RTOS Required!

HOME

FSMs

PRODUCTS

RESOURCES

EMBEDDED TECH

   Universatility    History and Definitions    Current State     For Project Mgrs    For Software Engrs   For HW Engrs

The Uni-Versatility of Finite State Machines

The concept of Finite State Machines (FSMs) is foreign to most people...

Even many in the engineering community are unfamiliar with this powerful concept, as traditionally, Finite State Machines are part of an Electrical Engineering or Computer Science curriculum. Yet most people, engineers and otherwise, would likely benefit from understanding some basic principles of FSMs, as they could apply them to most aspects of their personal and work lives. Doing so would result in more effective use of one's time and resources, which with most people, are in short supply. Just as FSM concepts have been abstracted from sequential circuit design and applied to software architecture, as in Staccato™ and UML Statecharts, FSMs can also be applied to the analysis and design of both abstract and physical systems. In other words, Finite State Machines are universally applicable, and are ideal for modeling systems.


The figure on the right shows how certain activities could be categorized as the Analysis-Design and Abstract-Physical application of Finite State Machines. Course 1 of the Staccato™ Crossroads SDK covers this material with detailed state diagram examples, but let's briefly discuss some additional examples here.

  • Analysis-Physical System

The human body consists of many systems, each of which could be regarded as in a specific state. The systems would include the circulatory, respiratory, digestive as well some attributes such as age, position and location, and consciousness. Analyzing and modeling these human systems and attributes using Finite State Machine concepts could be one metric to assess the overall health and status of an individual.

It is important to recognize that most systems and activities actually consist of components or attributes, each of which exhibit state behavior, suggesting that appropriate partitioning is necessary in order for State Machine analysis and design to be effective.

  • Analysis-Abstract System

Just about every competitive sport, such as American Football, Baseball, Tennis and Golf could be analyzed using Finite State Machine concepts. The game play rules for each sport specify the various events and conditions that would cause state transitions, such as scoring, timeouts, and penalties. It is the dynamics and strategies of how each individual game plays out (transitions among predefined states) that provides interest for spectators and a determination of competitors' skills. Such a system could assist officials during game play, as well as to provide an accurate account of an entire game or match. In this case, an Abstract System could be Analyzed using Finite State Machine concepts.

  • Design-Abstract System

One could (should) question why current economic systems exhibit such unpredictable and volatile behavior. With clear objectives (requirements) established, such systems could be Designed as a complex system of components and attributes, each of which exhibiting State Machine behavior. Despite the complexities of human behavior's influence on economic systems, a 'black-box' design, with appropriate control feedback, is conceivable and would free up resources currently applied to attempting to predict how the current system will react to a specific event or condition. In this case, Finite State Machine concepts could be utilized for the modeling and Design of an Abstract system with deterministic behavior.

  • Design-Physical System

In the spirit of energy conservation, the use of Finite State logic could improve the synchronization of traffic signals for our highway travel and reduce energy waste. Traffic signals themselves are good candidates for Finite State Machine implementation. In fact, the Staccato™ Crossroads SDK includes traffic signals as part of the demonstration project. However, Finite State logic would also be useful to Design and implement synchronization algorithms to improve our driving experience by saving time and energy. Surprisingly, optimizing highway traffic flow is a complex problem, given the network of intersections, traffic flow patterns as a function of time-of-day, and day-of-the-week, as well as accommodating emergency vehicle priorities. The use of effective highway vehicle sensors would act as primary input to these state machines. This provides an example of how Finite State Machine concepts could be used to improve upon the and Design of better traffic signal synchronization.


From just these few examples, one should realize the potential benefit of recognizing the versatility of Finite State Machines. FSMs are simply a method of improving our thought processes to organize the logic we apply to the analysis and design of abstract and physical systems and should be used to model any type of system. Finite State Machine concepts should be considered a paradigm of logic which can be directly implemented in hardware, software and more abstract systems. Finite State Machines should be used only for systems that we deem necessary to improve safety or to provide more efficient lifestyles. Applying FSM concepts to our personal activities in excess might be undesirable,  as unnecessary rigidity could take the fun out of just being human.


Staccato™ is concerned primarily with the Design of Physical Systems, in particular, Real-Time Embedded Software Systems. For a closer look at the History and Definition of Finite State Machines, click here...

© 2008 Mapletech Productions LLC, All Rights Reserved