<?xml version="1.0" ?>
<!DOCTYPE uridef[
  <!ENTITY rdf 		"http://www.w3.org/1999/02/22-rdf-syntax-ns">
  <!ENTITY rdfs		"http://www.w3.org/2000/01/rdf-schema">
  <!ENTITY owl 		"http://www.w3.org/2002/07/owl">
  <!ENTITY service 	"http://www.daml.org/services/owl-s/1.0/Service.owl">
  <!ENTITY profile 	"http://www.daml.org/services/owl-s/1.0/Profile.owl">
  <!ENTITY grid1_process 	"http://www.csl.sri.com/users/denker/sfw/examples/grid1/grid1Process.owl">
  <!ENTITY grid1_service	"http://www.csl.sri.com/users/denker/sfw/examples/grid1/grid1Service.owl">
  <!ENTITY grid1_profile 	"http://www.csl.sri.com/users/denker/sfw/examples/grid1/grid1Profile.owl">
 ]>


<rdf:RDF
  xmlns:rdf		="&rdf;#"
  xmlns:rdfs		="&rdfs;#"
  xmlns:owl		="&owl;#"
  xmlns:service	 	="&service;#"
  xmlns:profile	 	="&profile;#"
  xmlns:grid1_profile 	="&grid1_profile;#"
  xmlns:grid1_process 	="&grid1_process;#"
  xmlns:grid1_service	="&grid1_service;#"
  xmlns			="&grid1_profile;#"
>

	
<owl:Ontology rdf:about="">
  <owl:versionInfo>grid1Profile.owl, Grit Denker, 03/10/04</owl:versionInfo>
  <rdfs:comment>
    OWL-S profile model of grid1 workflow example 
  </rdfs:comment>
</owl:Ontology>


<!--  ############ ########### ############ ############ ########### --> 
<!--  
      Define profile: Grid1Workflow_Profile
-->
<!--  ############ ########### ############ ############ ########### -->
<profile:Profile rdf:ID="Grid1Workflow_Profile">
  <!--  Reference to the Grid1Workflow service  --> 
  <service:presentedBy rdf:resource="&grid1_service;#Grid1Workflow"/>

  <!--  Reference to the Grid1Workflow process  --> 
  <profile:has_process rdf:resource="&grid1_process;#Grid1Workflow_Process"/>

  <!--  Name and Description  --> 
  <profile:serviceName>Grid1Workflow</profile:serviceName>
  <profile:textDescription>
    This service defines a workflow between an agent and
    two providers. 
  </profile:textDescription>
	
  <!--  Description of IOPEs 
        The IOPEs for Grid1Workflow correspond to those of 
        its individual atomic process
    -->

  <!--  Input/Output  -->
  <profile:hasInput rdf:resource="&grid1_process;#InSendData_Process"/>
  <profile:hasInput rdf:resource="&grid1_process;#InUpload_Process"/>
  <profile:hasOutput rdf:resource="&grid1_process;#OutAckUpload_Process"/>
  <profile:hasOutput rdf:resource="&grid1_process;#OutSendResults_Process"/>
  
  <!-- Alternatively, one could use IOPEs of composite process 
  <profile:hasInput rdf:resource="&grid1_process;#Grid1WorkflowInSendData_Process"/>
  <profile:hasInput rdf:resource="&grid1_process;#Grid1WorkflowInUpload_Process"/>
  <profile:hasOutput rdf:resource="&grid1_process;#Grid1WorkflowOutAckUpload_Process"/>
  <profile:hasOutput rdf:resource="&grid1_process;#Grid1WorkflowOutSendResults_Process"/>
    -->

</profile:Profile>
</rdf:RDF>
	