Modeling IoT Applications With SysML4IoT
Modeling IoT Applications With SysML4IoT
Abstract The Internet of Things (IoT) is a paradigm that As with traditional software development, when developing
refers to the ubiquitous presence around us of physical objects IoT applications, stakeholders have to address issues that
equipped with sensing, networking and processing capabilities concern to different life cycles phases, including design,
that allow them to cooperate with each other and with their development, deployment, and maintenance. However, the IoT
environment to reach common goals. General objectives of IoT characteristics pose a broad range of related challenges to each
are improving the quality of human life and optimizing industrial phase [5]. In this paper, we focus on the design phase by
processes, by automating tasks that humans must perform. Such tackling the following challenges when specifying the system
benefits are obtained by developing IoT applications. The
model: (i) the heterogeneity of hardware devices and software
heterogeneity and interdisciplinary present in the development of
any IoT application classifies such a task as a Systems
components; (ii) the lack of mechanisms to address multiple
Engineering problem. However, to the best of our knowledge, no stakeholders concerns; and, (iii) lack of a method to design
Systems Engineering approach to develop IoT applications has IoT applications. In the following, we detail these challenges.
been proposed so far. The objective of this paper is to introduce a Heterogeneity of hardware devices and software
Model-Based Systems Engineering methodology for IoT components. An IoT application involves interactions among a
application development, focusing on the design phase, which large number of heterogeneous software components and
aims at helping organizations to develop IoT applications to fully
hardware devices, exchanging information between them, and
achieve the benefits of this new paradigm. The approach is
comprised of a method and a tool, which are aligned with proven
interacting with their physical surroundings to reach common
concepts from Systems Engineering and Software Architecture goals. Such heterogeneity makes complex the task of
literature. specifying a system model that represents precisely and in a
high-level of abstraction different hardware and software
Keywords internet of things, application, systems engineering entities, with their internal interconnections and information
flows. It also poses difficulties in reusing model elements by
I. INTRODUCTION other IoT applications and stakeholders. Furthermore, the
The Internet of Things (IoT) is a novel paradigm that refers heterogeneity may hamper the communication between
to the ubiquitous presence around us of physical objects different stakeholders that are working on the system model.
equipped with sensing, networking and processing capabilities Lack of mechanisms to address multiple stakeholders
that allow them to cooperate with each other and with their concerns. IoT application development is a multi-disciplined
environment to reach common goals [1]. It is expected that endeavor with concerns coming from various stakeholders [6].
such new paradigm will affect the daily life of people in many Similar to traditional software development, IoT application
aspects, having a significant impact on the economy. Gartner development involves domain specialists, requirements
estimates that the IoT will produce close to $2 trillion of engineers, application engineers, and deployment managers;
economic gain globally with 25 billion Internet-connected however, it requires special skills of them related to the IoT
objects by 2020 [2]. General objectives of IoT are to improve domain. Moreover, IoT application development incorporates a
the quality of human life and optimize industrial processes, by new type of stakeholder: the device expert, who understands
automating tasks that humans must perform. It results in the components and protocols of devices. The second challenge
several benefits, such as enhancing the comfort and security of regards the lack of characterization of such stakeholders, their
homes/offices, getting better and more timely healthcare, or skills and responsibilities, and mechanisms to address their
optimizing the energy consumption [1, 3]. Such benefits are specific concerns into the system model.
obtained by developing IoT applications. Despite the
considerable interest from the industry and academia, there is Lack of a method to design IoT applications. The
no consensus about the definition of IoT application. Based on aforementioned challenges (heterogeneity of entities and
the definition of application as introduced by ISO/IEC/IEEE multiple stakeholders) classify the IoT application development
24765 standard [4] we adopt the definition of IoT application as a Systems Engineering problem. Systems Engineering (SE)
as is a multidisciplinary and holistic approach used to develop
solutions for complex problems comprising hardware,
a collection of automated procedures and data, integrated software, data, and personnel [7]. As a mature discipline, SE is
with heterogeneous entities (hardware, software, and widely accepted within several industries [8] however, to the
personnel) that interact with each other and with their best of our knowledge, there is no method specifically tailored
environment to reach common goals. to design IoT applications.
158
the system model through a SysML profile named SysML4IoT. As a meta-model, the IoT ARM Domain Model does not
As demonstrated by [9], the use of profiles aids stakeholders to determine the notation to represent IoT applications by using
deal with the system complexity, increases the understanding its concepts and does not establish any method to generate IoT
and communicates the system model in an unambiguous (or as application system models. To the best of our knowledge, no
unambiguous-as-possible) manner. Furthermore, profiles concrete syntax has been proposed for IoT ARM Domain
promote reuse and interoperability between software Model so far. To tackle this issue, we conceive the SysML4IoT
components and systems [8]. as a SysML profile, providing stereotypes to design IoT
applications based on the IoT Domain Model. Furthermore,
SysML4IoT provides abstractions to specify precisely
SysML4IoT is also aligned with ISO/IEC/IEEE 15288 standard,
different types of hardware devices, software services, data
aiming to enhance system models with Systems Engineering
flows, and personnel. The profile is strongly based on a concepts.
reference model for IoT, the IoT Domain Model (Figure 2),
introduced by a European research project, called IoT-A [14], Figure 3 details important stereotypes defined in the
which aims at standardizing the IoT domain as a reference SysML4IoT profile. Block and Stakeholder are SysML
model. In the following, we briefly describe the model elements. System, System-of-Interest and Enabling System are
concepts, the complete explanation about the IoT Domain reused from in ISO/IEC/IEEE 15288 standard. Other elements
Model can be found in [15]. come from the IoT Domain Model.
159
B. (Challenge 2) Lack of mechanisms to address multiple and the set of services available to access their resources. The
stakeholders concerns: IoT Application Viewpoints view (e.g. Figure 6) is presented through SysML Block
IoT application development is a multi-disciplined process Definition Diagram (BDD) to represent the devices, services,
where concerns from multiple stakeholders may intersect or and resources; and Internal Block Diagram (IBD), to specify
conflict [5]. An important task is the characterization of the internal configurations and information flows. The IoT Device
stakeholders involved in the IoT application life cycle. Table 1 Expert is the stakeholder that creates Virtual Entity views.
describes our envisioned stakeholders, their skills and 2) Functional Viewpoint
responsibilities. The Functional Viewpoint addresses concerns related to the
functional responsibilities of the systems components, their
Table 1 Stakeholders in IoT application development internal and external interfaces (ports and connectors) and
Stakeholder Skills Responsibilities internal structure. The Functional View (e.g. Figure 8 and
Device Deep understanding of the Specify, Figure 9) is presented through SysML Block Definition Diag
Expert protocols of the individual implement, and
devices, concepts of the IoT publish devices
ram (BDD), to represent the IoT application composition; and
Domain Model, and SysML. services. Internal Block Diagram (IBD), to specify internal
Understanding of the Define configurations and information flows. The IoT Application
Domain
Specialist application domain and application Engineer is the stakeholder that creates Functional views.
concepts of the IoT Domain requirements and
Model. the app. scope. 3) Information Viewpoint
IoT Deep understanding about Elicit the IoT is a paradigm that essentially focuses on exchanging
Requirements Requirements Engineering, application and information across heterogeneous entities. A formal
Engineer concepts of IoT Domain device specification of information structures that flows across
Model, and SysML. requirements components and devices is decisive for the success of an IoT
IoT Deep understanding about application. The Information Viewpoint addresses such concern
Specify the
Application Systems Engineering,
structure of an
by defining the data formats, structures and protocols that are
Engineer concepts of IoT Domain used by the application components when exchanging
IoT application
Model, and SysML. information. The Information View (e.g. Figure 7) is presented
IoT Deep understanding of the through SysML Block Definition Diagram (BDD) with
Deployment platforms and target area packages representing the various data structures and formats.
Application
Manager where the application will be
deployment. The IoT Application Engineer and the IoT Device Expert are
deployed, concepts of IoT
Domain Model, and UML. the stakeholders that create Information views.
4) Operational Viewpoint
Each stakeholder has particular concerns about the IoT The Operational Viewpoint addresses concerns related to
application that shall be addressed in the system model. A the behavior of the application at runtime. It allocates activities
proven technique to achieve this aim is Views & Viewpoints that realize systems requirements into components. The
[13]. A view is a representation comprised of one or more Operational View is presented through SysML Activity
architectural elements to address a set of design concerns from Diagram. The IoT Application Engineer is the stakeholder that
a specific viewpoint; a viewpoint is a specification of elements creates Operational views.
and conventions available for constructing and using a view.
Figure 4 depicts our proposed viewpoints specification 5) Deployment Viewpoint
followed by the description of each one. The examples of the The Deployment Viewpoint addresses concerns related to
views are introduced in Section VI. the environment into which the system will be deployed. The
objective is to specify the allocation of the system components
on computational nodes. It also specifies hardware constraints
and network communication protocols between nodes. The
Deployment View is presented through UML Deployment
Diagram. The IoT Deployment Manager is the stakeholder that
creates Deployment views.
C. Reuse of system model elements
To promote reusability of model elements, we propose the
use of IoT Model Libraries. A model library is a kind of
SysML package that is intended to contain reusable model
elements [8] for a given domain. In IDeA, the IoT Model
Library contains model elements, such as devices or resources,
which can be reused by stakeholders when modeling IoT
Figure 4 IoT Application Viewpoints Specification applications. The model elements that compose the IoT Model
Library are created during the life cycle of a particular IoT
1) Virtual Entity Viewpoint application, when the stakeholders create the application views.
The Virtual Entity Viewpoint addresses concerns related to Alternatively, a stakeholder can create model elements outside
virtual entities. Virtual Entity Views shall specify the devices of the IoT application life cycle, providing means for reuse.
160
D. IoT AppFramework activities of the Domain Specialist are performed in the context
The IoT Application Viewpoints, SysML4IoT, and the of the activity Analyze Stakeholders Needs interacting with
support to create reusable model elements with the IoT Model the Requirement Manager. In turn, the IoT Deployment
Library have been implemented in the IoT AppFramework. Manager conducts his/her activities after the design of the
The tool is a plugin for the MBSE environment No Magic requirements, structure and behavior of the IoT application.
Cameo Systems Modeler [17]. The plugin is available at In the next section, we describe the activities of the IoT
http://ubicomp.nce.ufrj.br/idea. DevProcess in the context of the Smart Building scenario
E. (Challenge 3) Lack of a method to design IoT applications: (Section II). The objective is to demonstrate the effectiveness
IoT DevProcess of IDeA methodology to generate the system model.
We address the third challenge by the IoT DevProcess IV. EVALUATION CASE STUDY: SMART BUILDING IOT
(Figure 5). Initially we performed a quasi-systematic literature APPLICATION SYSTEM MODEL DESIGN
review, based on the protocol as proposed by Dyba and
Kitchenhan [18], to search for MBSE processes and methods A. Evaluation Scope
for IoT application development. As an outcome, we could not The goal of this section is to describe how well the
find any MBSE approach specific for IoT application domain. proposed methodology addresses the challenges introduced
Thereby, we analyzed well-stablish standards and selected the earlier. To evaluate our approach, the IDeA methodology will
ISO/IEC/IEEE 15288 and OOSEM to generate a method with a be applied to create the IoT Application System Model for the
subset of activities and artifacts from them specifically tailored Smart Building IoT application presented in Section II. The
for IoT application development. focus of the modelling will be on the adjustment of temperature
and lighting levels according to the employees preferences, as
well as on the electricity usage monitoring. For lacking of
space, the models are presented in a high-level of abstraction,
not considering technical details of devices and services. Also,
we do not describe classical OOSEM activities (white action in
the SysML Activity Diagram of Figure 5). There is substantial
material in the literature that describes the execution of these
activities (primarily [8]). Finally, we focus on the Virtual
Entity View, Information View, and Functional View of the
system, which specify the structure of the IoT application.
Nevertheless, a complete description about the Smart Building
IoT application can be found at http://ubicomp.nce.ufrj.br/idea.
B. Analyze System Requirements
In this activity, the IoT Requirements Engineer specifies the
requirements for the IoT application as a black box. Device
Requirements are also specified, defining which type of
devices are needed to the application with their required
features, such as specific data formats and protocols. The
application and device requirements are modeled using SysML
Figure 5 IoT DevProcess Requirement Diagrams and Requirement Tables.
The ISO/IEC/IEEE 15288 establishes a process framework C. Model Virtual Entities
for describing the entire lifecycle of a complex system. It
includes agreement process (e.g. acquisition, supply), Once knowing the device requirements, Device Expert
enterprise process (e.g. investment management, resource stakeholders specify the devices, services and resources that
management), project process (e.g. planning, risk will compose the application. Each device expert is responsible
management), and technical processes. OOSEM can be applied for modeling the structure and internal configurations of the
over ISO/IEC/IEEE 15288 technical process as a method to device he/she is acquainted with, composing the Virtual Entity
perform its activities, as demonstrated by [19]. View. The structure of the devices, services and resources
follows the IoT Domain Model (introduced in Section III.A
The IoT DevProcess is an extension of the OOSEM method and formally defined in [15]). Figure 6 depicts the Virtual
specifically tailored for the IoT domain. It comprises: (i) the Entity View of the Smart Building IoT application.
allocation of activities to predefined stakeholders; (ii)
modifications on existing activities and artefacts; and, (iii) the The devices (temperature, heater, light, card, and
inclusion of new activities and artefacts (gray elements in the electricity) are composed of sensors and actuators. They host
SysML Activity Diagram of Figure 5). White elements are resources exposed by services. Such services are specifications
classical OOSEM activities. of SysML Ports, which represent access points of a device.
They will be used by the IoT Application Engineer when
We hide activities conducted by the Domain Specialist and creating the Functional View IBD (Figure 9). The flow
IoT Deployment Manager stakeholders since they are not the properties specify the port direction (in or out) and the data
core of IoT DevProcess to generate the system model. The
161
type that flows through the port (such data type is defined in D. Define Logical Architecture
the Information view - Figure 7). After the specification of devices and services for the Smart
Both TempService_Room and LightService_Room have an Building application, the IoT Application Engineer
input port by which the desired temperature and lighting levels decomposes the system into functional components that
are set and output ports by which the actual level of interact with each other to satisfy the system requirements. The
temperature and lighting are requested. To set or request the first step is to create the Functional View. In such view, the
temperature and lighting levels, the services exposes the BDD describes the high-level structure of the IoT application
resources, such as ActualTempResource (referencing the (Figure 8) and the IBD presents the interactions between
Temperature Sensor) and HeaterResource (referencing the systems components and information flows (Figure 9).
Heater device). The internal configuration and interactions of
the Temperature, Heater, and Light Devices with their sensors
and actuators are modeled in the respective IBD (for example
Temperature Device IBD not shown due to space
limitations). In turn, CardService_Room and Electricity
Service are access points of their respective devices with only
output ports by which their resources (referencing to the
respective sensors) are requested.
162
E. Qualitative Analysis application development, once it is a multi-disciplined
In the following, we analyze the use of IDeA to generate the endeavor with concerns coming from various stakeholders.
system model in contrast to generating it by using only SysML Other works have already stated that OOSEM may be
(without the SysML4IoT profile and IoT Application enhanced to accommodate domain specific activities (such as
Viewpoints) and classical OOSEM (without the extended [19] for submarine design). The IoT DevProcess is an
activities). extension of such method specifically tailored for IoT domain.
1) Addressing the heterogeneity of hardware devices and It tackles the abovementioned issues by providing activities to
design IoT application system models. Moreover, it defines the
software components
stakeholders that are responsible to perform the activities and
The Smart Building application requires different hardware
their generated views, besides establishing the reuse of model
entities, such as temperature sensors, heaters, lighting sensors,
elements through model libraries.
and card devices. Each device has specific resources exposed
by software services that exchange information between them V. LIMITATIONS
in order to realize the IoT application requirements. By using
only SysML, both hardware devices and software components We now turn to a brief discussion of the current limitations
would be modeled through generic elements, such as Blocks. of our methodology. First, it is required from the stakeholders a
Such approach may produce an ambiguous model, once the deep understanding about the IoT-A Domain Model to
IoT application has elements with similar meaning (such as correctly specify the system model. Such reference model is
device and sensor or on-device resource and services). quite recent and requires significant effort to be understood as a
Furthermore, without a precise characterization of the elements whole, having few concrete examples of its use. However, the
that compose the system, the communication between quality of any modelling activity depends on the skills of the
stakeholders may be negatively affected. domain analyst and modeling IoT systems is no exception.
The main objective of a system model is to aid stakeholders Furthermore, the proposed approach needs to be evaluated
to identify components, increasing the understanding of the through more comprehensive assessment tools. For instance, it
system and enhancing the communication [9]. Through is important to run controlled experiments to assess the
SysML4IoT, all hardware devices and software components are modelling overhead of the approach in a real system
precisely identified in the system model by using stereotypes. It development scenario. Another aspect that must be further
also promotes the communication between stakeholders, once analyzed is how general the modelling elements are when they
there is a common knowledge source that identifies the model are applied in different IoT application projects. However, the
elements: the IoT Domain Model. Furthermore, by precisely characteristics we chose for the PoC scenario (heterogeneity,
identifying the elements with the stereotypes, it is also possible multiple stakeholders, etc.) are the ones that the literature
to create Model Libraries composed of specific elements, such points out as the most common for the IoT domain.
as device model libraries or service model libraries, promoting Furthermore, we extend a mature systems engineering process,
reusability of model elements. the OOSEM, which has been used by several projects.
163
In the context of pervasive computing, Serra et al. [21] REFERENCES
propose a domain-specific language based on UML, called [1] A. Whitmore, A. Agarwal, and L. Da Xu, The Internet of ThingsA
PervML, to describe pervasive systems in a technology survey of topics and trends, Inf. Syst. Front., vol. 17, no. 2, pp. 261
independent way. The main purpose of PervML is to address 274, Mar. 2015.
the heterogeneity in the applications. Another proposal is the [2] Gartner, Gartner Says 4.9 Billion Connected Things Will Be in Use in
DiaSuite [22], which is a development environment dedicated 2015. [Online]. Available: http://goo.gl/bgWqwB. [Accessed: 07-Dec-
2015].
to pervasive IoT application design, which relies on a domain-
[3] L. Atzori, A. Iera, and G. Morabito, The Internet of Things: A survey,
specific language that allows the specification of the Comput. Networks, vol. 54, no. 15, pp. 27872805, Oct. 2010.
applications. The stakeholders model entities in a high-level
[4] ISO/IEC/IEEE, Systems and software engineering -- Vocabulary. pp.
manner to abstract the heterogeneity. The main feature that 1418, 2010.
distinguishes IDeA from those approaches is its alignment to [5] P. Patel and D. Cassou, Enabling High-level Application Development
well-established standards. The SysML4IoT profile is based on for the Internet of Things, J. Syst. Softw., vol. 103, pp. 6284, Jan.
SysML and its meta-model is founded on both the 2015.
ISO/IEC/IEEE 15288 and the IoT-A Domain Model. Such an [6] P. Patel, B. Morin, and S. Chaudhary, A model-driven development
alignment improves the overall comprehension of the system framework for developing sense-compute-control applications, in
elements and promotes the easy integration of IDeA with other Proceedings of the 1st Int. Workshop on Modern Software Engineering
Methods for Industrial Automation - MoSEMInA 2014, 2014, pp. 5261.
development approaches based of the same standards.
[7] A. Kossiakoff, W. N. Sweet, S. Seymour, and S. M. Biemer, Systems
Regarding Web Sensor Network (WSN) approaches, Engineering Principles and Practice, 2nd ed. 2011.
Bischoff and Kortuem [23] introduce an engineering method [8] S. Friedenthal, A. Moore, and R. Steiner, A Practical Guide to SysML:
called RuleCaster. The programming model logically divides The Systems Modeling Language. 2014.
the network into spatial regions; then, the RuleCaster compiler [9] J. Holt and S. Perry, SysML for Systems Engineering. 2nd Edition: A
Model-Based Approach. 2013.
receives the application containing rules and the network
[10] J. N. Martin, Systems Engineering Guidebook: A Process for Developing
model describing the spatial regions. Finally, they are mapped Systems and Products, vol. 14. CRC Press, 1996.
to devices. In turn, Taniro et al. [24] propose a model-driven
[11] ISO/IEC/IEEE, ISO/IEC/IEEE 15288:2015 - Systems and software
architecture framework to develop WSN applications helping engineering - System life cycle processes, 2015.
stakeholders to model functional and non-functional [12] SysML 1.4 - Beta. [Online]. Available: http://goo.gl/l8IQ5P.
requirements. The framework increases the abstraction level [Accessed: 14-Dec-2015].
and enables the automatic code generation. It also allows the [13] ISO/IEC/IEEE, ISO/IEC/IEEE 42010:2011 - Systems and software
separation of different development stakeholders concerns. In engineering -- Architecture description, 2011.
our work, sensors are modeled according to the IoT Domain [14] IOT-A: Internet of Things Architecture. [Online]. Available:
Model. Furthermore, the IDeA methodology is based on the http://www.iot-a.eu/public. [Accessed: 20-Feb-2016].
concept of Views and Viewpoints to separate the stakeholders [15] A. Bassi, M. Bauer, M. Fiedler, T. Kramp, R. van Kranenburg, S. Lange,
concerns. Both the IoT Domain Model and the concept of and S. Meissner, Eds., Enabling things to talk: Designing IoT solutions
Viewpoints are mature and well-stablished in the literature. with the IoT Architectural Reference Model. Berlin, Heidelberg:
Springer Berlin Heidelberg, 2013.
VII. CONCLUSIONS AND FUTURE WORK [16] B. Costa, P. F. Pires, F. C. Delicato, and P. Merson, Evaluating REST
architecturesApproach, tooling and guidelines, J. Syst. Softw., vol.
In this paper, we presented a Model-Based Systems 112, pp. 156180, Oct. 2015.
Engineering methodology called IDeA, composed of the IoT [17] Cameo Systems Modeler [Online]. Available:
DevProcess (method) and the IoT AppFramework (tool). IDeA http://mbse.nomagic.com/. [Accessed: 10-Dec-2015].
provides solutions for three challenges of the current design of [18] T. Dyba, B. A. Kitchenham, and M. Jorgensen, Evidence-based
IoT applications: (i) the heterogeneity of hardware devices and software engineering for practitioners, IEEE Softw., vol. 22, no. 1, pp.
5865, Jan. 2005.
software components; (ii) the lack of mechanisms to address
[19] P. Pearce and M. Hause, ISO-15288, OOSEM and Model-Based
multiple stakeholders concerns; and, (iii) the lack of a method Submarine Design, in Systems Engineering and Test and Evaluation /
to design IoT applications. As demonstrated by the case study, 6th Asia Pacific Conference on Systems Engineering, 2012.
the methodology can be used in the context of the [20] Extended Environments Markup Language: EEML. [Online].
ISO/IEC/IEEE 15288 technical process to generate IoT Available: http://www.eeml.org/. [Accessed: 20-Nov-2015].
application system models, helping multiple stakeholders to [21] E. Serral, P. Valderas, and V. Pelechano, Towards the Model Driven
identify components and understand the system. Our current Development of context-aware pervasive systems, Pervasive Mob.
and future works involve improving the methodology by Comput., vol. 6, no. 2, pp. 254280, Apr. 2010.
supporting other phases of the development life cycle. Another [22] B. Bertran, J. Bruneau, D. Cassou, N. Loriant, E. Balland, and C.
important aspect we are planning to carry on is the systematic Consel, DiaSuite: A tool suite to develop Sense/Compute/Control
applications, Sci. Comput. Program., vol. 79, pp. 3951, Jan. 2014.
evaluation of IDeA through controlled experiments.
[23] U. Bischoff and G. Kortuem, Rulecaster: A programming system for
ACKNOWLEDGMENT wireless sensor networks, Smart Sens. Context, 2006.
[24] T. Rodrigues, F. C. Delicato, T. Batista, P. F. Pires, and L. Pirmez, An
This work was partially supported by Brazilian Funding approach based on the domain perspective to develop WSAN
Agencies FAPERJ (under grant E_06/2015E_06/2015 for applications, Softw. Syst. Model., Sep. 2015.
Flavia C. Delicato) and CNPq (under grants 200757/2015-6
and 307378/2014-4 for Flavia C. Delicato, 310958/2015-6,
457783/2014, and 200758/2015-2 for Paulo F. Pires).
164