Abstract

A domain-specific language (DSL) is a programming language that is specialised to a particular application domain. IRON is a DSL for the IoT domain which allows not only to program solutions for the IoT by Event-Condition-Action (ECA) rules, but also prevent or report incorrect actions (from the logical point of view). The formal definition of this language is important to correctly implement interpreters avoiding contradictory, cyclical or ambiguous program configurations. To this ending, we formally define the semantics of IRON by a suitable operational rule system. The proposed operational semantics can describe the execution model of IRON programs and, at the same time, intercept several possible program anomalies (e.g., rule redundancy and circularity). Although IRON operational semantics describes a specific execution model, the proposed methodology - of encoding the IRON execution model into a corresponding formal operational semantics - can be also taken into account for formally defining semantics of other ECA rules based languages for IoT.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call