Patents by Inventor David MacLay

David MacLay has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 9952837
    Abstract: A system and method supports reusing model components or component artifacts in a first modeling environment where the model components or artifacts were created in a second environment. An interface to the model components or artifacts from the first modeling environment is analyzed, and compared to an interface from the second environment. A wrapper object is constructed to convert between differences identified among the two interfaces. Utilizing the wrapper object, the model components or component artifacts are reused in the second environment.
    Type: Grant
    Filed: April 1, 2015
    Date of Patent: April 24, 2018
    Assignee: The MathWorks, Inc.
    Inventors: David Maclay, Jonathan J. Fielder
  • Patent number: 9697020
    Abstract: The automatic generation of a real-time scheduler for scheduling the execution of tasks on a real-time system is disclosed. The scheduler may allow task overruns in the execution of the tasks on the real-time system. The task overruns may occur when the execution of a task for a current sample hit is not completed before a next sample hit. When the task overruns occur, the scheduler may delay the execution of the task for the next sample hit until the execution of the task for the current sample hit is completed. The execution of the task for the next sample hit is performed after the execution of the task for the current sample hit is completed.
    Type: Grant
    Filed: June 30, 2014
    Date of Patent: July 4, 2017
    Assignee: The Mathworks, Inc.
    Inventor: David Maclay
  • Patent number: 9268536
    Abstract: 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.
    Type: Grant
    Filed: August 25, 2014
    Date of Patent: February 23, 2016
    Assignee: The MathWorks, Inc.
    Inventors: David MacLay, Matej Urbas
  • Publication number: 20140365992
    Abstract: 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.
    Type: Application
    Filed: August 25, 2014
    Publication date: December 11, 2014
    Inventors: David MACLAY, Matej URBAS
  • Publication number: 20140309980
    Abstract: The automatic generation of a real-time scheduler for scheduling the execution of tasks on a real-time system is disclosed. The scheduler may allow task overruns in the execution of the tasks on the real-time system. The task overruns may occur when the execution of a task for a current sample hit is not completed before a next sample hit. When the task overruns occur, the scheduler may delay the execution of the task for the next sample hit until the execution of the task for the current sample hit is completed. The execution of the task for the next sample hit is performed after the execution of the task for the current sample hit is completed. The present invention may enable users to input information relating to the behavior in real-time execution of the graphical programs or models. The present invention may simulate the graphical programs or models using the information on the behavior of the graphical programs or models executed in the real-time execution.
    Type: Application
    Filed: June 30, 2014
    Publication date: October 16, 2014
    Inventor: David MACLAY
  • Patent number: 8819618
    Abstract: 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.
    Type: Grant
    Filed: September 26, 2012
    Date of Patent: August 26, 2014
    Assignee: The MathWorks, Inc.
    Inventors: David MacLay, Matej Urbas
  • Publication number: 20140089889
    Abstract: 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.
    Type: Application
    Filed: September 26, 2012
    Publication date: March 27, 2014
    Applicant: THE MATHWORKS, INC.
    Inventors: David MACLAY, Matej URBAS
  • Patent number: 8457945
    Abstract: A model may be constructed and simulated using processor-in-the-loop co-simulation at a target device. In one implementation, a host environment may provide a graphical environment that facilitates construction of the model defined as a plurality of functional blocks. The host environment may receive, via graphical selection menus associated with the blocks of the model, an indication of which blocks of the model are to simulated at an external target device and which blocks of the model are to be simulated at the host environment. Further, the host environment may receive a command, that may be entered interactively by a user, to start simulation of the model and execute, in response to the command, co-simulation of the model at the host environment and the external target device.
    Type: Grant
    Filed: May 23, 2012
    Date of Patent: June 4, 2013
    Assignee: The Mathworks, Inc.
    Inventors: Jonathan Fielder, David MacLay
  • Patent number: 8209158
    Abstract: A model may be constructed and simulated using processor-in-the-loop co-simulation at a target device. In one implementation, a host environment may provide a graphical environment that facilitates construction of the model defined as a plurality of functional blocks. The host environment may receive, via graphical selection menus associated with the blocks of the model, an indication of which blocks of the model are to simulated at an external target device and which blocks of the model are to be simulated at the host environment. Further, the host environment may receive a command, that may be entered interactively by a user, to start simulation of the model and execute, in response to the command, co-simulation of the model at the host environment and the external target device.
    Type: Grant
    Filed: July 3, 2008
    Date of Patent: June 26, 2012
    Assignee: The MathWorks, Inc.
    Inventors: Jonathan Fielder, David Maclay
  • Patent number: 7613595
    Abstract: The automatic generation of a real-time scheduler for scheduling the execution of tasks on a real-time system is disclosed. The scheduler may allow task overruns in the execution of the tasks on the real-time system. The task overruns may occur when the execution of a task for a current sample hit is not completed before a next sample hit. When the task overruns occur, the scheduler may delay the execution of the task for the next sample hit until the execution of the task for the current sample hit is completed. The execution of the task for the next sample hit is performed after the execution of the task for the current sample hit is completed. The present invention may enable users to input information relating to the behavior in real-time execution of the graphical programs or models. The present invention may simulate the graphical programs or models using the information on the behavior of the graphical programs or models executed in the real-time execution.
    Type: Grant
    Filed: March 1, 2005
    Date of Patent: November 3, 2009
    Assignee: The Math Works, Inc.
    Inventor: David MacLay
  • Publication number: 20090013322
    Abstract: The automatic generation of a real-time scheduler for scheduling the execution of tasks on a real-time system is disclosed. The scheduler may allow task overruns in the execution of the tasks on the real-time system. The task overruns may occur when the execution of a task for a current sample hit is not completed before a next sample hit. When the task overruns occur, the scheduler may delay the execution of the task for the next sample hit until the execution of the task for the current sample hit is completed. The execution of the task for the next sample hit is performed after the execution of the task for the current sample hit is completed. The present invention may enable users to input information relating to the behavior in real-time execution of the graphical programs or models. The present invention may simulate the graphical programs or models using the information on the behavior of the graphical programs or models executed in the real-time execution.
    Type: Application
    Filed: September 17, 2008
    Publication date: January 8, 2009
    Inventor: David MACLAY
  • Publication number: 20060200795
    Abstract: The automatic generation of a real-time scheduler for scheduling the execution of tasks on a real-time system is disclosed. The scheduler may allow task overruns in the execution of the tasks on the real-time system. The task overruns may occur when the execution of a task for a current sample hit is not completed before a next sample hit. When the task overruns occur, the scheduler may delay the execution of the task for the next sample hit until the execution of the task for the current sample hit is completed. The execution of the task for the next sample hit is performed after the execution of the task for the current sample hit is completed. The present invention may enable users to input information relating to the behavior in real-time execution of the graphical programs or models. The present invention may simulate the graphical programs or models using the information on the behavior of the graphical programs or models executed in the real-time execution.
    Type: Application
    Filed: March 1, 2005
    Publication date: September 7, 2006
    Applicant: The MathWorks, Inc.
    Inventor: David MacLay
  • Publication number: 20040195040
    Abstract: An air induction system includes a duct that defines a passage for airflow to the engine. The duct is substantially clear of obstructions to improve airflow that in turn provides improved engine performance. A speaker generates sounds to provide a desirable engine sound. A controller drives the speaker to generate desired tones and sounds responsive to engine operation. The sounds generated by the speaker enhance, improve and provide desirable and proportional acoustic performance more reflective of the improved engine performance provided by the improved airflow.
    Type: Application
    Filed: April 5, 2004
    Publication date: October 7, 2004
    Inventors: Manish Vaishya, John R. Mammarella, Gregory C. Langford, David Maclay