You are on page 1of 22

The Journal of Systems and Software 132 (2017) 50–71

Contents lists available at ScienceDirect

The Journal of Systems and Software


journal homepage: www.elsevier.com/locate/jss

Modeling and automatic code generation for wireless sensor network


applications using model-driven or business process approaches: A
systematic mapping study
Sergio Teixeira a,d,e,∗, Bruno Alves Agrizzi a, José Gonçalves Pereira Filho a, Silvana Rossetto b,
Roquemar de Lima Baldam a,c
a
Departamento de Informática, Universidade Federal do Espírito Santo (UFES), Vitória, ES, Brasil
b
Departamento de Ciência da Computação, Universidade Federal do Rio de Janeiro (UFRJ), Rio de Janeiro, RJ, Brasil
c
Instituto Federal do Espírito Santo (IFES), Vitória, ES, Brasil
d
Universidade Católica de Brasília (UCB), Brasília, DF, Brasil
e
Centro Universitário Católico de Vitória (UCV), Vitória, ES, Brasil

a r t i c l e i n f o a b s t r a c t

Article history: This systematic mapping study investigates the modeling and automatic code generation initiatives for
Received 25 December 2016 wireless sensor network applications based on the IEEE 802.15.4 standard, trying to understand the rea-
Revised 14 June 2017
sons, characteristics and methods used in the approaches available in the scientific literature, identifying
Accepted 15 June 2017
research gaps and potential approaches that can be better exploited, indicating new possibilities of re-
Available online 19 June 2017
search. The focus is on studies that follow the Model-Driven or Business Process approaches.
Keywords: © 2017 Elsevier Inc. All rights reserved.
Systematic mapping study
Wireless sensor networks
Model-driven development
Business process

1. Introduction tiny nodes with processing, storage, communication and sensing


capacities that allow their users to interact and observe in detail,
The Internet of Things (IoT) (Haller et al., 2009; Ruppen et al., capillarity and precision, the most varied environments, important
2015) is a new concept of Internet featuring the vision of a global component of monitoring and control solutions in areas these net-
network of smart objects interconnected and accessible by the use works huge potential for applications in many areas and fields of
and adaptation of protocols and well-defined communication stan- IoT, allowing them to present themselves as an various scenarios.
dards of the current Internet. In the scenario of the Future Internet, For example, in Smart City (Su et al., 2011) scenarios, WSN can be
objects from the concrete world are embedded with processing, used in the implementation of observation services and control as-
storage, wireless communication and sensing capabilities in a ubiq- pects of daily city life, such as surveillance of public spaces, build-
uitous and integrated way to create IoT applications. This integra- ings and other civilian structures, monitoring of rivers, streams and
tion allows these objects to be seen by other Internet applications urban forests, monitoring of disaster risk areas, support to urban
or by the business process as autonomous entities with proactive mobility, tracking and tracing of loads and objects.
behavior, knowledge of the surrounding environment, and the abil- Companies and business corporations realized that the addi-
ity to communicate and collaborate with each other as well as with tional processing capabilities offered by smart devices located in
users and systems. the network edges can be conveniently used to their benefit, trans-
Wireless Sensor Networks (WSN) (Akyildiz et al., 2002; Loureiro ferring to these devices the responsibility for implementing part of
et al., 2003; Souza, 2013; Yick et al., 2008) are important compo- their business process logic. Given the huge population of devices,
nents of the IoT universe. They provide essential tools in the phys- it seems appropriate to explicitly promote scalability and foster
ical world magnitudes monitoring. WSN are structures formed by business process performance. As discussed in Ruppen and Meyer
(2013), this population of smart devices forms a new distributed
digital work force, hosting a wide range of new services for obser-

Corresponding author at: Departamento de Informática, Universidade Federal do vation, measurement and collection of information from the sur-
Espírito Santo (UFES), Vitória, ES, Brasil. rounding environment. This enables a much closer, more sophisti-
E-mail address: sergio@multicast.com.br (S. Teixeira).

http://dx.doi.org/10.1016/j.jss.2017.06.024
0164-1212/© 2017 Elsevier Inc. All rights reserved.
S. Teixeira et al. / The Journal of Systems and Software 132 (2017) 50–71 51

cated and more complete monitoring of entities in the real world, cations (Berardinelli et al., 2014; Rodrigues et al., 2015a, 2015b;
with potential benefits for innovative applications to support or- Schwalb et al., 2012).
ganizations and their business processes. Furthermore, the avail- Despite the existence of several studies proposing to simplify
ability of a larger volume of data on the entities of interest result the modeling and code generation process for WSN/IoT appli-
from interactions with the physical world and their readiness for cations, and regardless of the use of Model-Driven or BPM ap-
the level of business processes in near real-time, can help compa- proaches, recent research has shown that some issues have proven
nies define new business strategies, such as differentiated plans for very relevant to many IoT scenarios which directly influence the
perishables sales, or even guide dynamic process reconfiguration way an approach explores the best manner to address methods,
to achieve faster reactions to observed changes in the real world, mechanisms and techniques to simplify the entire code genera-
leading to more competitive business. tion process (Akbal-Delibas et al., 2009; Caracas, 2012; Rodrigues
Building IoT real-world applications, however, can be a chal- et al., 2015b; Ruppen and Meyer, 2013; Tranquillini et al., 2012).
lenge, even for experienced developers, because it requires low- Among these issues it is possible to identify some relevant con-
level programming skills related to the sensors’ hardware platform cerns: (i) whether or not it exploits high-level requirements such
and operating system abstractions, together with a deep under- as context-awareness or quality of service (QoS); (ii) the way the
standing of the application domain and the business model re- approach is concerned with saving energy; (iii) whether or not it
quirements, and the high-level rules that may affect the applica- uses some kind of middleware support; (iv) whether or not it per-
tion behavior in an environment with resource-constrained hard- forms some type of service orientation or cloud strategies in the
ware devices. process; (v) whether or not it addresses some form of code updat-
One major challenge is to design solutions that simplify the ap- ing and not just the code generation for the first deployment so-
plication development process, taking into consideration the par- lution. Furthermore, since the modeling and code generation pro-
ticipation of the different stakeholders involved. In general, IoT ap- cess can be very complex in some real-world IoT scenarios, it may
plications are designed to resolve a specific domain problem with require the engagement of multidisciplinary development teams.
well-defined rules, events and functionalities. Therefore, develop- Consequently, this may result in several stakeholders with differ-
ers must provide the mapping of high-level requirements of the ent interests and skill levels working together during the develop-
specific problem to low-level programming in a specific or suit- ment process. Therefore, the roles should be defined according to
able hardware platform. This fact creates a high coupling degree real-world professional profiles in order to increase the chances of
between the business logic and the sensor hardware platform, re- the success of the project.
sulting in little flexibility and great difficulty in maintenance pro- Considering the vast spectrum of potential IoT applications and
cesses due to the large platform dependence. domains, it is central to investigate in which extension the whole
The above scenario brings up two important issues: (i) appli- or a subset of these issues are taken into consideration at de-
cation developers have to deal with many aspects of the develop- sign level and actually implemented by current modeling and code
ment process at different abstraction levels; (ii) the participation generation approaches focused on IoT development. This paper
and interaction of the domain expert is relatively low in the entire reviews modeling and automatic code generation initiatives for
process, especially due to the high learning curve of the program- WSN-based IoT applications grounded on the IEEE 802.15.4 stan-
ming languages and platform operating systems. dard (IEEE Computer Society, 2011) trying to understand their main
One strategy to address the two issues above is to promote characteristics, design choices, identifying research gaps, and indi-
the separation of concerns as it is known in software engineering, cating new possibilities of research. The focus is on studies that
i.e. a design method to address only a limited set of concerns in follow the Model-Driven or Business Process approaches. The IEEE
each of a series of design steps. Particularly, in this case, we are 802.5.14 (Gutierrez et al., 2001; IEC, 2014) was chosen for being the
considering two views: first, the concerns related to the low-level most relevant WSN communication standard today for short-range
programming details, configurations, communication protocols and transmission with low cost, complexity and low energy consump-
environmental sensing; second, the concerns related to the high- tion. All the studies investigated in this systematic mapping use
level rules and business logic, together with the domain sensing this standard in their physical and data link layers.
events and how to specify them. There are many other regional or market specific standards that
This separation of concerns helps to clearly contrast and specify are based on the IEEE 802.15.4, such as ZigBee® (Jindal, V., Verma,
the roles and performed activities between the domain expert and 2016), WirelessHART (Chen et al., 2014), WIA-PA (Wang et al.,
the WSN expert (low-level programmer), which could improve the 2011) and ISA.100.11a (Azad, S., Srinivasan, 2016). Various revisions
domain expert participation and interactivity in the design and ap- have been made since the initial standard was published in 2003.
plication process development. In this approach, experienced pro- Several amendments were added in 2006 and 2011 that cover ad-
grammers would act in the treatment of sensing aspects, consider- ditional physical layer protocols, regional frequency bands and spe-
ing the hardware platform architecture of the node and the com- cific application areas (IEEE Computer Society, 2012). For example,
munication protocols. The definition of rules and events of the ap- it can now be used at 80 0/90 0 MHz and 2.4 GHz and with ultralow
plication domain would be dealt with by domain expert who has power operation and in specific applications like train control or
a much more specialized knowledge of business rules logic. Of health/medical monitoring.
course, it is essential that the rules be easily described and under- This paper uses the Systematic Mapping Study method to pro-
stood by the domain expert. The language used for rule descrip- vide a wide overview of this research area, finding and show-
tion should have the flexibility to change and build new rules and ing evidence within a topic of interest, and using well-defined
events, since these domain features are generally dynamic. methodology to identify, analyze and interpret all available evi-
Various efforts in this direction have been made over the dence related to the specific research questions in an unbiased
years (Doddapaneni et al., 2012; Jan et al., 2012; Nguyen et al., way. This research was based on the follow five research questions:
2016). Particularly in the last few years, it is possible to see an (i) Which high-level aspects are treated by the modeling or code
increasing interest in the use of high-level modeling languages generation process?; (ii) Which strategies are used for controlling
and approaches, such as Business Process Modeling and Notation or reducing the node energy consumption?; (iii) Is there any type
(BPMN) and Model-driven Design Development (MDD), to address of middleware supporting the modeling or code generation pro-
the modeling and the code generation process for WSN/IoT appli- cess?; (iv) Does the approach for modeling and code generation
apply some sort of service-orientation in their conceptual architec-
52 S. Teixeira et al. / The Journal of Systems and Software 132 (2017) 50–71

ture or deployment process?; (v) Does the approach allow any type the user requirements and the modeling methodology to produce
of dynamic code update after the code generation process? a target model from an input model.
The objective of this mapping is to investigate studies that pro- The model-driven approach was first adopted by Object Man-
pose a method to simplify the modeling and code generation pro- agement Group (OMG) in 20 01 (Mellor et al., 20 04). The three pri-
cess for WSN-based IoT solutions. With the results of such a sys- mary goals stated were portability, interoperability and reusability,
tematic mapping, it is possible to identify and show gaps or topics driven through the separation of concerns. This means that only a
that are suitable for conducting a Systematic Literature Review or limited set of design concerns are addressed in each of a series of
further research study. design steps, according to the stepwise design.
A systematic mapping provides a broader view of a topic and There are a lot of concepts, principles, architectures, standards,
acts as a pointer, indicating gaps and opportunities for new re- structures and methodologies related to the model-driven ap-
search. On the other hand, a systematic review, implies a more in- proaches. In order to clarify and standardize the terms that are
depth study of the research questions of a particular topic (Souza used in this systematic mapping, it is important to characterize the
et al., 2015). Systematic mapping search terms that are broader or most commonly used ones. The Model-driven Design Development
less highly focused and may return large numbers of papers. This (MDD) is a programming paradigm that uses a symbolic represen-
is appropriate when broad coverage is required rather than nar- tation of a project through an unambiguous, concise and complete
row focus that the systematic study provides. The protocol used in language.
this work, i.e., the plan that describes the conduct of the proposed The Model-Driven Architecture (MDA) is an approach and an ar-
review, is available as a spreadsheet and contains all the results chitectural framework for software development using models in
from each stage, including the graphics produced and used in this an MDD paradigm. Model-Driven Engineering (MDE) is a broader
review (Teixeira et al., 2016). concept than that of MDD and MDA. MDE is an approach that
The remainder of this paper is organized in the following way. uses different levels of abstraction in an MDD paradigm to trans-
Section 2 presents a brief overview of background concepts re- form high-level models to low-level models until reaching the exe-
lated to the modeling and automatic code generation initiatives cutable model. This mapping study uses the term MDE to identify
for WSN/IoT, as well as relevant concepts related to the research and characterize an MDE-based approach.
questions and correlated mapping research. Section 3 discusses The design process uses a modeling language to transform de-
and presents the research method applied to perform this map- sign concepts into rules and symbolic artefacts. Unified Model-
ping study, including their implications and limitations. Section ing Language (UML)(Object Management Group (OMG), 2002), the
4 presents the results and discussion. Finally, Section 5 completes well-known general modeling language used to specify, visualize,
the paper, presenting closing notes and pointing out future re- and document models of software artefacts, is the most commonly
search works. OMG modeling language adopted by MDE approaches.
According to the OMG (Truyen, 2006), there are three standard
models in MDD: Computation Independent Model (CIM), Platform In-
2. Background
dependent Model (PIM) and Platform Specific Model (PSM). The CIM,
which can also be called a business model or a domain model,
This section presents the main concepts related to the research
provides a way to characterize business or domain specific char-
questions and topics addressed in this systematic mapping study.
acteristics without any concern or specification of a computable
model (Object Management Group (OMG), 2014). The “instances”
2.1. MDE-based approaches of the CIM are “real things”, not representations of those things in
an information system. The PIM characterize the application func-
Real-world enterprise systems coexist in an environment that tionality, regardless of the platform, in order to enable mapping to
is characterized by the constant rise of new demands and applica- one or more platforms. The PSM combines the specifications with
tion requirements. The increasing complexity, the wide variety of additional details necessary to characterize specific aspects of the
systems and technologies with different types of clients, including target platform in which the application will run.
desktops, thin clients, mobile, and web clients, requires software In a WSN application scenario, it is possible for domain ex-
development approaches that are able to reduce the maintenance perts to model, through the CIM, the features and characteristics
costs, improve the quality and longevity of systems and facilitate of a WSN application without worrying about the computing as-
the work of development teams to reuse parts already developed pects. At the level of PIM modeling, it is not the designer task
to generate new things. to worry about the platform in which the sensor code will run.
Model-driven approaches are appropriate alternatives to ad- PSM modeling deals with the specificities of each platform, gen-
dress the challenges of the enterprise system development pro- erating a PSM for each one. For example, a PIM models the WSN
cess. They offer suitable architectures and methods which simplify application regardless of hardware platform (SUNSpot (“Sun SPOT
the task of integrating software and heterogeneous technologies World,” 2016), MicaZ (MEMSIC, 2016), TelosB (MEMSIC, 2016)), and
that need to interoperate with quality, speed and effectiveness. The the PSM deals with models for specific platform and operating sys-
model-driven design process adopts incremental and interactive tem (e.g. TinyOS (“TinyOS,” 2016) and Contiki (“Contiki,” 2016)).
development of distributed applications from abstract representa- One of the pioneer MDE approaches for the WSN code gener-
tions using a framework to generate an executable model (Almeida, ation was proposed by Losilla et al. (2007). They defined a WSN
2006). The process is grounded on model transformations, which domain-specific language to build models with functional and
means that it requires mapping between models to produce a tar- non-functional requirements. They also specified a nesC1 meta-
get model from a source model, combined with transformation model and a modeling tool for creating new nesC component-
rules. based models, which automatically generates nesC codes for the
A model can be defined as a set of elements to describe any TinyOS (“TinyOS,” 2016) platform. Akbal-Delibas et al. (2009) pro-
physical, abstract or hypothetical reality. A model addresses only posed Baobab, a framework for semi-automatic code generation.
the relevant characteristics from a particular point of view, and ig-
nore or suppress those that are irrelevant. For example, a model-
driven stepwise design process with different abstraction levels 1
nesC (“TinyOS,” 2016) is a component-based, event-driven programming lan-
should define all the modeling activities performed according to guage used to build applications for the TinyOS.
S. Teixeira et al. / The Journal of Systems and Software 132 (2017) 50–71 53

The application scenario generates codes for TinyOS for use in the opers responsible for implementing processes; and business man-
food industry. As an evolution of Losilla’s approach, Rodrigues et al. agers who monitor and manage the processes.
(2015b) proposed ArchWiSeN, a MDA framework to generate WSN BPMN uses a graphic language structured through a set of stan-
codes for TinyOS and SUNSpot (“Sun SPOT World,” 2016) platforms. dard symbols to represent the processes with diagrams. BPMN
The approach provides different developer viewpoints in order to intuitive graphics help both technical and non-technical users in
involve the network expert, who is the WSN specialist. The domain the documentation of the processes at different levels of de-
expert is involved in the development process by using UML. tail. The BPMN specification also provides a mapping between
Thanks to its characteristics, model-driven approach appears the graphic notation and the underlying constructs of execution
to be suitable for developing WSN applications from high-level languages, particularly the Business Process Execution Language
abstraction to low-level code generation for different platforms (BPEL) (Glombitza et al., 2011).
through model transformations. Some important benefits of using Within the last couple of years, IoT has slowly started to pene-
this approach to address sensor node code generation for WSN- trate other markets as well as businesses and organizations have
based solutions include: flexibility to change the PIM or create started contemplating the value that combining IoT within BPM
new PSMs to adapt it to new demands; multiple abstractions level, programs could bring to an organization. This integration brings
which enable different stakeholders with different levels of knowl- analytics, social and mobile capabilities into current processes and
edge to participate in the development process; and suitability to applications which can lead to the desired agility with regard to
the enterprise environment, making it possible to generate sensor critical business decisions. According to Caracas (2012) and Casati
node codes without worrying about the platform level details. et al. (2012) the merge of technologies can help organizations to
support evolving business requirements with robust process mod-
eling tools, standards, and best practices. We can also list other
2.2. BPM-based approaches benefits of merging IoT and BPM (Meyer et al., 2013, 2011; Project,
2015; Sungur et al., 2013): (i) faster access to information from any
Any organization, large or small, is an autonomous system device or environment with a people-centric and customer-centric
in which entities (suppliers, customers, employees, products/ ser- focus; (ii) improved consumer feedback that lead to better process
vices) coexist and interact and basic functions are geared to the or- lifecycles, from design and deployment to analysis and governance;
ganization’s business (production, marketing, sales, accounting and and (iii) accelerated solution deployment, streamlined operations,
finance, human resources, etc). Each of these business functions in- and continuous process improvements.
volves multiple procedures that enable a particular desired result. One of the major current debates is whether or not BPMN fits
In this corporative environment, a Business Process (BP) (Baldam the IoT modeling requirements. BPM professionals have to be able
et al., 2014) has been defined as a set of linked activities and tasks to integrate IoT with BP, adding value to the BM, and aligning the
that find their end in the delivery of a service or product to a use of IoT with day-to-day processes and strategic business objec-
client. Once completed, a BP accomplishes an organizational goal. tives. This issue is discussed by some of the studies in this sys-
A BP describes which activities are performed in the course of a tematic mapping study. For example, Meyer et al. (2013) analyzes
process, which organizational units participate in process execu- the adequacy of BPMN for use in IoT domain. It is claimed that
tion, what input and output data are used, what IT systems are an extension of BPMN is needed in order to be more suitable for
involved, and which events and risks occur during the process ex- modeling BP with IoT. Similarly, the makeSense project (Project,
ecution. In other words, a BP is a set of related actions together 2015; Sungur et al., 2013) proposed a framework that uses a high-
in a logical and consistent manner in order to promote a favorable level language called BPMN4WSN to model WSN applications. New
output for the organization, both internally and externally, regard- types of BPMN elements were proposed in the BPMN4WSN meta-
less of the type or size of the corporation. model in order to offer a more suitable notation to describe the
Since its conception, progress in the BP area has led to the WSN application requirements.
development of various business management systems, which, in
turn, have created an industry for Business Process Management 2.3. Other background aspects related to the research questions
(BPM) software, which seeks to automate process management by
connecting various process actors via technology. In fact, the BP In this section, some important concepts will be presented to
can be considered one of the most important assets of a company, support and better characterize the objectives and rationale of the
because a good characterization of a Business Model (BM) requires research questions.
an effective and well-documented business process. In this way,
the Business Process Management, in the enterprise environment, 2.3.1. High-level modeling aspects
is adopted as a methodology and suitable approach for modeling The ability to model high-level aspects is a relevant issue that
and executing BP according to the BM, and a fast way to respond affects the whole code generation process. By high-level aspects,
to the constant changes in BP. BPM identifies designs, executes, we mean features including, but not limited to, context-awareness,
measures, monitors and improves the BP in order to achieve pos- Quality of Service (QoS) or Semantics. Stakeholders with little or
itive results according to the strategic planning of an organization no low-level knowledge of a platform can benefit from code gen-
(Baldam et al., 2014). eration approaches that allow for the specification of high-level as-
The representation of business processes is done through a pects. This can permit them to specify which aspects are relevant
specific graphic notation, usually incorporated into a modeling and can be considered as new requirements or demands in some
tool. The Business Process Model and Notation (BPMN) is a OMG real-world IoT application scenarios.
graphic notation standard, which has a well-defined structure The relevance of supporting context-awareness was highlighted
and templates for deploying model concepts in an effective way by some of the selected papers in this review. For example, Rosales
((OMG), 2015). BPMN was first proposed in 2004 with the aim of et al. (2010) proposed an architecture for a cold chain logistics sce-
allowing simple, flexible and consistent BP modeling that can be nario and showed the importance of using context sensing data in
performed by non-expert IT professionals. The main goal of BPMN the logistic process to improve the quality of yoghurt. Domingos
is to provide a standard notation that is readily understandable et al. (2010) proposed the integration of IoT and BP in a supply
by all business stakeholders. These business stakeholders include chain management scenario in which sensed data and contextual
business analysts, who create and refine processes; technical devel- information are used to adapt and guide management decisions.
54 S. Teixeira et al. / The Journal of Systems and Software 132 (2017) 50–71

According to Dey (Costa, 2007; Dey and Abowd, 20 0 0), context queuing. As a result, the existing approaches ensuring QoS in the
is understood as any information that characterizes the situation Internet are not applicable in WSNs. A survey of research efforts
of a person, place or object relevant to the application. Context- on QoS for WSN can be found in Chen and Varshney (2004) and
aware applications generally assume that contextual information is Chen et al. (2011).
complete and accurate; however, as a result of noise, failures in Some researchers have worked with QoS aspects at an applica-
sensors and other factors, the sensed data may be subject to error tion level. For example, Jin et al. (2012) proposed network archi-
(Henricksen and Indulska, 2004). Thus, one of the major challenges tectures for smart city applications in order to maintain QoS guar-
of building services and context sensitive applications is knowing antees. Akzhalova (2014) proposed a business process modeling of
how to handle imperfect contexts, as they can lead to inappropri- a QoS-aware service system for oil reservoir automation control in
ate application behavior. order to avoid loss of transmission data and guarantee a certain
Quality of Context (QoC) parameters can be used to measure level of reliability by using, when necessary, an alternative way
the quality of information and solve conflicts that arise in the han- to transfer data. Rodrigues et al. (2015b) presented a code gen-
dling of contextual information. A number of relevant quality met- eration approach using a health monitoring application scenario
rics within the scope of context sensitive applications were sug- that allows to manipulate QoS parameters, such as energy policy or
gested by some research works (Buchholz et al., 2003; Manzoor data transmission rate, at modeling level. In this approach, changes
et al., 2008; Neisse et al., 2008). These may be used as indicators made at modeling level are used as a basis to promote changes in
of contextual information quality. low-level network parameters. For example, it is possible to alter
Quality of Service (QoS) has been defined as the ability to guar- the node duty cycle and extend the radio sleeping time interval.
antee that the service requirements of applications can be met In this systematic mapping study, we look for the presence of
(Balen et al., 2011). A set of QoS parameters, such as latency, modeling support for high-level aspects in the code generation
throughput, and reliability, are used for evaluating the performance process, and analyze how suitable they are, taking into considera-
of networks. Originally, the Internet was conceived as a best-effort tion the dynamic behavior of applications that require increasingly
network, offering no quality guarantees for the supported services. accurate and reliable information.
With its growth and evolution, there has been an increasing de-
mand for multimedia services, which has led Internet research 2.3.2. Energy consumption aspects
groups and Internet standardization boards to pursue solutions for The reduction of energy consumption in the deployment of
effective support of real-time services with QoS assurance. WSN solutions should be a major concern for the stakehold-
Two major end-to-end QoS-signaling approaches for QoS pro- ers. (Anastasi et al., 2009). Since 2003, when the first version of
visioning in the Internet were developed: (i) Integrated Services the IEEE.802.15.4 standard was published (IEEE Computer Society,
(IntServ) (Tian He et al., 2003), which provides hard guarantees; 2011), there have been many studies that explore mechanisms or
and (ii) Differentiated Services (DiffServ) (Karamchati et al., 2017), techniques for the reduction of node energy consumption in a
which offers soft guarantees. WSN. In April 2017, a search of the IEEE Explore Digital Library
IntServ (IETF, 2017a) is a QoS implementation model designed was done using the search string “Wireless Sensor” AND “Energy
to ensure the quality for individual traffic flows using both end- Consumption” and this returned 11,657 studies, reinforcing the rel-
to-end signaling and resource reservation throughout the network. evance of this the topic within the scientific community.
IntServ provides a virtual dedicated link connecting a source and This concern for energy conservation in WSN can be justified
a destination while performing checks of the desired bandwidth by the fact that the network must be able to fulfill the application
and delay requirements to provide per-flow reservation. Therefore, requirements before the battery runs out. In many cases, this may
every node must maintain the state information about every com- require a battery lifetime of several months to years, making en-
munication. The Resource Reservation Protocol (RSVP) (IETF, 2017b; ergy consumption an essential metric in the design of WSNs. Fur-
Pana and Put, 2013) is the most representative example of the thermore, there are contexts in which recharging a battery is un-
IntServ approach. feasible due to the hostile or unpractical environment in which a
DiffServ (IETF, 2017c) is a model that provides QoS assurance by node was deployed.
differentiating the traffic flow. DiffServ offers an improved service The need to saving energy in a WSN raises a central question,
in the traditional best effort model by providing different level of which is: “how can the network lifetime be maximized?” The usual
service classes. For example, DiffServ will decrease the latency in approach to address this problem is to minimize the energy con-
traffic containing streaming video, while providing best effort ser- sumption in one of the communication layers, expecting a reduc-
vice to traffic containing file transfers. Unlike IntServ, each node in tion on the overall energy consumption of the entire network and
DiffServ regards every flow differently; therefore, it is unnecessary the application. This approach includes, for example, creating low-
to provide state information about every flow along the network power hardware at physical layer (Gamal et al., 2002; Shih et al.,
path. 2001; Wang et al., 2001), providing efficient Medium Access Con-
Implementing these two Internet QoS-signaling models directly trol (MAC) protocols at data-link layer (Halkes and Langendoen,
on WSN would not be feasible. WSN has several distinctive char- 2007; Polastre et al., 2004; Rajendran et al., 2003; van Dam and
acteristics that differentiate it from the Internet, including higher Langendoen, 2003) developing energy-aware routing protocols at
loss, resources constraints, and highly dynamic network topology. network layer (Heinzelman et al., 20 0 0; Yu et al., 2001).
These features make implementing QoS in WSN a challenge. At the physical layer, different hardware components can be re-
IntServ depends primarily on saving the bandwidth between designed to be more energy efficient. For instance, improvements
source and destination. At the same time, state information is can be made to modify the transceiver power consumption, such
saved on intermediate nodes. This becomes unfeasible for many as, adjusting the modulation scheme, data rate, or the operational
reasons. For example, the sensor node’s limited memory means duty cycle. At the data-link layer, since transmission is the most
that it cannot save per-flow state information and the route be- energy-consuming task in a sensor node, the most effective way
tween source and destination at the beginning of transmission pro- to conserve energy is by putting the radio transceiver in the (low-
cess is usually unknown. As complex as IntServ, DiffServ faces sim- power) sleep mode whenever communication is not required. Error
ilar problems. As mentioned, DiffServ queues and prioritizes pack- control schemes are also used to minimize packet retransmissions,
ets based on their service priority level, which is a problem for the reducing the power consumed at the transceiver even further. At
sensor nodes that rarely have the memory capacity required for the network level, traffic forwarding is distributed between nodes
S. Teixeira et al. / The Journal of Systems and Software 132 (2017) 50–71 55

in an energy-efficient way by power-aware routing protocols and Among the selected papers, there are some examples that il-
topology management. QoS-based energy-aware routing protocols lustrate how one can use an IoT-middleware to facilitate the code
are useful for achieving balance between energy consumption and generation process. For example, Rodrigues et al. (2015a) proposed
data quality. Furthermore, by incorporating data compression and an extension of a node code generation MDA approach to auto-
aggregation techniques, data transmission can be limited substan- matically generate tailored middleware components according to
tially. This results in fewer transmissions and consequently, a re- a domain point of view, including functional and non-functional
duction in energy consumption by reducing packet size. requirements for a target platform. Another example is a frame-
More recently, energy consumptions has been a concern at work based on BPMN to generate Callas code, a specific language
higher layers as well, for instance, at the application layer. When based on Java and its virtual machine proposed by Domingos et al.
dealing with technical aspects of energy conservation across the (2010). To improve the proposal, they integrate the solution with
different layers, it is possible to make certain decisions that can Middleware Framework For the Internet of Things (MuFFIN), which
directly impact energy consumption. For example, the intervals of is able to execute the Callas code.
temperature readings defined for an application that requires some
type of product or medical monitoring system will directly impact 2.3.4. Service and resource-oriented architecture
the energy consumption of the node. In this way, the monitor- The traditional Information Technology (IT) model is in decline
ing process identifies the largest acceptable interval between tem- within the enterprise environment (Hughes, A., Murray, 2015). A
perature readings resulting in a reduced number of transmissions survey conducted in 2015 by the International Data Corporation
and, consequently, a reduction in energy consumption. This deci- (IDC) indicates that manufacturers around world are opting to
sion can be incorporated into the code generation approach archi- adopt a private or public cloud as a means of extending IT infras-
tecture used in such a way that the proposed system already pro- tructure. In the United States, 41% of manufacturers indicated the
vides features that recommend ways to minimize the impact on preference of accessing IT resources via the public cloud. Almost
energy consumption of the application. 50% of European manufacturing have adopted or will adopt En-
Another example of high-level energy-aware strategy is that terprise Resource Planning (ERP) in a public cloud. In Asia/Pacific,
proposed by Rodrigues et al. (2013). The idea behind the approach 49% of manufacturers are using or intend to use a public or private
is to create a simulation estimating the energy consumption before cloud.
the deployment of application’s code on the nodes. This allows the Cloud technology is one of the solutions indicated for support-
application developer to generate a node code with efficient energy ing large-scale data produced by sensors. In this big data sce-
consumption. nario it is necessary to provide a way to receive large data traf-
fic from different kinds of sensor platforms that interoperate in
2.3.3. Use of middleware to support the modeling or the code an open, standardized, platform-independent, flexible and adapt-
generation process able way (Alamri et al., 2013; Dai and Wang, 2010).
The use of middleware systems to assist the modeling and code Due to the complexity and heterogeneity of protocols, tech-
generation approach is an important aspect to consider. Whether nologies, services, networking plays an important and fundamental
or not to use a middleware is an architecture decision that affects role on the cloud, requiring a distribution architecture that is able
all stages of the code generation process, and the flexibility and to address these challenges with convergence, decoupling services
interoperability of the solution. and virtualization of network resources. The most promising ap-
Middleware is a layer of software or a combination of sub- proach to provide the network-cloud convergence with effective ar-
layers interposed between the technological levels of the appli- chitectural concepts is Service-Oriented Architecture (SOA). SOA is a
cation. Middleware systems provide an infrastructure to support distributed computing approach based on open network protocols
the development of distributed applications promoting the reuse and data encoding standards. By providing vendor and platform in-
of functionalities and masking platform details (Almeida, 2006). dependence, SOA has been widely adopted for the interconnection
Razzaque et al. (2016) emphasizes the most important middleware of heterogeneous systems.
aspect: to facilitate the distributed application development pro- The concept of service, a well-defined and self-contained re-
cess in an integrated and heterogeneous environment, and pro- mote function call, is at the core of SOA. A set of available services
moting interoperability between the different applications and ser- can be combined in a composite service by means of a process
vices. Examples of the functions present in middleware systems in- known as orchestration. Service and device discovery is another
clude: service discovery, service composition, privacy control, secu- functionality commonly available in a SOA system.
rity mechanisms, data access and integration, context support and There are many methods and technologies for addressing and
sensitivity. deploying SOA. Although there are a number of different open and
A fundamental characteristic of a middleware is its ability to proprietary solutions conforming to service-orientation, one of the
hide the low-level programming details in order to facilitate the most important SOA concepts is the Web Service technology (WS)
job of the programmer. In other words, middleware systems of- (Santanna, 2010). WS is a software component that is defined as
fer programming abstractions that are closer to high-level aspects a service and accessible via a Uniform Resource Identifier (URI) by
than the low-level aspects (Römer et al., 2002). In this sense, by standard Internet protocols such as HTTP and HTTPS among oth-
using an IoT-middleware the programmer is not concerned with ers. The service follows a standard interface communication that
specific platform details, such as protocol configurations, operat- exchanges messages between the client and the server. Web Ser-
ing system, node code language, routing protocol configurations or vices Description Language (WSDL) is the standard language based
other low-level aspects. on XML syntax that is used to describe the WS mechanisms.
Recent analysis of the literature has identified several IoT- The SOA transportation component represents the formats of
middleware proposals with different approaches and requirements messages and protocols used to communicate with a WS. Thus,
to support the development IoT applications. Razzaque et al. by adopting SOA the programmer does not need to be concerned
(2016), for example, describe advantages, facilities and features of with network protocols, platforms, packet sizes or other low-level
IoT middleware systems, however, the authors also highlight that details. The use of WS makes accessing specific methods a rel-
no single solution exists that is able to support all the IoT require- atively simple task (Priyantha et al., 2008). Two contemporary
ments; consequently, each middleware is more suitable for a group ways to implement WS transportation are the Simple Object Ac-
of applications. cess Protocol (SOAP) and the REpresentational State Transfer (REST)
56 S. Teixeira et al. / The Journal of Systems and Software 132 (2017) 50–71

(Vujovic et al., 2014). REST has some advantages over SOAP: it is Table 1
Search string to find secondary studies.
the most widely used, it is easier to learn, and it uses smaller for-
mat messages and lightweight processing. Thus, it is a preferred Part 1 - Search terms Part 2 - Search terms
option to interoperate with WSN applications. (“Wireless Sensor” OR “Sensor AND (“systematic literature review” OR
SOA has now been adopted in different cloud paradigms includ- networks” OR “Actuator “systematic review” OR
ing paradigms suitable to deploy IoT solutions or to interoperate Networks” OR “Internet of “systematic mapping” OR
data traffic received from a WSN to a cloud application (Corredor Things” OR “Web of Things”) “mapping study” OR “systematic
literature mapping”)
et al., 2012). However, WS standards require substantial resources
that are generally not available on sensor nodes (for example, XML
Table 2
is too resource consuming for WSN embedded devices). In this Scientific digital library sources.
sense, research has been done in order to lower the resource re-
quirements of WS implementations for WSN low power devices. Scientific digital library Universal resource location

In response to this, Corredor et al. (2012) proposed a SOA middle- IEEE Xplore http://ieeexplore.ieee.org
ware for integrating embedded devices into the Web of Things. The ACM digital library http://portal.acm.org
Science direct http://www.sciencedirect.com
middleware provides a framework through the gateway-based ap-
Springerlink http://www.springerlink.com
proach to reveal the capabilities of the sensors in RESTful services, Web of science http://www.webofknowledge.com
one of the most commonly used REST variants. Scopus http://www.scopus.com
Compendex http://www.engineeringvillage.com

2.3.5. Dynamic code updating


Regardless of the proposed solution for coding a WSN applica- 2.4. Related works
tion, be it through modeling and (semi)automatic code generation
from high-level languages or using manual low-level platform code This work is considered as a secondary study as it is based on
programming, the initial deployment effort is basically the same. the analysis of primary studies (Kitchenham et al., 2011; Kitchen-
After the code generation, it is necessary to upload the code into ham and Charters, 2007; Souza et al., 2015). All the papers ana-
all nodes of the application. The last step is the node deployment lyzed according to the results obtained from the sources are pri-
according to the topology proposed to the WSN application. mary studies. In order to identify the existence of other secondary
After the application deployment, it may be necessary to studies related to the same focus topic of this work, a tertiary
change or upgrade the code that is running on each network node. study was conducted, using the search string presented in Table 1.
For example, one should change the frequency of the sensor read- A tertiary study is a review of secondary studies related to the
ing or the configuration parameters used by the routing algorithm. same research question. This search string was applied to each
Dynamic code update (also called reprogramming) is defined as source presented in Table 2 in three metadata fields: title, abstract
the ability that a given solution has to automatically spread con- and keywords.
figuration parameters or new chunks of codes, using radio links, in The search string was performed with seven scientific digital
a running network in order to change or adapt its behavior (Dong libraries that are considered the most relevant to the objectives
et al., 2014). The network scalability is considerably affected when of this work. Table 2 presents the sources used in this systematic
it is necessary to retrieve the device, manually update its code and mapping study.
reinstall it in the original location. This became more critical when The search for secondary studies was executed on February
the nodes are installed in inhospitable locations. 2016 and returned a total of 96 publications from all sources. No
The choice of using any kind of reprogramming technique de- systematic mapping or systematic review publication with similar
pends on the original code deployed on the node. It must be pre- goals to this review was found. The review proposed by Malavolta
pared to receive code updates and deal with it appropriately. For and Muccini (2014) was the only with some similarities to this re-
example, in the TinyOS-based platform is possible to use Deluge view. However, the search strings used by Malavolta are generic
(Dong et al., 2014), which allows the dissemination of the full- and were performed only in Google Scholar. There is no guaran-
image through the radio links to all nodes. The main problem with tee that the returned Google Scholar publications are able to in-
this kind of code update approach is its high-cost since the entire dex the main scientific digital library sources presented in Table 2.
code must be transferred and reinstalled into all nodes. In most Although the study conducted by Malavolta focuses on MDE ap-
cases only a small part of the application needs to change, so it proaches, his conclusions highlights the need for further investiga-
is not necessary to spend nodes energy and application time to tion in this area. This became one of the directions taken for the
transfer and reinstall the entire code. present study.
Therefore, a natural alternative solution for the dynamic code The same search string used in this systematic mapping study
update in a WSN application is to ensure that the first version of (see Table 4, Section 3.2) was applied in the Google Scholar search
the application code can be updated with low use of bandwidth engine in April 2016 in order to test its viability for use in this
and low power consumption. Furthermore, it should not compro- study. The search returned a total of 16,800 publications and due
mise the operation of the application that is running on WSN to this large number it became impracticable to perform a con-
throughout the update process. sistent systematic mapping study. This test served to reinforce the
It should be noted that the increase in the complexity and the importance of using alternative scientific digital library sources for
dynamic behavior of the IoT solutions make the code updating this specific systematic mapping study.
in a running WSN a relatively common event. For example, in a
competitive market the business rules tend to change more fre- 3. Research method
quently in order to adapt to new demands. This tends to increase
the sharing of sensed data with different applications which have This systematic mapping study was performed following the
different demands, requiring reprogramming after the initial de- guidelines proposed by Kitchenham et al. (2011), Kitchenham and
ployment (Balani et al., 2006). Thus, the effort required to update Charters (2007). A systematic mapping involves three main phases
the node codes in an IoT solution should be taken into considera- that are also referred to in this review as stages. The Planning
tion. phase refers to the pre-review activities and aims at establishing
S. Teixeira et al. / The Journal of Systems and Software 132 (2017) 50–71 57

a review protocol defining the research questions (i.e., the research or tutorial” and EC6 “The complete paper is unavailable” . The selec-
topic of interest), the inclusion and exclusion criteria, the sources tion criteria defined above was inspired by six systematic mapping
of studies, the search string, the systematic mapping procedures or systematic reviews with research topics related to the objective
and the selection of the control papers. The control papers are pa- and research questions used in this study (Cerqueira et al., 2016;
pers that closely match with the objectives of the study and the Fonseca et al., 2016; Guessi et al., 2012; Maia et al., 2007; Nardi
inclusion and exclusion criteria used to define the selected papers. et al., 2013; Souza et al., 2015). The selected criteria used in these
Thus, the control papers should be part of the selected papers. studies obtained effective results. After completing pilot tests for
The next phase is the Conducting phase, in which the re- all the seven digital libraries, it was possible to confirm that the
searchers search, select and analyze the studies, in order to extract selection criteria listed above was able to achieve consistent re-
and synthesize data from them. This phase is characterized by the sults.
execution of a plan defined in the Planning phase. The last phase
is the Reporting phase. This phase is characterized by the writing
3.4. Data storage
of the results to answer the research questions.
The remainder of this section presents the methodological as-
A spreadsheet (Teixeira et al., 2016) was prepared and used to
pects related to the systematic mapping performed in this work.
support and record the results of all the phases and stages of this
Section 3.1 presents the systematic mapping objective and re-
systematic mapping. The use of a spreadsheet for the organization,
search questions. Section 3.2 presents the terms and search string
standardization and the execution of the systematic mapping pro-
used. Section 3.3 describes the study selection criteria. Section
tocol facilitated this work. The spreadsheet is available online with
3.4 presents the data storage phase. Section 3.5 presents the pro-
the results and analysis that were obtained through this systematic
tocol assessment. Section 3.6 presents the data extraction and syn-
mapping study.
thesis. Section 3.7 presents the classification scheme and, finally,
The Planning phase tab in the spreadsheet contains the objec-
Section 3.8 presents the limitations of this systematic mapping.
tives and other relevant details such as control papers and the in-
clusion and exclusion criteria. There are five tabs for the Conducting
3.1. Research questions
phase. The ‘1st Stage’ tab contains every result from all the scien-
tific digital libraries including any repetitions. As expected, there
As stated in the introductory section, the main objective of this
are duplicate records because some publications are indexed in
systematic mapping study is to investigate the adoption of Model-
more than one digital library. There is an identifier for each pa-
Driven and Business Process approaches to support the design, de-
per, including the source, publication year and the title. The ‘2nd
velopment and automatic code generation for WSN/IoT applica-
Stage’ tab contains all the records without the duplicates that were
tions based on the IEEE 802.15.4 standard (IEEE Computer Soci-
identified in the first stage and with an assigned ID number for
ety, 2011). The investigation tries to understand the motivations
each paper. In this stage, the first analysis is made by reading the
to adopt these approaches in the context of WSN/IoT applications
abstract and applying the inclusion and exclusion criteria. The re-
and their main benefits, identifying research gaps and tendencies,
viewers check at least 35% of the analysis in this stage to ensure
aiming at new research possibilities. Table 3 presents the research
the consistency of the analysis. The approved papers are recorded
questions (RQs) and the rationales that motivated their inclusion
in the ‘3rd Stage’ tab and then an analysis is done of the full pa-
in this systematic mapping.
pers. Once again, the selection criteria is applied and all the re-
sults of this analysis are recorded. The reviewers check at least 35%
3.2. Terms and search string
of the analysis again. The ‘4th Stage’ tab contains only the papers
that were approved in the previous stage and these become the
The search string used in this study is a single sequence of
selected papers for this systematic mapping. It is at this stage that
terms that is designed to return all the publications with the MDA
the final analysis is done by answering the research questions and
and BPM approaches in WSN or IoT area. Table 4 presents the
recording other relevant statistical data, such as, approach type,
search string that was applied to each source in three metadata
design concept, framework, etc. All the RQs were checked by the
fields: title, abstract and keywords. It is necessary to adapt the
reviewers at this stage. The ‘Final Stage’ tab contains the complete
search string for each advanced search, according to the specifici-
reference for each selected paper. The Legend tab contains the de-
ties of each digital library search engine in the advanced command
scription of all the terms used at the ‘4th Stage’ . Other tabs were
search option. A specific script (Rohten, 2016) was used to filter the
created to include graphics and reports for the Reporting phase.
Springer digital library results in order to search for only the se-
No manual techniques such as snowballing, direct search to
lected metadata fields. When trying to use the search string with-
publications of researchers and research groups were applied. This
out the specific script, the engine searched within the whole paper
decision was made based on the large number of results returned
returning 2.213 publications. This huge number of papers made the
from the search engines only using the search string. The general
analysis process unfeasible due to the number of results that did
string was effective in meeting the objectives of the systematic
not match the objectives of the systematic mapping. The script fil-
mapping.
tered the results, returning only 77 papers for analysis. The search
string presented in Table 4 was performed with the same scientific
digital libraries showed in Table 2. 3.5. Assessment

3.3. Inclusion and exclusion criteria A test or calibration process was performed to avoid surprises
that may result in inconsistencies if an error occurred during any
There is one Inclusion Criteria (IC) and six Exclusion Criteria (EC). part of the conducting phase. Initially, a pilot test was performed
The IC1 is “The paper addresses WSN modeling or code generation on the systematic mapping protocol using the IEEE Xplore source
processes”. The exclusion criteria are: EC1 “The paper does not have in order to analyze the adequacy and consistency between the ob-
an abstract”, EC2 “The paper is just published as an abstract”, EC3 jectives of the systematic mapping and the proposed analysis cri-
“The paper is not written in English”, EC4 “The paper is an older ver- teria. This check also allowed the search string to be analyzed by
sion of another study already considered”, EC5 “The paper is not a verifying the relevance and matching the results to the systematic
primary study, such as an editorial, summary of keynotes, workshop mapping objectives.
58 S. Teixeira et al. / The Journal of Systems and Software 132 (2017) 50–71

Table 3
Research questions and their rationales.

RQ ID Research question Rationale

RQ01 Which high-level aspects are treated by the As aforementioned, WSN applications can benefit from the use of high-level requirements at the
modeling or code generation process? design stage. This RQ aims to identify which of the high-level requirements discussed in Section
2.3.1 are addressed by the studies and how the implementation is accomplished from the high-level
specification to low-level deployment. This capability gives the stakeholders, who have little or no
low-level knowledge of the platform, the opportunity to specify requirements that will impact the
MDA architecture or the model transformation process. For example, a user of a healthcare
application may need to set up privacy or security thresholds to avoid inappropriate access of the
patients’ vital signs.
RQ02 Which strategies are used for controlling or As discussed in Section 2.3.2, the power consumption is an important aspect in WSN applications.
reducing the node energy consumption? Accordingly, applications and communication protocols should adjust their behavior to reduce
energy consumption and avoid power loses and consequent batteries changes (Delicato et al., 2005).
For example, if there is no way to prevent unnecessary sending, receiving or acknowledgment of
packages, the energy consumption grows considerably, reducing the service life of the battery node
(Loureiro et al., 2003; Ruiz, 2003). This RQ aims to identify if the modeling and code generation
process employ some sort of energy consumption strategy as part of their approaches, for example,
the use of mechanisms to help the developer to analyze the energy consumption before generating
the node code.
RQ03 Is there any type of middleware supporting the As discussed in Section 2.3.3 the code generation process is a complex task that involves many steps.
modeling or code generation process? Therefore, considering its potential benefits, some researchers choose to use a middleware to
simplify the modeling and code generation process. This RQ aims to analyze and identify the
middleware used to support the modeling or code generation solution. By adopting a middleware
solution, it is possible to focus on higher-level aspects, leaving low-level questions or details to be
handled by the middleware itself. Because this choice considerably affects the whole modeling and
code generation process, it is important to identify in which ways a middleware may affect the
solution. For example, a BPM approach can expand the scope of its solution allowing the generated
code to be executed on a hardware platform different from that for which the specific code was
generated (Domingos et al., 2010).
RQ04 Does the approach for modeling and code As discussed in Section 2.3.4 there are many possibilities and different ways to deploy a
generation apply some sort of service-oriented approach. This RQ aims to analyze and identify the features used to implement a
service-orientation in their conceptual type of SOA in an IoT/WSN cloud-driven environment.
architecture or deployment process?
RQ05 Does the approach allow any type of dynamic As discussed in Section 2.3.5, code update can be very difficult or even impossible in WSN topologies
code update after the code generation with many nodes located in inaccessible or inhospitable environments. In these scenarios, automatic
process? code update approaches become a relevant issue that has great impact on application maintenance.
Thus, the modeling and code generation process should provide an option to reduce the high cost
of manual reprogramming. As the automatic reprogramming technique is entirely dependent on the
generated node code and the node system operation, it is necessary to consider the use of an
effective code dissemination technique during the entire code generation process. This RQ aims to
map which dynamic code update techniques are used during the code generation process and how
this is accomplished.

Table 4 3.6. Data extraction and synthesis


Search string.

Part 1 - Search terms Part 2 - Search terms Only papers from 2004 and after were identified. This was
(“Wireless Sensor” OR “Sensor AND ((“Model-Driven” OR “MDA” OR expected as the first version of IEEE 802.15.4 standard (IEEE
networks” OR “Actuator “MDE” OR “MDD”) OR Computer Society, 2011) started in 2003. No date restriction was
Networks” OR “Internet of (“BPMN” OR “BPM” OR set and the default values in the advanced command search option
Things” OR “Web of Things”) “Business Process”)) were used. The conducting phase was executed in February 2016.
A total of 1.374 publications were returned at the ‘1st Stage’: 205
from IEEE, 68 from ACM, 10 from Science Direct, 77 from Springer,
145 from Web of Science, 429 from Scopus and 440 from Compen-
The results of the pilot test were registered in the systematic
dex.
mapping protocol spreadsheet by the first two authors. A sample
The ‘2nd Stage’ started with the elimination of the duplicate
of at least 35% of the results of the pilot test was reviewed by the
records identified in the ‘1st Stage’ that reached a total of 601 pub-
other three authors who analyzed and validated a sample of 35%
lications. This stage is characterized by the reading and analysis of
of the results from the other digital libraries.
the abstracts and the recording of any inclusion or exclusion crite-
Once this pilot test analysis and verification process was com-
ria.
plete, the exact same process was repeated with the other Scien-
The ‘3rd Stage’ started with the elimination of all records from
tific Digital Library Sources that are presented in Table 2 of Section
the previous stage that did not match the inclusion criteria or
2.4. Then, the results from each new source were compared with
matched any exclusion criteria. This left a total of 284 records. This
those already obtained and recorded on the spreadsheet as a way
stage is characterized by the reading and analysis of the full papers
of double-checking the consistency of the search string. Any un-
and the recording of the inclusion or exclusion criteria.
certainty arising from a result was discussed and verified by the
The ‘4th Stage’ started with the elimination of all records from
reviewers to avoid inconsistencies.
the previous stage that did not match the inclusion criteria or did
After applying the protocol to all publications returned from all
match at least one of the exclusion criteria. This left a total of 59
digital libraries, it was concluded that the protocol was ready to
selected papers for the mapping. This stage is characterized by a
be executed as per the stages of the Conducting phase described
full reading of all the selected papers to answer and record the
in Fig. 1 in the following subsection.
S. Teixeira et al. / The Journal of Systems and Software 132 (2017) 50–71 59

Fig. 1. Step by step of all stages of the Conducting phase.

results of the RQ. Finally, the ‘Final Stage’ is characterized by the


recording and completion of the references for all the selected pa-
Table 5
pers. To better understand the Conducting phase, Fig. 1 shows an
Selected papers for the systematic mapping (BPM/BPMN approach).
overview of all the stages, step by step.
Tables 5, 6 and 7 present the complete reference of the selected ID Complete reference
papers. Each selected paper was identified with the “#” character #22 Caracas, A. From business process models to pervasive applications:
plus the ID number. For the remainder of this paper, the identi- Synchronization and optimization. 2012 IEEE Int. Conf. Pervasive
fier “#ID” is used to reference each selected paper of this mapping Comput. Commun. Work. PERCOM Work. 2012 2012, 320–325.
#30 Rosales, P.; Oh, K.; Kim, K.; Jung, J.-Y. Leveraging business process
review. management through complex event processing for RFID and
sensor networks. 40th Int. Conf. Comput. Indutrial Eng. 2010,
1–6.
#57 Li, S.; Qiao, X.; Li, X. Study on the architecture of platform for
internet of things service based on EDSOA. Proc. - 2012 IEEE
3.7. Classification scheme 12th Int. Conf. Comput. Inf. Technol. CIT 2012 2012, 953–959.
#77 Glombitza, N.; Lipphardt, M.; Werner, C.; Fischer, S. Using graphical
process modeling for realizing SOA programming paradigms in
A classification scheme, reported in Table 8, was defined to bet- sensor networks. WONS 2009 - 6th Int. Conf. Wirel. On-demand
ter interpret the results. Furthermore, each RQ was analyzed to Netw. Syst. Serv. 2009, 61–68.
propose classification terms to support the RQ answers. The IEEE #95 Puder, A.; Odenwald, T. Augmenting smart items with business
intelligence. Proc. 2007 2nd Int. Conf. Commun. Syst. Softw.
Xplore was the primary digital library used in initial tests to an-
Middlew. Work. COMSWARE 20 07 20 07.
alyze and verify the consistency of the entire protocol applied in #158 Kim, S. D.; Lee, J. Y.; Kim, D. Y.; Park, C. W.; La, H. J. Modeling
this work (Teixeira et al., 2016). In addition, it was also a way BPEL-based collaborations with heterogeneous IoT devices. Proc.
of helping in the identification and validation of the classification - 2014 World Ubiquitous Sci. Congr. 2014 IEEE 12th Int. Conf.
scheme presented in Table 8. As aforementioned in Section 3.5, this Dependable, Auton. Secur. Comput. DASC 2014 2014, 289–294.
#276 Dar, K.; Taherkordi, A.; Baraki, H.; Eliassen, F.; Geihs, K. A resource
test revealed where adjustments to the protocol were needed and
oriented integration architecture for the Internet of Things: A
these were made before the execution of the entire process using business process perspective. Pervasive Mob. Comput. 2015, 20,
the other Scientific Digital Library Sources. For example, the search 145–159.
string that was used in the pilot test with IEEE Xplore was dif- #298 Ruppen, A.; Meyer, S. An Approach for a Mutual Integration of the
Web of Things with Business Processes. 2013, 1–15.
ferent to the final version that was presented in Table 4, and in
#295 Domingos, D.; Martins, F.; Caiola, L. Decentralising Internet of
the Search String used to find secondary studies, recorded in Table Things Aware BPMN Business Processes. 2010, 24, 110–119.
1. In each test, the search terms were improved in order to ob- #299 Glombitza, N.; Ebers, S.; Pfisterer, D.; Fischer, S. Using BPEL to
tain results that were more aligned and consistent with the objec- realize business processes for an Internet of things. Lect. Notes
tives of the research questions used for this systematic mapping. Comput. Sci. (including Subser. Lect. Notes Artif. Intell. Lect.
Notes Bioinformatics) 2011, 6811 LNCS, 294–307.
Once the search string had been adjusted and validated, the Con-
#383 Domingos, D.; Martins, F.; Cândido, C.; Martinho, R. Internet of
ducting phase was reinitiated. Some adjustments were also made things aware WS-BPEL business processes - context variables
to the Classification scheme, which initially used different terms and expected exceptions. J. Univers. Comput. Sci. 2014, 20,
and classifications than those presented in Table 8. During the pi- 1109–1129.
lot tests, the original proposal was refined, evaluated and improved
until reaching the final version.
60 S. Teixeira et al. / The Journal of Systems and Software 132 (2017) 50–71

Table 6 RQ was obtained on completion of the conducting phase and have


Selected papers for the systematic mapping (BPMN4WSN approach).
been described in the following sections. Due to the methodolog-
ID Complete reference ical approach taken for this study, this section presents the quan-
#4 Sungur, C. T.; Spiess, P.; Oertel, N.; Kopp, O. Extending BPMN for titative and qualitative results with the discussion for each RQ re-
Wireless Sensor Networks. 2013 IEEE 15th Conf. Bus. Informatics sults. The results of each RQ wil be presented in Section 4.1 and
2013, 109–116. other relevant statistical research results, such as, annual distribu-
#15 Casati, F.; Daniel, F.; Dantchev, G.; Eriksson, J.; Finne, N.; tion of the selected papers by source, approach type, etc, used by
Karnouskos, S.; Montera, P. M.; Mottola, L.; Oppermann, F. J.;
the selected studies in Section 4.2,
Picco, G. Pietro; Quartulli, A.; Römer, K.; Spieß, P.; Tranquillini,
S.; Voigt, T. Towards business processes orchestrating the
physical enterprise with wireless sensor networks. 34th 4.1. Research questions
International Conference on Software Engineering, ICSE 2012,
June 2, 2012 - June 9, 2012. 2012, 1357–1360.
4.1.1. High-level aspects (RQ01)
#292 Tranquillini, S.; Spieß, P.; Daniel, F.; Karnouskos, S.; Casati, F.;
Oertel, N.; Mottola, L.; Oppermann, F. J.; Picco, G. Pietro; Römer, The MDE was identified as being the most common type of
K.; Voigt, T. Process-Based Design and Integration of Wireless approach used in the selected papers in the modeling and code
Sensor Network Applications. Bus. Process Manag. Bpm 2012 generation process. The BPMN4WSN is an extension of the BPMN
2012, 7481, 134–149. standard, therefore, for the didactic purpose of this review, it will
#1293 Daniel, F.; Eriksson, J.; Finne, N.; Fuchs, H.; Gaglione, A.;
Karnouskos, S.; Montero, P. M.; Mottola, L.; Oertel, N.;
be presented as a separate type of approach.
Oppermann, F. J.; Picco, G. Pietro; Romer, K.; SpieB, P.; It was noted that 44 (74%) of the 59 selected papers do not de-
Tranquillini, S.; Voigt, T. MakeSense: Real-world business ploy any type of high-level aspects in their approach. Of the stud-
processes through wireless sensor networks. CEUR Workshop ies that address this at an architectural level, Context-awareness,
Proc. 2013, 1002, 58–72.
QoS and Semantics were the most commonly researched aspects.
This is potentially because they are popular research topics with
It is highly recommendable for researchers to invest time in many publications already available. None of the 59 selected pa-
these types of pilot tests and validations before beginning the Con- pers address other equally relevant and complex aspects already
ducting phase of a systematic mapping or systematic review. mentioned here, such as privacy and security requirements, al-
though a few papers make reference to relevant high-level issues
3.8. Limitations of this mapping such as the enrichment of the data collected from the sensors by
Semantic Web technologies (e.g., OWL, RDF) - papers # 406, # 319,
In order to identify any possible bias, the ambiguities between and # 56.
the reviewers’ analysis were minimized as much as possible. De- It is also worth noting that none of the studies that adopted the
spite these measures, there are still some limitations to this work. BPMN4WSN approach implemented any type of high-level aspect.
Despite the large number of publications returned from the search Table 9 presents the annual distribution of the high-level modeling
engines, it is highly possible that there are still publications that aspects Context-awareness, QoS and Semantic. Table 10 shows the
were not identified or were not returned by the selected sources. distribution by type of approach.
Naturally, a publication is not found if the contents of the meta- As discussed in Section 2.3.1, it is not easy to develop a
data fields (title, abstract and keywords) applied to process the WSN/IoT solution that allows modeling a high-level aspect that,
search string do not match those used by authors. This is an obvi- after a series of processes, can then be dealt with on a platform
ous fact, however, it is important to report because different terms level. In the studies of Table 10, the authors themselves emphasize
may have been used but with the same semantics in this review. the difficulty of the complete process, observing that high-level
In such cases, the study would not be part of the results that were modeling aspects require the inclusion of additional elements and
analyzed in the spreadsheet (Teixeira et al., 2016). diverse treatments in the architecture proposal making the process
An additional difficulty was the absence of information in some much more complex. The work of Corredor #406 presents a de-
of the selected papers, making it difficult to answer all research tailed discussion of the different stages of the node code genera-
questions. The focus of any publication is influenced by the in- tion process.
terests of the authors. However, this does not necessarily imply a Despite all the functionalities offered in Corredor’s proposal,
problem. The authors may simply choose to focus on certain as- modeling new applications requires a considerable cognitive ef-
pects and give less attention to others. fort on the part of the professional. This task requires the ade-
Whenever necessary and feasible, the references of the publi- quate knowledge to select the appropriate high-level aspects that
cations or the older versions of the same work were used in an would be relevant for the application. Furthermore, the profes-
attempt to find the information missing from the publication. Al- sional would need to know how the chosen functions benefit the
ternatively, project sites or groups related to the work of the au- defined framework and understand and apply the correct deploy-
thors were used. For example, in the study #22 there is a refer- ment methodology.
ence to the Mote Runner as a simulation environment, and it was This cognitive effort to model new application from high-level
discovered that this could be considered a middleware only after aspects is also reported in all the studies presented in Table 10.
accessing the Zurich IBM Research (IBM, 2017) website. This ad- For example, Domingo #383 suggests that the centralized approach
ditional research was necessary in order to find the answers to traditionally adopted to address Business Processes makes it more
RQ03 in this study. Another example can be seen in #4 and #1293 complex to define the mechanisms that promote the integration
where, in the article, there are no references to the use of Signavio of IoT features using high-level aspects. Gunalp #220 highlights
core components to support the BPMN4WSN approach. Therefore, that the development of applications that are able to cope with
it was necessary to refer to the makeSense project (Project, 2015) dynamism is very complex since the developer needs to manage
to discover the framework, technologies and tools that were used. contextual changes, device and application dynamism, and busi-
ness logic. Rodrigues #306 reinforces the fact that there is a lack of
4. Results and discussion high-level abstractions and toolchains for the development of WSN
applications.
The results of this systematic mapping are in accordance with In summary, one way to minimize the cognitive effort is to
Section 3.6. ‘Data Extraction and Synthesis’. The analysis of each make use of mechanisms, methodologies, tools, platforms or archi-
S. Teixeira et al. / The Journal of Systems and Software 132 (2017) 50–71 61

Table 7
Selected papers for the systematic mapping (MDE approach).

ID Complete reference

#2 Berrani, S.; Hammad, A.; Mountassir, H. Mapping SysML to Modelica to Validade Wireless Sensor Networks Non-Functional Requirements.
2013, 177–186.
#6 Boonma, P.; Somchit, Y.; Natwichai, J. A Model-Driven Engineering Platform for Wireless Sensor Networks. 2013 Eighth Int. Conf. P2P,
Parallel, Grid, Cloud Internet Comput. 2013, 671–676.
#7 Tei, K.; Shimizu, R.; Fukazawa, Y.; Honiden, S. Model-Driven-Development-Based Stepwise Wireless Sensor Networks. 2015, 45, 675–687.
#12 Saad, M. Al; Fehr, E.; Kamenzky, N.; Schiller, J. ScatterClipse: A model-driven tool-chain for developing, testing, and prototyping wireless
sensor networks. Proc. 2008 Int. Symp. Parallel Distrib. Process. with Appl. ISPA 2008 2008, 871–885.
#14 Shimizu, R.; Tei, K.; Fukazawa, Y.; Honiden, S. Toward a portability framework with multi-level models for wireless sensor network
software. Proc. 2014 Int. Conf. Smart Comput. SMARTCOMP 2014 2014, 253–260.
#16 Paulon, A. R.; Frohlich, A. A.; Becker, L. B.; Basso, F. P. Wireless sensor network UML profile to support model-driven development. 2014
12th IEEE Int. Conf. Ind. Informatics 2014, 227–232.
#201 Rodrigues, T. C.; Batista, T.; Delicato, F. C.; Pires, P. D. F. Architecture-Driven development approach for WSAN applications. Proc. - IEEE/IFIP
13th Int. Conf. Embed. Ubiquitous Comput. EUC 2015 2015, 1, 68–75.
#25 Marco, A. D.; Pace, S. Model-driven approach to Agilla Agent generation. 2013 9th Int. Wirel. Commun. Mob. Comput. Conf. IWCMC 2013
2013, 1482–1487.
#28 Doddapaneni, K.; Ever, E.; Gemikonakli, O.; Malavolta, I.; Mostarda, L.; Muccini, H. A model-driven engineering framework for architecting
and analysing Wireless Sensor Networks. 2012 Third Int. Work. Softw. Eng. Sens. Netw. Appl. 2012, 1–7.
#56 Conzon, D.; Brizzi, P.; Kasinathan, P.; Pastrone, C.; Pramudianto, F.; Cultrona, P. Industrial application development exploiting IoT vision and
model driven programming. 2015 18th Int. Conf. Intell. Next Gener. Networks, ICIN 2015 2015, 168–175.
#91 Sommer, S.; Buckl, C.; Knoll, A. Developing service oriented sensor/actuator networks using a tailored middleware. ITNG 2009 - 6th Int.
Conf. Inf. Technol. New Gener. 2009, 1036–1041.
#110 Vujovic, V.; Maksimovic, M.; Perisic, B.; Milosevic, V. A graphical editor for RESTful sensor web networks modeling. SACI 2014 - 9th IEEE
Int. Symp. Appl. Comput. Intell. Informatics, Proc. 2014, 61–66.
#143 Riedel, T.; Fantana, N.; Genaid, A.; Yordanov, D.; Schmidtke, H. R.; Beigl, M. Using web service gateways and code generation for
sustainable IoT system development. 2010 Internet Things, IoT 2010 2010.
#157 Shih, C.; Liang, B. C. A model driven software framework for Zigbee based energy saving systems. Proc. - 3rd Int. Conf. Intell. Syst. Model.
Simulation, ISMS 2012 2012, 487–492.
#230 Thang, N. X.; Zapf, M.; Geihs, K. Model driven development for data-centric sensor network applications. Proc. 9th Int. Conf. Adv. Mob.
Comput. Multimed. - MoMM ’11 2011.
#216 Berardinelli, L.; Cortellessa, V.; Pace, S. Modeling and analyzing performance of software for wireless sensor networks. 2nd Int. Work.
Softw. Eng. Sens. Netw. Appl. SESENA 2011, Conjunction with Int. Conf. Softw. Eng. ICSE 2011 2011, 13–18.
#225 Grace, P.; Barbosa, J.; Pickering, B.; Surridge, M. Taming the Interoperability Challenges of Complex IoT Systems. Proc. 1st ACM Work.
Middlew. Context. Appl. IoT 2014, 1–6.
#217 Hammad, A.; Mountassir, H.; Chouali, S. An approach combining sysml and modelica for modelling and validate wireless sensor networks.
1st ACM SIGSOFT/SIGPLAN Int. Work. Softw. Eng. Syst. SESoS 2013 Proc. 2013, 5–12.
#302 Beckmann, K.; Thoss, M. A model-driven software development approach using OMG DDS for wireless sensor networks. Softw. Technol.
Embed. Ubiquitous Syst. 2010, 95–106.
#286 Losilla, F.; Vicente-Chicote, C.; Álvarez, B.; Iborra, A.; Sánchez, P. Wireless Sensor Network Application Development: An
Architecture-Centric MDE Approach. Softw. Archit. 2007, 179–194.
#234 Fleurey, F.; Morin, B.; Solberg, A.; Barais, O. MDE to manage communications with and between resource-constrained systems. Lect. Notes
Comput. Sci. (including Subser. Lect. Notes Artif. Intell. Lect. Notes Bioinformatics) 2011, 6981 LNCS, 349–363.
#316 Akbal-Delibas, B.; Boonma, P.; Suzuki, J. Extensible and precise modeling for wireless sensor networks. Lect. Notes Bus. Inf. Process. 2009,
20 LNBIP, 551–562.
#319 Berardinelli, L.; Marco, A. Di; Pace, S. fUML-driven design and performance analysis of software agents for wireless sensor network. Eur.
Conf Software Architecture 2014, 11, 324–339.
#334 Lee, W. J.; Kang, J. M.; Heo, Y. S.; Hong, B. H. Advanced integrated model-driven development tool for USN applications in pervasive
computing environment. Commun. Comput. Inf. Sci. 2009, 56, 563–570.
#362 Patel, P.; Cassou, D. Enabling High-level Application Development for the Internet of Things. J. Syst. Softw. 2015, 103, 62–84.
#366 Vidal, C.; Fernández-Sánchez, C.; Díaz, J.; Pérez, J. A model-driven engineering process for autonomic sensor-actuator networks. Int. J.
Distrib. Sens. Networks 2015, 2015.
#373 Garcia, C. G.; Pelayo G-Bustelo, B. C.; Pascual Espada, J.; Cueva-Fernandez, G. Midgar: Generation of heterogeneous objects interconnecting
applications. A Domain Specific Language proposal for Internet of Things scenarios. Comput. Networks 2014, 64, 143–158.
#403 Jan, M., Jouvray, C., Kordon, F. Flex-eWare: a flexible model driven solution for designing and implementing embedded distributed
systems. Software-Practice & Experience 2012, 42, 1467–1494.
#405 Gámez, N.; Cubo, J.; Fuentes, L.; Pimentel, E. Configuring a context-aware middleware for wireless sensor networks. Sensors (Switzerland)
2012, 12, 8544–8570.
#406 Corredor, I.; Bernardos, A. M.; Iglesias, J.; Casar, J. R. Model-driven methodology for rapid deployment of smart spaces based on
resource-oriented architectures. Sensors (Switzerland) 2012, 12, 9286–9335.
#442 Touil, A.; Vareille, J.; Lherminier, F. Modeling and analysing ubiquitous systems. 15th IEEE International Conference on Emerging
Technologies and Factory Automation 2010.
#446 Fuentes-Fernández, R.; Guijarro, M.; Pajares, G. A multi-agent system architecture for sensor networks. Sensors 2009, 9, 10,244–10,269.
#472 Vicente-chicote, C.; Losilla, F.; Sanchez, P. Applying Mde To the Development of Flexible and Reusable. Int. J. Coop. Inf. 2007, 16, 393–412.
#534 Akzhalova, A. Model-driven QoS-aware approach for the sensor network. BMSD 2014 - Proc. 4th Int. Symp. Bus. Model. Softw. Des. 2014,
113–122.
#220 Günalp, O.; Gürgen, L.; Lestideau, V.; Lalanda, P. Autonomic pervasive applications driven by abstract specifications. Proc. 2012 Int. Work.
Self-aware internet things - Self-IoT ’12 2012, 19–24.
#236 Thang, N. X.; Geihs, K. Model-driven development with optimization of non-functional constraints in sensor network. Proc. 2010 ICSE
Work. Softw. Eng. Sens. Netw. Appl. - SESENA ’10 2010, 61–65.
#807 Saad A., M.; Fehr, E.; Kamenzky, N.; Schiller, J. Model-driven visual testing and debugging of WSN applications. J. Networks 2009, 4,
607–621.
#882 Ulbrich, A.; Weis, T.; Geihs, K.; Allee, W. A Modeling Language for Applications in Pervasive Computing Environments. 2nd Int. Work.
Model. Methodol. Pervasive Embed. Softw. MOMPES’05 2005, 109–123.
(continued on next page)
62 S. Teixeira et al. / The Journal of Systems and Software 132 (2017) 50–71

Table 7 (continued)

ID Complete reference

#306 Rodrigues, T.; Delicato, F. C.; Batista, T.; Pires, P. F.; Pirmez, L. An approach based on the domain perspective to develop WSAN
applications. Softw. Syst. Model. 2015, 1–29.
#229 Ruppen, A.; Pasquier, J.; Meyer, S.; Rüedlinger, A. A component based approach for the Web of Things. 2015.
#258 Schwalb, T.; Schmid, J. Component-based models for runtime control and monitoring of embedded systems. Proceedings of the 5th
International Workshop on Model Based Architecting and Construction of Embedded Systems 2012, 31–36.
#179 Schachinger, D.; Kastner, W. Model-driven integration of building automation systems into Web service gateways. IEEE Int. Work. Fact.
Commun. Syst. - Proceedings WFCS 2015, 1–8.
#185 Thang, X. N.; Tran, H. T.; Baraki, H.; Geihs, K. FRASAD: A framework for model-driven IoT Application Development. IEEE World Forum
Internet Things, WF-IoT 2015 - Proc 2016, 387–392.
#918 Pramudianto, F.; Kamienski, C. A.; Souto, E.; Borelli, F.; Gomes, L. L.; Sadok, D.; Jarke, M. IoT Link: An Internet of Things Prototyping
Toolkit. Proc. - 2014 IEEE Int. Conf. Ubiquitous Intell. Comput. 2014 IEEE Int. Conf. Auton. Trust. Comput. 2014 IEEE Int. Conf. Scalable
Comput. Commun. Assoc. Sy 2015, 1–9.

Table 8 Table 9
Classification scheme for each RQ. Annual distribution of high-level modeling aspects.

RQ ID Classification issue Classification terms used High-level aspect

RQ01 There are some terms that have already High-level-Aspect-Name Year Context-awareness QoS Semantics
been identified in the control
2005
papers. These classification terms
2006
are directly related to the name of
2007
high-level aspect used to model the
2008
application. For example, QoS, QoC,
2009 #91
Privacy, Security, Context-Awareness,
2010 #30 #302
Semantic-Awareness.
2011
RQ02 This classification term was proposed Yes-No-Logical-Identifier
2012 #220, #405 #403 #406
to identify the approaches that are
2013
concerned with the node energy
2014 #383, #225 #534 #319
consumption. It is useful to know if
2015 #295 #201, #306 #56
this is addressed in the study or not.
RQ03 The categories of classification of this Middleware-Name
RQ are open and without a
pre-defined classification term. If a Table 10
middleware was identified, the Distribution of high-level modeling aspects by type of approach.
middleware name was used for
High-level aspect
classification. If not, it was classified
as “Yes” or “No”. Type of approach Context-awareness QoS Semantics
RQ04 This classification term was proposed Yes-No-Logical-Identifier
BPM/BPMN #30,#383,#295
to identify if the approach use or
BPMN4WSN
propose any form of service-oriented
MDE #220,#405,#225 #534,#201,#306, #319,#56, #406
architecture to model, generate or
#403,#91,#302
deploy WSN applications. It is useful
to know whether this is addressed
in the study or not.
Table 11
RQ05 This classification term was proposed Yes-No-Logical-Identifier
Annual distribution of energy performance concerns as-
to identify if the approach supports
pects.
a way to dynamic updating of the
sensor code using radio links. It is Type of approach
useful to know whether this is
addressed in the study or not. Year BPM/BPMN BPMN4WSN MDE

2005
2006
tectures (middleware, models, and domain specific language, etc.) 2007
2008
that can simplify the use of higher-level abstraction requirements
2009 #316
and promote the participation of non-specialist stakeholders, such 2010 #143
as domain experts in the WSN development process. 2011 #216
Meanwhile, the results presented in Table 10 demonstrate that 2012 #22 #15, #292 #28, #157
there are few studies that deal with this issue and none which ad- 2013 #4, #1293 #2,#6,#217
2014 #14,#534
dress more than one high-level aspect in the same proposal. This 2015 #201,#306
indicates possible gaps in the current research that could be fur-
ther explored in order to enhance the support provided by the ap-
proaches for the development of WSN/IoT applications. It is also
interesting to note that of the 15 studies that model some high- some form of control, monitor or concern in reducing the WSN en-
level aspect, only the study conducted by Rodrigues #306 did not ergy consumption. According to the data presented in Table 11, it is
use any sort of IoT-middleware to give support to the treatment of possible to identify that the concern with this aspect only began in
this issue. 2009. Between 2012 and 2013 energy consumption became a con-
cern in an increasing number of selected papers. Table 12 shows
4.1.2. Energy performance concerns (RQ02) the distribution of Energy Performance concern aspects according
We identified that more than half of the selected works (71%) to approach type. It is possible to verify that the increase in in-
did not deploy any kind of energy performance concern, which terest was in the studies using an MDE approach while only #22
means that only 17 (29%) of the 59 approaches deploy or address exploited this aspect with a BPM/BPMN approach.
S. Teixeira et al. / The Journal of Systems and Software 132 (2017) 50–71 63

Table 12 Table 13
Distribution of energy performance concerns aspects by type of approach. Distribution of middleware used by type of approach.

Type of approach Studies with energy performance concerns Middleware BPM/BPMN BPMN4WSN MDE

BPM/BPMN #22 Agilla #25,#319


BPMN4WSN #4, #15, #292, #1293 BiSNET #316,#236
MDE #2, #6, #14, #28, #143, #157, #201, #216, #217, #316, DDS #302
#306, #534 Ebbits #56
FamiWare #405
FI-WARE #225
IBM Mote Runner #22
According to Table 12, only 5 studies based on the BPM ap- IoTSys #179
proach present some type of concern with energy consumption. iSense #77,#299
Some of the strategies and relevant aspects used in these studies Jboss ESB #57
are emphasized by Sungur #4. MARINE #201
MARTE #216,#16
One important characteristic that is specific to BPM approaches
MuFFIN #295
is its event-oriented nature. Event-oriented operations commonly OSGi #220
consume less energy than periodic operations due to the fact that PADRES #276
they generate less communication in the WSN. For example, an ap- RTI Connext DDS #366
ScatterWeb #807
plication that periodically notifies other WSN sensors when a door
TinyDDS #6
opens and closes will generate more communication in the WSN
compared to an event-oriented approach which will only commu-
nicate when the specified action occurs. Furthermore, the use of a Table 14
BPM-based approach facilitates the node energy reduction. Annual distribution of service-oriented architecture addressed.
Another strategy is used to activate the node sleep-mode, pri- Type of approach
marily when it is waiting for an event. This reduces considerably
Year BPM/BPMN BPMN4WSN MDE
the energy consumption. The use of parameters related to the time
or frequency of the sleep-mode can make the running of the app 2005
2006
more flexible in relation to the requirements and defined specifi-
2007 #95
cations. 2008 #12
This strategy is also used in studies based on the MDE 2009 #77 #91
approach. Normally, these parameters are related to the non- 2010 #30 #143
2011 #299
functional requirements that are specified in the highest-level
2012 #57 #220,#406
models with the objective of creating a strategy for the low-level 2013 #298
models to be able to generate an application with a lower num- 2014 #158,#383 #110,#225,#918,#534
ber of operations. This, in turn, will permit lower energy consump- 2015 #276,#295 #56,#179,#229,#366
tion. For example, Akbal-Delibas #316 specified non-functional re-
quirements to form clusters to simplify the communication tasks,
control the length of sleep-time to minimize energy consumption,
reported the modeling of more than one high-level aspect at the
group together data to minimize traffic and eliminate redundancy,
same time. This research gap is reinforced by Razzaque et al.
among other strategies.
(2016) who suggests that the middleware is more suitable for ap-
plications requiring a particular high-level aspect (e.g., context-
4.1.3. Use of middleware (RQ03) awareness). Despite this being a focus of Razzaque’s study, context-
Regarding the use of middleware platforms to assist the code awareness, security, privacy and other high-level aspects continue
generation process for WSN/IoT applications, we can observe that to be a challenge for IoT-middleware and requires further research.
a number of studies adopted this alternative in some way. From The proposals that use some type of middleware to support the
the 59 selected papers, 33 (56%) of them use some kind of mid- code-generation process usually need to make several choices. Fac-
dleware support although it was not possible to identify a specific tors such as the type of hardware platform, the application require-
name for some of these middleware. This result is not surprising ments, and the available middleware functions will all affect the
since the code generation process is a complex task that involves proposal as a whole. Thus, a recurring research topic is the search
many stages and technologies. The adoption of middleware solu- for code-generation approaches that are able to use more than one
tions normally occurs when the modeling process focuses on just a type of middleware platform with the development of meta-model
few issues of the code generation process, such as high-level mod- and models that are more flexible and adaptable for different types
eling in BPMN. In these cases, the middleware support is used to of middleware. For example, Rodrigues #201 proposes an MDA ar-
deal with the low-level aspects of code generation, while the re- chitecture artifact to generate flexible middleware configurations in
maining components of the architecture may focus on the higher- order to permit their use in different middleware platforms.
level aspects.
Of the 26 studies that did not use or did not mention any type
of IoT-middleware support, only Ruppen #298 proposed an ap- 4.1.4. Use of service-oriented architecture (RQ04)
proach based on BPM/BPMN. The other studies used an MDE ap- Most approaches, 36 (61%) of 59 selected papers, do not ad-
proach. This is to be expected, given that the MDE architecture is dress any kind of SOA to support the modeling or code generation
the most appropriate for given support to the entire modeling and process. Table 14 shows the annual distribution of Service-Oriented
code generation process without the use of middleware. A large architecture addressed in the selected papers. Table 15 shows the
number of tools and technologies that give support to the code distribution of Service-Oriented architecture addressed by type of
generation process with the use of MDA, make MDE the preferred approach. Upon observing Table 14, it is possible to identify that
choice when any sort of middleware support is adopted. addressing SOA aspects in the approach only began in 2007 and in-
Returning to Table 13, all BPM-based approaches use middle- creased between 2014 and 2015. Furthermore, SOA concerns were
ware to model context-aware aspects, and none of the approaches not addressed in any studies which used a BPMN4WSN approach.
64 S. Teixeira et al. / The Journal of Systems and Software 132 (2017) 50–71

Table 15
Distribution of service-oriented architecture addressed by type of approach.

Type of approach Studies that address any kind of SOA support

BPM/BPMN #295, #30, #57, #77, #95, #158, #276, #298, #299,
#383
BPMN4WSN
MDE #12, #56, #91, #110, #143, #179, #220, #225, #229,
#366, #406, #534, #918

There is a belief among IT companies that SOA and RESTful ser-


vices in particular can help businesses respond more quickly and
cost-effectively to changing market conditions and yet despite this
only 23 (39%) of the 59 selected papers used SOA architecture. Of
these, just 4 studies – papers #298, 143, #110 and #918 – did not Fig. 2. Annual distribution of the selected papers by source.
use a middleware in their proposal, which is somewhat expected
as normally the middleware gives support to communication with
which intend to offer reprogramming support. Razzaque et al.
services in the cloud and this is usually done with some kind of
(2016) emphasizes this research gap, indicating that reprogram-
service orientation. Furthermore, of the seven studies that address
ming is one of the biggest challenges for IoT-middleware.
context-awareness as a high-level aspect, all use some type of ser-
vice orientation, which suggests that SOA can somehow assist and 4.2. Other results
facilitate the introduction of context-awareness in cloud-based ser-
vice architectures, which is today one of the distributed computing Besides describing the result of each RQ, in the next subsec-
paradigm preferred by companies. tions we present some relevant statistical research results, such as,
As argued by the studies indicated in Table 15, SOA allows for annual distribution of the selected papers by source and approach
better integration of smart devices to the WoT (Web of Things) type as well as the main languages, frameworks, high-level defini-
concept, supporting business applications that are aligned and fol- tion languages and other technologies used by the selected studies.
low the trend in orchestration based on business process with BPM
software. For example, Domingos #295, proposed a code genera- 4.2.1. Classification by publication year and source
tion solution based on a SOA-based middleware where sensed data The default settings were used in the search string for each dig-
are sent via a web service (WS) to the business process application. ital library and the time period was left unmodified. This configu-
Domingos #295 argues that an SOA approach, WS technologies in ration returned all existing publications from every available year.
particular, makes this integration easier and helps to promote the As aforementioned, no publications prior to 2004 were returned
decoupling of specific middleware details, allowing the BPM appli- as the first version of IEEE.802.15.4 standard was only released in
cation to send and receive data to the WSN without concern for 2003. In the ‘2nd Stage’ (Teixeira et al., 2016) of the conducting
the specific lower-level details that are responsible for the mid- phase only five publications in 2004 were returned, giving a total
dleware. Riedel #143 claims that SOA can be used as a means of of 601 publications.
providing flexibility and performance in the modeling of high-level Fig. 2 presents the annual distribution of the selected papers
aspects and proposes an architecture based on MDA and WS gate- sorted at the ‘4th Stage’ by their respective sources. An increase
ways that makes it possible to work with different WSN sensor in the number of publications can be observed in 2009 and 2012
hardware platforms, separating the low-level from the high-level followed by a slight decrease in 2010, 2011 and 2013. In 2014 and
concerns. 2015, we can observe another increase with an upward trend for
With the growth in IoT applications, there is a consequent in- 2016.
crease in their complexity and diversity. As a result, there is also a
natural tendency for the final applications to migrate to the Cloud, 4.2.2. Classification by type of approach and year
leaving as little processing as possible in the sensor nodes. There- Table 16 presents the annual distribution of the studies classi-
fore, it has become common to address SOA in IoT solutions. This fied by type of approach between 2005 and 2015. From 59 papers,
aligns with the recent technological choices made by many com- 4 (7%) used the BPMN4WSN, 11 (18%) used the BPM/BPMN and 44
panies and the increasing use of SOA/Cloud in their ERP systems. (75%) use the MDE.
In summary, SOA architectures should be better exploited by mod- Among the selected papers, the MDE was the approach type
eling and code generation approaches for WSN/IoT applications as which was most commonly used each year with the exception of
they facilitate the implementation of high-level aspects and meet 2006, following the same rate of growth represented in Fig. 2.
the needs of companies with regards to their business applications. These results are to be expected based on a previous study con-
ducted to define the control papers, and a previous analysis done
with the results obtained by the IEEE Xplore, the first source ana-
4.1.5. Dynamic code update deployment (RQ05) lyzed in the beginning of data collection. The results and the anal-
No publications were identified nor was it possible to obtain ysis of the selected papers which were obtained with this map-
any information in the selected papers that provide some kind of ping review demonstrate a preference for the MDE approach. This
support for dynamic code updating (reprogramming) integrated in is understandable, because of the advantages of MDA architec-
the modeling and code generation process. In this case, to update tures in facilitating the modeling and code generation process with
the code generated it would be necessary to physically access each an effective and diverse software artifacts repository, plug-ins and
sensor mote to manually deploy reprogramming or use a specific projects make it relative easy to model and generate the WSN node
reprograming technique compatible with the generated code. code. The developer has range of tools with various options for the
There is a lack of studies regarding reprogramming support and entire modeling and code-generation process.
this indicates a research gap that could be better explored with fu- This reinforces the importance and necessity of conducting fur-
ture studies in modeling and code-generation or in IoT-middleware ther research into the MDE approaches, exploring the aspects that
S. Teixeira et al. / The Journal of Systems and Software 132 (2017) 50–71 65

Table 16
Annual distribution of studies by type of approach.

Year Type of approach

BPM/BPMN BPMN4WSN MDE

2005 #882
2006
2007 #95 #286,#472
2008 #12
2009 #77 #91,#807,#316,#334,#446
2010 #30 #236,#143,#302,#442
2011 #299 #230,#234,#216
2012 #22,#57 #15,#292 #28,#157,#220,#406, #405,#403,#258
2013 #298 #1293,#4 #2,#6,#25,#217
2014 #158,#383 #14,#16,#110,#534,#225, #918,#319,#373
2015 #276, #295 #7,#56,#229,#201,#179, #185,#306,#362,#366
Total 11 4 44
(18,64%) (6,77%) (74,57%)

could contribute to and facilitate the modeling and code genera- IoT-A Deliverables could be consulted (“Internet of Things - Archi-
tion process even further. At the same time, conducting further re- tecture,” 2016).
search into the aspects which stand out and are in growing de-
mand in the business context. In this way, it is important to ob- 4.2.3. Classification and quantitative analysis by languages and
serve trends of the technologies and architectures that are being technologies supporting the modeling and code generation process
used in the business environment. For example, the use of BPM In order to facilitate the analysis of this topic, it has been bro-
software to aid decision making has increased greatly in the last ken down into subtopics to facilitate the process of analysis and
few years, forcing the development of BP software to propose so- classification that continues below.
lutions that meet these new demands from companies (Fleming,
M., Silverstein, 2015). According to a study by IDC, this is expected 4.2.3.1. Languages, protocols, standards and technologies. There are
to experience growth in the coming years as companies become many options of languages and technologies in the entire model-
increasingly interested in optimizing and automating their busi- ing and code generation process. Table 17 presents the most com-
ness processes (Glaz et al., 2015). Considering this, BPM/BPMN ap- monly used languages and technologies that influence the entire
proaches stand out and should be the focus of new studies given architecture and the code generation process.
that they are totally aligned with the demands and strategic busi- From the results presented in Table 17, it is possible to verify
ness decisions, mainly with high-level modeling aspects because the preference for “Eclipse” (2016). Its wide range of possibilities,
BPM/BPMN is an alternative for high-level graphic modeling for the including new plug-ins, diverse resources and features, make it a
development of WSN applications. user-friendly and suitable environment for supporting the model-
The increase of studies based on BPM/BPMN approaches peaks ing and code generation process. For example, the ATL, Acceleo,
in 2012, coinciding with the onset of publications with propos- oAW and jBPM are projects that are available as an Eclipse plug-in.
als based on BPMN4WSN from the makeSense group. The growth The openArchitectureWare (oAW) (Voelter, 2006) is a java-based
from 2012 also coincides with an increase in news predicting the suite of tools and components to build MDA models, metamodels
growth of the IoT. It is important to state that many publications and code formats. The studies that opted to use oAW did so from
based on BPM/BPMN/BPMN4WSN are business-oriented studies. Of a PSM model to generate the node code with validation checking.
the 15 studies, 7 (46%) have co-authors linked to research cen- Today, the “Xtext - Language engineering for everyone”
ters from big companies such as SAP (with 6 studies #298, #95, (2016) framework is the next evolutionary step of oAW. The jBPM
#15, #292, #4 and #1293) and IBM (study #22). The approaches is a java-based framework and has a workflow engine for modeling
based on BPMN4WSN propose an extension of the BPMN standard and process automation in BPMN (“jBPM,” 2015). The jBPM based
with element modifications to its meta-model so that they become studies use this system to integrate IoT with BP through a BPMN.
more appropriate for the modeling and integration of the BPMN The “Signavio” (2015) is a web-based editor and workflow for the
with the IoT. These approaches are all linked to the group/project modeling and process automation in BPMN. Signavio was mainly
makeSense and present the advantage of permitting the modeling used in studies linked to the MakeSense group (Tranquillini et al.,
of IoT applications that can be done with a high-level graphic lan- 2012). This is due to the fact that it is an open-source tool pro-
guage. However, they require the adaptation of existing BMP tools viding support for the use of BPMN4WSN or some kind of BPMN
and demand that the participants involved in the process have a extension. One of the main goals of these studies is to propose
command of both BPMN and knowledge of basic WSN. This spe- a model-to-macrocode transformation for facilitating the develop-
cific combination of skills and knowledge is rare to find in today’s ment of an IoT solution.
market. RESTful, WSDL, SOAP and JSON are used to support some kind
We identified research projects that investigate ways to inte- of SOA architecture to assist the use of decoupling services to de-
grate business architectures with IoT. The European project Inter- ploy part of the IoT solution in a server or a cloud service. For ex-
net of Things Architecture (IoT-A) (“Internet of Things - Architec- ample, Vujovic #110, proposed a WS RESTful to receive data from
ture,” 2016) is one example. IoT-A is a collaborative project in- the sensor nodes via HTTP protocol. The BPEL was chosen in some
volving large software and technology companies and universities. studies to execute the integration between IoT and BP.
They have proposed the Architectural Reference Model (ARM) and
a set of key building blocks that should provide the foundation for 4.2.3.2. High-level modeling language. The most common high-level
the development of the emerging IoT. For a deeper understand- languages identified were UML, EMF Ecore (Meta-modeling) and
ing of the issues related to the BPMN adaptations and extensions, BPMN respectively. The works #472, #316, #28, #258, #366, #179
which better meet the IoT requirements for the BPMN notation, use the Object Constraint Language (OCL) to specify some kind
66 S. Teixeira et al. / The Journal of Systems and Software 132 (2017) 50–71

Table 17
Distribution of the most commonly used languages and technologies by type of approach.

Commonly used languages Type of approach


and technologies

BPM/ BPMN BPMN4WSN MDE

Eclipse (26) #77,#158,#383 #234,#25,#179,#334,#316, #110,#302,#143,#534,


#258, #185,#230,#286,#472,#807,
#12,#406,#7,#14,#2,#201, #306, #918
Java (10) #95,#30, #57 #234,#56,#534,#366, #362,#405,#373
ATL (8) #14,#201,#306,#185,#230,#286,#472,#7
Acceleo (8) #14,#2,#918,#25,#185, #230,#406,#7
RESTful (5) #298,#276 #110,#406,#229
HTTP (5) #276 #143,#225,#229,#373
Signavio (5) #298 #292,#4,
#15,
#1293
oAW (4) #316,#302,#807,#12
JSON (4) #298 #918,#225,#373
SOAP (3) #299 #56,#143
WSDL (3) #383,#299 #143
jBPM (3) #57,#295, #276
BPEL (3) #158,#299,#383

Table 18
Annual distribution of high level modeling languages.

High-level modeling languages 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015

UML #286 #12 #807#334 #442 #216 #15, #405 #1293 #217 #16 #366#201#306
#472 #316 #236 #403 #258 #25 #534
#143 #6
#302
EMF Ecore (meta modeling) #286 #12 #446 #236, #143 #234 #28, #403 #25 #14 #366
#316 #302 #230 #258 #110 #179
#918 #185 #229
#7
BPM/BPMN #30 #299 #22 #298 #383 #276
#57 #158 #295
BPMN4 #292 #15 #1293
WSN #4
SysML #157 #2
GWELS #77
XMLVM #95
SAML #28
fUML #319
SSML #406
SAL #362
VRDK #882

of constraints on the metamodel elements for setting restrictions IRIS, TelosB, “Arduino” (2016), SunSPOT, “Raspberry pi” (2016), etc)
and avoiding ambiguity. For example, in #316 the models are val- or simulator (e.g., TOSSIM) (Levis et al., 2009). More details are
idated with some OCL constraints in order to be checked against available in the spreadsheet (Teixeira et al., 2016) that contains all
the model. Table 18 presents the annual distribution of high-level results.
modeling languages and Fig. 3 shows the percentage of use for
each high-level modeling language used. With the exception of 5. Conclusions
the most commonly used languages such as UML, EMF Ecore,
BPM/BPMN and BPMN4WSN, the remaining studies propose other The view of a world flooded with smart objects present in our
languages, with the majority being UML extensions. daily lives in a transparent and autonomous way is nothing new.
The UML and EMF Ecore (meta-modeling) high-level languages Weiser (1991) published his famous article entitled “The computer
are the mostly used by MDE approaches, except in #15 and #1293 of the 21st century”, in the Scientific American, which spoke of a
that uses BPMN4WSN approach. Table 19 presents the distribution ubiquitous computing scenario in which smart objects were able
of the most commonly used high-level modeling languages by type to offer people services to facilitate their lives. It is not unsound to
of approach. say that the Internet of Things is materializing Weiser’s vision.
In academia and the IDC (2015), (Liu and Yu, 2013; Malavolta
4.2.3.3. Node programming language, OS system, platform or simula- and Muccini, 2014; Razzaque et al., 2016), market research has
tor. Among the results analyzed and available in the spreadsheet, been indicating an increasing interest in the IoT domain. The re-
it is possible to highlight from the 59 selected papers, only 25 re- sults of the annual distribution of selected papers, as shown in
port the OS used on the nodes. “TinyOS” (2016) was used by 16 Fig. 3, corroborates this statement. Based on the evaluation of data
and “Contiki” (2016) was used by 10 works. Other works use a dif- available on the ’2nd Stage’ tab of the spreadsheet (Teixeira et al.,
ferent OS type such as “Sun SPOT World” (2016), EPOS #16 and 2016) containing the search results, it is possible to identify a vir-
iSense #299. With regards to the platform or simulator, 20 works tually uniform growth in publications from 2004 to 2015, even be-
report the use of some kind of platform (MicaZ (MEMSIC, 2016), fore applying any filter. Results of a survey conducted in 2015 by
S. Teixeira et al. / The Journal of Systems and Software 132 (2017) 50–71 67

Table 19
Distribution of the most commonly used high-level modeling languages by type of approach.

High-level modeling Type of approach

languages BPM/BPMN BPMN4WSN MDE

UML #15,#1293 #12,#286,#472,#807,#334,#442,#236,#216,#405,


#403,#258,#217,#25,#16,
#366,#201,#306,#143,#302,#316,#534
EMF Ecore (Meta-modeling) #286,#12,#446,#236,#234,#230,#28,#403,#258,
#25,#14,#110,#918,#179,
#185,#229, #143,#302,#316,#366
BPM/BPMN #30,#299,#22,
#57,#298,#383,#158,#276,
#295
BPMN4WSN #292,#15, #1293,#4
SysML #157,#2
GWELS #77
XMLVM #95
SAML #28
fUML #319
SSML #406
SAL #362
VRDK #882

specifically designed to deal with high-level aspects such as QoS,


QoC, semantic support, privacy and security are still missing in cur-
rent approaches, at least in an integrated way.
Another issue highlighted in this study is that none of the se-
lected works supports a dynamic code update. As discussed in
Section 2.3.5, the increase in the complexity and the dynamic be-
havior of the WSN/IoT applications make code updating after its
deployment a relevant requirement. Thus, alternatives for repro-
gramming the nodes in WSN/IoT applications such as proposed by
Branco et al. (2015) should be taken into consideration during the
code generation process.
The capacity to provide flexibility or decoupling in the WSN/IoT
solution during the development and execution of the final appli-
cation is another important aspect that should become increasingly
relevant in the coming years. This tendency is perfectly aligned
with the Business IT model adopted in the corporate environment.
The increasing need for company competitiveness and frequent
changes in the demands of the applications, has created the need
to develop ways to interoperate with heterogeneous systems. Both
Fig. 3. Percentage of high-level modeling languages used by the selected papers. Cloud computing and SOA offer an effective way to support het-
erogeneous systems which interoperate and are increasingly incor-
porated into the set of technologies, methods and practices used
the IDC indicates that the IoT market will grow to an estimated to build support infrastructures for the WSN/IoT.
$ 1.7 trillion in 2020, with an annual growth rate of 16.9% (IDC, In particular, the development of approaches and code-
2015). generation architectures that are capable of addressing SOA and
In contrast with this predicted growth, Cisco estimates a deficit Cloud, aligned with the use of Web technology as a base for de-
of 8.2% in 2022 for the professionals of the Information and Com- scriptive and semantic enrichment of the data, helping to pro-
munication Technology (ICT) market and indicates the need for mote the interoperability and flexibility and decoupling between
training professionals with different profiles who are capable of the low-level WSN/IoT platform details and the final applications.
working with the IoT, especially considering that developing IoT This is an important research gap that should be explored by ex-
solutions is still a complex task that requires the participation of perts in the area in the next few years.
multidisciplinary teams (Fator Brasil, 2013). Therefore, it is rele- It should also be noted that, historically, business solutions de-
vant and necessary to search of ways to facilitate the modeling and veloped by large hardware and software providers tend to create
code generation process for professionals who do not have low- new demands for other large clients and the ICT market in general.
level programming skills. In this way, it will be easier to meet the Therefore, to a certain extent, the growth of the interest and re-
growing demand for the development of IoT solutions. search on WSN/IoT applications has also been influenced by these
The research gap identified in this study indicates the need for big players. This study has shown that large ERP and BPM software
the development of architectures that simplify the code-generation vendors, like SAP (“SAP IoT Connects the World to Enable Live Busi-
process and at the same time facilitate the participation of various ness.,” 2016) and IBM, have particular interest in specific platforms
stakeholder, with freedom to conceive or utilize final applications that integrate IoT to their own BPM systems or Enterprise architec-
without having to worry about lower-level details characterized by ture, with the purpose of adding value to their business processes.
the WSN/IoT objects. This is a trend that will be followed by other major software com-
There were various existing research gaps identified by this panies.
study. For example, modeling abstractions and methodologies
68 S. Teixeira et al. / The Journal of Systems and Software 132 (2017) 50–71

The results of the study show a predominance of code- Baldam, R., Valle, R., Rozenfeld, H., 2014. Gerenciamento De Processos De Negócios
generation proposals based on MDE approaches. This should con- - BPM. Campus - Elsevier, Rio de Janeiro.
Balen, J., Zagar, D., Martinovic, G., 2011. Quality of service in wireless sensor net-
tinue increasing, considering its advantages and appropriate char- works: a survey and related patents. Recent Patents Comput. Sci. 4, 188–202.
acteristics for WSN application code-generation as well as the vast doi:10.2174/2213275911104030188.
support provided by familiar frameworks, such as Eclipse, which Berardinelli, L., Marco, A.Di, Pace, S., 2014. fUML-driven design and performance
analysis of software agents for wireless sensor network. In: European Confer-
facilitates the work of whoever wishes to develop application with ence on Software {…}, pp. 324–339.
an MDE approach. It is no coincidence that Table 17-new indicates Branco, A., ’anna, Sant, F., Ierusalimschy, R., Rodriguez, N., Rossetto, 2015. Terra: flex-
a preference for the use of Eclipse. In contrast, there is also an ibility and safety in wireless sensor networks. ACM Trans. Sen. Netw. 11, 1–27.
doi:10.1145/2811267.
increasing demand for applications that are able to integrate into
Buchholz, T., Küpper, A., Schiffers, M., 2003. Quality of context: what it is and why
a heterogeneous corporate environment. Thus aligning the use of we need it. In: Proceedings of the Workshop of the HP OpenView University
MDE approaches with the enterprise architectures, with the aim of Association, pp. 1–14. doi:10.1.1.147.565.
Caracas, A., 2012. From business process models to pervasive applications: syn-
favoring the interoperability of WSN/IoT and the business applica-
chronization and optimization. In: 2012 IEEE International Conference on Per-
tion directed to BPM, ERP and other legacy systems is a continual vasive Computing and Communication Workshops (PERCOM Workshops), 2012,
challenge for researchers. pp. 320–325. doi:10.1109/PerComW.2012.6197503.
As presented in Section 4.1.3, 56% of the selected papers made Casati, F., Daniel, F., Dantchev, G., Eriksson, J., Finne, N., Karnouskos, S., Montero,
P.M., Mottola, L., Oppermann, F.J., Picco, G. Pietro, Quartulli, A., Kay, R., 2012.
use of some IoT-middleware to support the code generation pro- Towards Business Processes Orchestrating the Physical Enterprise with Wireless
cess. In general, adopting a middleware simplifies the application Sensor Networks 1357–1360.
development process as the lower-level details can be hidden and Cerqueira, L.D., Barcellos, MonalessaPerrini, Falbo, RicardodeAlmeida, Nardi, J.C.,
2016. Process integration in semantic enterprise application integration: a sys-
dealt with in this additional layer. Meanwhile, in the context of tematic mapping. Ontobras.
WSN/IoT applications it is important to verify if the conceptual ar- Chen, D., Nixon, M., Han, S., Mok, A.K., Zhu, X., 2014. WirelessHART and IEEE
chitecture of the middleware permits the interoperability with the 802.15.4e. In: Proceedings of the IEEE International Conference on Industrial
Technology, pp. 760–765. doi:10.1109/ICIT.2014.6895027.
BPM enterprise architectures. This study shows that flexible IoT Chen, D., Varshney, P.K., 2004. QoS support in wireless sensor networks: a sur-
middleware that is aligned to enterprise architecture is still an im- vey. International Conference Wireless Networks, (ICWN ’04) 13244, 227–233.
portant research gap. doi:10.1.1.91.3594.
Chen, J., Díaz, M., Llopis, L., Rubio, B., Troya, J.M., 2011. A survey on quality of service
We believe that the discussions and results of the presented
support in wireless sensor and actor networks: requirements and challenges
here in this review raise relevant questions regarding automatic in the context of critical infrastructure protection. J. Netw. Comput. Appl. 34,
code generation for WSN/IoT applications of which could still be 1225–1239. doi:10.1016/j.jnca.2011.01.008.
Contiki [WWW Document], 2016. URL http://contiki-os.org/ (accessed 1.1.16).
more thoroughly investigated with additional mapping or system-
Corredor, I., Bernardos, A.M., Iglesias, J., Casar, J.R., 2012. Model-driven methodology
atic reviews. As previously highlighted, all the results of this study for rapid deployment of smart spaces based on resource-oriented architectures.
can be consulted in the spreadsheet (Teixeira et al., 2016). Sensors 12, 9286–9335. doi:10.3390/s120709286.
Costa, P.D., 2007. Architectural Support for Context-Aware Applications: From Con-
text Models to Services Platforms. Telematica Instituut Fundamental Research
Acknowledgments Series, Enschede.
Dai, C., Wang, Z., 2010. A flexible extension of WSDL to describe non-functional at-
tributes. In: 2010 2nd International Conference on E-bus Information System
The first author acknowledges CAPES (Process: 9 96325252) for Security EBISS2010, pp. 52–55. doi:10.1109/EBISS.2010.5473641.
the financial grant. Our gratitude goes to Ricardo de Almeida Falbo, Delicato, F.C., Pires, P.F., Rust, L., Pirmez, L., de Rezende, J.F., 2005. Reflective mid-
who made important contributions to the methodology and Sys- dleware for wireless sensor networks. In: Proceedings of the 2005 ACM Sympo-
sium on Applied Computing - SAC ’05, p. 1155. doi:10.1145/1066677.1066937.
tematic Mapping protocols used in this Systematic Mapping Study. Dey, A.K., Abowd, G.D., 20 0 0. Towards a better understanding of context and con-
Finally, a special thanks to Claire Henderson Venables, the enthu- text-awareness. In: CHI 20 0 0 Workshop on the What, Who, Where, When, and
siastic language teacher who reviewed the English. How of Context-Awareness, pp. 1–6.
Doddapaneni, K., Ever, E., Gemikonakli, O., Malavolta, I., Mostarda, L., Muccini, H.,
2012. A model-driven engineering framework for architecting and analysing
Supplementary materials Wireless sensor networks. In: 2012 Third International Workshop on Software
Engineering for Sensor Network Applications, pp. 1–7. doi:10.1109/SESENA.2012.
6225729.
Supplementary material associated with this article can be Domingos, D., Martins, F., Caiola, L., 2010. Decentralising internet of things aware
found, in the online version, at doi:10.1016/j.jss.2017.06.024. BPMN. Bus. Process. 24, 110–119. doi:10.1007/978- 3- 642- 11528- 8.
Dong, W., Chen, C., Bu, J., Liu, W., 2014. Optimizing relocatable code for efficient
software update in networked embedded systems. ACM Trans. Sens. Netw. 11,
References 1–34. doi:10.1145/2629479.
Eclipse [WWW Document], 2016. . Eclipse Found. URL http://www.eclipse.org/org/
Akbal-Delibas, B., Boonma, P., Suzuki, J., 2009. Extensible and precise modeling for (accessed 1.1.16).
wireless sensor networks. Lect. Notes Bus. Inf. Process. 20, 551–562. doi:10. Fator Brasil, 2013. Cisco impulsiona formação de cientistas, engenheiros e inven-
1007/978- 3- 642- 01112-2_55, LNBIP. tores em torno da Internet das Coisas [WWW Document]. URL http://www.
Akyildiz, I.F., Su, W., Sankarasubramaniam, Y., Cayirci, E., 2002. A survey on sensor revistafatorbrasil.com.br/ver_noticia.php?not=251796 (accessed 2.23.16).
networks. IEEE Commun. Mag. 40, 102–105. doi:10.1109/MCOM.2002.1024422. Fleming, M., Silverstein, J., 2015. Worldwide business process management soft-
Akzhalova, A., 2014. Model-driven QoS-aware approach for the sensor network. In: ware market shares. 2014: Tactical Spending Drives Growth. IDC Corp, USA
BMSD 2014 - Proceedings of the 4th International Symposium on Bus Model of [WWW Document]URL http://www.idc.com/getdoc.jsp?containerId=258170 (ac-
Software Design, pp. 113–122. doi:10.5220/0 0 05424901130122. cessed 1.1.16).
Alamri, A., Ansari, W.S., Hassan, M.M., Hossain, M.S., Alelaiwi, A., Hossain, M.A., Fonseca, V.S., Barcellos, M.P., Falbo, R., de, A., 2016. Tools integration for support-
2013. A Survey on Sensor-Cloud: Architecture, Applications, and Approaches. Int. ing software measurement: a systematic literature review. iSys - Rev. Bras. Sist.
J. Distrib. Sens. Netw. doi:10.1155/2013/917923. Informação 8, 80–108.
Almeida, J., 2006. Model-Driven Design of Distributed Applications. Springer. Gamal, a.El, Nair, C., Prabhakar, B., Uysal-Biyikoglu, E., Zahedi, S., 2002. Energy-
Anastasi, G., Conti, M., Di Francesco, M., Passarella, A., 2009. Energy conservation efficient scheduling of packet transmissions over wireless networks. In: Pro-
in wireless sensor networks: a survey. Ad Hoc Netw. 7, 537–568. doi:10.1016/j. ceedings of theTwenty-First Annual Joint Conference of the IEEE Computer and
adhoc.20 08.06.0 03. Communications Societies, 3, pp. 1773–1782. doi:10.1109/INFCOM.2002.1019431.
Arduino [WWW Document], 2016. URL https://www.arduino.cc/ (accessed 1.1.16). Glaz, R., Muscolino, H., Valentini, A., 2015. Worldwide smart business processes
Azad, S., Srinivasan, K., 2016. Implementation of open communication protocol forecast, 2015–2019 [WWW Document]. IDC Corp. USA. URL http://www.idc.
through wireless medium for process automation. In: International Conference com/getdoc.jsp?containerId=259443 (accessed 1.1.16).
on Internet of Things and Applications (IOTA), Pune, pp. 427–430. doi:10.1109/ Glombitza, N., Ebers, S., Pfisterer, D., Fischer, S., 2011. Using BPEL to Realize Business
IOTA.2016.7562766. Processes for an Internet of Things Lect. Notes Comput. Sci. (including Subser.
Balani, R., Han, C.-C., Rengaswamy, R.K., Tsigkogiannis, I., Srivastava, M., 2006. Multi- Lect. Notes Artif. Intell. Lect. Notes Bioinformatics) 6811 LNCS, 294–307. doi:10.
level software reconfiguration for sensor networks. In: Proceedings of the 6th 1007/978- 3- 642- 22450- 8_23.
ACM IEEE International Conference on Embedded Software, pp. 112–121. http: Guessi, M., Nakagawa, E.Y., Oquendo, F., Maldonado, J.C., 2012. Architectural descrip-
//doi.acm.org/10.1145/1176887.1176904. tion of embedded systems: a systematic review. In: Proceedings of the 3rd In-
S. Teixeira et al. / The Journal of Systems and Software 132 (2017) 50–71 69

ternational {ACM} {SIGSOFT} Symposium on Architecture Critical Systms 31–40. Malavolta, I., Muccini, H., 2014. A study on MDE approaches for engineering wireless
doi:10.1145/2304656.2304661. sensor networks. In: Proceedings of the - 40th Euromicro Conference Software
Gutierrez, J.A., Naeve, M., Callaway, E., Bourgeois, M., Mitter, V., Heile, B., 2001. IEEE Engineering and Advanced Applications (SEAA 2014), pp. 149–157. doi:10.1109/
802.15.4: a developing standard for low-power low-cost wireless personal area SEAA.2014.61.
networks. IEEE Netw. 15, 12–19. doi:10.1109/65.953229. Manzoor, A., Truong, H.L., Dustdar, S., 2008. On the Evaluation of Quality of Context
Halkes, G.P., Langendoen, K.G., 2007. Crankshaft : an energy-efficient MAC-protocol Lect. Notes Comput. Sci. (including Subser. Lect. Notes Artif. Intell. Lect. Notes
for dense wireless sensor networks. In: Proceedings of the 4th European Con- Bioinformatics) 5279 LNCS, 140–153. doi:10.1007/978- 3- 540- 88793- 5- 11.
ference on Wireless on Sensor Networks, 4373, pp. 228–244. doi:10.1007/ Mellor, S., Scott, K., Uhl, A., Weise, D., 2004. MDA Distilled - Principles of Model
978- 3- 540- 69830- 2_15. Driven Architecture. Addison Wesley.
Haller, S., Karnouskos, S., Schroth, C., 2009. The Internet of things in an enterprise MEMSIC, 2016. MEMSIC Powerful Sensing Solutions – Wireless Sensor Networks
context. Lect. Notes Comput. Sci. (including Subser. Lect. Notes Artif. Intell. Lect. [WWW Document]. URL http://www.memsic.com/wireless- sensor- networks/
Notes Bioinformatics) 5468, 14–28. doi:10.1007/978- 3- 642- 00985- 3_2. (accessed 1.1.16).
Heinzelman, W.R., Chandrakasan, A., Balakrishnan, H., 20 0 0. Energy-efficient com- Meyer, S., Ruppen, A., Magerkurth, C., 2013. Internet of Things-Aware Process Mod-
munication protocol for wireless microsensor networks. In: Proceedings of the eling: Integrating IoT Devices as Business Process Resources Lect. Notes Comput.
33rd Annual Hawaii International Conference on System Sciences, 0, pp. 3005– Sci. (including Subser. Lect. Notes Artif. Intell. Lect. Notes Bioinformatics) 7908
3014. doi:10.1109/HICSS.20 0 0.926982. LNCS, 84–98. doi:10.1007/978- 3- 642- 38709- 8_6.
Henricksen, K., Indulska, J., 2004. Modelling and using imperfect context informa- Meyer, S., Sperner, K., Magerkurth, C., Pasquier, J., 2011. Towards modeling real-
tion. In: Proceedings - Second IEEE Annual Conference on Pervasive Computing world aware business processes. In: Proceedings of the Second International
and Communications, Workshops, (PerCom), pp. 33–37. doi:10.1109/PERCOMW. Workshop on Web Things, pp. 1–6. doi:10.1145/1993966.1993978.
2004.1276901. Nardi, J.C., Falbo, R.D.A., Almeida, J.P.a., 2013. Foundational ontologies for semantic
Hughes, A., Murray, S., 2015. IDC Survey Reveals Majority of Manufacturers World- integration in EAI: a systematic literature review. In: I3E 2013, IFIP AICT 399,
wide Using Public or Private Cloud [WWW Document]. URL https://www.idc. pp. 238–249. doi:10.1007/978- 3- 642- 37437-1_20.
com/getdoc.jsp?containerId=prUS25558515 (accessed 1.1.16). Neisse, R., Wegdam, M., Van Sinderen, M., 2008. Trustworthiness and quality of con-
IBM, 2017. IBM Mote Runner [WWW Document]. URL https://www.zurich.ibm.com/ text information. In: Proceedings of the 9th International Conference for Young
moterunner/ (accessed 4.10.17). Computer Scientists ICYCS 2008, pp. 1925–1931. doi:10.1109/ICYCS.2008.368.
IDC, 2015. Explosive Internet of Things Spending to Reach $1.7 Trillion in 2020 Nguyen, X.T., Tran, H.T., Baraki, H., Geihs, K., 2016. FRASAD: a framework for model-
[WWW Document]. Explos. Internet Things Spend. to Reach $1.7 Trillion driven IoT application development. In: Proceedings of the IEEE World Forum
2020. URL http://www.idc.com/getdoc.jsp?containerId=prUS25658015 (accessed Internet Things, (WF-IoT 2015), pp. 387–392. doi:10.1109/WF-IoT.2015.7389085.
1.1.15). (OMG), O.M.G., 2015. Business Process Modeling Notation (BPMN) [WWW Docu-
IEC, 2014. Internet of Things : Wireless Sensor Networks Executive summary 78. ment]. URL http://www.omg.org/bpmn/ (accessed 1.1.15).
IEEE Computer Society, 2012. IEEE Standard for Local and metropolitan area net- Object Management Group (OMG), 2014. MDA Guide Version 2.0, OMG Document
works — Part 15 . 4 : Low-Rate Wireless Personal Area Networks (LR-WPANs) ormsc/2014-06-01.
Amendment 1 : MAC sublayer IEEE Computer Society. Object Management Group (OMG), 2002. Unified Modeling Language. [WWW Doc-
IEEE Computer Society, 2011. IEEE Standard for the Functional Architec- ument].
ture of Next Generation Service Overlay Networks, IEEE Std 1903-2011. Pana, F., Put, F., 2013. A survey on the evolution of RSVP. IEEE Commun. Surv. Tutor.
doi:10.1109/IEEESTD.2011.6044687. 15, 1859–1887. doi:10.1109/SURV.2013.021313.00107.
IETF, 2017a. IETF IntServ Working Group [WWW Document]. URL https:// Polastre, J., Hill, J., Culler, D., 2004. Versatile low power media access for wireless
datatracker.ietf.org/wg/intserv/about/ (accessed 5.6.17). sensor networks. In: Proceedings of the 2nd International Conference on Em-
IETF, 2017b. IETF RSVP Working Group [WWW Document]. URL http://www.isi.edu/ bedded Networked Sensor Systems, pp. 95–107. doi:10.1145/1031495.1031508.
rsvp/ietf.html (accessed 5.6.17). Priyantha, N.B., Kansal, A., Goraczko, M., Zhao, F., 2008. Tiny web services: design
IETF, 2017c. IETF DiffServ Working Group [WWW Document]. URL http:// and implementation of interoperable and evolvable sensor networks. In: Pro-
datatracker.ietf.org/wg/diffserv/charter/ (accessed 5.6.17). ceedings of the 6th ACM Conference on Embedded Network Sensor Systems
Internet of Things - Architecture [WWW Document], 2016. - SenSys ’08, SenSys ’08. ACM, New York, NY, USA, pp. 253–266. doi:10.1145/
Jan, M., Jouvray, C., Kordon, F., Kung, A., Lalande, J., Loiret, F., Navas, J., Pautet, L., Pu- 1460412.1460438.
lou, J., Radermacher, A., Seinturier, L., 2012. Flex-eWare: a flexible model driven Project, M., 2015. Makesense Project: Easy Programming of Wireless Sensor Net-
solution for designing and implementing embedded distributed systems. Softw. works [WWW Document]. URL http://www.youtube.com/embed/n4ospuvPrWA
- Pract. Exp. 42, 1467–1494. doi:10.1002/spe.1143. (accessed 1.1.15).
jBPM [WWW Document], 2015. . Red Hat Inc. URL http://www.jbpm.org/ (accessed Rajendran, V., Obraczka, K., Garcia-Luna-Aceves, J.J., 2003. Energy-efficient, collision-
1.1.15). free medium access control for wireless sensor networks. In: 1st International
Jin, J., Gubbi, J., Luo, T., Palaniswami, M., 2012. Network architecture and QoS issues Conference Embedded on Networked Sensor Systms - SenSys’, pp. 181–192.
in the internet of things for a smart city. In: 2012 International Symposium on doi:10.1145/958491.958513.
Communications and Information Technologies (ISC. 2012), pp. 956–961. doi:10. Raspberry pi [WWW Document], 2016. URL https://www.raspberrypi.org/ (accessed
1109/ISCIT.2012.6381043. 1.1.16).
Jindal, V., Verma, A.K., 2016. The underlying technologies in WSNs: ZigBee vs. wire- Razzaque, M.A., Milojevic-Jevric, M., Palade, A., Cla, S., 2016. Middleware for inter-
less HART. In: 2015 12th International Conference on Fuzzy Systems and Knowl- net of things: a survey. IEEE Internet Things J 3, 70–95. doi:10.1109/JIOT.2015.
edge Discovery, FSKD, pp. 2208–2213. doi:10.1109/FSKD.2015.7382295. 2498900.
Karamchati, S., Rawat, S., Varma, V., 2017. A novel architecture to enhance quality of Rodrigues, T., Batista, T., Delicato, F.C., Pires, P.F., 2015a. Architecture-driven develop-
service in IP networks. In: International Conference on Information Networking ment approach for WSAN applications. In: Proceedings of the - IEEE/IFIP 13th
(ICOIN), pp. 616–621. doi:10.1109/ICOIN.2017.7899567, 2017. International Conference on Embedded Ubiquitous Computing (EUC 2015), 1,
Kitchenham, B.A., Budgen, D., Pearl Brereton, O., 2011. Using mapping studies as pp. 68–75. doi:10.1109/EUC.2015.15.
the basis for further research - A participant-observer case study. Inf. Softw. Rodrigues, T., Batista, T., Delicato, F.C., Pires, P.F., Zomaya, A.Y., 2013. Model-driven
Technol. 53, 638–651. doi:10.1016/j.infsof.2010.12.011. approach for building efficient wireless sensor and actuator network applica-
Kitchenham, B.A., Charters, S., Guidelines for Performing Systematic Literature Re- tions. In: International Workshop on Software Engineering for Sensor Network
views in Software Engineering Technical Report EBSE-2007-01, 2007. Applications (SESENA), pp. 43–48. doi:10.1109/SESENA.2013.6612265.
Levis, P., Lee, N., Welsh, M., Culler, D., Fok, C., Roman, G., Lu, C., Hagedorn, A., Rodrigues, T., Delicato, F.C., Batista, T., Pires, P.F., Pirmez, L., 2015b. An approach
Starobinski, D., Trachtenberg, A., Han, C.-C., Kumar, R., Shea, R., Srivastava, M., based on the domain perspective to develop WSAN applications. Softw. Syst.
Hui, J.W., Culler, D., Levis, P., Culler, D., Patel, N., Culler, D., Shenker, S., Model. 1–29. doi:10.1007/s10270-015-0498-5.
Mazumder, B., Hallstrom, J.O.J.O., Mukhtar, H., Kim, B.W.S., Kim, B.W.S., Joo, S.S., Rohten, L.A.M., 2016. NodeJS Script for the Springer Digital Library [WWW Docu-
Munawar, W., Alizai, M.H., Landsiedel, O., Wehrle, K., Alizai, M.H., Wehrle, K., ment]. URL https://github.com/sergiomulticast/MappingReview (accessed 1.1.16).
Ruffing, M., He, Y., Kelly, M., Hallstrom, J.O.J.O., Olariu, S., Weigle, M.C., Römer, K., Kasten, O., Mattern, F., 2002. Middleware challenges for wireless sensor
Sant’Anna, F., Rodriguez, N., Ierusalimschy, R., Landsiedel, O., Tsigas, P., 2009. networks. ACM SIGMOBILE Mob. Comput. Commun. Rev. 6, 59–61. doi:10.1145/
TOSSIM: accurate and scalable simulation of entire TinyOS applications. In: Pro- 643550.643556.
ceedings of the - IEEE Military Communications Conference MILCOM 4, pp. 126– Rosales, P., Oh, K., Kim, K., Jung, J.-Y., 2010. Leveraging business process manage-
137. doi:10.1145/958491.958506. ment through complex event processing for RFID and sensor networks. In:
Liu, V.Y., Yu, Z., 2013. Wireless sensor networks for internet of things: a systematic 40th International Conference on Computers & Industrial Engineering, pp. 1–6.
review and classification. Inf. Technol. J. 12, 3581–3585. doi:10.1109/ICCIE.2010.5668159.
Losilla, F., Vicente-Chicote, C., Álvarez, B., Iborra, A., Sánchez, P., 2007. Wireless sen- Ruiz, L.B., 2003. Maná: uma arquitetura para gerenciamento de redes de sensores
sor network application development: an architecture-centric MDE approach. sem fio 170.
Softw. Archit. 179–194. doi:10.1007/978- 3- 540- 75132- 8_15. Ruppen, A., Meyer, S., 2013. An Approach for a Mutual Integration of the Web of
Loureiro, A., Nogueira, J.M.S., Ruiz, L.B., Mini, R.A.D.F., Nakamura, E.F., Things with Business Processes. In: Enterprise and Organizational Modeling and
Figueiredo, C.M.S., 2003. Redes de Sensores Sem Fio. In: XXI Simpósio Brasileiro Simulation, pp. 42–56. doi:10.1145/2834791.2834792.
de Redes de Computadores, pp. 179–226. Ruppen, A., Pasquier, J., Meyer, S., Rüedlinger, A., 2015. A component based approach
Maia, P., Cavalcante, E., Gomes, P., Batista, T., Delicato, F.C., Pires, P.F., 2007. On the for the Web of Things. doi:10.1145/2834791.2834792.
development of systems-of-systems based on the internet of things. In: Pro- Santanna, F.A., 2010. Análise Do Consumo De Energia Em RSSF Dotadas De Serviços
ceedings of the 2014 European Conference on Software Architecture Workshops Web. Universidade Federal do ABC.
- ECSAW, 14, pp. 1–8. doi:10.1145/2642803.2642828. SAP IoT Connects the World to Enable Live Business. [WWW Document], 2016.
70 S. Teixeira et al. / The Journal of Systems and Software 132 (2017) 50–71

SAP. URL http://news.sap.com/sap-iot-connects-world-to-enable-live-business/ and integration of wireless sensor network applications. In: Business Process
?url_id=banner- us- homepage- row1- iot- live- business- oct16r1/ (accessed 1.1.16). Management Bpm 2012, 7481, pp. 134–149. doi:10.1007/978- 3- 642- 32885- 5_
Schwalb, T., Schmid, J., Gädeke, T., Müller-Glaser, K.D., 2012. Component-based mod- 10.
els for runtime control and monitoring of embedded systems. In: Proceedings of Truyen, F., 2006. The Fast Guide to Model Driven Architecture The Basics of Model
the 5th International Workshop on Model Based Architecting and Construction Driven Architecture. Whitepaper, Cephas Consulting Corp., http://www.omg.org/
of Embedded Systems - ACES-MB ’12, pp. 31–36. doi:10.1145/2432631.2432637. mda/mda_files/Cephas_MDA_Fast_Guide.pdf.
Shih, E., Cho, S.-H., Ickes, N., Min, R., Sinha, A., Wang, A., Chandrakasan, A., 2001. van Dam, T., Langendoen, K., 2003. An adaptive energy-efficient MAC protocol for
Physical layer driven protocol and algorithm design for energy-efficient wireless wireless sensor networks. In: Proceedings of the 1st International Conference on
sensor networks. In: Proceedings of the 7th Annual International Conference Embedded Networked Sensor Systems (SenSys ’03), pp. 171–180. doi:10.1145/
Mobile Computing and Networking - MobiCom ’01, pp. 272–287. doi:10.1145/ 958491.958512.
381677.381703. Voelter, M., 2006. openArchitectureWare. Ecoop 2–5.
Signavio [WWW Document], 2015. URL http://www.signavio.com/ (accessed 1.1.15). Vujovic, V., Maksimovic, M., Perisic, B., Milosevic, V., 2014. A graphical editor for
Souza, E.F., Falbo, R.D., Vijaykumar, N.L., 2015. Knowledge management initiatives in RESTful sensor web networks modeling. In: Proceedings of the SACI 2014 - 9th
software testing: a mapping study. Inf. Softw. Technol. 57, 378–391. doi:10.1016/ IEEE International Symposium on Applied Computational Intelligence and Infor-
j.infsof.2014.05.016. matics„ pp. 61–66. doi:10.1109/SACI.2014.6840036.
Souza, S.C., 2013. Uma abordagem baseada em regras e computacao em nuvem para Wang, A., Cho, S., Sodini, C., Chandrakasan, A., 2001. Energy efficient modulation
desenvolvimento de aplicacoes em redes de sensores sem fio. and MAC for asymmetric RF microsensor systems. In: Proceedings of the 2001
Su, K., Li, J., Fu, H., 2011. Smart city and the applications. In: Proceedings of the International Symposium on Low Power Electronics and Design - ISLPED ’01,
2011 International Conference on Electronic Communication and Control (ICECC pp. 106–111. doi:10.1145/383082.383105.
2011)., pp. 1028–1031. doi:10.1109/ICECC.2011.6066743. Wang, Y., Zeng, P., Xiao, J., Zhang, Q., Li, D., 2011. Wireless gateway for wastewater
Sun SPOT World [WWW Document], 2016. . [Online] Disponível http://www. treatment. 2011 IEEE International Conference on Signal Processing, Communi-
sunspotworld.com, Maio 2010. URL http://www.sunspotworld.com/ (accessed cations and Computing (ICSPCC 2011) doi:10.1109/ICSPCC.2011.6061668.
1.1.16). Weiser, M., 1991. The computer for the 21 st century. Sci. Am. 265, 94–104. doi:10.
Sungur, C.T., Spiess, P., Oertel, N., Kopp, O., 2013. Extending BPMN for wireless sen- 1145/329124.329126.
sor networks. In: 2013 IEEE 15th Conference Business Informatics, pp. 109–116. Xtext - Language engineering for everyone [WWW Document], 2016. URL http://
doi:10.1109/CBI.2013.24. www.eclipse.org/Xtext/ (accessed 1.1.16).
Teixeira, S., Agrizzi, B., et al., 2016. SpreadSheet Protocol for a Mapping Lit- Yick, J., Mukherjee, B., Ghosal, D., 2008. Wireless sensor network survey. Comput.
erature Review [WWW Document]. URL https://github.com/sergiomulticast/ Netw. 52, 2292–2330. doi:10.1016/j.comnet.20 08.04.0 02.
MappingReview (accessed 1.1.16). Yu, Y., Govindan, R., Estrin, D., 2001. Technical Report ucla/csd-tr-01-0023. UCLA
TinyOS [WWW Document], 2016. . Stanford Univ. URL http://tinyos.stanford.edu/ Computer Science Department doi:10.1504/IJAHUC.2009.023897.
tinyos-wiki/index.php/Main_Page (accessed 1.1.16).
Tranquillini, S., Spiess, P., Daniel, F., Karnouskos, S., Casati, F., Oertel, N., Mottola, L.,
Oppermann, F.J., Picco, G.Pietro, Roemer, K., Voigt, T., 2012. Process-based design
S. Teixeira et al. / The Journal of Systems and Software 132 (2017) 50–71 71

Sergio Teixeira is a Computer Science PhD candidate at Federal University of Espírito Santo (UFES), in Vitória, Brazil. He received a post-graduate degree in Computer
Networks in 1997 and went on to complete a M.Sc. in 2005, also at UFES. His research interests include computer networks, wireless sensor networks, Situation-aware and
Business-aware computing and the Internet of Things. He has 16 years’ experience in academia and 30 years in Computer Science, working mainly in the area of Networks
and Enterprise. He is a lecturer at the Catholic University of Brasilia (UCB) and the Catholic University Center of Vitória (UCV).

Bruno Alves Agrizzi is a Computer Science M.Sc. candidate at Federal University of Espírito Santo (UFES), in Vitória, Brazil. He received his B.Sc. degree in Computer Science
from UFES in 2016. His research interests include computer networks, wireless sensor networks, situation-aware, business-aware computing and Internet of Things.

José Gonçalves Pereira Filho is a Full Professor at Federal University of Espírito Santo (UFES), in Vitória, Brazil. He received his D.Sc. in Electrical Engineering from University
of São Paulo (USP) in 1996. Part of the doctoral research was developed at the University of British Columbia, in Vancouver, Canada, in multimedia systems. He held a
postdoctoral position at the Faculty of Electrical Engineering, Mathematics and Computer Science (EWI) of the University of Twente, in Enschede, The Netherlands, from
Oct-2002 to Sep-2003 and from Sep-2014 to Aug-2015 (SCS Research Group). His research interests include computer networks, wireless sensor networks, context-aware
computing and Internet of Things.

Silvana Rossetto received her PhD in Computer Science from Catholic University of Rio de Janeiro (PUC-Rio) in 2006. She holds the position of Associate Professor at the
Computer Science Department of the Federal University of Rio de Janeiro (UFRJ), in Rio de Janeiro, Brazil, where she teaches for undergraduate courses and works as a
researcher. Her current areas of interest are distributed and parallel systems and wireless sensor networks.

Roquemar de Lima Baldam received his M.Sc. degree in Industrial Engineering from Federal University of Rio de Janeiro (UFRJ), Brazil in 2003 and his PhD degree in 2008,
also at UFRJ. He has practical experience with process, projects, Business Process Management (BPM) and Knowledge Management in private and public organizations. He is
a lecturer at the Federal Institute of Espírito Santo (IFES), in Vitória, Brazil.