(define (domain damls_wsdl_merging) ;;mainly merging service, profile, process and wsdl (:extends (uri "http://www.daml.org/2001/03/daml+oil" :prefix daml) (uri "http://www.daml.org/services/daml-s/" :prefix damls) (uri "http://www.ai.sri.com/daml/ontologies/sri-basic/1-0/Time.daml" :prefix time) (uri "http://www.w3.org/2000/10/XMLSchema" :prefix xsd) (uri "http://www.w3.org/2000/01/rdf-schema" :prefix rdfs) (uri "http://www.daml.org/services/daml-s/2001/10/Service.daml" :prefix service) (uri "http://www.daml.org/services/daml-s/2001/10/Profile.daml" :prefix profile) (uri "http://www.daml.org/services/daml-s/2001/10/Process.daml" :prefix process) (uri "http://schemas.xmlsoap.org/wsdl/" :prefix wsdl) ) (:types ServiceModel - Object Service - Object ServiceProfile - Object ServiceGrounding - Object ParameterDescription - Object Actor - Object ServiceProvider - Actor OfferedService - ServiceProfile ServiceRequester - Actor Location - Object NeededService - ServiceProfile ControlConstruct - Object Iterate - ControlConstruct Repeat - Object ProcessComponentList - @daml:List ProcessControlStatus - Object ConditionalOutput - Object Process - Object AtomicProcess - Process SimpleProcess - Process TestValue - Object Concurrent-Sync - Object ConditionalEffect - Object Parallel - Object ProcessModel - @service:ServiceModel Repeat-Until - ControlConstruct Split - ControlConstruct ProcessControlModel - Object Concurrent - Object CompositeProcess - Process If-Then-Else - ControlConstruct Unordered - ControlConstruct Fork-join - Object Parallel-Sync - Object ProcessComponent - Object Any-Order - Object Repeat-While - ControlConstruct ProcessComponentBag - @daml:List Alternative - Object Choice - ControlConstruct Condition - Object ProcessClass - @daml:Class Split-Join - ControlConstruct Sequence - ControlConstruct TestCondition - ControlConstruct WSDLDOC - Object Documentation - String Docmented - Object ExtensibleAttributesDocumented - Documented ExtensibleDocumented - Documented Definitions - ExtensibleDocumented Import - ExtensibleAttributesDocumented Types - ExtensibleDocumented Message - ExtensibleDocumented Part - ExtensibleAttributesDocumented PortType - ExtensibleAttributesDocumented Operation - ExtensibleDocumented OneWayOperation - Operation RequestResponseOperation - Operation SolicitResponseOperation - Operation NotificationOperation - Operation ParamFault - ExtensibleAttributesDocumented Param - ParamFault Fault - ParamFault Binding - ExtensibleDocumented BindingOperationMessage - ExtensibleDocumented BindingOperationFault - ExtensibleDocumented BindingOperation - ExtensibleDocumented Port - ExtensibleDocumented ) (:constants Ongoing - Object Canceled - Object Aborted - Object True - TestValue Ready - Object Suspended - Object False - TestValue Completed - Object ) (:predicates (isPresentedBy se1 - ServiceProfile se2 - Service) (isSupportedBy se1 - ServiceGrounding se2 - Service) (provides re1 - @rdfs:Resource se2 - Service) (isProvidedBy se1 - Service re2 - @rdfs:Resource) (isDescribedBy se1 - Service se2 - ServiceModel) (supports se1 - Service se2 - ServiceGrounding) (describes se1 - ServiceModel se2 - Service) (parameter se1 - @service:ServiceProfile pa2 - ParameterDescription) (email ac1 - Actor ob2 - Object) (qualityGuarantee se1 - @service:ServiceProfile ob2 - Object) (phone ac1 - Actor ob2 - Object) (precondition ob1 - Object ob2 - Object) (degreeOfQuality se1 - @service:ServiceProfile ob2 - Object) (restrictedTo pa1 - ParameterDescription cl2 - @daml:Class) (has_process se1 - @service:ServiceProfile pr2 - @process:Process) (serviceType se1 - @service:ServiceProfile ob2 - Object) (intendedPurpose se1 - @service:ServiceProfile ob2 - Object) (parameterName ob1 - Object ob2 - Object) (fax ac1 - Actor ob2 - Object) (role se1 - @service:ServiceProfile ac2 - Actor) (requestedBy ob1 - Object se2 - ServiceRequester) (geographicRadius se1 - @service:ServiceProfile lo2 - Location) (domainResource se1 - @service:ServiceProfile ob2 - Object) (serviceParameter se1 - @service:ServiceProfile ob2 - Object) (refersTo pa1 - ParameterDescription ob2 - Object) (qualityRating se1 - @service:ServiceProfile ob2 - Object) (physicalAddress ac1 - Actor ob2 - Object) (providedBy ob1 - Object se2 - ServiceProvider) (webURL ac1 - Actor ob2 - Object) (textDescription se1 - @service:ServiceProfile st2 - @xsd:string) (communicationThru se1 - @service:ServiceProfile ob2 - Object) (name ac1 - Actor st2 - @xsd:string) (serviceCategory se1 - @service:ServiceProfile ob2 - Object) (serviceName se1 - @service:ServiceProfile st2 - @xsd:string) (parameter pr1 - Process ob2 - Object) (input ob1 - Object ob2 - Object) (computedOutput co1 - CompositeProcess ob2 - Object) (atTime pr1 - Process in2 - @time:Instant) (precondition pr1 - Process ob2 - Object) (docRead pr1 - Process ob2 - Object) (whileProcess re1 - Repeat-While pr2 - ProcessComponent) (participant ob1 - Object ob2 - Object) (ceEffect co1 - ConditionalEffect ob2 - Object) (endTime pr1 - Process in2 - @time:Instant) (output ob1 - Object co2 - ConditionalOutput) (conditionValue te1 - TestCondition te2 - TestValue) (untilCondition re1 - Repeat-Until co2 - Condition) (computedEffect co1 - CompositeProcess ob2 - Object) (address pr1 - Process ob2 - Object) (currentProcessComponent co1 - ControlConstruct pr2 - ProcessComponent) (untilProcess re1 - Repeat-Until pr2 - ProcessComponent) (startTime pr1 - Process in2 - @time:Instant) (invocable co1 - CompositeProcess bo2 - @xsd:boolean) (then if1 - If-Then-Else pr2 - ProcessComponent) (docUpdate pr1 - Process ob2 - Object) (realizes at1 - AtomicProcess si2 - SimpleProcess) (during pr1 - Process in2 - @time:Interval) (chosen ch1 - Choice pr2 - ProcessComponent) (computedPrecondition co1 - CompositeProcess ob2 - Object) (currentStatus pr1 - ProcessComponent pr2 - ProcessControlStatus) (computedInput co1 - CompositeProcess ob2 - Object) (chooseFrom ch1 - Choice pr2 - ProcessComponentBag) (nextProcessComponent co1 - ControlConstruct pr2 - ProcessComponent) (timeoutAbsolute pr1 - Process in2 - @time:Interval) (realizedBy si1 - SimpleProcess at2 - AtomicProcess) (components co1 - ControlConstruct ob2 - Object) (coOutput co1 - ConditionalOutput ob2 - Object) (docWrite pr1 - Process ob2 - Object) (else if1 - If-Then-Else pr2 - ProcessComponent) (expand si1 - SimpleProcess co2 - CompositeProcess) (composedOf co1 - CompositeProcess co2 - ControlConstruct) (whileCondition re1 - Repeat-While co2 - Condition) (ifCondition if1 - If-Then-Else co2 - Condition) (timeout pr1 - Process in2 - @time:Interval) (hasProcess pr1 - ProcessModel pr2 - ProcessClass) (collapse co1 - CompositeProcess si2 - SimpleProcess) (hasControlModel pr1 - ProcessModel pr2 - ProcessControlModel) (coCondition co1 - ConditionalOutput co2 - Condition) (name pr1 - Process st2 - String) (effect pr1 - Process co2 - ConditionalEffect) (ceCondition co1 - ConditionalEffect co2 - Condition) (documentation subj - Documented docu - Documentation) (name subj - Documented nm - @xsd:NCName) (definitions doc - WSDLDOC def - Definitions) (targetNamespace def - Definitions uri - @xsd:anyURI) (import def - Definitions im - Import) (types def - Definitions tp - Types) (message def - Definitions me - Message) (portType def - Definitions po - PortType) (binding def - Definitions bi - Binding) (service def - Definitions se - Service) (namespace im - Import uri - @xsd:anyURI) (location im - Import uri - @xsd:anyURI) (part me - Message pa - Part) (partType pa - Part tp - Types) (partElement pa - Part nm - @xsd:QName) (operation po - PortType op - Operation) (parameterOrder op - Operation token - @xsd:NMTOKENS) (input op - Operation pa - Param) (output op - Operation pa - Param) (fault op - Operation pa - Fault) (paramMessage pa - ParamFault ms - Message) (type bi - Binding pt - PortType) (bindingOperation bi - Binding bo - BindingOperation) (bindingInput bo - bindingOperation bom - bindingOperationMessage) (bindingOutput bo - bindingOperation bom - bindingOperationMessage) (bindingFault bo - bindingOperation bom - bindingOperationFault) (port se - Service po - Port) (binding po - Port b - Binding) (arrayType doc - WSDLDOC str - String) (required doc - WSDLDOC bool - Boolean) (ground sg - ServiceGrounding op - Operation) (listOfInstanceOf p1 - Process p2 - Process) ) (:axioms (T-> @service:Service Service) (T-> @wsdl:Service Service) (T-> @service:ServiceProfile ServiceProfile) (T-> @wsdl:Documentation Documentation) (T-> ServiceProfile Documentation) (T-> @process:Process Process) (T-> @process:AtomicProcess AtomicProcess) (T-> @process:SimpleProcess SimpleProcess) (T-> @process:CompositeProcess CompositeProcess) (T-> @wsdl:Operation Operation) (T-> @wsdl:Message Message) (T-> @wsdl:Part Part) (T-> @wsdl:PortType PortType) (T-> @wsdl:Binding Binding) (T-> @wsdl:Port Port) (T-> @wsdl:Param Param) (T-> @wsdl:BindingOperation BindingOperation) (T-> Process Operation) (T-> @service:ServiceGrounding ServiceGrounding) (forall (sg - ServiceGrounding s - Service) (iff (@service:supports s sg) (supports s sg))) (forall (sg - ServiceGrounding s - Service) (iff (@service:isSupportedBy sg s) (isSupportedBy sg s))) (forall (sg - ServiceGrounding s - Service) (iff (supports s sg) (isSupportedBy sg s))) (forall (x - Object) (if (is Process x) (ground (@skolem:pSG x) - ServiceGrounding x))) (forall (x - Object) (if (@process:is-Process x) (ground (@skolem:pSG x) - ServiceGrounding x))) (forall (p - Process ob1 - Object) (iff (@process:input p ob1) (input p ob1))) (forall (ob1 - Object ob2 - Object) (if (@profile:input ob1 ob2) (input ob1 ob2))) (forall (p - Process sg - ServiceGrounding ob1 - Object) (if (and (ground sg p) (input p ob1)) (and (@wsdl:input p (@skolem:piParam p ob1) - Param) (paramMessage (@skolem:piParam p ob1) - Param (@skolem:piMessage p ob1) - Message) (part (@skolem:piMessage p ob1) - Message (@skolem:piPart p ob1) - Part) (partElement (@skolem:piPart p ob1) - Part ob1)))) (forall (pm - Param ms - Message) (iff (@wsdl:paramMessage pm ms) (paramMessage pm ms))) (forall (ms - Message pa - Part) (iff (@wsdl:part ms pa) (part ms pa))) (forall (pa - Part ob1 - Object) (iff (@wsdl:partElement pa ob1) (partElement pa ob1))) (forall (p - Process ob1 - Object) (iff (@process:output p ob1) (output p ob1))) (forall (ob1 - Object ob2 - Object) (if (@profile:output ob1 ob2) (output ob1 ob2))) (forall (p - Process sg - ServiceGrounding ob1 - Object) (if (and (ground sg p) (output p ob1)) (and (@wsdl:output p (@skolem:poParam p ob1) - Param) (paramMessage (@skolem:poParam p ob1) - Param (@skolem:poMessage p ob1) - Message) (part (@skolem:poMessage p ob1) - Message (@skolem:poPart p ob1) - Part) (partElement (@skolem:poPart p ob1) - Part ob1)))) (forall (x - Object) (if (is Operation x) (and (operation (@skolem:oPortType x) - PortType x) (bindingOperation (@skolem:oBinding x) - Binding (@skolem:oBindingOperation x) - BindingOperation) (type (@skolem:oBinding x) - Binding (@skolem:oPortType x) - PortType) (binding (@skolem:oPort x) - Port (@skolem:oBinding x) - Binding) (port (@skolem:oService x) - Service (@skolem:oPort x) - Port)))) (forall (pt - PortType op - Operation) (iff (@wsdl:operation pt op) (operation pt op))) (forall (b - Binding bo - BindingOperation) (iff (@wsdl:bindingOperation b bo) (bindingOperation b bo))) (forall (b - Binding pt - PortType) (iff (@wsdl:type b pt) (type b pt))) (forall (p - Port b - Binding) (iff (@wsdl:binding p b) (binding p b))) (forall (s - Service p - Port) (iff (@wsdl:port s p) (port s p))) (forall (s - Service sp - ServiceProfile) (iff (@service:presents s sp) (documentation s sp))) (forall (s - Service dc - Documentation) (iff (@wsdl:documentation s dc) (documentation s dc))) (forall (sp - ServiceProfile s - Service) (iff (@service:isPresentedBy sp s) (isPresentedBy sp s))) (forall (s - Service sp - ServiceProfile) (iff (documentation s sp) (isPresentedBy sp s))) (T-> @service:ServiceModel ServiceModel) (forall (r - @rdfs:Resource s - Service) (iff (@service:provides r s) (provides r s))) (forall (r - @rdfs:Resource s - Service) (iff (@service:isProvidedBy s r) (isProvidedBy s r))) (forall (r - @rdfs:Resource s - Service) (iff (provides r s) (isProvidedBy s r))) (forall (sm - ServiceModel s - Service) (iff (@service:describes sm s) (describes sm s))) (forall (sm - ServiceModel s - Service) (iff (@service:isDescribedBy s sm) (isDescribedBy s sm))) (forall (sm - ServiceModel s - Service) (iff (describes sm s) (isDescribedBy s sm))) (forall (x - Object) (if (is Service x) (and (documentation x (@skolem:sSP x) - ServiceProfile) (supports x (@skolem:sSG x) - ServiceGrounding)))) (T-> @process:ConditionalEffect ConditionalEffect) (forall (p - Process ce - ConditionalEffect) (iff (@process:effect p ce) (effect p ce))) (forall (ob1 - Object ob2 - Object) (iff (@profile:effect ob1 ob2) (effect ob1 ob2))) (forall (p - Process o - Object) (iff (@process:precondition p o) (precondition p o))) (forall (p - Process o - Object) (iff (@process:parameter p o) (parameter p o))) (T-> @process:ConditionalOutput ConditionalOutput) (forall (co - ConditionalOutput o - Object) (iff (@process:coOutput co o) (coOutput co o))) (T-> @process:Condition Condition) (forall (co - ConditionalOutput c - Condition) (iff (@process:coCondition co c) (coCondition co c))) (T-> @process:ControlConstruct ControlConstruct) (forall (cp - CompositeProcess cc - ControlConstruct) (iff (@process:composedOf cp cc) (composedOf cp cc))) (forall (cc - ControlConstruct o - Object) (iff (@process:components cc o) (components cc o))) (forall (sp - SimpleProcess cp - CompositeProcess) (iff (@process:expand sp cp) (expand sp cp))) (forall (sp - SimpleProcess cp - CompositeProcess) (iff (@process:collapse cp sp) (collapse cp sp))) (forall (sp - SimpleProcess cp - CompositeProcess) (iff (expand sp cp) (collapse cp sp))) (forall (subj - Object nm - @xsd:NCname) (iff (@wsdl:name subj nm) (name subj nm))) (forall (p1 - Process p2 - Process) (iff (@damls:listOfInstanceOf p1 p2) (listOfInstanceOf p1 p2))) (forall (p1 - Process p2 - Process) (iff (@wsdl:listOfInstanceOf p1 p2) (listOfInstanceOf p1 p2))) ) )