Patents Assigned to The MathWorks, Inc.
  • Patent number: 8055940
    Abstract: A system and method detects communication error among multiple nodes in a concurrent computing environment. One or more barrier synchronization points/checkpoints or regions are used to check for a communication mismatch. The barrier synchronization point(s)/checkpoint(s) can be placed anywhere in the concurrent computing program. Once a node reaches a barrier synchronization point/checkpoint, it is not allowed to communicate with another node regarding data that is needed to execute the concurrent computing program, even if the other node has not reached the barrier synchronization point/checkpoint. Regions can also, or alternatively, be used to detect a communication mismatch instead of barrier synchronization points/checkpoints. A concurrent program on each node is separated into one or more regions. Two nodes communicate with each other when their regions are compatible. If their regions are not compatible, a communication mismatch occurs.
    Type: Grant
    Filed: July 17, 2007
    Date of Patent: November 8, 2011
    Assignee: The MathWorks, Inc.
    Inventors: Edric Ellis, Jocelyn Luke Martin
  • Patent number: 8055483
    Abstract: A mechanism for evaluating hybrid expressions which allows access to more than one modeling domain is discussed. The present invention allows an evaluation of a portion of a hybrid expression in a first modeling domain. Following the evaluation of the portion of the hybrid expression specific to the first modeling domain, at least a portion of the remainder of the hybrid expression is provided to a second modeling domain for further evaluation.
    Type: Grant
    Filed: November 28, 2005
    Date of Patent: November 8, 2011
    Assignee: The MathWorks, Inc.
    Inventor: Jason Breslau
  • Patent number: 8056055
    Abstract: A mechanism controls disposition of a candidate object in an object-oriented programming environment. The mechanism identifies cyclic information related to an object being considered for destruction and determines based on that information whether the candidate object is externally unreachable and can therefore be destroyed. The cyclic information may be stored for repeated use.
    Type: Grant
    Filed: June 9, 2008
    Date of Patent: November 8, 2011
    Assignee: The MathWorks, Inc.
    Inventor: David A. Foti
  • Patent number: 8055494
    Abstract: Methods and systems for automatically reporting delay incurred in a model is disclosed. The delay may be incurred in a part or in an entire portion of the model. Delay incurred in each component of the model is determined and reported to users before executing the model. The delay of each component of the model may be determined based on intrinsic information of the component. If the intrinsic information of the component does not provide information on the delay of the component, the component may be simulated to determine the delay of the components. The model may be automatically compensated for the delay. The delay is reported prior to the execution of the model, and compensated for without executing the model.
    Type: Grant
    Filed: June 1, 2009
    Date of Patent: November 8, 2011
    Assignee: The MathWorks, Inc.
    Inventors: Martin Clark, Michael H. McLernon
  • Patent number: 8056079
    Abstract: The present invention provides a method and system wherein additional tasks can be added to a dynamic job after the job has been submitted to a scheduler. The added task can then be given the same priority as the tasks of the previously submitted dynamic job it is being added to. That is, the task added to the dynamic job is given priority over tasks and jobs submitted after the dynamic job the task is being added to. In one embodiment, a method is provided for distributing the processing of tasks in a distributed technical computing environment. The method involves the steps of creating tasks at a client, packaging the tasks into a dynamic job, and forwarding the dynamic job to a scheduler for distribution to a plurality of workers in the distributed technical computing environment. An additional task can then be created and added to the previously submitted dynamic job.
    Type: Grant
    Filed: December 22, 2005
    Date of Patent: November 8, 2011
    Assignee: The MathWorks, Inc.
    Inventors: Jos Martin, Arjav Chakravarti
  • Patent number: 8056053
    Abstract: A code cell is selected from a program code. The code cell is a contiguous subsection of code. To select the code cell from the program code, a first indicator is placed in the program code prior to the beginning of the code cell and a second indicator is placed in the program code after the end of the code cell. The code cell is edited to obtain an edited code cell. The edited code cell is analyzed, without saving the program code, to produce a result. The result is provided.
    Type: Grant
    Filed: July 25, 2007
    Date of Patent: November 8, 2011
    Assignee: The MathWorks, Inc.
    Inventor: Edward Whittington Gulley
  • Patent number: 8051408
    Abstract: A method of dynamically analyzing source code to generate usage hints for a user performing program editing is disclosed. The functions in a collection of source code being edited by a user are processed so as to generate a parse tree data structure for each function called. The incoming and outgoing arguments in the parse tree are identified. Subsequently, a user editing code calls the function and either completely or incompletely enters the arguments as part of the function called. Input arguments are identified and associated with the corresponding argument in the parse tree for the function. Relevant preconditions and post-conditions of the surrounding nodes corresponding to the current location are analyzed. Usage hints are provided for the completion of the function call. Arguments for a completed function call argument entered by the user are validated. Error messages are delivered in the event of an invalid call.
    Type: Grant
    Filed: September 13, 2004
    Date of Patent: November 1, 2011
    Assignee: The MathWorks, Inc.
    Inventor: Steve Johnson
  • Patent number: 8051105
    Abstract: A computer-implemented method to access a tree data structure in a computing environment is provided. The method includes generating a tree data structure in a computing environment, wherein the tree data structure includes nodes and links to link the nodes, wherein each node includes fields for various data types, accessing contents of the tree data structure with a single command in a computing environment.
    Type: Grant
    Filed: January 10, 2007
    Date of Patent: November 1, 2011
    Assignee: The Mathworks, Inc.
    Inventor: Stephen Johnson
  • Patent number: 8046736
    Abstract: A method and graphical user interface (GUI) are provided. The method includes generating a file of executable code in a dynamically typed programming language that regenerates computations and results of a graphical user interface (GUI). The GUI includes a data GUI for importing data, viewing data, generating data and generating exclusion sets for data, a fitting GUI for fitting models to data, a plotting GUI for controlling the plotting of data and fitted models, and a display window for previewing a plot.
    Type: Grant
    Filed: April 30, 2007
    Date of Patent: October 25, 2011
    Assignee: The MathWorks, Inc.
    Inventors: Mary Ann Branch Freeman, Thomas Paul Lane
  • Patent number: 8046749
    Abstract: A tool for analyzing a sequence of data in an object-oriented environment is disclosed. In an embodiment, the sequence of data may include time-indexed sequence of data (“time series data”). The tool may enable a user to generate a time series object for encapsulating the time series data in the object-oriented environment. The user may construct the time series object from data or mathematical expressions using a command line interface. The time series object may include a sequence of objects implementing APIs that supply an interface for analyzing the times series data in the time series object. The user may analyze the time series data encapsulated in the time series object using the APIs of the time series object.
    Type: Grant
    Filed: June 27, 2006
    Date of Patent: October 25, 2011
    Assignee: The MathWorks, Inc.
    Inventors: James G. Owen, Rajiv Singh, Rong Chen, Pascal Gahinet
  • Patent number: 8046207
    Abstract: An analysis tool analyzes a model to determine the digital effect of the model in a modeling or programming environment. With the analysis tool, a user can determine minimum hardware functionality needed to execute the software generated from the model. The hardware functionality may include the word size of the microprocessor that executes the software appropriately. The hardware functionality may also include the execution speed of the microprocessor executing the software. The hardware functionality may further include the functionality of other hardware elements, such as the word length of an Analog to Digital converter. The analysis tool enables a user to produce a system at a low cost while achieving necessary performance criteria.
    Type: Grant
    Filed: December 27, 2005
    Date of Patent: October 25, 2011
    Assignee: The MathWorks, Inc.
    Inventors: John Glass, Thomas J. Erkkinen
  • Patent number: 8046777
    Abstract: The present invention is directed toward automatically integrating a late bound program language into an external environment. The external environment may be an early bound environment, a late bound environment or some combination thereof. Associated with the late bound program environment is a modular execution engine and an interface mechanism, wherein the interface mechanism is capable of expressing late bound semantics in a format compatible with the external environment.
    Type: Grant
    Filed: June 2, 2005
    Date of Patent: October 25, 2011
    Assignee: The MathWorks, Inc.
    Inventors: Peter Hartwell Webb, Barry Simon, Charles G. Nylander, John Micco, Marc Ullman
  • Patent number: 8046202
    Abstract: The present invention provides for converting a user-specified element of a graphical model into at least one intermediate representation that represents the user-specified element. An intermediate representation of the present invention may support simulation, propagation, and/or code generation. An element for a graphical model is provided, and the element and/or the graphical model are converted into an intermediate representation that may represent algorithmic aspects of the element or that is capable of being simulated and/or capable allowing propagation. The present invention allows a user to provide a single code for a user-specified element that may be used to support simulation, propagation and/or code generation of an element or graphical model.
    Type: Grant
    Filed: July 17, 2006
    Date of Patent: October 25, 2011
    Assignee: The MathWorks, Inc.
    Inventors: Dongzhe Yang, Robert O. Aberg, Pieter J. Mosterman
  • Patent number: 8046751
    Abstract: A control flow graph may be generated from a model. The control flow graph may be restructured by converting at least one unstructured region of a control flow graph into a structured region. The restructuring may include locating at least one block between two merge nodes in the control flow graph, moving the located block to a different section of the control flow graph, and creating the structured region by surrounding the moved code block with a test of a guard variable.
    Type: Grant
    Filed: January 11, 2007
    Date of Patent: October 25, 2011
    Assignee: The MathWorks, Inc.
    Inventors: Srinath Avadhanula, Vijay Raghavan
  • Patent number: 8046386
    Abstract: A method includes characterizing portions of a model as being either critical to a real-time execution of the model or non-critical to a real-time execution of the model, and generating code that is capable of real-time execution based on the critical portions of the model while maintaining the full functionality of the non-real-time critical sections, e.g., graphics, logging, other offline calculations, via a communication link and parallel host processing.
    Type: Grant
    Filed: August 21, 2007
    Date of Patent: October 25, 2011
    Assignee: The MathWorks, Inc.
    Inventor: Howard Taitel
  • Patent number: 8046708
    Abstract: A method includes performing an analysis or synthesis operation on a graphical model representation, producing a report from the analysis or synthesis operation and generating associations representing elements of the graphical model representation with corresponding elements in the report and using these associations as a way to reposition viewer based on actions to the graphical model representation.
    Type: Grant
    Filed: August 7, 2003
    Date of Patent: October 25, 2011
    Assignee: The MathWorks, Inc.
    Inventor: William J. Aldrich
  • Patent number: 8041790
    Abstract: A system generates an executable process for execution by a concurrent computing environment, generates a configuration that specifies configurable properties of the concurrent computing environment, and initiates execution of the executable process, with the concurrent computing environment, to initiate configuration of the concurrent computing environment based on the configurable properties of the configuration.
    Type: Grant
    Filed: April 16, 2010
    Date of Patent: October 18, 2011
    Assignee: The MathWorks, Inc.
    Inventors: Loren Dean, Halldor Narfi Stefansson
  • Patent number: 8041551
    Abstract: An algorithm and architecture are disclosed for performing multi-argument associative operations. The algorithm and architecture can be used to schedule operations on multiple facilities for computations or can be used in the development of a model in a modeling environment. The algorithm and architecture resulting from the algorithm use the latency of the components that are used to process the associative operations. The algorithm minimizes the number of components necessary to produce an output of multi-argument associative operations and also can minimize the number of inputs each component receives.
    Type: Grant
    Filed: December 18, 2009
    Date of Patent: October 18, 2011
    Assignee: The MathWorks, Inc.
    Inventors: Alireza Pakyari, Brian K. Ogilvie
  • Publication number: 20110252411
    Abstract: A device receives program code, and receives size/type information associated with inputs to the program code. The device determines, prior to execution of the program code and based on the input size/type information, a portion of the program code that is executable by a graphical processing unit (GPU), and determines, prior to execution of the program code and based on the input size/type information, a portion of the program code that is executable by a central processing unit (CPU). The device compiles the GPU-executable portion of the program code to create a compiled GPU-executable portion of the program code, and compiles the CPU-executable portion of the program code to create a compiled CPU-executable portion of the program code. The device provides, to the GPU for execution, the compiled GPU-executable portion of the program code, and provides, to the CPU for execution, the compiled CPU-executable portion of the program code.
    Type: Application
    Filed: September 30, 2010
    Publication date: October 13, 2011
    Applicant: THE MATHWORKS, INC.
    Inventors: Jocelyn Luke MARTIN, Joseph F. HICKLIN
  • Patent number: 8036871
    Abstract: A mechanism to dynamically vary the amount of delay for an event-generated function call is discussed. The event causing the generation of the function call may be a signal-based event, function call event or some other type of event. A function call generating delay component is inserted into a DES model and dynamically adjusts the amount of delay to apply prior to generating and transmitting the function call to an intended target component. The function call generating component reads a value from an input port in determining the amount of delay. The identified value at the input port may be a signal value or an attribute associated with an event entity received at the port.
    Type: Grant
    Filed: September 11, 2006
    Date of Patent: October 11, 2011
    Assignee: The MathWorks, Inc.
    Inventors: Michael I. Clune, Anuja Dilip Apte