Egov Innovation Center JBossjBPMProof-of-Concept BasedontheAVSUseCase HEIA-FR 24.05.2016 JBossjBPMProof-of-Concept Summary 1 Introduction.............................................................................................................................3 2 MultilevelOntologyConcept...................................................................................................4 2.1 WhatisanOntology......................................................................................................................4 2.2 Background....................................................................................................................................4 2.3 SemanticLayer..............................................................................................................................6 2.4 DesignandImplementation..........................................................................................................7 3 SpecializedAVSOntology.........................................................................................................8 3.1 BasicAVSProcessingWorkflow.....................................................................................................8 3.2 AVSOntologyModelling................................................................................................................9 3.2.1 3.2.2 3.2.3 Analysis..........................................................................................................................................................9 Detailsandchoices.......................................................................................................................................10 ValidationCheck...........................................................................................................................................10 4 DesignandPreliminaryDevelopments...................................................................................11 4.1 CreatingatriplestoredialectforHibernate.................................................................................11 4.2 Assignacustomfieldtoacustomtype.......................................................................................11 4.3 IncludingthecustomMarshallingStrategyinjBPM....................................................................12 4.4 EncapsulatedData........................................................................................................................12 4.5 FreemarkerTemplatelanguage...................................................................................................12 5 ImplementationofthejBPMadaptations..............................................................................13 5.1 ConceptandGenericUseCase....................................................................................................13 5.2 jBPMadaptation..........................................................................................................................14 5.3 MarshallingOntology..................................................................................................................15 5.4 Ontologydetails...........................................................................................................................15 5.4.1 5.4.2 5.4.3 5.4.4 Propertyru:hasRelation...............................................................................................................................15 Propertyru:hasSubject.................................................................................................................................15 Propertyru:hasPredicate..............................................................................................................................16 Propertyru:hasObject..................................................................................................................................16 6 Architecture...........................................................................................................................17 6.1 ProcessExchangePlatform..........................................................................................................17 6.2 BPMN2.0toBusinessProcessOntology.....................................................................................18 6.3 SocialNetworkCrawlers..............................................................................................................18 6.4 UserContextOntology................................................................................................................18 6.5 ContextInferenceEngine............................................................................................................18 6.6 UsercontextoptimizedBPM.......................................................................................................18 6.7 SemanticBPMEngine..................................................................................................................18 7 ValidationoftheProof-of-Concept........................................................................................19 7.1 TheAVSBPM...............................................................................................................................19 7.2 Designofthebusinessprocess....................................................................................................19 7.3 Creationoftherules....................................................................................................................21 7.4 FormExecution............................................................................................................................22 8 Conclusion.............................................................................................................................22 9 References.............................................................................................................................23 Page2on23 JBossjBPMProof-of-Concept JBossjBPMProof-of-Concept BasedontheAVSUseCase 1 Introduction ThisdocumentpresentstheimplementationofasemanticBPMruntimebasedontheexistingJBoss jBPM open source engine. To demonstrate its functioning, the prototype has been tested using a concrete example based on the Old-Age, Survivors insurance process (“demande de rente AVS” in French), is proposed. The preparation and configurations necessary for the implementation of the processwillalsobediscussedinthisdocument. Thisdocumentisstructuredasfollows: • Section2–MultilevelOntologyConceptrecallstheconceptofontologyandintroducesthe multi-lelveapproachwehaveusedinourwork. • Section 3 - Specialized AVS Ontology presents the practical case of the AVS used for the demonstrator.ThisisthecaseofapplicationofAVSapplication.Aversionofthisadministrative formisproposedasaflowchartanditsfullimplementationisintheBPMN2.0format. • Section4-ResearchandImplementationTaskspresentswhatwillbenecessarytomaketo adaptjbpmtomakeitcompatiblewiththesemanticsolutionproposedinthisdocument(See thedocument“VeilleTechnologieBPMN”). • Section5-ImplementationofthejBPMadaptationdescribestheworkdonetosupportthe executionofBPMNasRDFformat. • Section6–Architectureprovidesaglobalviewofallpreviouslypresentedmodulesthathave beenintegratedinordertorealizethedemonstrator. • Section7-ValidationoftheProof-of-Conceptpresentsthefinalresult.Thisresultisbasedon the architecture proposed above. The Proof-of-Concept is based on the case of AVS application. • Thedocumentendswithaconclusionwhichresumestheimprovementsandworkdoneto makepossibleforthejBPMplatformtoexecutesemanticBPMsbeyondtraditionalones. Page3on23 JBossjBPMProof-of-Concept 2 MultilevelOntologyConcept Current problems in Business Process Management consist of terminology mismatches and unstructuredandisolatedknowledgerepresentationintheprocessmodel.SemanticBusinessProcess ManagementaimsatovercomingmanyweaknessesofBusinessProcessManagementthroughtheuse ofexplicitsemanticdescriptionofprocessartifacts(Born,Förr,&Weben,2007). 2.1 WhatisanOntology Anontologyisadatarepresentationmodel.Thefollowingelementsaredefinedinanontology: • • • Classes(e.g.User,Person,etc.) Relationsbetweenclasses(e.g.hasLearningGoal)calledObjectProperties Relationsbetweenclassesandprimitivetypes(e.g.startDate)calledDataProperties. Figure1–Ontologyexample This is known as Subject-Object-Predicate as triplets User-hasPreferences-UserPreferences. This notationisknownasRDFS(ResourceDescriptionFrameworkSchema).TheOWLnotationaddsricher constructstoRDFSsemantics,whichallowforexampletomodelsymmetricandtransitiveproperties (e.g.ifAisanindividualoftheTeamclass,BbeinganindividualoftheTeamMembershipclassasAhasMember-B,thenB-inTeam-A). 2.2 Background Semantictechnologies,andparticularlythoserelatedtotheSemanticWebandOntology,areavery promisingapproachtocopewithopenissuesinBusinessProcessManagementandinparticularto improve automatic management and execution of business process. Despite this fact, semantic Page4on23 JBossjBPMProof-of-Concept businessprocessmanagementremainsstilllargelyunexploredandonlyfewworksareexploringhow semantictechnologiescanhelpaddressingopenissuesinBusinessProcessManagement.Amongthese works, one article (Cicortas & Iordan, 2010) presents the importance of specific features on an OntologyinModellingWorkflowManagementSystems.TheworkofBucchiaroneetal.(Bucchiarone, Marconi, Pistore, & Sirbu, 2011) proposes a framework supporting context-aware evolution of businessprocessesbasedonprocessinstanceexecutionandadaptationhistory.TheworkofLiuetal. (ZhanLiuetal.,2013)proposesatheoreticalframeworkforsemanticbusinessprocessmanagement fore-Governmentapplications. TheSemanticBusinessProcessManagementaimsatautomatizingtheBusinessProcessManagement life cycle with the use of semantics and Semantic Web services technologies. One of the most important elements of process description, namely organizational ontologies, consists in proposing thecreationofacontextontologymadeupoftwodistinctgroupsofontologies:DomainOntologies andOrganisationalOntologies(Filipowskaetal.,2009). Otherworks,suchas(Najar&Souveyet,2009),aremorefocusedonthesemanticrepresentationofa context model. The context-aware system uses context models in order to precisely define and formalize what a context is for a particular application (the notion of context and related relevant informationdiffersfromadomaintoanotheranddependsontheeffectiveuseofthisinformation (Najar&Souveyet,2009)).Onceagain,thecontextisdecomposedinseveralpartscalled“spheresof contextobservation”.Itispossibletoprovidewithanuppercontextontologythatcapturesgeneral conceptsaboutbasiccontext,andalsoprovidesextensibilityforaddingdomain-specificontologiesin ahierarchicalmanner(Wang,Zhang,Gu,&Pung,2004). Basedonthestateoftheartanalysispresentedabove,inourprojectwehavedesignedanddeveloped aContextOntologywhichrepresentsthe“context”oftheuserandthatitisusedtoinferimportant knowledgeduringtheexecutionofthebusinessprocess. Page5on23 JBossjBPMProof-of-Concept 2.3 SemanticLayer TheContextOntologyinoure-Governmentprojectiscomposedofseverallayersasproposedinthe literature.Moreprecisely,threelayersareused.Theideatouseone“upperontology”andtoextend ittoa“domain-specificontology”asproposedin(Wangetal.,2004)iskept.Thelastlayerproposed hereisaspecificextensionofthe“case-specificontology”(i.e.itisdependentofthespecificbusiness processtowhichtheContextOntologyisrelated). • • • Thefirstlayernamed“upperontology”containsbasicgenericinformationthatcanbereused (such as the concept of location, activity, person, etc.) in different business processes. This layer is composed of only one ontology. All classes present on this first ontology can have objectdatapropertiesbetweeneachother.Theobjectiveofthisontologyistoprovidebasic classelementsforthesub-ontologies. The second layer named “domain-specific ontology” is a generic extension of the “upper ontology”.Itprovidesnecessaryclasselementstoaddmoreprecisionforaspecificcontext. Thislayeriscomposedofseveralisolatedontologies(representedassilos).Itmeansthatone ontologyononesilocanberelatedtothe“upperontology”butcannothaverelationswith ontologypresentinanothersilo.Thisrestrictionallowssoftlycoupledontologiesandagreater reuseofthem.Eachsilocontainstheinformationforagivenconcept(suchastheconceptof office-domain,home-domain,etc.). Thethirdlayernamed“case-specificontology”couldbecomparedtoalogicalcontext.This layeriscomposedofonlyoneontology.Onthesecondlayer,silosareisolatedandcannot haverelationswithothersilos.Thisthirdontologyaimstoallowsilostocommunicate.This layerextendsthe“domain-specificontology”byaddingtheobjectpropertiesbetweeneach silo.Thisontologyisspecificallydesignatedforadefinedusecase. This separation into 3 distinct layers allows for flexibility, adaptability and reusability of each component. The first ontology contains the general and most reusable concepts. The second layer containsseveralontologies(onepersub-concept).Eachontologyistobeviewedasaseparatesilo. Thesesiloswillallowtoextendthefirstontologyforamorespecificcontextpart.Thethirdlayer,the “case-specificontology”,isanextensionofthe“upperontology”andanextensionofthe“domainspecificontology”.ItmeansthatthisthirdlayerwillbeattheendoftheontologyusedbytheBPMfor thecontextrepresentation.Thisfinalontologycontainsthelogicofrelationsbetweendifferentsilos. Thissemanticcontextarchitectureallowscreating,workingandreusingdatainmanydifferentuse cases.Theseparationinseveralontologiesmaximizesthereuseandoffersthepossibilitytoquickly andsimplycompleteanexistingcontext. Page6on23 JBossjBPMProof-of-Concept 2.4 DesignandImplementation ThispartpresentstheimplementationofourContextOntology.Aspresentedintheprevioussection theContextOntologyiscomposedofthreedifferentlayers.TheFigure2showsjustapartofthefull implementation. Figure2-Non-exhaustiveimplementationpartofcommonconceptspartofourContextOntology.ThisContextOntologyis composedofthe“upperontology”andofthe“domain-specificontology”toillustratetheconcept. Forthisimplementationexample,thefigureaboveiscomposedonlywiththe“UpperOntology”(first Context Ontology layer part) and the “Domain-Specific Ontology” (second Context Ontology layer part).The“UpperOntology”containsLocation,PersonandBuildingclasses.Inthissamelayer,top classescanbeextendedbyotherclasses.Itispossibletoaddsemanticrelationsaspropertiesbetween allclassespresentonthisfirstlayer. The“Domain-SpecificOntology”iscomposedofsiloswhereeachsilorepresentsaspecificdomain.In theabovefigure,theproposedsiloisabout“FamilyRelation”.Eachsilocancontainseveralclassesor subclasses.Itispossibletoaddsemanticrelationsasproperties.Thesesemanticrelationscanbelinked withotherclassespresentonthesamesilo(likethelinkbetweenFamilyandParent)withtheUpper Ontology(likethelinkbetweenFamilyandAddress). Thelastlayer,“case-specificontology”,notrepresentedontheabovefigure,isanextensionofthe twopreviouslayers.Itismainlycomposedofpropertiesrelationstoanswertoaspecificusecase(e.g. particularclasspersonfortheAVSapplication,withspecificdataandobjectproperties). Page7on23 JBossjBPMProof-of-Concept 3 SpecializedAVSOntology In the previous section we presented our implementation of multiple-level Context Ontology. To demonstratethefunctioningoftheglobalBPMsemanticexecutionwechosetomodelaspecificuse case:theAVSapplicationform.ThischapterdiscussesthespecificationsofDomain-SpecificOntology, whichisthelowestlayer,whichwillallowtorepresentinformationforthespecificcasestudy. 3.1 BasicAVSProcessingWorkflow TheworkflowpresentedinthediagraminFigure3below,istheAVSservice.Thecitizenstartswith submittinghisapplicationbycompletingaform.ThenthelocalAVSfundwillaccepttherequestand maycalculatethepension.Sincethecalculationofthepensionisnoteasilyautomated,thecreated processstopstheacceptanceorrefusaloftheapplication. Figure3–AVSProcessingWorkflow Page8on23 JBossjBPMProof-of-Concept 3.2 AVSOntologyModelling 3.2.1 Analysis ThePersonclassmustbethecentralelement.Thisisthemostimportantclassinthisontologybecause thepersonisresponsibleforbringingthecitizensrelateddata.Inthisclassarederivedfromothers: PersonneCelibataire, PersonneNonCelibataire, PersonneConcernee, insuredperson, PersonneCurateur,PersonneEmployeurandPersonneEnfant. PersonneConcernee is the class that contains information common to the applicant user and his partner,ifany,suchasthedifferentjobsthatapersoncouldhave.ThePersonneMarieeclassinherits from the class PersonneNonCelibataire. Only PersonneNonCelibataire can have former marriages / partnerships,whilePersonneCelibatairerepresentsacitizenthathasalwaysbeensingle. Finally, period consists of a start date and an optional end date (if the end is not yet arrived). PeriodeEmployeur, PeriodeEtat and PeriodeEtudes are periods which we have added respectively informationonemployer,statusandeducation. Notethatinthisrepresentationweseeonlytheclassesandpropertiesthatconnectthem(Classesand ObjectProperties).Classattributesthereforedonotappear(DataProperties). Figure4–SchemaofthecreatedAVSOntologyProcess Page9on23 JBossjBPMProof-of-Concept 3.2.2 Detailsandchoices Personclasscontainsdatathatmaybeunknownatthetimeofcreationoftheindividualwhoownsit. This does not cause problems for the following reason: If a Subject-Object-Predicate triplet has a cardinalityofexactly1,thenwecandeducethatifthistripletdoesnotexistforagivenindividualthen thatinformationisunknown. Sinceeverycitizenhasexactlyoneaddress,nationalityandgender,intheabsenceofthesedatawe cansaythattheyhavenotyetbeenenteredintothesystem.Ontheotherhand,forinstance,inthe caseofcuratorship,youmaybeconfused:doestheabsenceofhasCuratellerelationshipmeansthat thisinformationisunknownorthatthepersonhasnocuratorship. Anothersimpleroptionisthedisjointclasses.Indeed,asinglecitizencannotbemarried.Inthesame way, a married citizen cannot be unmarried. And of course the Person class and all the sisters are disjointclasses(apersoncannotbeaPeriod,etc.).Thesestatementdisjunctionsavoidtheintroduction of inconsistencies in the system. Finally, it was decided to remove the Boolean determining the presenceorabsenceofastring. 3.2.3 ValidationCheck Inthisontology,sometasksinvolvedthevalidationofinputdata.Validationensuresthat: • • • • Thestringinputs,suchasdateinformation,arecorrect(regularexpressionrepresentingadate intheformatdd/mm/yyyy).Althoughtherearespecificentryfieldsfordates,sometimes therewillbeentriesintablesthatcannotacceptthattext. Theinputcharacterstringcorrespondstooneoftheoptionsofalist,suchasthestatusofa child who can only be "own child" or "children collected" or "child of the partner" (regular expression). The insured IBAN numbers follow both the Swiss and international formats (regular expression). Thetelephonenumberande-mailaddressarevalid(byatooltoBonitaSoftcalledaValidator forphoneandemailaddress-buttherearealsoothertypesofValidators). Thedataareconsistent.Herearesomeexamples: • • • Anon-insuredsinglewillenterthedatefromwhichitisnolongersingle. Aninsuredwhoreportedbeingdomiciledabroadmustdeclareinadditionatleastoneperiod andplaceofresidency. Aninsuredcannotanticipateandpostponepaymentofrentatonce. Allthesevalidationsarenecessarytoensuredataconsistency. Page10on23 JBossjBPMProof-of-Concept 4 DesignandPreliminaryDevelopments As presented in the Technology Survey report (Veille Technologique : Outils du BPMN 2.0), JBoss platformhasbeenidentifiedasthemostsuitableBPMexecutionplatformtobeextendtoincludethe executionofsemanticbusinessprocess. Thissectionpresentsthepreliminaryworkthatwascarriedoutwiththeplatform. Asafirststep,aMavenprojectwascreated.Thegoalistointerceptactionsrelatedtotasks.Starting fromtheofficialsampleprojectrewards-basic6(exampleprojectinJBossjBPM),itwaschangedto loadtheformstoFTLsizeautomaticallygeneratedbyEclipse.InsteadofquestioningthejBPMAPI directlyfromthesampleproject,thequerieswereperformedonthecreatedproject. TheprojecthastoserveasaninterfacetothejBPMAPIasanadditionallayer. 4.1 CreatingatriplestoredialectforHibernate The jBPM Framework uses JPA for the persistence. It is implemented by Hibernate. Hibernate can operatewithseveraltypesofdatabases,usingadialectforeach.Thisisakindofapilot.Thedriveris thenabletocommunicatewithdifferentdatabasesystems. TheabilitytodesignacustomdialectfortriplestoresystemssuchasSesameOpenRDFwasstudied. The design of custom dialects is possible for relational databases. The solution of a non-relational systemwillbeimplementedaspartofthisproject. 4.2 Assignacustomfieldtoacustomtype Theideaistoencapsulateagivenvaluewithitsmeta-datainaEncapsulatedDatatypeobject,sowe mustsupportthedisplayofthisvalueandthefieldthatcancontains. Bydefault,theFormModelerdisplaysjBPMusesoneortheothertypeofstandardfieldtoallowthe managementofprimitivedatatypes.Whenusingcustomtypes,theFormModelerwillretrievethe attributesoftheobjectandcreateafieldforeachofthem. Inthiscase,wedonotwantthiskindofEncapsulatedDatatobebrokendownintoseveralattributes, andinmanyfields.Theideaistocreateaspecialcaseforthistypeofobjectanddisplayafield(the valueencapsulatedwithoutmeta-data) Theofficialdocumentationavailabledoesnotanswerthisquestion,butaccordingtothestudyofthe sourcesoftheFormModelerthatwedid,itappearsthattherearesomeformofmappingbetween datatypesandfieldsthatcandisplaythem(FieldHandlers). Page11on23 JBossjBPMProof-of-Concept 4.3 IncludingthecustomMarshallingStrategyinjBPM Implementingacustommarshallingstrategyispossibleandhasbeentested.Thisextensionmustbe registeredwiththejBPMenginetobetakenintoaccountandcanbeusedtosaveandretrieveour EncapsulatedDatatypeobjectsintriplestoredatabase. ThisprocedurewastestedusingtheunittestingsystemproposedbyjBPM.Itwaseasytorecordthe custompolicybymodifyingthejBPMengineenvironmentdirectlyfromtheunittestclass.However, forareleaseapplication,itisnecessarytoaddthemarshallingstrategy(JARformat)inthejbpm-install (orotherdependenciesdirectory)andensureitisloadedwhenusingthejBPMengine. Inversion6.0,itisnotpossibletosaveapolicydirectlyfromthejBPMconsole.Thecurrentsolution, istoloadaWorkItemHandlerthatcanbeeasilyrecorded.Thisisthebestsolutiontosaveamarshalling strategyfortheconsole,withoutchangingthesource.Inprinciple,sinceversion6.1,itispossibleto saveastrategy,bypassingaWorkItemHandler. 4.4 EncapsulatedData Bydefault,touseEncapsulatedDatatypeobjectsinaprocess,youmustimporttheclassanddefine theprocessvariablesassuch.However,tofacilitatethemodellingbyanormaluser,itwouldbebetter thathecanuseprimitivetypes.Forexample,ratherthanmodelaEncapsulatedDataaimingtocontain aString,itwouldbebetterthathecandirectlymodelaString.Aconversionmechanism(typecast)will thenbeimplemented. AprocessingmechanismwillbeincorporatedintofutureversionsofjBPM,certainlyfromversion6.1. Thiswillguaranteeacorrectmanagementofvariables.Thissystemisnotyetfullyimplementedandit is not possible to use the transformations without manually changing the source of the process diagram. 4.5 FreemarkerTemplatelanguage ThisisanautomaticgenerationeditorofUserTaskformsfortheBMPN2.0.Eclipseintegratesthisand createfilesinFTLformat(FTLlanguageusesspecifictagsinHTML,thesamewaythatJSP,forexample). FTLandJSPcanworktogether. Inthecaseoftheofficialreward,abasicexampleexists.Itwasmodifiedduringthetests. Page12on23 JBossjBPMProof-of-Concept 5 ImplementationofthejBPMadaptations ThejBPMFrameworkistheengineforthebusinessprocessmanagement.However,thedesignand runningofprocessesaremadethroughaworkbench.TheworkbenchisaJavawebapplicationknown asKIEworkbench. 5.1 ConceptandGenericUseCase Ourproposedsolutionseparatesthe design of the business process and the definition of the rules which allow to convert data forms into RDF triples. This separation allows to design the business processnormallywithoutthinkingofhowdatawillbetransformedinRDF.Firstly,abusinessprocess iscreatedwithjBPMworkbenchbyadesignerwhichdoesnotnecessarilyhaveknowledgeofsemantic web.Aftertheinitialmodelingofthebusinessprocess,adesigner,withknowledgeofsemanticweb, definesrulesexpressedinRDFbyusingdeterminedontologies. Therulestriplesdefinehowthedatacontainedinthebusinessprocesshavetobeexpressedusing semanticwebtechnologies.Thecommonattributeusedfortheconversionisthefieldnameofeach formwhichhastobeauniqueidentifierperbusinessprocess. AfterthedesignofaBPMN2.0businessprocessusingauniqueidentifierforfieldnamesandasetof rulesinRDFexpressedwithknownontologies,theprocesscanbelaunched.Anend-userfilldatain formsandultimatelydataareseamlesslystoredintoasemanticwebstore.Thensemanticwebdata containedinthestoreenginecanbequeriedthroughSPARQLlanguage.Thesetofrulesforaconcept areregroupedinaRDFfileusingNotation3fortriples. Page13on23 JBossjBPMProof-of-Concept 5.2 jBPMadaptation InordertoextendthedefaultbehaviorofjBPMandstoredatafromforms,itisnecessarytodefinea customfieldtype1.Thecustomtypeallowstoimplementcustombehaviorduringtheprocessingof thosefields.Indeed,duringsubmissionofaformthevalueswillbehandledbyacustomstrategywhich willimplementtheconversionoffieldsintoRDFtriplesaccordingtotherules.Foreachfieldofthe form,acorrespondingcustomobjectwillbecreated.Thecustomobjectwillsavethevalueofthefield andalltheRDFtriplescreatedafterapplyingtherules. TheprocessofloadingtherulesandcreatingRDFtriplesisdoneinthegetValue()methodwhichis presentintheinterfaceCustomFieldType.Thismethodiscalledwithvaluesoftheformandhasto returnanobjectrepresentingaspecificfield.Foreachfield,acustomobjectisreturned,andcontains allnecessaryinformationforthecreationofRDFtriples(ortriplesdirectly).Atsomepointafterwards, jBPMwillrequestthefieldstobepersistedandourcustommarshallingstrategywillpersistourcustom objectandpushthecorrespondingtriplestoaRDFendpoint. Thus,inordertobehandledbyourcustompersistence,eachfieldhastobecreatedasacustomfield duringthedesignofthebusinessprocess.Figure5isasequencediagramrepresentingthedifferent partsofoursolutionandtheirplacementduringauserinteraction. Figure5-SequenceDiagramofourImplementation 1 https://docs.jboss.org/jbpm/v6.0/userguide/chap-formmodeler.html Page14on23 JBossjBPMProof-of-Concept 5.3 MarshallingOntology Ontologywasdeducedduringtheimplementationofthefirstusecaseandisthusverysimple.Figure 6presentstheontologywhichallowstoexpressrulestotransformdatafieldintoRDFtriples. Figure6-MarshalingOntologySchema 5.4 Ontologydetails Followingprefixesarevalidforthefollowingdocumentation: • @prefixfd:<http://eia-fr.ch/jbpm/fields/>,regroupsallfieldsresources. • @prefixru:<http://eia-fr.ch/jbpm/rules/>,istheURIoftheontology. • @prefixrl:<http://eia-fr.ch/jbpm/relations/>,regroupsalltherelations. TheprefixfdidentifiesfieldssubjectbythefieldidentifierasdefinedinthejBPMmodelingphase.The prefix ru is used for the ontology described hereafter. Finally, the prefix rl identifies the relations betweenresources.Theontologytowriterulesisverysimpleandconsistsoffourpredicatesdescribed onnextchapters. 5.4.1 Propertyru:hasRelation Definesanamedrelationbetweentwodifferentsubjects.Arelationisdeterminedforasubjectand hastodefineru:hasObjectandru:hasPredicate. Example: fd:personA ru:hasRelation rl:partner . rl:partner ru:hasObject fd:personB .Subj rl:partner ru:hasPredicate "hasPartner" . Thislinksthesubjectsfd:personAandfd:personBwiththerelationrl:partnerwhichhasforpredicate “hasPartner”. 5.4.2 Propertyru:hasSubject Definesthesubjectfieldforafield. Example: fd:firstname ru:hasSubject fd:identity_number . Page15on23 JBossjBPMProof-of-Concept Thislinksthefieldfirstnamewiththeidentificationofaperson. 5.4.3 Propertyru:hasPredicate Definethepredicateforafield. Example: fd:firstname ru:hasPredicate "hasFirstname" . Thisindicatestousethepredicate“hasFirstname”toexpressdatacontainedinfd:firstnamefield. 5.4.4 Propertyru:hasObject Definestheobjectofarelation(whichhastobeanotherfield). Example: See ru:hasRelation. Thisontologyallowstoexpressruleswhichdefineshowformdataofabusinessprocessmatchinto semanticweb.Thoserulescanuseexistingontologiestomapfield'sdatatotriples. Page16on23 JBossjBPMProof-of-Concept 6 Architecture TheimagebelowshowstheglobalarchitectureofoursemanticBPMprototype.Businessprocesses describedrespectingtheBPMN2.0standardarestoredonthe“plateformed’échangedeprocessus”. Thesebusinessprocessescanbetranslatedintotheirsemanticrepresentation(SemanticBPM)using theBPMN2.0toBusinessOntologytranslator.Whentheuserasksforaservice,thecorresponding semanticBPMisretrieved.AtthesametimetheuserContextOntologyisfilledinusingdatacoming fromthedifferentsocialnetworks(theuserhastoenabletheautomaticretrievalofinformationfrom socialnetworks)whichareconvertedinRDFformatandstored.TheContextInferenceEngineuses thedataintheContextOntologyandtheSemanticBPMtoinferrelevantinformationtopersonalize the SemanticBPM (i.e. to instantiate only the parts of the general business process that useful/meaningful for the user). This personalization is done using pre-established rules. This personalized business process will then be executed and displayed to the user via the JBoss jBPM. Duringtheexecutionofthepersonalizedbusinessprocess,thedataoftheContextOntologyarealso usedtoautomaticallyfillin,asmuchaspossible,theforms.Additionalinformationthatisrequired, andthatisnotavailableintheContextOntology,itisfilledinbytheuser.Thisinformationwillbe recorded in a semantic database according to specific conversion rules (rules are defined using a semanticnotation). BPMexchangeplatform B A C BPMN2.0to BusinessProcess Ontology (SemanticBPM) D BPMN2.0 E F SocialNetwork Crawlers A C D E Context Inference Engine Context User UsercontextoptimizedBPM Semantic BPMEngine UserContext Ontology Figure7-GlobalArchitectureSchema Severalmodulesarerequiredfortheimplementationofthissystem,whicharedescribedinthenext followingpoints. 6.1 ProcessExchangePlatform The goal of the Process Exchange Platform is to provide a platform that facilitate good practices exchangebetweendifferentpublicadministration.Thankstotheplatform,everyadministrationcan share with the others its specific processes by making them available through the platform. For example,anadministrationAcouldrealizeaspecificBPMcontainingthenecessarystepstorequesta buildingpermit.TheadministrationBthatwishestodothesameprocesscouldretrievetheprocesses already modeled and stored on the platform. The administration B can, if necessary, adapt the retrievedbusinessprocessdescriptiontoitsspecificities.TheBPMformatstoreonthisplatformisthe BPMN2.0.ThisisthestandardexchangeformatandcompatiblewithexistingBPMsoftware. Page17on23 JBossjBPMProof-of-Concept 6.2 BPMN2.0toBusinessProcessOntology The added value of the project consists in enriching traditional BPM models with semantic technologies.ToconvertastandardBPMmodelinasemanticone,anXSLTscriptwasdeveloped.This scriptconvertstheBPMN2.0format(XML)totheRDFformat.ThisnewBPMmodelwillhaveexactly thesameinformationascontainedinastandardBPMN2.0,butthistimeinRDFformat.Theadvantage ofthistransformationisthatisnowpossibletouseaBPMwiththebenefitsofsemanticstechnologies (structuring,inferences,etc.). 6.3 SocialNetworkCrawlers Astheadministrativeprocessesandformstakeintoaccountthespecificitiesofeachpersonandfor everyrequest,theyareoftencomplex.Toassisttheuserwhenfillinganewform,thesystemoffers thepossibilitytodefinea"user-context"usingtheinformationavailableontheInternet.This“usercontext”willassisttheuserbypre-enteringdataorbymakingautomaticdecisionofBPMchoices. Informationcomesfromsocialnetworks(throughAPIsprovidedbyFacebook,Twitter,Foursquareand LinkedIn).Itispossibletoextendthiscontextontologyusingothersources. 6.4 UserContextOntology ThisisaparticularontologyusedtostructureandrecordtheinformationextractedfromtheSocial NetworkCrawlersmodule.Tomakeitmoreflexible,itwasdecidedtosetupamulti-levelontology. Thisallowsforacasetoreusepartofthegenericconceptsalreadycontainedinit(forexample,the basic information related to a person: name and surname). The instances of this ontology will thereforeberecordedinatriplestore. 6.5 ContextInferenceEngine ThispartusesasinputthefullBPMconvertedtoRDFandthecontextoftheuser.Thesystemisusing inferences(semanticrulesbetweenthecontextandtheselectedBPM)andgeneratesanewBPM.This newBPMiscustomizedandoptimizedforthespecificuser. 6.6 UsercontextoptimizedBPM This is the result obtained by the context engine. This is a new BPM adapted and optimized for a particularusercontext.ThisistheBPMthatisexecutedwhentheuserasksforaservicebyfillingina specificadministrativeform.Thechangesbetweentheuseofnon-optimizedBPMandthecomplete BPMcanbesignificant.TheobjectiveistosimplifytheBPM.Severalpartsoftheformwillbeskipped andonlytheformsneededbytheuserwillbeshowntohim. 6.7 SemanticBPMEngine ThelaststepistheexecutionoftheBPMoptimizedfortheuser.Thishasbeendonebyextendingthe jBPMplatformtomakeitabletoexecuteourpersonalizedBPM.ThedataproducedbytheBPMwill alsoberecordedinRDFformatandstoredinatriplestore. Page18on23 JBossjBPMProof-of-Concept 7 ValidationoftheProof-of-Concept This chapter presents a real use case. The different phases of the realization of the use case are explainedandvalidatetheconceptspresentedinpreviouschapters. ThevalidationisbasedontheAVSbusinessprocess. 7.1 TheAVSBPM Thefigure9presentsthegraphicalviewofthefinalAVSbusinessprocess.Theprocessismadeoftasks whichguidetheuserthroughtheprocess.Ateachstephehastofillaformwithdata.Somedatainput isusedforselectingtherightbranchoftheprocess,accordingtothebusinesslogic.Forexample,the relationshipstatusisusedforbranchingandgathermoreinformationaboutapartnerincaseofan existingrelationship.Allthedatafilledbytheuserwillbestoredinthesemanticwebback-end.The userwillnotbeawarenorhastocareaboutthetransformationintoRDFtriples. Infigure8eachtaskisausertask,whichmeansthataformisgeneratedandtheuserwillenterdata foreachofthem.Forexample,inIdentitytasktheuserhastoinputseveralbasicinformationabout himself.Theprocesscontainsseveralbranchings,whicharethedifferentpossiblepathsfollowedby theuseraccordingtopreviousentereddata.Forexample,duringIdentitytasktheuserwillenterhis relationshipstatus,i.e.whetherheissingleornot.Thisinformationisusedinseveralbranchingsin ordertohandlethetwodifferentcases.Themajorityofthebranchesareyes/nodecisionbasedona questionansweredbytheuser.Aftertheuserwentthroughallthetaskstheprocessends(redbullet). 7.2 Designofthebusinessprocess The business process is built with the KIE workbench which is shipped with jBPM. The workbench allows to create the full business process and generate forms for user tasks. The designer of the businessprocessdoesnotneedtohaveextendedknowledgeofhowthedatawillbeconvertedinto RDFtriplesandthuscanusetheworkbenchnormally. However, he has to apply the following principles in accordance with the designer of the rules of conversion: • • • UseofcustomfieldsforallfieldswhichwillbeconvertedintoRDFtriples Specifyaparameterforthecustomfieldwhichidentifythesetofrules Useauniquenameforeachfieldtobeconvertedthroughouttheprocess Figure 8 illustrates the design of a user task form which apply those principles. The field name “identity_avs”isuniquefortheAVSprocessandwillbeusedtowriterulesofconversionforRDF. Figure8-DesignofaformapplyingprinciplesforRDFconversion Page19on23 JBossjBPMProof-of-Concept Figure9-BPMAVS Page20on23 JBossjBPMProof-of-Concept 7.3 Creationoftherules Asetofrulesiscreatedcorrespondingtothisbusinessprocessandisstoredinafile“AVS_rules.rdf”. Therulesdefineforeachfieldasubjectandpredicate.Forexample,attheidentitytaskanAVSnumber isrequestby“identitiy_avs”fieldwhichidentifiesaperson.InRDF,thefollowingrulesarestated: fd:identity_avs ru:hasPredicate "hasAVSNumber" . fd:identity_avs ru:hasSubject fd:identity_avs . Accordingtothoserules,ifauserentersavalue“1133”inside“identity_avs”field,thefollowingRDF triplewillbecreated: <http://eiafr.ch/1133> <http://eiafr.ch/hasAVSNumber> "1133" Thefirstnameofapersonisenteredisthefield“identity_firstname”andcanbelinkedtothecorrect personwiththefollowingstatements: fd:identity_firstname ru:hasPredicate "hasFirstname" . fd:identity_firstname ru:hasSubject fd:identity_avs . Accordingtothoserules,ifauserentersthevalue“Jon”inthefield“identity_firstname”,theresulting tripleis: <http://eiafr.ch/1133> <http://eiafr.ch/hasFirstname> "Jon" Forthisbusinessprocesstworelationsaredeclared:partnerandparent.Partneridentifiestwopersons which are in marital relationship. Parent identifies a child-parent relation between a child and his parents.Thosetworulesaredefinedasfollows: fd:partner_avs ru:hasRelation rl:partner . rl:partner ru:hasObject fd:identity_avs . rl:partner ru:hasPredicate "hasPartner" . fd:child_avs ru:hasRelation rl:parent . rl:parent ru:hasObject fd:identity_avs . rl:parent ru:hasPredicate "hasParent" . “fd:partner_avs” is the field which contains the AVS number of a partner and “fd:identity_avs” containstheAVSnumberofthepersonfillingthebusinessprocess.Followingtriplesareexamplesof theresultofthistworules: <http://eiafr.ch/888> <http://eiafr.ch/hasPartner> <http://eiafr.ch/1133> <http://eiafr.ch/555> <http://eiafr.ch/hasParent> <http://eiafr.ch/1133> Page21on23 JBossjBPMProof-of-Concept 7.4 FormExecution TheFigure10presentsthefullformoftheidentitytaskoftheAVSbusinessprocess. Figure10-Theformoftheidentitytaskfilledwithexamplevalues Thetriplesgeneratedfromtheformfilledinthefigure10arethefollowing: <http://eiafr.ch/1133> <http://eiafr.ch/hasAVSNumber> "1133" <http://eiafr.ch/1133> <http://eiafr.ch/hasBirthdate> "23.01.74" <http://eiafr.ch/1133> <http://eiafr.ch/hasGender> "M" <http://eiafr.ch/1133> <http://eiafr.ch/hasFirstname> "Jon" <http://eiafr.ch/1133> <http://eiafr.ch/hasLastname> "Malkovich" <http://eiafr.ch/1133> <http://eiafr.ch/isInRelationship>"true" TriplesarestoredintheRDFstoreassoonastheformissubmittedbytheuser. AvideothatshowsthefunctioningoftheprototypeisavailableonthewebsiteoftheeGovInnovation Center(http://egovinnovation.ch/projet-egov-hes-so/). 8 Conclusion ThisdocumentpresentstheworkdonetodevelopasemanticBPMengine.Thedevelopedprototype isbasedonjBPM-JBossplatformwhichisanopensourcesoftwareforeditingandexecutingbusiness processdescribedwiththestandardBPMN2.0.Ourprototypeextendstheplatformtomakeitpossible toexecutebusinessprocessmodeledusingasemanticdescriptioncompatiblewithBPMN2.0.The developedprototypehasbeentestedwiththe“AVSprocess”usecase. Page22on23 JBossjBPMProof-of-Concept 9 References Born,M.,Förr,F.,&Weben,I.(2007).User-friendlySemanticAnnotationinBusinessProcessModeling. WebInformationSystemsEngineering. Bucchiarone,A.,Marconi,A.,Pistore,M.,&Sirbu,A.(2011).AContext-AwareFrameworkforBusiness Processes Evolution. 2011 IEEE 15th International Enterprise Distributed Object Computing ConferenceWorkshops,146–154.doi:10.1109/EDOCW.2011.47 Cicortas, a., & Iordan, V. (2010). Considerations on the roles and ontology in modeling workflow management systems. 2010 International Joint Conference on Computational Cybernetics and TechnicalInformatics,613–618.doi:10.1109/ICCCYB.2010.5491339 Filipowska, A., Kaczmarek, M., Kowalkiewicz, M., Markovic, I., & Zhou, X. (2009). Organizational ontologiestosupportsemanticbusinessprocessmanagement.Proceedingsofthe4thInternational Workshop on Semantic Business Process Management - SBPM ’09, 35–42. doi:10.1145/1944968.1944975 ZhanLiu,AnneLeCalvé,FabianCretton,FlorianEvéquozandElenaMugellini(2013)Aframeworkfor semantic business process management in e-government. Proceedings of the IADIS International ConferenceWWW/INTERNET. Ko,R.K.L.,Lee,S.S.G.,&Lee,E.W.(2009).Businessprocessmanagement(BPM)standards:asurvey. BusinessProcessManagementJournal(Vol.15,pp.744–791).doi:10.1108/14637150910987937 Kokinov,B.(1999).DynamicsandAutomaticityofContext:ACognitiveModelingApproach.Modeling andUsingContext. Najar, S., & Souveyet, C. (2009). Semantic Representation of Context Models : A Framework for analyzingandunderstanding. Wang,X.H.(n.d.).AnOntology-basedContextModelinIntelligentEnvironments. Wang,X.H.,Zhang,D.Q.,Gu,T.,&Pung,H.K.(2004).OntologyBasedContextModelingandReasoning usingOWLSchoolofComputing,NationalUniversityofSingapore,Singapore1192603.CONON :The ContextOntology. Page23on23
© Copyright 2026 Paperzz