Patents by Inventor Xiaocang Lin

Xiaocang Lin has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 10915302
    Abstract: A system determines what aspects of input sources contribute to code generation and provides associations between the input sources and components of features of the generated code. These associations may be visualized by displaying visual cues of the associations. The input sources may be of different types, including but not limited to a model, a code generator and values for atomic configuration setting for code generation. The visual cue that is displayed may take the form of a visible connection between the input sources and the relative portion or portions of the generated programming code. Suggestions may be generated in response to edits to the generated programming code as to how the sources may be modified to provide desired changes in the generated programming code. Analysis may be performed to identify artifacts in the generated programming code and associations to the sources may be identified to specify what source contributed to portions of the generated programming code.
    Type: Grant
    Filed: April 12, 2019
    Date of Patent: February 9, 2021
    Assignee: The MathWorks, Inc.
    Inventors: Xiaocang Lin, Wuwei Liang, Sherman Braganza, Wei Wang, Yong Huang, Michael Iannicelli
  • Publication number: 20200183658
    Abstract: A system determines what aspects of input sources contribute to code generation and provides associations between the input sources and components of features of the generated code. These associations may be visualized by displaying visual cues of the associations. The input sources may be of different types, including but not limited to a model, a code generator and values for atomic configuration setting for code generation. The visual cue that is displayed may take the form of a visible connection between the input sources and the relative portion or portions of the generated programming code. Suggestions may be generated in response to edits to the generated programming code as to how the sources may be modified to provide desired changes in the generated programming code. Analysis may be performed to identify artifacts in the generated programming code and associations to the sources may be identified to specify what source contributed to portions of the generated programming code.
    Type: Application
    Filed: April 12, 2019
    Publication date: June 11, 2020
    Inventors: Xiaocang LIN, Wuwei LIANG, Sherman BRAGANZA, Wei WANG, Yong HUANG, Michael IANNICELLI
  • Patent number: 10394533
    Abstract: 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: Grant
    Filed: September 30, 2013
    Date of Patent: August 27, 2019
    Assignee: The MathWorks, Inc.
    Inventors: Xiaocang Lin, Peter Szpak
  • Patent number: 10379821
    Abstract: A modeling environment is provided allowing a user to generate, from a source representation of a model, a target representation of a model and a listing of the optimization performed during generation of the target representation which is associated with the target representation or the source representation. The model may represent a system, such as a dynamic system. The source representation of the model may be a graphical or textual representation. In some embodiments a user may specify whether to implement the optimization.
    Type: Grant
    Filed: March 21, 2016
    Date of Patent: August 13, 2019
    Assignee: The MathWorks, Inc.
    Inventors: Xiaocang Lin, Robert O. Aberg
  • Patent number: 9934004
    Abstract: A computer readable medium including executable instructions that when executed perform a method for validating an optimization in generated code using an executable constraints document is provided. The medium can include instructions for relating an assumption to the optimization during code generation. The medium can include instructions for generating the executable constraints document during the code generation, the executable constraints document including information about the relating; and the medium can include instructions for executing the constraints document when the validating is performed, the validating including performing an operation based on a validation result produced by the validating, where the operation includes displaying the validation result to a user, storing the validation result, sending the validation result to a destination, or modifying the generated code.
    Type: Grant
    Filed: March 31, 2014
    Date of Patent: April 3, 2018
    Assignee: The MathWorks, Inc.
    Inventors: Aravind Pillarisetti, Peter S. Szpak, Jesung Kim, Xiaocang Lin, Pieter J. Mosterman
  • Patent number: 9891894
    Abstract: A device may receive a model for code generation. The device may determine to preserve continuity with a first generated code associated with the model. The device may receive, based on determining to preserve continuity, a first generation record associated with the first generated code. The first generation record may include information associated with generation of the first code. The device may generate second code based on the model and the first generation record. The device may create a second generation record based on the second generated code. The second generation record may include information associated with generation of the second code. The device may provide the second generated code.
    Type: Grant
    Filed: August 14, 2013
    Date of Patent: February 13, 2018
    Assignee: The MathWorks, Inc.
    Inventors: Matthew J. Englehart, Xiaocang Lin, Hidayet T. Simsek, Peter S. Szpak, Michael D. Tocci
  • Patent number: 9612806
    Abstract: In an embodiment, a model is sliced into a plurality of slices. A slice in the plurality of slices is selected. A portion of code, that corresponds to the selected slice, is identified from code generated from the model. The identified code is verified to be equivalent to the selected slice. Equivalence may include equivalent functionality, equivalent data types, equivalent performance, and or other forms of equivalence between the selected slice and the identified generated code.
    Type: Grant
    Filed: September 2, 2014
    Date of Patent: April 4, 2017
    Assignee: The MathWorks, Inc.
    Inventors: Mirko Conrad, Xiaocang Lin, Jun Yan, Peter S. Szpak, Appa Rao Nirakh, Jayaprabha Shankar
  • Patent number: 9361119
    Abstract: The present application is generally directed to mediums, methods, and systems for identifying and manipulating active code components. In exemplary embodiments, a user control interface is provided for displaying a source design which includes instructions in a preprocessor language and instructions in a source language. A resolvable preprocessor condition may be identified along with an instruction in the source language that is associated with the resolvable condition. The resolvable condition and the associated condition may be displayed, and the associated condition may be graphically indicated as controllable by the resolvable condition. A user may supply an input that provides a value for the resolvable condition. In some embodiments, instructions in the source language are displayed and, upon selection of one or more source language instructions by a user, a preprocessor condition that is associated with the selected source language instructions may be displayed.
    Type: Grant
    Filed: November 10, 2009
    Date of Patent: June 7, 2016
    Assignee: The MathWorks, Inc.
    Inventor: Xiaocang Lin
  • Patent number: 9342276
    Abstract: A modeling environment is provided allowing a user to generate, from a source representation of a model, a target representation of a model and a listing of the optimization performed during generation of the target representation which is associated with the target representation or the source representation. The model may represent a system, such as a dynamic system. The source representation of the model may be a graphical or textual representation. In some embodiments a user may specify whether to implement the optimization.
    Type: Grant
    Filed: December 4, 2007
    Date of Patent: May 17, 2016
    Assignee: The MathWorks, Inc.
    Inventors: Xiaocang Lin, Robert O. Aberg
  • Patent number: 9280324
    Abstract: Exemplary embodiments employ a mapping among entities that are related to each other. The entities may include a graphical model, generated code, a generated report, a requirements document and/or an intermediate representation. The mapping may facilitate graphical identifications between parts of one entity that maps to part of another entity. The graphical identification may occur based on a selection of a part in one of the entities.
    Type: Grant
    Filed: December 31, 2013
    Date of Patent: March 8, 2016
    Assignee: The MathWorks, Inc.
    Inventors: Xiaocang Lin, Aravind Pillarisetti, William J. Aldrich, Kai Tuschner
  • Patent number: 9274928
    Abstract: A code verification tool verifies that code generated from a model represents all of the functionality of the model and does not contain any unintended functionality. The code verification tool may receive for examination a model or an intermediate representation (IR) of the model and the generated code or an intermediate representation of the generated code. The code verification tool may create further intermediate representations of the model and/or the generated code in order to compare the functionality presented in both.
    Type: Grant
    Filed: March 31, 2014
    Date of Patent: March 1, 2016
    Assignee: The MathWorks, Inc.
    Inventors: Mirko Conrad, Joel Thornton, Peter S. Szpak, Xiaocang Lin
  • Patent number: 9268537
    Abstract: A device receives a model, in a technical computing environment, that includes blocks and lines, and determines an application domain associated with the model. The device determines code generation optimizations for the model, determines dependencies of the code generation optimizations, and determines performance characteristics for the device. The device determines capabilities of a target compiler for the code generated based on the model, and determines a profile for target hardware to be used to execute the code. The device identifies an order for the code generation optimizations based on the determined information, generates optimal code for the model based on the identified order for the code generation optimizations, and outputs and/or store the optimal code.
    Type: Grant
    Filed: February 24, 2015
    Date of Patent: February 23, 2016
    Assignee: The MathWorks, Inc.
    Inventors: Yuchen Zhang, Partha Biswas, Xiaocang Lin
  • Patent number: 9244510
    Abstract: A method may include storing bug reports in a memory, where a particular one of the bug reports describes a software bug and includes information about a modeling application. The method may further include receiving, from another computer device, a request for bug reports relevant to a model generated using the modeling application, where the request includes information about the model; identifying one or more relevant bug reports, in the stored bug reports, by comparing the information about the modeling application, included in the stored bug reports, with the information about the model, included in the received request; and providing information about the one or more relevant bug reports to the other computer device.
    Type: Grant
    Filed: September 23, 2011
    Date of Patent: January 26, 2016
    Assignee: The MathWorks, Inc.
    Inventors: Mirko Conrad, Peter Szpak, Thomas Joseph Erkkinen, Xiaocang Lin, David William Hoadley
  • Patent number: 9098291
    Abstract: A device receives code in a modeling environment format, receives a model in the modeling environment format, and receives relationships information associated with one or more relationships between the code and the model. The device combines the code, the model, and the relationships information to generate an output file in a non-modeling environment format, and outputs or stores the output file.
    Type: Grant
    Filed: December 4, 2012
    Date of Patent: August 4, 2015
    Assignee: The MathWorks, Inc.
    Inventors: Xiaocang Lin, Jesung Kim, Yong Huang
  • Patent number: 9098292
    Abstract: A device receives a model that includes blocks and lines provided between the blocks, and identifies first candidate boundaries for the model. Each of the first candidate boundaries defines a group of blocks. The device generates an intermediate representation (IR) of the model, performs an optimization of the IR to generate an optimized IR, and identifies second candidate boundaries for the model based on the optimized IR. Each of the second candidate boundaries defines a group of blocks, and the first and second candidate boundaries define a set of candidate boundaries. The device reduces the set of candidate boundaries, to a reduced set of boundaries, based on code efficiency metrics or metrics associated with a hardware platform. The device generates code for the model based on the reduced set of boundaries, and outputs the code.
    Type: Grant
    Filed: April 29, 2014
    Date of Patent: August 4, 2015
    Assignee: The MathWorks, Inc.
    Inventors: Yuchen Zhang, Beth Cockerham, Xiaocang Lin, Partha Biswas
  • Publication number: 20150095877
    Abstract: 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: Application
    Filed: September 30, 2013
    Publication date: April 2, 2015
    Applicant: The MathWorks, Inc.
    Inventors: Xiaocang LIN, Peter SZPAK
  • Publication number: 20140380269
    Abstract: In an embodiment, a model is sliced into a plurality of slices. A slice in the plurality of slices is selected. A portion of code, that corresponds to the selected slice, is identified from code generated from the model. The identified code is verified to be equivalent to the selected slice. Equivalence may include equivalent functionality, equivalent data types, equivalent performance, and/or other forms of equivalence between the selected slice and the identified generated code.
    Type: Application
    Filed: September 2, 2014
    Publication date: December 25, 2014
    Inventors: Mirko Conrad, Xiaocang Lin, Jun Yan, Peter S. Szpak, Appa rao Nirakh, Jayaprabha Shankar
  • Patent number: 8918769
    Abstract: The present invention provides a method and system for optimization of an intermediate representation in a graphical modeling environment. A first intermediate representation is provided. At least one optimization technique is applied to the first intermediate representation. A second intermediate representation is generated responsive to the application of the at least one optimization technique to the first intermediate representation.
    Type: Grant
    Filed: November 20, 2012
    Date of Patent: December 23, 2014
    Assignee: The MathWorks, Inc.
    Inventor: Xiaocang Lin
  • Patent number: 8869103
    Abstract: In an embodiment, a model is sliced into a plurality of slices. A slice in the plurality of slices is selected. A portion of code, that corresponds to the selected slice, is identified from code generated from the model. The identified code is verified to be equivalent to the selected slice. Equivalence may include equivalent functionality, equivalent data types, equivalent performance, and/or other forms of equivalence between the selected slice and the identified generated code.
    Type: Grant
    Filed: September 30, 2011
    Date of Patent: October 21, 2014
    Assignee: The MathWorks, Inc.
    Inventors: Mirko Conrad, Xiaocang Lin, Jun Yan, Peter Szpak, Appa Rao Nirakh, Jaya Shankar
  • Patent number: 8856726
    Abstract: In an embodiment, a model is sliced into a plurality of slices. A slice in the plurality of slices is selected. A portion of code, that corresponds to the selected slice, is identified from code generated from the model. The identified code is verified to be equivalent to the selected slice. Equivalence may include equivalent functionality, equivalent data types, equivalent performance, and/or other forms of equivalence between the selected slice and the identified generated code.
    Type: Grant
    Filed: September 30, 2011
    Date of Patent: October 7, 2014
    Assignee: The Mathworks, Inc.
    Inventors: Mirko Conrad, Xiaocang Lin, Jun Yan, Peter Szpak, Appa Rao Nirakh, Jaya Shankar