diff options
author | serena.spinoso <serena.spinoso@polito.it> | 2017-09-07 10:22:39 +0200 |
---|---|---|
committer | serena.spinoso <serena.spinoso@polito.it> | 2017-09-12 08:42:03 +0200 |
commit | a42de79292d9541db7865b54e93be2d0b6e6a094 (patch) | |
tree | cc357be8dc0030be4fa965273c4074f0dcb79345 /verigraph/src/main/schema/nffg.xsd | |
parent | dd361d8d9df7a69a4fc7c004db5b959440a024c2 (diff) |
update verigraph
JIRA: PARSER-154
code optimizations about graph manipulation and formula generation.
Change-Id: Idebef19b128281aa2bc40d1aeab6e208c7ddd93d
Signed-off-by: serena.spinoso <serena.spinoso@polito.it>
Diffstat (limited to 'verigraph/src/main/schema/nffg.xsd')
-rw-r--r-- | verigraph/src/main/schema/nffg.xsd | 363 |
1 files changed, 0 insertions, 363 deletions
diff --git a/verigraph/src/main/schema/nffg.xsd b/verigraph/src/main/schema/nffg.xsd deleted file mode 100644 index 77e6f40..0000000 --- a/verigraph/src/main/schema/nffg.xsd +++ /dev/null @@ -1,363 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - xmlns:tns="http://www.example.org/nffg/" - xmlns:net="http://www.example.org/net/" - targetNamespace="http://www.example.org/nffg/" - elementFormDefault="qualified"> - - <import namespace="http://www.example.org/net/" schemaLocation="net_types.xsd"/> - - <annotation> - <documentation xml:lang="it"> - Il formato prevede si possa avere come radice "nffg-set" oppure "nffg". - Nel primo caso ci sono più nf-fg contenuti nello stesso documento XML. - </documentation> - </annotation> - - <group name="L2HeaderParameters"> - <sequence> - <element name="Mac" minOccurs="0"> - <complexType> - <attribute name="src" type="net:macAddressType" use="optional"/> - <attribute name="dst" type="net:macAddressType" use="optional"/> - <attribute name="ethertype" type="net:ethertypeType" use="optional"/> - <attribute name="vlanId" type="net:vlanIdType" use="optional"/> - <attribute name="vlanPcp" type="net:vlanPcpType" use="optional"/> - </complexType> - </element> - </sequence> - </group> - - <group name="L3HeaderParameters"> - <sequence> - <element name="Ip" minOccurs="0"> - <complexType> - <attribute name="src" type="net:ipAddressType" use="optional"/> - <attribute name="dst" type="net:ipAddressType" use="optional"/> - <attribute name="ipProtocol" type="unsignedByte" use="optional"/> - <attribute name="tos" type="unsignedByte" use="optional"/> - </complexType> - </element> - </sequence> - </group> - - <!-- controllare nel programma che non ci siano combinazioni non ammesse --> - <group name="L4HeaderParameters"> - <choice> - <element name="Tcp" minOccurs="0"> - <complexType> - <attribute name="src" type="net:portNumberType" use="optional"/> - <attribute name="dst" type="net:portNumberType" use="optional"/> - </complexType> - </element> - <element name="Udp" minOccurs="0"> - <complexType> - <attribute name="src" type="net:portNumberType" use="optional"/> - <attribute name="dst" type="net:portNumberType" use="optional"/> - </complexType> - </element> - </choice> - </group> - - <!-- alla fine controlloare tutti gli xpath perchè dopo dei cambiamenti potrebbero non andare più bene --> - <element name="nffg-set" type="tns:nffg-setType"> - <unique name="nffgIdUnique"> - <selector xpath="tns:nf-fg"/> - <field xpath="@id"/> - </unique> - - <!-- forse la NF va spostata dentro graphs e resa referenziabile (condivisibile da più nffg) --> - <!-- così facendo però, si deve trovare un modo per avere le NF dentro nffg nel caso sia questo la radice --> - <unique name="nfIdUnique"> - <selector xpath="tns:nf-fg/tns:network_functions/tns:network_function"/> - <field xpath="@id"/> - </unique> - </element> - - <element name="nffg" type="tns:nffgType"> - <unique name="epIdUnique"> - <selector xpath="tns:endpoints/tns:endpoint"/> - <field xpath="@id"/> - </unique> - - <unique name="cpIdUnique"> - <selector xpath="tns:network_functions/tns:network_function/tns:connection_points/tns:connection_point"/> - <field xpath="@id"/> - </unique> - - <unique name="portIdUnique"> - <selector xpath="tns:network_functions/tns:network_function/tns:connection_points/tns:connection_point/tns:port"/> - <field xpath="@id"/> - </unique> - - <unique name="ciIdUnique"> - <selector xpath="tns:network_functions/tns:network_function/tns:control_interfaces/tns:control_interface"/> - <field xpath="@id"/> - </unique> - - <unique name="neIdUnique"> - <selector xpath="tns:network_elements/tns:network_element"/> - <field xpath="@id"/> - </unique> - - <unique name="epcpIdRefUnique"> - <selector xpath="tns:network_elements/tns:network_element/tns:eps-cps/tns:ep-cp"/> - <field xpath="@id_ref"/> - </unique> - </element> - - <complexType name="monParamsType"> - <sequence> - <element name="parameter" maxOccurs="unbounded"> - <complexType> - <attribute name="value" type="NMTOKENS" use="required"/> - </complexType> - </element> - </sequence> - </complexType> - - <complexType name="nffg-setType"> - <sequence> - <element ref="tns:nffg" maxOccurs="unbounded"/> - </sequence> - </complexType> - - <complexType name="nffgType"> - <sequence> - <element name="endpoints" type="tns:epointsType" nillable="true"/> - <element name="network_functions" type="tns:nfunctionsType" nillable="true"/> - <element name="network_elements" type="tns:nelementsType" nillable="true"/> - <element name="monitoring_parameters" type="tns:monParamsType" nillable="true"/> - </sequence> - <attribute name="id" type="tns:nffgIdType" use="optional"/> - <attribute name="version" type="string" use="optional"/> - </complexType> - - <simpleType name="nffgIdType"> - <restriction base="string"> - <pattern value="nffg_\d+"/> - </restriction> - </simpleType> - - <complexType name="epointsType"> - <sequence> - <element name="endpoint" type="tns:epType" maxOccurs="unbounded"/> - </sequence> - </complexType> - - <complexType name="epType"> - <sequence> - <!-- valutare se renderlo nillable o tenere la cardinalità a * --> - <element name="flowspace"> - <complexType> - <sequence> - <group ref="tns:L2HeaderParameters"/> - <group ref="tns:L3HeaderParameters"/> - <group ref="tns:L4HeaderParameters"/> - </sequence> - <attribute name="nodeId" type="string" use="optional"/> - <attribute name="ingPhysPort" type="string" use="optional"/> - </complexType> - </element> - </sequence> - <attribute name="id" type="tns:epIdType" use="required"/> - </complexType> - - <simpleType name="epIdType"> - <restriction base="string"> - <pattern value="[a-z]*_\d+"/> - </restriction> - </simpleType> - - <complexType name="nfunctionsType"> - <sequence> - <element name="network_function" type="tns:nfType" maxOccurs="unbounded"/> - </sequence> - </complexType> - - <complexType name="nfType"> - <sequence> - <element name="specification" type="tns:specType"/> - <element name="connection_points" type="tns:cpointsType"/> - <element name="control_interfaces" type="tns:ctrlInterfacesType"/> - <element name="monitoring_parameters" type="tns:monParamsType" nillable="true"/> - </sequence> - <attribute name="id" type="tns:nfIdType" use="required"/> - <attribute name="functionalType" type="string" use="required"/> - </complexType> - - <simpleType name="nfIdType"> - <restriction base="string"> - <pattern value="[a-z]*_\d+"/> - </restriction> - </simpleType> - - <complexType name="specType"> - <sequence> - <element name="deployment"> - <complexType> - <attribute name="type" type="string" use="optional" default="N.A."/> - </complexType> - </element> - <element name="image"> - <complexType> - <!-- controllare come viene mappata la info --> - <attribute name="uri" type="anyURI" use="optional" default="N.A."/> - </complexType> - </element> - <element name="cpu"> - <complexType> - <attribute name="model" type="string" use="optional" default="N.A."/> - <attribute name="architecture" type="string" use="optional" default="N.A."/> - <attribute name="numCores" type="unsignedByte" use="optional" default="1"/> - <attribute name="clockSpeed" type="string" use="optional" default="N.A."/> - </complexType> - </element> - <element name="memory"> - <complexType> - <attribute name="type" type="string" use="optional" default="N.A."/> - <attribute name="size" type="string" use="optional" default="N.A."/> - </complexType> - </element> - <element name="storage"> - <complexType> - <attribute name="type" type="string" use="optional" default="N.A."/> - <attribute name="size" type="string" use="optional" default="N.A."/> - </complexType> - </element> - </sequence> - </complexType> - - <complexType name="cpointsType"> - <sequence> - <element name="connection_point" type="tns:cpType" maxOccurs="unbounded"/> - </sequence> - </complexType> - - <complexType name="cpType"> - <sequence> - <element name="port" type="tns:portType"/> - </sequence> - <attribute name="id" type="tns:cpIdType" use="required"/> - </complexType> - - <complexType name="portType"> - <attribute name="id" type="unsignedShort" use="required"/> - <attribute name="direction" type="tns:portDirEnumType" use="required"/> - <attribute name="type" type="string" use="optional" default="N.A."/> - </complexType> - - <simpleType name="portDirEnumType"> - <restriction base="string"> - <enumeration value="in"/> - <enumeration value="out"/> - <enumeration value="both"/> - </restriction> - </simpleType> - - <simpleType name="cpIdType"> - <restriction base="string"> - <pattern value="cp_\d+"/> - </restriction> - </simpleType> - - <complexType name="ctrlInterfacesType"> - <sequence> - <!-- valutare se renderlo nillable --> - <element name="control_interface" type="tns:ciType" minOccurs="0" maxOccurs="unbounded"/> - </sequence> - </complexType> - - <complexType name="ciType"> - <sequence> - <element name="attributes"> - <complexType> - <sequence> - <element name="attribute" minOccurs="0" maxOccurs="unbounded"> - <complexType> - <attribute name="value" type="string" use="required"/> - </complexType> - </element> - </sequence> - </complexType> - </element> - </sequence> - <attribute name="id" type="tns:ciIdType" use="required"/> - </complexType> - - <simpleType name="ciIdType"> - <restriction base="string"> - <pattern value="ci_\d+"/> - </restriction> - </simpleType> - - <complexType name="nelementsType"> - <sequence> - <element name="network_element" type="tns:neType" maxOccurs="unbounded"/> - </sequence> - </complexType> - - <complexType name="neType"> - <sequence> - <element name="eps-cps" type="tns:eps-cpsType"/> - <element name="monitoring_parameters" type="tns:monParamsType" nillable="true"/> - </sequence> - <attribute name="id" type="tns:neIdType" use="required"/> - <attribute name="type" type="string" use="required"/> - </complexType> - - <simpleType name="neIdType"> - <restriction base="string"> - <pattern value="ne_\d+"/> - </restriction> - </simpleType> - - <complexType name="eps-cpsType"> - <sequence> - <element name="ep-cp" type="tns:ep-cpType" minOccurs="0" maxOccurs="unbounded"/> - </sequence> - </complexType> - - <complexType name="ep-cpType"> - <sequence> - <element name="flowrules" type="tns:flowrulesType" minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <attribute name="id_ref" type="string" use="required"/> - </complexType> - - <complexType name="flowrulesType"> - <sequence> - <!-- da fare valutazioni analoghe al flowspace di sopra --> - <element name="flowspace"> - <complexType> - <sequence> - <group ref="tns:L2HeaderParameters"/> - <group ref="tns:L3HeaderParameters"/> - <group ref="tns:L4HeaderParameters"/> - </sequence> - <attribute name="ingPort" type="string" use="optional"/> - </complexType> - </element> - <element name="actions" type="tns:actionsType"/> - </sequence> - </complexType> - - <complexType name="actionsType"> - <sequence> - <element name="action" type="tns:actionType" maxOccurs="unbounded"/> - </sequence> - </complexType> - - <complexType name="actionType"> - <attribute name="type" type="tns:actionEnumType" use="required"/> - <attribute name="port" type="string" use="optional"/> - </complexType> - - <!-- controllare via SW che se l'aziione è output la porta deve esserci --> - <simpleType name="actionEnumType"> - <restriction base="string"> - <enumeration value="discard"/> - <enumeration value="output"/> - </restriction> - </simpleType> -</schema>
\ No newline at end of file |