SmartState Developer Edition 4.1
Design Patterns always helped designers to solve recurring problems.
|
Design Patterns always helped designers to solve recurring problems. But design patterns are conceptual and too generic. The framework on the other hand is more specific to a particular domain and can be realized through the code. The state pattern is a very useful and powerful pattern which enables an object to change its behavior at run time, depends on which state it is in. A kind of changing the class of an object at run time!!. You may find more information about this design pattern here.
If you are aware this pattern you might have realized that it needs to have many classes, each represents a state the object may have in its life time. The real object, often called as Context, doesn't hold any internal flag or variables to keep track of the current state, instead it delegates the work to the state object which is currently active. The state object contacts the Context back, to do the appropriate work if needed and may change the state itself. It is better to keep all the implementation code in the Context and state objects will only take care of which method to invoke in the Context and when to change the state.
An object, which is an encapsulation of a real world entity, might have many states in its life span, and its is absolutely difficult to write classes for each state and the transition logic. State diagrams are used to depict the behavior of the object at various state and its transition logic. Its up to the programmer to realize the design. And of-course each programmer has their own way of implementing it. Which leads to consistent code, difficult to review, difficult to test and difficult to maintain.
This fact, motivated the designers of SmartState to develop a framework which is generic and can be used in almost all application domains. This framework solves few of the problems described above and still the major part of writing the classes is left. So we realized a need for automatic code generation from the design. To accomplish that, state diagrams should not be drawn, it should be modeled. SmartState Designer GUI provides the user with a simple and effective user interface to model the state transitions. Special care is taken to avoid putting all the restrictions in the design time because it may be iterative. The design is free to model and the constraints and restrictions are applied only in the code generation stage which makes the GUI more user friendly.
The code generator will analyze the model, checks for necessary constraints and does the most time consuming part of writing the classes. The generated classes are ready to compile and need not be modified. This is a very important feature of SmartState because the design and the implementation is one-to-one always which is usually a day dream in software industry.
To change the behavior of the object, just edit and recompile the model. Rebuild your project and you are done. You may not need a programmer to do this. Which makes it more maintainable. Also the code generated is of the same structure, the review and testing need not be done once you are satisfied with it. All these features lead to improved productivity in your organization which is the motivation of SmartState.
Here are some key features of "SmartState":
Limitations
tags the state the design the code code generation the context state diagrams and the change the the object you are the model the behavior state machine
Download SmartState Developer Edition 4.1
Download SmartState Developer Edition 4.1
Purchase: Buy SmartState Developer Edition 4.1
Similar software
SmartState Developer Edition 4.1
ApeSoft Technologies
Design Patterns always helped designers to solve recurring problems.
UML StateWizard 7.2
Intelliwizard Inc
UML StateWizard is a add-in for Visual C++, 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.
Visual UML 5.1
Visual Object Modelers
Visual UML is an easy-to-use yet powerful and full-featured highly UML-compliant object-modeling tool that provides complete and comprehensive support for all ten of the diagram types defined in the OMG 1.
Visual Paradigm for UML (Standard Edition) 6.0
Visual Paradigm
Visual Paradigm for UML is a professional UML tool that supports complete software lifecycle - object-oriented analysis, object-oriented design, construction, testing and deployment.
ObjectMapper .NET 2.3.3903.0
Gerhard Stephan Softwareentwicklung
The ObjectMapper .
SDE for JBuilder (LE) for Windows 3.3 Personal Edition
Visual Paradigm
SDE for JBuilder is a UML CASE program integrated with JBuilder.
UML State Machine Wizard 7.2
Intelliwizard Inc.
UML State Machine Wizard acts as a Visual C++ Add-in, which provides a UML state machine programming mechanism in portable standard C for embedded systems developing and simulating in Visual C++ developer studio.
SDE for IBM WebSphere (PE) for Windows 4.0 Professional Edition
Visual Paradigm
SDE for WebSphere is a UML CASE tool totally integrated with WebSphere.
Pacestar UML Diagrammer 7.13.2183
Pacestar Software
Pacestar UML Diagrammer is a useful tool that lets you to easily and quickly generate all varieties of UML diagrams.
SDE for Sun ONE (PE) for Windows 4.0 Professional Edition
Visual Paradigm
SDE for Sun ONE is a UML CASE tool totally integrated with Sun ONE.