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.
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.