Using Event-Based and Rule-Based Paradigms to Develop Context-Aware Reactive Applications.

Context-aware pervasive computing has attracted a significant research interest from both academy and industry worldwide. It covers a broad range of applications that support many manufacturing and daily life activities. For instance, industrial robots detect the changes of the working environment i...

Full description

Bibliographic Details
Main Author: Le, Truong Giang
Language:ENG
Published: Conservatoire national des arts et metiers - CNAM 2013
Subjects:
Online Access:http://tel.archives-ouvertes.fr/tel-00953368
http://tel.archives-ouvertes.fr/docs/00/95/33/68/PDF/These_-_-_-_Truong_-_Giang_-_Le.pdf
id ndltd-CCSD-oai-tel.archives-ouvertes.fr-tel-00953368
record_format oai_dc
spelling ndltd-CCSD-oai-tel.archives-ouvertes.fr-tel-009533682014-03-05T03:22:12Z http://tel.archives-ouvertes.fr/tel-00953368 2013CNAM0883 http://tel.archives-ouvertes.fr/docs/00/95/33/68/PDF/These_-_-_-_Truong_-_Giang_-_Le.pdf Using Event-Based and Rule-Based Paradigms to Develop Context-Aware Reactive Applications. Le, Truong Giang [INFO:INFO_OH] Computer Science/Other [INFO:INFO_OH] Informatique/Autre Event-based programming Rule-based programming Context-aware pervasive computing Smart computing Robot programming Concurrent programming Embedded programming Verification and validation Static analysis Model checking Context-aware pervasive computing has attracted a significant research interest from both academy and industry worldwide. It covers a broad range of applications that support many manufacturing and daily life activities. For instance, industrial robots detect the changes of the working environment in the factory to adapt their operations to the requirements. Automotive control systems may observe other vehicles, detect obstacles, and monitor the essence level or the air quality in order to warn the drivers in case of emergency. Another example is power-aware embedded systems that need to work based on current power/energy availability since power consumption is an important issue. Those kinds of systems can also be considered as smart applications. In practice, successful implementation and deployment of context-aware systems depend on the mechanism to recognize and react to variabilities happening in the environment. In other words, we need a well-defined and efficient adaptation approach so that the systems' behavior can be dynamically customized at runtime. Moreover, concurrency should be exploited to improve the performance and responsiveness of the systems. All those requirements, along with the need for safety, dependability, and reliability pose a big challenge for developers.In this thesis, we propose a novel programming language called INI, which supports both event-based and rule-based programming paradigms and is suitable for building concurrent and context-aware reactive applications. In our language, both events and rules can be defined explicitly, in a stand-alone way or in combination. Events in INI run in parallel (synchronously or asynchronously) in order to handle multiple tasks concurrently and may trigger the actions defined in rules. Besides, events can interact with the execution environment to adjust their behavior if necessary and respond to unpredictable changes. We apply INI in both academic and industrial case studies, namely an object tracking program running on the humanoid robot Nao and a M2M gateway. This demonstrates the soundness of our approach as well as INI's capabilities for constructing context-aware systems. Additionally, since context-aware programs are wide applicable and more complex than regular ones, this poses a higher demand for quality assurance with those kinds of applications. Therefore, we formalize several aspects of INI, including its type system and operational semantics. Furthermore, we develop a tool called INICheck, which can convert a significant subset of INI to Promela, the input modeling language of the model checker SPIN. Hence, SPIN can be applied to verify properties or constraints that need to be satisfied by INI programs. Our tool allows the programmers to have insurance on their code and its behavior. 2013-09-30 ENG PhD thesis Conservatoire national des arts et metiers - CNAM
collection NDLTD
language ENG
sources NDLTD
topic [INFO:INFO_OH] Computer Science/Other
[INFO:INFO_OH] Informatique/Autre
Event-based programming
Rule-based programming
Context-aware pervasive computing
Smart computing
Robot programming
Concurrent programming
Embedded programming
Verification and validation
Static analysis
Model checking
spellingShingle [INFO:INFO_OH] Computer Science/Other
[INFO:INFO_OH] Informatique/Autre
Event-based programming
Rule-based programming
Context-aware pervasive computing
Smart computing
Robot programming
Concurrent programming
Embedded programming
Verification and validation
Static analysis
Model checking
Le, Truong Giang
Using Event-Based and Rule-Based Paradigms to Develop Context-Aware Reactive Applications.
description Context-aware pervasive computing has attracted a significant research interest from both academy and industry worldwide. It covers a broad range of applications that support many manufacturing and daily life activities. For instance, industrial robots detect the changes of the working environment in the factory to adapt their operations to the requirements. Automotive control systems may observe other vehicles, detect obstacles, and monitor the essence level or the air quality in order to warn the drivers in case of emergency. Another example is power-aware embedded systems that need to work based on current power/energy availability since power consumption is an important issue. Those kinds of systems can also be considered as smart applications. In practice, successful implementation and deployment of context-aware systems depend on the mechanism to recognize and react to variabilities happening in the environment. In other words, we need a well-defined and efficient adaptation approach so that the systems' behavior can be dynamically customized at runtime. Moreover, concurrency should be exploited to improve the performance and responsiveness of the systems. All those requirements, along with the need for safety, dependability, and reliability pose a big challenge for developers.In this thesis, we propose a novel programming language called INI, which supports both event-based and rule-based programming paradigms and is suitable for building concurrent and context-aware reactive applications. In our language, both events and rules can be defined explicitly, in a stand-alone way or in combination. Events in INI run in parallel (synchronously or asynchronously) in order to handle multiple tasks concurrently and may trigger the actions defined in rules. Besides, events can interact with the execution environment to adjust their behavior if necessary and respond to unpredictable changes. We apply INI in both academic and industrial case studies, namely an object tracking program running on the humanoid robot Nao and a M2M gateway. This demonstrates the soundness of our approach as well as INI's capabilities for constructing context-aware systems. Additionally, since context-aware programs are wide applicable and more complex than regular ones, this poses a higher demand for quality assurance with those kinds of applications. Therefore, we formalize several aspects of INI, including its type system and operational semantics. Furthermore, we develop a tool called INICheck, which can convert a significant subset of INI to Promela, the input modeling language of the model checker SPIN. Hence, SPIN can be applied to verify properties or constraints that need to be satisfied by INI programs. Our tool allows the programmers to have insurance on their code and its behavior.
author Le, Truong Giang
author_facet Le, Truong Giang
author_sort Le, Truong Giang
title Using Event-Based and Rule-Based Paradigms to Develop Context-Aware Reactive Applications.
title_short Using Event-Based and Rule-Based Paradigms to Develop Context-Aware Reactive Applications.
title_full Using Event-Based and Rule-Based Paradigms to Develop Context-Aware Reactive Applications.
title_fullStr Using Event-Based and Rule-Based Paradigms to Develop Context-Aware Reactive Applications.
title_full_unstemmed Using Event-Based and Rule-Based Paradigms to Develop Context-Aware Reactive Applications.
title_sort using event-based and rule-based paradigms to develop context-aware reactive applications.
publisher Conservatoire national des arts et metiers - CNAM
publishDate 2013
url http://tel.archives-ouvertes.fr/tel-00953368
http://tel.archives-ouvertes.fr/docs/00/95/33/68/PDF/These_-_-_-_Truong_-_Giang_-_Le.pdf
work_keys_str_mv AT letruonggiang usingeventbasedandrulebasedparadigmstodevelopcontextawarereactiveapplications
_version_ 1716648843116806144