Patents Assigned to The MathWorks, Inc.
-
Patent number: 9032380Abstract: 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: GrantFiled: December 4, 2012Date of Patent: May 12, 2015Assignee: The MathWorks, Inc.Inventors: Navaneetha K. Ruthramoorthy, Kiran K. Kintali
-
Patent number: 9031349Abstract: 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: GrantFiled: June 6, 2013Date of Patent: May 12, 2015Assignee: The MathWorks, Inc.Inventor: Jing Ma
-
Patent number: 9026233Abstract: 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: GrantFiled: June 12, 2013Date of Patent: May 5, 2015Assignee: The MathWorks, Inc.Inventors: Pascal Gahinet, Pierre Apkarian, Dominikus Noll
-
Patent number: 9026478Abstract: 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: GrantFiled: October 1, 2010Date of Patent: May 5, 2015Assignee: The MathWorks, Inc.Inventors: Burhanettin Derya Ozyurt, Paul Kerr-Delworth, Roy Lurie
-
Publication number: 20150113029Abstract: 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: ApplicationFiled: October 17, 2013Publication date: April 23, 2015Applicant: The MathWorks, Inc.Inventors: Robert O. ABERG, Aleksandar Bozin
-
Patent number: 9015684Abstract: 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: GrantFiled: April 5, 2013Date of Patent: April 21, 2015Assignee: The MathWorks, Inc.Inventors: David Koh, Murat Belge, Pieter J. Mosterman
-
Patent number: 9015681Abstract: 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: GrantFiled: March 14, 2013Date of Patent: April 21, 2015Assignee: The MathWorks, Inc.Inventors: Thomas A. Bryan, Julia Wilder Palmateer
-
Patent number: 9015671Abstract: 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: GrantFiled: December 27, 2006Date of Patent: April 21, 2015Assignee: The MathWorks, Inc.Inventor: Steve Johnson
-
Patent number: 9015660Abstract: 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: GrantFiled: January 29, 2013Date of Patent: April 21, 2015Assignee: The MathWorks, Inc.Inventor: Peter Hartwell Webb
-
Patent number: 9015661Abstract: 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: GrantFiled: June 23, 2011Date of Patent: April 21, 2015Assignee: The MathWorks, Inc.Inventors: Jennifer A. Black, David A. Foti
-
Patent number: 9009690Abstract: 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: GrantFiled: January 15, 2013Date of Patent: April 14, 2015Assignee: The MathWorks, Inc.Inventors: Donald P. Orofino, II, Witold R. Jachimczyk
-
Patent number: 9003360Abstract: 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: GrantFiled: November 5, 2010Date of Patent: April 7, 2015Assignee: The MathWorks, Inc.Inventors: Haihua Feng, John Edward Ciolfi, Ricardo Monteiro, Ramamurthy Mani
-
Patent number: 9003357Abstract: 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: GrantFiled: August 14, 2013Date of Patent: April 7, 2015Assignee: The MathWorks, Inc.Inventors: David B. Andrade, Srinath Avadhanula
-
Patent number: 9001114Abstract: 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: GrantFiled: June 10, 2013Date of Patent: April 7, 2015Assignee: The MathWorks, Inc.Inventor: Michael P. Garrity
-
Publication number: 20150095877Abstract: 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: ApplicationFiled: September 30, 2013Publication date: April 2, 2015Applicant: The MathWorks, Inc.Inventors: Xiaocang LIN, Peter SZPAK
-
Patent number: 8997065Abstract: 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: GrantFiled: December 3, 2012Date of Patent: March 31, 2015Assignee: The MathWorks, Inc.Inventors: Michael E. Karr, Gael Mulat
-
Patent number: 8990783Abstract: 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: GrantFiled: January 28, 2011Date of Patent: March 24, 2015Assignee: The MathWorks, Inc.Inventors: Biao Yu, Jim Carrick, Pieter J. Mosterman
-
Patent number: 8990739Abstract: 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: GrantFiled: December 4, 2013Date of Patent: March 24, 2015Assignee: The MathWorks, Inc.Inventors: Yongfeng Gu, Girish Venkataramani
-
Patent number: 8990825Abstract: 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: GrantFiled: September 30, 2011Date of Patent: March 24, 2015Assignee: The MathWorks, Inc.Inventors: Jocelyn Luke Martin, Christopher T. Newbold
-
Patent number: 8990057Abstract: 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: GrantFiled: February 12, 2013Date of Patent: March 24, 2015Assignee: The MathWorks, Inc.Inventors: Brian Mirtich, Jeffrey Wendlandt