Issue 7582: Lack of XML definition (swradio-ftf) Source: PrismTech (Mr. Gerald Lee Bickle, jerry.bickle@prismtechusa.com) Nature: Uncategorized Issue Severity: Summary: Comm channel data descriptors need to be defined in the annex (currently TBD) Rationale: Lack of XML definition Resolution: Revised Text: Section 8.2 Communication equipment Remove CharacteristicProperty from table in section 8.2. Communication Equipment. Remove Section 8.2.4 Property entirely Section 8.3.2 Communication Channel Replace Figure 8-33 Communication Channel Package Overview and title of figure Figure 8-33 Communication Channel Package To Figure 8-33 Communication Channel Types Overview Section 8.3.2.1 Channel, change description section From "Channel provides an abstract class definition by inheriting the UML Class definition. This abstract class definition is specialized by all of the stereotype definitions in the Communication Channel package." To "Channel provides an abstract class definition by extending the UML Class definition. This abstract class definition is specialized by all of the stereotype definitions in the Communication Channel section." Section 8.3.2.1 Channel, change attributes section Add <<characteristicproperty>> stereotype types to attributes as follows: From "? maxThroughput: Double Data throughput of the channel. For a dynamic channel, this property may change in run-time. ? isDynamic: Boolean Specifies whether the channel is a dynamic channel or not. A Dynamic channel is one whose definition can be changed in run-time by the application"" to "Attributes ? <<characteristicproperty>> maxThroughput: Double Data throughput of the channel. For a dynamic channel, this property may change in run-time. ? <<characteristicproperty>> isDynamic: Boolean Specifies whether the channel is a dynamic channel or not. A Dynamic channel is one whose definition can be changed in run-time by the application" Section 10 Platform Specific Model (PSM) Replace item number 2 in "Other non-CORBA PSM transforms (e.g., XML)" as follows: From "2. The UML Profile for SWRadio::Communicaiton Equipment and UML Profile for SWRadio::Infrastructure::Communication Channel maps to a SWRadio Channel and Communication Equipment XML definitions as specified in Annex J. Each communication equipment definition maps to an XML element definition." To "2. The UML Profile for SWRadio::Communication Equipment and UML Profile for SWRadio::Infrastructure::Communication Channel map to SWRadio Channel and Communication Equipment XML definitions as specified in Annex J. The mappings follow the transformation rules for components in item 1, above, and the following: · Communication Equipment o Each CommEquipment stereotype or UML Device definition maps to the CommEquipment XML element definition. The CommEquipment name and stereotype names map to the name and stereotypeName elements of the CommEquipment XML element. o All properties of the CommEquipment map to the properties of the CommEquipment XML element as specified in item 1 (Properties) above. o All ports (AnalogInputPort, AnalogOutputPort, and DigitalPort map to the ports element of the CommEquipment XML element. § The properties of all communication equipment ports map to the properties of the Port XML element as specified in item 1 (Properties) above. § The Port name and stereotype name map to the name and stereotypeName elements of the Port XML element. · Communication Channel o All Channel stereotypes map to the Channel XML element. o The properties of a Channel map to the properties element of the Channel XML element as specified in item 1 (Properties) above. o The Channel name and stereotype name map to the name and stereotypeName elements of the Channel XML element. o Associated Channels (LogicalPhysicalChannel, LogicalIOChannel, LogicalProcessingChannel, LogicalSecurityChannel) map to the subchannels XML element of the Channel XML element as references to their Channel XML element. o Associated CommEquipments map to the commEquipments element of the Channel XML element as references to their CommEquipment XML element. o Channel Connections map to connections element of the Channel XML element. A CommEquipmentConnector maps to the CommEquipmentConnector XML element." Annex I.1 SWRadio Properties XML (non-normative) Replace all the text in Annex I.1 SWRadio Properties XML with the following text: "<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SWRadio="http://schema.omg.org/SWRadio" targetNamespace="http://schema.omg.org/SWRadio"> <xsd:complexType name="ConfigureQuerySimpleProperty"> <xsd:sequence> <xsd:element name="stepSize" type="xsd:string" minOccurs="0"/> <xsd:element name="description" type="xsd:string" minOccurs="0"/> <xsd:element name="label" type="xsd:string" minOccurs="0"/> <xsd:element name="name" type="xsd:string"/> <xsd:element name="integerId" type="xsd:long" minOccurs="0"/> <xsd:element name="maxLatency" type="SWRadio:TimeType" minOccurs="0"/> <xsd:element name="range" type="SWRadio:Range" minOccurs="0"/> <xsd:element name="units" type="xsd:string" minOccurs="0"/> <xsd:element name="type" type="SWRadio:SimpleType"/> <xsd:element name="enumerations" type="SWRadio:Enumerations" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="value" type="xsd:string" minOccurs="0"/> </xsd:sequence> <xsd:attribute name="isReadOnly" type="xsd:boolean" use="optional" default="false"/> </xsd:complexType> <xsd:element name="ConfigureQuerySimpleProperty" type="SWRadio:ConfigureQuerySimpleProperty"/> <xsd:complexType name="EnumerationLiteral"> <xsd:sequence> <xsd:element name="label" type="xsd:string"/> <xsd:element name="value" type="xsd:string"/> </xsd:sequence> </xsd:complexType> <xsd:element name="EnumerationLiteral" type="SWRadio:EnumerationLiteral"/> <xsd:complexType name="StructProperty"> <xsd:sequence> <xsd:element name="description" type="xsd:string" minOccurs="0"/> <xsd:element name="label" type="xsd:string" minOccurs="0"/> <xsd:element name="name" type="xsd:string"/> <xsd:element name="integerId" type="xsd:long" minOccurs="0"/> <xsd:element name="maxLatency" type="SWRadio:TimeType" minOccurs="0"/> <xsd:element name="range" type="SWRadio:Range" minOccurs="0"/> <xsd:element name="units" type="xsd:string" minOccurs="0"/> <xsd:element name="simple" type="SWRadio:SimpleProperty" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:element name="StructProperty" type="SWRadio:StructProperty"/> <xsd:complexType name="StructSequenceProperty"> <xsd:sequence> <xsd:element name="stepSize" type="xsd:string" minOccurs="0"/> <xsd:element name="description" type="xsd:string" minOccurs="0"/> <xsd:element name="label" type="xsd:string" minOccurs="0"/> <xsd:element name="name" type="xsd:string"/> <xsd:element name="integerId" type="xsd:long" minOccurs="0"/> <xsd:element name="maxLatency" type="SWRadio:TimeType" minOccurs="0"/> <xsd:element name="range" type="SWRadio:Range" minOccurs="0"/> <xsd:element name="units" type="xsd:string" minOccurs="0"/> <xsd:element name="structValues" type="SWRadio:StructProperty" maxOccurs="unbounded"/> </xsd:sequence> <xsd:attribute name="isReadOnly" type="xsd:boolean" use="optional" default="false"/> </xsd:complexType> <xsd:element name="StructSequenceProperty" type="SWRadio:StructSequenceProperty"/> <xsd:complexType name="TestProperty"> <xsd:sequence> <xsd:element name="description" type="xsd:string" minOccurs="0"/> <xsd:element name="label" type="xsd:string" minOccurs="0"/> <xsd:element name="name" type="xsd:string"/> <xsd:element name="integerId" type="xsd:long" minOccurs="0"/> <xsd:element name="maxLatency" type="SWRadio:TimeType" minOccurs="0"/> <xsd:element name="range" type="SWRadio:Range" minOccurs="0"/> <xsd:element name="units" type="xsd:string" minOccurs="0"/> <xsd:element name="inputValue" type="SWRadio:SimpleProperty" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="resultValue" type="SWRadio:SimpleProperty" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:element name="TestProperty" type="SWRadio:TestProperty"/> <xsd:complexType name="ExecutableProperty"> <xsd:sequence> <xsd:element name="description" type="xsd:string" minOccurs="0"/> <xsd:element name="label" type="xsd:string" minOccurs="0"/> <xsd:element name="name" type="xsd:string"/> <xsd:element name="integerId" type="xsd:long" minOccurs="0"/> <xsd:element name="maxLatency" type="SWRadio:TimeType" minOccurs="0"/> <xsd:element name="range" type="SWRadio:Range" minOccurs="0"/> <xsd:element name="units" type="xsd:string" minOccurs="0"/> <xsd:element name="type" type="SWRadio:SimpleType"/> <xsd:element name="enumerations" type="SWRadio:Enumerations" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="value" type="xsd:string" minOccurs="0"/> <xsd:element name="queryable" type="xsd:string"/> </xsd:sequence> </xsd:complexType> <xsd:element name="ExecutableProperty" type="SWRadio:ExecutableProperty"/> <xsd:complexType name="SimpleProperty"> <xsd:sequence> <xsd:element name="description" type="xsd:string" minOccurs="0"/> <xsd:element name="label" type="xsd:string" minOccurs="0"/> <xsd:element name="name" type="xsd:string"/> <xsd:element name="integerId" type="xsd:long" minOccurs="0"/> <xsd:element name="maxLatency" type="SWRadio:TimeType" minOccurs="0"/> <xsd:element name="range" type="SWRadio:Range" minOccurs="0"/> <xsd:element name="units" type="xsd:string" minOccurs="0"/> <xsd:element name="type" type="SWRadio:SimpleType"/> <xsd:element name="enumerations" type="SWRadio:Enumerations" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="value" type="xsd:string"/> </xsd:sequence> </xsd:complexType> <xsd:element name="SimpleProperty" type="SWRadio:SimpleProperty"/> <xsd:complexType name="CapacityProperty"> <xsd:sequence> <xsd:element name="capabilityModel" type="xsd:string" minOccurs="0"/> <xsd:element name="locallyManaged" type="xsd:boolean" minOccurs="0"/> <xsd:element name="description" type="xsd:string" minOccurs="0"/> <xsd:element name="label" type="xsd:string" minOccurs="0"/> <xsd:element name="name" type="xsd:string"/> <xsd:element name="integerId" type="xsd:long" minOccurs="0"/> <xsd:element name="maxLatency" type="SWRadio:TimeType" minOccurs="0"/> <xsd:element name="range" type="SWRadio:Range" minOccurs="0"/> <xsd:element name="units" type="xsd:string" minOccurs="0"/> <xsd:element name="type" type="SWRadio:SimpleType"/> <xsd:element name="enumerations" type="SWRadio:Enumerations" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="value" type="xsd:string" minOccurs="0"/> </xsd:sequence> </xsd:complexType> <xsd:element name="CapacityProperty" type="SWRadio:CapacityProperty"/> <xsd:complexType name="CharacteristicProperty"> <xsd:sequence> <xsd:element name="capabilityModel" type="xsd:string" minOccurs="0"/> <xsd:element name="locallyManaged" type="xsd:boolean" minOccurs="0"/> <xsd:element name="description" type="xsd:string" minOccurs="0"/> <xsd:element name="label" type="xsd:string" minOccurs="0"/> <xsd:element name="name" type="xsd:string"/> <xsd:element name="integerId" type="xsd:long" minOccurs="0"/> <xsd:element name="maxLatency" type="SWRadio:TimeType" minOccurs="0"/> <xsd:element name="range" type="SWRadio:Range" minOccurs="0"/> <xsd:element name="units" type="xsd:string" minOccurs="0"/> <xsd:element name="type" type="SWRadio:SimpleType"/> <xsd:element name="enumerations" type="SWRadio:Enumerations" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="value" type="xsd:string" minOccurs="0"/> </xsd:sequence> </xsd:complexType> <xsd:element name="CharacteristicProperty" type="SWRadio:CharacteristicProperty"/> <xsd:complexType name="ConfigureQuerySimpleSeqProperty"> <xsd:sequence> <xsd:element name="stepSize" type="xsd:string" minOccurs="0"/> <xsd:element name="description" type="xsd:string" minOccurs="0"/> <xsd:element name="label" type="xsd:string" minOccurs="0"/> <xsd:element name="name" type="xsd:string"/> <xsd:element name="integerId" type="xsd:long" minOccurs="0"/> <xsd:element name="maxLatency" type="SWRadio:TimeType" minOccurs="0"/> <xsd:element name="range" type="SWRadio:Range" minOccurs="0"/> <xsd:element name="units" type="xsd:string" minOccurs="0"/> <xsd:element name="type" type="SWRadio:SimpleType"/> <xsd:element name="enumerations" type="SWRadio:Enumerations" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="value" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:attribute name="isReadOnly" type="xsd:boolean" use="optional" default="false"/> </xsd:complexType> <xsd:element name="ConfigureQuerySimpleSeqProperty" type="SWRadio:ConfigureQuerySimpleSeqProperty"/> <xsd:complexType name="CharacteristicSelectionProperty"> <xsd:sequence> <xsd:element name="capabilityModel" type="xsd:string" minOccurs="0"/> <xsd:element name="locallyManaged" type="xsd:boolean" minOccurs="0"/> <xsd:element name="description" type="xsd:string" minOccurs="0"/> <xsd:element name="label" type="xsd:string" minOccurs="0"/> <xsd:element name="name" type="xsd:string"/> <xsd:element name="integerId" type="xsd:long" minOccurs="0"/> <xsd:element name="maxLatency" type="SWRadio:TimeType" minOccurs="0"/> <xsd:element name="range" type="SWRadio:Range" minOccurs="0"/> <xsd:element name="units" type="xsd:string" minOccurs="0"/> <xsd:element name="type" type="SWRadio:SimpleType"/> <xsd:element name="enumerations" type="SWRadio:Enumerations" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="value" type="xsd:string" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:element name="CharacteristicSelectionProperty" type="SWRadio:CharacteristicSelectionProperty"/> <xsd:complexType name="CharacteristicSetProperty"> <xsd:sequence> <xsd:element name="capabilityModel" type="xsd:string" minOccurs="0"/> <xsd:element name="locallyManaged" type="xsd:boolean" minOccurs="0"/> <xsd:element name="description" type="xsd:string" minOccurs="0"/> <xsd:element name="label" type="xsd:string" minOccurs="0"/> <xsd:element name="name" type="xsd:string"/> <xsd:element name="integerId" type="xsd:long" minOccurs="0"/> <xsd:element name="maxLatency" type="SWRadio:TimeType" minOccurs="0"/> <xsd:element name="range" type="SWRadio:Range" minOccurs="0"/> <xsd:element name="units" type="xsd:string" minOccurs="0"/> <xsd:element name="characterisitics" type="SWRadio:StructProperty" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:element name="CharacteristicSetProperty" type="SWRadio:CharacteristicSetProperty"/> <xsd:complexType name="Range"> <xsd:sequence> <xsd:element name="min" type="xsd:string"/> <xsd:element name="max" type="xsd:string"/> </xsd:sequence> </xsd:complexType> <xsd:element name="Range" type="SWRadio:Range"/> <xsd:complexType name="TimeType"> <xsd:sequence> <xsd:element name="seconds" type="xsd:unsignedLong"/> <xsd:element name="nanoseconds" type="xsd:unsignedLong"/> </xsd:sequence> </xsd:complexType> <xsd:element name="TimeType" type="SWRadio:TimeType"/> <xsd:complexType name="ConfigureQueryStructProperty"> <xsd:sequence> <xsd:element name="description" type="xsd:string" minOccurs="0"/> <xsd:element name="label" type="xsd:string" minOccurs="0"/> <xsd:element name="name" type="xsd:string"/> <xsd:element name="integerId" type="xsd:long" minOccurs="0"/> <xsd:element name="maxLatency" type="SWRadio:TimeType" minOccurs="0"/> <xsd:element name="range" type="SWRadio:Range" minOccurs="0"/> <xsd:element name="units" type="xsd:string" minOccurs="0"/> <xsd:element name="simple" type="SWRadio:SimpleProperty" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="stepSize" type="xsd:string" minOccurs="0"/> </xsd:sequence> <xsd:attribute name="isReadOnly" type="xsd:boolean" use="optional" default="false"/> </xsd:complexType> <xsd:element name="ConfigureQueryStructProperty" type="SWRadio:ConfigureQueryStructProperty"/> <xsd:complexType name="Enumerations"> <xsd:sequence> <xsd:element name="enumerationLiteral" type="SWRadio:EnumerationLiteral" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:element name="Enumerations" type="SWRadio:Enumerations"/> <xsd:simpleType name="SimpleType"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="boolean"/> <xsd:enumeration value="char"/> <xsd:enumeration value="double"/> <xsd:enumeration value="float"/> <xsd:enumeration value="short"/> <xsd:enumeration value="long"/> <xsd:enumeration value="longlong"/> <xsd:enumeration value="objref"/> <xsd:enumeration value="octet"/> <xsd:enumeration value="string"/> <xsd:enumeration value="ulong"/> <xsd:enumeration value="ulonglong"/> <xsd:enumeration value="ushort"/> <xsd:enumeration value="wchar"/> <xsd:enumeration value="wstring"/> <xsd:enumeration value="longdouble"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="Properties"> <xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:element ref="SWRadio:ConfigureQuerySimpleProperty"/> <xsd:element ref="SWRadio:TestProperty"/> <xsd:element ref="SWRadio:ExecutableProperty"/> <xsd:element ref="SWRadio:CapacityProperty"/> <xsd:element ref="SWRadio:CharacteristicProperty"/> <xsd:element ref="SWRadio:ConfigureQuerySimpleSeqProperty"/> <xsd:element ref="SWRadio:CharacteristicSelectionProperty"/> <xsd:element ref="SWRadio:CharacteristicSetProperty"/> <xsd:element ref="SWRadio:ConfigureQueryStructProperty"/> </xsd:choice> </xsd:complexType> <xsd:element name="Properties" type="SWRadio:Properties"/> </xsd:schema>" Annex J Communication Channel XML (non-normative) Add text to section as follows: "<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SWRadio="http://schema.omg.org/SWRadio" targetNamespace="http://schema.omg.org/SWRadio"> <xsd:include schemaLocation="D:\\SWRadio\Properties.xsd"/> <xsd:complexType name="CommEquipment"> <xsd:sequence> <xsd:element name="name" type="xsd:string"/> <xsd:element name="stereotypeName" type="xsd:string"/> <xsd:element name="properties" type="SWRadio:Properties"/> <xsd:element name="ports" type="SWRadio:Ports"/> </xsd:sequence> </xsd:complexType> <xsd:element name="CommEquipment" type="SWRadio:CommEquipment"/> <xsd:complexType name="Port"> <xsd:sequence> <xsd:element name="name" type="xsd:string"/> <xsd:element name="stereotypeName" type="xsd:string"/> <xsd:element name="properties" type="SWRadio:Properties" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:element name="Port" type="SWRadio:Port"/> <xsd:complexType name="CommEquipmentConnector"> <xsd:sequence> <xsd:element name="name" type="xsd:string"/> <xsd:element name="sinkPortName" type="xsd:string"/> <xsd:element name="sinkCommEquipmentName" type="xsd:string"/> <xsd:element name="sourcePortName" type="xsd:string"/> <xsd:element name="sourceCommEquipmentName" type="xsd:string"/> </xsd:sequence> </xsd:complexType> <xsd:element name="CommEquipmentConnector" type="SWRadio:CommEquipmentConnector"/> <xsd:complexType name="Channel"> <xsd:sequence> <xsd:element name="name" type="xsd:string"/> <xsd:element name="stereotypeName" type="xsd:string"/> <xsd:element name="properties" type="SWRadio:Properties"/> <xsd:element name="subchannels" type="SWRadio:References" minOccurs="0"/> <xsd:element name="commEquipments" type="SWRadio:References" minOccurs="0"/> <xsd:element name="connections" type="SWRadio:Connections" minOccurs="0"/> </xsd:sequence> </xsd:complexType> <xsd:element name="Channel" type="SWRadio:Channel"/> <xsd:complexType name="Ports"> <xsd:sequence> <xsd:element name="port" type="SWRadio:Port" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:element name="Ports" type="SWRadio:Ports"/> <xsd:complexType name="References"> <xsd:sequence> <xsd:element name="nameRef" type="xsd:string" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:element name="References" type="SWRadio:References"/> <xsd:complexType name="Connections"> <xsd:sequence> <xsd:element name="connection" type="SWRadio:CommEquipmentConnector" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:element name="Connections" type="SWRadio:Connections"/> <xsd:complexType name="CommChannel"> <xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:element ref="SWRadio:CommEquipment"/> <xsd:element ref="SWRadio:Channel"/> </xsd:choice> </xsd:complexType> <xsd:element name="CommChannel" type="SWRadio:CommChannel" /> </xsd:schema>" Disposition: Resolved Actions taken: July 13, 2004: received issue March 8, 2006: closed issue Discussion: Discussion: · Jerry will take care of them after he is done with the OCL issues. · Now that the properties resolution is in place, it will be easier to handle this issue · Tansu will provide a resolution for issue 7703 adding sections Databus, Interconnect etc. This needs to be done before the XML elements. Disposition: Deferred 1. Remove CharacteristicProperty from Communication Equipment. Use the definitions that are in the Properties section 8.1.3. 2. Make Channel an extension of Class, not a specialization 3. Make Channel attributes CharacteristicProperty types. 4. The Properties XML is modified to make the locallyManaged and capabilityModel elements optional so they can be used by CommEquipment definition. 5. Update the rose model based upon changes below. End of Annotations:===== ssue 5: Comm channel data descriptors need to be defined in the annex (currently TBD) Rationale: Lack of XML definition