Show simple item record

dc.contributor.advisorHaahr, Mads
dc.contributor.authorReilly, Sean
dc.date.accessioned2016-11-07T16:30:12Z
dc.date.available2016-11-07T16:30:12Z
dc.date.issued2011
dc.identifier.citationSean Reilly, 'Extending event based programming for sensor-driven applications in resource-constrained environments', [thesis], Trinity College (Dublin, Ireland). School of Computer Science & Statistics, 2011, pp 252
dc.identifier.otherTHESIS 9539
dc.identifier.urihttp://hdl.handle.net/2262/77652
dc.description.abstractThe ubiquitous computing vision which began with Weiser and its evolution since predicts large quantities of sensors, actuators and computational devices embedded in our environment enabling advanced applications which increase the ambient intelligence of the environment. As the prevalence of these devices increase, this vision is moving closer to reality. The large quantities of sensors have the potential to enable a range of sensor-rich applications in diverse domains such as healthcare, computer augmented sports, intelligent homes and smart offices. Within this class of sensor-rich applications are two subsets, sensor monitoring applications and sensor driven applications. Sensor monitoring applications are applications that monitor sensors and transmit data to an external sink. The second sub-set of these sensor-rich applications which we call sensor-driven applications, i.e. applications that change their behaviour in response to sensor input, will provide the main instantiation of the ubiquitous computing vision. Sensor driven applications have two defining characteristics. Firstly they have multiple sensors and secondly they need to combine the data from these multiple sensors in order to drive the behaviour of the application. There are a large amount of challenges in pervasive computing, ranging from privacy, trust, heterogeneous devices and real-time applications to resource usage, routing, reliability and fault tolerance. In this thesis we focus on programming challenges which must be overcome when developing ubiquitous computing applications. Despite the fact that there are so many different types of applications a large amount of these applications share a common challenge, which is the need to deal with multiple sensor streams. Two challenges related to dealing with multiple sensor streams which we address in this thesis are the complexity of combining multiple sensor streams and the challenge of dealing with large quantities of continuous data. As the number of sensors in the system increases the developer must find a way to combine the various streams of sensor data in order to perform meaningful multi-sensor data fusion and drive the behavior of the application. The continuous nature of sensor data also provides challenges to the developer. Previous work in this area is split in two main categories, event processing and stream processing. Event based programming is popular for developing a large range of applications but has been found to be particularly useful for developing ubiquitous computing applications. The asynchronous nature of the communication, the decoupled development and the fact that it is relatively easy to map sensed phenomena to events has led to event based programming being a standard approach to developing ubiquitous computing applications. Stream processing is an area that ranges from stream oriented programming languages in which streams are a first class type to large middleware systems devoted to the manipulation of streams. These large systems are used to perform continuous queries over streams of data in an analogous way to traditional database queries. Stream processing provides facilities for dealing with large quantities of sensor data and performing queries and operations across this data. However despite providing abstractions which could prove beneficial to developers stream processing has largely not yet been adopted by ubiquitous computing developers. Both of these solutions to the challenges of developing applications in the domain of sensor-driven applications have their own individual merits. Event based programming is a well proven to tool of developers of ubiquitous computing applications while stream processing has specialised abstractions for combining streams and handling continuous data. In this thesis we propose a novel model that combines elements from stream processing with event based programming in order to make it more suitable for developing sensor-driven applications. This thesis provides a set of abstractions which are used to extend event based programming to make it more suitable for developing sensor-driven applications. The combined model, Architecture for fusing events using streams and execution policies (AESOP) makes it easier for programmers to combine sensor streams by providing multi-event handlers and execution policies. AESOP also provides event streams which are abstractions that reduce the burden on the developer caused by programming with continuous data. The large range of ubiquitous computing platforms places additional challenges on any abstractions that aim to be applicable in the domain. As a large number of these platforms are resource-constrained any general solution must also be suitable for resource-constrained platforms. The AESOP extensions are also designed to be useful with any underlying event model, be it peer-to-peer, implicit or mediator. To evaluate the approach, we examine the generality of the abstractions and their suitability for writing sensor-driven applications. To evaluate our abstractions we have implemented two instantiations of the AESOP model. The first, C-AESOP is written in C on the Gumstix platform. It is implemented on top of the STEAM event model. The second implementation, J-AESOP is written in Java on the Android platform and uses an event model based on the event listener pattern. The abstractions are shown to be general across programming languages, event models and applications. They are also shown to be suitable for solving the challenges of combining sensor streams and dealing with continuous data and also that the abstractions are suitable for use on resource constrained platforms.
dc.format1 volume
dc.language.isoen
dc.publisherTrinity College (Dublin, Ireland). School of Computer Science & Statistics
dc.relation.isversionofhttp://stella.catalogue.tcd.ie/iii/encore/record/C__Rb15116398
dc.subjectComputer Science, Ph.D.
dc.subjectPh.D. Trinity College Dublin
dc.titleExtending event based programming for sensor-driven applications in resource-constrained environments
dc.typethesis
dc.type.supercollectionrefereed_publications
dc.type.supercollectionthesis_dissertations
dc.type.qualificationlevelDoctoral
dc.type.qualificationnameDoctor of Philosophy (Ph.D.)
dc.rights.ecaccessrightsopenAccess
dc.format.extentpaginationpp 252
dc.description.noteTARA (Trinity's Access to Research Archive) has a robust takedown policy. Please contact us if you have any concerns: rssadmin@tcd.ie


Files in this item

Thumbnail
Thumbnail

This item appears in the following Collection(s)

Show simple item record