|Advisor:||Edward A. Lee|
Control functionality is needed for the proper sequencing of the computation tasks, switching and coordinating between different operation modes, etc. Finite state machines (FSMs) have long been used to specify control flow for control-dominated problems. In large systems, however, the control functionality can become so complex that the flat, sequential FSM model becomes impractical.
In this project, we add hierarchy and heterogeneity to the FSM. This allows the FSM to be hierarchically combined with various concurrency models, in particular dataflow , discrete events  and synchronous/reactive  models. In this heterogeneous model, the semantics of FSM, concurrency and hierarchy are naturally supported. Unlike most formalisms that combine FSMs with concurrency models, such as Statecharts  and its variants, our scheme decouples the FSM from the concurrency models, enabling selection of the most appropriate concurrency model for the problem at hand.
The proposed idea has been under implementation in the Ptolemy software environment. We have created a preliminary implementation of this mixed model in Ptolemy. Systems can be built by hierarchically nesting FSMs and concurrency models.
Some possible applications include the simulation and rapid prototyping of software systems such as telecommunications control software, and the embedded signal processing systems.