“…To allow the user to know if a program has anomalies, it is possible to create a checker that verifies the presence of the three forms of anomalies (loop, break invariances, ambiguity). How to make this checker, is described in [11][12][13]17,18] . Therefore, the most appropriate implementation of IRON consists in the implementation of an IRON compiler for to verify the properties of absence of loops, break invariances and ambiguity.…”
Section: Discussionmentioning
confidence: 99%
“…In this section we briefly recall IRON [11][12][13] . This is a language based on the first-order predicate language.…”
Section: Ironmentioning
confidence: 99%
“…In this paper we face this challenge. Taking into account a subset of IRON (Integrated Rule On Data) [11][12][13] , a Domainspecific language (DSL) for programming smart environments by means of ECA rules, we program an interpreter of the given sub-language able to signal several program anomalies (in detail, contradictory, cyclical and ambiguous program configurations) at runtime.…”
A domain-specific language (DSL) is a programming language that is specialized to a particular application domain. IRON is a DSL for the IoT domain which allows not only to program in an easy way using the Event-Condition-Action (ECA) rules but also to prevent incorrect actions. In this paper, we formally describe the semantics of IRON. The anomalies that IRON prevents are: (i) the presence of cycles that determine the nontermination, (ii) the ambiguous actions that do not allow the definition of a final configuration, (iii) the breaking of invariances. In addition to the formal description of IRON, an interpreter was created in a host language (LUA) that captures and manages the three anomalies. This provides a general scheme for the implementation of languages based on ECA rules.
“…To allow the user to know if a program has anomalies, it is possible to create a checker that verifies the presence of the three forms of anomalies (loop, break invariances, ambiguity). How to make this checker, is described in [11][12][13]17,18] . Therefore, the most appropriate implementation of IRON consists in the implementation of an IRON compiler for to verify the properties of absence of loops, break invariances and ambiguity.…”
Section: Discussionmentioning
confidence: 99%
“…In this section we briefly recall IRON [11][12][13] . This is a language based on the first-order predicate language.…”
Section: Ironmentioning
confidence: 99%
“…In this paper we face this challenge. Taking into account a subset of IRON (Integrated Rule On Data) [11][12][13] , a Domainspecific language (DSL) for programming smart environments by means of ECA rules, we program an interpreter of the given sub-language able to signal several program anomalies (in detail, contradictory, cyclical and ambiguous program configurations) at runtime.…”
A domain-specific language (DSL) is a programming language that is specialized to a particular application domain. IRON is a DSL for the IoT domain which allows not only to program in an easy way using the Event-Condition-Action (ECA) rules but also to prevent incorrect actions. In this paper, we formally describe the semantics of IRON. The anomalies that IRON prevents are: (i) the presence of cycles that determine the nontermination, (ii) the ambiguous actions that do not allow the definition of a final configuration, (iii) the breaking of invariances. In addition to the formal description of IRON, an interpreter was created in a host language (LUA) that captures and manages the three anomalies. This provides a general scheme for the implementation of languages based on ECA rules.
“…This event-driven model allows for the specification of robust programs in which the static data model is separated from the dynamic part. Tools have been developed to support runtime execution and static/dynamic analysis of ECA programs to guarantee satisfaction of invariants [65,66].…”
Section: Techniques For Programming and Operating Casmentioning
An adaptive system is able to adapt at runtime to dynamically changing environments and to new requirements. Adaptive systems can be single adaptive entities or collective ones that consist of several collaborating entities. Rigorous engineering requires appropriate methods and tools that help guaranteeing that an adaptive system lives up to its intended purpose. This paper introduces the special section on "Rigorous Engineering of Collective Adaptive Systems." It presents the seven contributions of the section and gives a short overview of the field of rigorously engineering collective adaptive systems by structuring it according to three topics: systematic development, methods and theories for modelling and analysis, and techniques for programming and operating collective adaptive systems.
“…Monitoring and automatic control of a building environment ( [13], [4]) can include the following functionalities: (i) heating, ventilation, and air conditioning (HVAC) systems; (ii) fire alarms; (iii) centralised lighting control; and (iv) other systems, to provide comfort, energy efficiency and security. In order to demonstrate macro-programming for WSANs we will use a simplified home-automation case study with 2 applications, a fire alarm system and a home heating system.…”
Macro-programming advocates the use of high-level abstractions to specify distributed systems as a whole. However, macro-programming implementations are often centralised. In this paper we present PICO-MP, the first fully decentralised macro-programming middleware for wireless sensor and actuator network (WSAN) applications. PICO-MP incorporates a novel publish-subscribe service that can correlate events scattered across a WSAN using global formulae specifications that are automatically checked in a distributed fashion. PICO-MP has been implemented for the TinyOS operating system and validated on a case study that uses global formulae to improve energy efficiency (lifetime) of the implementation.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.