North State Software - UML State Machine Code Generators

Product Benefits

Customer
Success Stories

Example
Implementation

Product Comparison

Free Download

Buy Now

Links

Design Benefits of UML State Machines and the North State Framework

State machine diagrams provide a powerful and compact notation for visually describing complex, event-driven system behaviors. Diagramming your system design using state machines provides a number of benefits over traditional design methodologies:

  • Easily conveys and communicates system behaviors to non-technical staff
  • Provides a high-level of abstraction, allowing architects and developers to see the “big picture”
  • Masks details so that engineers can identify opportunities for additional optimization and reuse

State machines can be used to describe virtually any type of system, but are especially well-suited to event-based designs in:

  • Embedded systems
  • Control systems
  • Multi-threaded applications
  • Communications protocols
  • Robotics
  • Fault handling systems
  • User interfaces

Implementing Your State Machine with the North State Framework

While UML State Machine notation provides a number of design benefits, engineers must still determine the most cost-effective and robust coding constructs for implementing their state machine designs. Typical solutions are “switch” statements, “if-then” constructs, or “gang-of-four” patterns; however these mechanisms are not easily extensible through class inheritance and composition and can be difficult to debug, maintain, and extend as the system grows over time. Few commercial tools available today support state machine code generation. Those that do are typically expensive and fail to provide the type of extensibility afforded by the North State Framework (NSF).

NSF’s use of highly extensible C# classes and its one-to-one mapping between diagram elements and classes provides a simple but powerful framework in which to generate robust, maintainable code for your state machine. Benefits of NSF include:

  • Easier debugging and greater maintainability
  • Reduced coding time due to the simplicity of mapping between UML State Machine diagram elements and classes
  • Reduced engineering time due to the inclusion of utility classes such as timers and trace logging
  • Simplified coding of complex business logic using NSF’s robust support for state machine class inheritance and composition

To learn more, download the free version. >>