Actuation Task

Actuation Task.JPG
現行BPMN 2.0 有何不足?

現有的BPMN 2.0中已經定義了有Service Activity, Human Activity及Send Activity三種Activity型態,這三種Activity為何不足以表達Actuator的動作呢?

  • Service Activity:Service Activity主要是用來自動呼叫Web Service。
  • Human Activity:Human Activity 指的是人員需要介入來完成的活動,例如:填寫報表、審核...等作業類型。
  • Send Activity:而Send Activity主要是傳送一則訊息(Message)給流程外的參與者,傳完後立即結束活動並使得流程繼續往下走。

分析上面三種Activity,只有Service Activity比較接近Actuation Activity的需求,雖然在物聯網的應用架構上,有人推崇將所有的裝置、感知器及反應器其介面全部包成Web Service,資料及訊息的傳遞均走HTTP協定,存取感知器的數值及要求反應器執行動作均透過已經包好的Web Service來進行,若是採用此種架構,則可以使用Service Activity來呼叫Web Service介面。但並非所有反應器的介面均一定要包成Web Service,再加上若只用Service Activity來驅動反應器,在流程圖上便很難辨別此動作到底是網路上的軟體服務還是實體裝置的反應器。

而Send Activity也可以用來驅動反應器,只是Send Activity的意思是傳送一則訊息給流程外的參與者,然而該反應器r並不算是在流程之外的參與者,所以Send Activity並不適合用來描述驅動反應器的動作。

所以基於上述理由,IoT-A建議增加一個Actuation Activity來表示在流程中要求反應模組進行反應動作。

採用 Actuation Activity 的理由
  • 流程模型建構人員必須要能夠清楚知道如何將Actuation Activity加入到流程模型之中,如此他才知道要如何根據真實世界的需求調整流程。
  • 流程模型必須能夠表達流程參與者中反應器(Actuator)及實體物件(Physical Entity)之間新型態 "acts on"(作用於) 的關係 [6]。
  • 流程模型一定要能夠把網路服務的服務及反應器的軟體元件封裝在一起,這樣便能夠透過web service來存取反應器。
  • 像是Service, Human及Send Activity都不符合Actuation Activity的特性需要。

Actuation Activity 應該具備的內容

An Actuation Activity
  • has an Input Data Set. (If RESTful, it would have a PUT)
  • has no Output Data Set.
  • is not executed by Business Process Execution Engine.
  • is not managed by Business Process Execution Engine.
  • has a well-defined service interface.
  • has a connection from a data object or data store.
  • provides a service to act on a Physical Entity.

Actuation Activity的屬性

  • Temporal properties (時間屬性)
    • Start time: When should the Actuation Activity be started?
    • End time: Until when should the Actuation Activity be terminated?
    • Execution Time: How long should the Actuation Activity be performed?
    • Delay: Which average delay may occur when executing the Actuation Activity?
  • Spatial properties (空間屬性)
    • Location: Where should the Actuation Activity be performed?
    • Area of influence: Which area is intended to be affected by the Actuation Activity?
    • Local tolerance: What is the average local tolerance that the Actuation Activity should have?
  • Reliability properties (可靠度屬性)
    • Error: Which error rate should the Actuation Activity have?
    • Accuracy: Which accuracy should the Actuation Activity have?
    • Restrictions: What restrictions should the Actuation Activity have?
  • Optional, since it could be also specified on an overall IoT device level (see 5.2.2):(可選擇屬性)
    • Actuator Features: By which device / device type should the Actuation Activity be executed?
      • Device ID
      • Device type
      • Manufacturer
      • Place of manufacture
      • ...
      • Sensors: Which sensors / sensor types shall measure the current physical state of the actuator?

Actuation Task 有什麼內容
Actuation Activity Metadata Model.JPG
Actuation Activity Metadata Model

Actuation Task BPMN Integration.JPG
Actuation Task BPMN Integration