G06F8/31

Intelligent inspection devices

An intelligent inspection device is disclosed. The intelligent inspection device includes a camera configured to photograph a refrigerator that is installed and a processor configured to position a first refrigerator image photographed by the camera in a preset area of an inspection frame, compare the first refrigerator image with the inspection frame, inspect whether a step is present in the refrigerator based on a result of the comparison, and learn a solution corresponding to a result of the inspection to provide the solution to a user. The intelligent inspection device may be associated with an artificial intelligence module, an unmanned aerial vehicle (UAV), a robot, an augmented reality (AR) device, a virtual reality (VR) device, devices related to 5G services, and the like.

Mechanism for information propagation and resolution in graph-based programming languages

A visual-programming tool processes nodes of a graph corresponding to operations or functions in program code associated with a plurality of programs, (e.g., games), stored as graph of nodes with logical connections signifying inputs, outputs, and/or units of connected nodes. The visual-programming tool resolves valid types and/or units associated with respective connected nodes and can propagate valid types and/or units throughout the graph.

TRANSLATING CLUSTERS OF A MONOLITH APPLICATION TO MICROSERVICES

Methods, systems, and computer program products for translating clusters of a monolith application to microservices are provided herein. A computer-implemented method includes obtaining a plurality of candidate microservices for refactoring a monolith application, each candidate microservice including one or more of a plurality of software classes of the monolith application; analyzing the monolith application to identify one or more software functions in the plurality of software classes to expose as one or more application programming interfaces; automatically isolating non-overlapping software functions of the monolith application between the plurality of candidate microservices; converting source code corresponding to the identified one or more software functions into a standardized application programming interface format based at least in part on the isolating; and using the converted source code to generate a plurality of deployable microservices corresponding to the plurality of candidate microservices.

Modular Software Architecture for Machine Learning Pipelines

As organizations scale analytics, a challenge is the huge increase in number of analytics pipelines to be maintained by developers. In here, lies an example method and modular software architecture to assemble analytics pipeline from reusable components. (1) Reusable components can be utilities where each utility is versioned and has a collection of programming functions, also known as nodes, that follow “data-in-data-out” convention. As nodes are building blocks of a pipeline, an assembly instruction and human readable configurations can now be created to define a project pipeline from a repository of pipelines and well-versioned utilities. (2) By separating out re-usable functionalities from pipelines and data layers, this layered architecture can now support upgrades of functionalities overtime without re-writing of pipelines. (3) As reusable components become functionally exhaustive, these assembly instructions and configurations can then be decoupled from pipelines as knowledge which developers can conduct meta-analysis of configurations used across projects.

Monolithic computer application refactoring

Refactoring a monolithic computer application can include transforming textual input into context-aware tokens represented by machine-processable data structures, the textual input acquired from multiple sources of text associated with a computer application having a monolithic architecture for implementing one or more application processes. Based on co-occurrence frequencies among the context aware tokens, one or more groupings of context-aware tokens can be determined. An association between each grouping and a code construct can be determined. Invocation sequences based on time series analyses of computer-generated usage data generated in response to execution of the one or more application processes can be generated, each invocation sequence linking two or more code constructs based on a time series analysis linking groupings that correspond to the linked code constructs. A recommendation for refactoring the computer application into a plurality of microservices can be generated, each microservice corresponding to one or more invocation sequences.

Asynchronous data objects for an event driven programming language
11609745 · 2023-03-21 · ·

A method for increasing scalability of asynchronous data processing includes interpreting a computer program for reading data from an input data stream, wherein the input data stream is defined in the program as an object having a function for obtaining more data from the input data stream; determining that additional data from the input data stream is required to continue execution of the function in a thread of the interpreted computer program; suspending execution of the thread responsive to a determination that the additional data is unavailable; saving a state information for the suspended thread, wherein the saved state information includes information to allow resumption of the suspended thread; generating an event indication upon availability of at least some of the additional data; and resuming execution of the suspended thread of execution and providing the additional data as a result of the function.

Efficient streaming based lazily-evaluated machine learning framework

Methods, systems, and computer products are herein provided for lazy evaluation of input data by a machine learning (ML) framework. An ML pipeline receives input data and compiles a chain of operators into a chain of dataviews configured for lazy evaluation of the input data. Each dataview in the chain represents a computation over data as a non-materialized view of the data. The ML pipeline receives a request for column data and selects a chain of delegates comprising one or more delegates for one or more dataviews in the chain to fulfill the request. The ML pipeline processes the input data with the selected chain of delegates. The ML pipeline performs delegate chaining on a dataview. A feature value for a feature column of the dataview is determined based on the delegate chaining and provided to an ML algorithm to predict column data.

Deriving many idiomatic programming language interfaces

Computer-implemented techniques for deriving many idiomatic programming language interfaces. The techniques allow a programmer to provide idiomatic interfaces in many different programming languages without extra per-language effort. The techniques provide a solution to technical problems involved in providing idiomatic interfaces in many different programming languages. In particular, the techniques solve the problem of providing idiomatic interfaces that use the different definitional elements required by different programming languages, and in a way that programmers experienced in the language expect.

Automated Feature Extraction Using Genetic Programming
20230080267 · 2023-03-16 ·

A method evolves generic computational building blocks. The method obtains a parent population with programs that encode functions. The method also obtains a list of randomly generated test inputs. The method generates a target dataset that includes input-output pairs of randomly generated binary strings. The method also applies a fitness function to assign a fitness score to each program, based on the target dataset. The method grows a seed list by applying genetic operators, and selecting offspring that satisfy a novelty condition. The novelty condition is representative of an ability of a program to produce unique output for the list of randomly generated test inputs. The method iterates until a terminating condition has been satisfied. The terminating condition is representative of an ability of programs in the seed list to solve one or more genetic programming instances.

Adaptable Internet-of-Things (IoT) Computing Systems and Methods for Improved Declarative Control of Streaming Data
20230080597 · 2023-03-16 ·

Adaptable internet-of-things (IoT) computing systems and methods are disclosed for improved and flexible declarative control of streaming data, such as Big Data, in compute intense environments. A declarative scripting engine determines an input data stream based on a first declarative statement defining input data stream variable(s) of a declarative scripting language in declarative scripting module(s). The input data stream is bound to a stream controller and is ingested into computer memory. The declarative scripting engine generates a snapshot data stream based on a second declarative statement in the declarative scripting module(s), and is derived from the input data stream. A stream model is defined, where a listener entity comprising an event is triggered based on the input data stream or the snapshot data stream as ingested into the stream model.