1 research outputs found

    A Programming Model for Internetworked Things

    Get PDF
    The Internet of Things (IoT) emerges as a system paradigm that encompasses a wide spectrum of technologies and protocols related to Internetworking, services computing, and device connectivity. The main objective is to achieve an environment whereby physical devices and everyday objects can communicate and interact with each other over the Internet. The Internet of Things is heralded as the next generation Internet, and introduces significant opportunities for novel applications in many different domains. What is missing right now is a programming model whereby developers as well as end-users can specify any addressable resource at a higher level of abstraction, and consequently utilize these abstractions to define compositions, or scripts, among resources that allow for the customizable exchange of data among the resources, the evaluation of conditions based on exchanged data, and the enactment of actions provided that specific events occur and specific conditions are met. In this thesis, we investigate the problem of designing a programming model for composing resource or things , with applications in the IoT domain, and implement a proof of concept prototype in order to evaluate the feasibility of such a programming model. More specifically, this thesis attacks the problem of devising an IoT programming model from three directions. The first direction is the design of a Meta-Object Facility meta-model, that allows for URI addressable entities to be specified at a higher level of abstraction. Such a meta-model can be considered as domain specific language that allows for the denotation of \emph{types} of entities (resources) in different application domains. The second direction is the design of an actionable composition model for IoT devices and other URI addressable resources. In this respect, this thesis investigates the use of the Event-Condition-Action paradigm as a basis of a runtime environment whereby action models can be enacted once events occur and condition models are fulfilled. A resource composition model also allows for resources to exchange data through input and output plugs implemented on top of the OPC UA publish subscribe middleware. The third direction deals with the design of a layered architecture that allows for scalability, robustness, security, and fault tolerance to be considered. Such an architecture takes advantage of a publish subscribe framework and utilizes proxies and facades to efficiently connect with third party components
    corecore