Apama Documentation : Developing Apama Applications : Developing Apama Applications in EPL : Getting Started with Apama EPL : Terminology
Terminology
This topic provides a definition of each important EPL term. The definitions are organized into several groups.
Basic modules
EPL Term
Definition
Application
An Apama application consists of one or more collaborating monitors and/or one or more queries.
Package
A mechanism for qualifying monitor, query and event names. Monitors, queries and global events in the same package must each have a unique name within the package.
Context
Contexts allow EPL applications to organize work into threads that the correlator can concurrently execute.
Monitor
A monitor is a basic unit of program execution. Monitors have both data and logic. Monitors communicate by sending and receiving events. A monitor is defined in a .mon file.
In a monitor, you can create multiple contexts and divide processing among multiple contexts.
A monitor cannot contain an Apama query.
Query
An Apama query is a basic unit of program execution. It partitions incoming events according to a key and then independently processes the events in each partition. Processing involves watching for an event pattern and then executing a block of procedural code when that pattern is found. A query is defined in a .qry file.
In a query, you do not create contexts. Apama automatically uses multiple contexts as needed to process your query.
An Apama query cannot contain a monitor.
Channel
A string name that monitor instances and receivers can subscribe to in order to receive particular events. Adapter and client configurations can specify the channel to deliver events to. In EPL, you can send an event to a specified channel.
Queries do not subscribe to channels.
Event (type)
An event is a data object. All events have an event type and an ordered set of event fields. An event type might also have zero or more defined event actions that operate on the event fields.
Field
A data element of an event.
Method
A method is a pre-defined action. A given EPL type has a given set of methods that it supports.
Data types
EPL Term
Definition
Data type
Usually referred to as simply type. EPL supports the following value types: boolean, decimal, float, integer, and the following reference types: action, Channel, chunk, context, dictionary, event, Exception, listener, location, optional, sequence, StackTraceElement, stream, string. Also, monitor is a very limited pseudo-type.
sequence
An EPL type used to hold an ordered set of objects (referenced by position).
dictionary
An EPL type used to hold a keyed set of objects (referenced by key).
optional
An EPL type used to hold either zero elements or one element.
location
An EPL type that represents a rectangular area in a two-dimensional unitless Cartesian coordinate plane.
chunk
An EPL type that references an opaque data set, the data items of which are manipulated only in an EPL plug-in.
listener
You can assign an event listener or a stream listener to a variable of this type and then subsequently call quit() on the listener to remove the listener from the correlator.
action
An EPL type that references an action. Actions in EPL are the equivalent of methods in object-oriented languages. Actions are user-defined methods that you can define in monitor and query definitions, event type definitions, and custom aggregate function definitions.
context
An EPL type that provides a reference to a context. A context lets the correlator concurrently process events.
stream
An EPL type that refers to a stream object. Each stream is a conduit through which items flow. A stream transports items of only one type, which can be any Apama type. Streams are internal to a monitor.
Channel
An EPL type that contains a string or a context. A contained string is the name of a channel. A contained context lets you send an event to that context. Defined in the com.apama namespace.
Exception
Values of Exception type are objects that contain information about runtime errors. Defined in the com.apama namespace.
StackTrace Element
A StackTraceElement type value is an object that contains information about one entry in the stack trace.
Monitors
EPL Term
Definition
Monitor name
Each monitor has a name that can be used to delete the monitor from the correlator.
Monitor definition
The set of source statements that define a monitor.
Monitor instance
A monitor instance is created whenever a monitor is loaded into the correlator. Subsequent monitor instances are created whenever a monitor instance spawns. As one time, a monitor instance was referred to as a sub-monitor.
Sub-monitor
A monitor instance was previously referred to as a sub-monitor.
Queries
See also Query terminology.
EPL Term
Definition
Query name
Each Apama query has a name that can be used to delete the query from the correlator.
Query definition
The set of source statements that define an Apama query.
Query instance
A query instance is created whenever a non-parameterized query is loaded into the correlator. When a parameterized query is loaded, no instances are created until parameter values are provided. After specification of parameter values, Apama creates an instance of the query, which is referred to as a parameterization. A query definition supports multiple parameterizations.
Query key
A query key identifies one or more fields in the event types that the query specifies as input event types. Each query input event type must specify the same key.
Query partition
A partition contains a set of events that all have the same key value. One or more windows contain the events added to each partition.
Events
EPL Term
Definition
Event name
Every event must identify its event type. Event types are identified by a unique event name. The event name can also be used to remove the event definition from the correlator.
Event definition
The set of source statements that define an event type.
Event type
All events of a given event type have the same structure. An event type defines the event name, the ordered set of event fields and the set of event actions that can be called on the event fields.
Event field
A data element of an event.
Event action
An action defined within an event definition. The action can operate only on the fields of the event and any arguments passed into the action call.
Listeners
EPL Term
Definition
Event listener
A construct that monitors the events passed to, or routed within, a correlator context. When the event pattern matches the event pattern specified in an event listener, the correlator invokes the event listener's code block.
In monitors, it is up to you to define event listeners. In queries, Apama defines event listeners for you.
on statement
EPL statement that defines an event listener. An on statement specifies an event expression and a listener action.
Stream listener
A construct that continuously watches for items from a stream and invokes the listener code block each time new items are available.
from statement
EPL statement that defines a stream listener. A from statement specifies a source stream, a variable, and a code block. The from statement coassigns each stream output item to the specified variable and executes the statement or block once for each output item.
Listener action
The action, statement or block part of a listener.
Listener handle
It is possible to assign the handle (reference) to a listener to a listener variable. This variable can then be used to quit the listener.
Event template
Specifies an event type and the set of (or set of ranges of) event field values to match.
Event operator
Relational, logical, or temporal operator that applies to an event template and that you specify in an event expression.
Event expression
An expression, constructed using event operators and event templates, that identifies an event or pattern of events to match.
Streams
See also the above definitions for stream, stream listener, and from statement.
EPL Term
Definition
Stream query
A stream query is defined in a monitor. A stream query is a query that the correlator applies continuously to one or two streams. The output of a stream query is one continuous stream of derived items.
A stream query is a completely different construct than an Apama query.
Stream source template
An event template preceded by the all keyword. It uses no other event operators. A stream source template creates a stream that contains events that match the event template.
Stream network
Network of stream source templates, streams, stream queries, and stream listeners. Upstream elements feed into downstream elements to generate derived, added-value items.
Activation
When the passage of time or the arrival of an item causes a stream network or an element in a stream network to process items.
Copyright © 2013-2017 Software AG, Darmstadt, Germany.

Product LogoContact Support   |   Community   |   Feedback