US2016012162A1PendingUtilityA1

System and method for scheduling the execution of model components using model events

Assignee: MATHWORKS INCPriority: Jan 15, 2004Filed: Jul 28, 2014Published: Jan 14, 2016
Est. expiryJan 15, 2024(expired)· nominal 20-yr term from priority
G06F 8/31G06F 2111/12G06F 2209/543G06F 9/542G06F 30/20G06F 17/5009
58
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A method of specifying and configuring a causal relationship between the dynamics of a graphical model and the execution of components of the model is disclosed. Model component execution is tied to the occurrence of model events. Model events are first defined in the modeling environment. The occurrence of conditions in the model specified in the definition of the event causes the event to be “posted”. Model components that have been associated with the occurrence of the event “receive” the notice of the posting of the event and then execute. Random components within a subsystem may be designated to execute upon the occurrence of an event, as may non-contiguous components within a model. The association between model events and component execution may be specified without drawing graphical indicators connecting components in the view of the model.

Claims

exact text as granted — not AI-modified
We claim: 
     
         1 . A method comprising:
 storing, in a memory, an executable graphical model having a plurality of executable time-based components, said executable graphical model including at least one user-configurable, executable graphical post component having at least one input for receiving at least one input signal, said at least one user-configurable, executable graphical post component being configured to post an event when a condition associated with said at least one input signal of said at least one user-configurable, executable graphical post component is satisfied;   associating, by a processor coupled to the memory, at least one executable time-based component of said executable graphical model with said event;   identifying when said condition is satisfied during execution of said executable graphical model;   posting, by said at least one user-configurable, executable graphical post component, an occurrence of said event when said condition is satisfied;   notifying said at least one executable time-based component that is associated with said event of said occurrence of said event; and   executing, as part of the execution of said executable graphical model, said at least one executable time-based component in response to said notifying.   
     
     
         2 . The method of  claim 1  wherein said at least one user-configurable, executable graphical post component is a block or a label. 
     
     
         3 . The method of  claim 1 , further comprising:
 setting a sample time for an initial execution of a first executable time-based component to be said occurrence of said event; and   propagating said sample time to a second executable time-based component in said executable graphical model, said second executable time-based component configured to inherit a sample rate.   
     
     
         4 . The method of  claim 3 , further comprising:
 setting a sample time of a plurality of non-contiguous executable time-based components in said executable graphical model to be said occurrence of said event.   
     
     
         5 . The method of  claim 4 , further comprising:
 providing a view of said executable graphical model,   wherein said sample time for said plurality of non-contiguous executable time-based components is set without adjusting visible connections between said plurality of non-contiguous executable time-based components displayed in said view.   
     
     
         6 . The method of  claim 3 , further comprising:
 providing a view of said executable graphical model; and   indicating with an event ID in said view that said sample time of said first executable time-based component is set to said event.   
     
     
         7 . The method of  claim 1 , wherein an execution scope of said event is restricted to a portion of said executable graphical model. 
     
     
         8 . The method of  claim 1  wherein a branch priority executable time-based component indicates an order of execution among at least two branches of the plurality of executable time-based components in response to said notifying. 
     
     
         9 . A method comprising:
 storing, in a memory, an executable model having a plurality of executable time-based components, said executable model including at least one user-configurable, executable graphical post component having at least one input for receiving at least one input signal, said at least one user-configurable, graphical post component being configured to post a specified event when a condition associated with said at least one input signal of said at least one user-configurable, executable graphical post component is satisfied;   identifying when said condition is satisfied during execution of said executable model;   posting, by said at least one user-configurable, executable graphical post component, an occurrence of said specified event when said condition is satisfied;   interrupting execution of an executing event in response to said posting of said specified event; and   performing an operation in said executable model in response to said posting of said specified event.   
     
     
         10 . The method of  claim 9  wherein said specified event is treated as a normal event and further comprising:
 resuming execution of said interrupted event. 
 
     
     
         11 . The method of  claim 9  wherein said specified event is treated as an exception event and further comprising:
 returning control of said execution of said executable model to a calling process which called said interrupted executing event without resuming execution of said interrupted event. 
 
     
     
         12 . The method of  claim 9  wherein said specified event is specified using an instantiated event object. 
     
     
         13 . The method of  claim 12  wherein said event object is associated with a task object, said task object
 corresponding to an operating system task, and 
 having at least one of a specified execution rate and priority. 
 
     
     
         14 . The method of  claim 13  wherein at least two events with different tasks are executing in a model and further comprising:
 using event transition components to schedule said execution of time-based components associated with said at least two events, said event transition components separating said execution of said time-based components associated with said at least two events. 
 
     
     
         15 . The method of  claim 9  wherein said operation is said execution of more than one executable time-based component groups, said executable time-based component groups being a user selected grouping of executable time-based components, said order of execution of said executable time-based component groups specified by a user. 
     
     
         16 . A physical non-transitory computer-readable medium holding computer-executable instructions, said instructions comprising:
 one or more instructions for storing an executable graphical model
 having a plurality of executable time-based components and 
 configured with a condition capable of being satisfied during execution of said executable graphical model; 
   one or more instructions for identifying when said condition is satisfied during execution of said executable graphical model;   one or more instructions for triggering an occurrence of an event in response to said identifying;   one or more instructions for receiving, by an event handler, the occurrence of said event in said graphical modeling environment;   one or more instructions for notifying, by said event handler, at least one executable time-based component that is associated with said event of said occurrence of said event; and   one or more instructions for executing said at least one executable time-based component in response to said notifying.   
     
     
         17 . The non-transitory computer-readable medium of  claim 16 , wherein said instructions further comprise:
 one or more instructions for setting a sample time for an initial execution of a first executable time-based component to be said occurrence of said event; and   one or more instructions for propagating said sample time to a second executable time-based component in said executable graphical model, said second executable time-based component configured to inherit a sample rate.   
     
     
         18 . The non-transitory computer-readable medium of  claim 16 , wherein said instructions further comprise:
 one or more instructions for setting a sample time of a plurality of non-contiguous executable time-based components in said executable graphical model to be said occurrence of said event.   
     
     
         19 . The non-transitory computer-readable medium of  claim 18 , further comprising:
 one or more instructions for providing a view of said executable graphical model,   wherein said sample time for said plurality of non-contiguous executable time-based components is set without adjusting visible connections between said plurality of non-contiguous executable time-based components displayed in said view.   
     
     
         20 . The non-transitory computer-readable medium of  claim 16 , wherein an execution scope of said event is restricted to a portion of said executable graphical model. 
     
     
         21 . The non-transitory computer-readable medium of  claim 16  wherein a branch priority block indicates an order of execution among at least two branches of the plurality of executable time-based components in response to said notifying. 
     
     
         22 . The non-transitory computer-readable medium of  claim 21  wherein more than one executable time-based component groups execute in response to said notifying, said executable time-based component groups being a user selected grouping of two or more of the plurality of executable time-based components, said order of execution of said executable time-based component groups specified by a user. 
     
     
         23 . A physical non-transitory computer-readable medium holding computer-executable instructions, said instructions comprising:
 one or more instructions for storing, in a memory, an executable model having a plurality of executable time-based components, said model including at least one user-configurable, executable graphical post component having at least one input for receiving at least one input signal, said at least one user-configurable, executable graphical post component being configured to post a specified event when a condition associated with said at least one input signal of said at least one user-configurable, executable graphical post component is satisfied;   one or more instructions for identifying when said condition is satisfied during execution of said executable model, said execution of said executable model including running a simulation of said executable model within a graphical modeling environment;   one or more instructions for posting, using said executable graphical post component, an occurrence of said specified event when said condition is satisfied;   one or more instructions for interrupting execution of an executing event in response to said posting of said specified event; and   one or more instructions for performing an operation in said executable model within said graphical modeling environment in response to said posting of the occurrence of said specified event.   
     
     
         24 . The non-transitory computer-readable medium of  claim 23  wherein said specified event is treated as a normal event and wherein said instructions further comprise: one or more instructions for resuming execution of said interrupted event. 
     
     
         25 . The non-transitory computer-readable medium of  claim 23  wherein said specified event is treated as an exception event and wherein said instructions further comprise: one or more instructions for returning control of said execution of said executable model to a calling process which called said interrupted event without resuming execution of said interrupted event. 
     
     
         26 . The non-transitory computer-readable medium of  claim 25  wherein at least two events with different tasks are executing in a model and wherein said instructions further comprise:
 one or more instructions for using event transition components to schedule said execution of executable time-based components associated with said at least two events, said event transition components separating said execution of said executable time-based components associated with said at least two events. 
 
     
     
         27 . The non-transitory computer-readable medium of  claim 23  wherein said operation is controlled by an order of execution indicated a branch priority block.

Join the waitlist — get patent alerts

Track US2016012162A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.