Elastic Modeling Languages

The Elastic Modeling Languages are a set of modular languages, defined in OWL v2, that express the end-to-end design requirements, control and operational specifications, and data centre resources & configurations required to enable automated application deployment & management.

While the foundation of the modeling languages is in OWL and RDF, developers can interoperate with the Elastra Cloud Server through its RESTful interfaces; all functions available to the Elastra Workbench are available through this interface, which are based on Atom collections and serialized JSON, XML, or RDF (XML or Turtle) entries.

Declarative models are useful ways to drive complexity out of IT application design and configuration, in favor of more concise statements of intent. Given a declaration of preferences or constraints, an IT management system can compose multiple models together much more effectively than if the models were predominantly procedural, and also formally verify for conflicts or mistakes. On the other hand, not everything can be declarative; at some point, procedures are usually required to specify the “last mile” of provision, installation, or configuration.

The Elastic Modeling Languages provide a balance between enabling users to express declarative, machine-reasonable policy, and procedural know-how for configuration or provisioning.

The three current Elastic Modeling Languages are:

ECML – The Elastic Computing Modeling Language, a multi-viewpoint architecture description language

EDML – The Elastic Deployment Modeling Language, a collection of elements for describing the capabilities of IT software and hardware infrastructure

EMML – The Elastic Management Modeling Language, a model of configuration items and annotations. EMML describes the context, state, and dependencies among items, such as whether an ECML-described design is currently deployed, the state of that deployment’s EDML-described resource, or the version history of either.