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: 10915302Abstract: 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: GrantFiled: April 12, 2019Date of Patent: February 9, 2021Assignee: The MathWorks, Inc.Inventors: Xiaocang Lin, Wuwei Liang, Sherman Braganza, Wei Wang, Yong Huang, Michael Iannicelli
-
Publication number: 20200183658Abstract: 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: ApplicationFiled: April 12, 2019Publication date: June 11, 2020Inventors: Xiaocang LIN, Wuwei LIANG, Sherman BRAGANZA, Wei WANG, Yong HUANG, Michael IANNICELLI
-
Patent number: 10394533Abstract: 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: GrantFiled: September 30, 2013Date of Patent: August 27, 2019Assignee: The MathWorks, Inc.Inventors: Xiaocang Lin, Peter Szpak
-
Patent number: 10379821Abstract: 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: GrantFiled: March 21, 2016Date of Patent: August 13, 2019Assignee: The MathWorks, Inc.Inventors: Xiaocang Lin, Robert O. Aberg
-
Patent number: 9934004Abstract: 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: GrantFiled: March 31, 2014Date of Patent: April 3, 2018Assignee: The MathWorks, Inc.Inventors: Aravind Pillarisetti, Peter S. Szpak, Jesung Kim, Xiaocang Lin, Pieter J. Mosterman
-
Patent number: 9891894Abstract: 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: GrantFiled: August 14, 2013Date of Patent: February 13, 2018Assignee: The MathWorks, Inc.Inventors: Matthew J. Englehart, Xiaocang Lin, Hidayet T. Simsek, Peter S. Szpak, Michael D. Tocci
-
Patent number: 9612806Abstract: 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: GrantFiled: September 2, 2014Date of Patent: April 4, 2017Assignee: The MathWorks, Inc.Inventors: Mirko Conrad, Xiaocang Lin, Jun Yan, Peter S. Szpak, Appa Rao Nirakh, Jayaprabha Shankar
-
Patent number: 9361119Abstract: 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: GrantFiled: November 10, 2009Date of Patent: June 7, 2016Assignee: The MathWorks, Inc.Inventor: Xiaocang Lin
-
Patent number: 9342276Abstract: 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: GrantFiled: December 4, 2007Date of Patent: May 17, 2016Assignee: The MathWorks, Inc.Inventors: Xiaocang Lin, Robert O. Aberg
-
Patent number: 9280324Abstract: 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: GrantFiled: December 31, 2013Date of Patent: March 8, 2016Assignee: The MathWorks, Inc.Inventors: Xiaocang Lin, Aravind Pillarisetti, William J. Aldrich, Kai Tuschner
-
Patent number: 9274928Abstract: 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: GrantFiled: March 31, 2014Date of Patent: March 1, 2016Assignee: The MathWorks, Inc.Inventors: Mirko Conrad, Joel Thornton, Peter S. Szpak, Xiaocang Lin
-
Patent number: 9268537Abstract: 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: GrantFiled: February 24, 2015Date of Patent: February 23, 2016Assignee: The MathWorks, Inc.Inventors: Yuchen Zhang, Partha Biswas, Xiaocang Lin
-
Patent number: 9244510Abstract: 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: GrantFiled: September 23, 2011Date of Patent: January 26, 2016Assignee: The MathWorks, Inc.Inventors: Mirko Conrad, Peter Szpak, Thomas Joseph Erkkinen, Xiaocang Lin, David William Hoadley
-
Patent number: 9098291Abstract: 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: GrantFiled: December 4, 2012Date of Patent: August 4, 2015Assignee: The MathWorks, Inc.Inventors: Xiaocang Lin, Jesung Kim, Yong Huang
-
Patent number: 9098292Abstract: 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: GrantFiled: April 29, 2014Date of Patent: August 4, 2015Assignee: The MathWorks, Inc.Inventors: Yuchen Zhang, Beth Cockerham, Xiaocang Lin, Partha Biswas
-
Publication number: 20150095877Abstract: 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: ApplicationFiled: September 30, 2013Publication date: April 2, 2015Applicant: The MathWorks, Inc.Inventors: Xiaocang LIN, Peter SZPAK
-
Publication number: 20140380269Abstract: 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: ApplicationFiled: September 2, 2014Publication date: December 25, 2014Inventors: Mirko Conrad, Xiaocang Lin, Jun Yan, Peter S. Szpak, Appa rao Nirakh, Jayaprabha Shankar
-
Patent number: 8918769Abstract: 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: GrantFiled: November 20, 2012Date of Patent: December 23, 2014Assignee: The MathWorks, Inc.Inventor: Xiaocang Lin
-
Patent number: 8869103Abstract: 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: GrantFiled: September 30, 2011Date of Patent: October 21, 2014Assignee: The MathWorks, Inc.Inventors: Mirko Conrad, Xiaocang Lin, Jun Yan, Peter Szpak, Appa Rao Nirakh, Jaya Shankar
-
Patent number: 8856726Abstract: 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: GrantFiled: September 30, 2011Date of Patent: October 7, 2014Assignee: The Mathworks, Inc.Inventors: Mirko Conrad, Xiaocang Lin, Jun Yan, Peter Szpak, Appa Rao Nirakh, Jaya Shankar