summaryrefslogtreecommitdiff
path: root/modules/CIAO/docs/schema/CIAOServerResources.xsd
diff options
context:
space:
mode:
Diffstat (limited to 'modules/CIAO/docs/schema/CIAOServerResources.xsd')
-rw-r--r--modules/CIAO/docs/schema/CIAOServerResources.xsd194
1 files changed, 194 insertions, 0 deletions
diff --git a/modules/CIAO/docs/schema/CIAOServerResources.xsd b/modules/CIAO/docs/schema/CIAOServerResources.xsd
new file mode 100644
index 00000000000..d9fb63da88f
--- /dev/null
+++ b/modules/CIAO/docs/schema/CIAOServerResources.xsd
@@ -0,0 +1,194 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsd:schema targetNamespace="http://www.dre.vanderbilt.edu/ServerResources"
+ xmlns:CIAO="http://www.dre.vanderbilt.edu/ServerResources"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ attributeFormDefault="unqualified">
+
+ <xsd:element name="ServerResources" type="CIAO:ServerResourcesDef">
+ <xsd:annotation>
+ <xsd:documentation>
+ Root element for defining all the resources used by a DeploymentPlan.
+ A CIAO:ServerResources document should reside in a separate file.
+ A DeploymentPlan can refer to one or more CIAO:ServerResources file names
+ using the "infoProperty" tag.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <xsd:complexType name="ServerResourcesDef">
+ <xsd:sequence>
+ <xsd:element name="cmdline" type="CIAO:ServerCmdlineOptions" minOccurs="0"/>
+ <xsd:element name="svcconf" type="CIAO:ACESvcConf" minOccurs="0"/>
+ <xsd:element name="orbConfigs" type="CIAO:ORBConfigs" />
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+
+
+<!-- =============================================================== -->
+
+ <xsd:complexType name="ServerCmdlineOptions">
+ <xsd:annotation>
+ <xsd:documentation>
+ Just a list of argv's that should be appended to the command
+ line used to start up the NodeApplication.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="arg" type="xsd:string" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+<!-- ================================================================ -->
+
+ <xsd:complexType name="ACESvcConf">
+ <xsd:annotation>
+ <xsd:documentation>
+ Contains either a pointer to a svc.conf file, or the actual
+ content of the svc.conf file required to configure the
+ NodeApplication.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:choice>
+ <!-- Specify the URI of a svc.conf file. -->
+ <xsd:element name="uri" type="xsd:string"/>
+
+ <!-- If we agree to use only XML based svc.conf "file", we will
+ support inlined svcconf entries here. If that will be the
+ case, we still need to convert ACE_Svc_Conf DTD to schema. -->
+ <!--
+ <xsd:element name="inline" type="ACE_Svc_Conf"/>
+ -->
+ </xsd:choice>
+ </xsd:complexType>
+
+<!-- ========================================================================= -->
+
+ <xsd:complexType name="ORBConfigs">
+ <xsd:annotation>
+ <xsd:documentation>
+ Contains the shared resources the component ORB must support
+ and all available policySets that components installed under
+ the ORB can request.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="resources" type="CIAO:ORBResources"
+ minOccurs="0"/>
+ <xsd:element name="policySet" type="CIAO:PolicySet"
+ maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+<!-- ========================================================================= -->
+
+ <xsd:complexType name="ORBResources">
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="threadpool" type="CIAO:ThreadpoolDef"/>
+ <xsd:element name="threadpoolWithLanes" type="CIAO:ThreadpoolWithLanesDef"/>
+ <xsd:element name="connectionBands" type="CIAO:ConnectionBandsDef"/>
+ <!-- Other ORB-wide resources that must be allocated by the ORB -->
+ </xsd:choice>
+ </xsd:complexType>
+
+ <xsd:simpleType name="Priority">
+ <xsd:restriction base="xsd:int">
+ <xsd:minInclusive value="0"/>
+ <xsd:maxInclusive value="32767"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:complexType name="ThreadpoolDef">
+ <xsd:sequence>
+ <xsd:element name="stacksize" type="xsd:unsignedLong"/>
+ <xsd:element name="static_threads" type="xsd:unsignedLong"/>
+ <xsd:element name="dynamic_threads" type="xsd:unsignedLong"/>
+ <xsd:element name="default_priority" type="CIAO:Priority"/>
+ <xsd:element name="allow_request_buffering" type="xsd:boolean"/>
+ <xsd:element name="max_buffered_requests" type="xsd:unsignedLong"/>
+ <xsd:element name="max_request_buffered_size" type="xsd:unsignedLong"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+
+ <xsd:complexType name="ThreadpoolWithLanesDef">
+ <xsd:sequence>
+ <xsd:element name="threadpoolLane" type="CIAO:ThreadpoolLaneDef"
+ maxOccurs="unbounded"/>
+ <xsd:element name="stacksize" type="xsd:unsignedLong" />
+ <xsd:element name="allow_borrowing" type="xsd:boolean"/>
+ <xsd:element name="allow_request_buffering" type="xsd:boolean"/>
+ <xsd:element name="max_buffered_requests" type="xsd:unsignedLong"/>
+ <xsd:element name="max_request_buffered_size" type="xsd:unsignedLong"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/> <!-- Threadpool ID should be
+ referenced by individual policies
+ in the policysets below -->
+ </xsd:complexType>
+
+ <xsd:complexType name="ThreadpoolLaneDef">
+ <xsd:sequence>
+ <xsd:element name="static_threads" type="xsd:unsignedLong"/>
+ <xsd:element name="dynamic_threads" type="xsd:unsignedLong"/>
+ <xsd:element name="priority" type="CIAO:Priority"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="ConnectionBandsDef">
+ <xsd:annotation>
+ <xsd:documentation>
+ This is only used to provide a ORB-wide view of all connection bands.
+ The ORB doesn't really need to "create" this resource.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="band" type="CIAO:PriorityBandDef" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+
+ <xsd:complexType name="PriorityBandDef">
+ <xsd:sequence>
+ <xsd:element name="low" type="xsd:int"/>
+ <xsd:element name="high" type="xsd:int"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+<!-- ========================================================================= -->
+
+ <xsd:complexType name="PolicySet">
+ <xsd:annotation>
+ <xsd:documentation>
+ Contains a set of CORBA Policies that can be applied to a
+ component instance at once. We should eventually expand this
+ list to incorporate all the policies defined in
+ ciaopolicy.xs. I'm focusing on the RT aspects for now.
+
+ The ID of a policy set should be referenced by the component
+ instances in a DeploymentPlan document under the
+ "deployedResource" tag.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="priorityModel" type="CIAO:PriorityModelPolicyDef"/>
+ <xsd:element name="threadpool" type="xsd:IDREF"/>
+ <xsd:element name="priorityBandedConnection" type="xsd:IDREF"/>
+ </xsd:choice>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+
+ <xsd:simpleType name="PriorityModel">
+ <xsd:restriction base="xsd:NCName">
+ <xsd:enumeration value="SERVER_DECLARED"/>
+ <xsd:enumeration value="CLIENT_PROPAGATED"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:complexType name="PriorityModelPolicyDef">
+ <xsd:sequence>
+ <xsd:element name="priority_model" type="CIAO:PriorityModel"/>
+ </xsd:sequence>
+ <xsd:attribute name="server_priority" type="CIAO:Priority"/>
+ </xsd:complexType>
+
+</xsd:schema>