Modeling Software with Finite State Machines

A Practical Approach

By Ferdinand Wagner, Ruedi Schmuki, Thomas Wagner, Peter Wolstenholme

© 2006 – Auerbach Publications

390 pages | 195 B/W Illus.

Purchasing Options:
Hardback: 9780849380860
pub: 2006-05-14
US Dollars$125.95
x

e–Inspection Copy

About the Book

Modeling Software with Finite State Machines: A Practical Approach explains how to apply finite state machines to software development. It provides a critical analysis of using finite state machines as a foundation for executable specifications to reduce software development effort and improve quality. This book discusses the design of a state machine and of a system of state machines. It also presents a detailed analysis of development issues relating to behavior modeling with design examples and design rules for using finite state machines.

This volume describes a coherent and well-tested framework for generating reliable software for even the most complex tasks. The authors demonstrate that the established practice of using a specification as a basis for coding is wrong. Divided into three parts, this book opens by delivering the authors' expert opinions on software, covering the evolution of development as well as costs, methods, programmers, and the development cycle. The remaining two parts encourage the use of state machines: promoting the virtual finite state machine (Vfsm) method and the StateWORKS development tools.

Table of Contents

The Problems of Software

Evolution of Software Development

The Price of Weakness

Software as Engineering?

Finite State Machines

Introduction, Definitions, and Notation

Hardware Applications

Software Specific

Misunderstandings about FSM

Designing a State Machine

Systems of State Machines

StateWORKS: Principles and Practice

StateWORKS

Digital Input and Output

Other Inputs

Other Outputs

Counters

VFSM and Its Interfaces

Debugging Vfsm

What Is StateWORKS?

Appendices

Case Studies

Microwave Oven Control - Use of StateWORKS Development Tools

Gas Control - Hierarchical System of State Machines

Dining Philosophers Problem

Going Beyond the Limitations of IEC 61131-3

Traffic Light Control - Design of the Hardware Solution

Coding Finite State Machine - Vending Machine Counter Example

IOD File of the StandardUnit

StateWORKS Projects

Vending Machine Counter Project

Pedestrian Traffic Light Project

Pumps Supervision Project

Output Function CalcLimits( )

Traffic Light Project

DI_DO Project

Other_Inputs Project

Other_Outputs Project

Counters Project

Attributes of RTDB Objects

StateWORKS Tools and Components

Subject Categories

BISAC Subject Codes/Headings:
COM000000
COMPUTERS / General
COM051230
COMPUTERS / Software Development & Engineering / General
MAT000000
MATHEMATICS / General