Ontology-based Description and Discovery of Business Processes

1,224 views

Published on

See also:
http://dbgroup.como.polimi.it/brambilla/node/45

Just like web services, business processes can be stored in public repositories to be shared and used by third parties, e.g., as building blocks for constructing new business processes. The success of such a paradigm depends partly on the availability of effective search tools to locate business processes that are relevant to the user purposes. A handful of researchers have investigated the problem of business process discovery using as input syntactical and structural information that describes business processes. In this work, we explore an additional source of information encoded in the form of annotations that semantically describe business processes. Specifically, we show how business processes can be semantically described using the so called abstract business processes. These are designated by concepts from an ontology which additionally captures their relationships. We show how this ontology can be built in an automatic fashion from a collection of (concrete) business processes, and we illustrate how it can be refined by domain experts and used in the discovery of business processes, with the purpose of reuse and increase in design productivity.

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,224
On SlideShare
0
From Embeds
0
Number of Embeds
15
Actions
Shares
0
Downloads
29
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • - introduzione 5-10% - motivazioni 10% - definizione chiara del problema / challenge da affrontare 10% - related work 10% - approccio della tesi 40% - sommario dei risultati conseguiti con chiara menzione del valore-originalità 10-20% - sviluppi futuri 5-10%
  • - introduzione 5-10% - motivazioni 10% - definizione chiara del problema / challenge da affrontare 10% - related work 10% - approccio della tesi 40% - sommario dei risultati conseguiti con chiara menzione del valore-originalità 10-20% - sviluppi futuri 5-10%
  • Ontology-based Description and Discovery of Business Processes

    1. 1. Ontology-based Description and Discovery of Business Processes Khalid Belhajjame, Marco Brambilla University of Manchester, UK. Politecnico di Milano, Italy Contact: [email_address]
    2. 2. Agenda <ul><ul><li>Intro and motivation </li></ul></ul><ul><ul><li>Objectives </li></ul></ul><ul><ul><li>Related works </li></ul></ul><ul><ul><li>Some definitions </li></ul></ul><ul><ul><li>BP description </li></ul></ul><ul><ul><li>BP discovery </li></ul></ul><ul><ul><li>Implementation notes </li></ul></ul><ul><ul><li>Conclusions </li></ul></ul>
    3. 3. Introduction <ul><ul><li>Increased acceptance of BP as founding abstraction of enterprise behavior </li></ul></ul><ul><ul><li>Large amount of BP descriptions in large organizations </li></ul></ul><ul><ul><li>Need of effective and efficient ways for retrieving, managing, and reusing BPs concepts </li></ul></ul><ul><ul><li>However: lack of effective retrieval (wrt precision, recall) </li></ul></ul><ul><ul><ul><li>Few results returned </li></ul></ul></ul><ul><ul><ul><li>Not really what is needed </li></ul></ul></ul>
    4. 4. Objectives <ul><ul><li>a workflow is not a complete description of a business processes (BP) </li></ul></ul><ul><ul><li>Semantic description can add value both intrinsically and for BP discovery/usage </li></ul></ul><ul><li>Goals </li></ul><ul><ul><li>Exploiting relationships between business processes: dependencies between BP can be explicitly described in the ontology for increasing the recall of discovery queries. </li></ul></ul><ul><ul><li>Abstracting discovery queries: The user is able to formulate his/her queries in terms of the tasks (semantics) fulfilled by the desired business processes. </li></ul></ul><ul><ul><li>Increasing recall of discovery </li></ul></ul>
    5. 5. Related and background works <ul><li>Foundations </li></ul><ul><ul><li>BP inheritance [van der Aalst et al., 2002] </li></ul></ul><ul><ul><li>Semantics of business processes and similarity [van Glabbeek, 2001] </li></ul></ul><ul><li>Existing BP discovery approaches </li></ul><ul><ul><li>Query mechanism on the process structure and topology only: BP-QL [Beeri et al., 2006], process variants [Lu and Sadiq, 2006], service matchmaking [Corrales et al., 2006] </li></ul></ul><ul><ul><li>Exploiting activity similarity [Goderis et al., 2006], flexible BP queries [Markovic et al., 2008] </li></ul></ul><ul><ul><li>iSPARQL-based semantic process inter-organization matching [Kiefer et al., 2007] </li></ul></ul><ul><ul><li>OWL-WS [Beco el al., 2005] for grid architectures, no relations between BPs </li></ul></ul><ul><ul><li>inexact matching approach based on SQL-like queries on ontology repositories [Zhuge et al., 2002], but: ontology cannot be automatically built and does not include explicit relationships. Only exploits distances </li></ul></ul>
    6. 6. Business Process <ul><li>Business Process := <nameBP, A, CF> where: </li></ul><ul><ul><li>nameBP is the name identifying the business process. </li></ul></ul><ul><ul><li>A is the set of activities composing BP. An activity a is <nameA, roleA> </li></ul></ul><ul><ul><li>CF is (A x OP) U (OP x A) is the controlflow </li></ul></ul><ul><li>An abstract business process (ABP) is a representative of a class of equivalent business processes, sharing the same set of activities and flow structure. </li></ul><ul><li>An ABP can be implemented by several concrete business processes. </li></ul><ul><li>ABP activities are generic task descriptions, associated with semantic labels about the capabilities and the data to be consumed and produced </li></ul>
    7. 7. Task ontology <ul><li>The task ontology captures information about the action carried out by the activities within a domain of interest </li></ul><ul><ul><li>A concept for every task </li></ul></ul><ul><ul><li>E.g., in the ecommerce domain it may include quotation request, order confirmation, and credit card payment. </li></ul></ul>
    8. 8. Task mappings <ul><li>Mapping between ABPs : two classes of functions </li></ul><ul><ul><li>MapEquiv: to map the tasks of a given ABP to the tasks of another ABP that perform the same or equivalent tasks. </li></ul></ul><ul><ul><li>MapSpec: to map the tasks of a given ABP to the tasks of another ABP that perform equivalent or more specific tasks </li></ul></ul>
    9. 9. Process ontology <ul><li>The business process ontology (BPO) comprises concepts designating ABPs. </li></ul><ul><li>Given a concept c from business process ontology, a function getABP : BPO  ABP retrieves the abstract business process designated by c. </li></ul><ul><li>The concepts in the ontology BPO are related using binary properties that encode relationships between ABPs. </li></ul><ul><li>Currently, four binary properties to encode process relationships: equivalence, specialisation, overlap, and partOf . </li></ul>
    10. 10. Process relations <ul><ul><li>EQUIVALENCE: iff the respective constituent tasks are equivalent tasks and are connected using the same control flow. </li></ul></ul><ul><ul><li>SPECIALIZATION: iff the tasks of ABP1 are equivalent to or more specific than the tasks of ABP2, and that they have the same control flow. </li></ul></ul><ul><ul><li>PART-OF: ABP1 is part-of ABP2 iff there exists an ABP3 that is equivalent to ABP1 and that is sub-process of ABP2. </li></ul></ul><ul><ul><li>OVERLAP: Two concepts c1 and c2 overlap iff their respective ABPs have one or more tasks in common. </li></ul></ul>
    11. 11. Building the ontology <ul><li>The BPO ontology needs to be built! </li></ul><ul><ul><li>defineConcept: ABP  BPO </li></ul></ul><ul><ul><li>defineProperty: PROPERTY x BPO x BPO  Boolean </li></ul></ul><ul><ul><li>addInstance: BP x OBP  Boolean </li></ul></ul>
    12. 12. Todo list: Algorithm GenerateOntology <ul><li>input BPO, BP </li></ul><ul><li>output BPO’ </li></ul><ul><li>begin </li></ul><ul><li>for each bp in BP do </li></ul><ul><li>abp = abstract(bp) </li></ul><ul><li>if (exists c in BP , abp = getAbstractBP(c)) </li></ul><ul><li>then </li></ul><ul><li>addInstance(bp,c) </li></ul><ul><li>else </li></ul><ul><li>c := defineConcept(abp) </li></ul><ul><li>addInstance(bp,c) </li></ul><ul><li>deriveAndAssertProperties(c) </li></ul><ul><li>end </li></ul>
    13. 13. BP query and discovery <ul><li>A discovery query is an ABP designed by the user by selecting concepts from the task ontology and connecting them using a control flow graph. </li></ul><ul><li>We distinguish the following cases for discovering the business processes that implement the specified ABP: </li></ul><ul><li>A concept is equivalent to the ABP specified by the user. Result: instances(ABP) </li></ul><ul><li>No concept in the business process ontology that is equivalent to the ABP specified by the user. Result: subconcepts(ABP) </li></ul><ul><li>The business process ontology may not contain any concept that is equivalent or subconcept of the ABP specied by the user. Then: attempt to create business processes that match the user request by aggregating other business processes </li></ul>
    14. 14. Building aggregated BP as tentative responses <ul><li>The set of concepts ABP’ in the business process ontology designating abstract business processes that are part of the query ABP are retrieved. </li></ul><ul><li>Subsets ABP’’ are extracted for which the union of tasks is a set that contains all the tasks required for building the query ABP. </li></ul><ul><li>A new ABP (abp’’) is defined as composition of the ABP’’ elements, using the respective controlflow primitives. </li></ul><ul><li>The result is defined as all the BPs that are obtained by substituting the abstract business processes abp’’ with their instances </li></ul>
    15. 15. Discovery by example <ul><li>A concrete BP is given instead of an ABP. </li></ul><ul><li> Same technique, preceded by: </li></ul><ul><li>Building an abstract business process that corresponds to the business process specified by the user </li></ul>
    16. 16. Implementation notes <ul><ul><li>As an ontology language, we use OWL. As starting point, we took the myGrid Ontology, (branch named task ) </li></ul></ul><ul><ul><li>Protégé was used to browse the ontology using a GUI </li></ul></ul><ul><ul><li>Java-based implementation </li></ul></ul><ul><ul><li>The reasoner Pellet was used for semantic reasoning </li></ul></ul><ul><ul><li>To query and browse the ontology programatically, we made use of OWLAPI (owlapi.sourceforge.net) </li></ul></ul>
    17. 17. Conclusions and future work <ul><ul><li>Basic ontology-based framework for classifying and retrieving business processes </li></ul></ul><ul><ul><li>Exploitation of power of semantic descriptions of: Tasks, Business processes, Relations between processes </li></ul></ul><ul><li>Ongoing and future work : </li></ul><ul><ul><li>Definition of more sophisticate relationships between BP and between tasks </li></ul></ul><ul><ul><li>Refinement of BP composition technique (parameters, ...) </li></ul></ul><ul><ul><li>Validation on industrial repositories (finance) </li></ul></ul><ul><ul><li>Exploitation of control flow topology </li></ul></ul><ul><ul><li>Solid implementation with effective user interface for: </li></ul></ul><ul><ul><ul><li>Task and BP ontology editing </li></ul></ul></ul><ul><ul><ul><li>Query submission </li></ul></ul></ul><ul><ul><ul><li>Result presentation </li></ul></ul></ul>
    18. 18. Thanks Khalid Belhajjame, Marco Brambilla University of Manchester, UK. Politecnico di Milano, Italy Contact: [email_address]
    19. 19. A (very) small example

    ×