# A Model Based Framework for IoT-Aware Business Process Management
## 2 Related Work
Moreover, as regards the conceptual representation of the IoT domain, it is argued that it should consider the definition of various concepts: devices, sensors, actuators and users. In this respect, a valuable strategy for enacting the IoT integration with the BP paradigm is to extend BPMN to enable the representation of IoT concepts and hence integrate them into an IoT-aware BP model. In this respect, such a contribution provides the conceptual guidance to define the strategy upon which we have based our approach, whose founding pillar is constituted by the specification of an IoT-based extension of BPMN that addresses the representation of the aforementioned IoT-related concepts. In [18], an approach that combines the recording of data collected by IoT sensors with BPM technologies is presented. The authors underline how provisioning of real-time data gathered from sensors to BPM tools might help organizations to achieve cost savings and efficiency. The proposed approach consists of a four-step procedure: IoT devices are connected to the business process management system (BPMS), the BPMN model is extended with data variables for capturing data from sensors, the process model is executed and, finally, context relevant information are provided to process participants. Unlike such an approach, the framework introduced in this work aims to support both the process design and its continuous monitoring and analysis by use of a digital twin. Moreover, the proposed approach has been based on a low code development paradigm, thanks to the adoption of standard and technologies introduced by the MDA effort. In [19], a novel modeling approach is introduced to provide guidance for integrating IoT resources in a BP model. The proposed method, denoted as the IoT-Aware Process Modeling Method (IAPMM), exploits the IoT-Architecture [24], a notation to represent the IoT concepts in BPMN in terms of annotations associated to BPMN models. In [20; 21], the lack of modeling concepts for representing IoT devices in a business process model is underlined. Specifically, in [20], an IoT domain model for BPs is introduced for both physical entities and device elements. While a physical entity denotes an element in the observed environment, device elements allow the representation of IoT-related concepts. A device element can further be specialized by three subcategories: sensors, actuators, and tags. A sensor is in charge of monitoring the physical entity, whereas an actuator acts on the physical entity to change its state. A tag is used to identify a device. Differently, in [21], a BPMN extension is proposed to deal with the representation of IoT concepts in a BP model. The paper analyzes and compares three potential strategies for extending BPMN to represent physical IoT devices. According to the presented results, two new classes are introduced: the _ParticipantContainer_ and the _PhysicalEntity_. Specifically, _ParticipantContainer_ is an abstract class that extends the standard _BaseElement_ class and is specialized by subclasses that represent different types of entity participating in a collaboration, i.e., the novel _PhysicalEntity_ class and the standard _Participant_ class. In [22], a REST-based architectural model is introduced to integrate BPs with IoT resources. Specifically, the proposed architecture provides the core components that enact the development and execution of IoT-aware BPs. To demonstrate the feasibility of the proposed architectural approach, the paper also discussed a prototype implementation based on BPM (Java Business Process Management) [25], an open source workflow engine compliant with BPMN. The lack of a common architecture which standardizes the communication between the IoT layer and the BPM layer is underlined in [23]. Such a contribution proposes an integrated approach that exploits IoT for BPM and introduces an IoT architecture structured in three layers: the IoT devices layer, the IoT communication middleware and the BP execution layer (also known as BPMS, or BP management software).