or
Bookmark and Share
Logic analyzer for software
   
Document Number
US Patent 5872909
Issued Date
February 16, 1999
Link
Inventors
Burd; Dana (Oakland, CA)
Fox; Mark A. (San Francisco, CA)
Burns; Stella M. (San Francisco, CA)
Map
Abstract
The present invention logs events which occur in the target software, and stores these in a buffer for periodic uploading to a host computer. Such events include the context switching of particular software tasks, and task status at such context switch times, along with events triggering such a context switch, or other events. The host computer reconstructs the real-time status of the target software from the limited event data uploaded to it. The status information is then displayed in a user-friendly manner. This provides the ability to perform a logic analyzer function on real-time software. A display having multiple rows, with one for each task or interrupt level, is provided. Along a time line, an indicator shows the status of each program, with icons indicating events and any change in status.
Drawing
Logic analyzer for software - US Patent 5872909 Drawing
Drawing from US Patent 5872909
Tags:
Description:
Amusing 0%
Clever 0%
Complex 0%
Efficient 0%
Historic 0%
Important 0%
Innovative 0%
Interesting 0%
Practical 0%
Simple 0%
Number of Claims:
30
Comments:
no comments yet
Owner
Published
February 16, 1999
Application Number
08/474,298
Filed
June 7, 1995
US Classification
714/38   714/47
Int'l Classification
G06F   11/36   (20060101)  
Examiner
Parent Case
RELATED APPLICATION This application is a continuation-in-part of related U.S. application Ser. No. 08/378,858, filed Jan. 24, 1995, now abandoned
USPTO Field of Search
395/183.14   395/183.22   395/184.01   395/704   364/550  
Related Patents
6105052 - Data processing method, recording medium, and data processing apparatus - Owned by Sony Corporation (Tokyo,JP)

The present invention realizes a pure object-oriented operating system that allows a flexible system configuration and lowers the number of context-switches. The realization method in the present invention is: when a message sending source object executes a specified method to send a message to a message-destination object, first, execution of the message-sending source object is discontinued and context data corresponding to the message-sending source object is modified to indicate that execution is discontinued. Then, a specified module containing descriptions of message-sending related procedures is invoked and one of said procedures that corresponds to the specified method is executed to retrieve the context data of the message-destination object. Then, the context data found in the above retrieval is modified to indicate that the object corresponding to the context data is under execution, and the message is passed from the message-sending source to the message destination object.

6785893 - Operating system event tracker having separate storage for interrupt and non-interrupt events and flushing the third memory when timeout and memory full occur - Owned by Microsoft Corporation (Redmond, WA)

A system and method for logging events processed by an operating system is provided. The events logged can include interrupt and non-interrupt events, and can include user-defined events. Information concerning the interrupt events is initially written, during event handling time, into a first buffer while information concerning non-interrupt events is initially written, during event handling time, into a second buffer. Information from the two buffers is then written to a third buffer not during event handling time. Separating the interrupt event buffer from the non-interrupt event buffer rather than having one buffer, and writing relatively small amounts of data during event handling time to memory, rather than transporting data to slower non-memory mapped devices allows the event logger to be less intrusive and facilitates greater accuracy in event logging. Data stored in the third buffer can be accessed by a viewing component, which facilitates displaying data in a manner useful to diagnose operating systems.

6493837 - Using log buffers to trace an event in a computer system - Owned by Microsoft Corporation (Redmond, WA)

An event tracing program generally receives performance data about an event occurring on the computer system from a data producer program. The event tracing program responds by recording the event performance data in one of a set of a log buffers. When a log buffer becomes full, the event tracing program places the log buffer on a buffer flush list. The filled buffer is then written out to a more permanent storage medium, such as a disk. From time to time, the event tracing program may also transfer a buffer to the flush list prior to becoming full after a time-out period. To prevent a buffer from being flushed while event performance data is being recorded in the buffer, a reference count is incremented prior to the record operation to signify that the buffer is currently being modified. For high performance on multiprocessor systems, the buffers are allocated per processor to minimize data sharing among processors.

6175932 - System and method for providing state capture and restoration to an I/O system - Owned by National Instruments Corporation (Austin, TX)

A modular distributed I/O system includes a computer coupled to module banks through a network bus. A module bank includes a communication module, terminal bases, and I/O modules. The adjoined terminal bases form a local bus mastered by the communication module. The I/O modules connect to the local bus through terminal bases. I/O modules are pluriform and programmable. The communication module maintains a memory image of the configuration state of each I/O module resident in the module bank. A memory image persists when an I/O module is removed from its terminal base. The memory image is used to configure a new I/O module which is inserted into the same terminal base. The communication module monitors for communication failure on the network bus, and is configured to capture the state of the module bank and automatically restore this captured state after a power-loss event. The terminal bases realize a local bus which includes a parallel bus, a serial bus, and an address assignment bus. Each terminal base receives a value from a preceding terminal base, increments this value, and asserts the increment value to a succeeding terminal base. Each terminal base is automatically assigned an physical proximity address. An I/O module controls read/write access to its register space by a semaphore mechanism which supports multi-threaded processing. The I/O module latches an ungranted semaphore request and assumes a self-exclusion state upon releasing the semaphore wherein the semaphore is reserved for the communication module.

6611955 - Monitoring and testing middleware based application software - Owned by Swisscom AG (Berne,CH) Alcatel (Paris,FR) Ecole Polytechnique Federale de Lausanne (EPFL) (Lausanne,CH)

A method for on-line monitoring and testing the behavior of middleware based, distributed application software during run-time of such software is disclosed. In order to automatize the monitoring of the behavior of the application software, the monitoring method comprises: defining events capturing the behavior of the software execution, the events being based on an abstraction of the application software, the abstraction being provided by middleware; using code generating means and an instrumentation technique for automatically adding code to the implementation of the software code suitable for generating traces suitable to be sent to an observer, the information carried by the added code including information on the order of occurrence of the events and on the application software part location where each event occurs; and using a monitoring mechanism based on sending of trace reports to the observer, which ensures or takes into account the time order of the reported traces. In order to automatize testing of the behavior of the application software, the testing method comprises monitoring the behavior of the software during run-time thereof by the above mentioned method, and using a checking mechanism using the information monitored at runtime for checking whether the behavior is violating or has violated predefined properties or constraints.

Claims
Description
About| FAQs| Terms & Disclaimer| Link to Us| Contact Us