IP Library Granted Patent US 8,266,584
Granted Patent B2
US 8,266,584 · App. 11/748,898 · Granted Sep 11, 2012

Statechart development environment with a plurality of user-selectable event modes

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,266,584
App. No.
11/748,898
Granted
Sep 11, 2012
Kind
B2
Abstract

Various embodiments of a system and method enabling a user to create a statechart and select an event mode for the statechart are disclosed. The statechart may be created in a graphical manner in response to user input and displayed on a display. A graphical user interface enabling a user to select from a plurality of event modes for the statechart may be displayed. The plurality of event modes may include both a synchronous mode and an asynchronous mode. The statechart may be configured to receive events from an external program either synchronously or asynchronously, depending on which event mode the user selects.

Claims (52)

1. A computer-implemented method comprising:

displaying a statechart on a display in response to user input, wherein the statechart comprises a plurality of state icons connected by connector elements, wherein the state icons represent states and wherein the connector elements represent transitions between the states;

displaying a graphical user interface enabling a user to select from a plurality of event modes for the statechart, wherein the plurality of event modes includes a synchronous mode and an asynchronous mode;

receiving user input selecting an event mode from the plurality of event modes, wherein the selected event mode is one of the synchronous mode or the asynchronous mode, wherein the selected event mode controls whether the statechart receives trigger events from an external software program synchronously or asynchronously;

storing information indicating the selected event mode; and

executing the statechart, wherein said executing comprises:

if the selected event mode is the synchronous mode, the statechart receiving one or more trigger events from the external software program and processing the one or more trigger events within a deterministic time interval relative to when the trigger events were received;

if the selected event mode is the asynchronous mode, the statechart receiving one or more trigger events from the external software program via an event queue associated with the statechart.

2. The method of claim 1 , further comprising:

automatically configuring the external software program to pass the one or more trigger events to the statechart.

3. The method of claim 1 , wherein said executing the statechart further comprises:

if the selected event mode is the asynchronous mode, the statechart processing the one or more trigger events within a non-deterministic time interval relative to when the events were received via the event queue.

4. The method of claim 1 ,

wherein the external software program is a first software program, wherein the method further comprises automatically generating a second software program representing the statechart, wherein the second software program receives the one or more trigger events from the first software program.

5. The method of claim 1 , further comprising:

automatically generating source code and including the source code in the external software program, wherein the source code is operable to perform one of:

synchronously pass the one or more trigger events to the statechart, if the selected event mode is the synchronous mode;

asynchronously pass the one or more trigger events to the statechart, if the selected event mode is the asynchronous mode.

6. The method of claim 5 ,

wherein the external software program comprises a graphical data flow program;

wherein said automatically generating the source code comprises automatically generating one or more nodes that visually indicate passing the one or more trigger events to the statechart.

7. A non-transitory computer-readable memory medium storing program instructions executable to implement:

displaying a statechart on a display in response to user input, wherein the statechart comprises a plurality of state icons connected by connector elements, wherein the state icons represent states and wherein the connector elements represent transitions between the states;

displaying a graphical user interface enabling a user to select from a plurality of event modes for the statechart, wherein the plurality of event modes includes a synchronous mode and an asynchronous mode;

receiving user input selecting an event mode from the plurality of event modes, wherein the selected event mode is one of the synchronous mode or the asynchronous mode, wherein the selected event mode controls whether the statechart receives trigger events from an external software program synchronously or asynchronously;

storing information indicating the selected event mode; and

executing the statechart, wherein in said executing the program instructions are executable to implement:

if the selected event mode is the synchronous mode, the statechart receiving one or more trigger events from the external software program and processing the one or more trigger events within a deterministic time interval relative to when the trigger events were received;

if the selected event mode is the asynchronous mode, the statechart receiving one or more trigger events from the external software program via an event queue associated with the statechart.

8. The computer-readable memory medium of claim 7 , wherein in said executing the program instructions are further executable to implement:

if wherein the selected event mode is the asynchronous mode, the statechart processing the one or more trigger events within a non-deterministic time interval relative to when the events were received via the event queue.

9. The computer-readable memory medium of claim 7 ,

wherein the external software program is a first software program, wherein the program instructions are further executable to implement automatically generating a second software program representing the statechart.

10. The computer-readable memory medium of claim 7 , wherein the program instructions are further executable to implement:

automatically generating source code and including the source code in the external software program, wherein the source code is operable to perform one of:

synchronously pass the one or more trigger events to the statechart, if the selected event mode is the synchronous mode;

asynchronously pass the one or more trigger events to the statechart, if the selected event mode is the asynchronous mode.

11. The computer-readable memory medium of claim 10 ,

wherein the external software program comprises a graphical data flow program;

wherein said automatically generating the source code comprises automatically generating one or more nodes that visually indicate passing the one or more trigger events to the statechart.

12. A computer system comprising:

one or more processors;

a memory storing program instructions; and

a display device;

wherein the program instructions are executable by the one or more processors to implement comprising operations including:

displaying a statechart on the display device in response to user input, wherein the statechart comprises a plurality of state icons connected by connector elements, wherein the state icons represent states and wherein the connector elements represent transitions between the states;

displaying a graphical user interface enabling a user to select from a plurality of event modes for the statechart, wherein the plurality of event modes includes a synchronous mode and an asynchronous mode;

receiving user input selecting an event mode from the plurality of event modes, wherein the selected event mode is one of the synchronous mode or the asynchronous mode, wherein the selected event mode controls whether the statechart receives trigger events from an external software program synchronously or asynchronously;

storing information indicating the selected event mode; and

executing the statechart, wherein said executing comprises:

if the selected event mode is the synchronous mode, the statechart receiving one or more trigger events from the external software program and processing the one or more trigger events within a deterministic time interval relative to when the trigger events were received;

if the selected event mode is the asynchronous mode, the statechart receiving one or more trigger events from the external software program via an event queue associated with the statechart.

Assignments (4)
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 057280/0028) Recorded Oct 13, 2023
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: NATIONAL INSTRUMENTS CORPORATION
Reel/Frame 065231/0466 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 052935/0001) Recorded Oct 13, 2023
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: NATIONAL INSTRUMENTS CORPORATION; PHASE MATRIX, INC.
Reel/Frame 065653/0463 →
SECURITY INTEREST Recorded Jun 18, 2021
From: NATIONAL INSTRUMENTS CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 057280/0028 →
SECURITY INTEREST Recorded Jun 14, 2020
From: NATIONAL INSTRUMENTS CORPORATION; PHASE MATRIX, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 052935/0001 →