Extended Environments Markup Language (EEML)

This site provides information about Extended Environments Markup Language (EEML), a protocol for sharing sensor data between remote responsive environments, both physical and virtual. It can be used to facilitate direct connections between any two environments; it can also be used to facilitate many-to-many connections as implemented by the web service Pachube, which enables people to tag and share real time sensor data from objects, devices and spaces around the world.

Possible end-users range from construction managers, large-building occupants and architects, to electronics manufacturers and interactive artists and designers.

extended environments markup language

EEML supports installations, buildings, devices and events that collect environmental data and enables people to share this resource in realtime either within their own organisations or with the world as a whole via an internet connection or mobile network access. It can enable buildings to "talk", sharing remote environmental sensor data across the network in order to make local decisions based on wider, global perspectives. The EEML protocol supports datastream sources that respond to and exchange data with other installations, buildings, devices and events through data stream tagging. (This user-configurability allows people who use Pachube to identify their datastreams to others who can then search for data streams that they want to use).

EEML is designed to work alongside an established construction industry format, Industry Foundation Classes. To understand better how and why this is useful (and how it differs, for example, from SensorML), please see this overview of EEML and IFC.

Browse this site to obtain the latest:


EEML is a markup language that describes the data output of sensors and actuators, often in an architectural context but also in interactive environments, interface devices and even Second Life objects. Crucially, EEML supports the addition of context or "meta-data" about where the data came from. This is meaningful both to machines and humans when searching for data streams that they particularly need without knowing the exact details of the source. It is also important for those wishing to make spontaneous or previously unplanned connections between data streams from different sources with common contexts.

So that everyone talks the same EEML 'language', a schema has been written in XML for formatting data streams from sensors and devices. This provides a simple yet sophisticated structure for formatting environmental data, in the widest sense possible. The source that EEML is designed to support is data from sensors and devices deployed in the environment. The term "environment" encompasses both the physical world of, for example an office, your home or studio as well as the virtual world of, for example Second Life. EEML is designed to be extensible to support on-going development of environments that EEML's designers did not initially envisage.

EEML can be used along side well-established XML formats for data interchange such as Industry Foundation Classes in the construction industry, developed by the International Alliance for Interoperability where IFC2x has gained acceptance as one of the formats for Building Information Modeling or BIM. Crucially, using EEML, sensor data from buildings can be mapped onto building components in realtime and exchanged with simulation software and facilities management software thus extending the benefits of BIM to the post-occupancy phase.

To understand better how and why EEML is useful (and how it differs, for example, from SensorML), please see this overview of EEML and IFC.


This section contains the current version of EEML and maintains an archive of previous releases.

Current Version

0.5.1: Click here to see the XML schema for EEML 0.5.1 documents..

Previous versions

005: Click here to see the XML schema that specifies the format and structure of EEML documents.

Instance Cases

The following are examples of EEML as implemented:

A note on units

EEML uses the same 5 classifications for units as IFC's classifications:

Case studies

The following are examples of EEML in use:


To contact please email info [ at ] eeml [ dot ] org.

Copyright (c) 2007-8 Haque Design + Research Ltd.