This paper discusses the virtual finite-state machine (VFSM) design an
d implementation paradigm and our experience in introducing VFSM on so
ftware development projects for several Lucent Technologies products,
VFSM, which allows software developers to specify the control behavior
of a module as a finite-state machine, is supported by a toolset that
automates many tasks associated with producing an implementation, inc
luding aspects of code generation, documentation, and testing. VFSM ha
s been used in the design of more than 75 software modules, and its ap
plication has resulted in shorter development intervals and the elimin
ation of defects prior to testing. in this paper, we present an overvi
ew of the VFSM design and implementation paradigms and the capabilitie
s provided by the VFSM toolset. We also discuss the technical and nont
echnical issues that have had an impact on the successful introduction
of VFSM.