410 likes | 522 Views
Proposal on MFI-5: Process model registration based on ontology (MFI4Process). He Keqing Wang Chong 2006/08/29. Content. Background ISO Process Specification Language W3C OWL-S MFI4Process & other standards Overall design of MFI4Process Future work. Why we need MFI4Process (1/2).
E N D
Proposal on MFI-5: Process model registration based on ontology (MFI4Process) He Keqing Wang Chong 2006/08/29
Content • Background • ISO Process Specification Language • W3C OWL-S • MFI4Process & other standards • Overall design of MFI4Process • Future work
Why we need MFI4Process (1/2) • Process model • Modeling processes • A process is one or more activities that occurs over a period of time in which objects participate.* • Dynamic features • Data flow • State changing • …… • Ontology: a knowledge representation mechanism for semantics. • Semantic annotation • Constraints • Process model registration based on ontology • Effective discovery and sharing • Process model management within or across enterprises and domains * from “ISO 18629: A standardized language for specifying and exchanging process information”
Extending MFI • Register process models based on ontology • Govern the construction of customized services • Reduce the cost of service development Why we need MFI4Process (2/2) • Web service • one of the important resources on the semantic web • characterized with dynamic features and processes. • Current version of MFI concentrates on the registration of ontology and static models, rather than semantic web service or annotated process models.
OWL-S (Services) SWRL (Rules) OWL([DLP], Light, DL, Full) RDFS (RDF Schema) RDF (Resource Description Framework) XML (Extensible Markup Language) Brief introduction of OWL-S (1/3)-- Layered approach to language development • OWL-S (W3C) • is an extended ontology language • a specific OWL profile for Web Service SWRL: Semantic Web Rule Language (W3C)
Brief introduction of OWL-S (2/3) • OWL-s is used as a language for describing services, reflecting the fact that it provides a standard vocabulary that can be used together with the other aspects of the OWL description languages to create service description. (from W3C, OWL Web Ontology Language for Services (OWL-s) Specification)
Brief introduction of OWL-S (3/3)--Top level of the Process Ontology
Process Specification Language (1/3) • Process Specification Language (PSL, ISO18629) • PSL is a modular, extensible ontology capturing concepts required for process specification • In PSL, ontology is defined as a specification • in a given domain of a set of concepts, of their relation and of the rules that apply to them. From ISO 18629
PSL Activity TimePoint Object Inf+ Inf- Process Specification Language (2/3) What PSL will be: a language enabling interoperability of process information among industrial applications What is a process ? A process is one or more activities that occurs over a period of time in which objects participate From “ISO 18629: A standardized language for specifying and exchanging process information”
Process Specification Language (3/3) From ISO 18629-12
Content • Background • MFI4Process & other standards • MFI4Process & MFI Core • MFI4Process & MFI4Onto • Overall design of MFI4Process • Future work
MFI4Process & MFI Core from MFI Core from MFI4Process
MFI4Process & MFI4Onto from MFI4Process from MFI4Onto
Content • Background • MFI4Process & other standards • Overall design of MFI4Process • Basic idea of MFI4Process • Models in MFI4Process • Example • Future work
Process Input (precondition) Output (postcondition) subProcess subProcess Atomic process Input/Output Composite process Input/Output Component (subProcess) Process_Unit:the smallest, reusable and undecomposable element in process model Control construct Connecting subProcess formed as an ordered n-tuple Artifact I/O of Composite Process = I/O of Atomic Processes + I/O of smaller Composite Processes - the ones that Inputi=Outputj Registration information (1)
Input2 Input1, Input2, Input3, Input5 Input3 Input1 Composite Process Atomic Process 1 Atomic Process 1 Output1 Output2 Input4 Input5 Atomic Process 2 Atomic Process 2 Output3 Output4 Output1, Output3, Output4 Atomic Process & Composite Process Input Output
Registration information (2) • OccurrenceTree – to record and manage the execution of processes • OccurrenceNode • Process (root) • Atomic Process • Composite Process • OccurrenceFlow • Input (with corresponding artifact) • Output (with corresponding artifact)
Process Atomic Process 1 Atomic Process 2 Composite Process 1 Atomic Process 3 Atomic Process 4 OccurrenceTree (1/3) occurrence flow
- <process:CompositeProcess rdf:ID="BravoAir_Process"> <rdfs:label>This is the top level process for BravoAir</rdfs:label> <rdfs:comment>BravoAir_Process is a composite process. It is composed of a sequence whose components are 2 atomic processes, GetDesiredFlightDetails and SelectAvailableFlight, and a composite process, BookFlight.</rdfs:comment> <process:invocable rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">true</process:invocable> <service:describes rdf:resource="http://www.daml.org/services/owl-s/1.1/BravoAirService.owl#BravoAir_ReservationAgent" /> - <process:hasInput> - <process:Input rdf:ID="DepartureAirport"> <process:parameterType rdf:datatype="http://www.w3.org/2001/XMLSchema#anyURI">http://www.daml.org/services/owl-s/1.1/Concepts.owl#Airport</process:parameterType> </process:Input> </process:hasInput> - <process:hasInput> - <process:Input rdf:ID="ArrivalAirport"> <process:parameterType rdf:datatype="http://www.w3.org/2001/XMLSchema#anyURI">http://www.daml.org/services/owl-s/1.1/Concepts.owl#Airport</process:parameterType> </process:Input> …… - <process:composedOf> - <process:Sequence> - <process:components> - <process:ControlConstructList> - <list:first> - <process:Perform rdf:ID="PerformGetDesiredFlightDetails"> <process:process rdf:resource="#GetDesiredFlightDetails" /> - <process:hasDataFrom> - <process:InputBinding> <process:toParam rdf:resource="#GetDesiredFlightDetails_DepartureAirport" /> - <process:valueSource> - <process:ValueOf> …… - <process:Perform rdf:ID="PerformSelectAvailableFlight"> <process:process rdf:resource="#SelectAvailableFlight" /> - <process:hasDataFrom> - <process:InputBinding> <process:toParam rdf:resource="#SelectAvailableFlight_FlightsAvailable" /> - <process:valueSource> </process:valueSource> </process:InputBinding> </process:hasDataFrom> </process:Perform> </list:first> - <list:rest> - <process:ControlConstructList> - <list:first> - <process:Perform rdf:ID="PerformBookFlight"> <process:process rdf:resource="#BookFlight" /> - <process:hasDataFrom> - <process:InputBinding> <process:toParam rdf:resource="#BookFlight_SelectedFlight" /> OccurrenceTree (2/3)
…… …… …… OccurrenceTree (3/3)
Control Construct: specify how the process is organized. Anyorder Choice If-then-else Sequence Merge Split Split-Join Key concepts in MFI4Process (1/3)
Control Construct Anyorder Choice If-then-else Sequence Merge Split Split-Join Key concepts in MFI4Process (2/3) • Actor: the role that one process plays in process execution • Client: the agent that requests services. • Server: the agent that provides services.
Control Construct Anyorder Choice If-then-else Sequence Merge Split Split-Join Artifact: the resources that participate in one process predefined concepts in relevant OWL document datatype elements from XML schema <rdfs:subClassOf rdf:resource="&xsd;#integer"/> Key concepts in MFI4Process (3/3) • Actor • the role that one process plays in process execution • Client • Server
Overview of MFI4Process MFI4Process dependency
Process Core Model from Process Core Model from PSL
Process Control Model from Process Core Model from PSL from Process Control Model
Control Construct Model from Process Core Model from Control Construct Model
Example-- BravoAir Reservation Service from W3C, http://www.daml.org/services/owl-s/1.0/examples.html
For OccurrenceTree (1/3) • OccurrenceNode • GetDesiredFlightDetails • SelectAvailableFlight • BookFlight • …… • OccurrenceFlow • Input: DepartureAirport_In • Output: FlightsFound • …… • StateOfNode: • Precondition: none • Postcondition: hasFlightItinerary
Content • Background • MFI4Process & other standards • Overall design of MFI4Process • Future work
Future work • MFI4Process • Improve these models in detail • Applications • Logistics domain • Other domains
Thank you! hekeqing@public.wh.hb.cn wangchong_whu@yahoo.com.cn