Model-Based Algorithm Design, 16-R9820

Printer Friendly Version

Principal Investigator
Phillip J. Reed

Inclusive Dates:  04/21/08 – 08/12/08

Background - "Mission prosecutors" (MPs) are a type of component in SwRI's systems that coordinate direction finding (DF), signal recognition, signal demodulation, reporting signals of interest, and other similar tasks. MP algorithms have traditionally been very complex and difficult to maintain. It has been theorized that MP algorithms would be more efficient and easier to maintain if they were based on a state machine model. The goal of this project was to investigate the feasibility and benefit of designing MP algorithms based on traditional unified modeling language (UML) state chart diagrams.

Approach - This project had four general goals:

  • Design a C++ framework for implementing MP algorithms
  • Convert existing MP code over to use the new framework
  • Benchmark the new MP and compare its efficiency to the old one
  • Evaluate the usefulness of graphical tools for manipulating the M.

Accomplishments - The project accomplished its goals in the following ways:

  • A new architecture, the State Machine Processor (StateMP), was created. This architecture has a similar interface to previous MP architectures, but is designed in such a way that all of the MP's subcomponents are represented as composite states that contain sub-states, transitions, guards, effects and so forth. The structure of the StateMP is based on a strict subset of the official UML state chart diagram specification.
     
  • All of the code from previous MPs necessary for performing Narrowband DF missions was converted to use the new architecture. In particular, state machines were designed that could retrieve sequenced signal data, perform DF on that data, and report the results of that back to an operator.
     
  • Both the new and old MPs were run through a series of benchmarks designed to replicate typical usage on a live system. Depending on the scenario, the new MP was found to be within 10 to 30 percent faster and more than twice as memory efficient.
     
  • A few commercial state-chart editing tools were evaluated but found to be lacking. A new tool was created that could convert state machines designed with the StateMP architecture into a portable, standardized, text-based format for describing UML diagrams. These diagrams could then be visualized using any number of common tools. In theory, it would be possible to convert graphical diagrams into code, but this was not accomplished before the end of the project.

2008 Program Home