2007 International Journal of Cooperative Information Systems  
Wireless Sensor Networks (WSN) are a very promising research field since they are applicable in many different areas. Current proposals for WSN system development are mainly focused on implementation issues and rarely use a Software Engineering methodology to support their development life-cycle. The Model-Driven Engineering (MDE) approach can be used as a solution to this by allowing designers to model their systems at different abstraction levels, providing them with automatic model
more » ... tions to incrementally refine abstract models into more concrete ones. In this vein, this paper presents a MDE approach to WSN application development. Three levels of abstraction have been defined which allow designers to build: (1) domain-specific models, (2) component-based architecture descriptions, and (3) platform-specific models. Automatic model transformations between these three abstraction levels have been designed and, in order to demonstrate the viability of the proposal, a real WSN application has been developed using the implemented tools. Keywords: Model-driven engineering; component-based software architecture; domain specific languages; wireless sensor networks; Eclipse platform. * Corresponding author. 394 C. Vicente-Chicote et al. programming language (e.g. NesC 5 ). The lack of a Software Engineering methodology to support the development life-cycle of these applications, commonly results in highly platform-dependent designs, difficult to maintain, scale and reuse. The Model-Driven Engineering (MDE) approach can help reduce this dependence of the software development process on the final execution platforms 6 . MDE revolves around models (defined at different levels of abstraction), and model transformations aimed at incrementally refining models into final application code. Models are defined in terms of formal meta-models (or modeling languages). These include the concepts needed to describe a system (or a set of systems) at a certain level of abstraction, and the relationships existing between them. In order to describe the model transformations needed to refine abstract models into more concrete ones, a mapping between their corresponding meta-models must be defined. Thus, applying a MDE approach requires defining both, the appropriate meta-models and the corresponding model transformations. This paper presents a MDE approach to WSN application development aimed at improving the flexibility, scalability, maintainability, and reusability of their designs. Three meta-models have been defined at different levels of abstraction together with the corresponding model transformations. The proposed scheme allows designers to model their systems using only the WSN domain concepts included in the highest level metamodel. These initial models are then successively refined through automatic model transformations until the final application code is generated. Before entering into details, the following section presents a motivation example based on a real WSN application for precision agriculture, which highlights the lack of flexibility and reusability of current WSN application designs. This is followed by an outline of the research goals and process. Then, the rest of the paper is organized as follows. First, Section 2 briefly presents the platform selected to implement the tools developed as part of this work. Then, the different meta-models and model transformations implemented as part of the proposal are presented in sections 3 to 6. Section 7 reviews some related works, and section 8 presents the conclusions of the paper and some future research lines. Finally, the paper includes two appendixes: the first one presents an excerpt of one of the model transformations implemented as part of this work, and the second one, shows an excerpt of the final application code obtained as a result of applying this transformation to an example input model. A Motivation Example The MITRA WSN application consists of thirty TinyOS-based nodes deployed in an almond orchard located in the semiarid region of Murcia, in the southeast of Spain. Given the shortage of water in this region, the prime objective of the system is to regulate tree irrigation according to water stress, that is, to water the trees only when it is needed. Water stress is measured using the heat pulse compensation method. This method consists of generating a heat pulse through the axial line of the tree trunk and measuring the sap temperature at two different points along this line. Similar temperatures indicate a fast sap flow and this suggests that some watering is needed. Applying MDE to the development of flexible and reusable wireless sensor networks 395
doi:10.1142/s021884300700172x fatcat:jtgyahwxpzda5kclxk4337bfba