Patent ID: 7810082

Claim:
An engine for transforming generic software code into operator-specific software code, the engine comprising: a processor; a memory in communication with the processor, the memory containing instructions for causing the processor to control the following modules when the instructions are run on the processor: a module for reading binary generic software code, wherein the binary generic software code includes at least one generic control indication explicitly present in the code, wherein the generic control indication includes at least one aspect corresponding to operator specific requirements; a processing module including: a module for detecting at run-time, the at least one generic control indication from the binary generic software code; a module for determining a reference to the at least one aspect from the generic control indication, wherein the at least one aspect corresponds to operator specific requirements; a module for determining an integration instruction; and a module for inserting an implementation of the at least one aspect according to the integration instruction and according to the generic control indication; and a module for providing binary operator-specific software code at run-time such that the operator-specific software code can be accessed for execution; wherein the generic control indication contains a relaxed parameter, wherein the relaxed parameter is processed by: determining a referenced aspect implementation from an aspect invocation; determining a set of required target parameters; reading a plurality of source parameters, determining from the aspect invocation for each required target parameter a set of related provided source parameters; selecting for each target parameter one of the related source parameters from the set of related source parameters, such that a type of the target parameter and a type of the selected source parameter are equal; and determining whether any of the source parameters from the set of related parameters matches the type of the target parameter, if no, then converting at least one of the related source parameters to the type of the required target parameter.