WO2004010303A1 - Hardware device testing with fast abstract scripting tool - Google Patents

Hardware device testing with fast abstract scripting tool Download PDF

Info

Publication number
WO2004010303A1
WO2004010303A1 PCT/US2003/023651 US0323651W WO2004010303A1 WO 2004010303 A1 WO2004010303 A1 WO 2004010303A1 US 0323651 W US0323651 W US 0323651W WO 2004010303 A1 WO2004010303 A1 WO 2004010303A1
Authority
WO
WIPO (PCT)
Prior art keywords
tool
industry standard
scripting language
scripting
project specific
Prior art date
Application number
PCT/US2003/023651
Other languages
French (fr)
Inventor
Thomas R. Kreider
Original Assignee
Honeywell International, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honeywell International, Inc. filed Critical Honeywell International, Inc.
Priority to EP03766047A priority Critical patent/EP1529260A1/en
Priority to AU2003254243A priority patent/AU2003254243A1/en
Priority to JP2004523420A priority patent/JP2005534109A/en
Publication of WO2004010303A1 publication Critical patent/WO2004010303A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers

Definitions

  • the present invention relates to bus communications, and specifically to a software tool for generating bus traffic for simulation, test and end-use applications by integrating a scripting programming language with bus-specific functionality.
  • Mil-Std-1553 A military standard 1553 (Mil-Std-1553) bus is a serial bus developed to facilitate intra- component communications aboard high performance aircraft, tanks, spacecraft, missiles and other networked vehicles.
  • bus traffic on a Mil-Std-1553 bus conforms to a packetized message protocol that provides fixed start/stop times, message addressing, message length, formatting, arbitration, and the like.
  • an end user tests or simulates operation of a hardware device ported on a Mil-Std-1553 bus by compiling and running a software test application, or project, that transmits test command messages to the hardware device over the Mil-Std-1553 bus.
  • a software test application or project
  • the end user must typically handle details of the packetized message protocol through, for example, a low level programming language such as C to enable the command messages to control the ported hardware device, a user must typically rewrite and recompile a significant portion of the project code each time a new hardware device type is ported to the Mil-Std-1553 bus for testing.
  • Attempts have been made to develop software scripting tools that abstract the Mil-Std-
  • the present invention provides a method and system for programmically communicating with a hardware device under test to enable a user to develop flexible and customizable test and simulation programs for various types of hardware devices.
  • Input test commands are interpreted via a project specific support code component written in a scripting language.
  • An extended scripting language tool provides communications capabilities to an industry standard bus and therefore enables test commands to be transmitted over the industry standard bus subsequent to the communications capabilities being provided to the industry standard bus via the extended scripting language tool.
  • the hardware device is then driven based on the project specific test commands interpreted through the extended scripting language tool and transmitted over the industry standard bus.
  • the extended scripting language tool enables the project specific support code component to communicate with the industry standard bus and at the same time enables the specific test project to appear as a simple function call to the end user.
  • the extended scripting language tool need not be reconfigured and recompiled when a new type of hardware device is ported to the industry standard bus or when an additional functional feature is added to the project.
  • FIG. 1 is a hardware block diagram of a test environment in which a preferred embodiment of the fast abstract scripting tool according to the present invention may be implemented;
  • FIG. 2 is a software block diagram of the software modules necessary to implement a test and simulation environment for Mil-Std-1553 hardware devices;
  • FIG. 3 is a block diagram showing the fast abstract scripting tool of FIG. 2 in greater detail;
  • FIG. 4 is a flow diagram illustrating the processing of exemplary input data commands by each of the software modules shown in FIG. 2.
  • FIG. 1 shows an exemplary hardware block diagram of a test environment 10 in which a preferred embodiment of the hardware device testing system and methodology according to the present invention may be implemented.
  • the test environment 10 includes a testing computer 12, such as a personal computer, that includes a hard drive 14, a keyboard 15 and a display 16, and that is capable of running a Windows-based operating system.
  • the test environment 10 also includes a hardware device under test (DUT) 18 connected to the testing computer 12 via an industry standard bus, such as a Mil-Std-1553 bus 20.
  • DUT hardware device under test
  • the hard drive 14 stores several customized software components and a scripting language, such as the open source
  • Tcl/Tk scripting language that together enable flexible and customizable test and simulation programs to be developed for the DUT 18.
  • the DUT 18 may be, for example, a control moment gyro (CMG) of the type built by Honeywell, Inc. for use on satellites for pointing and stabilization, or any other hardware device capable of being ported to an industry standard bus, including avionics data points such as avionics displays, pilot joysticks and engine and wing actuators.
  • the DUT 18 may alternatively represent a simulated device, such as the above-mentioned CMG or a multiplexor- demultiplexor (MDM) computer of the type manufactured by Honeywell, Inc. and used in the International Space Station and the Space Transportation System (Space Shuttle), or any other type of device being developed for use on an industry standard bus.
  • CMG control moment gyro
  • MDM multiplexor- demultiplexor
  • the Mil-Std-1553 bus 20 is a serial bus developed for intra-box level communication aboard high performance aircraft, tanks, spacecraft, missiles and other networked vehicles. As is well known in the art, the Mil-Std-1553 bus defines the communications protocol through bus controllers or nodes (not shown) for two devices communicating over the Mil-Std-1553 bus.
  • the bus controllers selectively transmit packetized bus control messages to respective ported hardware devices control variables such as high/low voltage settings for attached devices, message formatting, differential/base clock rates, electrical and timing specifications, bit width and spacing, message length and spacing, and bus arbitration and usage parameters as is well known in the art.
  • the hardware device testing system of the present invention may be modified to support simulation or test applications over other industrial interfaces such as, for example, an IEEE-488 or CAN bus. While only the bus cabling of the Mil-Std-1553 bus 20 referenced above is shown in FIG.l, it will be appreciated that the Mil-Std-1553 bus 20 also includes a bus card (not shown) in the testing computer 12 for interfacing the bus cable with the computer 12 as is well known in the art. In addition, while the bus cable is shown as branching to the single DUT 18, the bus cable when implemented in an actual operating environment is configurable to connect, in the case of a Mil-Std-1553 bus, up to 32 hardware devices as is well known in the art.
  • Fig. 2 shows generally at 22 the software components of the hardware device testing system according to the present invention.
  • the scripting language component 24 creates a programming environment for the other components and preferably is the open source, industry accepted and commercially supported scripting language Tcl/Tk that enables certain of the other components to be written and executed.
  • the users test script or interactive shell component 26, the project specific support code component 28, and the fast abstract scripting tool (FAST) 30 are written in Tcl/Tk code.
  • the users test script or interactive shell component 26 represents a user interaction layer in which a user may program test commands onto the hard drive 14 as ASCII text files, or may interactively enter test commands via the keyboard 15 and through either a simple text-based user interface or a more complex GUI (not shown) on the display 16.
  • the project specific support code component 28 represents a project specific layer in which a library of function calls are written in Tcl/Tk script and are stored on the hard drive 14 as Tel files for use specifically in testing DUTs of like type, such as the DUT 18.
  • the project specific support code component 28 is analogous to the text of a conversation in that it takes a request for a solution, such as test commands input through the users test script or interactive shell component 26 and, by communicating with the DUT 18 or other component on the Mil- Std-1553 bus 20 through the FAST 30 and the driver code component 32, provides the solution.
  • the project specific support code component 28 may send and receive message traffic on the Mil-Std-1553 bus 20, display test information on the display 16, write to files such as logging files on the hard drive 14, and perform numeric conversions to support translation from machine code to human readable text and numbers.
  • the FAST 30, which will be discussed below in greater detail, represents a protocol, or language specific, layer including a library of utilities or functions written primarily in Tcl/Tk that enables the project specific support code component 28 to communicate with the driver code component 32 regardless of the particular test or simulation application or project programmed into the project specific support code component 28.
  • the FAST 30 bridges communication between the project specific support code component 28 written in Tcl/Tk and the driver code component 32 compiled in a language such as assembly or C, thereby providing a higher context for communication with the driver code component 32 than if it was necessary to write directly to the driver code component 32 from the project specific support code component 28.
  • the FAST 30 hides, or abstracts, implementation of the details of the Mil-Std-
  • the driver code component 32 which is written in pre-compiled machine code and is typically provided by a vendor of the communications bus card (not shown), represents a hardware specific layer that communicates the commands initially entered at the users test script or interactive shell component 26 to the DUT 18 over the Mil-Std-1553 bus.
  • the FAST 30 includes three primary components: a Windows dynamic link library, or DLL 34; a scripting software code block 36; and a driver layer 38.
  • the DLL 34 is for abstracting a transport and driver layer of the Mil-Std-1553 bus, and can be built upon by a user though use of the scripting software code block 36 to provide generic support for creation, logging and timing of Mil-Std-1553 bus message transactions.
  • a user can create a script of Tcl/Tk code, i.e., the project specific support code component 28, using the scripting software code block 36 to thereby be capable of interacting with any hardware device, such as the DUT 18, ported to the Mil-Std-1553 bus 20. Consequently, a user can interact with the DUT 18 at any level of desired abstraction. For instance, a user can build the project specific support code component 28 to provide either a simple text-based I/O test method, a mid-level test method with message structures and dispatch functions, or a high level test method using object-oriented programming.
  • a simple text- based program offers the most flexibility to manipulate the DUT 18.
  • a more complex mid-level test is needed with files of pre-written scripts.
  • a complex high level test program can assure that each test is completed in a repeatable manor and documented in compliance with company needs.
  • the FAST 30 supports each of these modes of operation with an interface that can smoothly be coupled to the needs of the user.
  • the scripting software code block 36 which is preferably a group of Tel files programmed on the hard drive 14, is for enabling the DLL 34 to provide generic support for industry standard bus standard messaging. More specifically, the scripting software code block 36 enables custom functions, such as message creation, logging, timing and bus driver I/O functions, to be added to the DLL 34 to enable a desired test solution to be created without the need to rewrite or recompile the DLL 34.
  • the FAST 30 can be extended to log the results to the testing computer 12 through the scripting software code block 36 without necessitating the need to recompile the DLL 34, the Tel component 24 or the project specific support code component 28.
  • the DLL layer 34 is a group of support functions written, for example, in C programming language as ASCII text code for calling the driver layer 38 to drive the DUT 18 in response to input test commands.
  • the support functions in the DLL layer 34 can be rewritten and recompiled based on the type of communications bus 20 used. Therefore, the higher context layers of the FAST 30, such as the project specific support code component 28 and the scripting software code block 36, need not be rewritten and recompiled when the type of communications bus is changed.
  • the hardware device to be tested is a control moment gyro, or CMG, that is mounted on a test platform (not shown) representing a simulated satellite along with sensors (not shown) that verify correct operation of the CMG during testing.
  • a test application user enters a test command through the users test script or interactive shell 26 to, for example, command the CMG to smoothly rotate the simulated satellite by 5°.
  • the input test command creates a function call at 42 in which the project specific support code component 28 solves corresponding functions stored in its function library for the test command and communicates the results to the FAST 30.
  • operation of the project specific support code component 28 is not relegated to one action. Rather, its operation could be an amalgamation of many commands, such as the Rotate(x) and Spin(x) commands shown at 42.
  • the commands could include closed loop feedback feedback commands to slow down rotation of the CMG as the CMG approaches its target position.
  • the results transmitted from project specific support code component 28 map the input command to a series of function calls in the FAST 30.
  • the FAST 30 understands these results, calls the appropriate functions from the driver code component 32 and inserts appropriate data into functions stored in the driver code component 32. Therefore, the FAST 30 enables a bus controller environment to be simulated using function libraries at both the FAST 30 and the project specific support code component 28.
  • the driver code component 32 solves these functions for the data inserted by the FAST 30 and at 48 communicates with the CMG to control the CMG based on the test command input at 40.
  • the driver code component 32 also sends a message back to the FAST 30 regarding its control of the CMG, and at 44 the FAST 30 passes the message from the driver code component 32 back to the user through the project specific support code 28.
  • the hardware device testing system enables different types of hardware devices to be tested on an industry standard bus, such as a Mil-Std-1553 bus. Only the DLL layer 34 needs to be recompiled when testing is switched from one communications bus to another. Therefore, the hardware device testing system, and particularly the FAST 30, enable the development of flexible and customizable test and simulation programs for the DUT 18 that are simple to operate from a user standpoint.

Abstract

A method and system for programmically communicating with a hardware device under test enables a user to develop flexible and customizable test and simulation programs for hardware devices (18) connected to an industry standard bus (20). Input test commands are interpreted via a project specific support code component (28) written in a scripting language such as Tcl. An extended scripting language tool (30) provides communications capabilities to the industry standard bus (20) and therefore enables test commands to be transmitted over the industry standard bus (20) subsequent to the communications capabilities being provided to the industry standard bus (20) via the extended scripting language tool (30). The hardware device (18) is then driven based on the project specific test commands interpreted through the extended scripting language tool (30) and transmitted over the industry standard bus (20).

Description

HARDWARE DEVICE TESTING WITH FAST ABSTRACT SCRIPTING TOOL
Statement of Government Interest
The U.S. government has certain rights in this invention.
Background of the Invention Field of the Invention
The present invention relates to bus communications, and specifically to a software tool for generating bus traffic for simulation, test and end-use applications by integrating a scripting programming language with bus-specific functionality.
Description of Related Art
A military standard 1553 (Mil-Std-1553) bus is a serial bus developed to facilitate intra- component communications aboard high performance aircraft, tanks, spacecraft, missiles and other networked vehicles. As is well known, bus traffic on a Mil-Std-1553 bus conforms to a packetized message protocol that provides fixed start/stop times, message addressing, message length, formatting, arbitration, and the like.
Conventionally, an end user tests or simulates operation of a hardware device ported on a Mil-Std-1553 bus by compiling and running a software test application, or project, that transmits test command messages to the hardware device over the Mil-Std-1553 bus. Because the end user must typically handle details of the packetized message protocol through, for example, a low level programming language such as C to enable the command messages to control the ported hardware device, a user must typically rewrite and recompile a significant portion of the project code each time a new hardware device type is ported to the Mil-Std-1553 bus for testing. Attempts have been made to develop software scripting tools that abstract the Mil-Std-
1553 driver layer in order to test hardware devices such as avionics data points under simulated operating conditions. However, such tools are limited in their programmability and can therefore not be easily re-targeted for use in testing different types of Mil-Std-1553 devices without requiring a significantly amount of rewriting and recompiling of the source code of the tools. In addition, such tools are often highly complex due to the rather generic form they must take to accommodate all possible uses. Therefore, the scripting tool, and consequently the device tests, is difficult to run from the end user's perspective because each test presents a user with a new interactive experience.
Summary of the Invention In view of the above, the present invention provides a method and system for programmically communicating with a hardware device under test to enable a user to develop flexible and customizable test and simulation programs for various types of hardware devices. Input test commands are interpreted via a project specific support code component written in a scripting language. An extended scripting language tool provides communications capabilities to an industry standard bus and therefore enables test commands to be transmitted over the industry standard bus subsequent to the communications capabilities being provided to the industry standard bus via the extended scripting language tool. The hardware device is then driven based on the project specific test commands interpreted through the extended scripting language tool and transmitted over the industry standard bus. The extended scripting language tool enables the project specific support code component to communicate with the industry standard bus and at the same time enables the specific test project to appear as a simple function call to the end user. In addition, the extended scripting language tool need not be reconfigured and recompiled when a new type of hardware device is ported to the industry standard bus or when an additional functional feature is added to the project.
Brief Description of the Drawings
Other objects and advantages of the present invention will be more readily apparent from the following detailed description of preferred embodiments thereof when taken together with the accompanying drawings in which:
FIG. 1 is a hardware block diagram of a test environment in which a preferred embodiment of the fast abstract scripting tool according to the present invention may be implemented;
FIG. 2 is a software block diagram of the software modules necessary to implement a test and simulation environment for Mil-Std-1553 hardware devices; FIG. 3 is a block diagram showing the fast abstract scripting tool of FIG. 2 in greater detail; and
FIG. 4 is a flow diagram illustrating the processing of exemplary input data commands by each of the software modules shown in FIG. 2.
Detailed Description of the Present Exemplary Preferred Embodiment
Referring now to the drawings in which like numerals reference like parts, FIG. 1 shows an exemplary hardware block diagram of a test environment 10 in which a preferred embodiment of the hardware device testing system and methodology according to the present invention may be implemented. The test environment 10 includes a testing computer 12, such as a personal computer, that includes a hard drive 14, a keyboard 15 and a display 16, and that is capable of running a Windows-based operating system. The test environment 10 also includes a hardware device under test (DUT) 18 connected to the testing computer 12 via an industry standard bus, such as a Mil-Std-1553 bus 20. As will be discussed in more detail below, the hard drive 14 stores several customized software components and a scripting language, such as the open source
Tcl/Tk scripting language, that together enable flexible and customizable test and simulation programs to be developed for the DUT 18.
The DUT 18 may be, for example, a control moment gyro (CMG) of the type built by Honeywell, Inc. for use on satellites for pointing and stabilization, or any other hardware device capable of being ported to an industry standard bus, including avionics data points such as avionics displays, pilot joysticks and engine and wing actuators. In addition, the DUT 18 may alternatively represent a simulated device, such as the above-mentioned CMG or a multiplexor- demultiplexor (MDM) computer of the type manufactured by Honeywell, Inc. and used in the International Space Station and the Space Transportation System (Space Shuttle), or any other type of device being developed for use on an industry standard bus.
The Mil-Std-1553 bus 20 is a serial bus developed for intra-box level communication aboard high performance aircraft, tanks, spacecraft, missiles and other networked vehicles. As is well known in the art, the Mil-Std-1553 bus defines the communications protocol through bus controllers or nodes (not shown) for two devices communicating over the Mil-Std-1553 bus. The bus controllers selectively transmit packetized bus control messages to respective ported hardware devices control variables such as high/low voltage settings for attached devices, message formatting, differential/base clock rates, electrical and timing specifications, bit width and spacing, message length and spacing, and bus arbitration and usage parameters as is well known in the art.
As will be discussed below, the hardware device testing system of the present invention may be modified to support simulation or test applications over other industrial interfaces such as, for example, an IEEE-488 or CAN bus. While only the bus cabling of the Mil-Std-1553 bus 20 referenced above is shown in FIG.l, it will be appreciated that the Mil-Std-1553 bus 20 also includes a bus card (not shown) in the testing computer 12 for interfacing the bus cable with the computer 12 as is well known in the art. In addition, while the bus cable is shown as branching to the single DUT 18, the bus cable when implemented in an actual operating environment is configurable to connect, in the case of a Mil-Std-1553 bus, up to 32 hardware devices as is well known in the art.
Fig. 2 shows generally at 22 the software components of the hardware device testing system according to the present invention. The software components 22, which are programmed into the hard drive 14 of the computer 12, include a scripting language component 24 stored in an executable file on the hard drive 14. The scripting language component 24 creates a programming environment for the other components and preferably is the open source, industry accepted and commercially supported scripting language Tcl/Tk that enables certain of the other components to be written and executed. Specifically, the users test script or interactive shell component 26, the project specific support code component 28, and the fast abstract scripting tool (FAST) 30 are written in Tcl/Tk code. Each of these components, as well as the driver code component 32, represents a different layer of programming abstraction, and enables a user to break up a set of details of a test or simulation application or project that would be otherwise difficult to manage into manageable subsets of details. The users test script or interactive shell component 26 represents a user interaction layer in which a user may program test commands onto the hard drive 14 as ASCII text files, or may interactively enter test commands via the keyboard 15 and through either a simple text-based user interface or a more complex GUI (not shown) on the display 16.
The project specific support code component 28 represents a project specific layer in which a library of function calls are written in Tcl/Tk script and are stored on the hard drive 14 as Tel files for use specifically in testing DUTs of like type, such as the DUT 18. The project specific support code component 28 is analogous to the text of a conversation in that it takes a request for a solution, such as test commands input through the users test script or interactive shell component 26 and, by communicating with the DUT 18 or other component on the Mil- Std-1553 bus 20 through the FAST 30 and the driver code component 32, provides the solution. Based on input test data and on test information programmed therein, the project specific support code component 28 may send and receive message traffic on the Mil-Std-1553 bus 20, display test information on the display 16, write to files such as logging files on the hard drive 14, and perform numeric conversions to support translation from machine code to human readable text and numbers. The FAST 30, which will be discussed below in greater detail, represents a protocol, or language specific, layer including a library of utilities or functions written primarily in Tcl/Tk that enables the project specific support code component 28 to communicate with the driver code component 32 regardless of the particular test or simulation application or project programmed into the project specific support code component 28. In other words, the FAST 30 bridges communication between the project specific support code component 28 written in Tcl/Tk and the driver code component 32 compiled in a language such as assembly or C, thereby providing a higher context for communication with the driver code component 32 than if it was necessary to write directly to the driver code component 32 from the project specific support code component 28. In addition, the FAST 30 hides, or abstracts, implementation of the details of the Mil-Std-
1553 bus messaging protocol from end users and application programmers without sacrificing functional capability, and is easy to extend, modify and support multiple projects without significant modification. Therefore, due to implementation of the FAST 30, communication to the DUT 18 appears to an application user as a simple function call rather than as a complicated process in a manner analogous to the manner in which the World Wide Web simplifies HTML, Ethernet and packet switching network communications. A user of the World Wide Web interacts with a simple to use, rich program called a browser, and everything that is behind the scenes, (HTML, Ethernet, packet switching networks) is transparent to the end user. With the preferred embodiment of the present invention, the test user and the test script itself sees a rich, capable environment and is not exposed to the underlying operations being executed. The driver code component 32, which is written in pre-compiled machine code and is typically provided by a vendor of the communications bus card (not shown), represents a hardware specific layer that communicates the commands initially entered at the users test script or interactive shell component 26 to the DUT 18 over the Mil-Std-1553 bus. As shown in FIG. 3, the FAST 30 includes three primary components: a Windows dynamic link library, or DLL 34; a scripting software code block 36; and a driver layer 38. The DLL 34 is for abstracting a transport and driver layer of the Mil-Std-1553 bus, and can be built upon by a user though use of the scripting software code block 36 to provide generic support for creation, logging and timing of Mil-Std-1553 bus message transactions. More specifically, a user can create a script of Tcl/Tk code, i.e., the project specific support code component 28, using the scripting software code block 36 to thereby be capable of interacting with any hardware device, such as the DUT 18, ported to the Mil-Std-1553 bus 20. Consequently, a user can interact with the DUT 18 at any level of desired abstraction. For instance, a user can build the project specific support code component 28 to provide either a simple text-based I/O test method, a mid-level test method with message structures and dispatch functions, or a high level test method using object-oriented programming.
When the user wishes to interact directly with a DUT such as the DUT 18, a simple text- based program offers the most flexibility to manipulate the DUT 18. However, for device characterization, where the same functions are run several times in a prototype environment, a more complex mid-level test is needed with files of pre-written scripts. In a production environment, where the test results are to be independent of the operator, a complex high level test program can assure that each test is completed in a repeatable manor and documented in compliance with company needs. The FAST 30 supports each of these modes of operation with an interface that can smoothly be coupled to the needs of the user. The scripting software code block 36, which is preferably a group of Tel files programmed on the hard drive 14, is for enabling the DLL 34 to provide generic support for industry standard bus standard messaging. More specifically, the scripting software code block 36 enables custom functions, such as message creation, logging, timing and bus driver I/O functions, to be added to the DLL 34 to enable a desired test solution to be created without the need to rewrite or recompile the DLL 34. For example, if the results of a test run on the DUT 18 need to be logged to the testing computer 12, the FAST 30 can be extended to log the results to the testing computer 12 through the scripting software code block 36 without necessitating the need to recompile the DLL 34, the Tel component 24 or the project specific support code component 28.
The DLL layer 34 is a group of support functions written, for example, in C programming language as ASCII text code for calling the driver layer 38 to drive the DUT 18 in response to input test commands. The support functions in the DLL layer 34 can be rewritten and recompiled based on the type of communications bus 20 used. Therefore, the higher context layers of the FAST 30, such as the project specific support code component 28 and the scripting software code block 36, need not be rewritten and recompiled when the type of communications bus is changed.
Referring now to FIG. 4, an exemplary test application as implemented by the software components 22 will now be described to illustrate operation of the hardware device testing system, and specifically the FAST 30, according to the present invention. In this particular test application, the hardware device to be tested is a control moment gyro, or CMG, that is mounted on a test platform (not shown) representing a simulated satellite along with sensors (not shown) that verify correct operation of the CMG during testing. At 40, a test application user enters a test command through the users test script or interactive shell 26 to, for example, command the CMG to smoothly rotate the simulated satellite by 5°. The input test command creates a function call at 42 in which the project specific support code component 28 solves corresponding functions stored in its function library for the test command and communicates the results to the FAST 30. As shown, operation of the project specific support code component 28 is not relegated to one action. Rather, its operation could be an amalgamation of many commands, such as the Rotate(x) and Spin(x) commands shown at 42. In addition, the commands could include closed loop feedback feedback commands to slow down rotation of the CMG as the CMG approaches its target position.
At 44, the results transmitted from project specific support code component 28 map the input command to a series of function calls in the FAST 30. The FAST 30 understands these results, calls the appropriate functions from the driver code component 32 and inserts appropriate data into functions stored in the driver code component 32. Therefore, the FAST 30 enables a bus controller environment to be simulated using function libraries at both the FAST 30 and the project specific support code component 28. At 46, the driver code component 32 solves these functions for the data inserted by the FAST 30 and at 48 communicates with the CMG to control the CMG based on the test command input at 40. At 46, the driver code component 32 also sends a message back to the FAST 30 regarding its control of the CMG, and at 44 the FAST 30 passes the message from the driver code component 32 back to the user through the project specific support code 28.
In view of the above discussion, it should be appreciated that the hardware device testing system according to the present invention enables different types of hardware devices to be tested on an industry standard bus, such as a Mil-Std-1553 bus. Only the DLL layer 34 needs to be recompiled when testing is switched from one communications bus to another. Therefore, the hardware device testing system, and particularly the FAST 30, enable the development of flexible and customizable test and simulation programs for the DUT 18 that are simple to operate from a user standpoint.
While the above description is of the preferred embodiment of the present invention, it should be appreciated that the invention may be modified, altered, or varied without deviating from the scope and fair meaning of the following claims.

Claims

Claims What is claimed is: 1. A method of programmically communicating with a hardware device, comprising: receiving test commands; interpreting the test commands via a project specific support code component written in a scripting language; providing the project specific support code component with communications capabilities to an industry standard bus via an extended scripting language tool; transmitting the test commands over the industry standard bus subsequent to the providing the project specific support code component with communications capabilities to an industry standard bus via an extended scripting language tool; and driving the hardware device based on the project specific test commands interpreted through the extended scripting language tool and transmitted over the industry standard bus.
2. The method of claim 1, wherein the interpreting of the test commands via a project specific support code component written in a scripting language and the providing the project specific support code component with communications capabilities to an industry standard bus via an extended scripting language tool comprise: interpreting the test commands via a project specific support code component written in Tcl/Tk scripting language; and providing the project specific support code component with communications capabilities to an industry standard bus via an extended Tcl/Tk scripting language tool.
3. The method of claim 1, wherein the providing of communications capabilities to an industry standard bus via an extended scripting language tool comprises providing communications capabilities to a Mil-Std-1553 bus via an extended scripting language tool.
4. The method of claim 3, further comprising abstracting a Mil-Std-1553 transport and driver layer in a dynamic link library (DLL) and a Tcl/Tk software block located in the extended scripting language tool.
5. The method of claim 4, further comprising modifying the extended language scripting tool by adding extension DLLs thereto to support one or more additional test functions.
6. The method of claim 1, wherein providing the project specific support code component with communications capabilities to an industry standard bus via an extended scripting language tool comprises providing the project specific support code component with communications capabilities to an industry standard bus via a fast abstract scripting tool written in Tcl/Tk programming language.
7. The method of claim 1, further comprising adding an additional test function to the extended scripting language tool without necessitating recompiling of the extended scripting language tool or the project specific support code component.
8. A system for programmically communicating with a hardware device over an industry standard bus, comprising: a user input for inputting test commands; a project specific support code component written in a scripting language for interpreting the test commands; an extended scripting language tool for providing communications capabilities to the industry standard bus to enable the test commands to be transmitted from the project specific support code component over the industry standard bus; and a hardware driver for driving the hardware device based on the test commands interpreted through the extended scripting language tool and transmitted from the project specific support code component over the industry standard bus.
9. The system of claim 8, wherein the user input is a user test script graphical user interface written in Tcl/Tk scripting language.
10. The system of claim 8, wherein the industry standard bus is a Mil-Std-1553 bus.
11. The system of claim 9, wherein: the project specific support code component is written in the Tcl Tk scripting language for interpreting the test commands; the extended scripting language tool is a fast abstract scripting tool written in the Tcl/Tk scripting language for providing communications capabilities from the project specific support code component to the industry standard bus to enable the test commands to be transmitted over the industry standard bus; and the hardware driver is compiled in an assembly language for driving the hardware device based on the test commands interpreted through the fast abstract scripting tool and transmitted over the industry standard bus.
12. The system of claim 11, wherein the fast abstract scripting tool is further for filling in test command message buffers with test command data and variables.
13. The system of claim 11, wherein the fast abstract scripting tool is further for enabling the project specific support code component written in the Tcl/Tk scripting language to communicate with the hardware driver compiled in the assembly language.
14. The system of claim 11, wherein the fast abstract scripting tool includes a DLL layer for enabling the fast abstract scripting tool to communicate with the hardware driver on behalf of the project specific support code component.
15. The system of claim 8, wherein the extended scripting language tool is for selectively reading the test commands from the project specific support code component on a line by line basis and for formatting the data commands in a message buffer to enable the test commands to be transmitted over the industry standard bus in a bus-specific manner.
16. A fast abstract scripting tool for facilitating testing of a hardware device on an industry standard bus, comprising: a dynamic link library for abstracting a bus transport and driver layer; a reconfigurable project specific layer for calling the bus transport and driver layer abstracted in the dynamic link library to drive the hardware device in response to input test commands; and a scripting software code block for enabling the dynamic link library to provide generic support for industry standard bus standard messaging.
17. The fast abstract scripting tool of claim 16, wherein the reconfigurable project specific layer is the only component modified each time a new hardware device type is to be tested.
PCT/US2003/023651 2002-07-19 2003-07-21 Hardware device testing with fast abstract scripting tool WO2004010303A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP03766047A EP1529260A1 (en) 2002-07-19 2003-07-21 Hardware device testing with fast abstract scripting tool
AU2003254243A AU2003254243A1 (en) 2002-07-19 2003-07-21 Hardware device testing with fast abstract scripting tool
JP2004523420A JP2005534109A (en) 2002-07-19 2003-07-21 Hardware device testing with fast abstract scripting tools

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/199,183 US6839649B2 (en) 2002-07-19 2002-07-19 Hardware device testing with fast abstract scripting tool
US10/199,183 2002-07-19

Publications (1)

Publication Number Publication Date
WO2004010303A1 true WO2004010303A1 (en) 2004-01-29

Family

ID=30443250

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2003/023651 WO2004010303A1 (en) 2002-07-19 2003-07-21 Hardware device testing with fast abstract scripting tool

Country Status (5)

Country Link
US (1) US6839649B2 (en)
EP (1) EP1529260A1 (en)
JP (1) JP2005534109A (en)
AU (1) AU2003254243A1 (en)
WO (1) WO2004010303A1 (en)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006047741A2 (en) * 2004-10-27 2006-05-04 Bae Systems Land & Armaments L.P. Software test environment for regression testing ground combat vehicle software
US7942903B2 (en) 2005-04-12 2011-05-17 Moskowitz Ahmnon D Bi-directional fixating transvertebral body screws and posterior cervical and lumbar interarticulating joint calibrated stapling devices for spinal fusion
US11903849B2 (en) 2005-04-12 2024-02-20 Moskowitz Family Llc Intervertebral implant and tool assembly
US20070174699A1 (en) * 2006-01-05 2007-07-26 Honeywell International Inc. Automated generation of operational monitor platform for computer boards
US7814069B2 (en) * 2006-03-30 2010-10-12 Oracle International Corporation Wrapper for use with global standards compliance checkers
US7840948B2 (en) * 2006-11-21 2010-11-23 International Business Machines Corporation Automation of keyboard accessibility testing
WO2008070863A2 (en) * 2006-12-07 2008-06-12 Interventional Spine, Inc. Intervertebral implant
US8984349B2 (en) * 2012-09-28 2015-03-17 Hcl Technologies Limited Method and system for automating the process of testing a device
US20160248823A1 (en) * 2015-02-24 2016-08-25 Investcloud Inc Messaging protocol
WO2019161393A1 (en) 2018-02-16 2019-08-22 Mcmains Michael Craig Expandable interbody device
CN116339736B (en) * 2023-05-29 2023-07-28 英诺达(成都)电子科技有限公司 Configuration method, device, equipment and storage medium of TCL (TCL) interactive interface

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5223788A (en) * 1991-09-12 1993-06-29 Grumman Aerospace Corporation Functional avionic core tester
US6067639A (en) * 1995-11-09 2000-05-23 Microsoft Corporation Method for integrating automated software testing with software development
US6279124B1 (en) * 1996-06-17 2001-08-21 Qwest Communications International Inc. Method and system for testing hardware and/or software applications
US5954829A (en) * 1996-12-30 1999-09-21 Mci Communications Corporation System, method, and computer program product for digital cross connect testing
US6408430B2 (en) * 1998-09-03 2002-06-18 Lucent Technologies, Inc. Interactive software testing system and method
US6219626B1 (en) * 1998-09-08 2001-04-17 Lockheed Corp Automated diagnostic system
US6282699B1 (en) * 1999-02-23 2001-08-28 National Instruments Corporation Code node for a graphical programming system which invokes execution of textual code
US6405149B1 (en) * 1999-06-23 2002-06-11 Louis K. Tsai System and method for testing a telecommunication system
CA2440321A1 (en) * 2001-03-23 2002-10-03 S2 Technologies, Inc. Development and testing system and method
US7010782B2 (en) * 2002-04-04 2006-03-07 Sapphire Infotech, Inc. Interactive automatic-test GUI for testing devices and equipment using shell-level, CLI, and SNMP commands

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ANONYMOUS: "ADS2 Avionics Development System; Product Overview", April 2002, TECHSAT GMBH, XP002261270 *
ANONYMOUS: "MoTest Prüfsystem; Ausführliche Produktbeschreibung", 2001, LST. FÜR INFORMATIONSTECHNIK IM MW; PROF. BENDER, MÜNCHEN, XP002261268 *
FLICK C A;DIXSON J S: "Using TCL/TK for an Automatic Test Engine", PROCEEDINGS OF THE SIXTH ANNUAL TCL/TK WORKSHOP, 14 September 1998 (1998-09-14) - 18 September 1998 (1998-09-18), San Diego, California, XP002261267, Retrieved from the Internet <URL:http://www.usenix.org/publications/library/proceedings/tcl98/full_papers/flick/flick.pdf> [retrieved on 20031112] *

Also Published As

Publication number Publication date
EP1529260A1 (en) 2005-05-11
JP2005534109A (en) 2005-11-10
US20040015315A1 (en) 2004-01-22
AU2003254243A1 (en) 2004-02-09
US6839649B2 (en) 2005-01-04

Similar Documents

Publication Publication Date Title
EP1004072B1 (en) Embedded graphical programming system
CN108631854B (en) Apparatus and method for testing design of satellite payload transponder
Guccione et al. JBits: A Java-based interface for reconfigurable computing
US6839649B2 (en) Hardware device testing with fast abstract scripting tool
US6078322A (en) Methods permitting rapid generation of platform independent software applications executed on a universal client device
US5691897A (en) Motion control systems
US6282699B1 (en) Code node for a graphical programming system which invokes execution of textual code
US6043815A (en) Method for using guiscript and providing a universal client device
US6054983A (en) Methods for operating a universal client device permitting interoperation between any two computers
US7127386B2 (en) Java telematics emulator
US7725627B2 (en) Serial port that supports multiple protocols
US11022967B2 (en) Method for generating a technical system model, executable on a test unit, and the test unit
US20030088710A1 (en) Simulation environment software
Shanmugan An update on software packages for simulation of communication systems (links)
Zaidi et al. Rapid, automated, test, verification and validation for the CubeSats
CN110764479B (en) DDS-based multi-agent intermediate platform system and control method thereof
Thomas et al. A process definition environment for component based manufacturing machine control systems developed under the foresight vehicle programme
US6553328B1 (en) Non-intrusive memory access for embedded processors
Ziegler et al. An Ada based real-time closed-loop integration and regression test tool
Horan et al. Enhancement of The NMSU Channel Error Simulator to Provide Unbalanced Forward And Return Transmission Rates
Winiecki Methodology for distributed designing of distributed virtual instruments
CN117632702A (en) Model-based test system and test method suitable for spacecraft integrated electronic software
KR0158019B1 (en) Programmable logic device in logic emulation system
Mostowski JAVA CARD Tools for Together Control Center
Downing Virtual MIL-STD-1553

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SK SL TJ TM TN TR TT TZ UA UG UZ VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2004523420

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2003766047

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2003766047

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 2003766047

Country of ref document: EP