Patents Assigned to The MathWorks, Inc.
  • Patent number: 10360502
    Abstract: A computing device may include a memory to store data that describes a state machine model that includes destination states and source states. The source states may be associated with conditions upon which the state machine model is to transition from a corresponding source state to one of the destination states. The device may also include a processor configured to generate data to describe a state diagram from the data that describes the state machine model. The state diagram may include the graphical symbols and lines. Each of the graphical symbols may represent one of the source states or one of the destination states. The lines may represent transitions and include one or more vertical lines to represent transitions to one of the destination states from more than one of the source states. The graphical symbol may represent the one of the destination states is not adjacent to the graphical symbols to represent the more than one of the source states.
    Type: Grant
    Filed: February 15, 2013
    Date of Patent: July 23, 2019
    Assignee: The MathWorks, Inc.
    Inventors: Siddhartha Shankar, Srinath Avadhanula, Vijaya Raghavan, Ebrahim Mehran Mestchian, Yao Ren
  • Patent number: 10360310
    Abstract: A system and method automatically ensures consistency among a design model, an interface specification and one or more tests that test the design model. The system may include a broker adapted to construct the interface specification. The interface specification identifies the interface of the design model, e.g., its external inputs, external outputs, and initialization settings. It may also identify the outputs, inputs, and initialization setting objects of the tests. Proposed changes to any one of the design model's interface, the interface specification and the interfaces of the tests may be captured by the broker, and applied to the other two.
    Type: Grant
    Filed: March 15, 2013
    Date of Patent: July 23, 2019
    Assignee: The MathWorks, Inc.
    Inventor: Robert O. Aberg
  • Patent number: 10360052
    Abstract: A method may include establishing a connection with a physical device, by a device. The method may include receiving information identifying the physical device, by the device. The method may include determining physical device information based on receiving the information identifying the physical device, by the device. The physical device information may be a description of the physical device. The method may include generating a set of model elements based on the physical device information, by the device. The set of model elements may include program code associated with simulating a behavior associated with the physical device. The method may include associating the set of model elements with a device model corresponding to the physical device, by the device.
    Type: Grant
    Filed: February 2, 2015
    Date of Patent: July 23, 2019
    Assignee: The MathWorks, Inc.
    Inventors: Justyna Zander, Zijad Galijasevic, Pieter J. Mosterman, David Koh
  • Patent number: 10346138
    Abstract: A device may receive a command to create an object. The object may be associated with representing a set of nodes. A first node, of the set of nodes, may be connected to a second node, of the set of nodes via an edge, of a set of edges. The device may create, based on the command, the object. The object may include a sparse matrix associated with representing the set of nodes and the set of edges. The object may include a first table associated with representing a set of properties associated with the set of nodes. The object may include a second table associated with representing a set of properties associated with the set of edges. The device may store the object.
    Type: Grant
    Filed: December 30, 2015
    Date of Patent: July 9, 2019
    Assignee: The MathWorks, Inc.
    Inventors: Patrick D. Quillen, Antonio C. Ionita, Duncan Po, Christine Tobler
  • Publication number: 20190179727
    Abstract: Methods and systems are described for automatically setting multitasking configurations that are used to check, by a code-checking system, implementation code that is to be deployed on a dynamic system. Attributes of implemented tasks and interrupt service routines that can run concurrently on the dynamic system are determined from one or more specification data structures of a specified model and associated with independent, implemented computational threads prepared from the specified model. Configured with information relevant to the concurrent threads, the code-checking system can more accurately determine the presence or absence of defects in the implementation code. The specified model, resulting implemented code, and dynamic system can be complex and comply with a standardized software architecture, such as Automotive Open System Architecture (AUTOSAR).
    Type: Application
    Filed: May 7, 2018
    Publication date: June 13, 2019
    Applicant: The MathWorks, Inc.
    Inventor: Olivier Bouissou
  • Patent number: 10318653
    Abstract: Systems and methods automatically construct a harness model having a selected component from source model. The systems and methods determine an execution context of the component in the source model, and construct and configure the harness model to provide the same or an equivalent execution context in the harness model. Model elements may be added to the harness model, and the model elements may be configured to replicate the execution context. The harness model may be executed, and the operation of the component evaluated. Changes to the component are synchronized between the source model and the harness model, as are changes to the component's execution context. Assessment operations may be included in the harness model, and these assessment operations may be evaluated when the harness model is executed. A verification report that includes the results of the assessments may be generated.
    Type: Grant
    Filed: February 26, 2015
    Date of Patent: June 11, 2019
    Assignee: The MathWorks, Inc.
    Inventors: Yit Phang Khoo, John P. Dirner, S. M. Shahed Nejhum, Gregg P. Smith, Vijaya Raghavan, Kalyan Bemalkhedkar, Krishna Balasubramanian
  • Patent number: 10275547
    Abstract: Methods and systems are presented for evaluating performance of a finite or infinite antenna array including a finite number of antennas. Typically, a model is generated for the antenna array, the model including an arbitrarily large antenna array with an arbitrarily large number of model antennas. Each model antenna has features defined by features of antennas of the finite or infinite antenna array. A unit cell is determined for the arbitrarily large antenna, and impedance matrices Zantenna and Zperiodic are computed, Zperiodic representing interactions among the unit cell and the other model antennas. From these matrices, the performance of the finite or infinite antenna array is assessed.
    Type: Grant
    Filed: June 3, 2015
    Date of Patent: April 30, 2019
    Assignee: The MathWorks, Inc.
    Inventors: Sergey Makarov, Vishwanath Iyer, Shashank Kulkarni
  • Patent number: 10275227
    Abstract: A method may comprise determining, by executing a first model having first configuration parameters, a first result associated with the first model. The method may comprise determining, by executing a second model having second configuration parameters, a second result associated with the second model. The method may comprise determining, based on the first result, the second result, and equivalency criteria, that the second model is not functionally equivalent to the first model. The equivalency criteria may indicate that the second model is functionally equivalent to the first model when a difference between the second result and the first result satisfies a threshold. The method may comprise modifying a configuration parameter, of the second configuration parameters, to cause the second model to improve toward functional equivalence with the first model.
    Type: Grant
    Filed: February 20, 2015
    Date of Patent: April 30, 2019
    Assignee: The MathWorks, Inc.
    Inventors: Ravi Vompolu, Ivan Garcia, Gareth Thomas, Paul Cox, Ebrahim Mestchian, Pieter J. Mosterman
  • Patent number: 10261760
    Abstract: Systems and methods trace performance data generated by a hardware synthesis tool chain to model elements of a model. During code generation, an initial in-memory representation is generated for the model. The in-memory representation includes a plurality of nodes that correspond to the model elements. The in-memory representation is subjected to transformations and optimizations creating transitional in-memory representations and a final in-memory representation from which HDL code is generated. A graph builder constructs a genealogy graph that traces the transformations and optimizations. The genealogy graph includes graph objects corresponding to the nodes of the in-memory representations. The synthesis tool chain utilizes the HDL code to perform hardware synthesis. The synthesis tool chain also generates performance data. Utilizing the genealogy graph, the performance data is mapped to the nodes of the initial in-memory representation, and to the elements of the model.
    Type: Grant
    Filed: December 5, 2014
    Date of Patent: April 16, 2019
    Assignee: The MathWorks, Inc.
    Inventor: Yongfeng Gu
  • Patent number: 10248390
    Abstract: A system and method optimizes hardware description generated from a graphical program or model automatically. The system may include a streaming optimizer, a resource sharing optimizer and a delay balancing engine. The streaming optimizer transforms one or more vector data paths in the source model to scalar data paths or to a smaller-sized vector data paths. The resource sharing optimizer may replace multiple blocks of the source model that are functionally equivalent with a single shared block. The streaming and resource sharing optimizers may also configure portions of the modified model to execute at a faster rate. The delay balancing engine may examine the modified model to determine whether any delays or latencies have been introduced. If so, the delay balancing engine may insert one or more blocks into the modified model to correct for any data path misalignment caused by the introduction of the delays or latencies.
    Type: Grant
    Filed: January 12, 2016
    Date of Patent: April 2, 2019
    Assignee: The MathWorks, Inc.
    Inventors: Girish Venkataramani, Kiran Kintali
  • Patent number: 10235140
    Abstract: A device may receive a model generated via a technical computing environment, where the model included a state chart with one or more variables. The device may receive a selection of a particular variable from the state chart, and may provide, for display and based on the selection, a user interface for defining attributes associated with the particular variable. The device may receive, via the user interface, one or more user-defined attributes for the particular variable, where at least one of the one or more user-defined attributes is defined independently of a reference to the particular variable. The device may apply the one or more user-defined attributes in the model and the state chart.
    Type: Grant
    Filed: May 23, 2014
    Date of Patent: March 19, 2019
    Assignee: The MathWorks, Inc.
    Inventors: Srinath Avadhanula, Pieter J. Mosterman, Ebrahim Mestchian
  • Patent number: 10235274
    Abstract: A device may determine one or more conditional parameters associated with determining whether a condition is satisfied during execution of a program. The one or more conditional parameters may vary over time. The device may execute the program to generate one or more execution parameters corresponding to the one or more conditional parameters. The device may compare the one or more execution parameters and the one or more conditional parameters. The device may determine that the condition is satisfied based on comparing the one or more execution parameters and the one or more conditional parameters. The device may perform an action, in association with the program, based on determining that the condition is satisfied.
    Type: Grant
    Filed: November 3, 2016
    Date of Patent: March 19, 2019
    Assignee: The MathWorks, Inc.
    Inventors: George Quievryn, Jay Ryan Torgerson
  • Patent number: 10229096
    Abstract: A device analyzes program code to generate an intermediate version of the program code. When analyzing the program code, the device applies first rules for mapping portions of the program code to different portions of the intermediate version of the program code. The device generates the intermediate version of the program code that the different portions of the intermediate version of the program code mapped from the portions of the program code. The device applies, to the intermediate version of the program code, second rules for determining first portions of the intermediate version of the program code to keep together and second portions of the intermediate version of the program code to keep separate in a presentation to be generated from the program code, and generates the presentation from the program code based on applying the second rules to the intermediate version of the program code.
    Type: Grant
    Filed: May 6, 2016
    Date of Patent: March 12, 2019
    Assignee: The MathWorks, Inc.
    Inventors: Joseph R. Bienkowski, Amit Mahajan, Claudia G. Wey, Joseph F. Hicklin
  • Patent number: 10222944
    Abstract: A device may provide a user interface element for display in association with a displayed document that contains code. The user interface element may be associated with at least one adjustable state. The device may determine, based on a user interaction with the user interface element, a selected state of the at least one adjustable state of the user interface element. The device may generate information based on the selected state of the user interface element. The device may store the user interface element, the selected state of the user interface element, and the information in association with the document.
    Type: Grant
    Filed: February 24, 2016
    Date of Patent: March 5, 2019
    Assignee: The MathWorks, Inc.
    Inventors: Joseph F. Hicklin, Joseph R. Bienkowski, John W. Glass, Edward W. Gulley, Claudia G. Wey, Jeng-Tsung Tsai, Chen Su
  • Patent number: 10223076
    Abstract: A method may include displaying an output, e.g., a figure, a data set, a symbolic expression or equation, a model, or any object with a representation that can be manipulated, e.g., a tree, a list, or a control loop, from executing program code. The method may include receiving an indication that the output has been modified through one or more manipulations, and generating code that represents modifications to the output, such that executing the code with the program code generates the output that has been modified.
    Type: Grant
    Filed: May 31, 2017
    Date of Patent: March 5, 2019
    Assignee: The MathWorks, Inc.
    Inventors: James G. Owen, Felix Alvarez, Keerthi Gurijala, Abigail S. Skofield, Alexander Zak, Claudia G. Wey, Eera Gupta, Roy Lurie, Michelle D. Erickson, Ralf Hillebrand, Alexander Rensmann, Benjamin V. Hinkle, Oliver Kluge
  • Patent number: 10216864
    Abstract: A computing device may be used to create a model that includes a block. The block may represent a function corresponding to a simulation and capable of operating in a fault operational mode. The computing device may also, or alternatively, associate a fault scenario, corresponding to the model, with the fault operational mode of the block. Additionally, or alternatively, the computing device may simulate the fault scenario based on the block diagram model.
    Type: Grant
    Filed: March 26, 2012
    Date of Patent: February 26, 2019
    Assignee: The MathWorks, Inc.
    Inventors: Joel Berg, Krishna Tamminana, Jagadish Gattu
  • Patent number: 10216372
    Abstract: A method and apparatus for retrieving selected information in a graphical model environment originates with the provision of the graphical model environment. The selected information is selected by, or provided to, a block diagram simulation application operating the graphical model environment. The selected information can be in the form of data or a reference to data. The selected information is automatically incorporated into the graphical model environment.
    Type: Grant
    Filed: May 7, 2013
    Date of Patent: February 26, 2019
    Assignee: The MathWorks, Inc.
    Inventors: Mazen A. Kachmar, Witold Robert Jachimczyk, Donald Paul Orofino, II
  • Patent number: 10216501
    Abstract: Described are methods, systems and computer-readable media storing instructions that when executed on one or more processors execute a process for generating second program code in a statically typed programming language from first program code in a dynamically typed programming language. The first program code contains or, when executed, generates or operates on a dynamically typed array. The second program code may be generated by classifying the dynamically typed array into one of multiple categories, such as homogeneous, heterogeneous, or another, based on the array contents, array usage, and/or user input, and generating the second program code in the statically typed programming language based on the classification(s).
    Type: Grant
    Filed: May 31, 2016
    Date of Patent: February 26, 2019
    Assignee: The MathWorks, Inc.
    Inventors: Arnab De, Frederick M. Smith, Denis Gurchenkov
  • Patent number: 10209965
    Abstract: A device may provide, via a code editor window of a user interface, program code that includes a reference. The reference may call a portion of program code. The portion of program code may be associated with a source of the portion of program code. The device may determine the portion of program code based on the reference. The device may provide the portion of program code, in-line with the program code, via the code editor window of the user interface. The device may receive a modification to the portion of program code via the code editor window of the user interface. The device may synchronize the modification to the portion of program code with the source of the portion of program code. The device may create a modified copy of the source of the portion of program code based on the synchronizing.
    Type: Grant
    Filed: February 18, 2015
    Date of Patent: February 19, 2019
    Assignee: The MathWorks, Inc.
    Inventors: Joseph R. Bienkowski, Santosh C. Kasula, Andrew T. Campbell
  • Patent number: 10185793
    Abstract: A model of a state machine may be created in a modeling environment, and the model may be executed over a simulation time. A duration operator may be defined within the model. The duration operator may include as an input argument, a conditional expression that may evaluate to True or False. During execution, the modeling environment may define a plurality of time steps over the course of the model's simulation time. The conditional expression of the duration operator may be evaluated at the time steps. When the conditional expression evaluates to True, the modeling environment may begin tracking elapsed simulation time, and may continue to track elapsed simulation time while the conditional expression remains True. The value of elapsed simulation time may be made available to other portions of the model.
    Type: Grant
    Filed: March 4, 2016
    Date of Patent: January 22, 2019
    Assignee: The MathWorks, Inc.
    Inventors: David B. Andrade, Srinath Avadhanula, Yit Phang Khoo