Patents Assigned to The MathWorks, Inc.
  • Patent number: 9032380
    Abstract: A device receives program code, generated via a technical computing environment (TCE) and including code that requires further processing to execute, and identifies one or more function calls or one or more object method calls in the program code. The device creates a control flow graph, for the program code, based on the one or more function calls or the one or more object method calls. The device transforms the control flow graph into a data flow graph. The data flow graph includes a representation for each of the one or more function calls or the one or more object method calls. The device generates hardware code based on the data flow graph, the hardware code including code that does not require further processing to execute.
    Type: Grant
    Filed: December 4, 2012
    Date of Patent: May 12, 2015
    Assignee: The MathWorks, Inc.
    Inventors: Navaneetha K. Ruthramoorthy, Kiran K. Kintali
  • Patent number: 9031349
    Abstract: A device determines multiple sets of parameter values associated with an array of pixels to be used to process an image. Each set of parameter values corresponds to a set of pixels, included in the array, that are aligned along a first dimension of the array. The device determines a set of median values corresponding to each of the multiple sets of parameter values. The device determines a median of medians value that is a median of the set of median values. The device excludes a portion of parameter values, included in the multiple sets of parameter values, from a comparison set used to determine an overall median value, and determines a first median parameter value of the comparison set. The device determines the overall median value based on comparing the first median parameter value and the median of medians value, and provides the overall median value.
    Type: Grant
    Filed: June 6, 2013
    Date of Patent: May 12, 2015
    Assignee: The MathWorks, Inc.
    Inventor: Jing Ma
  • Patent number: 9026233
    Abstract: Exemplary embodiments allow users to interactively formulate and solve multivariable feedback control problems. For example, users can solve problems where a plurality of control elements are distributed over one or more feedback loops and need to be jointly tuned to optimize overall performance and robustness of a control system. Embodiments allow users to specify design requirements and objectives in formats familiar to the user. Embodiments can operate on tunable parameters to solve the control problem in a manner that satisfies the design requirements and/or objectives provided by the user.
    Type: Grant
    Filed: June 12, 2013
    Date of Patent: May 5, 2015
    Assignee: The MathWorks, Inc.
    Inventors: Pascal Gahinet, Pierre Apkarian, Dominikus Noll
  • Patent number: 9026478
    Abstract: In an embodiment, information for use in identifying a plurality of sub-solvers may be acquired. The plurality of sub-solvers may be used in a first attempt to find at least one solution to a problem that may be defined in the acquired information. At least two of the sub-solvers in the plurality of sub-solvers may be of different sub-solver types. The sub-solvers may be identified based on the acquired information. One or more starting points for the identified sub-solvers may be identified and transferred to the identified sub-solvers. One or more outputs, that indicate one or more results associated with the first attempt to find at least one solution to the problem, may be acquired from the identified sub-solvers. One or more sub-solvers may be identified, based on the acquired one or more outputs, for use in a second attempt to find at least one solution to the problem.
    Type: Grant
    Filed: October 1, 2010
    Date of Patent: May 5, 2015
    Assignee: The MathWorks, Inc.
    Inventors: Burhanettin Derya Ozyurt, Paul Kerr-Delworth, Roy Lurie
  • Publication number: 20150113029
    Abstract: A device may determine historical state values to be used to calculate a current state value of a wrapped state associated with a model element. The wrapped state may be associated with a range of state values. The device may calculate the current state value of the wrapped state based on the historical state values, and may determine that the current state value is outside of the range of state values. The device may generate a modified current state value based on determining that the current state value is outside of the range of state values. The modified current state value may be within the range of state values. The device may modify a historical state value based on determining that the current state value is outside of the range of state values. The device may provide or store the modified current state value and the modified historical state value.
    Type: Application
    Filed: October 17, 2013
    Publication date: April 23, 2015
    Applicant: The MathWorks, Inc.
    Inventors: Robert O. ABERG, Aleksandar Bozin
  • Patent number: 9015684
    Abstract: A device generates code with a technical computing environment (TCE) based on a model and information associated with a target processor, registers an algorithm with the TCE, automatically sets optimization parameters applied during generation of the code based on the algorithm, executes the generated code, receives feedback based on execution of the generated code, and uses the feedback to automatically update the optimization parameters and to automatically regenerate the code with the TCE until an optimal code is achieved for the target processor.
    Type: Grant
    Filed: April 5, 2013
    Date of Patent: April 21, 2015
    Assignee: The MathWorks, Inc.
    Inventors: David Koh, Murat Belge, Pieter J. Mosterman
  • Patent number: 9015681
    Abstract: A device obtains first program code that identifies a function, an input argument to which the function is to be applied when the first program code is executed, and a class identifier that identifies second program code that includes a set of routines. The set of routines includes a routine that identifies a manner in which a return value of the function is to be generated, when the first program code is executed. The second program code is stored separately from the first program code. The device executes the first program code, obtains the second program code based on executing the first program code, and executes the routine to generate the return value, based on the function, the input argument, and the class identifier. The device provides the return value.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: April 21, 2015
    Assignee: The MathWorks, Inc.
    Inventors: Thomas A. Bryan, Julia Wilder Palmateer
  • Patent number: 9015671
    Abstract: In one embodiment of the present invention, a method for concurrently constructing and testing a software program is provided. The method includes interacting with a program editor that allows a user to construct the program, and testing the program during construction of the program to produce a test result.
    Type: Grant
    Filed: December 27, 2006
    Date of Patent: April 21, 2015
    Assignee: The MathWorks, Inc.
    Inventor: Steve Johnson
  • Patent number: 9015660
    Abstract: An exemplary embodiment may provide tools for creating a graphical user interface (GUI) in a first or original environment and for embedding the GUI in a second or target environment. The GUI created in the first environment may be translated into a platform independent description. A proxy GUI may be generated from the platform independent description and incorporated in the second environment.
    Type: Grant
    Filed: January 29, 2013
    Date of Patent: April 21, 2015
    Assignee: The MathWorks, Inc.
    Inventor: Peter Hartwell Webb
  • Patent number: 9015661
    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: June 23, 2011
    Date of Patent: April 21, 2015
    Assignee: The MathWorks, Inc.
    Inventors: Jennifer A. Black, David A. Foti
  • Patent number: 9009690
    Abstract: In one embodiment, input code is received having a plurality of functional elements that process data elements. At least one criterion for generated code is also received. A first intermediate representation of the input code is built that has a plurality of nodes that represent the functional elements. Block sizes are assigned to two or more nodes of a first intermediate representation. The first intermediate representation is modified to create a second intermediate representation that satisfies the at least one criterion, and organizes at least some of the nodes of the first intermediate representation based on the block sizes.
    Type: Grant
    Filed: January 15, 2013
    Date of Patent: April 14, 2015
    Assignee: The MathWorks, Inc.
    Inventors: Donald P. Orofino, II, Witold R. Jachimczyk
  • Patent number: 9003360
    Abstract: In an embodiment, a specification of a configuration subgraph is received. The configuration subgraph may graphically specify an attribute for an element in a block diagram model. A relationship may be established between the configuration subgraph and the element. The configuration subgraph may be evaluated to produce a result. The result may be used to configure the attribute of the element during or prior to a compilation of a dynamic portion of the block diagram model. The configuration subgraph may not be used during an execution of the dynamic portion of the block diagram model.
    Type: Grant
    Filed: November 5, 2010
    Date of Patent: April 7, 2015
    Assignee: The MathWorks, Inc.
    Inventors: Haihua Feng, John Edward Ciolfi, Ricardo Monteiro, Ramamurthy Mani
  • Patent number: 9003357
    Abstract: A device may receive information that identifies a model of a finite state machine. The model may include information that identifies a group of leaf states. The group of leaf states may include states of the model with no child states. The device may determine, based on the information that identifies the model, a set of variables required to store information that identifies an active state of the model. The device may determine a numbering scheme for encoding the group of leaf states. The numbering scheme may be based on the set of variables. The device may encode the group of leaf states based on the numbering scheme. Encoding the group of leaf states may include generating and storing information indicating an association between a leaf state and a value.
    Type: Grant
    Filed: August 14, 2013
    Date of Patent: April 7, 2015
    Assignee: The MathWorks, Inc.
    Inventors: David B. Andrade, Srinath Avadhanula
  • Patent number: 9001114
    Abstract: A system may include a memory that stores instructions and a processor to execute the instructions to receive data for graphical rendering and distribute a first portion of the data to a first computation process. The processor may distribute a second portion of the data to a second computation process and create a first data structure via the first computation process using the first portion of the data. The processor may create a second data structure via the second computation process using the second portion of the data and assemble an object tree via a third computation process using the first data structure and the second data structure. The processor may provide the assembled object tree to a browser for rendering a graphical scene.
    Type: Grant
    Filed: June 10, 2013
    Date of Patent: April 7, 2015
    Assignee: The MathWorks, Inc.
    Inventor: Michael P. Garrity
  • Publication number: 20150095877
    Abstract: In an embodiment, a modeling component generated in a first modeling environment can be implemented in a second modeling environment. The modeling component is executed in the first modeling environment. A first behavior of the modeling component in the first modeling environment is obtained based on the executing. The modeling component is then executed in the second modeling environment. A second behavior of the modeling component in the second modeling environment is obtained based on the executing the modeling component in the second modeling environment. The first behavior is compared to the second behavior. Based on the comparing, it is verified that the second behavior of the modeling component complies with one or more modeling requirements of the second modeling environment. The second behavior of the modeling component may be implemented in the second modeling environment.
    Type: Application
    Filed: September 30, 2013
    Publication date: April 2, 2015
    Applicant: The MathWorks, Inc.
    Inventors: Xiaocang LIN, Peter SZPAK
  • Patent number: 8997065
    Abstract: A device creates a graph based on source code, and analyzes the source code to identify private variables and functions of the source code and public variables and functions of the source code. The device determines, based on the graph, a size threshold and semantics-related characteristics of functions and variables for each module, of multiple modules, and assigns, based on the graph, the private variables and functions to a corresponding module of the multiple modules. The device reduces, based on the graph, a number of the public variables and functions assigned to each module, and generates the multiple modules based on one or more of the graph, the size threshold, the assigned private variables and functions, and the number of the public variables and functions assigned to each module.
    Type: Grant
    Filed: December 3, 2012
    Date of Patent: March 31, 2015
    Assignee: The MathWorks, Inc.
    Inventors: Michael E. Karr, Gael Mulat
  • Patent number: 8990783
    Abstract: Embodiments can include computer-implemented methods or non-transitory computer readable media storing executable instructions. The method or instructions can perform execution scheduling for code generated from an executable graphical model, where the generated code is executed on a target. The method/instructions can perform execution scheduling for a first code portion having a first execution rate, and a second code portion having a second execution rate that is temporally related to the first execution rate. The execution scheduling can account for target environment characteristics obtained from a target, can use an execution schedule, and can account for optimizations related to the first code portion or the second code portion. The method/instructions can further schedule execution of the first code portion and the second code portion in generated executable code based on the performing.
    Type: Grant
    Filed: January 28, 2011
    Date of Patent: March 24, 2015
    Assignee: The MathWorks, Inc.
    Inventors: Biao Yu, Jim Carrick, Pieter J. Mosterman
  • Patent number: 8990739
    Abstract: A system and method tests for functional equivalence prior to automatically retiming a high-level specification. An Intermediate Representation (IR) includes one or more graphs or trees based on the high-level specification. A functional equivalence (FE) analyzer determines whether one or more components in the graph meet certain value and state conditions and thus is a candidate for retiming. A bounded scheduler then retimes only those components that pass the FE analysis.
    Type: Grant
    Filed: December 4, 2013
    Date of Patent: March 24, 2015
    Assignee: The MathWorks, Inc.
    Inventors: Yongfeng Gu, Girish Venkataramani
  • Patent number: 8990825
    Abstract: A device determines a number of portions of processes that require resources associated with the device, and receives resource usage information from the resources. The device also enables negotiations among the processes to determine a number of resources for respective ones of the processes based on the resource usage information, and allocates particular resources to particular portions of the respective ones of the processes based on the negotiations between the processes.
    Type: Grant
    Filed: September 30, 2011
    Date of Patent: March 24, 2015
    Assignee: The MathWorks, Inc.
    Inventors: Jocelyn Luke Martin, Christopher T. Newbold
  • Patent number: 8990057
    Abstract: In an embodiment, an element, that represents an entity in a system, is generated. The generated element may be incorporated in a network that represents the system. The generated element may include geometry information about a geometry of the entity. The geometry information may be used in one or more computations associated with a simulation or an analysis of the system. The element may have a frame port that exposes a frame. The frame may represent at least a position and an orientation in a two dimensional or three dimensional space with respect to another frame in the network. The other frame in the network may be a reference frame that may be defined by a “world” that the system resides in. The generated element may be incorporated into the network by connecting the frame port to the network.
    Type: Grant
    Filed: February 12, 2013
    Date of Patent: March 24, 2015
    Assignee: The MathWorks, Inc.
    Inventors: Brian Mirtich, Jeffrey Wendlandt