At design-time, HEADS IDE will provide the different HEADS actors with modelling languages, editors and tools to engineer HD-services.
ThingML is as a domain-specific modeling language which includes concepts to describe both software components and communication protocols. The formalism used is a combination of architecture models, state machines and an imperative action language similar to concepts found e.g. in UML2. ThingML also provides a set of compilers (currently targeting C and Java-based platforms) in order to produce fully executable code from ThingML specifications. ThingML will both support the platform experts and service developers to define (respectively) drivers and business logic.
To express advanced analysis of sensors data, the CEP logic will be defined by the Event Processing language EPL. It contains besides descriptive event query support in an SQL-oriented style also a complete procedural language. There are a set of Eclipse plugins, which support the design of EPL specifications. This contains an Eclipse editor for EPL with features like dynamic compilation, syntax highlighting and auto completion. Special support is given for defining the structure of events by so called event types. For the communication with many common data sources adapters are available to convert the structure descriptions like XML schema, RDBMS schema to Event types. The runtime contains the corresponding support for converting the data to the internal event format of the engine.