Skip to main content
Version: 2.4

The ARMR 2 Platform

The ARMR 2.0 Platform is comprised of two parts: a Domain-Specific Language (DSL) designed to allow
users to express application extensions and security controls, and a recompilation engine that interprets
the ARMR DSL to apply the programmed extensions and security controls. Here are some of the
common ARMR terms used throughout this document.

TermDefinition
ARMRAutonomous Rule Management Runtime.
ARMR DSL/LanguageThe language used to program extensions and security controls.
ARMR RuleOne of many runtime types that can be programmed to apply enhancements or security controls for specific behaviors of the application (i.e. HTTP queries, SQL transactions, file-system operations, etc.)
ARMR ModA self-sufficient ARMR program comprising one or more ARMR rules. An ARMR rule is always a member of one, and only one, ARMR Mod.
ARMR Rules FileA plain-text file with an extension of .armr that contains one or more ARMR mods.
ARMR EngineThe runtime recompiler platform which interprets and executes ARMR Mods and the ARMR Rules therein.
AgentA runtime Agent which supports the ARMR platform and can execute ARMR Mods.

The ARMR Language Specification is defined by Waratek and its partners and is supported by all of Waratek’s ARMR Agents. The ARMR Language Specification defines the structure of the DSL itself and the reprogrammable behaviors of an application's runtime components, such as networking operations, HTTP transaction, SQL queries, and many others. These reprogrammable behaviors form the basis for ARMR Rules, which enable users to eloquently describe how they would like to apply behavior enhancements or enforce bespoke security policies for any desired target application.

As of the ARMR 2.X release - the ARMR Language Specification will ensure forward compatibility with future versions of the ARMR engine. The ARMR Language Specification may change over time, please consult latest documentation and Client Services for latest implementation details.

All of Waratek’s ARMR Agents are designed to attach to the underlying runtime at bootup. Late (dynamic) attachment of Waratek ARMR Agents is not presently supported. Once a Waratek ARMR Agent is attached to an underlying runtime, ARMR Mods can be loaded, reloaded, and unloaded dynamically at runtime without requiring the application or underlying runtime to be restarted. Waratek also provides a web Portal for managing ARMR Mod configuration and deployment via a web-based interface. Documentation for the Waratek Portal is available separately.