UML StateWizard Pro 1.5
UML StateWizard Pro 1.5 Ranking & Summary
UML StateWizard Pro 1.5 description
UML StateWizard Pro 1.5 acts as an IDE (Integrated Development Environment) add-in, which provides a UML (Unified Modeling Language) state machine programming mechanism in form of portable standard C or C++ classes for either embedded systems development and simulation, or Windows/WinCE application development. After embedded systems' simulation and debugging in IDE, developer can move program to a destination working environment (such as VxWorks, embedded Linux, etc) with little or no extra investment of effort.
Just like Visual C++ ClassWizard, UML StateWizard provides a UML state machine programming mechanism in portable standard C/C++ for cross-platform program developement including Win32/WinCE and embedded systems developing and simulating. After embedded systems simulation and debugging in IDE, developer can move program to a destination working environment (such as VxWorks, embedded Linux, etc) with little or no extra investment of effort.
Why UML StateWizard?
You may ask why UML StateWizard, while there are already many good UML tools such as Rational Rose, VisualState and others. Our answer is:
- UML StateWizard aims at not only being a modeling or code generation tool, but also being a full-featured UML dynamic modeling tool with reverse engineering and round-trip engineering features. It models program with the State Charts or the State Tree, moreover, it synchronizes the model with the changes in the application code in the stages of software design and coding;
- Just like the MS Visual C++ ClassWizard, StateWizard runs inside the integrated development environment. There is no need to switch between tools for design/development. Many other UML modeling tools run as stand alone applications;
- No intermediate modeling file. Build UML diagrams directly from a set of specific macro and flags in source code.
- StateWizard rapidly builds applications with state machine based frameworks. It efficiently codes state charts directly in platform-independent standard embedded C/C++;
- StateWizard provides state tracking, simulation and debugging for embedded system development.
Those UML tools that generate code for UML behavioral models such as state diagrams are usually quite expensive. Basic UML drawing and code generation tools can be obtained for a few hundred dollars per license seat, but the tools that generate code from state charts are usually on the order of several thousand dollars per seat. Organizations on a limited budget may be forced to use less expensive tools, meaning that the state machine design must be maintained separately from the program code, almost guaranteeing that the design and code will drift away from each other during and after development. It becomes very difficult to keep the design updated with changes in the source code, requiring great process discipline by the developer.
UML StateWizard is a full-featured UML tool:
- UML diagram support: StateWizard supports the state tree, state chart drawing for dynamicl modeling.
- Forward engineering: The StateWizard UML tool does not limit its use to just pictorial depictions of diagrams. Because the structure of the system defined by the diagram is translated by a developer into actual source code, StateWizard bridges this step by generating the source code in a state machine framework with the methods stubbed out. Developers can take up this stub code and fill in with the actual code.
- Reverse engineering: Reverse engineering is exactly the opposite of forward engineering. In reverse engineering, StateWizard loads all the files of the application/system, identifies state relationships among applications, and reconstructs the entire state machine structure along with all relationships.
- Round-trip engineering: A rule in software design is that no design remains unchanged. This is as true for small systems as it is for large systems. During development, the design structure defined in the UML model undergoes changes to incorporate differences in implementation that may not have been envisaged during design. It becomes very difficult to keep the design of the system synchronized with the changes in the source code. StateWizard’s round-trip engineering feature allows the UML tool to synchronize the model with changes in the application code. StateWizard enforces real-time synchronization of its model to modifications in the source code. For example, developers can visually do a drag-and-drop operation in a state chart diagram and the source code will change as well. On the other hand, developers may directly modify the source code and modifications will be automatically shown in the state chart diagram. StateWizard serves as a bridge between state chart diagram and source code.
- Documentation: StateWizard provides some way for the designer to document design decisions in the diagrams. A designer may save a state chart as a BMP file and a state tree as a text file.
- * Integration with popular IDE (VC++): With the increasing use of iterative methodologies for building software systems, it becomes very difficult to keep the design of the system in sync with the developed code. Hence, it would be useful if the UML tool provides integration with popular IDEs. This feature would enable the UML tool to be updated with the changes in the source code made in the IDE.
You may apply UML StateWizard to :
Platform-independent embedded system modeling and simulation.
- In simulation environment, developer can design some simulators using Windows program as service providers. These simulators have identical interface with target service providers' interface. On target environment, developer may take little effort to integrate state machine applications with these service providers to real environment. Active applications may make some service calls exported by service providers, meanwhile may receive some external events triggered by service providers through RTOS functions. There are many different RTOSs although they provide similar functions.
- RTOS Virtual Layer provides a set of platform independent functions so that it can be moved to other platforms without any state machine applications changes. In debugging, state machines can be used to test how an application handles insufficient memory situations, to examine allocation patterns, or to log allocation information for later analysis.
State machines based Win32/WinCE programs development through window message hooking technology.
- Windows-based applications are event-driven. Each window has a function, called a window procedure, that the system calls whenever it has input for the window. That procedure takes responses depending on the incoming Windows message type.
- However, if an application that must sequence a series of actions, or handle inputs differently depending on not only the incoming message but also what state it's in, is often best implemented as a state machine. In a concurrent, distributed system, there are several state machines. Moreover, a state machine may post events to other state machines, so state machines are asynchronous event driven. There is at least an event queue for a running thread.
- If state machines run at different thread rather than window’s thread, developers have to handle the thread resources synchronization issues.
- Using winodw hook technology, StateWizard run state machine application framework based Win32/WinCE programs without any additional message queue, and these state machines run at the same thread as the hooked window’s thread, so that state machines can work tightly with Windows user interface.
UML StateWizard contains:
- The State Chart: The State Chart models embedded systems without using heavyweight, expensive CASE tools. The State Chart gives you a "birds's-eye view" of your application's logical structure and flow. It graphically constructs the state hierarchy, with child states nested within their parent nodes. The state chart's major advantage over state trees is that it displays every state's transitions in the form of arrows from one state to another state. If a developer selects a state or a transition, and then right clicks the mouse, StateWizard will display an action list in a drop down menu configured for the selected state or the transition.
- The State Tree. The State Tree is a state machine programmer's assistant, located in the VC workspace tab window. While coding, it provides a state machine framework. It makes it easy for developer to do certain routing tasks such as creating the state machine application, creating the state hierarchy, defining entry functions and exit functions for a state, and defining event handlers. While running, it is a state tracker for all active applications. If a developer selects a state tree item and then right clicks the mouse, StateWizard will provide an action list in a drop-down menu configured for the selected project, application, or state.
- Resource Data Generator for Embedded System. This tool supports several user interface resource data generation for the embedded system development, including ASCII / Unicode text strings, menus, bitmaps and fonts. These resource items are organized by the Visual C++ 6.0 resource editor.
- Simulation and Debugging Support for Embedded System. StateWizard supplies a rich set of APIs for embedded system applications simulation in Visual C++ developer studio. Meanwhile, provides some debugging tools, useful to fix memory leaks or memory overwriting errors, to test how an application handles insufficient memory situations, to examine allocation patterns, or to log allocation information for later analysis. Code Line Calculator. A code line calculator for C/C++ source code
- Code/Data Size Analyzer. This tool discloses the program's code size, readonly memory, un-initialized memory and writable memory usage based on the generated map file. Further more, this tool can uncover every variable data length in detail.
Major Features:
- Simplicity: It should be easy to construct state machine trees/applications.
- Extensibility: It should be extensible to add other pseudo states.
- Cross-Compiler: Support for VC++, EVC++, GCC, Diab C and for Win32/Linux
- Cross-Platform: The StateWizard engine based on a cross-platform OS API library, for Linux/Win32.
- Multi-threaded: Several groups of state machines (applications) are allowed to run at each separate thread/task
- Unicode Support: Support Ascii/Unicode log strings output in Ascii/Unicode text files.
- Debugging: Provide real-time state tracking into a file and the StateTree, debugger fields filter, module-based output filter.
Enhancements: State Chart and State Tree
Requirements: Windows95
WareSeeker Editor
UML StateWizard Pro 1.5 Screenshot
UML StateWizard Pro 1.5 Keywords
Bookmark UML StateWizard Pro 1.5
UML StateWizard Pro 1.5 Copyright
Want to place your software product here?
Please contact us for consideration.
Contact WareSeeker.com
- Free United States ZIP Code Database September.2009
- Free United States ZIP Code Database August.2009
- Free United States ZIP Code Database July.2009
- Mexico Postal Code Platinum Edition June.2009
- Free United States ZIP Code Database June.2009
- United States ZIP Code Database (Premium Edition) June.2009
- United States ZIP Code Database (Gold + Multi-County Edition) June.2009
- United States ZIP Code Database (Basic Edition) June.2009
- Zip Code Companion 4.14
- Zip Code It! 1.21
- United States ZIP Code Database (Basic Edition) January 2007
- Zip Code Locator 2.0.0
- Mexico Postal Code Platinum Edition October.2008
- Mexico Postal Code Platinum Edition November.2008
- Free United States ZIP Code Database February.2009
- US ZIP Code Database PO Box Edition January.2009
- Free United States ZIP Code Database April.2009
- CNC Code Shooter 2.2
- Mexico Postal Code Database (Gold Edition) May.2009
- Mexico Postal Code Database (Gold Edition) April.2009
- Mexico Postal Code Database (Gold Edition) January.2009
- Mexico Postal Code Platinum Edition July.2009
- Mexico Postal Code Platinum Edition August.2009
- Mexico Postal Code Platinum Edition September.2009