User Tools

Site Tools


research:recap

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
research:recap [2010/07/31 17:08]
stijnm Brief
research:recap [2010/07/31 18:23]
stijnm added
Line 1: Line 1:
-~~NOTOC~~ 
-===== Reactive Context-Aware Programming ===== 
-[[http://soft.vub.ac.be/soft/members/stijnmostinckx|Stijn Mostinckx]] 
  
-<note> 
-This page is under construction, some sections are not yet completed. Please refer to the [[:research:rfid#further_reading|further reading]] section for a full text. 
-</note> 
- 
-Reactive Context-Aware Programming (ReCAP) extends the ambient-oriented programming paradigm to tailor it for the Internet of Things (IoT): a network environment in which physical objects are given an embedded digital representation.   
- 
-This enables IoT applications to detect the proximity and/or availability of physical objects and use this information to provide context-sentive services and information.  The ReCAP paradigm supports the development of such application as follows. 
- 
-==== Causally Connected Applications ==== 
-† Quick-link: [[research:rp|Reactive programming]] 
- 
-IoT applications are //causally connected// to their environment; the presence, proximity and current state of nearby devices and physical objects is used to customize the services and information offered by the application. 
- 
-Reacting to changes in the environment requires registering one or more event handlers.  For instance, if an AmbientTalk application wants to respond to the appearance and disappearance of nearby devices, it has to register ''whenever:discovered'' and ''whenever:disconnected'' event handlers.   
- 
-The use of such event handlers introduces an //inversion of control//, where the control flow of the application is scattered across a number of event handlers.  This inversion of control is particularly jarring if the application logic demands the use of 
-additional event handlers to propagate environmental changes to modules which are only indirectly affected by them.   
- 
-Note that it is often possible to avoid the inversion of control altogether.  For instance, to abstract over (dis)appearing communication partners, one can use an [[research:ambientrefs|ambient reference]]. In the general case, the inversion of control can often be removed through the use of [[research:rp|reactive programming]]. 
- 
-==== Window on the World ==== 
research/recap.txt · Last modified: 2010/07/31 18:23 by stijnm