A data storage system can implement a key-value engine configured for tunable read, write, and space amplification. The key-value engine can support multi-versioning, synchronous and asynchronous key updates, and read snapshots. The key-value engine is highly scalable and can support generalized parallel, in-memory computation. Experimental results demonstrate that a key-value engine consistent with disclosed embodiments can outperform a state-of-the-art production LSM-based key-value store in a wide range of metrics.
Systems and methods are provided for design validation using a validation computing device and a designer computing device. The validation computing device can be configured to obtain a dataset and a record of designer interactions, provide a validation interface, and update a record of reviewer interactions. The validation interface can include a design option indicator, a justification indicator, a visualization display, and a validation control. The reviewer interactions can include rejecting a modification of a design option. The designer computing device can be configured to obtain the record of reviewer interactions; display the rejection of the modification; and provide a design interface for revising the modification or revising a justification of the modification.
G06F 30/20 - Design optimisation, verification or simulation
G06F 30/12 - Geometric CAD characterised by design entry means specially adapted for CAD, e.g. graphical user interfaces [GUI] specially adapted for CAD
G06F 30/27 - Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
3.
Systems and methods for performing worst-case execution time analysis of simulation models
Systems and methods determine tight Worst Case Execution Time (WCET) for a simulation model or code generated for a model. Composite code blocks may be constructed from basic code blocks of an in-memory representation of the model. Information on the model and its elements may be obtained and utilized to construct the composite code blocks. The composite code blocks may be instrumented and execution times may be measured for the composite code blocks. The execution times for the composite code blocks along paths through the model may be summed and the highest total execution time may be presented as the WCET for the model and/or the code generated for the model.
A data storage system can implement a key-value engine configured for tunable read, write, and space amplification. The key-value engine can support multi-versioning, synchronous and asynchronous key updates, and read snapshots. The key-value engine is highly scalable and can support generalized parallel, in-memory computation. Experimental results demonstrate that a key-value engine consistent with disclosed embodiments can outperform a state-of-the-art production LSM-based key-value store in a wide range of metrics.
Systems and methods are provided for performing at least one operation using data in a preferred data layout, while preserving the ability to access the data in an original data layout. The preferred data layout may be independent of the original data layout. The preferred data layout may be selected based on at least one of a characteristic of the data, a characteristic of the computing environment or computing device(s) implementing the computing environment, a characteristic of the at least one operation, or historical performance data. The data may be rearranged or permuted into the preferred layout. A mapping may be determined between the preferred layout and the original layout. During performance of the at least one operation using the data in the preferred layout, another operation may use the mapping to access the data in the original layout.
A method and system automatically generates a display of symbolic equations from a graphical model (or vice versa) which is readable, parametric, and interactive.
Systems and methods may generate or modify a pattern, to search text, utilizing a hierarchical structure. The system and method may receive instructions for generating or modifying the pattern. The system and methods may identify or generate a hierarchical structure containing one or more levels each of which includes one or more objects that store values. The system and method may define a pattern by assigning values to the hierarchical structure when the instructions are for generating the pattern; or may modify one or more values in the hierarchical structure when the instructions are for modifying the pattern. The system and method may receive pattern matching instructions. The system and method may identify, based on the pattern matching instructions and utilizing the hierarchical structure, one or more portions of the program that includes the generated or modified pattern and implement one or more pattern matching functions to provide results.
Systems and methods may highlight paths through graphical models having executable semantics. Paths through a model leading from a starting location and terminating at final source and/or destination model elements may be identified. The paths may be highlighted. A model may include hierarchical levels, and the highlighting may be extended into lower or higher hierarchical levels relative to a current level. A model may execute over a plurality of simulation time steps, and the highlighting may indicate model elements executing in a given simulation time step.
Systems and methods for providing metric data for patterns in a modeling environment are disclosed. In some aspects, contexts for generating metric data for a pattern are constructed. The pattern represents one or more computations executable in the modeling environment and associated with operation or behavior of a real-world system. The contexts include information about the pattern. The metric data is associated with one or more objectives with which the use of the pattern is associated. Code for the pattern for each context is generated. Metric data is generated for the pattern and under each context. The metric data of the pattern under each context is associated with the objectives. The metric data and the association are stored for use in providing information about or based on the metric data when the pattern is to be or is used in a model representing the real-world system.
Systems and methods establish, activate, and deactivate variant choices within an acausal physical component model of a physical system. The systems and methods utilize variant connector blocks to establish cut points in a physical network defined by the physical model. The cut points may be programmatically controlled to activate and/or deactivate a variant choice. The variant connector blocks may include internal connections that may be programmatically controlled to be either open or closed in order to cut or include a variant choice in the acausal physical component model. Variant conditions or labels may be associated with the internal connections, and the systems and methods may evaluate the variant conditions and/or examine the labels to determine whether the internal connections are open or closed.
Systems and methods may generate code, for a model, with one or more service access points generated and at locations in the code based on an analysis of model constraints and deployment specifications (e.g., RTE specifications or OS specifications). The systems and methods may analyze the model and identify a functionality that needs an RTE service. The system and methods may receive deployment specifications. The systems and methods may generate code for the model, where an analysis of model constraints and the deployment specifications determine which service access points are generated and where in the code the service access points are located. In an embodiment, the code may be executed by different RTEs. In an embodiment, the systems and methods may determine, based on the analysis of the model constraints and the deployment specification, one or more admissible implementations for an RTE service that may be implemented in different ways.
A method and system automatically generates a display of symbolic equations from a graphical model (or vice versa) which is readable, parametric, and interactive.
Exemplary embodiments may programmatically determine the number and locations of breakpoints and table values in a lookup table so as to reduce their counts. In some exemplary embodiments, the minimum number of breakpoints and breakpoint locations that conform with the error tolerance may be determined along with table values for those breakpoints. The exemplary embodiments may determine if a lookup table that conforms with the error tolerance is feasible and may inform a user of the feasibility or infeasibility of generating the lookup table. Where it is feasible to generate the lookup table, the exemplary embodiments may provide automatic programmatic generation of a lookup table with minimal breakpoints and optimal or near-optimal table values.
Systems and methods automatically rescale an original electric motor model so that it models an electric motor of a different size. The original electric motor model may be coupled to a motor controller model, and the systems and methods may also rescale the original motor controller model to produce a rescaled motor controller model matched to the rescaled electric motor model. The original electric motor model may include motor parameters and motor lookup tables, and the original motor controller model may include controller parameters and controller lookup tables. Rescaling factors indicating the size of the new electric motor being modeled may be received, and ratios may be computed as a function of the rescaling factors. Original motor parameters and controller parameters may be rescaled based on the ratios. Original motor lookup tables and controller lookup tables may be reshaped based on the ratios.
Systems and methods may generate or modify a pattern, to search text, utilizing a hierarchical structure. The system and method may receive instructions for generating or modifying the pattern. The system and methods may identify or generate a hierarchical structure containing one or more levels each of which includes one or more objects that store values. The system and method may define a pattern by assigning values to the hierarchical structure when the instructions are for generating the pattern; or may modify one or more values in the hierarchical structure when the instructions are for modifying the pattern. The system and method may receive pattern matching instructions. The system and method may identify, based on the pattern matching instructions and utilizing the hierarchical structure, one or more portions of the program that includes the generated or modified pattern and implement one or more pattern matching functions to provide results.
Systems and methods analyze an executable simulation model to identify existing concurrency, determine opportunities for increasing concurrency, and develop proposed modifications for realizing the opportunities for increased concurrency. The systems and methods may label locations at the simulation model where concurrency exists, and provide information regarding the proposed modifications to increase the model's concurrency. The systems and methods may modify the simulation model if the additional concurrency is accepted. The systems and methods may operate within a higher-level programming language, and may develop the proposed modifications without lowering or translating the simulation model to a lower abstraction level. The systems and methods may also undo a modification, rolling the simulation model back to a prior design state. Accepting the proposed modifications may cause the simulation models to execute more efficiently, e.g., faster.
Systems and methods for providing metric data for patterns in a modeling environment are disclosed. In some aspects, contexts for generating metric data for a pattern are constructed. The pattern represents one or more computations executable in the modeling environment and associated with operation or behavior of a real-world system. The contexts include information about the pattern. The metric data is associated with one or more objectives with which the use of the pattern is associated. Code for the pattern for each context is generated. Metric data is generated for the pattern and under each context. The metric data of the pattern under each context is associated with the objectives. The metric data and the association are stored for use in providing information about or based on the metric data when the pattern is to be or is used in a model representing the real-world system.
Systems, media, and methods may identify loops of a unit of computation for performing operations associated with the loops. The system, media, and methods may receive textual program code that includes a unit of computation that comprises a loop (e.g., explicit/implicit loop). The unit of computation may be identified by an identifier (e.g., variable name within the textual program code, text string embedded in the unit of computation, and/or syntactical pattern that is unique within the unit of computation). A code portion and/or a section thereof may include an identifier referring to the unit of computation, where the code portion and the unit of computation may be at independent locations of each other. The systems, media, and methods may semantically identify a loop that corresponds to the identifier and perform operations on the textual program code using the code portion and/or section.
Systems and methods for displaying hierarchical table headers as disclosed. The systems and methods can include operations performed by a viewer engine. The operations can include detecting a user interaction with a display of a portion of data. The operations can further include determining a second portion of the data to display. The operations can additionally include obtaining data information for the second portion of the data. The data information can include information about headers for the second portion of the data and information about child-parent relationships between the headers. The operations can include determining one or more hierarchical headers for the second portion of the data. The operations can further include rendering a table including the second portion of the data. The operations can additionally include displaying a display depicted the one or more hierarchical headers and a subset of the table including the second portion of the data.
Systems and methods stream an application on a computer system. A compressed archive of an installation directory of the application may be created and stored as a storage object. Two mount points may be established at the computer system. One mount point may provide a window to the storage object holding the compressed archive. The other mount point may present an interface to the installation directory. In response to requests by the application to access files from its installation directory, the systems and methods may retrieve the portion of the compressed archive containing that file from the storage object. The systems and methods may extract, e.g., decompress, the requested file from the retrieved page and serve it at the second mount point. The computer system may then provide the requested file to the application.
Exemplary embodiments simulate the eigenmodes of a flexible rotor in a model of a rotor and thus reduce the number of variables and computation expense required during simulation of the transverse motion response of the rotor. The exemplary embodiments may use data structures, such as lookup tables, to store precomputed information that may be used for the determining eigenmode properties as the values of one or more parameters affecting the eigenmode properties (e.g., speed, shaft temperature, bearing viscosity, normal force acting along the rotor shaft axis, turbine power level, turbine fluid flow rate, etc.) change during a simulation. The use of the data structures helps to reduce the computational expense during the simulation. The computational expense is reduced because the eigenmode properties need not be calculated dynamically during each simulation run and because there are far fewer variables to represent the transverse motion along the flexible rotor and to indicate vibration and loads during simulation.
G05B 13/04 - Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
G06F 16/90 - Details of database functions independent of the retrieved data types
G06F 30/20 - Design optimisation, verification or simulation
G06F 30/17 - Mechanical parametric or variational design
Systems and methods provide, as part of an executable graphical model, a region for providing variants that includes one or more computational choices defining alternative execution implementations of the region. Conditions assigned to the one or more computational choices indicate which of the computational choices is active. The conditions specify logical expressions of variables that evaluate to True or False. For a given simulation of the executable graphical model, all of the logical expressions may evaluate to False, such that none of the computational choices are active. All of the computational choices of the executable graphical model may be removed for the given simulation.
A device may generate an objective function for determining weights for potential features corresponding to training data. The objective function may be generated using a robust loss function such that the objective function is at least continuously twice differentiable. The objective function may comprise a neighborhood component analysis objective function that includes the robust loss function. The device may determine the weights for the potential features using the objective function. The determining may comprise optimizing a value of the objective function for each potential feature. The weights may represent predictive powers of corresponding potential features. The device may provide the weights for the potential features.
Systems and methods assist programmers in creating object oriented programs by automatically building smart callback functionality into custom created classes. A user may designate an event defined in a custom class. During object initialization, the systems and methods may automatically generate a callback property and may inject it in the class being initialized. The callback property may represent an interface through which callback functions may access the designated event. The systems and methods may apply one or more rules when generating the callback properties to facilitate access to the designated event enforcing naming standards and property behaviors, and provide interrupt, queuing, memory management, object destruction, and other services.
Systems and methods are disclosed for selecting parameters for use by a system. The parameters can describe a behavior of the system, which can be represented by a model having an input and an output. The model can include an operation representable by a matrix. The parameters can include the input and output ranges of the operation, the dimensions of the matrix, a noise value for the system, an overflow probability, a regularization parameter, and a desired number of accurate digits. A design environment can be configured to determine values or ranges of values for one or more of the parameters based on values or ranges of values of the remaining parameters. In some embodiments, the design environment can select, recommend, or validate a choice of datatype, minimum system noise, or the dimensions of the matrix. The model can be used to generate code, which can be used to configure the system to perform the operation.
Systems and methods provide, as part of an executable graphical model, a region for providing variants that includes one or more computational choices defining alternative execution implementations of the region. Conditions assigned to the one or more computational choices indicate which of the computational choices is active. The conditions specify logical expressions of variables that evaluate to True or False. For a given simulation of the executable graphical model, all of the logical expressions may evaluate to False, such that none of the computational choices are active. All of the computational choices of the executable graphical model may be removed for the given simulation.
G06F 8/35 - Creation or generation of source code model driven
G06F 30/20 - Design optimisation, verification or simulation
27.
Feasibility analysis for automatic programmatic generation of a lookup table and automatic programmatic generation of the lookup table that conforms with an error tolerance
Exemplary embodiments may perform feasibility analysis to determine whether it is possible to generate a lookup table that conforms to an error tolerance given a specification of a function or a set of data points that the lookup table attempts to approximate, an indication of breakpoint positions, and a specification of a data type for table values. Where it is determined that it is feasible to generate the lookup table, the lookup table may be automatically programmatically generated. Suggestions of how to modify the breakpoint positions and/or error tolerance may be provided. In addition, a visualization of approximation error and error tolerance, such as a visualization showing a feasibility margin, may be output. New data points may be processed to update table values for an already generated lookup table.
G06F 11/36 - Prevention of errors by analysis, debugging or testing of software
G06F 3/0484 - Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
28.
Systems and methods for generating code for computer-based physical models
A solver may generate a system of equations for an acausal model. A partitioning engine may transform at least some of the equations into groups of equations whose inputs/outputs are connected directly. The partitioning engine may transform at least some of the equations into groups of linear equations and/or groups of switched linear equations that are connected through nonlinear functions. The solver may determine input-output relationships of the groups of equations. A simulation model generator that may include a library of types of model elements may construct a causal simulation model.
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 decouple model components from a model execution style for which the model components are created, and the model components may be utilized in parent models having different execution styles. A model component may be partitioned into executable entities, and the entry points of the executable entities and their call styles may be identified. An adaptation layer that includes access points for the entry points may be constructed. The model component, including the adaptation layer, may be included in the model, and connection elements of the parent model may be connected to the access points of the adaptation layer. The execution call styles associated with the connection elements of the parent model may be bound to the execution call styles of the entry points as originally designed. The adaptation layer may manage translation of call styles and may coordinate scheduling of data communication with the model component.
G06F 30/18 - Network design, e.g. design based on topological or interconnect aspects of utility systems, piping, heating ventilation air conditioning [HVAC] or cabling
A model including a first co-simulation component and a second co-simulation component is analyzed. During execution of the model, the first co-simulation component outputs data to the second co-simulation component via a connection. The connection is declared as a continuous-time rate connection for input of the data into the second co-simulation component. Based on analyzing the model, the connection is identified as a discrete-continuous sample time connection based on data being communicated from the first co-simulation component to the second co-simulation component via the connection at a discrete-time rate when the model is executed in a co-simulation manner.
Systems and methods as disclosed for selecting parameters for use by a system. The parameters can describe a behavior of the system, which can be represented by a model having an input and an output. The model can include an operation representable by a matrix. The parameters can include the input and output ranges of the operation, the dimensions of the matrix, a noise value for the system, and an overflow probability. A design environment can be configured to determine values or ranges of values for one or more of the parameters based on values or ranges of values of the remaining parameters. In some embodiments, the design environment can select, recommend, or validate a choice of datatype, minimum system noise, or the dimensions of the matrix. The model can be used to generate code, which can be used to configure the system to perform the operation.
Systems and methods for function argument checking are disclosed. The systems and methods can use declarations and validation instructions based on the declarations. Validation instructions for a function can be generated automatically from a declaration for the function. The validation instructions can be executed in response to invocation of the function. The validation instructions can include instructions for determining whether an input satisfies a condition on a corresponding argument of the function, instructions for identifying a position of the input, and instructions for providing, in response to determining that the input does not satisfy the condition, an indication of the nonsatisfaction of the condition and the position. The condition can specify a datatype or size for the argument or one or more validation functions for checking the argument.
Systems and methods may generate code, for a model, with one or more service access points generated and at locations in the code based on an analysis of model constraints and deployment specifications (e.g., RTE specifications or OS specifications). The systems and methods may analyze the model and identify a functionality that needs an RTE service. The system and methods may receive deployment specifications. The systems and methods may generate code for the model, where an analysis of model constraints and the deployment specifications determine which service access points are generated and where in the code the service access points are located. In an embodiment, the code may be executed by different RTEs. In an embodiment, the systems and methods may determine, based on the analysis of the model constraints and the deployment specification, one or more admissible implementations for an RTE service that may be implemented in different ways.
The exemplary embodiments provide a parallel implementation of filters with recursive transfer functions. This can enable a filter to act as a frame filter that may process a frame of multiple samples of data in parallel rather than being limited to processing a single sample of data at a time. Each frame contains plural input samples of data values. The input samples are from a common source and have a time dependency. The exemplary embodiments are suitable for implementing various types of filters in parallel, such as cascaded integrator comb filters, biquad filters and other types of infinite impulse response (IIR) filters. The exemplary embodiments may use polyphase decomposition to decompose a filter with a recursive transfer function into multiple polyphase component filters. The polyphase component filters may be applied to respective samples of data in a parallel pipelined configuration to produce filtered output for the samples of data in parallel.
H04B 1/00 - Details of transmission systems, not covered by a single one of groups Details of transmission systems not characterised by the medium used for transmission
36.
Determining functional equivalence of configurations of a model
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.
Systems and methods automatically construct a realization of a model from an available set of alternative co-simulation components, where the realization meets one or more objectives, such as fidelity, execution speed, or memory usage, among others. The systems and methods may construct the realization model by setting up and solving a constrained optimization problem, which may select particular ones of the alternative co-simulation components to meet the objectives. The systems and methods may configure the realization, and execute the realized model through co-simulation. The systems and methods may employ and manage different execution engines and/or different solvers to run the realization of the model.
Systems and methods provide, as part of an executable graphical model, a region for providing variants that includes one or more computational choices defining alternative execution implementations of the region. Conditions assigned to the one or more computational choices indicate which of the computational choices is active. The conditions specify logical expressions of variables that evaluate to True or False. For a given simulation of the executable graphical model, all of the logical expressions may evaluate to False, such that none of the computational choices are active. All of the computational choices of the executable graphical model may be removed for the given simulation.
G06F 30/20 - Design optimisation, verification or simulation
G06F 8/35 - Creation or generation of source code model driven
39.
Correlating contextual information of invoking code in a programming language with contextual information of at least one invoked code in a different programming language
The exemplary embodiments may provide an approach to finding and identifying the correlation between the invoking code and the invoked code by correlating the timestamps of contextual information of code in the invoking code and invoked code. As a result, developers have information during investigating the programs and can use the information to identify a region of interest to narrow down a performance problem in the invoking code efficiently. As a result, development productivity can be improved.
Systems and methods for syntactical change-resistant code generation are described. A code generator can generate syntactical change-resistant code from original code and new code, where the new code may be intended as a replacement or update for the original code. The code generator can determine, for code portions and/or sub-portions of the new code, whether or not semantic, syntactic, and structural differences from the original code exist. The code generator can generate the syntactical change-resistant code to leverage and include in the syntactical change-resistant code portions and sub-portions of the original code that have been used and tested, so as to improve reliability of the syntactical change-resistant code.
G06F 8/75 - Structural analysis for program understanding
G06F 8/76 - Adapting program code to run in a different environmentPorting
41.
Systems and methods for generating a boundary of a footprint of uncertainty for an interval type-2 membership function based on a transformation of another boundary
Systems and methods may generate a boundary of a FOU for an interval type-2 MF based on a transformation of another boundary of the FOU. The systems and methods may receive a plurality of parameters for a type-1 MF that defines a boundary of the FOU for the interval type-2 MF and may receive at least one other parameter. The systems and methods may generate, based on a transformation of the type-1 MF utilizing the at least one parameter, a type-1 MF that defines a different boundary of the FOU. The system and methods may adjust the plurality of parameters and the at least one second parameter to adjust the FOU for use in a model representing, for example, a real-world physical system, where execution of the model executes a fuzzy inference system and generates results representing a behavior of the real-world physical system.
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.
Systems and methods quantize an application having a trained Deep Neural Network (DNN) for deployment on target hardware. The application may be instrumented to observe data values generated during execution of the application. Statistics may be generated for the observed data values and presented in a visualization tool. The application may be quantized through a rules based approach. The quantization may be based on the statistics and on constraints imposed by resources available at the target hardware. The systems and methods may present the proposed data types resulting from the quantization and may create a quantized version of the application incorporating the proposed data types. The systems and methods may generate performance data to validate the quantized version of the application. Changes to the rules may be made and the quantization process repeated if the performance is not satisfactory.
09 - Scientific and electric apparatus and instruments
41 - Education, entertainment, sporting and cultural services
Goods & Services
(1) Computer software; computer software programs, including, technical computing software, computer software programs for displaying, graphing, solving and studying mathematical equations and for analyzing systems, computer software for mathematical computation, analysis, visualization, algorithm development, and prototyping and modeling systems; computer software for model-based and simulation-based design; computational software programs for technical computing; computer hardware for technical computing and model-based design; model-based design software; technical computing software; engineering software, in the form of computational software for modeling, simulating, and analyzing electrical power systems; computer software that solves differential equations; computer software development tools; computer software tools for applications, component and web-based deployment; computer software for use in the fields of scientific and engineering data acquisition and access and for controlling scientific and engineering instruments and instrument systems; computer software for use in relation to control systems, including simulation, rapid prototyping, code generation, and verification and validation for embedded systems, for signal processing systems and communication systems, including simulation, code generation, and verification, for video and image processing, including image acquisition, analysis, visualization, algorithm development, simulation, code generation, and verification, for test and measurement applications, for biological systems modeling, analysis and simulation, and for econometric and financial modeling, analysis, and application deployment; computer software programs that enable users to coordinate and execute independent operations simultaneously on a cluster of computers; instructional manuals sold with all of the above; computer software that assists computers in deploying parallel applications and performing parallel computations; computer software for biological systems simulation; computer software that facilitates network-mediated knowledge sharing among users and collaborative coding and problem solving; electronic publications; computer software for fitting curves and surfaces to data; computer software for optimization by finding parameters that minimize or maximize mathematically-defined objectives while satisfying constraints; computer software for symbolic computation and computer algebra; computer software for generating maps and performing geospatial data analysis; computer software for solving partial differential equations; computer software for statistics and machine learning; computer software for deep learning and neural networks; computer software for reinforcement learning; computer software for text analytics; computer software for verifying hardware description language (HDL) code against a mathematical algorithm; computer software for discrete-event simulation; computer software for state-machine and statechart modeling and simulation; computer software for technical computing on mobile phones and tablets; computer software for technical computing through a web browser; computer software for model-based design through a web browser; computer software for use in relation to model-based design for real-time systems, including simulation, rapid prototyping, code generation, and verification and validation; computer software for linking design model elements to textual system requirements; computer software for checking a model against a set of model guidelines; computer software for checking that a set of tests or simulations have exercised all branches and logical flows in a model; computer software for automatically generating a report or document for models or technical computing algorithms; computer software for sending/receiving data from automotive vehicle networks; computer software for aggregating, visualizing, and analyzing data streaming from internet-connecting devices; computer software for bioinformatics data analysis; computer software for reading data from and writing data to relational databases and graph databases; downloadable computer application software; downloadable mobile applications (1) Educational services; entertainment services; training services; publication of books, periodicals, printed matter and publications in an electronic form; arranging, conducting and organizing seminars, conferences and exhibitions all relating to computer software, technical computing and model-based design software; arranging and conducting online computer programming contests; arranging and conducting online seminars and workshops; providing educational information, including curriculum and course materials relating to technical computing and model-based design; educational services in the form of on-line journals or web blogs; Providing online newsletters and journals; providing educational information and test questions relating to computer software, technical computing and model-based design software; Analyzing and responding to educational responses and data for others; educational services, namely, analyzing responses to educational assessments; Educational services, namely, providing grading and assessments of educational exercises, automated educational assessments, secure educational assessments, feedback on responses to educational assessments, and automated feedback and grading of educational assessments in the fields of engineering, technical computing and model-based computer design; Analyzing responses to customized educational assessments
42 - Scientific, technological and industrial services, research and design
Goods & Services
Computer consulting and support services; customer support services in connection with computer hardware and software; computer software maintenance services; computer programming; computer systems analysis; research, design, and development of computer hardware and computer software; providing online information relating to technical computing and model-based design; including providing an index of websites of interest to technical and model-based computer program users and developers, providing an online newsgroup relating to technical computing and model-based design, and providing online newsletters regarding technical computing and model-based design; providing online listings and summaries of third-party products and services relating to technical computing and model-based design; providing online listings and summaries of third-party books relating to technical computing and model-based design; computer support services the form of the online journals or weblogs; consultancy, advisory and information services all relating to the aforesaid; providing website that gives users ability to upload, exchange and share computer program files in the field of technical computing; Technical support services; Providing temporary use of non-downloadable computer software; Providing a website containing resources, namely, non-downloadable software; Cloud storage services for electronic data; Cloud storage services for electronic files.
46.
Graphical representation of ordered model items based on solver information
A device may receive data associated with executing a model. The data may be associated with a solver used during execution of the model. The device may determine a presentation order of a plurality of model items based on the data associated with executing the model. The solver may be used to determine values associated with the plurality of model items. The presentation order of the plurality of model items may be determined based on a plurality of factors. The plurality of factors may be associated with the values. The device may generate a graphical interface that indicates the presentation order of the plurality of model items. The device may provide the graphical interface. The graphical interface may provide, for display, a list of the plurality of model items. The list may be provided in association with the presentation order.
G06F 3/0482 - Interaction with lists of selectable items, e.g. menus
G06F 30/18 - Network design, e.g. design based on topological or interconnect aspects of utility systems, piping, heating ventilation air conditioning [HVAC] or cabling
A system and method intelligently and automatically improves the performance of a model. The system employs heuristics to select a plurality of performance rules that conform to one or more criteria specified for the performance analysis process. The performance rules include checks to be run on the model and offer advice, such as proposed changes that, if made to the model, may improve its performance. The system may evaluate the proposed changes to determine whether or not they produce an improvement in the model's performance. Proposed changes validated as improving model performance are retained, while proposed changes found not to improve performance are removed.
A scheduler is provided for tall algorithms that include control flow statements that are dependent on tall computations. Thunks may be defined for the tall algorithms and the boundaries or limits of the thunks may be determined by places where tall variables are required to be gathered. The scheduler executes the tall algorithms by calling individually the thunks from the tall algorithms and pausing when a gather operation is required. The scheduler collectively gathers the tall variables from different tall algorithms by using an optimizer to combine I/O operations for the tall algorithms. The scheduler may put back the gathered variables into the context of each tall algorithm, and the scheduler may resume with the next thunk for each tall algorithm. This process may be repeated until all tall algorithms are finished.
Systems and methods generate synthetic sensor data, such as synthetic radar, lidar, and/or sonar data from three dimensional (3D) scene data that may be custom designed. Reflectivity coefficients in the radar, lidar, and/or sonar spectrums may be determined for objects included in the 3D scene data. The reflectivity coefficients may be utilized by a game engine for computing the synthetic sensor data. The synthetic sensor data may be used in the creation, evaluation, and/or verification of a design for a controller or other system that utilizes such data.
Extended types are defined for functions that are called by function handles in a programming environment. The extended types can be accessed and used by a computing system to improve compile-time and run-time performance of the computing system.
In accordance with some embodiments, a method may include displaying, by one or more processors, a user interface (UI) element associated with UI program code, the UI element embedded in first program code. The method may include receiving, by the one or more processors, a first value setting of a UI control of the UI element, and executing, by the one or more processors, the UI program code. The executing may be triggered by the receiving of the first value setting, the executing producing a first result comprising a computational result that is graphically displayed by the UI element. The method may further include generating, by the one or more processors and following the executing, second program code comprising a code portion that, when executed, produces the computational result.
Systems and methods for just-in-time compilation are disclosed. The systems and methods can be used to generate composite blocks, reducing program execution time. The systems and methods can include generating single-trace blocks during program execution. Upon satisfaction of a trigger criterion, single-trace blocks can be selected for compilation into a composite block. The trigger criterion can be a number of executions of a trigger block. Selecting the single-trace blocks can include identifying blocks reachable from the trigger block, selecting a subset of the reachable blocks, and selecting an entry point for the composite block. The composite block can be generated from the single-trace blocks and incorporated into the program control flow, such that the composite block is executed in place of the selected single-trace blocks.
Methods and systems for using common property datatypes are described. In some embodiments, a system may receive an assignment statement a data structure comprising a first object of a first datatype, the first datatype one of multiple datatypes supporting a common property, the multiple datatypes representing the common property using differing native values, and a common property object of a common property datatype, the common property object representing the common property supported by the multiple datatype. The system can execute or interpret the subscripted assignment statement, converting the common property object into a second object of the first datatype, the second object having a first native value representing the common property for the first datatype. The system can assign the second object to a location of the first object in the data structure. The common property can be at least one of a maximum, minimum, missing, and default.
G06F 16/25 - Integrating or interfacing systems involving database management systems
G06F 16/28 - Databases characterised by their database models, e.g. relational or object models
G06F 3/0484 - Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
G06F 9/451 - Execution arrangements for user interfaces
In an embodiment, degree of comprehensibility of a graphical representation of a model is identified. The model is provided in a graphical modeling environment. The degree of comprehensibility of the graphical representation of model is identified based at least in part on one or more visual characteristics of one or more elements in the model. The one or more elements in the model include at least one of entities in the model, or relationships in the model. The degree of comprehensibility assigned to the model is communicated, for example, to a user.
A device may connect to a physical device. A device may obtain a device description document relating to the physical device based on connecting to the physical device. The device may parse the device description document to identify one or more components of the physical device. The device may select, from a repository of generic textual model components, one or more generic textual model components corresponding to the physical device based on parsing the device description. The device may generate, based on selecting the one or more generic textual model components, a device driver model element that includes the one or more generic textual model components. The device driver model element may be used to control the physical device or receive information from the physical device. The device may provide, via a user interface, information identifying the device driver model element.
A performance testing and analysis environment performs tests on programming code and identifies any performance regressions. Tests exhibiting performance regressions are rerun, and the initial regressions are confirmed as genuine regressions or not. Analysis of the code under test and the performance under the tests are analyzed. The root causes of the performance regressions are identified. The process is fully automated and is performed quickly.
09 - Scientific and electric apparatus and instruments
16 - Paper, cardboard and goods made from these materials
35 - Advertising and business services
41 - Education, entertainment, sporting and cultural services
42 - Scientific, technological and industrial services, research and design
Goods & Services
Providing a website featuring an online exchanging of computer program files with other users; providing online chatrooms; Electronic transmission of information posted to usenet newsgroups and discussion groups via a global computer network; providing an electronic bulletin board for computer users posting questions and computer users posting answers to those questions downloadable computer software programs, namely, downloadable software for the application of mathematical and computational principles of computing to solve problems in engineering, science and computational finance; downloadable computer software programs for displaying, graphing, solving and studying mathematical equations and for analyzing systems, downloadable computer software for mathematical computation, analysis, visualization, algorithm development, and prototyping and modeling systems; downloadable computer software for model-based and simulation-based design; downloadable computational software programs for the application of mathematical and computational principles of computing to solve problems in engineering, science and computational finance; downloadable engineering software, in the form of computational software for modeling, simulating, and analyzing electrical power systems; downloadable computer software that solves differential equations; downloadable computer software development tools; downloadable computer software tools for applications, component and web-based deployment; downloadable computer software for use in the fields of scientific and engineering data acquisition and access and for controlling scientific and engineering instruments and instrument systems; downloadable computer software for use in relation to control systems, namely, simulation, rapid prototyping, code generation, and verification and validation for embedded systems, for signal processing systems and communication systems, including simulation, code generation, and verification, for video and image processing, including image acquisition, analysis, visualization, algorithm development, simulation, code generation, and verification, for test and measurement applications, for biological systems modeling, analysis and simulation, and for econometric and financial modeling, analysis, and application deployment; downloadable computer software programs that enable users to coordinate and execute independent operations simultaneously on a cluster of computers; downloadable instructional manuals sold with all of the above; downloadable computer software that assists computers in deploying parallel applications and performing parallel computations; downloadable computer software for biological systems simulation; downloadable computer software that facilitates network-mediated knowledge sharing among users and collaborative coding and problem solving; downloadable electronic publications, namely, articles, books, brochures, magazines, manuals, journals, newsletters, blogs, e-books, white papers, and reports in the fields of software, engineering, technical computing, model-based design, automotive engineering and automotive systems technology, aerospace engineering and aerospace systems technology, and mathematical computation; downloadable computer software for fitting curves and surfaces to data; downloadable computer software for optimization by finding parameters that minimize or maximize mathematically-defined objectives while satisfying constraints; downloadable computer software for symbolic computation and computer algebra; downloadable computer software for generating maps and performing geospatial data analysis; downloadable computer software for solving partial differential equations; downloadable computer software for statistics and machine learning; downloadable computer software for deep learning and neural networks; downloadable computer software for reinforcement learning; downloadable computer software for text analytics; downloadable computer software for verifying hardware description language (HDL) code against a mathematical algorithm; downloadable computer software for discrete-event simulation; downloadable computer software for state-machine and statechart modeling and simulation; downloadable computer software for the application of mathematical and computational principles of computing to solve problems in engineering, science and computational finance on mobile phones and tablets; downloadable computer software for the application of mathematical and computational principles of computing to solve problems in engineering, science and computational finance through a web browser; downloadable computer software for model-based design through a web browser; downloadable computer software for use in relation to model-based design for real-time systems, including simulation, rapid prototyping, code generation, and verification and validation; downloadable computer software for linking design model elements to textual system requirements; downloadable computer software for checking a model against a set of model guidelines; downloadable computer software for checking that a set of tests or simulations have exercised all branches and logical flows in a model; downloadable computer software for automatically generating a report or document for models or technical computing algorithms; downloadable computer software for sending/receiving data from automotive vehicle networks; downloadable computer software for aggregating, visualizing, and analyzing data streaming from internet-connecting devices; downloadable computer software for bioinformatics data analysis; downloadable computer software for reading data from and writing data to relational databases and graph databases; downloadable computer application software for displaying, graphing, solving and studying mathematical equations, analyzing systems, mathematical computation, analysis, visualization, algorithm development, prototyping, designing and analyzing system and software architecture, and modeling and simulating multidomain physical systems; downloadable mobile applications for displaying, graphing, solving and studying mathematical equations, analyzing systems, mathematical computation, analysis, visualization, algorithm development, prototyping and modeling systems; downloadable computer software programs for displaying, graphing, solving and studying mathematical and linear algebra equations and for analyzing systems in the fields of automotive engineering and automotive systems technology, aerospace engineering and aerospace systems technology Printed publications, namely, brochures, booklets, and instructional and teaching materials in the fields of software, engineering, technical computing, model-based design, and mathematical computation; printed matter, newsletters and printed instructional and teaching materials in the fields of software, engineering, technical computing, model-based design, and mathematical computation; book, periodicals, magazines in the fields of technical computing and model-based computer design; manuals sold together with computer software Providing business information via a website; Providing business information in the fields of software, engineering, technical computing, model-based design, and mathematical computation; providing online business and consumer information relating to technical computing; providing commercial advice and information for consumers concerning the choice of products; providing online business and consumer information relating to software for the application of mathematical and computational principles of computing to solve problems in engineering, science, and computational finance and model-based design Educational services, namely, conducting classes, workshops, seminars, and programs in the fields of software, engineering, technical computing, model-based design, and mathematical computation; entertainment services, namely, organizing and conducting competitions in the fields of software, engineering, technical computing, model-based design, and mathematical computation; training services in the fields of software, engineering, technical computing, model-based design, and mathematical computation; publication of books, periodicals, printed matter and publications in an electronic form; arranging, conducting and organizing seminars, conferences and exhibitions all relating to computer software, technical computing and model-based design software; arranging and conducting online computer programming contests in the fields of software, engineering, technical computing, model-based design, and mathematical computation; arranging and conducting online seminars and workshops in the fields of software, engineering, technical computing, model-based design, and mathematical computation; providing educational information, namely, online publishing of curriculum and course materials relating to technical computing and model-based design; Educational services in the form of providing non-downloadable online journals and web blogs in the field of software, engineering, technical computing, model-based design, and mathematical computation; providing online newsletters and journals in the field of software, engineering, technical computing, model-based design, and mathematical computation; Providing educational information and test questions relating to the academic fields of computer software, technical computing and model-based computer design software; Educational services, namely, providing skills assessments, evaluations, testing, and personalized learning recommendations in the fields of data science, analytics, computer programming, machine learning, and statistics Computer software consulting and technical support services in the fields of software, engineering, technical computing, model-based design, and mathematical computation; Computer technology support services, namely, help desk services; Technical support services, namely, troubleshooting of computer software problems; computer software maintenance services; computer programming; computer systems analysis; research, design, and development of computer hardware and computer software; providing online information relating to technical computing and model-based design; providing an index of websites of interest to technical and model-based design computer program users and developers; providing an online newsgroup relating to technical computing and model-based design; IT consultancy, advisory and information services; providing website that gives users ability to upload, exchange and share computer program files in the field of technical computing; Technical support services, namely, technical advice related to the repair of computer software; Providing temporary use of non-downloadable computer software in the fields of software, engineering, technical computing, model-based design, and mathematical computation; Cloud storage services for electronic data; Cloud storage services for electronic files; providing temporary use of non-downloadable computer software programs, namely, technical computing software, computer software programs for displaying, graphing, solving and studying mathematical equations and for analyzing systems, computer software for mathematical computation, analysis, visualization, algorithm development, and prototyping and modeling systems; providing temporary use of non-downloadable computer software for model-based and simulation-based design; providing temporary use of non-downloadable engineering software, in the form of computational software for modeling, simulating, and analyzing electrical power systems; providing temporary use of non-downloadable computer software that solves differential equations; providing temporary use of non-downloadable computer software for use in relation to control systems, namely, simulation, rapid prototyping, code generation, and verification and validation for embedded systems, for signal processing systems and communication systems, including simulation, code generation, and verification, for video and image processing, including image acquisition, analysis, visualization, algorithm development, simulation, code generation, and verification, for test and measurement applications, for biological systems modeling, analysis and simulation, and for econometric and financial modeling, analysis, and application deployment; providing temporary use of non-downloadable computer software that assists computers in deploying parallel applications and performing parallel computations; providing temporary use of non-downloadable computer software for biological systems simulation; providing temporary use of non-downloadable computer software that facilitates network-mediated knowledge sharing among users and collaborative coding and problem solving; providing temporary use of non-downloadable computer software for fitting curves and surfaces to data; providing temporary use of non-downloadable computer software for optimization by finding parameters that minimize or maximize mathematically-defined objectives while satisfying constraints; providing temporary use of non-downloadable computer software for symbolic computation and computer algebra; providing temporary use of non-downloadable computer software for generating maps and performing geospatial data analysis; providing temporary use of non-downloadable computer software for solving partial differential equations; providing temporary use of non-downloadable computer software for statistics and machine learning; providing temporary use of non-downloadable computer software for deep learning and neural networks; providing temporary use of non-downloadable computer software for reinforcement learning; providing temporary use of non-downloadable computer software for text analytics; providing temporary use of non-downloadable computer software for verifying hardware description language (HDL) code against a mathematical algorithm; providing temporary use of non-downloadable computer software for discrete-event simulation; providing temporary use of non-downloadable computer software for state-machine and statechart modeling and simulation; providing temporary use of non-downloadable computer software for the application of mathematical and computational principles of computing to solve problems in engineering, science, and computational finance through a web browser; providing temporary use of non-downloadable computer software for model-based design through a web browser; providing temporary use of non-downloadable computer software for use in relation to model-based design for real-time systems, including simulation, rapid prototyping, code generation, and verification and validation; providing temporary use of non-downloadable computer software for linking design model elements to textual system requirements; providing temporary use of non-downloadable computer software for checking that a set of tests or simulations have exercised all branches and logical flows in a model; providing temporary use of non-downloadable computer software for automatically generating a report or document for models or technical computing algorithms; providing temporary use of non-downloadable computer software for sending and receiving data from automotive vehicle networks; providing temporary use of non-downloadable computer software for aggregating, visualizing, and analyzing data streaming from internet-connecting devices; providing temporary use of non-downloadable computer software for bioinformatics data analysis; providing temporary use of non-downloadable computer software for reading data from and writing data to relational databases and graph databases; providing temporary use of non-downloadable computer software for modeling and simulating multidomain physical systems; providing temporary use of non-downloadable computer software for designing and analyzing system and software architecture; providing temporary use of non-downloadable computer software programs, namely, computer software programs for displaying, graphing, solving and studying mathematical and linear algebra equations and for analyzing systems, computer software for mathematical computation, analysis, visualization, algorithm development, and prototyping and modeling systems in the fields of automotive engineering and automotive systems technology, aerospace engineering and aerospace systems technology
Systems and methods provide, as part of an executable graphical model, a region for providing variants that includes one or more computational choices defining alternative execution implementations of the region. Conditions assigned to the one or more computational choices indicate which of the computational choices is active. The conditions specify logical expressions of variables that evaluate to True or False. For a given simulation of the executable graphical model, all of the logical expressions may evaluate to False, such that none of the computational choices are active. All of the computational choices of the executable graphical model may be removed for the given simulation.
Systems and methods for coverage analysis using context information are described. The systems and methods can be used to obtain program code and test information for testing the program code, the test information associated with context information for providing context for testing the program code. Coverage information can be generated by testing the program code according to the test information. A first association can be generated between the context information and the test information. A second association can be generated between the context information and the program code. A third association can be generated between the coverage information and the test information. A subset of the coverage information can be determined based on the third association and a fourth association between the test information and the program code determined based on the first and second associations. An indication of the subset of the coverage information can be displayed.
Processing external code includes: parsing the external code to identify a first semantic entity, mapping the first semantic entity to a second semantic entity, the first semantic entity comprising a first set of one or more specified attributes and the second semantic entity comprising a second set of one or more attributes that are capable of being specified, determining that a first attribute of the second set of one or more attributes does not have a corresponding specified attribute within the first set of one or more specified attributes, determining available information for specifying the first attribute of the second set of one or more attributes, and storing the second semantic entity in association with the first attribute of the second set of one or more attributes specified based on user selection or specifying the first attribute in response to available information provided to a user interface system.
A device generates a block for a model associated with a system, and the system is associated with middleware. The block subscribes to information generated by the middleware based on communication between the middleware and the system. The device receives subscriber configuration information for configuring the block, and creates, based on the subscriber configuration information, a signal that converts the information generated by the middleware into a format compatible with the model.
In a graphical modeling environment supporting a model having at least two different analysis frameworks operating therein, a system and corresponding method of processing the graphical model modify the model to group model portions together for processing in the same analysis framework. Model parts are identified and associated with the analysis framework in which they operate. Model parts are then grouped based on their association with their analysis framework to form model portions that operate in one of the different analysis frameworks, In instances where topological separation of model portions operating in the same analysis framework occurs, the system and method reconfigure intervening model portions to be amenable with operation in the analysis framework of the surrounding model portions to improve processing efficiency.
A device may determine temporal ages of a first signal and a second signal provided in a graphical model generated in a technical computing environment, where the first signal is different than the second signal. The device may determine whether the temporal age of the first signal is equivalent to the temporal age of the second signal at a particular block of the graphical model. The device may either display an indication that the first signal is synchronized with the second signal when the temporal age of the first signal is equivalent to the temporal age of the second signal, or may display another indication that the first signal is not synchronized with the second signal when the temporal age of the first signal is not equivalent to the temporal age of the second signal.
Determining and providing correlations between semantic constructs in a representation of functionality and semantic constructs in another representation of functionality
A user interface may display visual traces between semantic constructs in representations of functionality. The representations of functionality may include textual programming language code, graphical programming language code, graphical or textual models, and/or text. The visual trace enables a party to visually review the correlations between the semantic constructs. The visual trace may include unique visual cues for distinguishing a degree of nesting of programming language constructs. For example, each successive level of nesting of a programming language construct may be associated with a different shade of a color. The user interface may be interactive and provide real-time feedback based upon actions of a party. The system determines what semantic constructs are to be visually distinguished on the user interface based on the location of an action and based on the hierarchy of semantic constructs and correlations.
A device may receive a model that includes multiple blocks. The model may include first variables that contribute to a first calculation and second variables that contribute to a second calculation. The device may determine first dependencies associated with the first variables and may determine second dependencies associated with the second variables. The device may generate a first execution function based on determining the first dependencies. The first execution function may identify first blocks that are to be executed to perform the first calculation. The device may generate a second execution function based on determining the second dependencies. The second execution function may identify second blocks that are to be executed to perform the second calculation. The device may cause the first blocks and the second blocks to be executed in a different manner based on the first execution function and the second execution function.
Embodiments include techniques for estimating unknown or missing values for parameters of a motor based on high-level motor information and using the estimated parametric values in generating an executable model for modeling the behavior of the motor. An aspect of the techniques involves assumptions used to establish the predetermined parametric values that are applied to the algorithm for deriving estimates of the unknown parametric values for the motor. The estimated parametric values may then be used in the executable model of the motor to enable development and simulation of a plant (e.g., a closed loop system) including a plant model having a dynamic controller model and a lumped parameter model of a modeling environment of a technical computing environment executing on a data processing system. The simulation of the plant loop can be sufficient to test the dynamic (e.g., feedback-based) controller within a closed loop system, e.g., test motion control of a motorized vehicle seat.
H02P 6/34 - Modelling or simulation for control purposes
G05B 13/04 - Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
G06F 30/20 - Design optimisation, verification or simulation
A computer-based model having executable semantics may be used to simulate the behavior of a system. A substructure of interest is sliced from the model and analyzed to determine a transformation of the slice while preserving some context of the model. The transformed slice may be further manipulated outside of the model, integrated back into the model in place of the original slice, or used in other ways.
A system is configured to receive a notification that variable information, associated with a variable, is stored in a logical workspace; obtain, in response to the notification, the logical workspace; and generate meta information associated with the variable, where the meta information includes information associated with a temporal attribute of the variable, information associated with an application that generated the variable information, information associated with a contextual attribute of the variable, or information associated with a spatial attribute of the variable. The system is also configured to associate, the meta information with the variable information, where associating the meta information with the variable information permits an operation to be performed on the meta information or on the variable information based on the meta information.
A device may receive code and may identify a function included in the code. The device may identify for display and user selection a first argument value, corresponding to a first argument of the function, included in the code. The device may determine one or more valid values for a second argument associated with the function based on the function and the first argument value. The device may provide the one or more valid values for the second argument for display.
Systems and methods evaluate assessments on time-series data. An expression including temporal operators may be created for an assessment. The expression may be arranged in the form of an expression tree having nodes representing input data to the assessment and intermediate results of the expression. An assessment may be evaluated by performing a bottom-up traversal of the expression tree. One or more plots may be generated including a plot of the outcome of the assessment, e.g., pass, fail, or untested, plots of intermediate results of the expression and plots of input data as a function of time. Graphical affordance may be presented on the plots that mark the regions that may have contributed to a specific pass or fail result of the assessment, and points within the regions that resulted in the assessment passing or failing.
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.
G06F 3/0481 - Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
A device may include one or more processors. The device may receive program code that identifies operations to be performed with regard to a data set to determine an output value. The device may identify a plurality of read operations corresponding to the operations. The plurality of read operations may be performed to obtain respective inputs of the operations. The device may generate a first data structure that identifies the operations and the plurality of read operations. The device may identify two or more operations, of the operations, that receive a particular input. The device may generate a second data structure that includes a combined operation. The combined operation may be generated based on the two or more operations, and may be associated with fewer read operations than the two or more operations. The device may determine the output value based on the second data structure.
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.
Systems and methods may aggregate and organize implicit and explicit initialization, reset, and termination operations defined throughout the hierarchy of an executable. The systems and methods may analyze the model and identify implicit and explicit initialization, reset, and termination operations defined at various hierarchical levels. The systems and methods may aggregate the implicit and explicit initialization, reset, and termination operations into an initialize callable unit, a reset callable unit, and a termination callable unit. The systems and methods may apply optimizations to the callable units, and resolve conflicts. The systems and methods may define a single entry point for each of the initialize, reset, and termination callable units.
G06F 30/367 - Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
75.
Systems and methods for configuring programmable logic devices for deep learning networks
Systems and methods may configure a programmable logic device to efficiently run a deep learning (DL) network. Architecture code and algorithmic code may be generated. The architecture code may define convolutional and fully connected processor cores structured to run the layers of a Deep Neural Network (DNN). The processor cores may be interconnected by a First In First Out (FIFO) memory. The architecture code may also define stride-efficient memories for implementing convolution. The algorithmic code may include configuration instructions for running the DNN's layers at the processor cores. The algorithmic code may also include a schedule for executing the configuration instructions on the processor cores, for moving network parameters to the processor cores, and for transferring outputs between the layers.
G06F 5/06 - Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising
G06N 7/00 - Computing arrangements based on specific mathematical models
G06F 15/78 - Architectures of general purpose stored program computers comprising a single central processing unit
G06N 3/063 - Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
76.
Systems and methods for handling renaming of programming constructs in programming environments
Apparatus and methods are described for adapting a programming environment to handle renamed programming constructs such as classes and packages. Non-canonical identifiers that reference renamed programming constructs can be used in code parts to be executed in the programming environment, and the code parts can execute, without disruption or user intervention, using related canonical identifiers. The solutions described herein provide backward and forward compatibility for code and data affected by renaming of programming constructs.
Model elements of an executable model, representing a physical system, are partitioned into one or more linear portions and one or more nonlinear portions. Simulating behavior of the physical system, by executing the model, includes, for each of multiple simulation time intervals, for a first nonlinear portion, computing a correlation matrix characterizing noise associated with one or more ports of the model. A scattering matrix corresponds to a portion of the physical system represented by the first nonlinear portion without accounting for any noise within the portion of the physical system. The correlation matrix is derived from the scattering matrix based on noise within the portion of the physical system. Noise sources representing noise within the portion of the physical system are identified based on the correlation matrix. At least one characteristic of noise associated with each noise source is computed, and noise characteristics are output at selected ports.
G09B 23/18 - Models for scientific, medical, or mathematical purposes, e.g. full-sized device for demonstration purposes for physics for electricity or magnetism
G09B 23/12 - Models for scientific, medical, or mathematical purposes, e.g. full-sized device for demonstration purposes for physics for statics or dynamics of liquids or gases
G09B 23/10 - Models for scientific, medical, or mathematical purposes, e.g. full-sized device for demonstration purposes for physics for statics or dynamics of solid bodies
78.
Methods and systems for simulating vision sensor detection at medium fidelity
Synthetic object detection data is generated for a modeled sensor, such as a camera. Scenario data specifying objects, such as vehicles, sensor intrinsics, such as focal length, principal point, and image size, and sensor extrinsics, such location and orientation in the scenario of the sensor, may be received. An object detector model may detect a given object in the scenario if it lies within the sensor's field of view, is large enough, and is not occluded. Two dimensional (2D) image plane position and velocity measurements may be generated. A measurement noise model may add noise to the measurements. Position, velocity, and measurement noise may be mapped into a three dimensional (3D) world coordinate system. An object detection list that includes time of detection, detected position and velocity, measurement accuracy, and an object classification for detected objects may be output.
A method performed by at least one processing unit comprises receiving a selection of a control volume associated with a physical system; receiving selections of a time dependent potential variable for the transported property and a time dependent flow variable for the transported property; receiving at least one fluid flow equation; determining an advection process; determining a diffusion process; determining a time dependent scaling factor based on at least the advection process and the diffusion process; deriving a rescaled transport flow equation for the time dependent flow variable for the transported property by adding the advection process and the diffusion process, and by applying the time dependent scaling factor for normalization; solving a plurality of equations that include the fluid flow equation and the rescaled transport flow equation; deriving the time dependent flow variable for the transported property; and deriving the time dependent potential variable for the transported property.
A device receives a selection of signals associated with a model, and analyzes the selected signals to identify signals, of the selected signals, that can be grouped into a semantically viable aggregation. The device receives an instruction to create a block for the identified signals. The device provides a block to group the identified signals into a semantically viable aggregation with a particular number of inputs, a particular number of outputs, a particular size, a particular position, and a particular orientation, in relation to the model, based on the identified signals, and provides the block in the model.
Systems and methods validate the operation of a component of an executable model without inadvertently altering the behavior of the component. The model may be partitioned into a design space and a verification space. The component may be placed in the design space, while an observer for validating the component may be placed in the verification space, and linked to the component. During execution of the model, input or output values for the component may be computed and buffered. Execution of the observer may follow execution of the component. The input or output values may be read out of the buffer, and utilized during execution of validation functionality defined for the observer. Model compilation operations that may inadvertently alter the behavior of the component, such as back propagation of attributes, are blocked between the observer and the component.
Systems and methods provide, as part of an executable graphical model, a region for providing variants that includes one or more computational choices defining alternative execution implementations of the region. Conditions assigned to the one or more computational choices indicate which of the computational choices is active. The conditions specify logical expressions of variables that evaluate to True or False. For a given simulation of the executable graphical model, all of the logical expressions may evaluate to False, such that none of the computational choices are active. All of the computational choices of the executable graphical model may be removed for the given simulation.
A device may receive input to perform a renaming operation in a graphical modeling environment. The device may identify a selected element, included in the graphical modeling environment, based on the input. The device may determine an element indicator associated with the selected element. The element indicator may be used to identify a relationship between the selected element and a related element included in the graphical modeling environment. The device may identify, based on the element indicator, the related element associated with the selected element. The device may modify the element indicator based on receiving the input to perform the renaming operation, and may modify a corresponding element indicator corresponding to the related element.
Systems and methods provide, as part of an executable graphical model, a region for providing variants that includes one or more computational choices defining alternative execution implementations of the region. Conditions assigned to the one or more computational choices indicate which of the computational choices is active. The conditions specify logical expressions of variables that evaluate to True or False. Two or more of the logical subexpressions may be combined to form a combination logical expression, which may be assigned to two or more model elements included in at least one of the computational choices. The combination logical expression may be decomposed into its logical subexpressions, and at least one of the decomposed logical subexpressions may be traced to one or more of the model elements to which the at least one of the logical subexpressions is assigned.
Filtering apparatus and methods associated with filtering large time series of data are described. A filtering process containing recursive dependencies can be organized as a series of computational tasks, at least some of which can be performed in parallel. Because of parallel execution of some tasks, an amount of time for filtering large time series of data with a filter exhibiting recursive data dependencies can be reduced significantly.
A Discrete Event System model created or provided in a time domain modeling and simulation environment and/or an event domain modeling and simulation environment may be divided into multiple independent regions, e.g. “subgraphs”, to achieve interleaved execution of the components from different domains. The subgraphs are automatically identified by the modeling and simulation environment during the compilation. Each subgraph consists of one or more interconnected event-driven components. Each subgraph is associated with an event calendar that controls the execution of the associated subgraph. Such multiple event calendar design enables multi-domain simulation, where event-driven components modeled by an event domain modeling environment and time-driven components modeled by a time domain modeling environment are simulated in an integrated fashion.
Systems and methods automatically construct a realization of a model from an available set of alternative co-simulation components, where the realization meets one or more objectives, such as fidelity, execution speed, or memory usage, among others. The systems and methods may construct the realization model by setting up and solving a constrained optimization problem, which may select particular ones of the alternative co-simulation components to meet the objectives. The systems and methods may configure the realization, and execute the realized model through co-simulation. The systems and methods may employ and manage different execution engines and/or different solvers to run the realization of the model.
Systems and methods validate the operation of a component of an executable model without inadvertently altering the behavior of the component. The model may be partitioned into a design space and a verification space. The component may be placed in the design space, while an observer for validating the component may be placed in the verification space, and linked to the component. During execution of the model, input or output values for the component may be computed and buffered. Execution of the observer may follow execution of the component. The input or output values may be read out of the buffer, and utilized during execution of validation functionality defined for the observer. Model compilation operations that may inadvertently alter the behavior of the component, such as back propagation of attributes, are blocked between the observer and the component.
A first request is received for one or more service interface specifications. The first request includes information about one or more model element interface specifications usable for identifying the service interface specifications. The model element interface specifications are part of or extracted from one or more executable model elements of an executable graphical model. The service interface specifications correspond to respective services that include features complying with the model element interface specifications and are associated with information necessary for implementing semantics of the model elements. The information about the model element interface specifications is analyzed, comprising evaluating semantics of the executable model elements within the executable graphical model. The service interface specifications are identified based on the analyzing. Information is provided representing the identified service interface specifications for display and selection. A selection of at least one of the identified service interface specifications is stored after the selection is made.
Systems and methods evaluate simulation models and measure floating point arithmetic errors in terms of Unit in Last Place (ULP). The simulation model may include model elements that perform numerical computations using Native Floating Point (NFP) arithmetic. The model elements may be arranged to implement a procedure. A data store may include local ULP errors predetermined for the model elements. The systems and methods may retrieve the local ULP errors for the model elements included in the model, and may apply a rules-based analysis to compute an overall ULP error of the simulation model. The systems and methods may present the overall ULP computed for the model. The systems and methods may also present intermediate ULP errors determined for portions of the simulation model. Changes may be made to the model to reduce the overall ULP error.
A method may include causing a model, including a set of core model elements and a set of diagnostic model elements, to be executed. The set of diagnostic model elements may be associated with a conditional trigger-point. The conditional trigger-point may be associated with a condition of the model for triggering the conditional trigger-point. The method may include determining that the condition of the model has been satisfied. The method may include causing the set of diagnostic model elements to be displayed via a user interface based on determining that the condition of the model has been satisfied. The set of diagnostic model elements may not have been displayed, during execution of the model, prior to determining that the condition of the model has been satisfied.
G06F 3/0484 - Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
92.
Run-time or compile-time error solutions for locating missing program elements in a programming environment
Methods and systems associated with a programming environment are described that provide automated or semi-automated recovery during run-time or compile-time operation in response to attempts to access a program element that is not in a working folder or in a folder location for which a path has been specified for accessing the program element.
Systems and methods generate synthetic sensor data, such as synthetic radar, lidar, and/or sonar data from three dimensional (3D) scene data that may be custom designed. Reflectivity coefficients in the radar, lidar, and/or sonar spectrums may be determined for objects included in the 3D scene data. The reflectivity coefficients may be utilized by a game engine for computing the synthetic sensor data. The synthetic sensor data may be used in the creation, evaluation, and/or verification of a design for a controller or other system that utilizes such data.
A system and method may automatically generate computer programming code for an executable model having messaging semantics. The executable model may define messages that have fixed payloads, and that persist for only a determined time interval of a total execution or simulation time of the model. The model may establish message queues for storing messages. The standalone code may include code that establishes message services including the creation of message queues. The generated code may be compiled and deployed on a target device for execution.
A system and method generates optimized code for a source model. The system may include a resource sharing optimizer that evaluates the source model and replaces multiple model elements of the source model that are functionally equivalent with a single shared model element. The model elements replaced with the single shared model element may have different fixed point data types. The resource sharing optimizer may convert some of the fixed point data types to a common fixed point data type.
A device may identify a primary model element of a set of model elements. The device may select one or more secondary model elements of the set of model elements. The one or more secondary model elements may be associated with the primary model element. The device may consolidate the one or more secondary model elements into a representation of the one or more secondary model elements. The representation of the one or more secondary model elements may be associated with the primary model element. The device may selectively de-consolidate the representation of the one or more secondary model elements based on detecting at least one of a user interaction or a run-time event.
G06F 3/0481 - Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
G06F 3/0484 - Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
G06F 3/01 - Input arrangements or combined input and output arrangements for interaction between user and computer
97.
Systems and methods for constructing and modifying computer models
A system and method predicts one or more next steps during the construction or editing of a graphical model having executable semantics. The one or more next steps being valid actions according to the executable semantics and/or syntax of the graphical model. The system and method presents ghost versions of the one or more next steps on a display of the graphical model. In response to user selection of a given ghost version, the system and method changes the selected ghost version into a completed action at the graphical model. The system and system may also update an in-memory representation of the graphical model with the completed action. The in-memory representation supporting execution of the graphical model.
G06G 7/62 - Analogue computers for specific processes, systems, or devices, e.g. simulators for electric systems or apparatus
G06F 3/0484 - Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
G06F 3/0482 - Interaction with lists of selectable items, e.g. menus
98.
Methods and systems for analyzing discrete-valued datasets
Methods and systems disclosed herein may be used to determine the structure of a dataset comprising discrete-valued data corresponding to features and items. In some embodiments, a device may receive a discrete-valued matrix with a first dimension corresponding to items and a second dimension corresponding to features. The device may calculate an engineered features set and a weights set for the matrix. The device may update the engineered features set using the weights set, and update the weights set using the updated engineered features set based on the mutual information between the matrix and one of the updated engineered features set. The device may receive a request indicating at least one of the engineered features set, identify items based on the matrix and the indicated at least one of the engineered features set, and provide a response based on the identified items.
A method may include receiving functional model information regarding a set of functional blocks associated with a functional model. The functional model may include a streaming algorithm for exchanging streaming data. The method may include receiving architectural model information regarding physical devices included in a target device from a hardware-software co-design platform. The physical devices may include a software based processing device and a hardware based processing device. The method may include mapping the functional blocks to the physical devices to allow the streaming data to be communicated between the software based processing device and the hardware based processing device. The method may include generating a streaming interface to model communication of the streaming data between the software based processing device and the hardware based processing device. The method may include generating computer code for implementing the functional model on the target device and outputting the computer code.
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.