Download as pdf or txt
Download as pdf or txt
You are on page 1of 11

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/327651553

On challenges in engineering IoT software systems

Conference Paper · September 2018


DOI: 10.1145/3266237.3266263

CITATIONS READS

37 1,849

3 authors:

Rebeca Campos Motta Káthia Marçal de Oliveira


Federal University of Rio de Janeiro Université Polytechnique Hauts-de-France
21 PUBLICATIONS   124 CITATIONS    170 PUBLICATIONS   1,488 CITATIONS   

SEE PROFILE SEE PROFILE

Guilherme Horta Travassos


Federal University of Rio de Janeiro
381 PUBLICATIONS   5,768 CITATIONS   

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Produção Aúdio-Visual de Objetos Educacionais (PAVO-EDU) View project

Search-based SE View project

All content following this page was uploaded by Rebeca Campos Motta on 04 December 2018.

The user has requested enhancement of the downloaded file.


On Challenges in Engineering IoT Software Systems
Rebeca C. Motta Ká thia M. de Oliveira Guilherme H. Travassos
PESC/UFRJ LAMIH/UVHC PESC/UFRJ
Rio de Janeiro, Brazil Valenciennes, France Rio de Janeiro, Brazil
rmotta@cos.ufrj.br kathia.oliveira@uphf.fr ght@cos.ufrj.br

ABSTRACT ACM Reference format:


Rebeca Campos Motta, Ká thia Marçal de Oliveira, Guilherme Horta
Contemporary software systems, such as the Internet of Things Travassos. 2018. On Challenges in Engineering IoT Software Systems.
(IoT), Industry 4.0, and Smart Cities are new technology In XXXII BRAZILIAN SYMPOSIUM ON SOFTWARE ENGINEERING (SBES
paradigms that offer challenges for their construction since 2018), September 17–21, 2018, Sao Carlos, Brazil. ACM, New York, NY,
they are calling into question our traditional form of developing USA, 10 pages. https://doi.org/10.1145/3266237.3266263
software. They are a promising paradigm for the integration of
devices and communications technologies. It is leading to a 1 Introduction
shift from the classical monolithic view of development where The Internet of Things (IoT) contributes to a new technological
stakeholder receive a software product at the end (that we revolution impacting society. IoT is a paradigm that allows
have been doing for decades), to software systems materialized composing systems from uniquely addressable objects (things)
through physical objects interconnected by networks and with equipped with identifying, sensing or acting behaviors and
embedded software to support daily activities. We need processing capabilities that can communicate and cooperate to
therefore to revisit our way of developing software systems reach a goal. From primary devices with simple software
and start to consider the particularities required by these new solutions to the large-scale, high-performance software
sorts of applications. This paper presents research toward the systems producing and analyzing massive amounts of data, IoT
de inition of a framework to support the systems engineering is going to reach all areas of interest [14]. Due to its far-
of IoT applications, where we evolved the Zachman’s reaching potential, IoT can use all kinds of technologies
Framework as an alternative to the organization of this available today and will drive the development of new software
architecture. The activities were two folded to address this systems to solve new problems, some still unknown [3,14].
goal: a) we identi ied leading concerns of IoT applications, Software Engineering, as a discipline, has gone through
recovered from technical literature, practitioners and a constant changes since its conception. Several concepts,
Government Report, in different studies; b) we structured the methods, tools, and standards have been proposed to support
IoT paradigm in different facets. These activities provided 14 the development of software [13,26] and the Internet has given
signi icant concerns and seven facets that together represent a signi icant shift in the area. It makes more explicit the need to
the engineering challenges to be faced both by research and evolve the software technologies previously proposed to
practice towards the advancement of IoT in practice. support the building of systems itting new features.
Systems engineering is a research area embracing
CCS CONCEPTS multidisciplinarity, integrating different disciplines to reach
Software and its engineering → Software creation and successful systems according to their purposes, including
management • General and reference → Cross-computing software, which is essential for IoT materialization. Therefore,
tools and techniques; Empirical studies IoT leads to an era where rather than developing software,
practitioners are going to engineer systems embedding much
KEYWORDS software into the system´s parts. In this scenery, the initial
Internet of things, IoT, Concerns, Challenges, Empirical problem of our research is to identify the concerns regarding
Software Engineering, Literature Review the development of IoT software systems, and whether the
Permission to make digital or hard copies of all or part of this work for personal existing software technologies within the areas (facets) related
or classroom use is granted without fee provided that copies are not made or
distributed for profit or commercial advantage and that copies bear this notice to engineering such systems are suf icient for supporting their
and the full citation on the first page. Copyrights for components of this work development. Overall, this paper describes the results of
owned by others than ACM must be honored. Abstracting with credit is
permitted. To copy otherwise, or republish, to post on servers or to redistribute
investigations dealing with the road ahead on IoT
to lists, requires prior specific permission and/or a fee. Request permissions development. The concerns captured through observations in
from Permissions@acm.org. the technical literature, from practitioners in speci ic
SBES 2018, September 17–21, 2018, Sao Carlos, Brazil
© 2018 Association for Computing Machinery. workshops and a national initiative regarding IoT in Brazil
ACM ISBN 978-1-4503-6503-1/18/09 $15.00 pave this road. As an additional result, we introduce a
https://doi.org/10.1145/3266237.3266263
multifaceted conceptual framework to organize this to its far-reaching potential we do not know to what extent IoT
information and evidence challenges in the engineering of IoT. will meet or drive the development of new software
The illing of IoT facets combined with the concerns is what technologies to solve new problems. We wanted to
we call engineering challenges, capturing knowledge necessary differentiate concerns from challenges. Each application alone
to support a speci ic activity. The conceptual framework aims has a set of concerns that must be addressed with software
to contemplate all facets involved in IoT and present the technologies and other solutions for the software system
recovered concerns, by simplifying and organizing their development or construction. In the case of IoT, we understand
presentation. The Zachman’s proposition for information that it is a multidisciplinary, multidimensional and
systems architecture [29] (Subsection 2.2) was borrowed and multifaceted paradigm [10,12,14]. In this sense, this work
tailored to compose such framework. presents the IoT facets that must meet the concerns, this being
Figure 1 presents our investigation strategy. It is composed the real engineering challenge (to ill a cell in the framework).
of three parts and involves performing different lines of The procedures and activities performed for each part are
investigation and studies. The irst part of our investigation detailed together with a broader discussion of the results.
regards IoT Concerns. It aims at presenting concerns, issues, However, the concerns are somewhat related to the facets,
and dif iculties frequently reported regarding the development and our next activity was to ind a way to represent all the
of IoT applications. To recover such concerns, we collected data concepts that transparently emerged from the sources of
from different sources of information considering a literature information, and that could guide the next research activities.
review (Subsection 3.1), interviewing practitioners Thus, the last step of our research, as a result of the studies, we
(Subsection 3.2) and reading a Brazilian Government report introduce a Conceptual Framework to organize the
(Subsection 3.3). Based on the identi ied concerns it was challenges of engineering IoT software systems (Section 5).
possible to observe research gaps and main IoT development Our work focusses on discussing the IoT perception and its
issues that need effort in their understanding and evolution. central issues from three perspectives: technical literature,
These intermediate results can be useful to researchers looking practitioners, and government, using data collected with
for research opportunities and practitioners planning the different studies. We brie ly present the studies and dive into
construction of IoT applications. the analyzed challenges, from which we propose a conceptual
The literature review also supported the identi ication of 29 framework to support the development of such software
IoT de initions. From this set we conducted a textual analysis, systems by considering different and complementary facets.
using coding procedures to assign concepts to a portion of data For the sake of space and objectivity, this paper presents the
[23]. The result was the identi ication of IoT Facets (Section 4) research path that led us to the framework, not detailing each
necessary for IoT materialization, in the sense of being the set study, but instead informing how they inspired a structure
of parts composing an IoT software system. We understand composed of six questions, six perspectives and seven facets
facets as “one side of something many-sided” (Oxford aiming to de ine an engineering strategy for IoT development.
Dictionary), “one part of a subject, a situation that has many
parts” (Cambridge Dictionary). These facets are the basis for
tailoring the 6x6 matrix of the Zachman’s framework [29]. 2 Conceptual Background
This section starts by presenting the source of motivation for
this research, the CAcTUS Project. Next, it presents some basic
concepts related to the Zachman’s Framework, which is the
ground for the proposed Conceptual Framework organizing the
results presented in this paper.

2.1 The CAcTUS Project


The CAcTUS research project was performed based on the aim
of understanding test strategies for quality assessment of
actor-computer interaction in context-aware systems, as one of
the leading characteristics of ubiquitous systems [15,19,22].
Three universities conducted it: UFRJ, UFC, and UVHC.
It started with the assumption that interaction is not
limited to human and computers in ubiquitous systems. It
encompasses the interaction among different devices, such as
sensors, actuators, as well as other systems, which we consider
Figure 1: Research Strategy. the term actor-computer interaction as more adequate. From
The idea of investigating the facets from IoT de initions
the results achieved in the project and the technological
came in the sense of inding a set of parts composing an IoT
evolution of the area, we look IoT as related to Ubiquitous
software system. It does not try to be exhausting because due
2
Systems, sharing some characteristics and challenges [2]. This system. It begins at a high level, and as it advances in the rows,
work is one of the results of this change of perspective. the data description becomes more detailed. How - It relates to
the software system functions, translating abstract goals into
2.2 The Zachman’s Framework the definition of its operations. Where - It is concerned with
The Zachman’s Framework [29] was introduced in 1987 to the activities location; it can be a geographical distribution or
comprehend the scope of control within an enterprise and to something external to the software system. Who - It describes
provide a holistic view of the enterprise architecture that may the people involved with the software system, starting with the
be used as a base for its management. It still is an essential executive and detailing the representation of each one as rows
reference for the enterprise architecture and supported by advance. When - It is concerned with the effects of time over
many types of modeling tools and languages [11]. the software system, such as the life cycle, describing the
Zachman’s motivation to develop the framework was that software system transformations and states. Why - It is
“with increasing size and complexity of the implementation of concerned to translate the motivation, goals, and strategies for
information systems, it is necessary to use some logical construct what is implemented in the software system.
for defining and controlling the interfaces and the integration of Table 1: The Zachman’s Framework, with cells filled
all of the components of the system” [29]. The framework is showing examples of description [21].
suitable for working with complex systems, and despite its What
COMMUNICATION INTERROGATIVES
How Where When Who
initial purpose, its use is not limited to enterprise architecture. P
E Executive
Things
important to the
Process Business locations
Events and Cycles
Important to
Organizations
important to
performed of operation
Alongside with that, it has been used to assess the development R
S
Business
Semantic Business Business Logistic
Business Business
Workflow
Business Master Schedule
process [27], for requirement engineering [18], business P
E
Model Process Model System
Distributed
Model
Human
Logic Data Application
C
process modeling [20], to instantiate an IEC standard [18], and T
Architect
Model Architecture
System
Architecture
Process Structure Interface
Architecture
I
applied to Systems of Systems [6]. Also, Zhang et al. used this V Engineer
Physical Data
Model
System Design
Technology
Architecture
Control Structure
Presentation
Architecture
E Network Security
framework for safety analysis in Avionics Systems [30]. More S Technician Data Definition Program
Architecture
Timing Definition
Architecture
User Data Function Network Schedule Organization
framework evidence use can be observed in different case
studies [1,17,18], the latter claiming that “Zachman’s Considering the extensive use of Zachman Framework for
framework continues to represent a modeling tool of great utility representing different domains and technologies and its
and value since it can integrate and align the IT infrastructure flexibility of being customized to represent the complexity in
and business goals.” each context, we decided to take the Framework as a basis of
The framework intends to organize elements related to the our work. To that end, we analyzed concerns and facets related
architecture and to structure the information in a matrix (Table to the multidisciplinarity of IoT applications to be used inputs
1) organizing fundamental questions in the columns (what, of information and requirements for its initial structure.
how, where, who, when and why) and the perspectives in the
rows representing the various viewpoints involved. It is a way
to recover its dependencies and the different levels of 3 IoT Concerns
abstraction that are part of an engineering effort. Based on the Being a multidisciplinary domain, IoT covers many topics from
original definition of rows and columns [29], [21], we tailored technical to societal and business. To recover the current
their meaning to the matter of our research. In the rows, the concerns, we started with a literature review that had already
framework considers the perspectives involved in several been executed and decided to broaden the range to represent
activities of software systems: Executive Perspective - It other perspectives such as practitioners and the government,
focuses on the system scope and management plans, and how contributing to a more comprehensive representation.
it would relate to a context. Business Perspective - It is
concerned with the business models, which constitute business 3.1 From the Literature Review
design, how they relate and how the system will be used.
3.1.1 Review Procedures. The concerns presented in the
Architect Perspective - This perspective translates the model technical literature were extracted from a Literature Review
designed and determines the logic behind a system considering
(our irst empirical study). For conducting the review, we
data elements, process flows, and functions. Engineer
followed the recommendations well established in the
Perspective - It corresponds to the technology which must literature [5,8] focusing on secondary studies since there were
adapt the model to the programming languages, devices,
already secondary reviews on IoT. The research goal of this
required for the system. Technician Perspective - The
GQM-based [4] review was de ined as:
developer follows detailed specifications to build modules to
Analyze the Internet of Things domain with the purpose of
structure the system. User Perspective - It concerns the characterization with respect to de initions, characteristics and
functioning system in use.
application areas from the point of view of software engineering
The framework presents six fundamental questions in the
researchers in the context of the available technical literature.
columns to outline each perspective: What - Referring to which The selected articles were secondary studies as they rely on
data is required for the understanding and management of a primary studies and survey other sources of information to

3
present a bigger picture. Table 2 presents a research protocol • Architecture - Issues and concerns regarding design
summary. The search engine was Scopus since it indexes decisions, styles and the structure of IoT systems. Excerpt
several peer-reviewed databases, is well-balanced regarding example: “Finding a scalable, flexible, secure and cost-
and relevance. efficient architecture, able to cope with the complex IoT

Table 2: Protocol Summary.


(RQ1) What is Internet of Things?
Research questions (RQ2) Which characteristics define IoT applications?
(RQ3) Which are the applications for IoT?
("*systematic literature review" OR "systematic* review*" OR "mapping study"
Population OR "systematic mapping" OR "structured review" OR "secondary study" OR "literature
Search string survey" OR "survey of technologies" OR "driver technologies" OR "review of survey*" OR
"technolog* review*" OR "state of research") AND
Intervention ("internet of things" OR "iot")
Search Strategy SCOPUS (www.scopus.com) + Snowballing (backward and forward)
Inclusion Criteria - to provide an IoT definition; OR to provide IoT properties; OR to provide applications for IoT.

Exclusion Criteria - not provides an IoT definition; AND not provides IoT properties; AND not provides applications for IoT;
AND studies in duplicity; AND register of proceedings.
Study type Secondary Studies
Three distinct readers:
- all readers accept => paper is accepted
Acceptance Criteria - all readers exclude => paper is excluded
- the majority of accept, others in doubt => paper is accepted
- else => discuss and consensus
Technical Report Detailed information about the planning and execution - https://goo.gl/cZVVDc

Snowballing procedures can mitigate the lack of other scenario, is one of the main goals for the IoT adoption.” [7]
search engines and complements the search strategy [15,16]. • Data - It refers to the management of a large amount of data,
To reduce bias, three researchers executed the review. The and how to recover, represent, store, interconnect, search,
process was carried between March and May 2017. From 81 and organize data generated by IoT from so many different
initial articles, 12 secondary studies compose the inal set users and devices. Excerpt example: “This new field offers
(including the execution of four trials and backward/forward many research challenges, but the main goal of this line of
snowballing procedures) [8]. The reviewers read the articles research is to make sense of data in any IoT environment. It has
and extracted relevant information according to the extraction been pointed out that it is always much easier to create data
form. than to analyze them.” [9]
We used an extraction form to retrieve the following • Interoperability - Related to the challenge of making
information from the secondary sources: Reference different systems, software and things to interact for a
information, Abstract, IoT de inition, IoT related terms, IoT purpose. Standards and protocols are also included as issues.
application features, IoT application domain, Development Excerpt example: “The end goal is to have Plug n' Play smart
Strategies for IoT, Study Type, Study Properties, Challenges and objects which can be deployed in any environment with an
Article focus. Part of what was extracted in the form provided interoperable backbone allowing them to blend with other
the data for discussions and analysis, which we treat in this smart objects around them.” [12]
section as concerns. The de initions extracted are discussed in • Management - The application of management activities,
the IoT Facets (Section 4). such as planning, monitoring and controlling, in the IoT
3.1.2 Extracted Concerns. The selected articles provided a system will raise the interaction of different things. Excerpt
signi icant amount of data to be extracted and analyzed. We example: “IoT is a very complex heterogeneous network, which
based our analysis procedure on textual analysis, using codes includes the connections among various types of networks
to assign concepts to a portion of data, identifying patterns through various communication technologies […]. Addressing
from similarities and differences emergent from the extracted things management is still a challenge.” [28]
data, based on the Grounded Theory (GT) procedures [23]. It • Network - Technical challenges related to communication
was conducted by two researchers, with crosschecking to technologies, routing, access and addressing schemes
achieve a consensus with the analysis as a way to decrease considering the different characteristics of the devices.
potential misinterpretation and bias. The 12 papers provided Excerpt example: “Designing an appropriate topology,
38 excerpts regarding IoT challenges that were organized into routing, and MAC layer is critical for scalability and longevity
seven categories. We present each category with a de inition of the deployed network” [12]
and an example of an excerpt to support its comprehension.
4
• Security - Issues related to several aspects to ensure data • Process - Focused on the software development process that
security in IoT systems. For that, a series of properties, such should be included in the things and consider the big picture
as confidentiality, integrity, authentication, authorization, of organizing the things together. Group of seven (7)
non-repudiation, availability, and privacy should be participants.
investigated. Excerpt example: “Security issues are central in The groups had one hour for discussion. A representative
IoT as they may occur at various levels, investing technology as of each group wrote down the main points identified and later
well as ethical and privacy issues […] This is extremely presented the ideas for all the workshop participants.
challenging due to the IoT characteristics.” [7] The second event (carried out in September 2017) was a
• Social - Concerns related to the human end-user to panel in the Brazilian Congress on Software: Theory and
understand the situation of its users and their appliances. Practice (CBSOFT) conducted by the same first event
Excerpt example: “For a lay person to fully benefit from the IoT moderator. In this panel, five (5) IoT domain practitioners
revolution, attractive and easy to understand visualization (experts from academy and industry) and audience were
have to be created.” [12] motivated to discuss the same previous study questions. The
It is interesting to notice that the concerns are usually moderator acted as the reporter in the panel discussion,
interrelated, confirming the multidisciplinary nature of IoT. gathering the central issues, and producing a document
For example: “For technology to disappear from the reporting the notes.
consciousness of the user, the Internet of Things demands Next, the notes from both events were collected and
software architectures and pervasive communication networks analyzed. Besides, open coding procedures based on GT [23]
to process and convey the contextual information to where it is were used and allowed the identification of nine categories of
relevant” [12], this excerpt is coded for an architectural issue IoT concerns:
and network as well. Another example is “Central issues are • Architecture - More attention is required to the software
making full interoperability of interconnected devices possible, system architecture since the boundaries between hardware
providing them with an always higher degree of smartness by and software are no longer well defined. Also, the
enabling their adaptation and autonomous behavior, while architecture should reflect in its conception the concerns on
guaranteeing trust, privacy, and security.” [3], which was coded portability and interoperability including a form of
both for interoperability and for security issues. Provide orchestrating the connected devices, which is not trivial.
solutions to the issues presented here can be tricky to achieve • Interoperability - Aside from the primary concern with the
due to the diversity of concerns, variety of devices. interaction of so many different devices, an important issue
is how to address the programming for multi-devices, being
3.2 From Practitioners considered for the development as well.
Another perspective used to recover IoT concerns was the • Professional - The current developers are not entirely
practitioners’ opinion. We performed qualitative studies prepared to develop for IoT. For the practitioners, the
during two scientific events from which all the participants professionals should evolve together with the technologies,
were developers and/or researchers in the IoT domain. For this so it is necessary an educational evolution and the training of
reason, we considered them representative, insightful and software system engineers.
experienced in the topic. The following questions guided the • Quality Properties of IoT products - Although some
discussions in both studies: a) Regarding product quality specific properties such as interoperability, privacy, and
between conventional software and IoT: What is similar? security are primarily discussed, several other quality
What is different? What needs to be investigated? b) attributes are considered different in the IoT domain such as
Regarding the software technologies between capacity (device and network), installation difficulty,
conventional software and IoT: What do we have that can be responsiveness, context awareness. Contemplate non-
used directly? What do we have that needs adaptation to be functional requirements by considering what the individual
used? What don’t we have but need? sees, feels and how the things can contribute to that.
The first event (in August 2017) was the 1st QualityIot at the • Requirements - Considering the IoT nature, with a tendency
Brazilian Symposium on Software Quality (SBQS). The 21 for more innovation mainly based on ideas, the requirements
participants were divided by their interests into groups to deal can be presented in a less structured form. Another concern
with the mentioned questions in the following perspectives: is that the user can also be a developer since the solutions
• People - Focused on the human end-user. Challenges and reach different types of individuals and devices and new
impact of this technology in our daily lives, such as social, features can be attached.
legal and ethical. Group of five (5) participants. • Scale - To develop, manage and maintain a large-scale
• Product - Focused on IoT products that can be generated, software system is a concern. As the number of devices in the
considering the inclusion of software and “smartness” in software system increases along with the number of
general objects and the possibilities of new products in this relationships, new technologies are needed to maintain a
scenario. Group of nine (9) participants. software system with the quality level required.

5
• Social - Aligning the technical with the social, Human- increasing the network attack, restricting the devices to
Computer Interaction and User Experience is of great support robust security techniques and mechanisms, misuse
importance in the IoT development and should provide new by the user and even some product design flaws. Thus,
methods and tools for the IoT scenario. security can be considered one of the leading technological
• Security - In the center of many discussions, security-related concerns of IoT, comprising components of any solution.
issues such as privacy and confidentiality are significant • Professionals - To invest resources in the training of
concerns, such as the software system scale, mobility, and engineers and other professionals can result in the creation
performance. To balance several dimensions in a secure of a strategic differential. However, the scenario is different,
software system is required to turn IoT into reality, but the so more than proficiency in programming languages of lower
current software technologies do not support it yet. level; the professional who develops software for IoT should
• Test - IoT will provide unprecedented universal access to be able to carry out the customization of solutions already
connected devices. Testbed and acceptation tests are developed for specific demands.
sophisticated, and there is a greater need for other types of • Things - For the devices, which includes their access and
tests, for example, usability, integrity, security, performance. gateways there are several non-functional restrictions
inherent to IoT that should be present in the products. These
3.3 From the Governmental Report restrictions increase the total cost of the objects, such as an
Many initiatives from governments and organizations have energy consumption alternative when it is not possible to
demonstrated a growing interested in IoT. In this context, the connect to the power grid.
Brazilian National Bank of Economic Development (BNDES), • Network - There are quite heterogeneous concerns, since IoT
organized a study to promote economic and social covers a number of use cases for which the network
development by analyzing and proposing public policies for requirements are specific, such as: (i) real-time applications,
IoT. The idea is to obtain an overview of the impact of IoT in such as autonomous vehicles, communication latency as well
Brazil, understanding the country competencies and defining as response time are crucial factors; (ii) applications
initial aspirations for promoting IoT in Brazil, as it had been requiring low data traffic and coexisting with a broad
documented in a plan of action. geographic dispersion, such as precision agriculture, impose
The research is being conducted since the beginning of a new paradigm for the evolution of technologies, contrary to
2017, and the material 1 available was used to recover IoT what has been developed in the last decade. In summary, the
concerns. These results were based on registered initiatives IoT access to the network should be heterogeneous, with
developed by 11 countries and the European Union on IoT, different technologies composing a vast ecosystem.
initiatives developed in global scope and interviews with • Data - The concentration of the data generated and
experts to the implementation of the area in Brazil. It was also transmitted by smart objects should be processed and
based on textual analysis. Reading the material allowed analyzed, generating the expected use cases value. Thus,
extracting information focusing on the presented concerns, there is the concern of storing and handling a vast amount of
analyzing and similarly organizing them as the two previous data, especially when there are strict low latency and greater
information sources (the literature and practitioners). From agility in response requirements to be met.
this, seven categories of IoT concerns emerged:
• Regulation - Governments are working on crucial issues that 3.4 Putting all together
require significant investment and coordination between the The exercise of observing the IoT paradigm from different
public and private sectors. Within regulatory issues, points of view was vital for the strengthening and direction of
standardization is one of the most critical, and there is no our research. With this collection of concerns, it is possible to
single strategy to follow. In some cases, it is necessary the perceive that, although there are distinct visions, they become
creation of specific laws and institutions regulate privacy and complementary to represent the concerns to produce viable
security issues, a topic that is debated today by all the IoT applications. Together, the sources provided 14 different
countries mentioned in the report. concerns, which must be met in favor of a higher quality IoT
• Interoperability - To allow devices to communicate with software system (Figure 2). We can see that each source has its
each other, regardless of model, manufacturer or industry. particularities, and some are consistent with its origin. It is
There is a concern that, if left free to the market, the expected that practitioners have a more technical and in-depth
standards developed by technology giants may result in view presenting more individual and software-oriented issues.
monopolies, leading to the exclusion (or cost-intensive The concern with quality is transversal to the implementation
inclusion) of technologies in the global IoT ecosystem. of such software systems and can be observed in any point of
• Security - The vast amount of data generated results in view, but the practitioners have specific concerns of quality,
numerous challenges regarding security in IoT, such as such as meeting non-functional requirements, which bring

1https://goo.gl/nmFece

6
more specificity and definition to this issue. Also, IoT definitions were organized in a table with one field of
requirements and testing issues are still somewhat open on “code” to assign an area, topic, discipline (named here as a
how to represent, describe and integrate. These three aspects facet) related to a definition excerpt. This coding process was
must be met in the software systems regardless of their scale, executed by three researchers separately, using separate and
which in IoT software systems can reach the ultra-large scale, independent documents. An example of the document is
bringing their associated problems. presented in Figure 3. It is composed of three columns: a)
At the intersection between Practitioners and Literature, Index: with the definition number; b) Definition: where each
we have architectural and social issues. Both concerns are definition is presented as extracted from the paper; c) Code:
open due to the area novelty in which there is still an with the codes associated with portions of the definition, with
uncovering of how to deal and what to expect. At the a color scheme to help their identification.
intersection between Practitioners and Report, we have the
concern of professionals, with is represented by the
preparation of their skills and knowledge as for the teams that
should be multidisciplinary to meet IoT premises.
However, above these, security and interoperability
concerns are at the center of all IoT related discussions. IoT
enables computing capabilities in things around us and
interoperability is the attribute that enables the interaction
among heterogeneous devices, with varied requirements of
different applications. Interoperability can range in different
levels like technical, syntactical, semantic and organizational,
which varies according to the software system needs. Complete
interoperability is an open question for current software and
essential for IoT software systems due to its comprehensive
nature. Issues like encryption, trust, privacy and any security-
Figure 3: Example of a document filed with the definitions
related concerns are of utmost importance since IoT
and marked with coding.
applications are inserted in someone’s personal life or into the There were two rounds of discussions, first with two then
industry.
with all of the three researchers. It was done to discuss the
similarity and differences in the coding, support the concepts
and reduce bias, until reaching a consensus. From this analysis,
we would like to have a set of facets, based on the data we had
so far, and be able to sort among the most used to present a
minimal set of areas that must be considered when building an
IoT software system. After the documents merge, meetings for
discussions were held, some of the discussion was regarding
the coding granularity level. For example, network and
telecommunication can all be part of a single facet called
connectivity, aiming to encompass several concepts and keep
the same level of abstraction. As a result of this process, we
came to the consensus that an IoT software system should take
Figure 2: IoT Concerns. into account seven different facets:
• Connectivity – the Internet is a relevant concept naturally
involved in the IoT paradigm. We argue that it is necessary to
4 IoT Facets have available a medium by which things can connect to
IoT leads to an era where rather than developing software, we materialize the IoT paradigm. It is essential some form of
need to engineer software systems embracing connection, a network for the development of solutions, and
multidisciplinarity, integrating different areas for the our idea is not to limit Internet-only connectivity but to be
realization of successful products according to their purposes. able to cover other media.
It means that Software is one of the IoT facets, which together • Things - In this sense, it means the things by themselves in
with others are necessary for IoT materialization. Aiming at IoT. Tags, sensors, actuators and all hardware that can
identifying those different facets that characterize this replace the computer expanding the connectivity reach.
multidisciplinarity, we performed an analysis of the IoT • Behavior - The existence of things is not new, nor their
definitions identified in the literature review (section 3.1). This intrinsic capacities. What IoT provides is the chance of
analysis was based on GT procedures [23]. The 29 extracted enhancements in the things, extending their behaviors. In the

7
beginning, the things in IoT systems were objects attached to could support the concepts organization. For this reason, we
electronic tags, so these systems present the behavior of tailored the framework, presented in Section 2, as in Figure 4.
Identification. Subsequently, sensors and actuators There are several definitions for IoT, but the concept refers
composing the software systems enabled the Sensing and to a paradigm that allows composing software systems from
Actuation behaviors respectively. It can be necessary the use uniquely addressable objects (things) equipped with
of software solutions, semantic technologies, data analytics identification, sensing or action behaviors and processing
and other areas to enhance the behavior of things. capabilities that can communicate and cooperate to reach a
• Smartness - Smartness or Intelligence is related to Behavior goal. This understanding encompasses the definitions
but as to managing or organizing it. It is more referring to recovered from the literature review and states the composing
orchestration associated with things and to what level of and characteristic of IoT. The main difference from traditional
intelligence technology can evolve their initial behavior. software systems regards heterogeneity, scale and the
• Problem Domain - A problem domain is the area of expertise possibilities inherent to the IoT paradigm.
or application that needs to be examined to solve a problem. The Zachman’s Framework is generic and flexible enough to
IoT software systems are developed to reach a goal, for a be used in different scenarios embedding different points of
specific purpose. At this point, we are starting from a goal view, so our choice to use it to organize the information we
(problem domain) to reach a solution (software system). gathered. Because of the meaning of IoT, we will have the
Focusing on a problem domain is merely looking at only the following demands to develop an IoT software system:
topics of interest, and excluding everything else. It, in general, • A paradigm that allows composing systems: IoT is not just
directs the objective of that solution. the things by themselves. It represents a more substantial
• Interactivity - It refers to the involvement of actors in the aggregate consisting of several parts. It implies that there is
exchange of information with things and the degree to which not a single IoT solution, but a myriad of options that can
it happens. The actors engaged with IoT applications are not derive from the things and other systems available. It will
limited to humans. Therefore, beyond the sociotechnical require some domain and business-specific strategies.
concerns surrounding the human actors, we also have • From uniquely addressable objects (things): Things
concerns with other actors like animals and the interactions should be able to be distinguished using unique IDs, a unique
thing-thing. The degree to which it happens works together identification for every physical object. It concerns the
with the medium through which things can connect network solutions and hardware technologies required to
(connectivity) so that in addition to being connected they can devise the composing parts of the IoT paradigm.
understand (interoperability). • Equipped with identifying, sensing or acting behaviors
• Environment - The problem and the solution are embedded and processing capabilities: Once the object is identified, it
in a domain, an environment, or a context. This facet seeks to is possible to enhance it with personalities and other
represent such an environment and how the context information and enable it to connect, monitor, manage and
information can influence its use. control things. This understanding implies that depending on
From the data recovered in our research, we realize that the “smartness” degree required for a setting,” a software
concepts and properties related to IoT change according to the solution can be more robust and involve other technical
context and actors involved. For this reason, the representation arrangements, such as artificial intelligence.
should be as comprehensive as possible to represent all aspects • That can communicate and cooperate: The other part of
involved, motivating the IoT facets proposition. the paradigm, alongside with the things, is the Internet.
Internet in a broader sense as the connection channel of the
available things. Together with this network solution, the
5 Defining the Framework things should be able to communicate, interchange, share,
In the latest technologies, software is only one of the and other issues. For this, a set of characteristics, such as
components since further development is necessary for interoperability, should also be present in the things.
requirements representation, data infrastructure, network • To reach a goal: This whole scenario is set for a purpose, for
configuration and others [24]. Our aim is regarding the a reason, motivated by something. This primary goal is what
conceptual organization of the recovered data that should take will guide the development.
into account the requirements of different stakeholders and the This description leads us to tailor the Zachman’s Framework
activities in the different IoT facets. Having such a conceptual in a faceted scheme; each one represents a facet required for an
structure, we do not aim that it will guide the software system IoT software system (see Figure 4). We argue that a solution for
development but rather to organize the concepts more IoT cannot be done without considering all fundamental
explicitly and support the decision making when engineering paradigm aspects, requiring multidisciplinary technologies and
IoT software systems. With this goal in mind, we have a diverse team to meet them. We consider the IoT facets to
identified the Zachman’s Framework [29] as the structure that address this multidisciplinarity. They were extracted from the
literature review and cover a set of dimensions needed to be

8
present, in different degrees, in an IoT software system. This facets to align initial requirements; 2) researchers, providing
initial set can be extended if needed, as we progressed in the elements of technological prospection. Once we have filled each
research, since it limited to the set of sources dealt in this cell, we believe that some will continue empty, since current
research. The perspectives in the framework should be mapped technologies do not meet IoT needs, representing research
and updated according to each IoT facet since different opportunities; and 3) both practice and research, since it allows
stakeholders are concerned with each area. In the questions us to visualize where we stand regarding IoT, knowing what we
part, we seek to keep the original questions and adapt the know and do not know is crucial to development.
definitions to be clear and cut for the use of IoT. For instance,
the “what” is the final product to be delivered by each facet,
which in turn can be composed of what is delivered from each 6 Final Remarks
perspective. In software, for example, we have the model built The emergence of IoT software systems brings new challenges
by the software architect, the code made by the developer. They in software engineering. To address these challenges, we
are all part of the final product, the software product. The should change our way of developing a software system from a
framework structure will be the combination of these concepts monolithic structure to a broader multidisciplinary approach.
filled in as in Figure 4. Each facet aggregates different This paper has presented the results obtained by analyzing
knowledge areas, such as software and network. With the data acquired through different strategies, which identified
simple framework structure, we can organize existing challenges in engineering IoT software systems and the initial
knowledge of software technologies, observing gaps for results of a conceptual framework to support its development.
possible research and development opportunities. First, we identified concerns from the technical literature,
The existing knowledge may or may not be sufficient to practitioners, and a government report. Next, we presented the
cover the IoT paradigm demands, and this must be investigated facets that compose IoT software systems, derived from a
from each facet to develop high-quality software systems. Also, qualitative study. These results can support practitioners in
each facet will be responsible not only to meet its primary evaluating risks to construct IoT applications and highlight
premises but to cover the concerns and essential needs of IoT some research opportunities for researchers. Then we
related to that area, such as those presented in this paper. For presented a conceptual framework, a way of summarizing the
instance, security and interoperability (the prevalent concerns results of the executed studies and structurally present the
from the sources) are transversal concerns and must be multidisciplinarity of IoT. This structure shall be filled with the
addressed in the IoT facets related to things, behavior, and existing knowledge of software technologies. Empty cells can
connectivity. As we evolve the framework structure and identify current technology gaps to engineer IoT software
deepen our IoT facets of knowledge, we will seek to provide systems. The contribution of this work explains a set of
software technologies to meet the concerns as well. concerns that need to be investigated, showing that it is
The framework can be used by 1) a development team, to necessary to distinguish this new software system from
start designing from the problem point of view, setting up a traditional ones. Also, the work evolves the Zachman´s
project arrangement, and characterizing it regarding the IoT framework, to allow the necessary multi-facets representation.

Figure 4: A Framework for engineering IoT applications. Example for a Security Concern.

9
[7] Eleonora Borgia. 2014. The Internet of Things vision: Key features,
6.1 Threats to Validity applications and open issues. Computer Communications 54: 1–31.
The literature review has been accomplished using only one https://doi.org/10.1016/j.comcom.2014.09.008.
[8] David Budgen and Pearl Brereton. 2006. Performing systematic literature
well known and consistent search engine. Snowballing had reviews in software engineering. 28th ICSE, ACM Press, 1051.
been used to complement the search. However, it is possible to https://doi.org/10.1145/1134285.1134500.
[9] David Gil, Antonio Ferrández, Higinio Mora-Mora, and Jesús Peral. 2016.
miss some studies. The triangulation with data acquired from Internet of Things: A Review of Surveys Based on Context Aware Intelligent
practitioners and information extracted from a government Services. Sensors 16, 7: 1069. https://doi.org/10.3390/s16071069.
report strengthened the data representativeness. [10] Alexander Gluhak, Srdjan Krco, Michele Nati, Dennis Pfisterer, Nathalie
Mitton, and Tahiry Razafindralambo. 2011. A survey on facilities for
The interpretation of data was supported by GT practices, experimental internet of things research. IEEE Communications Magazine 49,
which allowed consistency among researchers and shared 11: 58–67. https://doi.org/10.1109/MCOM.2011.6069710.
[11] Frank Goethals, Monique Snoeck, Wilfried Lemahieu, and Jacques
understanding of the concepts. However, other perspectives Vandenbulcke. 2006. Management and enterprise architecture click: The
could be used for data interpretation, changing the results. It FAD(E)E framework. Information Systems Frontiers 8, 2: 67–79.
https://doi.org/10.1007/s10796-006-7971-1.
represents a threat to any qualitative study.
[12] Jayavardhana Gubbi, Rajkumar Buyya, Slaven Marusic, and Marimuthu
To use Zachman’s framework as the basis for the Palaniswami. 2013. Internet of Things (IoT): A vision, architectural elements,
framework was due to its broad use in other areas and and future directions. Future Generation Computer Systems 29, 7: 1645–
1660. https://doi.org/10.1016/j.future.2013.01.010.
applicability in our context. So far, its use has demonstrated the [13] IEEE. 2004. Guide to the Software Engineering Body of Knowledge. IEEE
adequacy to represent our perspective. Further evaluation Computer Society Press.
[14] Ivar Jacobson, Ian Spence, and Pan-Wei Ng. 2017. Is there a single method for
based on the cells filling (the challenges) will be performed. the internet of things? Communications of the ACM 60, 11: 46–53.
https://doi.org/10.1145/3106637.
6.2 Ongoing works [15] Santiago Matalonga, Felyppe Rodrigues, and Guilherme Travassos. 2017.
Characterizing testing methods for context-aware software systems: Results
Our next steps include the filling of the facets in the manner from a quasi -systematic literature review. Journal of Systems and Software
131: 1–21. https://doi.org/10.1016/j.jss.2017.05.048.
proposed by Zachman [21]. However, our primary research [16] Rebeca Motta, Kathia de Oliveira, and Guilherme Travassos. 2016.
aims to fill the cells in the matrix. We conjecture that some of Characterizing Interoperability in Context-Aware Software Systems. VI SBESC,
the slots will be empty or partially filled, which means the IEEE, 203–208. https://doi.org/10.1109/SBESC.2016.039.
[17] Juan Nogueira, David Romero, Javier Espadas, and Arturo Molina. 2013.
available software technologies will not support such activity Leveraging the Zachman framework implementation using action – research
in the way required for IoT. Therefore, it can represent methodology – a case study: aligning the enterprise architecture and the
business goals. Enterprise Information Systems 7, 1: 100–132.
research and development opportunities, which are necessary https://doi.org/10.1080/17517575.2012.678387.
for the establishment of IoT as a reality. Another conjecture is [18] Hervé Panetto, Salah Baïna, and Gérard Morel. 2007. Mapping the IEC 62264
that some of the concerns can repeat themselves in different models onto the Zachman framework for analysing products information
traceability: A case study. Journal of Intelligent Manufacturing 18, 6: 679–
slots and different facets, what we call transversal challenges. 698. https://doi.org/10.1007/s10845-007-0040-x.
These cross-sectional slots represent broader concerns that [19] Ismayle Santos, Rossana Andrade, Lincoln Rocha, Santiago Matalonga,
Káthia de Oliveira, and Guilherme Travassos. 2017. Test case design for
should cover the IoT software system as a whole, for example, context-aware applications: Are we there yet? Information and Software
security and interoperability issues. We aim to investigate Technology 88: 1–16. https://doi.org/10.1016/j.infsof.2017.03.008.
[20] Pedro Sousa, Carla Pereira, Rute Vendeirinho, Artur Caetano, and José
transversal challenges in the nearest future. After that, we plan Tribolet. 2007. Applying the Zachman Framework Dimensions to Support
to evaluate and refine this conceptual framework. Business Process Modeling. In Digital Enterprise Technology. Springer US,
Boston, MA, 359–366. https://doi.org/10.1007/978-0-387-49864-5_42.
[21] J. F. Sowa and J. A. Zachman. 1992. Extending and formalizing the framework
ACKNOWLEDGMENTS for information systems architecture. IBM Systems Journal 31, 3: 590–616.
The authors thank CNPq for supporting this research. Prof. https://doi.org/10.1147/sj.313.0590.
[22] Rodrigo Spínola and Guilherme Travassos. 2012. Towards a framework to
Travassos is a CNPq researcher. characterize ubiquitous software projects. Information and Software
Technology 54, 7: 759–785. https://doi.org/10.1016/j.infsof.2012.01.009.
[23] Anselm Strauss and Juliet Corbin. 1990. Basics of qualitative research:
REFERENCES Techniques and procedures for developing grounded theory . Sage
[1] Andre Aginsa, Ian Edward, and Wervyan Shalannanda. 2016. Enhanced Publications, Inc, Newbury Park.
information security management system framework design using ISO 27001 [24] A. Tang, Jun Han, and Pin Chen. 2004. A Comparative Analysis of Architecture
and zachman framework - A study case of XYZ company. 2nd ICWT, IEEE, 62– Frameworks. 11th APSEC, 640–647. https://doi.org/10.1109/APSEC.2004.2.
66. https://doi.org/10.1109/ICWT.2016.7870853. [25] Industrial Technology. 2015. Requirement Formalization using OWL
[2] Rossana Andrade, Rainara Carvalho, Italo de Araújo, Káthia de Oliveira, and Ontology-based Zachman Framework. September 2014.
Marcio Maia. 2017. What Changes from Ubiquitous Computing to Internet of [26] Amy Trappey, Charles Trappey, Usharani Govindarajan, Allen Chuang, and
Things in Interaction Evaluation? In DAPI. 3–21. John Sun. 2017. A review of essential standards and patent landscapes for the
https://doi.org/10.1007/978-3-319-58697-7_1. Internet of Things: A key enabler for Industry 4.0. Advanced Engineering
[3] Luigi Atzori, Antonio Iera, and Giacomo Morabito. 2010. The Internet of Informatics 33: 208–229. https://doi.org/10.1016/j.aei.2016.11.007.
Things: A survey. Computer Networks 54, 15: 2787–2805. [27] DJ de Villiers. 2001. Using the Zachman Framework to Assess the Rational
https://doi.org/10.1016/j.comnet.2010.05.010. Unified Process Overview of the Zachman Framework. Rational Edge.
[4] Victor Basili, Gianluigi Caldeira, and Dieter Rombach. 1994. Goal Question [28] Li Da Xu, Wu He, and Shancang Li. 2014. Internet of Things in Industries: A
Metric Paradigm. Survey. IEEE Transactions on Industrial Informatics 10, 4: 2233–2243.
[5] Jorge Biolchini, Paula Mian, Ana Candida, and Cruz Natali. 2008. Software and https://doi.org/10.1109/TII.2014.2300753.
Data Technologies. Springer, https://doi.org/10.1007/978-3-540-70621-2. [29] John Zachman. 1987. A framework for information systems architecture. IBM
[6] Sergej Bondar, John Hsu, Alain Pfouga, and Josip Stjepandić. 2017. Agile Systems Journal 26, 3: 276–292. https://doi.org/10.1147/sj.263.0276.
digital transformation of System-of-Systems architecture models using [30] Chao Zhang, Xiaomu Shi, and Dong Chen. 2014. Safety analysis and
Zachman framework. Journal of Industrial Information Integration 7: 33–43. optimization for networked avionics system. IEEE/AIAA 33rd DASC, 4C1-1-
https://doi.org/10.1016/j.jii.2017.03.001. 4C1-12. https://doi.org/10.1109/DASC.2014.6979471.

10

View publication stats

You might also like