Enabling High-Level Application Development in Internet of Things
Résumé
The Internet of Things (IoT) combines Wireless Sensor and Actuation Networks (WSANs), Pervasive computing, and the elements of the ''traditional'' Internet such as Web and database servers. This leads to the dual challenges of scale and heterogeneity in these systems, which comprise a large number of devices of different characteristics. In view of the above, developing IoT applications is challenging because it involves dealing with a wide range of related issues, such as lack of separation of concerns, need for domain experts to write low level code, and lack of specialized domain specific languages (DSLs). Existing software engineering approaches only cover a limited subset of the above-mentioned challenges. In this work, we propose an application development process for the IoT that aims to comprehensively address the above challenges. We first present the semantic model of the IoT, based on which we identify the roles of the various stakeholders in the development process, viz., domain expert, software designer, application developer, device developer, and network manager, along with their skills and responsibilities. To aid them in their tasks, we propose a model-driven development approach which uses customized languages for each stage of the development process: Srijan Vocabulary Language SVL for specifying the domain vocabulary, Srijan Architecture Language(SAL) for specifying the architecture of the application, and Srijan Network Language SNL for expressing the properties of the network on which the application will execute; each customized to the skill level and area of expertise of the relevant stakeholder. For the application developer specifying the internal details of each software component, we propose the use of a customized generated framework using a language such as Java. Our DSL-based approach is supported by code generation and task-mapping techniques in an application development tool developed by us. Our initial evaluation based on two realistic scenarios shows that the use of our techniques/framework succeeds in improving productivity while developing IoT applications.
Origine | Fichiers produits par l'(les) auteur(s) |
---|
Loading...