FIELD

The present invention relates generally to the automated semantic tagging, and more particularly to a transaction framework incorporating semantic data.

BACKGROUND

Software executing within a hardware environment is often composed of a number processes that can execute to provide the functionality of the software. Each process may be composed of discrete sets of instructions that execute to provide intermediate functionality of the process. Since each set of instructions is discrete, the processor of the hardware environment executes each set without regard to the set of instructions that came before a particular set or the set of instructions that will execute after. This may compound problems caused by poorly developed software, software errors, and memory leaks. For instance, lacking details of other sets of instructions may cause the processer to execute duplicate sets of instructions or to execute an infinite loops, which may occur when a set of instructions points to a previously executed set of instructions as the next set of instructions to be executed.

In some instances, the hardware environment may address the issue by using a scheduler to schedule each set discrete for execution by the processer of the hardware environment. The scheduler may receive some information associated with sets of instructions to be executed and provide further analysis in attempt to progressively schedule each set. Yet, while the scheduler has more detail with respect to the number of sets to be executed, an intended order, etc., the scheduler often lacks the information to able to prevent duplicates or infinite loops. For instance, schedulers lack state information associated with the sets of instructions such as input/output, memory registers, associations with other sets of instruction or processes, branches, etc.

SUMMARY

Aspects of the present disclosure include methods for automated semantic tagging by generating process specifications for threads. detecting, by a semantic mapping application programming interface (API), a particular thread executed by a processor; identifying a root process of the particular thread, the root process providing a function to a computing device by executing one or more threads, the particular thread being one of the one or more threads, and wherein and the particular thread providing an intermediate function of the process; generating, based on the particular thread and the root process, an object-process link by linking an object that executed code that called the particular thread to the root process; identifying a thread list of the object that includes an identification of one or more thread definitions, wherein each thread definition is configured to instantiate a thread; generating process specification for the root process by: matching a particular thread definition of the one or more thread definitions to the particular thread; identifying, using the particular thread definition, an identification of one or more resource types to be consumed upon executing an instance of the thread instantiated from the particular thread definition; determining a value corresponding to each resource type of the one or more resource types; and generating a process specification that encapsulates the thread definition, identification of the one or more resource types, and the value corresponding to each resource type of the one or more resource types, the process specification configured to reproduce a state of the root process at a point in which the particular thread executed.

Another aspect of the present disclosure includes a system comprising one or more processors and a non-transitory computer-readable media that includes instructions that when executed by the one or more processors, cause the one or more processors to perform methods described above.

Another aspects of the present disclosure include a non-transitory computer-readable media that includes instructions that when executed by one or more processors, cause the one or more processors to perform the methods described above.

Further areas of applicability of the present disclosure will become apparent from the detailed description provided hereinafter. It should be understood that the detailed description and specific examples, while indicating various embodiments, are intended for purposes of illustration only and are not intended to necessarily limit the scope of the disclosure.

