Automatic combination of (business) processes Institute of Applied Informatics and Formal Description Methods, University of Karlsruhe Workshop Semantic Help, Sixth International EGOV Conference 2007
Agenda Motivation Petri nets Ontology Petri net Ontology Composition Algorithm Example Summary & Future Prospects 2
Motivation Semantic Help emerge from: Support of the user by finding of the correct processes respectively parts of processes (proactive) support of the user by the combination of processes Semantic is necessary to find the appropriate processes 3
Petri nets Petri net were invented in 1962 by Carl Adam Petri A Petri net is one of several mathematical representations of discrete distributed systems As a modeling language, it graphically depicts the structure of a distributed system as a directed bipartite graph with annotations It can also be formally represented A Petri net consist of: place nodes transition nodes direct arcs (connecting places with 4
Ontology O = { C, H, R, rel, A } c o C is a set of concepts H c is a concept-hierarchy R is the set of relations rel describes the function A 0 is the set of axioms 5
Petri Net Ontology I Definition of Petri net elements as OWL concepts: C = {PetriNet, Place, Transition, FromPlace, ToPlace} Order of this concept in a taxonomy (hierachy): H C = {(PetriNet,Place),PetriNet,Transition), (PetriNet,FromPlace),(PetriNet, ToPlace)} Relations (properties): R = {, hasarc, hasmarking, placeref, transref} 6
Petri Net Ontology II Domain and the values range of the relations rel = {(PetriNet,Place), (PetriNet, Transition), hasarc(petrinet, FromPlace), hasarc(petrinet, ToPlace), hasmarking(place), placeref(transition, Place), transref(place, Transition)} Axiom A o = {(PetriNet 1.(Transition Place) ㄇ hasarc.(fromplace ToPlace) Transition PlaceRef.Place Place TransRef.Transition ㄇ = 1hasMarking FromPlace 1.Place ToPlace 1.Transition} 7
8 disjunkt placeref transref Place Transition hasvalue Value Attribute FromPlace Insert Delete ToPlace hasref hascondition hasoperation hasinscription hasinscription hasmarking haslogicalconcept hasarc hasarc IndividualDataItem Logical_Concept Operation function:xsd:string Condition forall:xsd:string exists:xsd:string and:xsd:string PetriNet SubClassOf disjunkt placeref transref Place Transition hasvalue Value Attribute FromPlace Insert Delete ToPlace hasref hascondition hasoperation hasinscription hasinscription hasmarking haslogicalconcept hasarc hasarc IndividualDataItem Logical_Concept Operation function:xsd:string Condition forall:xsd:string exists:xsd:string and:xsd:string PetriNet SubClassOf Petri Net Ontology III
Approach to combine Petri Net Ontologies 1. Import of the Ontology in a tool, which detects similarities 2. Finding of semantically corresponding elements 3. Combination of the Ontologies O 1 & O 2 O 3 checking of the consistency, coherence, redundancy of O 3 O 1 Importieren Ähnlichkeiten Finding similarities finden verschmelzen Combination der of the Ontologien Ontology O 3 O 2 9
Algorithm to combine Petri Net Ontologies I 1. Create the head of an Ontology 2. Conflict test 3. As long as instances of nodes are identically a. Joined instances of nodes b. Disjoined instances of nodes 4. The instances of attributes and the instances of values which are synonyms are getting joined together and get a common name 5. Create an Input-node in which the values from both Ontologies will be defined, also this attributes that do not occur in this site but their values are aligned with the object property hasref 10
Algorithm to combine Petri Net Ontologies II Concerning point 5: Relation of the attributes and values that should be merged a. All attributes and values are identically b. All attributes but not (all) values are identically c. All values are identically, but there exist one (or several) additional values d. Neither all values nor all attributes are identically 11
Algorithm to combine Petri Net Ontologies III 6. If a transition is to be joined, decide how the conditions should be joined together 7. Create new instances of node(s) from the merging instances of nodes of the Ontology 0 3 8. Copy the remaining nodes and their reference in the Ontology 0 3 9. Create an instance of the class PetriNet and associate the notes and the arcs hasarc 10. Check the consistency, coherence, redundancy of O 3 12
Example: 2 Petri nets Titel Title Speed Potter limit Deviation Bibel Bestand Stock 10 2 Eingabe Inpute Eingabe Input _prüfen _test Bestand_ Stock_ok ok B>0 S>0 <T, B S > <T, B S > Titel Title Speed Potter limit Deviation Bibel Road Illuminati works Bestand Stock 10 2 0 Titel Title Anfragen Request Käufer Lender Speed Potterlimit Deviation Bibel 3 1 Müller Meier Anfrage Request <T, R, A, K L > Anfrage Request _prüfen Anfrage Request _geprüft _proofed B-A>=0 <T, B S > <T, B, S, R, K, L A > List of Stock Titel Title Bestand Stock Titel Title Bestand Stock Käufer Lender Speed Potter limit 11 Speed Potter limit 11 Müller Deviation Bibel 4 Deviation Bibel 4 Meier 13
Example: Petri Net Ontology O 1` Eingabe Input Bestand_ Stock_ok ok Anfrage_prüfen Request_test hasmarking haslogicalconcept R_Eingabe R_Input Titel Title R_Bestand_ R_Stock_ok_ Bestand Stock Log_ ConRequest ConAnfrage ok _prüfen _test hascondition B>0 hasvalue Speed Potter limit 10 Deviation Bibel 2 Illuminati Road works hasref 0 hasmarking hasvalue hasref 14
Example: Petri Net Ontology O 2` Anfrage Request Bestandsliste ListofStock Request proof Request _test hasmarking haslogicalconcept R_Anfrage R_Request R_Bestandsliste R_ListofStock R_Request_proof Log_ConAnfrage Log_ConRequest _prüfen _proof hascondition Käufer Lender Anzahl Number Titel Title Bestand Stock B-A>=0 hasvalue Müller Speed Potter limit 3 4 hasref Meier Deviation Bibel 1 11 hasmarking hasvalue hasref 15
Example: Combined Petri net Titel Title Bestand Stock Speed Potter limit Deviation Bibel 21 6 Road Illuminati works 0 Titel Title Speed Potter limit Deviation Bibel Bestand Stock 21 6 Input Eingabe Eingabe Input _prüfen _test Bestand_ok Stock_ B>0 <T, B> BS > <T, B> S > Anfrage Request Anfrage Request _prüfen _test Anfrage Request _geprüft _proofed B-A>=0 <T, R, A, K> S > <T, B, S, L, K, R> A> Titel Title Anfragen Request Käufer Lender Titel Title Bestand Stock Käufer Lender Anfragen Request Speed Potter limit 3 Müller Speed Potter limit 21 Müller 3 Deviation Bibel 1 Meier Deviation Bibel 6 Meier 1 16
Example: Petri Net Ontology O 3` Anfrage Request Eingabe Input Bestand_ok Stock_ok Anfrage_geprüft Request_proofed Anfrage_prüfen Request_test Eingabe_prüfen Input_test hasmarking haslogicalconcept haslogicalconcept R_Anfrage R_Eingabe R_Input R_Bestand_ok R_Stock_ok R_Anfrage_geprüft R_Request_proofed LogConAnfrage LogConRequest _prüfen _test LogConEingabe LogConInput _prüfen _test hascondition Käufer Lender Anzahl Number Titel Title Bestand Stock B-A>=0 B>0 hasvalue Müller Speed Potter limit 3 21 Meier Deviation Bibel 1 6 Road Illuminati works 0 hasmarking hasvalue hasref 17
Summary and future prospects Summary: The procedure of the combination can be automated User interaction is necessary because a 100% match of the instances of the ontology is not present Further questions: Level of abstraction of the processes Change management Data protection 18
Contact Institut AIFB Universität Karlsruhe (TH) 76128 Karlsruhe Homepage: www.aifb.uni-karlsruhe.de/bik Stefanie Betz stefanie.betz@aifb.uni-karlsruhe.de Telefon: 0721 / 608 4553 19