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 definitons are organized into the following groups:
*Basic modules
*Data types
*Monitors
*Events
*Streams
EPL terminology
Basic modules
Application
An Apama application consists of one or more collaborating monitors.
Package
A mechanism for qualifying monitor and event names. Monitors 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 the basic unit of program execution. Monitors have both data and logic. Monitors communicate by sending and receiving events.
Event (data type)
An event is a data object, used primarily for communication between monitors and between the correlator and its environment. 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 data type has a given set of methods that it supports.
Data types
Data type
EPL supports the following value data types: boolean, decimal, float, integer, and the following reference data types: action, chunk, context, dictionary, event, Exception, listener, location, sequence, StackTraceElement, stream, string.
sequence
An EPL data type used to hold an ordered set of objects (referenced by position).
dictionary
An EPL data type used to hold a keyed set of objects (referenced by key).
location
An EPL data type that represents a rectangular area in a two-dimensional unitless Cartesian coordinate plane.
chunk
An EPL data type that references an opaque data set, the data items of which are manipulated only in a correlator 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 data 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 definitions, event type definitions, and custom aggregate function definitions.
context
An EPL data type that provides a reference to a context. A context lets the correlator concurrently process events.
stream
An EPL data type that refers to a stream object. Each stream is a conduit or channel through which items flow. A stream transports items of only one type, which can be any Apama data type. Streams are internal to a monitor.
Exception
Values of Exception type are objects that contain information about runtime errors.
StackTrace
Element
A StackTraceElement type value is an object that contains information about one entry in the stack trace.
Monitors
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.
Sub-monitor
A monitor instance. When a monitor spawns it creates a sub-monitor, which is just another monitor instance.
Events
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
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.
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
Stream query
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.
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 Software AG, Darmstadt, Germany and/or Software AG USA Inc., Reston, VA, USA, and/or Terracotta Inc., San Francisco, CA, USA, and/or Software AG (Canada) Inc., Cambridge, Ontario, Canada, and/or, Software AG (UK) Ltd., Derby, United Kingdom, and/or Software A.G. (Israel) Ltd., Or-Yehuda, Israel and/or their licensors.