Patents Assigned to The MathWorks, Inc.
  • Patent number: 9753731
    Abstract: Methods and systems for analyzing and improving performance of computer codes. In some embodiments, a method comprises executing, via one or more processors, program code; collecting, via the one or more processors, one or more hardware dependent metrics for the program code; identifying an execution anomaly based on the one or more hardware dependent metrics, wherein the execution anomaly is present when executing the program code; and designing a modification of the program code via the one or more processors, wherein the modification addresses the execution anomaly. In some other embodiments, a method comprises collecting one or more hardware independent metrics for program code; receiving one or more characteristics of a computing device; and estimating, based on the one or more hardware independent metrics and the one or more characteristics, a duration for execution of the program code on the computing device.
    Type: Grant
    Filed: January 16, 2015
    Date of Patent: September 5, 2017
    Assignee: The MathWorks, Inc.
    Inventor: Milos Puzovic
  • Patent number: 9740529
    Abstract: A system and method for optimizing a system design that includes two or more components, where at least one component is to be implemented using a constrained resource. From an initial schedule, the resource having a longest span time between a start busy time slot and an end busy time slot is identified. The schedule for the other resources is then also extended to the span time. The resulting design can be made synchronous by inserting up-sampler and down-sampler function blocks before and after any strongly connected components.
    Type: Grant
    Filed: December 4, 2014
    Date of Patent: August 22, 2017
    Assignee: The MathWorks, Inc.
    Inventors: Chun-Yu Shei, Girish Venkataramani
  • Patent number: 9740458
    Abstract: In an embodiment, a system may include a processor having memory storing processor-executable instructions for a programming environment. The processor may perform the following instructions. A first, second, and third class may be defined. The second class may be defined as being compatible with the first class. The third class may be defined as being incompatible with the first class. A fourth class may be defined as a subclass of both the first class and the second class. A fifth class may be prevented from being a subclass of both the first class and the third class.
    Type: Grant
    Filed: March 30, 2015
    Date of Patent: August 22, 2017
    Assignee: The MathWorks, Inc.
    Inventors: Jennifer A. Black, David A. Foti
  • Patent number: 9740505
    Abstract: Exemplary embodiments provide methods, mediums, and systems for generating a runtime environment that is customized to a particular computer program, particularly in terms of the function definitions that support function calls made in the computer program. The customized runtime environment may therefore be smaller in size than a conventional runtime environment. To create such a customized runtime environment, an analyzer may be provided which monitors test executions of the computer program and/or performs a structural analysis of the source code of the computer program. The analyzer may determine a list of probabilistically or deterministically required function definitions, and provide the list to a component reducer. The component reducer may eliminate any function definitions not deemed to be required from a runtime environment, thereby producing a customized runtime environment that is built to support a particular computer program.
    Type: Grant
    Filed: July 15, 2014
    Date of Patent: August 22, 2017
    Assignee: The MathWorks, Inc.
    Inventors: Peter Hartwell Webb, James T. Stewart, Todd Flanagan
  • Patent number: 9727446
    Abstract: A device receives code generated via a technical computing environment (TCE), the code including a value to be tested, and receives a value modifier, a test case, and a constraint. The value modifier customizes a manner in which the value of the code is presented to the constraint for verification. The device also generates a test based on the value modifier, the test case, and the constraint, performs the test on the value of the code to generate a result, and outputs or stores the result.
    Type: Grant
    Filed: December 5, 2012
    Date of Patent: August 8, 2017
    Assignee: The MathWorks, Inc.
    Inventors: Andrew T. Campbell, David M. Saxe
  • Patent number: 9729843
    Abstract: A device receives a video file with technical computing environment information, and the video file displays interaction with a technical computing environment. The device plays the video file, and receives the technical computing environment information from the video file when the video file is playing. The device provides the technical computing device information to a local technical computing environment associated with the device.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: August 8, 2017
    Assignee: The MathWorks, Inc.
    Inventors: Pieter J. Mosterman, Matthew J. Simoneau, Edward W. Gulley, Jay R. Torgerson, Andrew C. Grace
  • Patent number: 9710750
    Abstract: In an embodiment, a technique for analyzing a model, either statically or dynamically, to check the model for one or more specified patterns with respect to accessing a data store associated with the model. The patterns may include, for example, writing to a data store prior to reading the data store, reading the data store prior to writing the data store, writing to the data store multiple times prior to reading the data store, reading the data store multiple times before writing the data store, etc. The model may be an executable graphical model that is generated in a graphical modeling environment. A result may be generated based on the analyzing. The result may be output.
    Type: Grant
    Filed: May 15, 2014
    Date of Patent: July 18, 2017
    Assignee: The MathWorks, Inc.
    Inventors: Matthew Englehart, Pieter J. Mosterman
  • Patent number: 9710237
    Abstract: A system and method optimizes hardware description generated from a graphical program or model having oversampling constraints automatically. The system may include a streaming optimizer, a resource sharing optimizer, a delay balancing engine, and a global scheduler. The streaming optimizer may transform vector data paths to scalar or smaller-sized vector data paths. The resource sharing optimizer may replace multiple, functionally equivalent blocks with a single shared block. The delay balancing may insert one or more elements to correct for data path misalignment. The global scheduler may place portions of the program or model into conditional execution sections and create control logic that controls the model sample times or steps that the portions are enabled. A validation model, a report, or hardware description code that utilizes fewer hardware resources may be generated from a modified version of the model that is created.
    Type: Grant
    Filed: June 27, 2016
    Date of Patent: July 18, 2017
    Assignee: The MathWorks, Inc.
    Inventor: Girish Venkataramani
  • Patent number: 9710242
    Abstract: A method and apparatus, including a computer program apparatus, which facilitate invoking methods defined within a second language system from a first language system. When a method is invoked from the first language system, the techniques automatically compare the output parameters of the first language system method with the number and data-types of parameters output by methods defined within the second language system. Based on this comparison, the invention selects a method that best matches the output signature of the invoked method. The invention, therefore, allows a user to easily invoke methods from external objects, such as C# objects, directly from the first language system.
    Type: Grant
    Filed: September 30, 2010
    Date of Patent: July 18, 2017
    Assignee: The MathWorks, Inc.
    Inventors: Fazil Peermohammed, David A. Foti
  • Patent number: 9703934
    Abstract: A system is configured to receive a task. The task is received over a first network, includes authentication credentials, and is processed using an application. The system is further configured to send the authentication credentials to a licensing server. The authentication credentials are sent over a second network, and are sent prior to processing the task using the application. The system is also configured to receive an authorization. The authorization is received over the second network, and authorizes the application to process the task.
    Type: Grant
    Filed: October 31, 2013
    Date of Patent: July 11, 2017
    Assignee: The MathWorks, Inc.
    Inventors: Amol M. Karnik, Christopher D. Hallgren, Loren P. Dean, Jocelyn Martin
  • Patent number: 9703515
    Abstract: A graphical user interface for a concurrent computing environment that presents the output generated by multiple concurrent computing units during and upon completion of their portions of a concurrent computing computation is discussed. The output from each concurrent computing unit may be directed to a single display where it is portioned into different regions of the display. The output from all of the concurrent computing units or a subset of the concurrent computing units may be shown in different arrangements. Blocks or lines of output from different concurrent computing units may appear in order of arrival at the display, or if precise timing references are available, in order of generation by the concurrent computing units. In either case the relative ordering of the outputs may be used to interpret the progress, performance and results of a concurrent computing computation.
    Type: Grant
    Filed: November 8, 2006
    Date of Patent: July 11, 2017
    Assignee: The MathWorks, Inc.
    Inventor: Peter D. Muellers
  • Patent number: 9703935
    Abstract: A system is configured to receive a task. The task is received over a first network, includes authentication credentials, and is processed using an application. The system is further configured to send the authentication credentials to a licensing server. The authentication credentials are sent over a second network, and are sent prior to processing the task using the application. The system is also configured to receive an authorization. The authorization is received over the second network, and authorizes the application to process the task.
    Type: Grant
    Filed: October 31, 2013
    Date of Patent: July 11, 2017
    Assignee: The MathWorks, Inc.
    Inventors: Amol M. Karnik, Christopher D. Hallgren, Loren P. Dean, Jocelyn Martin
  • Patent number: 9703532
    Abstract: A device may detect a modification of a class, included in program code, from a first class definition to a second class definition that is different from the first class definition. The device may create a relationship indicator that references the second class definition and that indicates that the class has been modified. The device may store an association between the class and the relationship indicator. The device may access an instance of the class associated with the first class definition. The device may detect the association between the class and the relationship indicator based on accessing the instance of the class. The device may update the instance of the class, using the second class definition, based on detecting the association between the class and the relationship indicator.
    Type: Grant
    Filed: September 30, 2014
    Date of Patent: July 11, 2017
    Assignee: The MathWorks, Inc.
    Inventors: David A. Foti, Jennifer A. Black, Marc A. Greenberg
  • Patent number: 9697304
    Abstract: A graphical model may include a plurality of graphical objects representing physical elements, and connections between graphical objects may be represented by physical connection lines. A set of physical connections between two or more graphical objects may be configured as belonging to a group. A switching unit may toggle the graphical model between a single-line display mode and a multi-line display mode. In the multi-line display mode, each of the individual physical connection lines linking two or more graphical objects are displayed in the model. In response to user or other input, the switching unit may redraw the graphical model in single line mode in which the individual physical connections configured as a group are replaced with a single, composite connection line. The graphical model may be executable to simulate the physical system, and the execution may be unaffected by the display mode.
    Type: Grant
    Filed: March 28, 2012
    Date of Patent: July 4, 2017
    Assignee: The MathWorks, Inc.
    Inventors: Jeffrey M. Wendlandt, Andrew C. Bennett
  • 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: 9678718
    Abstract: In an embodiment, information associated with logic is acquired. The logic may have a changed portion and an unchanged portion. The information may include information associated with an execution of the logic. A filter is applied to the acquired information to identify information associated with the changed portion of the logic. A report may be generated based on the identified information.
    Type: Grant
    Filed: December 9, 2011
    Date of Patent: June 13, 2017
    Assignee: The MathWorks, Inc.
    Inventors: Joseph Bienkowski, Pieter Johannes Mosterman, Ian Noell, David Alexander McGaw
  • Patent number: 9674294
    Abstract: A legacy command is received from a legacy application, where the command is for accessing data. The legacy command is processed using an interface, where processing includes converting the legacy command into a collaboration environment command compatible with a collaboration environment server. Data is requested using the collaboration environment command. A collaboration environment result is received based on the collaboration environment command, where the collaboration environment result includes the requested data. The collaboration environment result is converted into a legacy result using the interface, where the legacy result includes the requested data. The legacy result is provided to the legacy application.
    Type: Grant
    Filed: August 31, 2011
    Date of Patent: June 6, 2017
    Assignee: The MathWorks, Inc.
    Inventors: James N. Gonthier, John R. Langley, Joseph P. Conti, Joel Robert Feenstra
  • Patent number: 9672389
    Abstract: A computing device may receive a request to create a link between a control mechanism of a human machine interface and an attribute of a model. The model, when executed, may simulate behavior of a system. The human machine interface may correspond to a physical object. The request may include information identifying the attribute and information identifying the control mechanism. The computing device may create a link between the control mechanism and the attribute based on receiving the request. The computing device may further observe the control mechanism in a spatial environment and detect that the control mechanism has changed based on observing the control mechanism. The computing device may modify a value, associated with the attribute, based on detecting that the control mechanism has changed and based on the link.
    Type: Grant
    Filed: December 28, 2012
    Date of Patent: June 6, 2017
    Assignee: The MathWorks, Inc.
    Inventors: Pieter J. Mosterman, Peter S. Szpak, Jay R. Torgerson, Daniel F. Higgins, Paul F. Kinnucan
  • Patent number: 9665471
    Abstract: A device may receive an indication to evaluate a first portion of program code and a second portion of program code provided in a first section of a user interface. The device may evaluate the first portion of program code and the second portion of program code. The device may generate a first result corresponding to the first portion of program code and may generate a second result corresponding to the second portion of program code based on evaluating the first portion of program code and the second portion of program code. The device may provide the first result and the second result in a second section of the user interface. The second section may be separate from the first section. The device may provide a correspondence indicator that indicates a correspondence between the first result and the first portion of program code.
    Type: Grant
    Filed: June 8, 2015
    Date of Patent: May 30, 2017
    Assignee: The MathWorks, Inc.
    Inventors: Joseph R. Bienkowski, Claudia G. Wey, Michelle D. Erickson, Benjamin V. Hinkle, Jared D. MacDonald, John E. Booker, Amit Mahajan, Rohit J. Girme
  • Patent number: D788786
    Type: Grant
    Filed: July 31, 2014
    Date of Patent: June 6, 2017
    Assignee: The MathWorks, Inc.
    Inventor: Steven L. Eddins