StateWORKS: Papers

Published Papers     Documentation    

Here you can find published papers about the VFSM method and its StateWORKS implementation.

Published Papers

The Virtual Finite State Machine Design and Implementation Paradigm
Bell Labs Technical Journal

This paper discuss the Virtual Finite State Machine Design (VFSM) and Implementation Paradigm and the experience in introducing VFSM on software development projects for several Lucent Technology products. VFSM which allows software developers to specify the control behaviour of a module as a finite state machine, is supported by a toolset that automates many tasks associated with producing an implementation, including aspects of code generation, documentation and testing. VFSM has been used in the design of more than 75 software modules and its application has resulted in shorter development intervals and elimination of defects prior to testing. In this paper an overview of the VFSM design and implementation paradigms and the capabilities provided by the VFSM toolset are presented. Also the technical and non-technical issues that have had an impact on the successful introduction of VFSM are discussed.

VFSM Executable Specification
CompEuro 1992 Proceedings

The paper presents a software design method based on the virtual finite state machine (VFSM) concept. The concept defines a virtual environment that allows the finite state machine to be an entirely table driven software module. A hybrid finite state model is used to achieve a superior design clarity. The presented method separates the control part of the design problem from the data manipulation part. The specification of the control part is directly executable. The control part is not coded; it is expressed in a table that is executed by the VFSM executor.

A Modern Real-Time Software Design Tool: Applying Lessons from Leo
IEE journal "Computing and Control Engineering"

The special CCEJ issue on REAL TIME presented many new initiatives that are currently being developed. This short article introduces a software design tool that is currently being used on a variety of real time projects and which is based on principles similar to those employed 50 years ago on the LEO computer system. The Leo programming process was very effective in producing reliable software. A modern version of this, called StateWORKS, is based on abstract, finite state machine models. In contrast to top-level modelling tools such as UML, which leave some coding to be done in the final stages, StateWORKS is an efficient method of implementing the final software and of avoiding much of the coding process.

Modeling and Building Reliable, Re-usable Software
Engineering of Computer -Based Software 2003 (ECBS'03) Proceedings

Agile Software practices place great emphasis on coding, yet coding is time-consuming, difficult, and the source of many errors. The paper describes a way in which the specification and implementation processes can be unified, and much coding avoided as regards the behavioural aspects of the software. It shares much in common with Agile Methods, yet permits a significant degree of modeling to take place. This VFSM technique and its commercial implementation StateWORKS has been used for several years in a variety of projects, large and small, in industrial control and in telecommunications. It gives significant benefits in time-to-market, in reduced maintenance, and in accuracy of the final project documentation. It facilitates software reuse and system up-grading. It has potential to link up the "Executable UML" and "Agile Modeling" initiatives, to their mutual benefit.

Closing the Gap Between Software Modelling and Code
Engineering of Computer -Based Software 2004 (ECBS'04) Proceedings

If a software implementation is to be generated fully automatically from a model, then the model must be detailed and totally complete. For the definition of software implementing system behaviour, through finite state machines, we propose a well-proven method for the creation of such models and an associated XML expression of them.

State machine misunderstandings
IEE journal "Computing and Control Engineering"

The definition of a finite state machine (called also for simplicity a state machine) seems to be not quite obvious and requires discussion. The concept, although born 50 years ago, is still not well understood or interpreted in the software domain, despite its wide application in hardware design. Misunderstandings about state machines have produced several stories and half-truths: for instance the states explosion phenomenon which discourages the usage of this very useful concept. The concept of the state machine has been several times (unintentionally?) reinvented for software.

Other Documents

VFSMML - XML standard for VFSM
XML for VFSM: Virtual finite state machine mark-up language definition, ver. 1.0. This document, of over 60 pages, specifies the XML format of design files produced by StateWORKS Studio, and it also provides a valuable insight into the structure of StateWORKS designs and the natures of all the common objects which they can use, for users who have not purchased our book.

Follow this link to get the Adobe AcrobatReader