NA Application Framework™ for LabVIEW™

The NA Application Framework™ has been developed and refined over several years and thousands of hours.  Implementing this software establishes immediate functionality and capability, significantly reducing overall development time.  This software will provide your developers with the infrastructure to be efficient, organized, and consistent resulting in time and cost savings to your organization.

The NA Application Framework™ is a string queue driven state machine that provides robustness and efficiency to LabVIEW designs.  This framework, which has been developed and improved over many years, provides a structured environment for the developer.  The establishment of this structure allows the software developer to focus on ‘what’ is being developed rather than ‘how’ it is developed.  The structure of this framework is also compatible with all recent version National Instruments LabVIEW platforms and toolkits.  The benefits of the NA Application Framework™ are:

Structure

    ·    The software is developed with a specific and defined structure and is, subsequently, executed in predictable states.

    ·     The structure is setup to efficiently manage inevitable requirements change

      §  The software becomes multi-dimensional: as changes arise they can be incorporated 1.) by modifying existing states, 2.) by adding states, or 3.) by adding or modifying states within states.

     §  The software, therefore, does not need to be re-architected when changes are required.

    ·   As a result, the software becomes self documenting.  The states clearly show how the execution of the system is performed and it is easy for someone to follow the functionality.  Breaking down the system into the state structure provides for simplification of steps, which are documented by the step itself.

 

Standardization

    ·  Since the structure for development is pre-defined, ‘How’ the software is developed is also pre-defined (eliminating the time required from a developer to determine and establish ‘how’ to develop a piece of code). This frees the developer to focus on ‘What’ needs to be developed (the focus is transferred to the details of the software requirements).  This improves the efficiency of software development and reduces the overall cost of software development.

    ·     Development cost savings are also achieved when:

      §  Multiple people work on software development.  Because teams work from the same structure, knowledge of how interaction between two pieces of code is pre-defined which streamlines communication between developers.

      §  Turn-over occurs.  In the event that personnel changes, the ramp-up time for new personnel is reduced since the structure for all code development is standardized, rather than weeding through nuances of multiple personal coding styles.

  

 

Dynamic Activity

The state machine structure promotes best practice coding methods for dynamic execution.  Modules, or drivers, are setup to be executed only when needed and otherwise closed.  Unlike most LabVIEW software development activities, this methodology produces code that utilizes resources efficiently, whether that is software resources or hardware resources such as RAM and processor usage.  It also guides the developer towards a natural tendency to develop code that is modular (or object oriented).

Debug Capability

Built into the NA Application Framework™ is the NA Error Logger™ which is a custom piece of software that provides the developer with information that speeds up the development and de-bug process.  The NA Error Logger™ provides the developer with any error details that occur during runtime.  It produces a file with information about:

    §  What error occurred / error codes

    §  When the error occurred

    §  The call chain of the error (starting with the top level, a path to the lowest level code module in which the error occurred is provided)

    §  Which vi the error occurred in

    §  What state the vi was in when the error occurred

This output information provides the developer with detailed information that allows them to go to the specific location in the code related to the error.  This saves time since the developer doesn’t have to guess at locations to add break-points in an attempt to ‘catch’ the error.  Thus, a large amount of time is saved with this utility.

Loose Coupling / Tight Cohesion

    ·     Within the framework, any development activity (independent of size and scope) is done so under the same standard, modular structure with the same interface protocol.  Since all development is done the same way, it is easy to understand the messaging formats for how information is transferred from one module to another.

    ·     Code becomes simpler to develop because it essentially is broken down to very simple pieces of code (modules) that are developed then tied together in an organized project.

 

Cross Platform

    ·    The application framework can be used in a wide variety of development activities.  The structure of the framework does not limit in its application.  It can be applied to:

      §  PC based, executable applications

      §  Real-Time (RT) embedded applications

      §  Test and TestStand applications

      §  Database applications

      §  Web applications

      §  Remote and distributed applications

Please contact us for more information or a demonstration of the NA Application Framework.