优化服务模拟语言(OSsL)
点击查看或下载OSsL XML模式->操作系统L.xsd[接近稳定]
OSsL(simulation)是模拟服务使用的输入和输出格式,这些服务通过Optimization services调用以获取函数值。
OSsL促进并使目标或约束函数能够合并仿真,仿真可能位于解算器以外的位置。OSsL实例通常在解算器和模拟引擎之间传输。从Optimization Services框架的角度来看,如果仿真要由兼容OS的解算器调用,则其输入和输出必须采用标准OSsL格式。
每个模拟都包含使用<uri>子项的模拟地址,以及使用<ossl>的模拟输入和输出 孩子。下图是一个很好的说明。
simpleSimulation的定义如下:
<simulation name=“simpleSimulation”> <uri值=“http://www.optimizationservices.org/os/ossimulation/SimpleSimulationService.jws"/> <ossl> <输入> <el name=“a”>1 MSFT </input> <输出> <el name=“f1”/> <el name=“f2”/> </输出> </ossl> </simulation(模拟)>
作为OSnL部分,为了构造包含simpleSimulation的非线性表达式,我们使用<simInput>和<simOutput>节点:
<nl idx=“-1”> <加号> <sim name=“simpleSimulation”> <simInput inputName=“a”><var idx=“0”/></simInput> <simInput inputName=“b”><var idx=“1”/></simInput> <simOutput outputName=“f1”/> </sim> <数值=“2”/> </plus> </nl>
在下图中,我们列出了整个ossl模式。
<xs:complexType name=“OSsL公司"> <xs:all> <xs:element name=“输入“最小发生次数=”0“> <xs:complex类型> <xs:sequence> <xs:element name=“埃尔“type=”ioType“minOccurs=”0“maxOccurs=”unbounded“/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name=“输出“最小发生次数=”0“> <xs:complexType> <xs:sequence> <xs:element name=“埃尔“type=”ioType“minOccurs=”0“maxOccurs=”unbounded“/> </xs:sequence> </xs:complexType> </xs:element> </xs:all> </xs:complexType>
<xs:complexType name=“IO类型"> <xs:simpleContent> <xs:extension base=“xs:string”> <xs:attribute name=“名称“type=”xs:ID“use=”required“/> <xs:attribute name=“类型“type=”type“use=”optional“default=”string“/> </xs:extension> </xs:simpleContent> </xs:complexType>
<xs:simpleType name=“类型"> <xs:restriction base=“xs:string”> <xs:enumeration value=“一串"/> <xs:enumeration value=“链接"/> </xs:restriction> </xs:simpleType>
如上图所示,OSsL模式非常简单,但仍然足够通用,可以适应任何现有的模拟。<ossl>元素有两个可选的子元素<input>和<output>,谁先出现并不重要。这两个子元素非常相似,这就是为什么我们没有为每个元素单独的模式。两个元素都有0个或多个<el>元素。这对应于这样一个概念,即模拟通常可以接受任意数量的输入并生成任意数量的输出。一个<el>元素是ioType;它采用输入或输出名称所需的name属性和可选的type属性。输入或输出值进入元素内部。默认情况下,type属性为“string”,这是输入或输出值最常见的类型。另一种类型为“link”,表示元素内的值是指针,实际数据将从指定的链接地址获得。例如,在以下示例中:
<simulation name=“simpleSimulation”> <uri值=“http://www.optimizationservices.org/os/ossimulation/SimpleSimulationService.jws"/> <ossl> <输入> <el name=“a”type=“string”>1 <el name=“b”type=“link”>http://www.optimizationservices.org/data/stock.html</el> </input> <输出> <el name=“f1”> <el name=“f2”/> </输出> </ossl> </simulation(模拟)>
输入“a”是字符串(=“1”),输入“b”是链接。b的值(例如“MSFT”)应从地址中获得http://www.optimizationservices.org/data/stock.html。
链接:
点击查看或下载OSsL XML模式->操作系统L.xsd
|