CyFlex Modularity

CyFlex software is a highly modular, generic test system that is very "feature rich". Features are isolated into separate modules, which can be "configured" to support the needs of a specific testing process. The CyFlex architecture feature rich modules allows tests to be quickly developed through a process of configuration and integration rather than primarily through software development. This paper provides an overview of CyFlex modules, and how they are configured and integrated into a system.

What is Modularity

A module in CyFlex is a collection of software with a focused purpose that has a well defined interface. The interface for each module is configured through a "specification file" that specifies
  • How the module is to function. Most modules have rules or behavior that the system integrator can configure through setting appropriate parameter values.
  • Which data in the system the module is to operate on. Typically these are the names of real-time input and output variables.
  • Which events the module is to receive (to trigger its operations) or send (to indicate completion of its operations) to the rest of the system.
Multiple instances of a module can typically operate simultaneously, allowing each module's functionality to be used for varying system purposes. For example, the system has a high speed data logger module. One instance of this data logger could capture information triggered by one event of interest with an arbitrary set of channels, and a second instance could be triggered by a second event with an entirely different set of channels. CyFlex supports an arbitrary number of these loggers, limited only by hardware and operating system resources.

What Modules Are Available?

There are close to 500 modules available in CyFlex. For any specific test application a sub-set of these are used. For example: a performance engine test cell might use only 130 of these modules at one time. Some of the modules have very specific purposes that were developed to support the unique needs of various types of testing or instrumentation to which CyFlex has been applied. Other modules are highly generic and can be used in almost any testing application.