Patents
Providing services for assisting programming
2023 – US 11620111 B2
Systems and methods for services for assisting programming are disclosed. The systems and methods can be used to, during edit time, for program code or data of interest, identify one or more services available to the program code or the data of interest, generating a context for the one or more services, execute code for the one or more services within the context to generate a result for each of the one or more services, analyze the result for each of the one or more services to select a subset of results based on criteria associated with the program code, the data of interest, or the one or more services, and offer, to a user, services corresponding to the subset of results or the subset of results as suggestions to facilitate further development of the program code or use of the data of interest.
Systems and methods for automatic code generation
2021 – US 11379194 B2 | 2018 – US 10949173 B1
In accordance with some embodiments, a non-transitory computer-readable medium storing executable instructions that, when executed by a processor, may cause the processor to receive a value setting via a user interface associated with a first program code, and generate a second program code that, when executed, produces a computational result. To generate the second program code, the instructions, when executed by the processor, may cause the processor to obtain a portion of the first program code that, when executed with the value setting, generates the computational result, determine an organizational structure of the portion, the organizational structure including a plurality of stages, determine, in one or more of the plurality of stages, a first segment of code that accesses the value setting and a second segment of code that does not access the value setting, and replace the first segment with the value setting.
Generating code based on user interactions with a user interface element in a code editor
2017 – US 10223076
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.
Automatic generation of a presentation from code based on analysis of an intermediate version of the code
2016 – US 10229096
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.
Embedding user interface elements in documents containing code
2016 – US 10222944
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.
Using program code to generate help information, and using help information to generate program code
2015 – US 9645798 B1 | 2014 – US 9141348 B1
A device may determine to provide help information associated with a portion of program code included in a program and provided via a user interface of a programming environment. The device may obtain generic help information, associated with the portion of program code, based on determining to provide the help information. The device may determine a set of rules for modifying the generic help information using the portion of program code. The device may analyze the program, using the set of rules, to identify information, included in the program, to be included in modified help information. The device may modify the generic help information, to generate the modified help information, using the information identified based on analyzing the program. The device may provide the modified help information for display via the user interface.
Providing intermediate results of evaluating program code that includes a compound statement
2015 – US9547580 B1 | 2013 – US 9064052 B1
A device may receive an indication to evaluate a portion of program code. The device may cause the portion of program code to be evaluated based on receiving the indication to evaluate the portion of program code. The device may determine an intermediate result used to generate an overall result of evaluating the portion of program code based on causing the portion of program code to be evaluated. The intermediate result may be determined by evaluating a sub-portion of program code included in the portion of program code. The device may receive information that identifies a granularity level for displaying the intermediate result. The granularity level may indicate whether the intermediate result is to be provided for display. The device may selectively provide the intermediate result for display based on the granularity level.
Program code interface for providing program code and corresponding results of evaluating the program code
2015 – US9665471 B1 | 2013 – US US9053235 B1
A device may receive an indication to evaluate a first portion of program code and a second portion of program code provided in a first section of a user interface. The device may evaluate the first portion of program code and the second portion of program code. The device may generate a first result corresponding to the first portion of program code and may generate a second result corresponding to the second portion of program code based on evaluating the first portion of program code and the second portion of program code. The device may provide the first result and the second result in a second section of the user interface. The second section may be separate from the first section. The device may provide a correspondence indicator that indicates a correspondence between the first result and the first portion of program code
Determining when to evaluate program code and provide results in a live evaluation programming environment
2015 – US9582400 B1 | 2013 – US US9053228 B1
A device may provide a user interface that includes a first section for displaying multiple portions of program code and a second section for displaying multiple results of evaluating the multiple portions of program code. The device may detect an evaluation trigger associated with an unevaluated portion of program code of the multiple portions of program code. The device may determine one or more portions of program code to be evaluated based on detecting the evaluation trigger. The one or more portions of program code may be less than the multiple portions of program code. The device may cause the one or more portions of program code to be evaluated to generate one or more corresponding results. The device may provide the one or more corresponding results for display via the second section of the user interface.
Programming environment for executing program code despite errors and for providing error indicators
2013 – US 9047411 B1
A device may receive an indication to evaluate a first portion of program code and a second portion of program code provided via a user interface. The first portion of program code may include an error. The device may cause the first and second portions of program code to be evaluated based on receiving the indication to evaluate the first and second portions of program code. The second portion of program code may be evaluated after the first portion of program code. The device may generate a first result corresponding to the first portion of program code and a second result corresponding to the second portion of program code. The first result may include an error indicator. The device may provide the first result and the second result via the user interface.
Text import tool for a technical computing environment
2013 – US 9613017 B2 | 2013 – US 8619090 B2
A device receives text that includes data values, and parses the text to identify data types associated with the data values. The device generates, based on the data values and the data types, a graphical representation of the text that includes data cells corresponding to the data values, and provides the graphical representation for display. The device receives one or more selections of one or more data cells in the graphical representation, stores the one or more selections as a selection history, and provides the selection history for display.
Graphical Data Conversion/Translation
2011 – US 20120313953 A1
A computer-readable storage media for storing computer-executable instructions executable by processing logic causes the processing logic to receive data in a first format for conversion to a second format different than the first format, wherein the data includes information having a first type and information having a second type and display the data in the first format via a graphical interface. One or more translation rules are received relating to processing the information having the first type or the information having the second type. The one or more translation rules are pre-applied to the data in the first format. Effects of the pre-applied rules on the displayed data are displayed via the graphical interface. The data in the first format is converted to the data in the second format based on the one or more translation rules.
Identifying a target for a pointing device
2009 – US 1068473
In an embodiment, a technique for identifying a target for a pointing device in a display. The technique may involve identifying a trajectory of movement of the pointing device and identifying the target for the pointing device based on at least the identified trajectory. The target may be, for example, a graphical user interface (GUI) element that may be displayed in the display or a location in the display.
System and Method for Identifying Operations Based on Selected Data
2009 – US 10001977 B1
A system and method identifies a set of operations or tasks, such as functions, of a programming system or technical computing environment based on a selection of input data. The technical computing environment may have a plurality of operations that may be called and executed. The operations may operate on one or more input arguments that may need to satisfy certain constraints. Upon selection of input data, a matching engine may classify the input data, and compare the classifications of the input data to the input argument constraints of a plurality of operations. The matching engine may identify those operations whose input argument constraints are satisfied by the selected input data, as well as those operations whose input argument constraints are not satisfied by the selected input data. The matching and non-matching operations may be provided to an action unit, which may be configured to perform some task or action with regard to some or all of the operations.
Three-dimensional visualization
2008 – US 9454283
In an embodiment, a mechanism for visualizing a graphical model in three dimensions is discussed. An executable graphical model is obtained that includes a hierarchy of model levels that include a top level. The hierarchy includes multiple components. A three-dimensional (3D) view of the graphical model is displayed that provides views of a first and second component at a first and second depth. A graphical indicator is generated in the view of the top level of the graphical model that is associated with the first component and also generated in the view of the second component. A control alters a user perspective of a view that includes at least one of the components in the graphical model.
User interface driven real-time performance evaluation of program code
2008 – US 9336115
A device may receive an indication to perform a performance evaluation on program code. The device may partition the program code into multiple program code portions based on receiving the indication to perform the performance evaluation. The device may execute a first program code portion of the multiple program code portions. The device may determine that the first program code portion has finished executing, and may determine a performance characteristic associated with execution of the first program code portion based on determining that the first program code portion has finished executing. The device may execute a second program code portion, of the multiple program code portions, and may provide information that identifies the performance characteristic while the second program code portion is being executed
Composite signal configuration element for modeling environments
2007 – US 8635055 B1
In a modeling environment, a composite signal configuration element is provided. The composite signal configuration element configures one or more signals of a composite signal having a selectable grouping of the one or more signals. Configuring signals of a composite signal allows for the selectable creation, editing, and separation of composite signals. In some embodiments, hierarchical composite signals may be selectably created edited or separated into individual signals. In certain embodiments the composite signal configuration element may include additional functionality for performing operation on the composite signal.
Graphical user interface for viewing or editing an executable block diagram model
2007 – US 8019579 B1
In one embodiment, a method for displaying elements of an attribute in an executable block diagram model is provided. The method may include displaying an executable block diagram model in a first window and receiving a first input from an input device, wherein the first input associates with a first parameter of a block diagram modeling component in the executable block diagram model, the first parameter is represented in the executable block diagram model by a first graphical affordances. The method may include triggering the display of a value of a first parameter in a first user interface widget in the first window.
Collaborative modeling environment
2007 – US 8005812 B1
A system may receive a model, extract information from the model, form a group of tags using the extracted information, and associate the group of tags with the model. The system may further receive a search query including one or more sequences of characters and determine whether to provide the model in a list of models created for the search query, based on the one or more sequences of characters and the group of tags