Goals for an IoT context-based process modelling

0 downloads 0 Views 218KB Size Report
In: Barbosa, L.S., Correia, M.P.. (eds.) Inforum 2010 - II Simpósio de Informática. .... at a restaurant to have lunch. Unexpectedly, the container's door is opened ...
Goals for an IoT context-based process modelling language regarding logistics Pedro Ferreira1,3,? , Ricardo Martinho1,3 , and Dulce Domingos2,3 1

School of Technology and Management, Polytechnic Institute of Leiria, Portugal 2 Faculty of Science, University of Lisboa, Portugal 3 Large-Scale Informatics Systems Laboratory, Lisboa, Portugal [email protected],[email protected],[email protected]

Abstract. The Internet of Things (IoT) aims at bridging the gap between real-world business processes and information systems. When attached to physical items, the IoT technologies such as sensor networks transform objects of the supply chain into smart items. These items have the ability to capture context data and provide business process management systems (BPMSs) with a representation of things. To adequately describe a business process, process engineers commonly use Business Process Modelling Languages (BPMLs). However, in a larger scope, BPMLs differ according to the application area they are used in, and there is no current language solution to represent IoT context data within a process model. In this paper we introduce the goals for a BPML to represent these data. The language will enable process engineers to model business process behaviour taking into account IoT context data. Keywords: Internet of Things (IoT), business processes, modelling languages, goals

1

Introduction

The Internet of Things (IoT) has become an important subject on the enterprise world, regarding business processes, business models and information systems (IS). As our society witnesses the growth of a web-based service economy, the IoT provides a key role for its improvement [10]. Manufacturing, logistics, automotive, energy, health and security are some of the application areas where the IoT has been raising interest. The role of the IoT in the future Internet is to reduce the gap between the physical world and its representation in information systems. Radio Frequency Identification (RFID) devices and sensor networks are common technologies used in the IoT. They capture and provide context data which can be used to support decision making at high management level. For instance, RFIDs provide identification of objects, and sensors allow reading of environment data. These data allow process monitors to identify unusual aspects within ?

This work was supported by FCT through project PATI (PTDC/EIAEIA/103751/2008) and through LASIGE Multiannual Funding Programme.

their context. Therefore, sensors add a major contribution to the business processes in the IoT. Some of these are considered to be intelligent as they have the ability to execute business logic. This allows the decisions to be made at item level and therefore reduce centralised processing and the amount of exchanged data. These items are usually referred to as i.e., smart items [15]. The decomposition of business processes through distributed environments creates a paradigm shift and new challenges. Technical issues such as Internet scalability, identification and addressing, heterogeneity and service paradigms are major obstacles to overcome. Therefore, they are prominent areas of research and have influence on business process modelling [8]. Nowadays, the integration of these technologies into enterprise systems require a significant effort, regarding deployment and configuration of middleware. Also, it is fair to acknowledge that BPMLs are the best way to define and execute complex business processes in these environments [9]. For instance, the Business Process Execution Language for Web-Services (WS-BPEL) has emerged as the standard reference to model the behaviour of Executable and Abstract business processes on Web Services [2]. It defines an interoperable integration model, extending the Web Services interaction model and enabling it to support business transactions. So far it is possible to use information provided by the IoT to support business processes defined at design time that do not foresee deviations. However, business processes in the IoT require specific environment data and it is hard to represent their dynamic behaviour through WS-BPEL [5]. To address these issues, we aim towards a BPML which can represent IoT context data within business process models. In this paper, we present a list of goals for such a language. As a motivation scenario, we focus on logistics and supply chain-related business processes, which commonly use data provided by IoT technologies such as sensor networks. The remainder of this paper is organised as follows: section 2 describes a motivation scenario; section 3 identifies the goals for the proposed scenario; section 4 discusses related work and section 5 concludes this paper.

2

Motivation scenario

In the enterprise world the supply chain is known as a network of organisations and business processes for procuring raw materials, transforming them into products and distributing these to customers [12]. According to this definition, there are five major supply chain processes: plan, source, make, deliver and return. Logistics plays an important role in all of them, especially dealing with issues that have an impact on transporting [12]. We will build our scenario based on this kind of logistics business processes. 2.1

Technology Background

The integration of real-world business processes into information systems requires a huge effort. The representation of these processes demand accurate context data obtained from physical devices. However, the data captured by these

Fig. 1. Simplified architecture of IoT technology devices interacting with BPMSs.

devices may not be entirely accurate or non-sufficient to the system it provides. The main goal of the IoT is to fill this gap, creating a better understanding and representation of real-world business processes within information systems. Therefore, technology represents a major role in achieving this goal. Wireless sensor networks have the ability to capture context data and provide it to information systems for real-time representation of business processes and involved objects. For this purposes, these devices are commonly referred to as smart items. Regarding logistics processes, wireless sensor networks characteristics make them the most promising technology [11]. The sensor nodes are extremely small electronic devices with embedded sensing and computing systems that collaborate within a network. They can be configured with specific properties to meet the requirements of the objects they are associated with. Also, some sensors can execute business logic and therefore execute parts of the processes of an information system. Objects become embedded logistics information systems [4]. Sensor networks cover more information features then other devices such as RFID [6]. For instance, CoBIs [3] presents a sensor network that covers the following features: identification, tracing, location tracking, monitoring and real-time responsiveness. The use of sensor networks demands service-oriented architectures (SOA) regarding interaction with information systems. This implies the need of a service monitor to manage the communication of sensors with information systems. In this approach, sensors can either be simple devices with environment reading abilities which only send information they were programmed for, or have computing power that enables them to execute business logic, make decisions based on acquired data and take appropriate action. Figure 1 shows a simplified schema of a BPMS communication with IoT technology. The node stereotyped as device represents sensors with simple reading abilities. The nodes stereotyped as executableEnvironment represent sensors with embedded computing power to handle incoming data and requests. Both stereotypes communicate with a centralised information system.

2.2

Logistic functions

The basic logistics functions are to transport ”the right goods and the right quantity and right quality at the right time to the right place for the right price” [4]. Information systems provide a set of specific features to address each of these logistics functions, namely identification, tracing, location tracking, monitoring, real-time responsiveness and optimisation. The identification feature accomplishes the right goods function. The tracing feature provides the system with the right quantity. For instance, allows the detection of lost objects. Location tracking guarantees the objects to be in the right place by tracking the transport itself. Monitoring the object’s state ensures its right quality. The data obtained from these features in real-time allows the overall logistics processes to be observed with detail within information systems. Therefore, real-time responsiveness to unforeseen events and other actions can be achieved at the right time. Finally, these data provide the basis for optimisation affecting the product’s right price. For instance, a truck loaded with fruit not reaching its destination in time may have influence on the fruit’s quality and therefore, its price. Table 1 illustrates the association of logistic functions, the features commonly supported by IS and sensor networks. These features allow the monitoring and control of Table 1. Logistic functions and information systems features to implement them. It also displays the sensor networks capabilities towards logistic functions. Functions

Features

Sensor Networks

right right right right right right

Identification Tracing Location Tracking Monitoring Real-time responsiveness Optimisation

Full Full Full Full Full Full

goods amount place quality time price

products. Environment data is provided by smart items. For instance, tracking their location can be used to detect if the associated products have been detoured from a pre-planned route. Tracking their state can be used to realise if the products’ condition has changed and whether they are still useful or not. The following section describes the language goals to support context data in the logistics business processes, concerning their functions and supply chain integrity.

3

Language Goals

In this section we describe the way we organised the goals for a language to model IoT-related business processes for logistics. We also foresee the logistic function

that a certain goal will try to address. Following a goal/scenario oriented model [1], we provide in Table 2 an overall description of our main goals. Use cases and application scenarios for each goal can be found in a fully detailed list in Appendix, at the end of this paper. Table 2. Goals for a language to model the IoT business processes Goal

Description

Logistic Function

G-01:

Provide appropriate language constructs to enable process engineers to model and monitor simple device identification Allow process engineers to model and control group device identification Provide language constructs for process engineers to model master-slave device identification Allow process engineers to control the quantity of products monitored by the device Control the quality of product monitored by the device Control state of the product monitored by the device Control location of the product monitored by the device Control time variants of the product monitored by the device Control distribution of business logic among devices

the right goods

G-02: G-03: G-04: G-05: G-06: G-07: G-08: G-09:

4

the right goods the right goods the right amount the right quality the right quality the right place the right time

Related Work

Process engineers have recognised that using context data effectively is the key to build more adaptable and interoperable web services [14, 13]. Therefore, WSBPEL is the common solution to model the behaviour of Executable and Abstract business processes on Web Services. However, it is hard to represent business processes in the IoT through WS-BPEL due to issues identified on [5]. In this section we will describe approaches that researchers use to deal with related issues. ”Business Processes are no longer a rote repetition of steps” [7]. They have to capture relevant environment data and adapt their behaviour to address the challenges. As organisations demand greater efficiency, their business processes require environment-driven adaptability. Also, as the pace of changes increases, so does the amount of changing environment state, or context. Therefore, the

organisations Business Processes will be required to be more flexible. These concepts pose a challenge for process engineers using WS-BPEL who have to source, track and update context data while maintaining core business logic. WS-BPEL provides support for pull-style interactions where services are invoked at the process’s request for data or to perform a task. However, there is a short notation on push-style interactions. This limitation reduces the process adaptability to its environment, especially concerning arbitrary changes. To address these, the use of context variables was introduced using the WS-BPEL language extension mechanism [7]. Their goal was to provide a mechanism to create business processes that adapt to the business environment, thus, increase processes expressiveness. For instance, a company that offers its customers strict product-delivery guarantees. Each product uses multiple sub-assemblies. As the company receives new purchase requests it orders the necessary components from its suppliers. Not every shipment arrives on time. Instead of finding this when the component fails to arrive on the expected delivery date, the company would like an advance warning so that arrangements could be made. To control this, they track the shipment’s estimated delivery date and, if it exceeds a certain threshold, perform an adequate compensation. The estimated delivery date becomes the context variable, whose value influences the process’s execution.

5

Conclusion and Future Work

In this paper we introduced the goals for a BPML to represent IoT context data, mostly from logistics processes. These goals will provide an important overview on deriving the meta-model for the language. It will enable process engineers to model business process behaviour taking into account IoT context data. Current approaches achieve part of these goals through mechanisms to create business processes that adapt to business environment. However, the increased expressiveness on these does not fulfil all the goals necessary for a proper definition of the IoT business processes. Also, standard PMLs have problems modelling specific context data from the IoT into information systems. Therefore, we acknowledge the need of a new language or new language constructs with expressiveness to support the IoT context-based business processes. These constructs must support: – The declaration of which events processes are interested in receive directly. – The declaration of which events processes are interested in receive indirectly. In this case, a threshold of conditions is associated with events, which notify processes about any exceptions. – Support the distribution of business process logic between central IS and IoT-related technologies. – Support predicted and unpredicted exceptions within business processes, raised from IoT context data. Concerning our approach, we will then analyse current solutions in order to decide weather we’ll extend an existing language or create a new one. Despite

our choice, the language must support a translation tool to build WS-BPEL code from our source and vice-versa.

References [1] Alspaugh, T.A., Ant´ on, A.I.: Scenario support for effective requirements. Information & Software Technology pp. 198–220 (2008) [2] Alves, A., Arkin, A., Askary, S., Barreto, C., Bloch, B., Curbera, F., Ford, M., Goland, Y., Guzar, A., Kartha, N., Liu, C.K., Khalaf, R., Knig, D., Marin, M., Mehta, V., Thatte, S., van der Rijn, D., Yendluri, P., Yiu, A.: Web services business process execution language (wsbpel) version 2.0. Tech. rep., OASIS (2007) [3] Decker, C., Riedel, T., Beigl, M., de Souza, L., Spiess, P., Muller, J., Haller, S.: Collaborative business items. In: 3rd Internation Conference on Intelligent Environments. pp. 40 –47 (sep 2007) [4] Decker, C., Berchtold, M., Chaves, L.W.F., Beigl, M., Roehr, D., Riedel, T., Beuster, M., Herzog, T., Herzig, D.: Cost-benefit model for smart items in the supply chain. In: IOT’08: Proceedings of the 1st international conference on The internet of things. pp. 155–172. Springer-Verlag, Berlin, Heidelberg (2008) [5] Ferreira, P., Martinho, R., Domingos, D.: IoT-aware business processes for logistics: limitations of current approaches. In: Barbosa, L.S., Correia, M.P. (eds.) Inforum 2010 - II Simp´osio de Inform´atica. pp. 611–622 (September 2010) [6] Finkenzeller, K.: RFID Handbook: Fundamentals and Applications in Contactless Smart Cards and Identification. John Wiley & Sons, Inc., New York, NY, USA (2003) [7] George, A.A., Ward, P.A.S.: An architecture for providing context in wsbpel processes. In: Proceedings of the 2008 conference of the center for advanced studies on collaborative research: meeting of minds. pp. 22:289– 22:303. CASCON ’08, ACM, New York, NY, USA (2008) [8] Haller, S., Karnouskos, S., Schroth, C.: The internet of things in an enterprise context. In: Domingue, J., Fensel, D., Traverso, P. (eds.) Future Internet FIS 2008, Lecture Notes in Computer Science, vol. 5468, pp. 14– 28. Springer Berlin / Heidelberg (2009) [9] Haller, S., Magerkurth, C.: The real-time enterprise: Iot-enabled business processes. IETF IAB Workshop on Interconnecting Smart Objects with the Internet (March 2011) [10] ISTAG: Working group report on ”web-based service industry”. Tech. rep., Information Society Technologies Advisory Group (February 2008) [11] Jedermann, R., Lang, W.: The benefits of embedded intelligence tasks and applications for ubiquitous computing in logistics. In: Floerkemeier, C., Langheinrich, M., Fleisch, E., Mattern, F., Sarma, S. (eds.) The Internet of Things, Lecture Notes in Computer Science, vol. 4952, pp. 105–122. Springer Berlin / Heidelberg (2008)

[12] Laudon, K.C., Laudon, J.P.: Management Information Systems: Managing the Digital Firm - 9th edition, pp. 385–389. Pearson Prentice Hall, Pearson Education, Inc., nineth edn. (2005) [13] Martin, D.: Putting web services in context. Electronic Notes in Theoretical Computer Science 146(1), 3 – 16 (2006), proceedings of the First International Workshop on Context for Web Services (CWS 2005) [14] Stal, M.: Web services: beyond component-based computing. Commun. ACM 45, 71–76 (October 2002) [15] Uckelmann, D.: A definition approach to smart logistics. In: Proceedings of the 8th international conference, NEW2AN and 1st Russian Conference on Smart Spaces, ruSMART on Next Generation Teletraffic and Wired/Wireless Advanced Networking. pp. 273–284. NEW2AN ’08 / ruSMART ’08, Springer-Verlag, Berlin, Heidelberg (2008)

Appendix: Goals List for an IoT context-based language

Table 3. Goals list concerning the logistic functions G-01: Provide appropriate language constructs to enable process engineers to model and monitor simple device identification Logistic function: the right goods Use cases: Obtain the device identification, Define device details Application Scenario: A truck loaded with 3 pallets of products is equipped with one device for each pallet. The cargo has to be distributed among 3 different locations. When unloading the cargo, the device provides the identification of the right pallet and therefore the right goods. G-02: Allow process engineers to model and control group device identification Logistic function: the right goods Use cases: Obtain the device group, Define device group, Alert missing component Application Scenario: A van loaded with 6 products distributed among 37 different packages is equipped with one device for each component. For each component the corresponding device is marked with the same group identification. After loading the cargo, the van driver wants to make a cargo-check. One single device provides information about its group and raises an alert if a component is missing. He can repeat the process after arrival before unloading the cargo to ensure he has the right goods. G-03: Provide language constructs for process engineers to model master-slave device identification Logistic function: the right goods Use cases: Define slave device, Define master device, Obtain salve devices Application Scenario: A van loaded with 6 products distributed among 37 different packages is equipped with one device for each component. For each product, one of the devices is marked as a master device. The remaining devices corresponding to the same product are marked with the master device identification.

G-04: Allow process engineers to control the quantity of products monitored by the device Logistic function: the right amount Use cases: Define quantity, Obtain current quantity Application Scenario: A truck loaded with 3 pallets of fruit is equipped with one device for each pallet. The number of crates in each pallet is stored in the corresponding device. When unloading the cargo, the device provides the identification of each pallet quantity and therefore the right amount. Alternatively, the weight of each pallet is also stored in the corresponding device. Application Scenario 2: A tank truck loaded with gasoline is equipped with a device to control the fuel level in the container. Before departure, the fuel level is stored in the device. After arrival, the fuel level is compared to the value previously stored. If these values do not match, the device raises an alert. G-05: Control the quality of product monitored by the device Logistic function: the right quality Use cases: Define device properties, Define properties values, Obtain current values, Out of bound properties Application Scenario: A truck loaded with 12 pallets of fruit is equipped with devices to control and store temperature values, two for each pallet. Also, the devices are programmed with a range of recommended temperature values (minimum temperature: 15, maximum temperature: 20). If temperature in the pallet reaches out of bound values, the device raises an alert, informing the process manager. The pallet with compromised quality is a threat to the remaining pallets and in the worst case scenario all the cargo can go to waste. These data allow the process manager to remove the ”bad apple” and assure the remaining products quality. G-06: Control state of the product monitored by the device Logistic function: the right quality Use cases: Change container state, Alert tampered container Application scenario: The scenario begins when a tank truck filled with gasoline starts its journey towards the destination, a filling station. The device monitoring the container marks it with closed state. During transportation, the truck driver makes a stop at a restaurant to have lunch. Unexpectedly, the container’s door is opened and the device marks the container with tampered state. G-07: Control location of the product monitored by the device Logistic function: the right place Use cases: Obtain current location, Update checkpoints, Update destination. Application scenario: The use case begins when a truck starts its journey towards the destination. The device monitoring the container is able to control its current location and store the checkpoints defined by the process monitor. During transportation, a road block prevents the truck to proceed on route. The process monitor is notified of this event and updates checkpoints for an alternative route without compromising the route integrity. G-08: Control time variants of the product monitored by the device Logistic function: the right time Use cases: Obtain arrival time, Update estimated time to arrival Application scenario: A truck loaded with cargo must arrive to its destination within 120 minutes. The expected time to arrival according to the current route is 100 minutes, respecting speed limits. Unexpected construction works on the road, reduces the speed limit for a few kilometres. If the new expected time to arrival surpasses 120 minutes, the device raises an alert and provides an alternative route, if available.

Table 4. Goals list concerning the distribution of business logic, subscription model and exception handling G-09: Control distribution of business logic among devices Use cases: Define activity execution target @system, @device Application scenario (@device): A truck loaded with pallets of fruit is equipped with devices to monitor temperature, programmed with a range of recommended values (minimum temperature: 15, maximum temperature: 20). If temperature in the pallet reaches out of bound values, the device raises an alert, informing the process manager. In this scenario, the business logic is executed at device. Application scenario (@system): A truck loaded with pallets of fruit is equipped with devices to store temperature values. At arrival, the central system checks the devices temperature logs. If the values compromise product integrity, the system raises an alert. In this scenario, the business logic is executed at system. G-10: Provide predicted exceptions handling Use cases: Define exception, Compensate exception, Catch exception G-11: Provide unpredicted exceptions handling Use cases: Define unpredicted exception G-12: Control push based events Use cases: Define push event Application scenario: A truck loaded with fruit is equipped with devices with temperature logs. These devices are programmed with a range of recommended temperature values (minimum temperature: 15, maximum temperature: 20). If temperature in the truck reaches out of bound values, the device raises an event informing the process monitor. G-13: Control pull based events Use cases: Define time interval Application scenario: A truck loaded with fruit is equipped with devices with temperature logs. These devices are programmed to read environment temperature every 5 minutes and register it.