JBoss jBPM Proof-of-Concept Based on the AVS Use Case

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