56
M. Hadj Kacem et al.
problems to architects and designers in the IoT domain. Most of these patterns
are presented visually and informally, there is no formal semantics associated
with them. Hence, their meanings may be imprecise. They can lead to their
misunderstanding and misuse.
To remedy this problem, we propose an approach that allows to model and
specify these patterns with a formal notation that allows to reuse them correctly. Our objective is to prove the relevance of these patterns. We illustrate
our approach with different pattern examples. We propose a graphical modeling of these patterns in order to describe both their structural and behavioral
features. Then, we propose a generic formal specification of these patterns using
the formal Event-B method. Finally, we develop a graphical editor describing
our approach using the Eclipse modeling platform.
The rest of this paper is organized as follows. Section 2 focuses on the structural modeling of IoT design patterns and Sect. 3 focuses on the behavioral
modeling. In Sect. 4, we present an application to a case study of our approach.
Section 5 describes how to formally specify IoT design patterns with the EventB method. In Sect. 6, we present our tool, which implements the proposed approach. Section 7 discusses related work. Section 8 concludes and gives future work
directions.
2 Structural Patterns Modeling
We provide a modeling solution for describing IoT design patterns using a visual
notation based on the graphical UML language in order to give readable models. We first describe a meta-model, then we present a model instance of the
design pattern. The metamodel extends the component diagram of UML 2.0
(Unified Modeling Language). The use of UML is motivated by four distinct
rationales: (i) It is a standard modeling language defined by OMG. (ii) It is used
to describe software architectures. (iii) Component diagrams of UML allow us to
represent structural features of patterns. (iv) Sequence diagrams of UML allow
us to represent behavioral features of patterns.
Structural features of patterns are generally specified by the types of entities.
The configuration of the entities is also described in terms of static relationships
between them [16]. We model structural features of design patterns with the
extended Component diagram. In the following, we present the proposed metamodel. An example of a corresponding model is presented and illustrated with
case studies as follows.
2.1 Metamodel
The extended Component diagram describes, by a set of concepts, the structure
of an IoT architecture. We use it to describe the architecture of IoT design
patterns. More specifically, it is to define the entities that can be involved in
the pattern, their types and their dependencies (connections). The metamodel
presented in Fig. 1 extends the metamodel of the component diagram of UML
M. Hadj Kacem et al.
problems to architects and designers in the IoT domain. Most of these patterns
are presented visually and informally, there is no formal semantics associated
with them. Hence, their meanings may be imprecise. They can lead to their
misunderstanding and misuse.
To remedy this problem, we propose an approach that allows to model and
specify these patterns with a formal notation that allows to reuse them correctly. Our objective is to prove the relevance of these patterns. We illustrate
our approach with different pattern examples. We propose a graphical modeling of these patterns in order to describe both their structural and behavioral
features. Then, we propose a generic formal specification of these patterns using
the formal Event-B method. Finally, we develop a graphical editor describing
our approach using the Eclipse modeling platform.
The rest of this paper is organized as follows. Section 2 focuses on the structural modeling of IoT design patterns and Sect. 3 focuses on the behavioral
modeling. In Sect. 4, we present an application to a case study of our approach.
Section 5 describes how to formally specify IoT design patterns with the EventB method. In Sect. 6, we present our tool, which implements the proposed approach. Section 7 discusses related work. Section 8 concludes and gives future work
directions.
2 Structural Patterns Modeling
We provide a modeling solution for describing IoT design patterns using a visual
notation based on the graphical UML language in order to give readable models. We first describe a meta-model, then we present a model instance of the
design pattern. The metamodel extends the component diagram of UML 2.0
(Unified Modeling Language). The use of UML is motivated by four distinct
rationales: (i) It is a standard modeling language defined by OMG. (ii) It is used
to describe software architectures. (iii) Component diagrams of UML allow us to
represent structural features of patterns. (iv) Sequence diagrams of UML allow
us to represent behavioral features of patterns.
Structural features of patterns are generally specified by the types of entities.
The configuration of the entities is also described in terms of static relationships
between them [16]. We model structural features of design patterns with the
extended Component diagram. In the following, we present the proposed metamodel. An example of a corresponding model is presented and illustrated with
case studies as follows.
2.1 Metamodel
The extended Component diagram describes, by a set of concepts, the structure
of an IoT architecture. We use it to describe the architecture of IoT design
patterns. More specifically, it is to define the entities that can be involved in
the pattern, their types and their dependencies (connections). The metamodel
presented in Fig. 1 extends the metamodel of the component diagram of UML
