The S-BPM Architecture: A Framework for Multi-Agent Systems

Similar documents
Open S-BPM: Goals and Architecture

Business Process Modeling

Integrating Cross-Organisational Business Processes Based on a Combined S-BPM/DSM Approach

DEVELOPMENT OF A WORKFLOW APPLICATION FOR VEHICLE FLEET MANAGEMENT: A CASE STUDY OF GUINNESS NIGERIA PLC

Business Process Management

SavvyDox Publishing Augmenting SharePoint and Office 365 Document Content Management Systems

Data-Aware Service Choreographies through Transparent Data Exchange

Business-Driven Software Engineering Lecture 3 Foundations of Processes

A Study into the Critical Success Factors when Implementing Business Process Management Systems

Workflow Automation and Management Services in Web 2.0: An Object-Based Approach to Distributed Workflow Enactment

Software Life-Cycle Management

Six Strategies for Building High Performance SOA Applications

A METHOD FOR REWRITING LEGACY SYSTEMS USING BUSINESS PROCESS MANAGEMENT TECHNOLOGY

COMBINING PROCESS MODELLING AND CASE MODELLING

Modeling Workflow Patterns

A Closer Look at BPM. January 2005

Gartner and BPMInstitute.org Partner to Bring BPM Certification to Gartner Business Process Management Summits

A Big Data-driven Model for the Optimization of Healthcare Processes

BPMN and Simulation. L. J. Enstone & M. F. Clark The Lanner Group April 2006

PERFORMANCE ANALYSIS OF PaaS CLOUD COMPUTING SYSTEM

BPMN and Business Process Management

DATA PORTABILITY AMONG PROVIDERS OF PLATFORM AS A SERVICE. Darko ANDROCEC

Workflow Object Driven Model

Semantic Business Process Management Lectuer 1 - Introduction

Analytics for Performance Optimization of BPMN2.0 Business Processes

e-gateway SOLUTION OVERVIEW Financials HCM ERP e-gateway Web Applications Mobile Devices SharePoint Portal

What is BPM? Software tools enabling BPM

Managing and Tracing the Traversal of Process Clouds with Templates, Agendas and Artifacts

The OMG BPM Standards

Privacy-Aware Scheduling for Inter-Organizational Processes

Supporting the Workflow Management System Development Process with YAWL

Developing a Service Oriented Process Management System for University Quality Assurance

Nintex Workflow 2013 Help

Software Development In the Cloud Cloud management and ALM

SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) SERVICE-ORIENTED SOFTWARE ARCHITECTURE MODEL LANGUAGE SPECIFICATIONS

Design, Modelling and Analysis of a Workflow Reconfiguration

SUPPORTING KNOWLEDGE WORKERS: CASE MANANGEMENT MODEL AND NOTATION (CMMN)

Magic Quadrant for Intelligent Business Process Management Suites

Business Process Modeling Notation. Bruce Silver Principal, BPMessentials

Business Process Modelling Languages

WoPeD - An Educational Tool for Workflow Nets

Semantic-ontological combination of Business Rules and Business Processes in IT Service Management

Business Process Management

BPMN ANALYSIS OF PUBLIC PROCUREMENT Maria Semerdjieva, Evgeniy Krastev

Business Process Modeling and Standardization

UPROM Tool: A Unified Business Process Modeling Tool for Generating Software Life Cycle Artifacts

The webmethods ESB. The Foundation of your SOA. Jean-Michel Ghyoot, Principal Solution Architect, March 28, 2013

ICT353/532 Advanced Business Analysis & Design

From Business World to Software World: Deriving Class Diagrams from Business Process Models

Middleware support for the Internet of Things

A Cost-object Model for Activity Based Costing Simulation of Business Processes

Enterprise Content Management with Microsoft SharePoint

SCALABILITY AND AVAILABILITY

BPMN 2.0 Descriptive Constructs

Air Force SOA Enterprise Service Bus Study Using Business Process Management Workflow Orchestration for C4I Systems Integration

JOURNAL OF OBJECT TECHNOLOGY

BMC Cloud Management Functional Architecture Guide TECHNICAL WHITE PAPER

A Middleware-Based Approach to Mobile Web Services

BPMN and Business Process Management Introduction to the New Business Process Modeling Standard

Tool support for Collaborative Software Quality Management

MTAT Business Process Management (BPM) (for Masters of IT) Lecture 2: Introduction to BPMN

The Workflow Management Coalition Specification Workflow Management Coalition Terminology & Glossary

Data Integration using Agent based Mediator-Wrapper Architecture. Tutorial Report For Agent Based Software Engineering (SENG 609.

Open Source egovernment Reference Architecture Osera.modeldriven.org. Copyright 2006 Data Access Technologies, Inc. Slide 1

SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems

An Architecture Model of Sensor Information System Based on Cloud Computing

Design of Visual Repository, Constraint and Process Modeling Tool based on Eclipse Plug-ins

A Study on Data Analysis Process Management System in MapReduce using BPM

A CSPm Model for the Procure to Pay Case Study

Towards Collaborative Requirements Engineering Tool for ERP product customization

Structural Detection of Deadlocks in Business Process Models

The Way to SOA Concept, Architectural Components and Organization

Siebel Application Deployment Manager Guide. Siebel Innovation Pack 2013 Version 8.1/8.2 September 2013

AgilePoint. Version: 2.5. Ascentn Corporation

A distributed system is defined as

BIS 3106: Business Process Management. Lecture Two: Modelling the Control-flow Perspective

BPM and Simulation. A White Paper. Signavio, Inc. Nov Katharina Clauberg, William Thomas

Modeling RESTful Conversations with Extended BPMN Choreography Diagrams

Business Process Quality Metrics: Log-based Complexity of Workflow Patterns

jeti: A Tool for Remote Tool Integration

Middleware Lou Somers

Circles and Diamonds and Squares, Oh My! Demystifying the BPMN Standard

Personalized e-learning a Goal Oriented Approach

Introduction to Service Oriented Architectures (SOA)

Transcription:

The S-BPM Architecture: A Framework for Multi-Agent Systems Stefan Raß, Johannes Kotremba, Robert Singer Institute of Information Management FH JOANNEUM University of Applied Sciences Graz, Austria robert.singer@fh-joanneum.at Abstract Commercially available business process management systems (BPMS) still suffer to support organizations to enact their business processes in an effective and efficient way. Recently, a method for modeling and execution of business processes, named subject-oriented business process management (S-BPM), gained attention. This methodology facilitates modeling of any business process using only five symbols and allows direct execution based on such models. Any process is defined as a network of independent and distributed agents which coordinate work through the exchange of messages. In this work, we present a framework and a prototype based on off-the-shelf technologies as a general execution platform for S-BPM process models and we can prove and demonstrate the principal architecture concept. Keywords BPM, BPMS, S-BPM, Agent, Communication, Choreography I. INTRODUCTION Business process management (BPM) is still in the focus of business and computer sciences. This can be simply concluded from the number of conferences and publications regarding this topic. A. Motivation There seem to be some open questions in the domain of BPM, which need further research and answers. For example, Smith and Fingar [1] [3] proposed a paradigm change when they discussed the topic of π-calculus as foundation of business process (management). This also has been discussed, for example, in [4], [5]. Recently also Börger [6] discussed fundamental failings of traditional methodologies; see also the discussion of Olbrich [7], who stated BPM has until now failed to deliver and the related answers from e.g. Singer et al. [8], which recently has been picked up again by Sanz [9]. Model design is one area of interest, but more seriously, process execution seems to be away from maturity. It is a core vision of the concept of an agile enterprise, that process people quickly can re-design their process models and enact them without additional effords from IT experts. It is an obvious matter of fact, that import/export of BPMN 2.0 models between tools is a cumbersome work, execution even much more (see for example [10], [11]). This work has the stance that BPM is neither a sole business/organizational, nor a sole technical topic, but has to be seen in the tradition of socio-technical systems simplized, the models represent the social, the supporting software systems the technology aspects. In this work we focus on technical aspects, but the why includes the social aspects of BPM. B. Subject-oriented Business Process Management 1) The S-BPM Methodology: To overcome many problems of traditional BPM and BPMS as stated above, we propose an additional approach which is called subject-oriented business process management (S-BPM). S-BPM is included in the Gartner Hype Cycle for BPM since 2011 and categorized as technology trigger. A comprehensive discussion of S-BPM can be found in [12]; a more hands-on approach, based on didactical concepts for teaching, can be found in [13]. The core concept of S-BPM is based on the formal method of the Calculus of Communicating Systems (CCS), as discussed in [14], and on concepts such as the Parallel Activity Specification Scheme (PASS), firstly discussed in [15]. A discussion of process calculi and S-BPM can be found in [16] and [17]. S- BPM can also be expressed as Abstract State Machines (ASM), as elaborated in [12] by Börger. The possible sequences of a subject s actions in a process are termed subject behavior, i.e. the internal behavior of a subject. Related to other subjects, the internal behavior is not visible or known, as only the exchanged messages are relevant. This is an important part of the concept, as each subject has an autonomous behavior and therefore can be executed as agent (human or machine), reflecting the distributed nature of S- BPM. This is not a new principle, as the programming languages Occam-π or Erlang and the transputer microprocessor architecture implement very similar concepts. A S-BPM model is defined via a Subject Interaction Diagram (SID), or, synonymously, Communication Structure Diagram (CSD) and a collection of Subject Behaviour Diagrams (SBD) for each subject defined in the SID (with the exception of manual or external subjects, which model manual or interface behaviour). Examples of both diagram types are pictured and described in Fig. 1 and Fig. 2. 2) Workflow Technology: The research objective was to prove the educated guess, that any S-BPM process can be modeled and executed as a logical structure of workflows (strictly speaking as Windows Workflows); at which they coordinate their instances through the exchange of messages. The motivation of our research was to prove, that an unified and scalable execution framework for S-BPM models, based as much as possible on off-the-shelf infrastructure solutions can be developed within a very feasible timeframe (compared to

Fig. 1: An example of a Subject Interaction Diagram: it contains three subjects and all exchange messages. Subject 1 starts the process by sending a request to Subject 2; Subject 2 makes a decision, sends an answer back to Subject 1 and, in case of a positive answer, informs Subject 3 about the decision. Fig. 3: The Figure shows the execution of a process with two subject instances, i.e. agents (Subject A and Subject B). The behavior of each subject is defined by a sequence of custom activities defined by a WF workflow (WF1 and WF2). The workflow activities can basically perform three different actions: send a message, do something, and receive a message. Each subject has its own message pool. A workflow communicates with clients in the form of Tasks. Fig. 2: An example of a Subject Behaviour Diagram: triangles at the top symbolize sending, triangles on the bottom receiving states; other states are function states and states in general are marked as starting or ending state (by play and stop icon). State transitions are modeled as directed arcs. other commercially available BPMS). This is a request from industry and additionally has the intention to elaborate a deeper understanding of the S-BPM concept and general requirements for any BPMS. Therefore, we chose Microsoft Windows Server as platform that provides an easy install of the Microsoft.NET framework, which includes the Microsoft Windows Workflow Foundation (WF) [18] as a workflow engine. The authors do not know any other platform, which has similar functionality and can be used to develop a platform for distributed execution of business processes and/or for a platform based on cloud technology out of the box. A WF workflow provides functionality to maintain state, get input from and send output to the outside world, provides control flow, and executes code this is done by so called Activities. Every workflow has an outer activity that contains all of the others (a Sequence or a Flowchart). A Flowchart, like other Activities too, can contain variables that maintain its state and can contain other Activities. Each Activity in a WF workflow is actually a class. Execution of the workflow is performed by the WF runtime. The runtime does not know anything about the internal structure of an Activity, but knows which Activity to run next. If not needed e.g. waiting for a message the state of a workflow can be persisted (into a persistence store) and stored safely until the continuation condition (e.g. an arriving message) is met. Based on this, a workflow might run on different threads, in different processes, and on different machines during its lifetime an important functionality for longrunning processes. Any application build on WF technology is therefore scalable, since it is not confined to a single process on a single machine. Furthermore, another activity from the included Base Activity Library (BAL) offers parallel execution of child activities, another important functionality needed for a general workflow technology. We can demonstrate, that it is possible to map any SID/SBD (that means all defined S-BPM constructs) on a WF workflow. We could further prove, that all Service Interaction Patterns [19] can be realized with our S-BPM prototype [20] (S-BPM is also capable to model and execute in general all Workflow Control Patterns as discussed in [21]). For the S- BPM methodology to work in WF, custom activities are needed to perform the functionality of the S-BPM states: i.e. a custom Function, Receive and Send Activity. II. COMMUNICATING WORKFLOWS As we do not only have one subject and therefore one WF workflow, we also have to develop an underlying concept to manage workflow interaction. A. S-BPM Architecture Concept 1) Scheduler: The basic component of our architecture model is an application titled Scheduler (see Fig. 3). The Scheduler represents the server-side execution environment for processes, while all necessary interactions with users are performed on the client side.

The Scheduler is the core component of our S-BPM architecture and has the following functionality: First of all, the Scheduler is acting as a host environment for all WF workflows. Each instance of a S-BPM process consists of several communicating subject instances (agents). The Scheduler manages loading, instantiating, termination, unloading, and the storage of workflows, including the synchronous or asynchronous execution of workflows. Furthermore, the Scheduler manages the message exchange between the subject instances (agents). Messages can be exchanged by the use of specifically designed activities from within the WF workflows. The Scheduler takes care that messages are delivered to the dedicated recipients. Based on our client-server concept, activities within a WF workflow can require user interaction. For that reason, our specifically designed activities communicate with their clients in the form of Tasks. Summarized, the Scheduler acts as WF workflow host, enables the communication between agents, delivers Tasks from the WF activities to the clients and receives completed Tasks from the clients to deliver them to their corresponding WF activity. The Scheduler is an implementation independent central core concept of the architecture. 2) Message Pool: In S-BPM all subjects have their own input message pool and message exchange between subjects can be synchronous or asynchronous 1. A subject has full access to all messages in its input pool and it can remove any of these messages for processing. The message pool concept is an implementation independent central core concept of the architecture. Any agent can send messages to the message pool of another agent and take out messages from its own message pool. Workflow activities can require user interaction. In our implementation concept the user-interaction is performed client-side. Therefore the Scheduler generates a Task for the responsible agent and also includes corresponding data fields (read and/or write); in case of a human agent (user-task) this will typically lead to a form to be completed and returned to the Scheduler. B. S-BPM as Windows Workflow Model WF workflows can be serialized as data structure or files using the Extensible Markup Language (XAML). XAML is a XML based language and in the background it is executed as program code. The mapping of a SBD onto a WF workflows can be done in the following way: there are four elements in S-BPM which need equivalents in WF workflows: subjects, states (send, receive, function), transitions and parameters (local, global). The WF equivalent for a subject in general is a WF Flowchart Activity. In that case we cannot explicitly model transitions, so they are merged together with states into activities. Each S-BPM state and its following transition/s are a custom WF Activity. Parameters in S-BPM are converted to variables in WF. 1 In general communication is handled via web-service technology, which can establish synchronous or asynchronous communication. Fig. 4: The core S-BPM architecture based on communicating Windows Workflows. The central component is the Scheduler as described in the text. 1) S-BPM WF Activities: As we need WF Activities with specific behavior, we only need to enhance the standard Activity class (we use C#) with additional functionality (inheritance). 2) Process Repository: All information about processes and their execution has to be stored in a proper way. Therefore, all defined processes as well as their running instances are stored within a central process repository on the server side. Additionally, we have to consider a mapping between organizational roles and subjects, i.e. a specific role (agent) is mapped onto a specific instance of a subject (using an Active Directory). 3) Workflow Persistence and Tasks: Activities within a workflow can ask the user for interaction. As already mentioned, this interaction is handled by Tasks. An activity creates a Task and submits it to the user. After the Task is answered by the user, the activity has all required information to continue its execution. There is a delay between creating a Task and receiving the corresponding Task answer. As the idle time can take from several minutes to even days, it is not needed that the entire workflow instance stays in the working memory of the server. For this purpose, Windows Workflow Foundation includes a feature called workflow persistence. The feature makes a durable capture of a workflow instance s state, which can be used to resume the entire workflow later. When a Task is answered, the Scheduler has to make sure, that the corresponding subject instance receives the answered Task from the user. Therefore, the Scheduler has to find the corresponding subject instance. As next step, the corresponding Flowchart Workflow has to be resumed; then the answered Task is forwarded to the workflow instance and the workflow is able to continue execution. The complete architecture is pictured in Fig. 4. The concepts are generally valid, but the architecture strongly builds on the capabilities of Windows Workflows. III. S-BPM PROTOTYPE ARCHITECTURE Our prototype infrastructure is depicted in Fig. 5; this includes a domain controller, a SQL server instance and a web server as host for the Scheduler. The message exchange is done via mail services. The included web service makes the clients independent from our server core. This means that clients can be implemented using different technologies.

Fig. 5: This Figure provides an overview of the whole architecture. At the very core of the server there are the workflows (labeled WF in Fig. 5). Each workflow is hosted by a SubjectHost ( SH in Fig. 5) which is a C# class and takes care of functions like instantiating the workflow. All subject hosts together are hosted by the Scheduler Core, which is also a C# class. The Scheduler Core coordinates the different subject hosts. The Scheduler holds all necessary functionality for the execution of S-BPM processes. Each process instance exists of several subject instances which are represented by the Subject Hosts ( SH in Fig. 5). Each Subject Host hosts one workflow instance ( WF in Fig. 5). The Subject Host represents a logical and standardized environment for the execution of WF workflows. This architecture implements the possibility of communication between individual activities within a workflow and the Scheduler. Furthermore, the Subject Host provides all essential functionalities to initialize, store and terminate workflows in a proper way. The Scheduler manages all active and persisted processes, controls the communication between subjects and copes with Tasks and Task answers. For example, if one subject instance sends a message to another subject instance, the Scheduler initializes a new Subject Host (if not existing) and the Subject Host creates either a new workflow instance or restores an existing instance from the database. The components Task Service and Notification Provider implement the communication layer; the Task Service is a C# web service, which provides the necessary interfaces for client communication which is based on SOAP messages. In addition to the Task Service for client communication, the Notification Provider handles events of the Scheduler directly. Such events are, for instance, triggered when an activity within a subject instance creates a Task or a message. This event mechanism allows the implementation of a push mechanism. in our case we notify Microsoft Outlook clients via Microsoft Exchange s push-mail mechanism by sending E- Mails. These three components together build the Scheduler, the core of our application. The scheduler is hosted as a Microsoft IIS web service, which means that the Internet Information Server starts the scheduler and keeps it running. The IIS also hosts a web front-end which can be used to upload processes and also provides a web client. In addition to the IIS, we need an Active Directory, a SQL Server and a Business Object Repository. The project was designed for Active Directory integration so that no extra user database has to be maintained. Processes can be directly assigned to already defined organizational units, as defined in the Active Directory and therefore to roles and users. The SQL Server is a crucial component as all persistent data is stored within a SQL database, including processes, workflows and workflow instances. While the IIS and the Active Directory only work in conjunction with their corresponding other Microsoft components, the SQL server does not need to be a Microsoft SQL Server. Since we used Microsoft Outlook as client application, user interaction happens via E-Mail messages. We implemented business objects using Microsoft InfoPath, a form design software. These forms are attached to the E-Mails; They are stored in the Business Object Repository, another component of our architecture. The client application communicates with the scheduler via exchange of SOAP messages through the Task Service. The last component shown in Fig. 5 is the Mailbox Service, which tracks the InfoPath forms, parses them and passes the information on to the scheduler. IV. CONCLUSION The conclusions from this work are manifold: Firstly, one main conclusion is, that the concept of S- BPM to understand all business processes as realizations of multi-agent systems directly leads to easy to understand process models which directly can be executed in other words: coordination of work is done through the exchange of messages ; for elaborated S-BPM examples see e.g. [13]. Secondly, S-BPM offers a holistic approach to understand and study business processes; there are mainly three parties interested in the topic of business process management: business administration, communities in computer science, and software communities. It is evident from theory and praxis, that S-BPM offers a common understanding and a research framework for all these parties; a coherent method to organize work with a human centric approach based on communication, a strong mathematical foundation, and a strong foundation for robust and scalable software implementations for distributed business processes (i.e. process choreographies). In short, our S-BPM prototype implementation supplements unstructured with structured communication; we understand business processes as a framework to pre-define communication paths. We could demonstrate, that we can use the same communication tools to integrate both types of communication. In our case we simply used a standard e-mail client as human interaction interface for process communication. The presented prototype demonstrates in that way the underlying technical concepts for a S-BPM execution engine, but this also should lead to discussions about other technological solutions (e.g. execution of BPMN models).

REFERENCES [1] H. Smith, Business process management the third wave: business process modelling language (bpml) and its pi-calculus foundations, Information and Software Technology, vol. 45, no. 15, pp. 1065 1069, 2003. [2] H. Smith and P. Fingar. (2004) Workflow is just a Pi process. [Online]. Available: www.bptrends.com [3], Business Process Management: The Third Wave. Meghan-Kiffer Press, 2007. [4] F. Puhlmann and M. Weske, Using the Pi-Calculus for Formalizing Workflow Patterns, LNCS, vol. 3649, pp. 153 168, 2005. [5] F. Puhlmann, Why do we actually need the Pi-Calculus for Business Process Management? LNI, no. 85, pp. 77 89, 2006. [6] E. Börger, Approaches to modeling business processes: a critical analysis of BPMN, workflow patterns and YAWL, Software & Systems Modeling, 2011. [7] T. J. Olbrich, Why We Need to Re-think Current BPM Research Issues, in Subject-Oriented Business Process Management, ser. CCIS, A. Fleischmann, W. Schmidt, R. Singer, and D. Seese, Eds., vol. 138. Springer, 2011, pp. 209 215. [8] R. Singer and E. Zinser, Business Process Management - Do We Need a New Research Agenda? in Subject-Oriented Business Process Management, ser. CCIS, A. Fleischmann, W. Schmidt, R. Singer, and D. Seese, Eds., vol. 138. Springer, 2011, pp. 220 226. [9] J. L. C. Sanz, Enabling customer experience and front-office transformation through business process engineering. Vienna: IEEE Conference on Business Informatics, 2013. [10] B. Silver. (2012) Executable BPMN 2.0. [Online]. Available: http://brsilver.com/executable-bpmn-2-0/ [11], BPMN Method and Style, 2nd ed. Cody-Cassidy Press, 2011. [12] A. Fleischmann, W. Schmidt, C. Stary, S. Obermeier, and E. Börger, Subject-Oriented Business Process Management. Springer, 2012. [13] A. Fleischmann, S. Raß, and R. Singer, S-BPM Illustrated. Springer, 2013. [14] R. Milner, A Calculus of Communicating Systems, ser. LNCS. Springer, 1980, vol. 92. [15] A. Fleischmann, Distributed Systems: Software design and implementation. Springer, 1994. [16] S. Borgert, J. Steinmetz, and M. Mühlhäuser, epass-ios 1.1: Enabling Inter-enterprise Business Process Modeling by S-BPM and the Internet of Service Concept, in S-BPM ONE Learning by Doing - Doing by Learning, ser. CCIS, W. Schmidt, Ed., vol. 213. Springer, 2011, pp. 190 211. [17] R. Singer and M. Teller, Process algebra and the subject-oriented business process management approach, in S-BPM ONE - Education and Industrial Developments, ser. Communications in Computer and Information Science, S. Oppl and A. Fleischmann, Eds., vol. 284. Springer, 2012, pp. 135 150. [18] D. Chappell. (2009) The Workflow Way - Understanding Windows Workflow Foundation. http://www.davidchappell.com. [19] A. Barros, M. Dumas, and A. Hofstede, Service interaction patterns, in Business Process Management, ser. Lecture Notes in Computer Science, W. Aalst, B. Benatallah, F. Casati, and F. Curbera, Eds., vol. 3649. Springer, 2005, pp. 302 318. [20] S. Raß and R. Singer, Requirements for and Capabilities of Cloud Based BPMS, to be published, 2014. [21] N. Graef and N. Tölle, Evaluation, Mapping und quantitative Reduktion von Workflow Pattern (Control-Flow), 2009, University of Karlsruhe.