Formal Semantics of an IoT-Specific Language

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.

[1]  Baruch Givoni,et al.  Comfort, climate analysis and building design guidelines , 1992 .

[2]  Leonardo Mostarda,et al.  vIRONy: A Tool for Analysis and Verification of ECA Rules in Intelligent Environments , 2017, 2017 International Conference on Intelligent Environments (IE).

[3]  Jing Zhang,et al.  Verification of ECA rule based management and control systems , 2008, 2008 IEEE International Conference on Automation Science and Engineering.

[4]  Gordon D. Plotkin,et al.  A structural approach to operational semantics , 2004, J. Log. Algebraic Methods Program..

[5]  Leonardo Mostarda,et al.  Symbolic verification of event–condition–action rules in intelligent environments , 2017, Journal of Reliable Intelligent Environments.

[6]  Jennifer Widom,et al.  Behavior of database production rules: termination, confluence, and observable determinism , 1992, SIGMOD '92.

[7]  Leonardo Mostarda,et al.  ESCAPE: A Component-Based Policy Framework for Sense and React Applications , 2008, CBSE.

[8]  Éric Rutten,et al.  ECA Rules for IoT Environment: A Case Study in Safe Design , 2014, 2014 IEEE Eighth International Conference on Self-Adaptive and Self-Organizing Systems Workshops.

[9]  J. P. Yoon Techniques for data and rule validation in knowledge based systems , 1989, Proceedings of the Fourth Annual Conference on Computer Assurance, 'Systems Integrity, Software Safety and Process Security.

[10]  Juan Carlos Augusto,et al.  Requirements Engineering for Intelligent Environments , 2014, 2014 International Conference on Intelligent Environments.

[11]  Seung-yun Lee,et al.  Conflict Detection and Resolution method in WS-ECA framework , 2007, The 9th International Conference on Advanced Communication Technology.

[12]  Leonardo Mostarda,et al.  A Constrained ECA Language Supporting Formal Verification of WSNs , 2015, 2015 IEEE 29th International Conference on Advanced Information Networking and Applications Workshops.

[13]  Dana S. Scott,et al.  Finite Automata and Their Decision Problems , 1959, IBM J. Res. Dev..

[14]  José Proença,et al.  Coordination Models and Languages , 2016, Lecture Notes in Computer Science.

[15]  Letizia Tanca,et al.  Termination and Confluence by Rule Prioritization , 2003, IEEE Trans. Knowl. Data Eng..