Code Editing for Data Traffic Modification

Information

  • Patent Application
  • 20070220485
  • Publication Number
    20070220485
  • Date Filed
    March 02, 2007
    17 years ago
  • Date Published
    September 20, 2007
    16 years ago
Abstract
Apparatus and associated systems and methods may relate to a data traffic modification system that may receive operating code developed using a graphical user interface (GUI) that permits substantially real-time editing of instructions that have been determined to include errors. In various implementations, a data traffic modification device may selectively modify data traffic upon the occurrence of a predetermined condition. In one illustrative example, operating code may be developed by sequentially editing individual instructions. Upon modifying each instruction, the validity of the operating code with the edited instruction may be checked, and the GUI may display the updated code substantially in real time during an editing session. The GUI may display an indication of the validity status of the set of instructions. In some embodiments, the user may be permitted to continue editing the code within the GUI while the set of instructions contains errors.
Description

DESCRIPTION OF DRAWINGS


FIG. 1 illustrates a block diagram of an exemplary configuration capable of modifying data traffic.



FIG. 2 is a block diagram of an exemplary data traffic modification device.



FIGS. 3
a-c are block diagrams depicting exemplary configurations for using a data traffic modification device.



FIG. 4 is a flow diagram of an exemplary state machine for data traffic modification.



FIG. 5 is a table that illustrates an exemplary communication session among a SATA initiator, a data traffic modification device, and a SATA target, when the SATA target requests a hold.



FIG. 6 is a table that that illustrates an exemplary communication session among a SATA initiator, a data traffic modification device, and a SATA target, when the SATA initiator requests a hold.



FIG. 7 is a block diagram depicting an exemplary method for processing a pause request from a SATA target coupled to a data traffic modification device.



FIG. 8 is a block diagram depicting an exemplary process for handling a context using in a data traffic modification device.



FIGS. 9
a-c illustrate two exemplary data substitution processes being performed upon the data stream.



FIGS. 10
a-d illustrate an exemplary graphical user interface for viewing and editing data modification scenarios.


Claims
  • 1. A method of editing a set of operating instructions for a waveform processing system by receiving user input through a graphical user interface (GUT) editor, whereby the user is permitted to edit the code to introduce at least one instruction that renders the code invalid for the waveform processing system, the method comprising: (a) receiving user input to modify a single instruction in a set of instructions to be converted into an executable code for execution by a processor in a target waveform processing system, wherein execution of the executable code causes the processor to perform operations to process an electrical signal;(b) updating the set of instructions to include the instruction modified according to the received user input;(c) determining a validity of the updated set of instructions, wherein the validity determination is based on a set of validity rules associated with executing executable code on the target waveform processing system;(d) selectively generating an optional error message when the updated set of instructions is invalid;(e) selectively sending information to cause a display device to display the optional error message; and(f) repeating steps (a)-(e) for at least one subsequent instruction in the set of instructions.
  • 2. The method of claim 1, wherein the set of instructions comprises at least one event instruction to specify a trigger condition and an action instruction associated with an action to be performed upon an occurrence of the specified trigger condition.
  • 3. The method of claim 1, wherein the operations to process an electrical signal comprise selectively modifying data in a data stream.
  • 4. The method of claim 3, wherein selectively modifying data in the data stream comprises introducing at least one error into the data stream.
  • 5. The method of claim 3, wherein the data stream comprises bidirectional data traffic.
  • 6. The method of claim 3, wherein the operations to process an electrical signal comprise buffering the data stream after receiving a Serial Advanced Technology Attachment (SATA)-compliant pause request.
  • 7. The method of claim 3, further comprising restoring a context of the data stream (a) in response to receiving a signal to resume transmission of the data stream, and (b) before resuming transmission of the data stream.
  • 8. The method of claim 3, wherein selectively modifying data in the received data stream comprises modifying at least one bit in the data stream in response to detecting a user-specified trigger condition.
  • 9. The method of claim 8, wherein selectively modifying the received data stream further comprises receiving in a buffer the at least one bit to be modified before receiving data that fulfills the user-specified trigger condition.
  • 10. The method of claim 9, wherein the user-specified trigger condition comprises a user-specified data value in the data stream.
  • 11. The method of claim 1, wherein the sent information is further to cause the display device to display the displayed error message and at least a portion of the updated set of instructions in a common display region on the GUI such that the GUI presents an indication of a relationship between the error message and the instruction associated with the error.
  • 12. The method of claim 1, wherein the error message indicates a type of an error identified by the validity determination.
  • 13. The method of claim 1, wherein the error message indicates a location of an error within the set of instructions.
  • 14. The method of claim 1, wherein the validity rules relate to resources available on the waveform processing system.
  • 15. The method of claim 14, wherein the validity rules comprise a rule defining a maximum number of independently programmable state machines on the waveform processing system for a valid set of instructions.
  • 16. The method of claim 1, wherein the waveform processing system comprises a data traffic modification device.
  • 17. The method of claim 1, wherein the target waveform processing system comprises a protocol analyzer.
  • 18. The method of claim 1, wherein the target waveform processing system comprises a logic analyzer.
  • 19. The method of claim 1, wherein the target waveform processing system comprises an error injector.
  • 20. The method of claim 1, wherein the target waveform processing system comprises an acquisition system to acquire a waveform of the electrical signal.
  • 21. The method of claim 1, further comprising compressing data containing the set of instructions for storage in a data store on the target waveform processing system.
  • 22. The method of claim 1, further comprising synchronizing a plurality of versions of the executable code among two or more target waveform processing system.
  • 23. A method to edit operating code for a waveform processing system, whereby a user is permitted to edit individual instructions while the operating code is determined to contain at least one error, the method comprising: (a) displaying a set of instructions in a graphical user interface (GUI), the displayed set of instructions to be converted into executable code for execution by a processor, wherein execution of the executable code causes the processor to perform operations to selectively modify data traffic between a source device and target device, the operations to be performed upon the occurrence of a trigger condition;(b) receiving through the user interface an input to modify one of the instructions in the set of instructions;(c) updating the set of instructions to include the instruction modified in accordance with the received input;(d) determining if the updated set of instructions contains an error; and(e) selectively displaying in the GUI both the updated set of instructions and an optional indication whether the updated set of instructions contains an error, the optional indication being based on a result of the determining step.
  • 24. The method of claim 23, wherein the indication includes information about a location of the error.
  • 25. The method of claim 23, wherein the indication includes information about a type of the error.
  • 26. The method of claim 23, wherein the operations to selectively modify data traffic between a source device and target device comprise modifying a data value at a first position in a stream of data.
  • 27. The method of claim 23, wherein the modification to the data value introduces an error into the data stream.
  • 28. The method of claim 26, wherein the data stream comprises a second data value at a second position in the data stream, wherein detecting the second value triggers the occurrence of the predefined condition.
  • 29. The method of claim 28, wherein the first position precedes the second position within the data stream.
  • 30. The method of claim 23, wherein the steps (d)-(e) are performed in substantially real time during an editing session.
  • 31. The method of claim 23, wherein the GUI comprises a display region for editing at least one event instruction to specify a trigger condition and at least one action instruction associated with an action to be performed upon an occurrence of the specified trigger condition.
Provisional Applications (8)
Number Date Country
60779084 Mar 2006 US
60779039 Mar 2006 US
60779179 Mar 2006 US
60778834 Mar 2006 US
60779180 Mar 2006 US
60779085 Mar 2006 US
60779264 Mar 2006 US
60892093 Feb 2007 US