Semantic Description of Distributed Business Processes Authors: S. Agarwal, S. Rudolph, A. Abecker Presenter: Veli Bicer FZI Forschungszentrum Informatik, Karlsruhe
Outline Motivation Formalism for Modeling Processes Exposing Processes as Services Discovery and Composition in Design Phase 2
Why consider Processes? Processes are an important part of the knowledge of an organization Without processes, an organization is dead Resources are hardly of any use without processes that operate on them In software, processes correspond to methods/ procedures, e.g. public void transfermoney(int amount, String account) { } Processes can not do anything useful without resources 3
(Business) Process Management Analysis Services Requirement s Requirement s Design consider exposed as use Executable Processes invoke Evaluation Execution Instance Data Scope of Presentation 4
Relationship between Services and (Business) Processes Organizations can not afford to perform each and every task on their own any more lack of know how inflexible staffing policy high infrastructure costs Organizations outsource some tasks to other organizations that specialize in them and concentrate only on tasks they specialize in Service oriented architecture roughly means Organizations expose their business processes to others as services Organizations use services of other organizations in their business processes 5
Outline Motivation Formalism for Modeling Processes Exposing Processes as Services Discovery and Composition in Design Phase 6
Requirements for a Formalism for Modeling Executable Processes Distributiveness Multiple autonomous actors Temporal structure Which activities happen in which order, in parallel or conditional? Access control policies: Who is allowed to perform which activities? Involved resources Which objects (information objects or real world objects) are involved (exchanged among the actors)? Credentials What are the quality attributes of a process? Formal semantics to enable automated verification, discovery and composition Considering no central control, fulfilling above requirements is not trivial 7
Formalism Sketch Semantic SPKI Certificates described by Credentials has has Business Process has Resources uses Dynamic Behavior described by OWL DL Ontology described by uses described by Pi Calculus Process 8
Pi Calculus One of the most widely known process algebras Developed mainly by Robin Milner (Turing Award 1991) Extension of Calculus of Communicating Systems (CCS) Pi Calculus offers two types of activities Local activities Activities performed locally by an actor, e.g. adding two numbers, performing an update in the database etc. Communication activities: Communication takes place via exchanging messages over some communication channel Communication channels can be treated as data enables modeling of flexible processes whose configurations can change at run time Activities can be performed sequentially, in parallel, conditional etc. 9
Pi Calculus Syntax and Semantics Input: x<v 1,, v n >.P Receive n objects along the channel x and bind them to variables v 1,, v n Then behave like P Output: x[y 1,, y n ].P Send n objects y 1,, y n along channel x Then behave like P Local: l(x 1,,x n ).P Perform local operation l with arguments x 1,,x n Then behave like P If Then Else: ω?p:q Check whether the condition ω holds If yes, then behave like P, else behave like Q Parallel: PkQ Perform P and Q in parallel Non Deterministic Choice: P+Q Perform either P or Q as selected by the user Agent invocation: A(x 1,,x n ) with A an agent identifier (named process expression) Invoke an agent identifier with parameters x 1,,x n Enables recursion, since the defining process expression of A can contain A Null: 0 This process does nothing used as termination 10
Modeling Functionality Sequence Behavior Input c<v 1,,v n >.P Output c[i 1,,i n ]. P Local l(u 1,,u n ).P IfThenElse ω(x 1, x n )?P:Q instance of instance of instance of Channel Type CT = (Protocol, Address, MT) Message Type MT = (p 1,,p n ) Local Operation Type L(x 1,,x n ) {+classmember(x 1,x 2 )} classmember(peter,person) Domain Ontology ω 1 (x,y) M ω n (x,y) Terminology Assertions Rules Concepts, Relations, Rule Heads, Predicate Symbols Predicates 11
Modeling Functionality Operational Semantics: Local Operations Composition Communication Non-Deterministic Choice Deterministic Choice 12
Access Control Access control is important in almost every business process to ensure Availability, e.g. a student must show his library card to be able to use the online library system; uncontrolled access may lead to Denial of Service attacks Confidentiality, e.g. a student has access to information relevant to his library account only Integrity, e.g. a student may not change or cause a change in the account of some other student Legal Correctness, e.g. an online video store must check age before lending certain videos Access control should not be identity based but credential based In open systems, like the Web, identities of the actors are not known or are not important Students of University of Berlin should be able to borrow books from the library of University of Karlsruhe, even if the latter does not have a database of all the students of the former Need for modeling credentials and credential based access control policies 13
Access Control SPKI: Simple Public Key Infrastructure Interactions among parties: 14
Modeling Credentials with Semantic SPKI Each actor (service) is identified by a public key An actor defines properties that it certifies E.g. fast response time, high availability etc. S K#A. S An actor issues name certificates (K, A, S) K is the key of the issuing actor; A is the property name K and A together (K#A) build a unique property name S is the subject (name or key) Certificate (K,A,S) has to be signed with the key K 15
Modeling Credential based Access Control Policies A trust policy P is either a key or a name If P is a key, only actor with key K=P satisfies P If P is a name, every actor with key K element of P satisfies P. P P Access control checks can be integrated as a condition in a process expression A special predicate CCD(P, C) checks whether the set of certificates C fulfills the policy P CCD is used as condition in IfThenElse process expressions (in place of ω) to integrate access control 16
Putting all together Business Process and Service Modeling Ontology
Outline Motivation Formalism for Modeling Executable Processes Exposing Processes as Services Discovery and Composition in Design Phase 18
From Internal Processes to Services Executable processes are internal to an organization Descriptions of such processes are not suitable for publishing as they contain implementation details providers may not wish to disclose or users are not interested in contain information about internal structure of the organization Parts of an executable process description need to be merged in order to achieve the required information hiding 19
From Internal Processes to Services Process merged to merged to Service 20
Outline Motivation Formalism for Modeling Executable Processes Exposing Processes as Services Discovery and Composition in Design Phase 21
Design Process Design = Process composition A software engineer clicks together (composes) a new process by considering processes in his organization services provided by other organizations that some parts may need to be implemented, e.g. if they are not covered by existing processes and services 2. Process Descriptions 1. Requirements 2. Query 3. Query Compose Discover Service Repository 5. Service Descriptions 4. Service Descriptions 22
Discovery Software Engineer 2. properties of the desired service Service Provider 4. Service descriptions that satisfy the constraints 3. Model Checking & DL Reasoning Service Repository 1. Service descriptions Automated discovery uses the formalism for checking the properties of desired services by a model checking algorithm 23
Some Existing Discovery Approaches The expressivity of discovery depends on the expressivity of service description and constraint specification OWL S Matchmaker Considers only types of input and output parameters and proposes subsumption based matchmaking WSMO Discovery Interprets a WS description W and a query G as sets and proposes different types of matches like G = W G W W G W G = 0 W G 0 KASWS Discovery Considers choreography, relations b/w inputs and outputs and non functional properties in a unified manner Yields conditions under which a service is a match 24
Composition Composition is about constructing a controlling process (choreographer), such that the whole process has the desired properties Desired properties S 1 S 1 Composer S 2 S 2 Automated composition uses the formalism for specifying the properties of desired services and a composition algorithm 25
Existing Composition Algorithms Existing approaches consider processes as black boxes with synchronous input/output consider only data types but no relations between inputs and outputs do not consider interaction behavior (choreography) do not consider non functional properties create sequential plans for centralized execution with backward chaining algorithm Real business scenarios require sophisticated composition algorithms developing such algorithms is still an open research problem 26
Summary Service oriented architectures are a promising paradigm for today s organizations Semantic management of distributed business processes and services is the key technology to realize SOA In order to achieve better efficiency, spontaneity and transparency, automated methods for discovery, and composition are required Formal languages for describing processes and services, and for specifying constraints on their properties build the basis for such methods 27
Thank you
Additional Slides
Contents Formalism for Modeling Executable Processes Exposing Processes as Services Execution of Processes Discovery and Composition in Design Phase 30
Execution Centralized One process has complete control Controlling process needs to act as mediator Only controlling process knows the whole business context Decentralized No controlling process Coordination load is distributed over all parties Involved parties know the business context partially BP 2 1 2 BP 1 1 BP 1 BP 2 3 3 4 2 BP 3 BP 3 31
Execution Manipulates resources Performs local operations Performs communication operations via the execution manager DB Process Execution Service Execution Execution Manager Initiates execution of the corresponding business process Creates new instances of services Communicates with other organizations via their execution managers Message Flow Message Flow Execution Manager Message Flow Execution Manager...... 32