Patents Assigned to The MathWorks, Inc.
  • Patent number: 9063742
    Abstract: A device may partition program code into multiple portions. The device may detect a first modification to a first portion of program code from a first version to a second version, and may detect a second modification to a second portion of program code from a third version to a fourth version. The device may detect the second modification after detecting the first modification. The device may store a first version history that identifies the first version, the second version, and a first temporal relationship between the first and second versions. The device may store a second version history that identifies the third version, the fourth version, and a second temporal relationship between the third and fourth versions. The device may receive an indication to undo the first modification after detecting the second modification, and may undo the first modification, without undoing the second modification, based on receiving the indication.
    Type: Grant
    Filed: December 17, 2013
    Date of Patent: June 23, 2015
    Assignee: The MathWorks, Inc.
    Inventors: Joseph R. Bienkowski, Jared D. MacDonald
  • Patent number: 9064052
    Abstract: A device may receive an indication to evaluate a portion of program code. The device may cause the portion of program code to be evaluated based on receiving the indication to evaluate the portion of program code. The device may determine an intermediate result used to generate an overall result of evaluating the portion of program code based on causing the portion of program code to be evaluated. The intermediate result may be determined by evaluating a sub-portion of program code included in the portion of program code. The device may receive information that identifies a granularity level for displaying the intermediate result. The granularity level may indicate whether the intermediate result is to be provided for display. The device may selectively provide the intermediate result for display based on the granularity level.
    Type: Grant
    Filed: November 7, 2013
    Date of Patent: June 23, 2015
    Assignee: The MathWorks, Inc.
    Inventors: Joseph R. Bienkowski, Claudia G. Wey, Michelle D. Erickson, Benjamin V. Hinkle, Jared D. MacDonald, John E. Booker, Joseph F. Hicklin
  • Patent number: 9063741
    Abstract: A programming element is provided that defines model attributes in response to mode change events in a graphical modeling environment. Such definition may involve any signal attribute such as dimensions, data types, complexity and sample times. Events that trigger definition of model attributes may be explicit signaling events generated by other elements, elements within the block diagram programming environment, and elements external from the environment. Implicit events may also trigger definition of model attributes, such as a change of attribute in an input signal.
    Type: Grant
    Filed: October 9, 2012
    Date of Patent: June 23, 2015
    Assignee: The MathWorks, Inc.
    Inventors: Ramamurthy Mani, Dong Jia, Haihua Feng, Alongkrit Chutinan, Qu Zhang, Vijay Raghavan
  • Patent number: 9064053
    Abstract: A device receives code generated via a technical computing environment (TCE), where the code includes one or more values to be tested. The device receives Boolean constraints and diagnostic information, and generates a test based on the Boolean constraints and the diagnostic information. The device performs the test on the one or more values of the code to generate a result, and outputs or stores the result.
    Type: Grant
    Filed: December 5, 2012
    Date of Patent: June 23, 2015
    Assignee: The MathWorks, Inc.
    Inventors: Andrew T. Campbell, David M. Saxe, Gregory V. Aloe, Gerhard P. Stoeckel
  • Patent number: 9058175
    Abstract: A computational device receives, from a user, a selection of a block, a subsystem or multiple blocks from a block diagram modeling environment, and presents, to the user, a set of parameters associated with the block, subsystem, or multiple blocks. The computational device receives, from the user, selection of a first subset of parameters from the set of parameters, and creates a customized dialog box by promoting the selected first subset of parameters to the customized dialog box, wherein the customized dialog box permits editing of values associated only with the first subset of parameters.
    Type: Grant
    Filed: April 30, 2012
    Date of Patent: June 16, 2015
    Assignee: The MathWorks, Inc.
    Inventors: Yogesh Kamalkishore Dalal, Sanjai Singh, Saikiran S. Thunuguntla, John Edward Ciolfi
  • Patent number: 9058424
    Abstract: A computing device may obtain usage information relating to an execution of a function within code. The usage information may include a set of input values and an output value obtained based on executing the function using the set of input values. The computing device may further determine that the function has been executed a particular quantity of times using the set of input values and obtaining the output value, and may generate a unit test, for the function, based on determining that the function has been executed the particular quantity of times using the set of input values and obtaining the output value.
    Type: Grant
    Filed: October 29, 2012
    Date of Patent: June 16, 2015
    Assignee: The MathWorks, Inc.
    Inventors: Joseph R Bienkowski, David M. Saxe, Richard M. McKeever, John E. Booker, Andrew T. Campbell
  • Patent number: 9053235
    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: October 22, 2013
    Date of Patent: June 9, 2015
    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: 9053228
    Abstract: A device may provide a user interface that includes a first section for displaying multiple portions of program code and a second section for displaying multiple results of evaluating the multiple portions of program code. The device may detect an evaluation trigger associated with an unevaluated portion of program code of the multiple portions of program code. The device may determine one or more portions of program code to be evaluated based on detecting the evaluation trigger. The one or more portions of program code may be less than the multiple portions of program code. The device may cause the one or more portions of program code to be evaluated to generate one or more corresponding results. The device may provide the one or more corresponding results for display via the second section of the user interface.
    Type: Grant
    Filed: October 31, 2013
    Date of Patent: June 9, 2015
    Assignee: The MathWorks, Inc.
    Inventors: Joseph R. Bienkowski, Claudia G. Wey, Michelle D. Erickson, Benjamin V. Hinkle, Jared D. MacDonald, John E. Booker
  • Patent number: 9047314
    Abstract: A device may store a data structure including information identifying a geometric relationship between first and second coordinate values of a first data type. The data structure may also include a first array of a first length that includes the first coordinate value located at a position identifiable by a reference value. The data structure may also include a second array of a second length that includes the second coordinate value located at a position identifiable by the reference value. The data structure may also include a third array of a third length that includes an attribute value of a second data type, located at a position identifiable by the reference value. The device may receive an indication that one of the lengths is to be modified, and may modify the data structure so that the first length, the second length, and the third length are equivalent.
    Type: Grant
    Filed: September 27, 2012
    Date of Patent: June 2, 2015
    Assignee: The MathWorks, Inc.
    Inventors: Kelly G. Luetkemeyer, Robert P. Comer
  • Patent number: 9047411
    Abstract: A device may receive an indication to evaluate a first portion of program code and a second portion of program code provided via a user interface. The first portion of program code may include an error. The device may cause the first and second portions of program code to be evaluated based on receiving the indication to evaluate the first and second portions of program code. The second portion of program code may be evaluated after the first portion of program code. The device may generate a first result corresponding to the first portion of program code and a second result corresponding to the second portion of program code. The first result may include an error indicator. The device may provide the first result and the second result via the user interface.
    Type: Grant
    Filed: October 31, 2013
    Date of Patent: June 2, 2015
    Assignee: The MathWorks, Inc.
    Inventors: Joseph R. Bienkowski, Claudia G. Wey, Michelle D. Erickson, Benjamin V. Hinkle, Jared D. MacDonald, John E. Booker
  • Patent number: 9047165
    Abstract: A version control unit may maintain separate version numbers for multiple traits of a single model. In particular, a number of model traits may be identified, such as a model behavior trait, a software architecture trait, a simulation trait and a code generation trait. Version information for each trait may be maintained separately for the single model. Groups of elements of the model, such as graphical objects, relationships among the objects, object parameters, model parameters, etc., may be mapped to the model traits. The version control unit may determine what model elements are changed since a prior version, and identify the model traits to which the changed model elements are mapped. Version numbers for these traits may be incremented, while version numbers for the other traits may be left unchanged.
    Type: Grant
    Filed: March 13, 2013
    Date of Patent: June 2, 2015
    Assignee: The MathWorks, Inc.
    Inventor: Pieter J. Mosterman
  • Patent number: 9043748
    Abstract: Graphical programming or modeling environments in which a coding standard can be applied to graphical programs or models are disclosed. The present invention provides mechanisms for applying the coding standard to graphical programs/models in the graphical programming/modeling environments. The mechanisms may detect violations of the coding standard in the graphical model and report such violations to the users. The mechanisms may automatically correct the graphical model to remove the violations from the graphical model. The mechanisms may also automatically avoid the violations in the simulation and/or code generation of the graphical model.
    Type: Grant
    Filed: January 29, 2013
    Date of Patent: May 26, 2015
    Assignee: The MathWorks, Inc.
    Inventor: Peter Szpak
  • Patent number: 9038077
    Abstract: A system for providing model level protection for resources holding data accessed by multiple tasks in a model is discussed. The protection occurs at the model level so that the protection mechanism does not interfere with model dynamics. Resources concurrently accessed by multiple tasks are identified so that a unified protection mechanism can be applied to the resource. A user interface may be provided which enables the selection of a particular type of protection mechanism for the data in the resource. User supplied protection mechanisms may also be implemented.
    Type: Grant
    Filed: April 21, 2014
    Date of Patent: May 19, 2015
    Assignee: The MathWorks, Inc.
    Inventors: Biao Yu, James E. Carrick
  • Patent number: 9038016
    Abstract: The present invention allows a user to graphically define a hierarchy of user-defined, executable classes of graphical objects that can be implemented in a graphical model. The present invention supports the features of inheritance, abstraction and polymorphism. Further, descendant classes of graphical objects can graphically extend the behavior and/or structure of ancestor classes of graphical objects.
    Type: Grant
    Filed: April 23, 2012
    Date of Patent: May 19, 2015
    Assignee: The MathWorks, Inc.
    Inventors: Paul F. Kinnucan, Jr., Pieter J. Mosterman, Ebrahim Mehran Mestchian
  • 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: 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: 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
  • 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
  • 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: 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