# BPMNE4 IoT: A Framework for Modeling, Executing and Monitoring IoT-Driven Processes +
## 4 Related Work
### Extending the BPMN 2.0 Metamodel with IoT-Specific Modeling Elements  
This section deals with works that extend the BPMN 2.0 metamodel to explicitly capture IoT aspects in BP models. An overview of related approaches extending BPMN with IoT-specific modeling elements is given in Table 1.  
**uBPMN**[26], extends BPMN 2.0 with five task types: (1) _sensor tasks_ to collect physical data, (2) _reader tasks_ to collect data from ubiquitous technology (e.g., RFID, NFC and magnetic stripes), (3) _image tasks_ to collect data from video streams, (4) _audio tasks_ to collect information from an audio stream and (5) _collector tasks_ to collect information except from sensors (e.g., databases, files or proxy entity). For each activity type, there is a start and intermediate event. Moreover, uBPMN extends BPMN with IoT-driven Data and Context Objects. A Data Object is used to represent the data transmitted from the IoT devices. To describe attributes of the physical context (e.g., brightness > 10) the _Context Object_ may be used. The Stream Processing Unit **SPU**[46] extends BPMN 2.0 with two tasks for managing data streams in the context of IoT-driven BPs: (1) _Event stream specification tasks_ manage the stream events and their parameters. To stop the data stream, a condition needs to be specified for this task. (2) An _Event stream processing task_, in turn, manages the stream events and their parameters. To stop the data stream, a condition needs to be specified for this task. Furthermore, the concept of the data stream is introduced to collect input or output data from smart devices. For this purpose, standard BPMN data objects are transformed into an input/output event stream data object. **BPMNE4 WSN**[47] extends BPMN 2.0 to represent Wireless Sensor Networks (WSNs). For this purpose, a WSN task, a WSN pool, and performance annotations are introduced. The WSN task corresponds to an action performed in a WSN process and includes six attributes: (1) _tWSNOperation_ to bind a WSN operation, (2) _actionType_ to define the operation as sensing (?) or actuation (! ), (3) _isCommandAction_ to define a WSN task as a command action, (4) _tWSNPerformer_ to define the resource needed to perform the task, (5) _tActionPerformer_ extending _tWSNPerformer_ to represent the nodes that are supposed to execute the _tWSNOperation_ and (6) _isEventDriven_ to mark a WSN Task as event-driven. Each attribute has its own icon and is displayed accordingly (when enabled) in a WSN Task in the upper left corner. Refs. [48; 49] add three IoT-specific modeling elements to BPMN 2.0 (1) a _sensing task_ for representing pull interactions, (2) an _actuation task_ for representing push interactions and (3) an _empty pool_ for representing physical entities (e.g., chocolate). Within such a pool, an icon may be displayed to represent the special process role. Ref. [50] describes a BPMN metamodel extension for representing _physical entities_ as well as their interaction with smart devices. This metamodel includes the (1) _PhysicalObject_ to model physical entities, (2) _SensingTask_ to enable pull interactions, (3) _SensingAssociation_ to enable a flow of physical information (pull) from a physical entity to a sensor, (4) _ActuatingTask_ for push interactions and _Actuating Association_ to represent actuator commands, which may can be considered as a flow of physical interaction (pull). For the _SensingAssociation_ and _ActuatingAssociation_, _[PERSON]_ proposes the reuse of the same stencil as defined for a _DataAssociation_. Ref. [51] extends BPMN to enable the management of smart services by sensing data from smart devices with an _IoT Sensor Activity_. To enable push interactions, an _IoT Service Activity_ is introduced. Ref.