Distributed Adaptive Systems (DAS) Unit
Enacting Emergent Configurations in the IoT
through Domain Objects
Fahed Alkhabbas*, Martina De Sanctis#, Romina Spalazzese*,
Antonio Bucchiarone#, Paul Davidsson*, Annapaola Marconi#
Fondazione Bruno Kessler, Trento – Italy
bucchiarone@fbk.eu
# *
HANGZHOU, ZHEJIANG, CHINA - November 15, 2018
A. Bucchiarone IoT-FED @ ICSOC 2018 - 2
Introduction
Ø The Internet of Things (IoT) pervades more and more aspects of
our lives and often involves many types of smart connected
objects and devices.
Ø The IoT environment is dynamic and heterogeneous.
Ø Mobility of the users and devices.
[1] F. Alkhabbas, R. Spalazzese, and P. Davidsson. Architecting Emergent Configurations
in the Internet of Things. IEEE International Conference on Software Architecture (ICSA 2017) ,
pages 221–224. 2017.
Emergent Configuration (ECs) [1]
Set of things that connect and cooperate temporarily through their
functionalities, applications and services, to achieve a user goal.
A. Bucchiarone IoT-FED @ ICSOC 2018 - 3
IoT-FED
Ø IoT-FED: an approach for Forming and enacting Emergent
configuration through Domain Objects in the IoT.
Domain Objects: a service-based formalism used to
model things, IoT Services, and Applications.
IoT-FED: a Process and Architecture
realizing Emergent Configurations.
A prototype for validation purposes.
1
3
2
A. Bucchiarone IoT-FED @ ICSOC 2018 - 4
The Adjust Light Scenario
Adjust Light (AL) application:
Ø Each room (e.g., hotel, office rooms) is equipped with several
IoT things (e.g., light sensors, connected curtains and lights).
Ø Users requests as goal to increase/decrease the light level by
using an application running on their smartphone.
Ø “An Emergent Configuration of things (e.g., user’s smartphone,
a light sensor, connected curtain and light) is formed and
enacted to achieve the user goal”.
A. Bucchiarone IoT-FED @ ICSOC 2018 - 5
Research Challenges
Ø High heterogeneity of services/things dynamically available in
different and often unknown places (e.g., sensors, actuators, things
APIs).
Ø High complexity and variability of the system behavior.
Ø It is not feasible to define a priori all the possible combinations of
things to reach specific user goals (e.g., adjust light, adjust
temperature).
Ø Users can fully benefit from the IoT only when they can effortlessly
interact with the dynamically available things to satisfy their goals.
Ø Highly open and highly dynamic environment.
A. Bucchiarone IoT-FED @ ICSOC 2018 - 6
Assumptions
ECs are formed and enacted within well-defined
spatial boundaries (e.g., room, a building).
ECs achieve non-time critical user goals: formation
and enactment within the time scale of seconds.
ECs can be successfully formed and enacted:
adaptation is out of the scope of this paper.
A. Bucchiarone IoT-FED @ ICSOC 2018 - 7
IoT-FED
Ø IoT-FED: an approach for Forming and enacting Emergent
configuration through Domain Objects in the IoT.
Domain Objects: a service-based formalism used to model
things, IoT Services, and Applications.
IoT-FED: a Process and Architecture
realizing Emergent Configurations.
A prototype for validation purposes.
1
3
2
A. Bucchiarone IoT-FED @ ICSOC 2018 - 8
The Design for Adaptation Approach
Ø It is based on two distinct but correlated models – the Domain
model and the Domain Object model.
Ø It allows for the separation of concerns – application (the what)
vs. adaptation (the how) logic (design-time vs. runtime).
Ø It provides support for the runtime and automatic services
selection, composition and re-configuration.
A. Bucchiarone, M. De Sanctis, A. Marconi, M. Pistore, P. Traverso: Design for Adaptation of Distributed
Service-Based Systems. ICSOC 2015.
A. Bucchiarone, M. De Sanctis, A. Marconi, M. Pistore, P. Traverso: Incremental Composition for
Adaptive By-Design Service Based Systems. ICWS 2016.
A. Bucchiarone IoT-FED @ ICSOC 2018 - 9
Domain Objects
Ø A design for adaptation framework based on Domain Objects
supporting:
Ø the design, development and operation of systems operating in
highly dynamic environments;
Ø the application of advanced techniques for dynamic and
incremental service composition and re-configuration.
FRAGMENTSCORE PROCESS
I/O msg
Fragment1
Fragment2
Fragment3
Goal Goal
Goal
Goal
DP2 DP3 DP4
External Domain Knowledge
(required concepts / functionalities)
Internal Domain Knowledge
(own concept / functionalities)
DP1
A. Bucchiarone IoT-FED @ ICSOC 2018 - 10
Domain Objects
Ø A design for adaptation framework based on Domain Objects
supporting:
Ø the design, development and operation of systems operating in
highly dynamic environments;
Ø the application of advanced techniques for dynamic and
incremental service composition and re-configuration.
A. Bucchiarone IoT-FED @ ICSOC 2018 - 11
IoT-FED
Ø IoT-FED: an approach for Forming and enacting Emergent
configuration through Domain Objects in the IoT.
Domain Objects: a service-based formalism used to model
things, IoT Services, and Applications.
IoT-FED: a Process and Architecture
realizing Emergent Configurations.
A prototype for validation purposes.
1
3
2
A. Bucchiarone IoT-FED @ ICSOC 2018 - 12
IoT-FED Process
Ø The user expresses her/his goal via an application running on
one of the available smart device (e.g., her/his smartphone) in
a specific spatial boundaries.
Ø e.g., adjust light level in the Lara’s Office.
A. Bucchiarone IoT-FED @ ICSOC 2018 - 13
IoT-FED Process
Ø The core process of the Domain Object corresponding to the
specified goal type is loaded and its simulation starts.
A. Bucchiarone IoT-FED @ ICSOC 2018 - 14
IoT-FED Process
Ø The goal is achievable if all
abstract activities in the
core process can be refined
successfully.
Ø Composition of fragments
to refine an abstract
activity.
A. Bucchiarone IoT-FED @ ICSOC 2018 - 15
IoT-FED Process
Ø The formed EC can then be enacted by instantiating the Domain
Objects forming it.
A. Bucchiarone IoT-FED @ ICSOC 2018 - 16
IoT-FED Architecture
Ø Parsing the user goal and starting the EC formation.
Ø Loading the DO process corresponding to the specified goal type.
Ø Refinement of abstract activities in the loaded process using AI
planning techniques.
A. Bucchiarone IoT-FED @ ICSOC 2018 - 17
IoT-FED Architecture
Ø Managing available IoT things and DOs.
Ø Answering queries about available IoT things.
Ø Instantiating needed DOs and handling their co-relations.
A. Bucchiarone IoT-FED @ ICSOC 2018 - 18
IoT-FED Architecture
Ø Simulating, forming and enacting the EC.
Ø Injection of the plans received by the Planner in place of
abstract activities.
A. Bucchiarone IoT-FED @ ICSOC 2018 - 19
IoT-FED Architecture
Ø Maintaining the system knowledge.
Ø Retrieving data from the KB
Ø Parsing receiving context from the Execution Engine and
passing it to the KB (i.e., KB update).
A. Bucchiarone IoT-FED @ ICSOC 2018 - 20
IoT-FED Architecture
Ø Internal system knowledge
Ø Things states
Ø Device capabilities
Ø Domain object models
A. Bucchiarone IoT-FED @ ICSOC 2018 - 21
IoT-FED Architecture
Ø Management and Interaction with things through the
Amazon AWS-IoT platform.
A. Bucchiarone IoT-FED @ ICSOC 2018 - 22
IoT-FED
Ø IoT-FED: an approach for Forming and enacting Emergent
configuration through Domain Objects in the IoT.
Domain Objects: a service-based formalism used to model
things, IoT Services, and Applications.
IoT-FED: a Process and Architecture
realizing Emergent Configurations.
A prototype for validation purposes.
1
3
2
A. Bucchiarone IoT-FED @ ICSOC 2018 - 23
Adjust Light - Prototype
Prototype developed in the IoTaP lab:
http://iotap.mah.se/lab/
A. Bucchiarone IoT-FED @ ICSOC 2018 - 24
Preliminary Results - I
Frequency of the formed ECs after
100 runs of the AL-app.
AL-hotel room:
Ø 6 devices + user’s smartphone
Ø 14 different ECs in 100 runs
AL-hotel room
Ø EC1 = <Smartphone;DayLight;HS-422-ServoMotor; IkeaLamp>.
Ø It occurs 9 times over the 100 runs.
A. Bucchiarone IoT-FED @ ICSOC 2018 - 25
Preliminary Results - II
Frequency of the formed ECs after
100 runs of the AL-app.
AL-office room:
Ø 8 devices + user’s smartphone
Ø 32 different ECs in 100 runs
AL-office room
Ø EC2 = <Smartphone; LightMeter; HS-422-ServoMotor; PhilipsHueLight>.
Ø It occurs 5 times over the 100 runs.
A. Bucchiarone IoT-FED @ ICSOC 2018 - 26
Preliminary Results - II
ECs execution time.
Ø Average time (in secs) for forming and enacting ECs over the
100 runs of the AL app.
A. Bucchiarone IoT-FED @ ICSOC 2018 - 27
Conclusion
Ø IoT-FED: an architectural approach enabling the automated
and runtime formation and enactment of ECs in dynamic
environments.
Ø DO model and its technologies in the context of IoT.
Ø Process and Architecture of the IoT-FED approach.
Ø Prototype and initial experiments.
A. Bucchiarone IoT-FED @ ICSOC 2018 - 28
Future Work
• Adaptation
mechanisms and
strategies
proposed by
DOs.
Adaptation of ECs
at runtime
• Multiple and
competing ECs.
Case Studies
• Selection and
composition of
things based on
non-functional
aspects.
Non-Functional
Distributed Adaptive Systems (DAS) Unit
Enacting Emergent Configurations in the IoT
through Domain Objects
Fahed Alkhabbas*, Martina De Sanctis#, Romina Spalazzese*,
Antonio Bucchiarone#, Paul Davidsson*, Annapaola Marconi#
Fondazione Bruno Kessler, Trento – Italy
bucchiarone@fbk.eu
# *
HANGZHOU, ZHEJIANG, CHINA - November 15, 2018

Enacting Emergent Configurations in the IoT through Domain Objects

  • 1.
    Distributed Adaptive Systems(DAS) Unit Enacting Emergent Configurations in the IoT through Domain Objects Fahed Alkhabbas*, Martina De Sanctis#, Romina Spalazzese*, Antonio Bucchiarone#, Paul Davidsson*, Annapaola Marconi# Fondazione Bruno Kessler, Trento – Italy bucchiarone@fbk.eu # * HANGZHOU, ZHEJIANG, CHINA - November 15, 2018
  • 2.
    A. Bucchiarone IoT-FED@ ICSOC 2018 - 2 Introduction Ø The Internet of Things (IoT) pervades more and more aspects of our lives and often involves many types of smart connected objects and devices. Ø The IoT environment is dynamic and heterogeneous. Ø Mobility of the users and devices. [1] F. Alkhabbas, R. Spalazzese, and P. Davidsson. Architecting Emergent Configurations in the Internet of Things. IEEE International Conference on Software Architecture (ICSA 2017) , pages 221–224. 2017. Emergent Configuration (ECs) [1] Set of things that connect and cooperate temporarily through their functionalities, applications and services, to achieve a user goal.
  • 3.
    A. Bucchiarone IoT-FED@ ICSOC 2018 - 3 IoT-FED Ø IoT-FED: an approach for Forming and enacting Emergent configuration through Domain Objects in the IoT. Domain Objects: a service-based formalism used to model things, IoT Services, and Applications. IoT-FED: a Process and Architecture realizing Emergent Configurations. A prototype for validation purposes. 1 3 2
  • 4.
    A. Bucchiarone IoT-FED@ ICSOC 2018 - 4 The Adjust Light Scenario Adjust Light (AL) application: Ø Each room (e.g., hotel, office rooms) is equipped with several IoT things (e.g., light sensors, connected curtains and lights). Ø Users requests as goal to increase/decrease the light level by using an application running on their smartphone. Ø “An Emergent Configuration of things (e.g., user’s smartphone, a light sensor, connected curtain and light) is formed and enacted to achieve the user goal”.
  • 5.
    A. Bucchiarone IoT-FED@ ICSOC 2018 - 5 Research Challenges Ø High heterogeneity of services/things dynamically available in different and often unknown places (e.g., sensors, actuators, things APIs). Ø High complexity and variability of the system behavior. Ø It is not feasible to define a priori all the possible combinations of things to reach specific user goals (e.g., adjust light, adjust temperature). Ø Users can fully benefit from the IoT only when they can effortlessly interact with the dynamically available things to satisfy their goals. Ø Highly open and highly dynamic environment.
  • 6.
    A. Bucchiarone IoT-FED@ ICSOC 2018 - 6 Assumptions ECs are formed and enacted within well-defined spatial boundaries (e.g., room, a building). ECs achieve non-time critical user goals: formation and enactment within the time scale of seconds. ECs can be successfully formed and enacted: adaptation is out of the scope of this paper.
  • 7.
    A. Bucchiarone IoT-FED@ ICSOC 2018 - 7 IoT-FED Ø IoT-FED: an approach for Forming and enacting Emergent configuration through Domain Objects in the IoT. Domain Objects: a service-based formalism used to model things, IoT Services, and Applications. IoT-FED: a Process and Architecture realizing Emergent Configurations. A prototype for validation purposes. 1 3 2
  • 8.
    A. Bucchiarone IoT-FED@ ICSOC 2018 - 8 The Design for Adaptation Approach Ø It is based on two distinct but correlated models – the Domain model and the Domain Object model. Ø It allows for the separation of concerns – application (the what) vs. adaptation (the how) logic (design-time vs. runtime). Ø It provides support for the runtime and automatic services selection, composition and re-configuration. A. Bucchiarone, M. De Sanctis, A. Marconi, M. Pistore, P. Traverso: Design for Adaptation of Distributed Service-Based Systems. ICSOC 2015. A. Bucchiarone, M. De Sanctis, A. Marconi, M. Pistore, P. Traverso: Incremental Composition for Adaptive By-Design Service Based Systems. ICWS 2016.
  • 9.
    A. Bucchiarone IoT-FED@ ICSOC 2018 - 9 Domain Objects Ø A design for adaptation framework based on Domain Objects supporting: Ø the design, development and operation of systems operating in highly dynamic environments; Ø the application of advanced techniques for dynamic and incremental service composition and re-configuration. FRAGMENTSCORE PROCESS I/O msg Fragment1 Fragment2 Fragment3 Goal Goal Goal Goal DP2 DP3 DP4 External Domain Knowledge (required concepts / functionalities) Internal Domain Knowledge (own concept / functionalities) DP1
  • 10.
    A. Bucchiarone IoT-FED@ ICSOC 2018 - 10 Domain Objects Ø A design for adaptation framework based on Domain Objects supporting: Ø the design, development and operation of systems operating in highly dynamic environments; Ø the application of advanced techniques for dynamic and incremental service composition and re-configuration.
  • 11.
    A. Bucchiarone IoT-FED@ ICSOC 2018 - 11 IoT-FED Ø IoT-FED: an approach for Forming and enacting Emergent configuration through Domain Objects in the IoT. Domain Objects: a service-based formalism used to model things, IoT Services, and Applications. IoT-FED: a Process and Architecture realizing Emergent Configurations. A prototype for validation purposes. 1 3 2
  • 12.
    A. Bucchiarone IoT-FED@ ICSOC 2018 - 12 IoT-FED Process Ø The user expresses her/his goal via an application running on one of the available smart device (e.g., her/his smartphone) in a specific spatial boundaries. Ø e.g., adjust light level in the Lara’s Office.
  • 13.
    A. Bucchiarone IoT-FED@ ICSOC 2018 - 13 IoT-FED Process Ø The core process of the Domain Object corresponding to the specified goal type is loaded and its simulation starts.
  • 14.
    A. Bucchiarone IoT-FED@ ICSOC 2018 - 14 IoT-FED Process Ø The goal is achievable if all abstract activities in the core process can be refined successfully. Ø Composition of fragments to refine an abstract activity.
  • 15.
    A. Bucchiarone IoT-FED@ ICSOC 2018 - 15 IoT-FED Process Ø The formed EC can then be enacted by instantiating the Domain Objects forming it.
  • 16.
    A. Bucchiarone IoT-FED@ ICSOC 2018 - 16 IoT-FED Architecture Ø Parsing the user goal and starting the EC formation. Ø Loading the DO process corresponding to the specified goal type. Ø Refinement of abstract activities in the loaded process using AI planning techniques.
  • 17.
    A. Bucchiarone IoT-FED@ ICSOC 2018 - 17 IoT-FED Architecture Ø Managing available IoT things and DOs. Ø Answering queries about available IoT things. Ø Instantiating needed DOs and handling their co-relations.
  • 18.
    A. Bucchiarone IoT-FED@ ICSOC 2018 - 18 IoT-FED Architecture Ø Simulating, forming and enacting the EC. Ø Injection of the plans received by the Planner in place of abstract activities.
  • 19.
    A. Bucchiarone IoT-FED@ ICSOC 2018 - 19 IoT-FED Architecture Ø Maintaining the system knowledge. Ø Retrieving data from the KB Ø Parsing receiving context from the Execution Engine and passing it to the KB (i.e., KB update).
  • 20.
    A. Bucchiarone IoT-FED@ ICSOC 2018 - 20 IoT-FED Architecture Ø Internal system knowledge Ø Things states Ø Device capabilities Ø Domain object models
  • 21.
    A. Bucchiarone IoT-FED@ ICSOC 2018 - 21 IoT-FED Architecture Ø Management and Interaction with things through the Amazon AWS-IoT platform.
  • 22.
    A. Bucchiarone IoT-FED@ ICSOC 2018 - 22 IoT-FED Ø IoT-FED: an approach for Forming and enacting Emergent configuration through Domain Objects in the IoT. Domain Objects: a service-based formalism used to model things, IoT Services, and Applications. IoT-FED: a Process and Architecture realizing Emergent Configurations. A prototype for validation purposes. 1 3 2
  • 23.
    A. Bucchiarone IoT-FED@ ICSOC 2018 - 23 Adjust Light - Prototype Prototype developed in the IoTaP lab: http://iotap.mah.se/lab/
  • 24.
    A. Bucchiarone IoT-FED@ ICSOC 2018 - 24 Preliminary Results - I Frequency of the formed ECs after 100 runs of the AL-app. AL-hotel room: Ø 6 devices + user’s smartphone Ø 14 different ECs in 100 runs AL-hotel room Ø EC1 = <Smartphone;DayLight;HS-422-ServoMotor; IkeaLamp>. Ø It occurs 9 times over the 100 runs.
  • 25.
    A. Bucchiarone IoT-FED@ ICSOC 2018 - 25 Preliminary Results - II Frequency of the formed ECs after 100 runs of the AL-app. AL-office room: Ø 8 devices + user’s smartphone Ø 32 different ECs in 100 runs AL-office room Ø EC2 = <Smartphone; LightMeter; HS-422-ServoMotor; PhilipsHueLight>. Ø It occurs 5 times over the 100 runs.
  • 26.
    A. Bucchiarone IoT-FED@ ICSOC 2018 - 26 Preliminary Results - II ECs execution time. Ø Average time (in secs) for forming and enacting ECs over the 100 runs of the AL app.
  • 27.
    A. Bucchiarone IoT-FED@ ICSOC 2018 - 27 Conclusion Ø IoT-FED: an architectural approach enabling the automated and runtime formation and enactment of ECs in dynamic environments. Ø DO model and its technologies in the context of IoT. Ø Process and Architecture of the IoT-FED approach. Ø Prototype and initial experiments.
  • 28.
    A. Bucchiarone IoT-FED@ ICSOC 2018 - 28 Future Work • Adaptation mechanisms and strategies proposed by DOs. Adaptation of ECs at runtime • Multiple and competing ECs. Case Studies • Selection and composition of things based on non-functional aspects. Non-Functional
  • 29.
    Distributed Adaptive Systems(DAS) Unit Enacting Emergent Configurations in the IoT through Domain Objects Fahed Alkhabbas*, Martina De Sanctis#, Romina Spalazzese*, Antonio Bucchiarone#, Paul Davidsson*, Annapaola Marconi# Fondazione Bruno Kessler, Trento – Italy bucchiarone@fbk.eu # * HANGZHOU, ZHEJIANG, CHINA - November 15, 2018