Patents Assigned to The MathWorks, Inc.
  • Patent number: 8464188
    Abstract: Systems and methods are provided for a scheme and mechanism for performing static analysis of a sample time aware state diagram model to compute and propagate multiple samples rates associated with the state diagram model. A graphical intermediate representation of the state diagram model, such as a directed graph or control flow graph, is used to determine how the multiple sample rates are propagated via elements of the state diagram model. The graph provides a static representation of the control of flow, including alternative and/or conditional flow paths, of the state diagram model. The present invention determines the propagation of sample rates via analysis and traversal of the intermediate representation. By using the techniques of the present invention, a state diagram model may provide multiple sample rate outputs, such as by function calls and output signals to a graphical model, such as a model representing a dynamic system.
    Type: Grant
    Filed: August 23, 2005
    Date of Patent: June 11, 2013
    Assignee: The MathWorks, Inc.
    Inventors: Vijay Raghavan, Ebrahim Mehran Mestchian
  • Publication number: 20130145345
    Abstract: A system, computer-readable medium, and method includes providing a control flow graph including at least one condition. An update control flow graph is automatically generated based on the provided control flow graph, where execution of the update control flow graph includes an evaluation of the condition. The update control flow graph and a value corresponding to the evaluated condition is stored. An output control flow graph based on the provided control flow graph is automatically generated, where execution of the output control flow graph is based on the stored value corresponding to the evaluated condition. A mode transition control flow graph configured to identify mode transitions for the control flow graph at one or more time intervals is automatically generated and the update control flow graph is re-executed based on the generated mode transition control flow graph.
    Type: Application
    Filed: January 31, 2013
    Publication date: June 6, 2013
    Applicant: THE MATHWORKS, INC.
    Inventor: THE MATHWORKS, INC.
  • Publication number: 20130145344
    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: Application
    Filed: January 29, 2013
    Publication date: June 6, 2013
    Applicant: The MathWorks, Inc.
    Inventor: The MathWorks, Inc.
  • Publication number: 20130145347
    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: Application
    Filed: December 3, 2012
    Publication date: June 6, 2013
    Applicant: THE MATHWORKS, INC.
    Inventor: The MathWorks, Inc.
  • Publication number: 20130142289
    Abstract: A MAP decoder may be implemented in parallel. In one implementation, a device may receive an input array that represents received encoded data and calculate, in parallel, a series of transition matrices from the input array. The device may further calculate, in parallel, products of the cumulative products of the series of transition matrices and an initialization vector. The device may further calculate, in parallel and based on the products of the cumulative products of the series of transition matrices and the initialization vector, an output array that corresponds to a decoded version of the received encoded data in the input array.
    Type: Application
    Filed: December 6, 2011
    Publication date: June 6, 2013
    Applicant: The MathWorks, Inc.
    Inventors: Brian FANOUS, Halldor N. Stefansson
  • Patent number: 8458655
    Abstract: In an embodiment, one or more computer readable media are provided. The media store executable instructions that when executed by processing logic implicitly change the value of a state in a graphical model while the model executes. The media store one or more instructions for identifying a context that includes a first block having a state and for executing the context when the state has a first value, the executing storing an intermediate result. The media store one or more instructions for changing, implicitly, the state from the first value to a second value based on a user input, where the changing occurs while the context is executing, or while the context is paused. The media store one or more instructions for executing the context when the state has the second value.
    Type: Grant
    Filed: November 24, 2008
    Date of Patent: June 4, 2013
    Assignee: The MathWorks, Inc.
    Inventors: Darel Allen Linebarger, Matthew Englehart, Peter Szpak
  • Patent number: 8458675
    Abstract: In an embodiment, a computer-readable medium may include computer-executable instructions for selecting a symbolic math engine. The instructions may be executed on a processor. The medium may include: one or more instructions for dynamically selecting a first symbolic math engine from two or more symbolic math engines; one or more instructions for converting a symbolic command from a standard format into a first format compatible with the first symbolic math engine; one or more instructions for passing the converted command to the first symbolic math engine for executing, the executing including producing a result; and one or more instructions for outputting or storing the result of the executing.
    Type: Grant
    Filed: June 20, 2008
    Date of Patent: June 4, 2013
    Assignee: The MathWorks, Inc.
    Inventors: Benjamin Hinkle, Pieter Mosterman, Mary Ann Branch Freeman, Roy E. Lurie
  • 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: 8458668
    Abstract: Methods, systems and computer program products are provided for ignoring one or more output arguments of a function in a programming environment. Users or programmers may designate one or more output arguments that are not desired by the users. The called function determines which output arguments are designated by the users. The one or more output arguments designated by the users are ignored by the function. The called function may reclaim memory space for the output arguments designated by the users. The called function may also avoid operations for generating values for the output arguments designated by the users. The called function does not need to return values for the output arguments designated by the users.
    Type: Grant
    Filed: January 3, 2012
    Date of Patent: June 4, 2013
    Assignee: The MathWorks, Inc.
    Inventor: Steve Johnson
  • Patent number: 8453110
    Abstract: Methods, systems and computer program products are disclosed for automatically generating hardware description language code from a model. The hardware description language code may be generated from a graphical program/model, such as a block diagram model. The hardware description language code may also be generated from a text-based program/model, such as a model created using MATLABĀ® tools. In particular, the present invention provides for the automatic code generation of an interface between components in the model. The present invention may provide options for selecting at least one of multiple types or styles of the component interfaces in the model. The selection of the interface types or styles may be controlled by the user or inferred by other parameters, such as implementation parameters.
    Type: Grant
    Filed: February 18, 2011
    Date of Patent: May 28, 2013
    Assignee: The MathWorks, Inc.
    Inventors: Brian K. Ogilvie, Zhihong Zhao, Bharath Venkataraman
  • Patent number: 8446425
    Abstract: A system creates a first set of objects in a first structure that describe a graphical scene. A second set of objects is created in a second structure based on the first set of objects in the first structure. The system also performs one or more of the following: i) converting coordinate values in a first coordinate system to coordinate values in a second coordinate system, ii) converting color values in a first color space to color values in a second color space, and/or iii) converting data having first data types or formats to data having second data types or formats, where the first data types or formats are different than the second data types or formats. The system further associates the converted coordinate values, color values and/or data types or formats with the second set of objects and enables a graphical processing unit to use the second set of objects for rendering the graphical scene.
    Type: Grant
    Filed: September 14, 2012
    Date of Patent: May 21, 2013
    Assignee: The MathWorks, Inc.
    Inventors: Michael Patrick Garrity, Mario S. Guimaraes
  • Patent number: 8447580
    Abstract: Methods and systems for modeling a multiprocessor system in a graphical modeling environment are disclosed. The multiprocessor system may include multiple processing units that carry out one or more processes, such as programs and sets of instructions. Each of the processing units may be represented as a node at the top level of the model for the multiprocessor system. The nodes representing the processing units of the multiprocessor system may be interconnected to each other via a communication channel. The nodes may include at least one read element for reading data from the communication channel into the nodes. The node may also include at least one write element for writing data from the nodes into the communication channel. Each of the processing unit can communicate with other processing unit via the communication channel using the read and write elements.
    Type: Grant
    Filed: May 31, 2005
    Date of Patent: May 21, 2013
    Assignee: The MathWorks, Inc.
    Inventor: John Ciolfi
  • Patent number: 8448130
    Abstract: A technique for generating an executable document that includes information for validating generated code is provided. The technique can include mapping an assumption to a portion of generated code, the portion containing functional code that is related to implementing the assumption, the mapping allowing at least the portion to be validated with respect to the assumption. The technique can include generating the executable document, where the executable document includes the mapping, and where the generated document validates the at least the portion of the generated code, where validating the at least the portion of the generated code validates the generated code.
    Type: Grant
    Filed: August 20, 2007
    Date of Patent: May 21, 2013
    Assignee: The MathWorks, Inc.
    Inventors: Aravind Pillarisetti, Peter Szpak, Jesung Kim, Xiaocang Lin, Pieter J. Mosterman
  • Publication number: 20130116986
    Abstract: In an illustrative embodiment, an apparatus, computer-readable media, or method may be configured to suggest determine relationships. Interaction with a block diagram model may include receiving a first portion of a block diagram model. The block diagram model may include a plurality of blocks. Each of the plurality of blocks may represent a set of dynamic equations. The interacting may be performed using the computer. Relationships between a plurality of a synthesized input, a synthesized output, a synthesized state, or a synthesized derivative, may be determined. A determination may be performed for the first portion of the block diagram model. The determining may include determining a block Jacobian pattern of relationships between two or more of an input, an output, a state, or a derivative of a first block of the plurality of blocks in the graphical model.
    Type: Application
    Filed: November 8, 2011
    Publication date: May 9, 2013
    Applicant: The Mathworks, Inc.
    Inventors: Fu Zhang, Zhi Han, Murali Yeddanapudi, Pieter Johannes Mosterman
  • Patent number: 8436726
    Abstract: The present invention provides a method and system for stage evaluation of a state machine model. Two types of transitions are used: first-stage transitions and second-stage transitions for a two-stage evaluation. In one embodiment, top-down processing and bottom-up processing may be combined using a two-stage evaluation. First-stage transitions are used with top-down processing while second-stage transitions are used with bottom-up processing. Certain conditions are used to determine if a switch from one type of stage processing to another type of stage processing is needed.
    Type: Grant
    Filed: October 27, 2011
    Date of Patent: May 7, 2013
    Assignee: The MathWorks, Inc.
    Inventors: Vijay Raghavan, Ebrahim Mehran Mestchian
  • Patent number: 8438002
    Abstract: A mechanism for providing equation-level diagnostic error messages for system models undergoing circuit simulations is discussed. The components in a model of a system being simulated are converted into multiple numerical equations where each equation corresponds to a component in the system being simulated or a topology equation for the system model. Each numerical equation is numerically analyzed in order to identify illegal configurations in the system. Upon detection of an error, an error message listing the components associated with the illegal configuration is generated for the user.
    Type: Grant
    Filed: April 12, 2011
    Date of Patent: May 7, 2013
    Assignee: The MathWorks, Inc.
    Inventors: Joseph Daniel Kanapka, Nathan E. Brewton
  • Patent number: 8433953
    Abstract: A test for testing at least one of hardware or software in a first environment is generated. A desired test configuration is selected based on information regarding respective hardware or software. Test elements are automatically generated based on the desired test configuration, the test elements adapted to test at least one of the hardware or software. At least one of the hardware or software is automatically tested using a subset of the test elements. A result of testing is produced.
    Type: Grant
    Filed: August 13, 2007
    Date of Patent: April 30, 2013
    Assignee: The MathWorks, Inc.
    Inventors: Thomas Gaudette, Scott M. Hirsch, Christian A. Portal
  • Patent number: 8423326
    Abstract: A distributed graphical presentation and manipulation application executes as a thin client application in a network. The networked graphical presentation and manipulation application can generally be used without requiring a user to install any specific software prior to using the application. In one embodiment, code may be received from a server via the network. A local environment may be generated based on the code, where the local environment may be configured to display a view of a graphical model. A request to manipulate the view may be received within the local environment. A request for a manipulated view may be transmitted to the server based on the received request. The manipulated view may be received from the server. The received manipulated view may be displayed within the local environment.
    Type: Grant
    Filed: April 25, 2012
    Date of Patent: April 16, 2013
    Assignee: The Mathworks, Inc.
    Inventors: Anthony Paul Astolfi, Peter Hartwell Webb
  • Patent number: 8423345
    Abstract: Coverage data may be collected for a model. The coverage data may include model coverage data and code coverage data for test cases input to the model. The coverage data may be presented to a user as data indicating a correspondence between coverage outcomes for the model and coverage outcomes for the code used to implement the model.
    Type: Grant
    Filed: June 27, 2012
    Date of Patent: April 16, 2013
    Assignee: The Mathworks, Inc.
    Inventors: William J. Aldrich, Mirko Conrad
  • Patent number: 8418158
    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: February 3, 2012
    Date of Patent: April 9, 2013
    Assignee: The MathWorks, Inc.
    Inventors: David Koh, Murat Belge, Pieter J. Mosterman