作者: A Salman
DOI:
关键词: Software engineering 、 Wireless sensor network 、 End user 、 nesC 、 Code generation 、 Reuse 、 Software 、 Computer science 、 Usability 、 Programming complexity
摘要: Wireless Sensor Network (WSN) is a collection of small and low-powered gadgets called sensor nodes (motes), which are capable sensing the environment, collecting processing sensed data, communicating with each other to accomplish specific task. Moreover, all processed data finally handed over central gathering point base station (sink), where collected stored can be reviewed by user. Most current methods concerning WSN development application or platform-dependent; hence it not trivial task reuse developed applications in another environment. Therefore, challenging complex because low-level technical details programming complexity. Furthermore, most projects managed software engineers, field experts end users. Consequently, solutions considered expensive, due amount effort that has put into these projects. This research project aims reduce complexity developing applications, abstracting for average developers domain experts. In this research, we argue reducing achieved defining new Domain-Specific Language (DSL) as abstraction, supports multi-levels modelling (i.e. network, group, node-level). The outcome work definition language SenNet, an open source DSL abstraction enables concentrate on high-level logic rather than details. SenNet was using principles Model-Driven Development (MDD) macro-programming. Developers use auto-generate ready-to-deploy single node nesC code comprise application. gives flexibility they need offering them broad range predefined monitoring tasks activities, enabling develop different types such Sense-Forward (SF), Event-Triggered (ET); besides providing set node-level in-network tasks. version configured generate code, yet up produce any Java, C++, reconfiguring generator format, without changing design produced semantics. Various tests user study have been used evaluate SenNet’s usability functional suitability. Evaluation results found could save 88.45% LOC required programmed developer, 87.14% vocabularies. showed 92.86% 96.47% program length volume respectively. participants (96%) usable helps achieve reduced effort. 82% believe functionally suitable development. Two real-world business case studies were assess appropriateness real how related Based final evaluation results, concluded our successful introducing process.