An object-oriented framework for implementing UML state machines.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


The North State Framework (NSF) is an object-oriented framework for implementing UML state machines. For more information, see the pages here.

  1. Compilation
  2. Using NSF
  3. Documentation
  4. Contributing


a. Build Requirements

  • The NSF in C# requires Microsoft .NET 2.0 for compilation.
  • The solution provided is compatible with Visual Studio 2013.
  • Doxygen is required to build the documentation. (Optional)

b. Building the Software

  • Open the file NorthStateFramework-csharp.sln within Visual Studio.
  • Choose either Debug or Release build configurations.
  • Build the code from the IDE
  • Output will be placed in the Build directory
    • Executables will be created for the test project and each of the example projects
    • NorthStateFramework.dll will be created for use in other projects.

c. Building the Documentation

  • If you wish to build the documentation you must first install Doxygen.
  • Open the solution
  • Right click on the Documentation project and choose build.
  • Index.html and other html pages will be generated to the \Documentation\Doxygen\HTML directory.

Using NSF

NSF is a framework contained in a dll for inclusion in projects that require state machine behavior. To start using NSF, reference the NorthStateFramework.dll within your project. See the included examples. For an in-depth tutorial on using NSF, see the WorkingWithNorthStateFramework document contained in the solution.


If you would rather not generate the documentation, you can use the online documentation located at


Before submitting changes to NorthStateFramework-csharp, please review the contribution guidelines at