Function Blocks Description

APL code is divided into function blocks where each block is executed at different stages of the data processing. Number and type of function block executed depends on if the Analysis (or Aggregation) Agent is used in a batch or real-time workflow. Figure below illustrates the executed function blocks and their order depending on workflow type. 

APL function blocks 

APL code example 

All logic configured in APL will be dynamically compiled to machine code at runtime for performance reasons. No interpretation of the logic is performed.  

Besides being accessible from the Analysis and Aggregation agents, APL is also used in various applications in the system where flexibility is required. For instance, in Ultra Format Definition Language (UFDL).

APL is tightly integrated into the UDR and workflow models, enabling access and manipulation of runtime-, persistent-, and meta-data. Examples of such functionality include: 

UDR operations 

UDRs can be viewed, filtered, routed, created, cloned, decoded, encoded, and modified, etc. 

Meta Information Model (MIM) 

Meta information variables available for a workflow (MIMs) can be accessed, created, published, and assigned. Any published information is available to any agent within the workflow. 

Error Correction System 

UDRs failing specified validation criteria can be classified with respect to the error and be routed to the Error Correction System (ECS) for corrective action. 

Audit 

Audit and statistical information based on workflow execution can be logged in user-defined database tables. 

Lookups 


SQL/LDAP statements and calls to stored procedures can be executed from APL. A number of functions for memory caching and indexing are available, as well as prepared statements and bulk-SQL features for high performance table lookups, with minimal overhead 

External References 

Property based definition of APL values based on a certain key. This functionality enables the APL configuration to make dynamic runtime decisions based on parameters in an externally stored property file. 

Events 


Usage Engine provides various ways of dispatching information to different parts of the system or externally: 

Events can be sent to the System Log classified as ‘Error’, ‘Warning’, or ‘Information’ 

Events can also be sent directly to the Event Manager for distribution to any other target (SNMP trap, log file, database table, etc.) 

Debug information can be sent to a log file, or directly to the Workflow Monitor 

Alarms 

It is possible to configure and trigger potential Alarm conditions from within the workflow configuration as well as from the alarm detection GUI. These conditions provide a very flexible mechanism to visualize