The design and architecture of DCAF provides many significant benefits to the application developer compared to building an application from scratch in LabVIEW or using other programming environments.
Scalable and extensible plugin architecture
Using a standard plugin architecture, developers can easily reuse existing modules and create new modules to meet their application needs. The framework has well defined extension points to enable seamless integration between existing and new modules.
Develop with module templates
Communication and data processing module templates provided with the framework enable developers to quickly create new modules that can be used in the framework. Basic modules can be created by LabVIEW developers with a basic proficiency level and do not require advanced programming skills.
Reuse existing modules
Reuse is the key benefit of most frameworks and architectures, greatly reducing the amount of new code that needs to be implemented for an application. As the library of available framework modules grows, the cost of developing new applications decreases.
Single point I/O, processing, and data services
DCAF is primarily designed to address the needs of applications containing many single-point data channels and tags, and to automate the communication and processing of such data across multiple system targets. Acquisition, communication, and processing of other types of data, including high speed waveforms and vision (image acquisition), can be implemented in parallel to the framework, and external code modules can easily communicate with the framework using defined interfaces.
Built-in best practices
DCAF manages the sequencing and execution of the various code modules on a target and thereby eliminates certain race conditions and significantly reduces the number of other common design and programming mistakes. Following the rules and design guidelines of DCAF, developers create more robust and reliable code in less time.
Optimized for real-time execution
The framework code and module templates have been optimized to run in LabVIEW Real-Time, following the best practices recommended by National Instruments to reduce execution jitter and improve reliability and performance.