Behavior invariant optimization of maximum execution times for model simulation

US9268536B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9268536-B2
Application numberUS-201414467684-A
CountryUS
Kind codeB2
Filing dateAug 25, 2014
Priority dateSep 26, 2012
Publication dateFeb 23, 2016
Grant dateFeb 23, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A device receives a model that includes model elements scheduled to execute in time slots on a hardware device. The device identifies time slots, of the time slots, that are unoccupied or underutilized by the model elements, and identifies a set of model elements that can be moved to the unoccupied time slots without affecting a behavior of the model. The device calculates a combined execution time of the model elements, determines whether the combined execution time of the model elements is less than or equal to a duration of a first time slot of the time slots, and schedules the model elements for execution in the first time slot when the combined execution time of the model elements is less than or equal to the duration of the first time slot.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: receiving a model, the model including model elements scheduled to execute in time slots on a hardware device, the model being received via a technical computing environment (TCE), the receiving the model being performed by a device; identifying a set of one or more model elements, of the model elements, that, when moved to one or more time slots of the time slots, preserve a behavior of the model, the identifying the set of one or more model elements being performed by the device; determining whether a combined execution time of the model elements is less than or equal to a duration of a first time slot of the time slots, the determining whether the combined execution time of the model elements is less than or equal to the duration of the first time slot being performed by the device; scheduling the model elements for execution in the first time slot when the combined execution time of the model elements is less than or equal to the duration of the first time slot, the scheduling the model elements being performed by the device; and scheduling one or more model elements, of the set of one or more model elements, for execution in a second time slot of the time slots, when the combined execution time of the model elements is greater than the duration of the first time slot, the scheduling the one or more model elements being performed by the device. 2. The method of claim 1 , where scheduling the one or more model elements comprises: determining that a combined execution time, of the one or more model elements, is less than or equal to the second time slot; and scheduling the one or more model elements for execution in the second time slot based on determining that the combined execution time, of the one or more model elements, is less than or equal to the second time slot. 3. The method of claim 1 , further comprising: determining that the combined execution time of the model elements is greater than the duration of the first time slot; determining that a combined execution time, of remaining one or more model elements of the set of one or more model elements, is less than or equal to the first time slot after determining that the combined execution time of the model elements is greater than the duration of the first time slot; and scheduling the remaining one or more model elements for execution in the first time slot based on determining that the combined execution time, of the remaining one or more model elements, is less than or equal to the first time slot. 4. The method of claim 1 , further comprising: identifying the one or more time slots, of the time slots, as time slots that are unoccupied or underutilized by the model elements. 5. The method of claim 1 , further comprising: identifying particular one or more model elements of the set of one or more model elements when the combined execution time of the model elements is greater than the duration of the first time slot; determining that a combined execution time, of the particular one or more model elements, is greater than the second time slot; removing at least one model element, from the particular one or more model elements, to obtain the one or more the model elements; and determining that a combined execution time, of the one or more model elements, is less than or equal to the second time slot, where scheduling the one or more model elements includes scheduling the one or more model elements for execution in the second time slot based on determining that the combined execution time, of the one or more model elements, is less than or equal to the second time slot. 6. The method of claim 1 , further comprising: identifying particular one or more model elements of the set of one or more model elements when the combined execution time of the model elements is greater than the duration of the first time slot; determining that a combined execution time, of the particular one or more model elements, is greater than the first time slot; removing at least one model element, from the particular one or more model elements, to obtain other one or more model elements of the set of one or more model elements; determining that a combined execution time, of the other one or more model elements, is less than or equal to the first time slot; and scheduling the other one or more model elements for execution in the second time slot based on determining that the combined execution time, of the one or more model elements, is less than or equal to the first time slot. 7. The method of claim 1 , where each model element, of the model elements, includes a representation of a hardware device, a system, or a subsystem that is modeled by the TCE. 8. One or more non-transitory computer-readable media storing instructions, the instructions comprising: one or more instructions that, when executed by a processor of a device, cause the processor to: receive a model, the model including model elements scheduled to execute in time slots on a hardware device, the model being received via a technical computing environment (TCE); identify a set of one or more model elements, of the model elements, that, when moved to one or more time slots of the time slots, preserve a behavior of the model; determine whether a combined execution time of the model elements is less than or equal to a duration of a first time slot of the time slots; schedule the model elements for execution in the first time slot when the combined execution time of the model elements is less than or equal to the duration of the first time slot; and schedule one or more model elements, of the set of one or more model elements, for execution in a second time slot of the time slots, when the combined execution time of the model elements is greater than the duration of the first time slot. 9. The one or more non-transitory media of claim 8 , where the instructions further comprise: one or more instructions to schedule one or more model elements, of the set of one or more model elements, for execution in the first time slot, when the combined execution time of the model elements is greater than the duration of the first time slot. 10. The one or more non-transitory media of claim 9 , where the instructions further comprise: one or more instructions to determine whether a combined execution time, of the remaining one or more model elements, is less than or equal to the first time slot, and where one or more instructions to schedule the remaining one or more model elements include one or more instructions to schedule the remaining one or more model elements for execution in the first time slot when the combined execution time, of the remaining one or more model elements, is less than or equal to the first time slot. 11. The one or more non-transitory media of claim 9 , where the instructions further comprise: one or more instructions to determine whether a combined execution time, of the one or more model elements, is less than or equal to the second time slot, and where one or more instructions to schedule the one or more model elements include one or more instructions to schedule the one or more model elements for execution in the first time slot when the combined execution time, of the remaining one or more model elements, is less than or equal to the second time slot. 12. The one or more non-transitory media of claim 8 , where the combined execution time, of the model elements, is associated with a cost of executing the model elements. 13. The one or more non-transitory media of claim 8 , where the model elements are executed sequentially.

Assignees

Inventors

Classifications

  • G06F9/4887Primary

    involving deadlines, e.g. rate based, periodic · CPC title

  • Software maintenance or management · CPC title

  • G06F8/35Primary

    model driven · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9268536B2 cover?
A device receives a model that includes model elements scheduled to execute in time slots on a hardware device. The device identifies time slots, of the time slots, that are unoccupied or underutilized by the model elements, and identifies a set of model elements that can be moved to the unoccupied time slots without affecting a behavior of the model. The device calculates a combined execution …
Who is the assignee on this patent?
Mathworks Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/4887. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 23 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).