Scheduling generated code based on target characteristics
US-8990783-B1 · Mar 24, 2015 · US
US9268536B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9268536-B2 |
| Application number | US-201414467684-A |
| Country | US |
| Kind code | B2 |
| Filing date | Aug 25, 2014 |
| Priority date | Sep 26, 2012 |
| Publication date | Feb 23, 2016 |
| Grant date | Feb 23, 2016 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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.
involving deadlines, e.g. rate based, periodic · CPC title
Software maintenance or management · CPC title
model driven · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.