Frequently Asked Questions (FAQ) |
Is upgrades charged extra?
As of now all the upgrades to latest versions are FREE. Existing
customers can download the latest version and use the same license
key.
Is SmartState supported in other languages?
SmartState is supported in English, German, French & Spanish
languages. One can choose the language of interest during
installation. Note: The support is only through emails in English.
Do I need to link with any library for the state machine?
The state machine code is distributed in source form. This gives
highest flexibility for the developers to DEBUG, compile for a
specific compiler setting or optimization. Also in some cases the
framework can be customized to suit specific requirements.
Is the generated code in C++ compile-able on Unix and Linux?
The generated code follows ANSI standard. It is primarily tested
with Microsoft Visual Studio compiler and GNU gcc compiler on Windows.
Since it is ANSI compliant it will get compiled on other platforms
like UNIX & Linux.
Does SmartState support Fork & Join for state charts?
Yes. But the notation is slightly different from UML notation.
Please refer to the user guide for more information on how to achieve
the Fork & Join behavior. Also there is an example to demonstrate the
usage.
Can we compile the state chart from the Studio tool itself?
Yes. The option to compile the chart for various targets are found
under CodeGen menu. This is useful for validating the model for errors
and also for frequent compilation while in development mode.
Is SmartState state machine persistent?
Yes. It is a feature and programmer has to explicitly specify the
stream (can be a text file or custom stream) for serializing the state
machine. Later it can be brought back to the same state even after
program shutdown. This is a very useful feature for developing state
based messaging workflows. The serialized data is very lightweight and
it contains mainly the information about all currently active states.
Refer to the examples for usage.
Can we order SmartState through Purchase Order?
It is very well possible. Shareit.com accepts purchase orders from
corporate customers.
Please read ShareIt.com FAQ :
http://www.shareit.com/ccc/index.html
Does SmartState support super states and concurrent states ?
Yes. It also support nested super states and concurrent states. We
can also send signals from one concurrent state to the other within
the state machine itself.
How do I define super states and concurrent states ?
Detailed information with samples are given in user guide. User
guide comes along with SmartState installation. Please download and
install SmartState.
I created a model, now how do I generate code from it ?
Run the code generation compiler smc2cpp for C++ / smc2c for C /
smc2java for Java by specifying the saved model file name. For more
information checkout the in user guide or step-by-step procedure guide
shipped along with the installer.
What does internal state message mean ?
Usually states are changed or actions are carried out when an
event occur on the context object. This is done by sending a message
to the State Handler object. But in some situations, when we enter a
state we may execute some action and depends on its result we may
change our state to a different one. To achieve this internal message
are really helpful.
Also in concurrent state machines, one of the
concurrent state can send messages to the other concurrent states
which is really a necessary in real life design.
Is the generated code thread safe ?
Usually, the state pattern describes the state of the context
object at any point of time, all we need to do is to protect the state
handler object from accepting more than one message at a time. So if
more than one thread is sending messages to the same state handler
object, The object needs to be protected.
So the generated code is not thread safe as such. Put sending of
messages in a critical section so that multiple threads wont send
messages at a time and it will become thread safe. Its not done in the
generated code, because this is platform dependant.
How do I get SmartState ?
Download the free evaluation copy from
download center. This trial version
is fully functional and will be expired after 30 runs. You need to
register the software for further use. Also registration gives you
free future upgrades and support.
What is SmartState?
SmartState is a realization of state pattern for Object Oriented
World. It includes a graphic modeler for designing or modeling the
state diagrams and C / C++ / Java code generator which generates ready
to compile code from the model. The generated code along with the
given frame work library, can be used to implement or achieve state
design pattern.
|