UML Statechart Framework

The easy way to use statecharts..
Download

UML Statechart Framework Ranking & Summary

Advertisement

  • Rating:
  • License:
  • LGPL
  • Price:
  • FREE
  • Publisher Name:
  • Christian Mocek
  • Publisher web site:

UML Statechart Framework Tags


UML Statechart Framework Description

The easy way to use statecharts.. UML Statechart Framework is a framework for Java and C++.This framework implements the semantics and syntax of UML statecharts in C++ and Java. It gives developers an easy to use API for integration of this diagramm-type into their own code. It is released under the GNU Lesser General Public License.What are statecharts?Statecharts were initially introduced by David Harel in 1987 and are based on a generalisation of the concepts of finite state machines. They are directed graphs and used to describe the behaviour of an object instead of Sequence- or Collaboration-Diagrams which describe the interaction between objects. The Object Management Group added this type of diagram into the UML specification with a slightly modified semantics. The main enhancement of statecharts is the ability to use hierarchy and concurrency in the modelling.Why using it? Comparison to alternativesThe problem with statecharts is that the semantics is quite hard to understand and difficult to implement because several elements are not able to map directly to current programming languages. Therefore the developer is in an awkward position: He can model the object behaviour in his CASE tool and then has the problem that the implementation is hard to realize and error-prone.One possibility is the usage of the state-pattern, introduced by Erich Gamma et. al. But there are several disadvantages with this approach: * It just supports finite state machines (FSMs) and no hierarchy or concurrency * The elements (like e.g. actions and transitions) are not represented as real objects. Instead they are hidden in the classes implementing a state which makes it hard to understand, change and maintain the software * The infrastructure of the FSM and the runtime-configuration cannot be separated. Instead many instances of the FSM must occur in the memory if it should be used more than once at the timeThis project addresses these issues and uses a different approach. Originally the framework was based on my diploma thesis in computer science at the University of Dortmund, Germany, and was created to run statecharts on LEGO Mindstorms. Later it was optimized and ported to C++. Here are some key features of "UML Statechart Framework": · Very easy to use API (See documentation for details) · Implemented in C++ and Java · Does require only a very small amount of memory · Complete object-oriented design (all elements are real objects) · Parallel usage of the statechart infrastructure. Runtime specific data is encapsulated in a small object. Support for many elements of statecharts: · Simple, hierarchical and concurrent states · Start and final states · History and deep-history pseudostates in hierarchical states · Fork- and join pseudostates for concurrent states · Segmented transitions using junction points · Transitions can cross borders of composite states (implicit entry/exit) · Entry, do and exit actions in states · Events, guards and actions for transitions · Asynchronous event queues for signal events including a thread-pool What's New in This Release: · Fixed a ConcurrentModificationException bug when handling timeout events. · Fixed shutdown procedure when the created threads are non-deamon threads.


UML Statechart Framework Related Software