18
views
0
recommends
+1 Recommend
0 collections
    0
    shares
      • Record: found
      • Abstract: found
      • Article: found
      Is Open Access

      Enabling High-Level Application Development for the Internet of Things

      Preprint
      ,

      Read this article at

      Bookmark
          There is no author summary for this article yet. Authors can add summaries to their articles on ScienceOpen to make them more accessible to a non-specialist audience.

          Abstract

          Application development in the Internet of Things (IoT) is challenging because it involves dealing with a wide range of related issues such as lack of separation of concerns, and lack of high-level of abstractions to address both the large scale and heterogeneity. Moreover, stakeholders involved in the application development have to address issues that can be attributed to different life-cycles phases. when developing applications. First, the application logic has to be analyzed and then separated into a set of distributed tasks for an underlying network. Then, the tasks have to be implemented for the specific hardware. Apart from handling these issues, they have to deal with other aspects of life-cycle such as changes in application requirements and deployed devices. Several approaches have been proposed in the closely related fields of wireless sensor network, ubiquitous and pervasive computing, and software engineering in general to address the above challenges. However, existing approaches only cover limited subsets of the above mentioned challenges when applied to the IoT. This paper proposes an integrated approach for addressing the above mentioned challenges. The main contributions of this paper are: (1) a development methodology that separates IoT application development into different concerns and provides a conceptual framework to develop an application, (2) a development framework that implements the development methodology to support actions of stakeholders. The development framework provides a set of modeling languages to specify each development concern and abstracts the scale and heterogeneity related complexity. It integrates code generation, task-mapping, and linking techniques to provide automation. Code generation supports the application development phase by producing a programming framework that allows stakeholders to focus on the application logic, while our mapping and linking techniques together support the deployment phase by producing device-specific code to result in a distributed system collaboratively hosted by individual devices. Our evaluation based on two realistic scenarios shows that the use of our approach improves the productivity of stakeholders involved in the application development.

          Related collections

          Most cited references34

          • Record: found
          • Abstract: not found
          • Article: not found

          A Conceptual Framework and a Toolkit for Supporting the Rapid Prototyping of Context-Aware Applications

            Bookmark
            • Record: found
            • Abstract: not found
            • Article: not found

            The many faces of publish/subscribe

              Bookmark
              • Record: found
              • Abstract: not found
              • Article: not found

              TinyDB: an acquisitional query processing system for sensor networks

                Bookmark

                Author and article information

                Journal
                2015-01-21
                Article
                1501.05080
                0e250d24-b895-44b9-b368-b2e4a45d9e90

                http://arxiv.org/licenses/nonexclusive-distrib/1.0/

                History
                Custom metadata
                Journal of Systems and Software, Elsevier, 2015, pp.1 - 26
                cs.SE
                ccsd

                Software engineering
                Software engineering

                Comments

                Comment on this article