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 environments.

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.

Download

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.

Portability

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 xjcharts@xjtek.com.

Date Last Updated: May 17, 1999