xjCharts – A Statecharts Toolset for Developers

Environment: Win95 IE4.0 or Win98 or NT4.0 SP3; VC5.0 SP3 or VC6.0 SP2

xjCharts is a visual toolset for development of application components
with event-driven behavior. It drastically saves developer’s time when
dealing with concurrency and synchronization in multithreaded/multiprocess

When do you need a statechart?

During its execution, a program performs operations in response to the
external or internal events and conditions. The existence of a state within a
program means that the order in which operations are invoked is important. For
some algorithms, this event and time ordering of operations is so pervasive
that we can best formally characterize the behavior of such programs in terms
of a state transition diagram.

A state transition diagram (statechart) is used to show the state space of a
given algorithm, the events that cause a transition from one state to another,
and the actions that result from a state change.

xjCharts toolset

xjCharts includes:

  • UML-compatible Statecharts Editor / C++ Code generator
  • Runtime Engine (library)

The user draws a statechart (a state machine with a number of useful
extensions) and xjCharts Editor generates its C++ implementation into the
given source file. Being linked with xjCharts Engine, the resulting
code behaves according to UML semantics. Transitions in xjCharts are
triggered either by OS synchronization objects (system events, mutexes,
semaphores and threads) or by timeouts. Actions associated with states
and transitions are specified in C++.

xjCharts Editor can work either standalone or plugged into
MS Visual C++ 5.0/6.0. In the latter case the Editor views
are synchronized with an open MS Visual C++ document.


Full version of xjCharts can be downloaded from

The setup file size is 1.2MB; it includes User’s Manual, HTML Help and exapmples.
Install and uninstall supported.

xjCharts is free for non-commercial use.
Commercial users must purchase a license.


The code generated by xjCharts Editor as well as the source code of
xjCharts Engine is developed as portable as possible. On the contract
basis XJ ports xjCharts Engine to compilers / target platforms other than
MS Visual C++ / Win32. XJ also sells source licenses for xjCharts Engine.

For more information please contact
[email protected].

Date Last Updated: May 17, 1999

More by Author

Must Read