Optimization Services


 

 

 

 

 

 

 

 

Optimization Services uri/url Language (OSuL)

Click to see or download the OSuL XML Schema -> OSuL.xsd [near stable]


OSuL (uri/url) is a specification of the discovery result (in uri or url) sent back by the OS registry. OSuL is the opposite of the OSqL query in the discovery process. Based on the OSqL instance, the OS registry returns the locations of the services that match the query. 

The following figure illustrates the general OSuL Schema.

OSuLSchemaFigure

The following is the full text of the OSuL Schema.

<?xml version="1.0" encoding="utf-8"?>
<xs:schema targetNamespace="os.optimizationservices.org" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="os.optimizationservices.org" elementFormDefault="qualified">
<xs:element name="osul" type="OSuL"/>
<xs:complexType name="OSuL">
<xs:sequence>
<xs:element name="uri" type="URI" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>


<xs:complexType name="URI">
<xs:simpleContent>
<xs:extension base="xs:anyURI">
<xs:attribute name="serviceName" type="xs:string" use="optional"/>
<xs:attribute name="matchType" use="optional" default="exact">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="exact"/>
<xs:enumeration value="moreGeneral"/>
<xs:enumeration value="moreRestricted"/>
<xs:enumeration value="approximate"/>
<xs:enumeration value="guess"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="licenseRequired" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="userNameRequired" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="passwordRequired" type="xs:boolean" use="optional" default="false"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:schema>

<osul> is simply a sequence of 0 (if no matches) or more <uri> children. Each <uri> has an optional match attribute and by default it is an “exact” match of the services. The OS registry may return service locations of other match types such as “moreGeneral,” “approximate,” and “guess.” An example of the “moreGeneral” case is a nonlinear solver service for a linear program. An example of the “approximate” case is a convex nonlinear solver service for an almost convex nonlinear program. An example of the “guess” case is when there is not enough information in OSqL.  In general the OS registry returns the URI locations ordered by fitness, with the best and exact matches in the beginning. An example of the OSuL discovery result may look like the following: 

<?xml version="1.0" encoding="UTF-8"?>
<OSuL xmlns="os.optimizationservices.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="os.optimizationservices.org http://www.optimizationservices.org/schemas/OSuL.xsd">
       <uri>http://www.abc.com/lpsolver.jws</uri>
       <uri match="exact">http://www.edf.net/lpsolverservice.vb</uri>
       <uri match="moreGeneral">http://www.ghij.org/mpservice.cs</uri>
       <uri match="approximate">http://www.klmn.gov/os/nlpsolver.jws</uri>
       <uri match="guess">http://www.klmn.gov/os/minlpsolver.py</uri>
</OSuL>

 


Links:

Click to see or download the OSuL XML Schema -> OSuL.xsd