Issues for Mailing list of the PIM & PSM For Software Radio Finalization Task Force
To comment on any of these issues, send email to swradio-ftf@omg.org. (Please include the issue number in the Subject: header, thusly: [Issue ###].) To submit a new issue, send email to issues@omg.org.
(red=unresolved; yellow=pending Board vote)
Issue 7853: Section 9.2.6.1 IStream localSetup operation
Issue 7869: Unable to import the UML Profile for SWRadio into another UML tool
Issue 7894: A port may have characteristics
Issue 8697: SWRadio UML Model is not referenced in the spec
Issue 7578: A provided port can have multiple interfaces (swradio-ftf)
Click here for this issue's archive.
Source: PrismTech (Mr. Gerald Lee Bickle, jerry.bickle@prismtechusa.com)
Nature: Uncategorized Issue
Severity:
Summary: Issue 1. Unable to retrieve a specific provided interface for a port
(PortSupplier getPort operation)
Proposed Solution: Add additional parameter to the getPort operation to
qualify which provided interface object reference is needed from the
getPort operation.
Rationale: A provided port can have multiple interfaces
Resolution:
Revised Text:
Actions taken:
July 13, 2004: received issue
August 2, 2005: closed issue
Discussion: Resolution:
As part of the resolution to issue 7953, a constraint has been added that states each port has a set of 1 required and 1 provided interface at most. This invalidates issue 7578. Hence, issue 7578 should be closed with no change required to the specification based on the resolution for issue 7953.
Revised Text:
N/A
Disposition: Closed, no change
Issue 7579: Obtaining resource provided interfaces during deployment (swradio-ftf)
Click here for this issue's archive.
Source: PrismTech (Mr. Gerald Lee Bickle, jerry.bickle@prismtechusa.com)
Nature: Uncategorized Issue
Severity:
Summary: Obtaining resource provided interfaces during deployment. Does it
make sense to retrieve a set of provided interfaces from a resource?
Proposed Solution: Modify getPort operation to return a list back or add a
new operation.
Rationale: Efficiency could be achieved by returning all the provided or
the requested interfaces from a resource thus eliminating multiple calls to
a resource.
Resolution:
Revised Text: Resolution:
As per resolution of issue 7953, the definition of Port in the UML Profile for Software Radio is restricted to at most 1 provided and 1 required interface. As such, a provided port which is the return result of this operation will have only one interface. However, as it is possible for a component to have more than one provided port, PortSupplier::getPort operation will be modified to allow to retrieve a set of one or more desired provided ports for a component.
Another consideration in support of the above resolution is performance efficiency. The getPort operation will be used quite frequently to retrieve the set of provided ports for a component during application instantiation for component connections. Having an operation that can return a list back, vs. numerous calls to return a provided port back one at a time is a lot more efficient.
In implementing the above change, the getPort operation should behave like PropertySet::query and provide the implementers with the option to return all provided interfaces or just one. This also provides backward compatibility with the SCA and familiarity for SCA developers who are comfortable with the SCA CF::PropertySet interface.
Additionally, the name of the operation should be modified to reflect the true intent of the operation, which will be to return a set of one or more provided ports for a component.
Revised Text:
1. Section 8.1.4.5 (PortSupplier), Description Section
Modify the getPort operation as follows:
From
"This interface provides the getPort operation for components that have provided ports."
To
"This interface provides the getProvidedPorts operation for components that have provided ports."
2. Section 8.1.4.5 (PortSupplier), Operations Section
Modify the getPort operation as follows:
From
"getPort(in name: String, return Port): {raises = ( UnknownPort )}
The getPort operation provides a mechanism to obtain a specific provided Port. The getPort operation shall return the provided port reference that is associated with the input port name parameter. The getPort operation shall support all of the provided ports identified in the component's descriptor. The getPort opera-tion shall raise UnknownPort if the port name is not found."
To
"getProvidedPorts(inout ports: PortSequence): {raises = ( UnknownPorts )}
The getProvidedPorts operation provides a mechanism to obtain a component's provided ports in form of a sequence of name/value pairs, where each name corresponds to a provided port's name and the corresponding value is the provided port reference to be returned. The getProvidedPorts operation shall return all the component provided ports if the ports argument is zero size. The getProvidedPorts operation shall return only those provided ports specified in the ports argument if the ports argument is not zero size. The getProvidedPorts operation shall support all of the provided ports identified in the component's descriptor. The getProvidedPorts operation shall raise UnknownPorts when one or more provided port names being requested are not known by the component."
3. Section 8.1.4.5 (PortSupplier), Types and Exceptions Section
Add the following types:
"PortType (name: String, objectRef: Port)
PortType defines a structure that associates a name with a port.
PortSequence
PortSequence provides an unbounded sequence of PortType.
4. Section 8.1.4.5 (PortSupplier), Types and Exceptions Section
Change the UnknownPort exception as follows:
From
"<<exception>>UnknownPort
The UnknownPort exception is raised if an undefined provided port is request-ed."
To
"<<exception>>UnknownPorts (invalidPorts: StringSequence)
The UnknownPorts exception is raised when one or more provided ports being requested are not known by the component. The invalidPorts attribute returned indicates the requested provided ports that were invalid."
5. Section 8.3.4.2.1 (Application), Operations Section
Modify the getPort operation as follows:
From
"getPort (in name: String): {raises ( UnknownPort )}
The getPort operation returns object references only for input port names that match the external port names that are in the Application's component assembly descriptor.."
To
"getProvidedPorts (inout ports: PortSequenceType): {raises ( UnknownPorts )}
The getProvidedPorts operation returns object references only for input port names that match the external provided port names that are in the Application's component assembly descriptor. In the ports name/value pair sequence, each name corresponds to an external provided port name and each value corresponds to the object reference of the external provided port to be returned. The getProvidedPorts operation shall return all the external provided ports if the ports argument is zero size. The getProvidedPorts operation shall return only those provided ports specified in the ports argument if the ports argument is not zero size. The getProvidedPorts operation shall raise an UnknownPorts exception when one or more requested provided ports are invalid."
6. Section 8.3.4.2.2 (ApplicationFactory), Semantics Section
Change the following sentence
From
"The create operation obtains provider ports in accordance with the Application's component assembly via PortSupplier's getPort operation."
To
"The create operation obtains provider ports in accordance with the Application's component assembly via PortSupplier's getProvidedPorts operation."
7. ManagedCommChannel Description
Modify 9.6.1.3 ManagedCommChannel Description section
From
"The <<commchannel>> ManagedCommChannel component takes on the definition as described in the UML Profile for SWRadio::Infrastructure::Radio Management in addition to the specializations of the CommChannel
and ManagedServiceComponent (UML Profile for SWRadio::Infrastructure::Radio Services)."
To
"The <<managedservicecomponent>> ManagedCommChannel component takes on the definition as described in the UML Profile for SWRadio::Infrastructure::Radio Services in addition to the specialization of the CommChannel."
8. ManagedRadioManager Description
Modify 9.6.1.4 ManagedRadioManager Description section
From
"The <<radiomanager>> ManagedRadioManager component takes on the definition as described in the UML Pro-
file for SWRadio::Infrastructure::Radio Management in addition to the specializations of the RadioManager and ManagedServiceComponent (UML Profile for SWRadio::Infrastructure::Radio Services). The ManagedRadioManager provides the mechanism of a managed RadioManager with state behavior."
To
"The <<managedservicecomponent>> ManagedRadioManager component takes on the definition as described in the UML Profile for SWRadio::Infrastructure::Radio Services in addition to the specialization of the RadioManager. The ManagedRadioManager provides the mechanism for a managed RadioManager with state behavior."
9. Rose Model and IDL Files
Reflect the described changes to PortSupplier, DomainManager, and DeviceManager in the Rose Model and IDL files.
Actions taken:
July 13, 2004: received issue
August 2, 2005: closed issue
Issue 7580: DisconnectPort operation (swradio-ftf)
Click here for this issue's archive.
Source: PrismTech (Mr. Gerald Lee Bickle, jerry.bickle@prismtechusa.com)
Nature: Uncategorized Issue
Severity:
Summary: DisconnectPort operation does not indicate, which required port
the disconnection is for.
Proposed Solution: add requiredPort name parameter to disconnectPort
operation.
Rationale: This is necessary unless connection id is unique at the resource
level not at the required port level.Connection ID and required port name
are parameters for the connectPort operations.
Resolution:
Revised Text: Resolution:
Add requiredPort name parameter to disconnectPort operation. This is necessary unless connection id is unique at the resource level not at the required port level. Connection ID and required port name are parameters for the connectPort operations.
Revised Text:
1. Section 8.1.4.4 (PortConnector), Operations Section
Modify the disconnectPort operation as follows:
From
"disconnectPort (in connectionId: String): {raises = (InvalidPort)}
The disconnectPort operation shall break the connection to the component identified by connectionId. The disconnectPort operation shall raise InvalidPort when connectionId passed to disconnectPort is not connected or associated with the component. This operation does not return a value."
To
"disconnectPort (in requiredPortName: String, in connectionId: String): {raises = (InvalidPort)}
The disconnectPort operation shall break the connection to the component. The connection is identified by requiredPortName and connectionId. The disconnectPort operation shall raise InvalidPort when the requiredPortName or connectionId passed to disconnectPort is not connected or associated with the component. This operation does not return a value."
2. Section 8.1.4.4 (PortConnector), Semantics Section
Modify the following sentences as follows:
From
"The input connectionId is a unique identifier used by disconnectPort when breaking this specific connection. The connectionId is unique at the component level not at the required port level."
To
"The input connectionId is a unique identifier used by disconnectPort when breaking this specific connection from the required port identified by the input requiredPortName. The connectionId is unique at the required port level."
3. Rose Model and IDL Files
Modify the synopsis of the PortConnector::disconnectPort operation in the Rose Model and IDL files as described.
Actions taken:
July 13, 2004: received issue
August 2, 2005: closed issue
Issue 7581: file Service becomes part of the CF name space. (swradio-ftf)
Click here for this issue's archive.
Source: PrismTech (Mr. Gerald Lee Bickle, jerry.bickle@prismtechusa.com)
Nature: Uncategorized Issue
Severity:
Summary: Circular Dependency between CF and File Services IDL Name space.
This got introduced from the errata.
Proposed Solution: file Service becomes part of the CF name space.
Resolution:
Revised Text: Resolution:
file Service becomes part of the CF name space.
Rest of the resolution is discussed below.
Revised Text:
Section 9.1
Remove Section 9.1 Common Radio Facilities and move section 9.1 .1 File Services and its subsection to new section 8.3.1.7 File Services. Reword last sentence in section 8.3.1 from "The following subsections provide the definitions for IStateManagement, ManagedServiceComponent, ServiceComponent, and CapabilityModel(s)." to "The following subsections provide the definitions for IStateManagement, ManagedServiceComponent, ServiceComponent, CapabilityModel(s), and File Services.".
CF Devices Interfaces IDL
Replace IDL text in section A.4 CF Devices Interfaces with the following text:
Update IDL by replacing two statements:
· #include "DsFileSystem.idl" with #include "CFFileSystem.idl"
· Replace load operation with
void load (
in FileSystem fs,
in string fileName,
in LoadType loadKind
)
raises (InvalidState,InvalidLoadKind,InvalidFileName,LoadFail);
The resulting IDL is as follows:
//Source file: CFDevices.idl
#ifndef __CFDEVICES_DEFINED
#define __CFDEVICES_DEFINED
#include "CFResources.idl"
#include "CFFileSystem.idl"
#include "CFStateManagement.idl"
#include "CFBaseTypes.idl"
#include "CFCommonTypes.idl"
#ifdef _PRE_3_0_COMPILER_
#pragma prefix "omg.org"
#endif
module CF {
interface DeviceAggregation;
interface Device;
typedef sequence <Device> DeviceSequence;
interface DeviceAggregation {
readonly attribute DeviceSequence devices;
void addDevice (
in Device associatedDevice
)
raises (InvalidObjectReference);
void removeDevice (
in Device associatedDevice
)
raises (InvalidObjectReference);
};
interface Device : Resource, StateManagement {
exception InvalidState {
string msg;
};
exception InvalidCapacity {
string msg;
Properties capacities;
};
readonly attribute string softwareProfile;
readonly attribute string label;
readonly attribute DeviceAggregation compositeDevice;
boolean allocateCapacity (
in Properties capacities
)
raises (InvalidCapacity,InvalidState);
void deallocateCapacity (
in Properties capacities
)
raises (InvalidCapacity,InvalidState);
};
interface LoadableDevice : Device {
enum LoadType {
KERNEL_MODULE,
SHARED_LIBRARY,
DRIVER,
EXECUTABLE
};
exception InvalidLoadKind {
};
exception LoadFail {
ErrorNumberType errorNumber;
string msg;
};
void load (
in FileSystem fs,
in string fileName,
in LoadType loadKind
)
raises (InvalidState,InvalidLoadKind,InvalidFileName,LoadFail);
void unload (
in string fileName
)
raises (InvalidState,InvalidFileName);
};
interface ExecutableDevice : LoadableDevice {
exception InvalidProcess {
ErrorNumberType errorNumber;
string msg;
};
exception InvalidFunction {
};
typedef unsigned long ProcessID_Type;
exception InvalidParameters {
Properties invalidParms;
};
exception InvalidOptions {
Properties invalidOpts;
};
const string STACK_SIZE = "STACK_SIZE";
const string PRIORITY_ID = "PRIORITY";
exception ExecuteFail {
ErrorNumberType errorNumber;
string msg;
};
const string THREAD_CREATE_REQUEST = "CREATE_THREAD";
const string RUNTIME_OPTIONS = "RUNTIME_OPTIONS";
const string RUNTIME_REQUEST = "RUNTIME_REQUEST";
void terminate (
in ProcessID_Type processId
)
raises (InvalidProcess,InvalidState);
ProcessID_Type execute (
in string name,
in Properties options,
in Properties parameters
)
raises (InvalidState,InvalidFunction,InvalidParameters,InvalidOptions,InvalidFileName,ExecuteFail);
};
};
#endif
Update IDL text in section A.6.4 CF Domain Manager Interface with the following text:
· Replace "#include "DsFileManager.idl"" with "#include "CFFileManager.idl" "
· Replace fileMgr attribute with "readonly attribute FileManager fileMgr;"
· The resulting IDL is as follows:
//Source file: CFDomainManager.idl
#ifndef __CFDOMAINMANAGER_DEFINED
#define __CFDOMAINMANAGER_DEFINED
#include "CFDeviceManager.idl"
#include "CFFileManager.idl"
#include "CFResources.idl"
#include "CFApplications.idl"
#ifdef _PRE_3_0_COMPILER_
#pragma prefix "omg.org"
#endif
module CF {
interface DomainManager : PropertySet, PortSupplier, ComponentIdentifier {
typedef sequence <Application> ApplicationSequence;
typedef sequence <ApplicationFactory> ApplicationFactorySequence;
typedef sequence <DeviceManager> DeviceManagerSequence;
readonly attribute DeviceManagerSequence deviceManagers;
readonly attribute ApplicationSequence applications;
readonly attribute ApplicationFactorySequence applicationFactories;
readonly attribute FileManager fileMgr;
readonly attribute string domainManagerProfile;
boolean portExists (
in string portName
);
};
};
#endif
Rename Annex C.1 File Services to Annex C.1 CF File Services
Rename Annex C.1.1 DS File Interface to CF File Interface
Replace IDL Text in Annex C.1.1 CF File Interface with the following text:
//Source file: CFFile.idl
#ifndef __CFFILE_DEFINED
#define __CFFILE_DEFINED
#include "CFCommonTypes.idl"
#ifdef _PRE_3_0_COMPILER_
#pragma prefix "omg.org"
#endif
module CF {
exception FileException {
ErrorNumberType errorNumber;
string msg;
};
interface File {
exception IOException {
ErrorNumberType errorNumber;
string msg;
};
exception InvalidFilePointer {
};
readonly attribute string fileName;
readonly attribute unsigned long filePointer;
void read (
out OctetSequence data,
in unsigned long length
)
raises (IOException);
void write (
in OctetSequence data
)
raises (IOException);
unsigned long sizeOf ()
raises (FileException);
void close ()
raises (FileException);
void setFilePointer (
in unsigned long filePointer
)
raises (InvalidFilePointer,FileException);
};
};
#endif
Replace IDL Text in Annex C.1.2 FileSystem with the following text:
//Source file: CFFileSystem.idl
#ifndef __CFFILESYSTEM_DEFINED
#define __CFFILESYSTEM_DEFINED
#include "CFFile.idl"
#ifdef _PRE_3_0_COMPILER_
#pragma prefix "omg.org"
#endif
module CF {
interface FileSystem {
exception UnknownFileSystemProperties {
Properties invalidProperties;
};
const string SIZE = "SIZE";
const string AVAILABLE_SIZE = "AVAILABLE_SPACE";
enum FileType {
PLAIN,
DIRECTORY,
FILE_SYSTEM
};
struct FileInformationType {
string name;
FileType kind;
unsigned long long size;
Properties fileProperties;
};
typedef sequence <FileInformationType> FileInformationSequence;
const string CREATED_TIME_ID = "CREATED_TIME";
const string MODIFIED_TIME_ID = "MODIFIED_TIME";
const string LAST_ACCESS_TIME_ID = "LAST_ACCESS_TIME";
void remove (
in string fileName
)
raises (FileException,InvalidFileName);
void copy (
in string sourceFileName,
in string destinationFileName
)
raises (InvalidFileName,FileException);
boolean exists (
in string fileName
)
raises (InvalidFileName);
FileInformationSequence list (
in string pattern
)
raises (FileException,InvalidFileName);
File create (
in string fileName
)
raises (InvalidFileName,FileException);
File open (
in string fileName,
in boolean read_Only
)
raises (InvalidFileName,FileException);
void mkdir (
in string directoryName
)
raises (InvalidFileName,FileException);
void rmdir (
in string directoryName
)
raises (InvalidFileName,FileException);
void query (
inout Properties fileSystemProperties
)
raises (UnknownFileSystemProperties);
};
};
#endif
Replace IDL Text in Annex C.1.3 FileManager with the following text
//Source file: CFFileManager.idl
#ifndef __CFFILEMANAGER_DEFINED
#define __CFFILEMANAGER_DEFINED
#include "CFFileSystem.idl"
#ifdef _PRE_3_0_COMPILER_
#pragma prefix "omg.org"
#endif
module CF {
interface FileManager : FileSystem {
struct MountType {
FileSystem fs;
string mountPoint;
};
typedef sequence <MountType> MountSequence;
exception NonExistentMount {
};
exception InvalidFileSystem {
};
exception MountPointAlreadyExists {
};
void mount (
in string mountPoint,
in FileSystem file_System
)
raises (InvalidFileName,InvalidFileSystem,MountPointAlreadyExists);
void unmount (
in string mountPoint
)
raises (NonExistentMount);
MountSequence getMounts ();
};
};
#endif
Update Table 10-14 Core Framework CORBA Module Overview
· Replace DsFile.idl with CFFile.idl
· Replace DsFileSystem.idl with CFFileSystem.idl
· Replace DsFileManager.idl with CFFileManager.idl
· Replace DsFileServices in Annex C with CF File Services in Annex C
Rose Files
Rose Cat files were updated. The File Services package was moved from PIM Facilities To UML profile for SWRadio in the Radio Services package.
Update DeviceManager IDL in A.5.2
· Replace "#include "DsFileSystem.idl"" with "#include "CFFileSystem.idl" "
· Replace fileSys attribute with "readonly attribute FileSystem fileSys;"
Actions taken:
July 13, 2004: received issue
August 2, 2005: closed issue
Discussion:
Issue 7582: Lack of XML definition (swradio-ftf)
Click here for this issue's archive.
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.
Issue 7584: Specify which interfaces are mandatory (swradio-ftf)
Click here for this issue's archive.
Source: PrismTech (Mr. Gerald Lee Bickle, jerry.bickle@prismtechusa.com)
Nature: Uncategorized Issue
Severity:
Summary: Specify which interfaces are mandatory, and which ports are
required for components
Rationale: Consistency and standardization of components, improves waveform
portability of code and XML descriptors.
Resolution:
Revised Text:
Actions taken:
July 13, 2004: received issue
April 19, 2007: closed no change
Discussion: Discussion:
October 7, 2004 FTF Telecon:
Jerry's suggestion for how to tackle the solution for this issue: Treat it as a base component definition. E.g. for an audio component, at a minimum, it should have these types of features. If audio or serial should have a required control or data port, we should specify that in the constraint section
Tansu Demirbilek provided the resolution included below, and this issue was included in the 1st ballot. However, there was some discussion on the scope of the provided resolution and the issue was pulled from the 1st ballot.
March 10, 2005 Telecon:
Jerry: Not sure if there is any more to be done here. Perhaps Tansu's already submitted resolution is fine. Tansu will touch base with Jerry during 2nd FTF.
Revised Text:
In Section 9.3.1.2.1, (ConnectionlessLink Component), pg 211, replace the following sentence in the Constraints section:
"ConnectionlessLinkComponent shall provide at least one bi-directional DataControl port."
with "ConnectionlessLinkComponent shall provide one ControlPort, at least one input DataControl port and at least one output DataControl port."
In Section 9.3.1.3.1, (AckConnectionlessLink Component), pg 214, replace the following sentence in the Constraints section:
"AckConnectionlessLinkComponent shall provide at least one bi-directional DataControl port."
with "AckConnectionlessLinkComponent shall provide one ControlPort, at least one input DataControl port and at least one output DataControl port."
In Section 9.3.1.4.2, (ConnectionLinkComponent), pg 220, replace the following sentence in the Constraints section:
"ConnectionLinkComponent shall provide at least one bi-directional DataControl port."
with "ConnectionLinkComponent shall provide one ControlPort and at least one StreamPort."
In Section 9.3.2.3, (MediumAccessController Component), pg 226, replace the following sentence in the Constraints section:
"The MediumAccessController Component shall provide at least one DataControl port."
with "MediumAccessController component shall provide one ControlPort, at least one input DataControl port and at least one output DataControl port."
In Section 9.5.2.1.1, (ModemComponent), pg 236, create a Constrains section and add this statement:
"ModemComponent shall provide one ControlPort and at least one DataControlPort or DataPort. All of the device definitions shown in Figure 9-74 that specialize ModemComponent shall provide these ports at a minimum."
In Section 9.5.2.2.1, (ModemComponent), pg 242, create a Constrains section and add this statement:
"RFIFComponent shall provide one ControlPort and at least one DataControlPort or DataPort. All of the device definitions shown in Figure 9-77 that specialize RFIFComponent shall provide these ports at a minimum."
Disposition: Deferred
Discussion:
Not sure if there is any more to be done here. Perhaps Tansu's already submitted resolution is fine. Tansu will touch base with Jerry during 2nd FTF.
2nd FTF will include the changes included with this issue and the disposition.
Disposition: Deferred Discussion:
No longer an issue. What is imporptant are the interfaces, and the components are there for references. We are only interested in platform service components being standardized and not the WFs. This issue has been overcome by events, In the Data Link Layer Facilities volume spec, DLL component definitions have constraints for the types of ports that needs to be supported.
Issue 7585: Break the spec into multiple volumes (swradio-ftf)
Click here for this issue's archive.
Source: PrismTech (Mr. Gerald Lee Bickle, jerry.bickle@prismtechusa.com)
Nature: Uncategorized Issue
Severity:
Summary: Break the spec into multiple volumes
Proposed solution: UML Profile for SWRadio and Facilities into a separate
document of the specification
Rationale: Easier to understand, separation of concepts
Resolution:
Revised Text: Component Framework Volume is as follows:
"1 Scope
This specification responds to the requirements set by "Request for Proposals for a Platform Independent Model (PIM) and CORBA Platform Specific Model (PSM)" (swradio/02-06-02) of radio infrastructure facilities that can be utilized in developing applications such as waveforms, which promotes the portability of applications across platforms such as Software Defined Radios (SDR).
The Component Framework specification is physically partitioned into two major chapters: UML Profile for Component Framework and PSM for CORBA IDL and XML. UML Profile for Component Framework defines a language for modeling application, service, and domain management components by extending the UML language. The profile is specified independently from the underlying middleware technology and is applicable for other domains besides SDR.
This specification also provides a mechanism for transforming the elements of the profile model into the platform specific model for CORBA IDL and XML. This mapping definition is given in the PSM (Chapter 8).
Finally, the specification provides different compliance points depending on the role the implementer of this specification plays. Those different roles and respective partitioning of this document is given in the Conformance (Chapter 2).
2 Conformance
There are two kinds of conformance with respect to the profile: conformance on the part of a model of a specific application, and conformance on the part of a MDA tool.
2.1 Conformance by a Model of a Specific Application
A UML model of a specific application either conforms to the profile or it does not. There are no categories of this kind of conformance. Such a UML model conforms to the profile if it satisfies all constraints imposed by the profile package.
2.2 Conformance by a Tool
2.2.1 Definition of Terms for Discussion of Tool Conformance
To support the discussion of conformance by a MDA tool, we define two terms: "identified subset of UML 2.0" and "all constructs defined by the profile." The identified subset of UML 2.0 for the profile is the set of packages contained in the UML 2.0 Superstructure specification Part 1 (Structure). Part 1 includes the following packages and the transitive closure of all packages contained by these packages and of all packages upon which these packages depend:
? Classes
? Composite Structures
? Components
? Deployments
Hereafter we sometimes use the abbreviated term identified subset to refer to the identified subset of UML 2.0. The term all constructs defined by the profile is defined to mean all constructs that are part of the package's identified subset of UML 2.0, plus all extensions to that subset that the profile defines. Thus this term includes UML constructs that are part of the identified subset but that are not extended by the profile.
2.2.2 Categories of Tool Conformance
A tool is considered to be a conformant simple modeling tool for the profile if it does both of the following:
? Supports expression of all constructs defined by the profile, via UML 2.0 notation.
? Supports the UML 2.0 XMI exchange mechanism for the identified subset and for UML 2.0 profiles.
A tool is considered to be a conformant CORBA/XML-based forward engineering tool for the profile if it does the following:
? Supports the PIM-to-PSM Mapping defined in Chapter 8.
? Produces applications PSMs that are conformant to the behavior defined in the PIM.
Alternately, if a tool only produces an application skeleton, the skeleton must not make it impossible for a full application based on the skeleton to qualify as a conformant application; in other words, the skeleton must be able to form the basis of a conformant application.
A forward engineering tool that targets a platform technology other than CORBA/XML can legitimately claim a degree of conformance to the profile and PIM derived from the Profile if it conforms to the PIM-to-PSM Mapping and produces applications PSMs that are conformant applications to the behavior in defined in the PIM, or produces application skeletons that can form the basis of conformant applications. In practice this requires the definition of an alternate PIM-PSM mapping.
A forward engineering tool of this nature for the platform "X" is considered to be a conformant X-Based forward engineering tool for the profile.
3 References
3.1 Normative References
3.1.1 UML and Profile Specifications
3.1.1.1 UML Language Specification
Unified Modeling Language (UML) Superstructure Specification Version 2.0 Formal OMG Specification, document number: formal/2005-07-04 The Object Management Group, July 2005 [http://www.omg.org]
Unified Modeling Language (UML) Infrastructure Specification Version 2.0 Formal OMG Specification, document number: formal/2005-07-05 The Object Management Group, July 2005 [http://www.omg.org]
3.1.1.2 OCL Language Specification
Object Constraint Language (OCL) Specification Version 2.0 Final Adopted OMG Specification, document number: ptc/2005-06-06 The Object Management Group, June 2005 [http://www.omg.org]
3.1.1.3 UML Profile for CORBA Specification
UML Profile for CORBA Specification V1.0 Formal OMG Specification, document number: formal/2002-04-01 The Object Management Group, April 2002 [http://www.omg.org]
3.1.2 CORBA Core Specifications
3.1.2.1 CORBA Specification
Common Object Request Broker (CORBA/IIOP), version 3.0.2 Formal OMG Specification, document number: formal/2002-12-06 The Object Management Group, December 2002 [http://www.omg.org]
3.2 Non-Normative References
3.2.1 Domain XML Profile
3.2.1.1 Domain XML Profile Files
Domain XML Profile Files Formal OMG document number:TBD The Object Management Group, TBD 2006 [http://www.omg.org]
4 Terms and Definitions
For the purposes of this document, the following terms and definitions apply.
Common Object Request Broker Architecture (CORBA)
An OMG distributed computing platform specification that is independent of implementation languages.
Component
A component can always be considered an autonomous unit within a system or subsystem. It can realize interfaces and usually has one or more ports, and its internals are hidden and inaccessible other than as provided by its interfaces. A component represents a modular part of a system that encapsulates its contents and whose manifestation is replaceable within its environment. A component exposes a set of ports that define the component specification in terms of provided and required interfaces. As such, a component serves as a type, whose conformance is defined by these provided and required interfaces (encompassing both their static as well as dynamic semantics).
Facility
An environment providing a realization of certain functionality through set of well defined interfaces.
Interface Definition Language (IDL)
An OMG and ISO standard language for specifying interfaces and associated data structures.
Logical Device
A software component that is an abstraction of a hardware device it represents.
Mapping
The Specification of a mechanism for transforming the elements of a model conforming to a particular metamodel into elements of another model that conforms to another (possibly the same) metamodel.
Metadata
The Data that represents models. For example, a UML model; a CORBA object model expressed in IDL; and a
relational database schema expressed using CWM.
Metamodel
A model of models.
Meta Object Facility (MOF)
An OMG standard, closely related to UML, that enables metadata management and language definition.
Model
A formal specification of the function, structure and/or behavior of an application or system.
Model Driven Architecture (MDA)
An approach to IT system specification that separates the specification of functionality from the specification of the implementation of that functionality on a specific technology platform.
Platform
A set of subsystems/technologies that provide a coherent set of functionality through interfaces and specified usage patterns that any subsystem that depends on the platform can use without concern for the details of how the functionality provided by the platform is implemented.
Platform Independent Model (PIM)
A model of a subsystem that contains no information specific to the platform, or the technology that is used to realize it.
Platform Specific Model (PSM)
A model of a subsystem that includes information about the specific technology that is used in the realization of it on a specific platform, and hence possibly contains elements that are specific to the platform.
Request for Proposal (RFP)
A document requesting OMG members to submit proposals to the OMG's Technology Committee. Such proposals must be received by a certain deadline and are evaluated by the issuing task force.
Service
A set of functionality with common characteristics.
Unified Modeling Language (UML)
An OMG standard language for specifying the structure and behavior of systems. The standard defines an abstract syntax and a graphical concrete syntax.
UML Profile
A standardized set of extensions and constraints that tailors UML to particular use.
5 Symbols (and abbreviated terms)
API Application Program Interface
BIT Built-In Test
CORBA Common Object Request Broker Architecture
COTS Commercial Off the Shelf
HCI Human-Computer Interface
ID Identification, Identifier
IDL Interface Definition Language
IIOP Internet Inter-ORB Protocol
IOR Interoperable Object Reference
ISO International Standards Organization
N/A Not Applicable
OE Operating Environment
OMG Object Management Group
ORB Object Request Broker
OS Operating System
OSI Open System Interconnection
PIM Platform Independent Model
POSIX Portable Operating System Interface
PSM Platform Specific Model
UML Unified Modeling Language
UUID Universally Unique Identifier
XML eXtensible Markup Language
6 Additional Information
6.1 Changes to Adopted OMG Specifications
The specifications contained in this document require no changes to adopted OMG specifications.
6.2 Guide to this Specification
This specification consists of two major parts, contained in the following chapters 7 and 8.
? Chapter 7 defines the modeling language used in this specification in form of a UML profile for a generic component framework.
? Chapter 8 contains a description of the mapping process from the Platform Independent Model (PIM) to a Platform Specific Model (PSM).
The normative UML profile referenced in Section 3.1.3.1 is used to generate the class diagrams shown throughout this specification.
6.3 Acknowledgements
The following organizations (listed in alphabetical order) contributed to this specification:
? BAE Systems
? BOEING
? Blue Collar Objects
? Carleton University
? Communications Research Center Canada
? École de Technologie Supérieure
? General Dynamics Decision Systems
? Harris
? ITT Aerospace
? ISR Technologies
? L-3 Communications Corporation
? Mercury Computer Systems
? The MITRE Corporation
? Mobile Smarts
? PrismTech
? Raytheon Corporation
? Rockwell Collins
? SCA Technica
? Space Coast Communication Systems
? Spectrum Signal Processing
? THALES
? Virginia Tech University
? Zeligsoft
? 88solutions
Section 7 UML Profile for Component Framework
This non-normative section defines the UML Profile for Component Framework. This profile is an integral part of the "PIM and PSM for Software Radio Components. The set of stereotypes defined in this profile constitutes the core language for the definition of the SWRadio PIM and PSM. The current UML Profile for Component Framework extends the UML 2.0 meta-language, with emphasis on extensions to the Components package and Deployment package of UML 2.0.
The goal of the UML Profile for Component Framework is to enable the development of UML tools to support the development of applications and systems. The objectives are not only to facilitate the modeling of applications and systems, but also to enable the automatic generation of descriptor files (e.g. XML descriptor files) and code (or code skeletons) from UML models.
To address the issues of the different actors involved in product developments, the current profile has been developed with two main viewpoints in mind: the viewpoint of application and device developers and the viewpoint of infrastructure/middleware providers. These two viewpoints define distinct sets of concepts (and stereotypes) that are required in different contexts.
To be consistent with the two viewpoints introduced above, the UML Profile for Component Framework is partitioned in two main packages: the Applications and Devices package and the Infrastructure package. Each package defines the set of concepts and UML stereotypes required to perform a specific role in the development of a product.
The Applications and Devices package defines the set of concepts that are required to develop applications and devices. This package mainly contains a set of stereotypes that extends the UML 2.0 meta-classes Component and Interface. This set of stereotypes includes Resource and Device components."
The Infrastructure package defines the concepts that are required to deploy services and applications within a platform infrastructure, and to manage the domain, services, and devices. This package mainly contains a set of stereotypes that extends the UML 2.0 meta-classes Component, Artifact, and Interface. This set of stereotypes includes DomainManager, DeviceManager, ApplicationManager, and ApplicationFactory components."
At the start of section 7, add issue 7585 note as follows:
"Issue 7585 Breakup spec into multiple volumes, removed SWRadio throughout, replace Core Framework with Component Framework throughout, replace UML Profile for SWRadio" with "UML Profile for Component Framework" throughout spec, replace "SWRadioComponent" with "Component" throughout spec, remove Radio and SWRadio from spec, replace "radio set" and "radio sets" with "platform", replace "RadioProperty" with "Property".
Move PIM and PSM for SW Radio Components spec Section 8.1 to Section 7.1 with same name.
Move PIM and PSM for SW Radio Components spec Section 8.3 to Section 7.2 except for 8.3.2 Communication Channel, 8.3.3.1.3.1 CommChannel, 8.3.3.1.3.3 RadioManager, and 8.3.3.1.3.4 RadioSystemManager sections.
Move PIM and PSM for SW Radio Components spec Section 10 PSM up to and including item 1 and item 4 descriptors of "Other non-CORBA PSM transforms (e.g., XML) are as follows:" to section 8 with same name.
After the moves are done make the following changes in spec.
Rename 7.2.2 from Radio Management to Platform Management
Replace the text in section 7.2.2 Platform Management with the following text
"This section defines the stereotypes for platform management. Platform management involves the management of the domain, inclusive of its devices and services. The platform management stereotypes are categorized by domain and device management. The details of these categories are described in the following Domain Management and Device Management subsections."
Replace "RadioSet" with "Domain" in text throughout spec.
In section 7.1 replace the following text
"Device Components - defines stereotypes for the logical device components that represent devices that component are deployed on or use within a SWRadio."
with
"Device Components - defines stereotypes for the logical device components that represent devices that components are deployed on or use within a platform."
In section 7.1.4 Resource Components, replace the following text
"Figure 7.4 depicts the base interfaces used in defining software components for applications, logical devices, and communication channels."
with
"Figure 7.4 depicts the base interfaces used in defining software components for applications and logical devices."
In section 7.1.4.1.7 Resource, replace the following text
"These interfaces provide basic management interfaces for SWRadio"
With
"These interfaces provide basic management interfaces for a component."
Update Figure 7.3 - ServiceProperty Definition with following figure
Figure 7.6 - ResourceComponent M1 Illustration with the following Figure
Update Figure 7.8 - SWRadioComponent M1 Illustration with following Figure
Update Figure 7.14 - Application M1 Illustration with following Figure
Figure 7.15 - ApplicationResourceComponent M1 Illustrationwith following Figure
Update Figure 7.33 - ExecutableCode M1 Illustration with following Figure
Figure 7.21 - CapabilityModels Definition with following Figure
Figure 7.22 - ManagedServiceComponent M1 Illustration with following Figure
Figure 7.28 - DomainManagerComponent M1 Illustration with following Figure
Figure 7.30 - DeviceManager M1 Illustration with following Figure
Update Figure 7.42 with the following figure
Add "Issue 7585 note - Break up spec into multiple volumes, renamed SWRadio Artifact to Artifact before section 7.2.3 Deployment"
Add "issue note 7585 Breakup Spec into Multiple Volumes, replaced SWRadio with platform before section 7.2.3.2 Applications Deployment
In section 7.2.3.2 Applications Deployment, replace the following text
"This section defines the interfaces (7.2.3.2.1) and components (7.2.3.2.3) that perform the deployment behavior within a SWRadio."
With
""This section defines the interfaces (7.2.3.2.1) and components (7.2.3.2.3) that perform the deployment behavior within a platform."
In section 7.2.3.2.1 Applications Deployment Interfaces, replace the following text
"This section defines the interfaces that perform the deployment behavior within a SWRadio."
With
"This section defines the interfaces that perform the deployment behavior within a platform."
In section 7.2.3.2.3 Application Deployment Stereotypes, replace the following text
"This section defines the components that perform the deployment behavior within a SWRadio. The SWRadio stereotype are depicted in the Table 7.11, which are extensions of the UML Component."
With
"This section defines the components that perform the deployment behavior within a platform. The component stereotypes are depicted in the Table 7.11, which are extensions of the UML Component."
In section 8 Platform Specific Model (PSM) at the end of item 2, replace the following text
"devices within the swradio. The interfaces used vary by the type of developers (waveform, device, radio management) for a swradio radio. These developers use different set of interfaces for the components they are developing."
with
"devices within the platform. The interfaces used vary by the type of developers (waveform, device, domain management) for a platform. These developers use different set of interfaces for the components they are developing."
In section 8, Table 8.1 - Core Framework CORBA Module Overview, replace
"RadioSet with Domain" and "Radio Management" with "Domain Management"
Replace "Core Framework" with "Component Framework" throughout spec.
Replace "RadioProperty" with "Property" throughout spec.
Replace "UML Profile for SWRadio" with "UML Profile for Component Framework" throughout spec.
Remove "Radio" throughout the spec after section 7 after changes are done.
Replace "radio set", "RadioSet", RadioSystem" or radio sets" with "platform in section 7 and 8.
Replace "SWRadioComponent" with "Component" throughout spec.
Remove "SWRadio" throughout the spec after section 7 after changes are done.
Remove "SWRAPI" from spec
removed SWRAPI interface stereotype from section 7.1.3 Interface and Port Stereotypes
Removed SWRADIORealization and SWRadioUsage association sterotypes from section 7.1.4.2 Resource Components Stereotypes.
Communication Channel and Equipment Volume Contents is as follows:
"1 Scope
This specification responds to the requirements set by "Request for Proposals for a Platform Independent Model (PIM) and CORBA Platform Specific Model (PSM)" (swradio/02-06-02) of communication channel creation and interfaces for radio management interfaces that can be utilized in deployment of applications such as waveforms and the modeling of a radio set or radio system.
The specification is physically partitioned into three major chapters: UML Profile for Communication Channel, Radio Control Facilities PIM, and PSM for CORBA IDL and XML. UML Profile for Communication Channel defines a language for modeling communication channels, communication equipment and radio management components by extending the UML language. The profile is specified independently from the underlying middleware technology and is applicable for other domains besides SDR.
This specification also provides a mechanism for transforming the elements of the profile model into the platform specific model for CORBA IDL and XML. This mapping definition is given in the PSM (Chapter 9).
Finally, the specification provides different compliance points depending on the role the implementer of this specification plays. Those different roles and respective partitioning of this document is given in the Conformance (Chapter 2).
2Conformance
There are two kinds of conformance with respect to the communication channel profile: conformance on the part of a model of a specific communication channel and channel manager, and conformance on the part of a MDA tool.
2.1 Conformance by a Model of a Specific Application
A UML model of a specific communication channel and channel manager either conforms to the communication channel profile or it does not. There are no categories of this kind of conformance. Such a UML model conforms to the communication channel profile if it satisfies all constraints imposed by the profile package.
2.2 Conformance by a Tool
2.2.1 Definition of Terms for Discussion of Tool Conformance
To support the discussion of conformance by a MDA tool, we define two terms: "identified subset of UML 2.0" and "all constructs defined by the profile." The identified subset of UML 2.0 for the profile is the set of packages contained in the UML 2.0 Superstructure specification Part 1 (Structure). Part 1 includes the following packages and the transitive closure of all packages contained by these packages and of all packages upon which these packages depend:
o Classes
o Composite Structures
o Components
o Deployments
2 Communication Channel and Equipment Specification
Hereafter we sometimes use the abbreviated term identified subset to refer to the identified subset of UML 2.0. The term all constructs defined by the profile is defined to mean all constructs that are part of the package's identified subset of UML 2.0, plus all extensions to that subset that the profile defines. Thus this term includes UML constructs that are part of the identified subset but that are not extended by the profile.
2.2.2 Categories of Tool Conformance
A tool is considered to be a conformant simple modeling tool for the communication channel profile if it does both of thefollowing:
o Supports expression of all constructs defined by the profile, via UML 2.0 notation.
o Supports the UML 2.0 XMI exchange mechanism for the identified subset and for UML 2.0 profiles.
A tool is considered to be a conformant CORBA/XML-based forward engineering tool for the profile if it does the following:
o Supports the PIM-to-PSM Mapping defined in Chapter 9.
o Produces comm channel manager components PSMs that are conformant to the behavior defined in the PIM.
Alternately, if a tool only produces a component skeleton, the skeleton must not make it impossible for a full component based on the skeleton to qualify as a conformant component - in other words, the skeleton must be able to form the basis of a conformant component.
A forward engineering tool that targets a platform technology other than CORBA/XML can legitimately claim a degree of conformance to the communication channel profile and PIM derived from the Profile if it conforms to the PIM-to-PSM
Mapping and produces components PSMs that are conformant components to the behavior in defined in the PIM, or produces component skeletons that can form the basis of conformant components. In practice this requires the definitionof an alternate PIM-PSM mapping.
A forward engineering tool of this nature for the platform "X" is considered to be a conformant X-Based forward engineering tool for the profile.
3 References
3.1 Normative References
3.1.1 UML and Profile Specifications
3.1.1.1 UML Language Specification
Unified Modeling Language (UML) Superstructure Specification Version 2.0 Formal OMG Specification, document number: formal/2005-07-04 The Object Management Group, July 2005 [http://www.omg.org]
Unified Modeling Language (UML) Infrastructure Specification Version 2.0 Formal OMG Specification, document number: formal/2005-07-05 The Object Management Group, July 2005 [http://www.omg.org]
3.1.1.2 OCL Language Specification
Object Constraint Language (OCL) Specification Version 2.0 Final Adopted OMG Specification, document number: ptc/2005-06-06 The Object Management Group, June 2005 [http://www.omg.org]
3.1.1.3 UML Profile for CORBA Specification
UML Profile for CORBA Specification V1.0 Formal OMG Specification, document number: formal/2002-04-01 The Object Management Group, April 2002 [http://www.omg.org]
3.1.1.4 UML Profile for Component Framework Specification
UML Profile for Component Framework Specification V1.0 Formal OMG Specification, document number: TBD The Object Management Group, TBD 2006 [http://www.omg.org]
3.1.2 CORBA Core Specifications
3.1.2.1 CORBA Specification
Common Object Request Broker (CORBA/IIOP), version 3.0.2 Formal OMG Specification, document number: formal/2002-12-06 The Object Management Group, December 2002 [http://www.omg.org]
3.2 Non-Normative References
4 Terms and Definitions
For the purposes of this document, the following terms and definitions apply.
Common Object Request Broker Architecture (CORBA)
An OMG distributed computing platform specification that is independent of implementation languages.
Component
A component can always be considered an autonomous unit within a system or subsystem. It has one or more ports, and its internals are hidden and inaccessible other than as provided by its interfaces. A component represents a modular part of a system that encapsulates its contents and whose manifestation is replaceable within its environment. A component exposes a set of ports that define the component specification in terms of provided and required interfaces. As such, a component serves as a type, whose conformance is defined by these provided and required interfaces (encompassing both their static as well as dynamic semantics).
Facility
An environment providing a realization of certain functionality through set of well defined interfaces.
Interface Definition Language (IDL)
An OMG and ISO standard language for specifying interfaces and associated data structures.
Metamodel
A model of models.
Meta Object Facility (MOF)
An OMG standard, closely related to UML, that enables metadata management and language definition.
Model
A formal specification of the function, structure and/or behavior of an application or system.
Model Driven Architecture (MDA)
An approach to IT system specification that separates the specification of functionality from the specification of the implementation of that functionality on a specific technology platform.
Platform
A set of subsystems/technologies that provide a coherent set of functionality through interfaces and specified usage patterns that any subsystem that depends on the platform can use without concern for the details of how the functionality provided by the platform is implemented.
Platform Independent Model (PIM)
A model of a subsystem that contains no information specific to the platform, or the technology that is used to realize it.
Platform Specific Model (PSM)
A model of a subsystem that includes information about the specific technology that is used in the realization of it on a specific platform, and hence possibly contains elements that are specific to the platform.
Radio Platform
The Radio Platform is made of a Hardware Platform and a Software Platform.
Radio Set
A single radio set unit that can be ground fixed, mounted on a mobile platform or held by hand.
Radio System
A networked set of radio sets that provide wireless communication facilities between callers and callees.
Request for Proposal (RFP)
A document requesting OMG members to submit proposals to the OMG's Technology Committee. Such proposals must be received by a certain deadline and are evaluated by the issuing task force.
Unified Modeling Language (UML)
An OMG standard language for specifying the structure and behavior of systems. The standard defines an abstract syntax and a graphical concrete syntax.
UML Profile
A standardized set of extensions and constraints that tailors UML to particular use.
5 Symbols (and abbreviated terms)
CORBA Common Object Request Broker Architecture
DSP Digital Signal Processor
FPGA Field Programmable Gate Array
GPP General Purpose Processor
I/O Input/Output
IDL Interface Definition Language
IIOP Internet Inter-ORB Protocol
ISO International Standards Organization
N/A Not Applicable
OMG Object Management Group
ORB Object Request Broker
OS Operating System
PIM Platform Independent Model
PSM Platform Specific Model
RF Radio Frequency
SDR Software Defined Radio
UML Unified Modeling Language
XML eXtensible Markup Language
6 Additional Information
6.1 Changes to Adopted OMG Specifications
The specifications contained in this document require no changes to adopted OMG specifications.
6.2 Guide to this Specification
This specification consists of three major parts, contained in the following chapters 7 to 9.
o Chapter 7 defines the modeling language used in this specification in form of a UML profile for Communication Channel, Communication Equipment and Radio Management components. The normative UML Profile specified in model referenced in Section 3.1.3 is used to generate the class diagrams shown throughout this specification.
o Chapter 8 contains the Radio Control Facilities Platform Independent Model (PIM). The UML language extended by 6.3 Acknowledgements the communication channel profile defined in Chapter 7 is used to specify this PIM.
o Chapter 8 contains a description of the mapping process from the Platform Independent Model (PIM) to a Platform Specific Model (PSM).
6.3 Acknowledgements
The following organizations (listed in alphabetical order) contributed to this specification:
? BAE Systems
? BOEING
? Blue Collar Objects
? Carleton University
? Communications Research Center Canada
? École de Technologie Supérieure
? General Dynamics Decision Systems
? Harris
? ITT Aerospace
? ISR Technologies
? L-3 Communications Corporati
Actions taken:
July 13, 2004: received issue
August 2, 2005: closed issue
Discussion: Discussion:
The group (Jerry, Neli, Tansu) that the resolution for this issue (breaking up the spec into multiple volumes) does belong to this FTF. The group agreed to 3 volumes: PIM (UML Profile), Radio Facilities, and PSM
The group also agreed to wait until after the resolution to issue 7742 to take care of this break up.
Based on resolution for 8251 and 8259, we'll decide how to break up the spec.
Disposition: Deferred
The issue is deferred to the follow-on R/FTF, since FTF #2 ran out of time.
Issue 7586: Lack of OCL Statements for constraints (swradio-ftf)
Click here for this issue's archive.
Source: PrismTech (Mr. Gerald Lee Bickle, jerry.bickle@prismtechusa.com)
Nature: Uncategorized Issue
Severity:
Summary: Lack of OCL Statements for constraints.
Proposed Solution: Replace text constraint descriptions with OCL.
Rationale: formal language for expressing constraints and recommended
mechanism within OMG.
Resolution:
Revised Text: Section 8.1.1, Base Types
Change Figure 8-7 - Base Types Overview as follows:
From
To
Section 8.1.1.7, Float, constraints section
Change sentence as follows:
From
"The Float value is a LiteralFloat."
To
"The Float value shall be a LiteralFloat that is an IEEE single-precision floating point number."
Section 8.1.1.11, Long, constraints section
Change sentence as follows:
From
"The Long value is a LiteralInteger with a range of -231.. 231 - 1."
To
"The Long value shall be a LiteralInteger with a range of -231.. 231 - 1."
Section 8.1.1.12, LongDouble, constraints section
Change sentence as follows:
From
"The LongDouble value is LiteralLongDouble."
To
"The LongDouble value shall be a LiteralLongDouble that is an IEEE double-extended floating-point number."
Section 8.1.1.14, LongLong, constraints section
Change sentence as follows:
From
"The LongLong value is LiteralInteger with a range of -263 .. 263 - 1."
To
"The LongLong value shall be a LiteralInteger with a range of -263 .. 263 - 1."
Section 8.1.1.17, Octet, constraints section
Change sentence as follows:
From
"The Octet value is a LiteralInteger with a range of 0..255."
To
"The Octet value shall be a LiteralInteger with a range of 0..255."
Section 8.1.1.22, PropertyValue, constraints section
Change sentence as follows:
From
"The value attribute shall be a primitive type (e.g., String, Ulong, etc.) or Properties."
To
"The value attribute shall be either a primitive type (e.g., String, ULong, etc.) or Properties."
Section 8.1.1.23, Short, constraints section
Change sentence as follows:
From
"The Short value is LiteralInteger with a range of -215.. 215 - 1."
To
"The Short value shall be a LiteralInteger with a range of -215.. 215 - 1."
Section 8.1.1.27, ULong, constraints section
Change sentence as follows:
From
"The ULong value is LiteralInteger with a range of 0.. 232 - 1."
To
"The ULong value shall be a LiteralInteger with a range of 0.. 232 - 1."
Section 8.1.1.28, ULongLong, constraints section
Change sentence as follows:
From
"The ULongLong value is LiteralInteger with a range of 0.. 264 - 1."
To
"The ULongLong value shall be a LiteralInteger with a range of 0.. 264 - 1."
Section 8.1.1.31, UShort, constraints section
Change sentence as follows:
From
"The UShort value is LiteralInteger with a range of 0.. 216 - 1."
To
"The UShort value shall be a LiteralInteger with a range of 0.. 216 - 1."
Section 8.1.1.33, WChar, constraints section
Change sentence as follows:
From
"The WChar value is a LiteralWChar."
To
"The WChar value shall be a LiteralWChar."
Section 8.1.3.6, EnumerationProperty, constraints section
Change 2nd sentence as follows:
From
"The EnumerationProperty attributes values shall be in the range of the EnumerationProperty type and be unqiue value."
To
"Each EnumerationProperty's attribute name shall be unique within the EnumeraationProperty. The corresponding OCL is as follows: context EnumerationProperty inv: self.allAttributes()->isUnique(a | a.name)
Each EnumerationProperty's attribute values shall be unique within the EnumeraationProperty. The corresponding OCL is as follows: context EnumerationProperty inv: self.allAttributes()->isUnique(a | a.value)
Each EnumerationProperty's attribute value shall be in the range of the EnumerationProperty Type."
Section 8.1.3.10, RadioProperty, constraints and semantics sections
Move 1st sentence of constraints to 1st sentence in semantics section and remove shall in sentence.
Split other two sentences into separate paragraphs as follows:
From Constraints
"The name or integerId attribute shall be used for radio property identification. The integerID attribute when specified shall have precedence over the name attribute for the identification of the RadioProperty. The value for the name attribute shall be case sensitive."
To Constraints
"The integerID attribute when specified shall have precedence over the name attribute for the identification of the RadioProperty.
The value for the name attribute shall be case sensitive."
To Semantics
"The name or integerId attribute is used for radio property identification."
Section 8.1.5.1.6, PropertySet, constraints section
Change text as follows:
From
"Valid properties for the configure operation are ConfigureProperty(s) as stated in the component's descriptor.
Valid properties for the query operation shall be:
ConfigureProperty and QueryProperty properties, or
ServiceProperty properties whose locallyManaged attribute value is True, or
ExecutableProperty properties whose queryable attribute value is True.
as referenced in the component's properties descriptor.
The value attribute for each PropertyValue in the Properties shall be in its native form as specified by the RadioProperty definition. The type of property is known by its name or integerId attribute."
To
"Valid properties for the configure operation shall be ConfigureProperty(s).
Valid properties for the query operation shall be:
ConfigureProperty and QueryProperty properties, or
ServiceProperty properties whose locallyManaged attribute value is True, or
ExecutableProperty properties whose queryable attribute value is True.
The value attribute for each PropertyValue in the Properties shall be in its native form as specified by the RadioProperty definition.
The PropertySet interface shall support the configure and query type properties as specified in the component's descriptor that realizes this interface. "
Section 8.1.5.1.6, PropertySet, semantics section
Add text as follows:
To
"Semantics
The type of property is known by its name or integerId attribute.
Section 8.1.5.1.9, TestableObject, constraints and semantics section
Moved 2nd sentence in constraints section as 1st sentence in semantics section
Change 1st text as follows:
From Constraints
"Valid testId(s) and both input and output testValues (properties) for the runTest operation shall be test properties defined in the properties test element of the component's descriptor. The testid parameter corresponds to the name or integerId attribute of the TestProperty."
To Constraints
"The TestableObject interface shall support all the TestProperty(s) as stated in the component's descriptor that realizes this interface.
The format for a TestProperty's InputValueProperty(s) and ResultValueProperty(s) for a testshall be as described for a SimpleProperty in the PropertySet section 8.1.5.1.6."
To Semantics
"The testid parameter corresponds to the name or integerId attribute of the TestProperty."
Section 8.1.5.2, Resource Components Stereotypes
Change table by adding forward reference for constraints as follows:
From
Stereotype Base Class Parent Tags Constraints Description
ResourceComponent Component SWRadioComponent Represents a component of a application.
ResourceFactoryComponent Component SWRadioComponent Manages ResourceComponent(s)
SWRadioComponent Component N/A Represents the base definition for all SWRadio Components.
swrapiRealization Association N/A Represents an implemented or required application or logical device component interface.
swrapiUsage Association N/A Describes an association that realizes a SWRAPI.
To
Stereotype Base Class Parent Tags Constraints Description
ResourceComponent Component SWRadioComponent See constraints in section below Represents a component of a application.
ResourceFactoryComponent Component SWRadioComponent See constraints in section below Manages ResourceComponent(s)
SWRadioComponent Component N/A See constraints in section below Represents the base definition for all SWRadio Components.
swrapiRealization Association N/A Represents an implemented or required application or logical device component interface.
swrapiUsage Association N/A Describes an association that realizes a SWRAPI.
Section 8.1.5.2.1,ResourceComponent, constraints section to the end of 81.5.1.6 PropertySet constraints section
Move sentences as follows:
From ResourceComponent
"The mapping to the ConfigureProperty and QueryProperty types to the ResourceComponent's configure and query's operation properties parameter are:
A SimpleProperty or primitive type corresponds to a PropertyValue item in Properties list. The PropertyValue item's id matches the Configure or Query Property's name or integer attribute and the PropertyValue item's value matches the Configure or Query Property's value attribute but is converted to a format that agrees with the Configure or Query Property's type attribute.
A SimpleProperty sequence or primtive type sequence corresponds to a PropertyValue item in Properties list. The PropertyValue item's id matches the Configure or Query Property's name or integer attribute and the PropertyValue item's value matches the Configure or Query Property's values attribute that is converted to a primitive sequence type (as described in Section 8.1.1 Base Types), which agrees with the Configure or Query Property's type attribute.
A StructProperty corresponds to a PropertyValue item in Properties list. The PropertyValue item's id matches the Configure or Query Property's name or integer attribute and the PropertyValue item's value contains a Properties type, where each StructProperty's SimpleProperty (id, value) corresponds to a Properties element in the list as described in item 1 above. The Properties element list size is based on the number of StructProperty's SimpleProperty items.
StructProperty sequencecorresponds to a PropertyValue item in Properties list. The PropertyValue item's id matches the Configure or Query Property's name or integer attribute and the PropertyValue item's value contains a Properties type. The Properties element list size is based on the number of StructSequenceProperty's structValues attribute. Each item in the Properties element also contains a Properties type that is used to contain a structValue (StructProperty) as described in item 3 above.
The ExecutableProperty, CapacityProperty, and CharacteristicProperty shall follow the SimpleProperty format for the query operation. The CharacteristicSelectionProperty shall follow the SimpleProperty sequence format for the query operation. The CharacteristicSetProperty shall follow the StuctProperty sequence format for the query operation."
To PropertySet
"The mapping to the ConfigureProperty and QueryProperty types to the ResourceComponent's configure and query's operation properties parameter are:
A SimpleProperty or primitive type corresponds to a PropertyValue item in Properties list. The PropertyValue item's id matches the Configure or Query Property's name or integer attribute and the PropertyValue item's value matches the Configure or Query Property's value attribute but is converted to a format that agrees with the Configure or Query Property's type attribute.
A SimpleProperty sequence or primtive type sequence corresponds to a PropertyValue item in Properties list. The PropertyValue item's id matches the Configure or Query Property's name or integer attribute and the PropertyValue item's value matches the Configure or Query Property's values attribute that is converted to a primitive sequence type (as described in Section 8.1.1 Base Types), which agrees with the Configure or Query Property's type attribute.
A StructProperty corresponds to a PropertyValue item in Properties list. The PropertyValue item's id matches the Configure or Query Property's name or integer attribute and the PropertyValue item's value contains a Properties type, where each StructProperty's SimpleProperty (id, value) corresponds to a Properties element in the list as described in item 1 above. The Properties element list size is based on the number of StructProperty's SimpleProperty items.
StructProperty sequencecorresponds to a PropertyValue item in Properties list. The PropertyValue item's id matches the Configure or Query Property's name or integer attribute and the PropertyValue item's value contains a Properties type. The Properties element list size is based on the number of StructSequenceProperty's structValues attribute. Each item in the Properties element also contains a Properties type that is used to contain a structValue (StructProperty) as described in item 3 above.
The ExecutableProperty, CapacityProperty, and CharacteristicProperty shall follow the SimpleProperty format for the query operation. The CharacteristicSelectionProperty shall follow the SimpleProperty sequence format for the query operation. The CharacteristicSetProperty shall follow the StuctProperty sequence format for the query operation."
Section 8.1.6.2, Device Component Stereotypes
Change table by adding forward reference for constraints as follows:
From
Stereotype Base Class Parent Tags Constraints Description
DeviceComponent Component ResourceComponent, ManagedServiceComponent Represents a logical device that abstracts the underlying hardware.
DeviceDriver Component N/A Represents a device driver that interfaces with the hardware.
ExecutableDeviceComponent Component LoadableDeviceComponent Manages execution and termination of OS processes on a device.
DeviceAggregation Component N/A Provides the capability to construct composite devices.
LoadableDeviceComponent Component DeviceComponent Represents a loadable device that manages loading behavior on a device.
To
Stereotype Base Class Parent Tags Constraints Description
DeviceComponent Component ResourceComponent, ManagedServiceComponent See constraints in section below Represents a logical device that abstracts the underlying hardware.
DeviceDriver Component N/A Represents a device driver that interfaces with the hardware.
ExecutableDeviceComponent Component LoadableDeviceComponent See constraints in section below Manages execution and termination of OS processes on a device.
DeviceAggregation Component N/A See constraints in section below Provides the capability to construct composite devices.
LoadableDeviceComponent Component DeviceComponent See constraints in section below Represents a loadable device that manages loading behavior on a device.
Section 8.1.7.2, ApplicationResourceComponent, constraints section
Change sentence as follows:
From
"An ApplicationResourceComponent shall be registered with a NamingService when a ResourceFactoryComponent does not create the ResourceComponent."
To
"An ApplicationResourceComponent shall be registered with a NamingService when a ResourceFactoryComponent does not create the ApplicationResourceComponent"
Section 8.1.7.6, LinkLayerControlResource, constraints section
Change 2nd sentence by adding "either" as follows:
From
"The LinkLayerControlResource shall be associated with a PhysicalLayerResource or a MediumAccessControlResource."
To
"The LinkLayerControlResource shall be either associated with a PhysicalLayerResource or a MediumAccessControlResource."
Section 8.2.6, CommEquipment, constraints section
Change sentence by replacing aggregate with composite as follows:
From
"CommEquipment shall have an aggregate relationship to at least one of the following: AnalogInputPort, AnalogOutputPort or DigitalPort."
To
"CommEquipment shall have a composite relationship to at least one of the following: AnalogInputPort, AnalogOutputPort or DigitalPort."
Section 8.2.6.1, CryptoDevice, constraints section
Break sentences into two paragraphs and start the sentences with "A CryptoDevice shall have" as follows:
From
"There has to be at least two DigitalPorts. One DigitalPort must have its dataFlowDirection attribute equal to INPUT and the other DigitalPort must have its dataFlowDirection attribute equal to OUTPUT."
To
"A CryptoDevice shall have at least two DigitalPorts.
A CryptoDevice's DigitalPort shall have its dataFlowDirection attribute equal to INPUT and the other CryptoDevice's DigitalPort shall have its dataFlowDirection attribute equal to OUTPUT."
Section 8.2.6.2, PowerSupply, constraints section
Change sentences as follows:
From
"There has to be at least one AnalogInputPort representing the input voltage and one AnalogOutputPort for the output voltage.
The allowed value range for Efficiency is from 0 to 1 (it is expressed as a percentage)."
To
"A PowerSupply shall have at least one AnalogInputPort representing the input voltage and one AnalogOutputPort for the output voltage.
The allowed PowerSupply input or output voltage value range for Efficiency is from 0 to 1 (it is expressed as a percentage)."
Section 8.2.6.3, Processor, constraints section
Change "There has to be" to "A Processor shall have". as follows:
From
"There has to be at least one DigitalPort."
To
"A Processor shall have at least one DigitalPort.'
Section 8.2.6.4.1 Antenna, constraints section
Change "There has to be" to "An Antenna shall have". as follows:
From
"There has to be at least one AnalogInputPort or one AnalogOutputPort. "
To
"An Antenna shall have at least one AnalogInputPort or one AnalogOutputPort."
Section 8.2.6.4.2 Amplifier, constraints section
Change "There has to be" to "An Amplifier shall have" as follows:
From
"There has to be at least (one AnalogInputPort and one AnalogOutputPort) or two DigitalPorts."
To
"An Amplifier shall have at least (one AnalogInputPort and one AnalogOutputPort) or two DigitalPorts."
Section 8.2.6.4.3 Converter, constraints section
Change "There has to be" to "An Converter shall have" as follows:
From
"There has to be at least (one AnalogInputPort or one AnalogOutputPort) and one DigitalPort."
To
"A Converter shall have at least (one AnalogInputPort or one AnalogOutputPort) and one DigitalPort."
Section 8.2.6.4.4 Filter, constraints section
Change "There has to be" to "A Filter shall have" as follows:
From
"There has to be at least one AnalogInputPort and one AnalogOutputPort."
To
"A Filter shall have at least one AnalogInputPort and one AnalogOutputPort."
Section 8.2.6.4.5 FrequencyConverter, constraints section
Change "There has to be" to "A FrequencyConverter shall have" and change "DigitalPort's" to "DigitalPorts" as follows:
From
"There has to be (at least one AnalogInputPort and one AnalogOutputPort) or (at least two DigitalPort's)."
To
"A FrequenceConverter shall have (at least one AnalogInputPort and one AnalogOutputPort) or (at least two DigitalPorts)."
Section 8.2.6.4.7 AntennaElement, constraints section
Change "There has to be" to "An AntennaElement shall have" as follows:
From
"There has to be at least one AnalogInputPort and one AnalogOutputPort."
To
"An AntennaElement shall have at least one AnalogInputPort and one AnalogOutputPort.'
Section 8.2.6.4.8 Switch, constraints section
Change ""There has to be" to "A Switch shall have" and change "DigitalPort's" to "DigitalPorts" as follows:
From
"There has to be (at least one AnalogInputPort and one AnalogOutputPort) or (at least two DigitalPort's)."
To
"A Switch shall have (at least one AnalogInputPort and one AnalogOutputPort) or (at least two DigitalPorts)"
Section 8.3.1.1.3 CharacteristicModel, constraints section
Change "characteristic property type" to "one of a CharacteristicProperty, CharacteristicSelectionProperty, or CharacteristicSetProperty" in sentence as follows:
From
"A CharacteristicModel shall be associated with characteristic property type."
To
"A CharacteristicModel shall be associated with one of a CharacteristicProperty, CharacteristicSelectionProperty, or CharacteristicSetProperty."
Section 8.3.1.1.4 StateManagement, constraints section
Move second sentence of first constraint to Semantics section as follows:
From Constraints
"When the adminStateRequestSupportedCharacteristic value attribute is NOT_IMPLEMENTED then a component that realizes this interface may not support setAdminState operation and adminState attribute. The NOT_IMPLEMENTED behavior is dependent of the PSM."
To Constraints
""When the adminStateRequestSupportedCharacteristic value attribute is NOT_IMPLEMENTED then a component that realizes this interface may not support setAdminState operation and adminState attribute."
To Semantics
"The adminStateRequestSupportedCharacteristic value attribute NOT_IMPLEMENTED behavior is dependent of the PSM."
Section 8.3.1.4.4 FileManager, constraints and semantics sections
Move sentences of constraints section to Semantics section, and remove constraints section as follows:
From Constraints
"The FileManager's operations shall remove the FileSystem mounted name from the input fileName before passing the fileName to an operation on a mounted FileSystem.
The FileManager shall use the mounted FileSystem operations based upon the mounted FileSystem name that exactly matches the input fileName to the lowest matching subdirectory.
The FileManager shall propagate exceptions raised by a mounted FileSystem's operation."
To Semantics
"The FileManager's operations shall remove the FileSystem mounted name from the input fileName before passing the fileName to an operation on a mounted FileSystem.
The FileManager shall use the mounted FileSystem operations based upon the mounted FileSystem name that exactly matches the input fileName to the lowest matching subdirectory.
The FileManager shall propagate exceptions raised by a mounted FileSystem's operation."
Section 8.3.1.4.2, File Services Stereotypes
Change table by adding forward reference for constraints as follows:
From
Stereotype Base Class Parent Tags Constraints Description
FileComponent Component N/A Reads and writes a file within a FileSystem.
FileSystemComponent Component N/A Remotely accesses a physical file system.
FileManagerComponent Component N/A Provides a single interface to multiple, distributed FileSystems
To
Stereotype Base Class Parent Tags Constraints Description
FileComponent Component N/A See constraints in section below Reads and writes a file within a FileSystem.
FileSystemComponent Component N/A See constraints in section below Remotely accesses a physical file system.
FileManagerComponent Component N/A See constraints in section below Provides a single interface to multiple, distributed FileSystems
Section 8.3.1.4.8, FileSystemComponent, constraints section
Add Constraints section as follows:
Constraints
The FileSystemComponent shall realize the FileSystem interface.
Section 8.3.2.2 LogicalCommunicationChannel, constraints and semantics sections
Change "requires" to "shall have".in 1st sentence, and move 2nd paragraph into semantics section as follows:
From
"A LogicalCommChannel communication channel requires at least one LogicalPhysicalChannel or an LogicalIOChannel and combination of any other channel type (LogicalPhysicalChannel, LogicalIOChannel, and LogicalProcessingChannel).
The model allows for realizations that do not require security nor any processing (i.e. a non-software defined radio). Further, a valid channel may be an RF relay, with no local I/O, or may include a router and require no RF capability."
To
"A LogicalCommunicationChannel communication channel shall have at least one LogicalPhysicalChannel or an LogicalIOChannel and combination of any other channel type (LogicalPhysicalChannel, LogicalIOChannel, and LogicalProcessingChannel).
Semantics
The model allows for realizations that do not require security nor any processing (i.e. a non-software defined radio). Further, a valid channel may be an RF relay, with no local I/O, or may include a router and require no RF capability."
Section 8.3.2.7 LogicalSecurityChannel, constraints and semantics sections
Change "has" to "shall have".in 1st sentence, and move 2nd paragraph to the end of the semantics section as follows:
From
"LogicalSecurity Channel has either a crypto device or a processor that runs a security algorithm; it may have a processor(s) for other functions.
The LogicalSecurityChannel runs security algorithms on either a Processor or a dedicated Crypto Device.
Semantics
A LogicalSecurityChannel uses the Crypto and the Processor to provide security features of a waveform. A LogicalSecurityChannel may provide a security algorithm, security keys and a security policy in order to facilitate those features."
To
"LogicalSecurityChannel shall have either a crypto device or a processor that runs a security algorithm; it may have a processor(s) for other functions.
Semantics
A LogicalSecurityChannel uses the Crypto and the Processor to provide security features of a waveform. A LogicalSecurityChannel may provide a security algorithm, security keys and a security policy in order to facilitate those features. The LogicalSecurityChannel runs security algorithms on either a Processor or a dedicated Crypto Device."
Section 8.3.3.1.2, RadioSet Management Stereotypes
Change table by adding forward reference for constraints as follows:
From
Stereotype Base Class Parent Tags Constraints Description
CommChannel Component N/A Represents a component that manages a LogicalCommunicationChannel.
DomainManagerComponent Component SWRadioComponent Provides Domain Retrieval capability and represents a component that manages a domain.
RadioManager Component DomainManagerComponent Represents a component that manages a RadioSet.
RadioSystemManager Component N/A Represents a component that manages RadioManagers.
To
Stereotype Base Class Parent Tags Constraints Description
CommChannel Component N/A Represents a component that manages a LogicalCommunicationChannel.
DomainManagerComponent Component SWRadioComponent See constraints in section below Provides Domain Retrieval capability and represents a component that manages a domain.
RadioManager Component DomainManagerComponent Represents a component that manages a RadioSet.
RadioSystemManager Component N/A Represents a component that manages RadioManagers.
Section .3.3.1.3.2 DomainManagerComponent, semantics section
Change "may constraint the type" to "may constrain the type" as follows:
From
"A DomainManagerComponent implementation may constraint the types of ServiceArtifactProperty(s) which would be reflected in its registration behavior."
To
"A DomainManagerComponent implementation may constrain the type of ServiceArtifactProperty(s) which would be reflected in its registration behavior."
Section 8.3.3.2.2, Device Management Stereotypes
Change table by adding forward reference for constraints as follows:
From
Stereotype Base Class Parent Tags Constraints Description
DeviceManagerComponent Component SWRadioComponent Manages a node and its services.
To
Stereotype Base Class Parent Tags Constraints Description
DeviceManagerComponent Component SWRadioComponent See constraints in section below Manages a node and its services.
Section ·8.3.4.1.2.5 ResourceExecutableCode, constraints section
Move the sentences from constraints to semantics as follows:
"ResourceExecutableCode shall register the Resource or ResourceFactory component manifested by the process to the NamingService as specified by the NamingContext Component Reference executable parameter. The name binding registered to the NamingService shall be as specified by the Name Binding executable parameter.
The ResourceExecutableCode Identifier executable parameter shall be used for the manifested SWRadioComponent's identifier attribute value."
To
"Semantics
ResourceExecutableCode shall register the Resource or ResourceFactory component manifested by the process to the NamingService as specified by the NamingContext Component Reference executable parameter. The name binding registered to the NamingService shall be as specified by the Name Binding executable parameter.
The ResourceExecutableCode Identifier executable parameter shall be used for the manifested SWRadioComponent's identifier attribute value."
Section 9.2.4.1 IError_Control, constraints section
Change sentence as follows:
From
"If errorControl parameter of errorControlParams attribute is set to be False (no error control at all), then all other parameters of the errorControlParams should also be set to False."
To
"If errorControl parameter of errorControlParams attribute is set to be False (no error control at all), then all other parameters of the errorControlParams shall be set to False."
Section · 9.3.2.1 ImediumAccessControl, constraints section
Rename "Constraints" to "Semantics"
Section ·· 9.4.1.2 SerialIODeviceComponent, constraints section
Change constraints section as follows:
From
"All OCL constraints are in the context of SerialIODeviceComponent (context SerialIODeviceComponent).
Number of Start Bits value shall be 0 or 1.
The corresponding OCL is as follows: inv: self.numberStartBits in Set {0,1}
Number of Stop Bits value shall be 1 or 2.
The corresponding OCL is as follows: inv: self.numberStopBits in Set {1,2}
Location value shall be 0 or 1.
The corresponding OCL is as follows: inv: self.location in Set {0,1}
ParityChecking value shall be 0 or 1.
The corresponding OCL is as follows: inv: self.parityChecking in Set {0,1}
Protocol value shall be 0 or 1.
The corresponding OCL is as follows: inv: self.protocol in Set {0,1}
Receive Clock Source value shall be 0 or 1.
The corresponding OCL is as follows: inv: self.receiveClockSource in Set {0,1}
Receive Encoding value shall be 0 or 1.
The corresponding OCL is as follows: inv: self.receiveEncoding in Set {0,1,2,3,4}
Trasnmit Clock Source value shall be 0 or 1.
The corresponding OCL is as follows: inv: self.transmitClockSource in Set {0,1}
Transmit Encoding value shall be 0 or 1.
The corresponding OCL is as follows: inv: self.transmitEncoding in Set {0,1,2,3,4}"
To
"All OCL constraints are in the context of SerialIODeviceComponent (context SerialIODeviceComponent).
Number of Start Bits value shall be 0 or 1.
The corresponding OCL is as follows: context SerialIODeviceComponent
inv: self.numberStartBits in Set {0,1}
Number of Stop Bits value shall be 1 or 2.
The corresponding OCL is as follows: context SerialIODeviceComponent inv: self.numberStopBits in Set {1,2}
Location value shall be 0 or 1.
The corresponding OCL is as follows: context SerialIODeviceComponent
inv: self.location in Set {0,1}
ParityChecking value shall be 0 or 1.
The corresponding OCL is as follows: context SerialIODeviceComponent
inv: self.parityChecking in Set {0,1}
Protocol value shall be 0 or 1.
The corresponding OCL is as follows: context SerialIODeviceComponent
inv: self.protocol in Set {0,1}
Receive Clock Source value shall be 0 or 1.
The corresponding OCL is as follows: context SerialIODeviceComponent
inv: self.receiveClockSource in Set {0,1}
Receive Encoding value shall be 0 or 1.
The corresponding OCL is as follows: context SerialIODeviceComponent
inv: self.receiveEncoding in Set {0,1,2,3,4}
Trasnmit Clock Source value shall be 0 or 1.
The corresponding OCL is as follows: context SerialIODeviceComponent
inv: self.transmitClockSource in Set {0,1}
Transmit Encoding value shall be 0 or 1.
The corresponding OCL is as follows: context SerialIODeviceComponent
inv: self.transmitEncoding in Set {0,1}"
Section .5.2.1.1ModemComponent, constraints section
Remove second sentence, since we don't provide subtractive inheritance, this is a given.
Actions taken:
July 14, 2004: received issue
August 2, 2005: closed issue
Discussion: Discussion:
The FTF would like to get comments from the AB about the amount of OCL currently in the spec. This issue is related to issue 7742. The 2nd FTF will continue the progress based on the comments from the AB.
Disposition: Deferred
Issue 7587: Replace expanded/duplicated IDL in CORBA modules with include statements (swradio-ftf)
Click here for this issue's archive.
Source: PrismTech (Mr. Gerald Lee Bickle, jerry.bickle@prismtechusa.com)
Nature: Uncategorized Issue
Severity:
Summary: Proposed Solution: For all CORBA Modules (e.g., CF, PortTypes,
StandardEvents, FileServices, etc.) replace IDL in the these files with
include statements.
Rationale: Definitions are based upon existing files and not duplicated,
which can lead to inconsistencies in IDL files.
Resolution:
Revised Text: Resolution:
For all CORBA Modules (e.g., CF, PortTypes, StandardEvents, FileServices, etc.) replace IDL in these files with include statements.
Revised Text:
Add the following new sections.
A.9.14. CF Port Types CORBA Module
//File: CFPortTypes.idl
#ifndef __CFPORTTYPES_DEFINED
#define __CFPORTTYPES_DEFINED
#include "CFPortTypes_UlongLongSequence.idl"
#include "CFPortTypes_LongDoubleSequence.idl"
#include "CFPortTypes_BooleanSequence.idl"
#include "CFPortTypes_UlongSequence.idl"
#include "CFPortTypes_LongLongSequence.idl"
#include "CFPortTypes_CharSequence.idl"
#include "CFPortTypes_UshortSequence.idl"
#include "CFPortTypes_LongSequence.idl"
#include "CFPortTypes_DoubleSequence.idl"
#include "CFPortTypes_ShortSequence.idl"
#include "CFPortTypes_WcharSequence.idl"
#include "CFPortTypes_FloatSequence.idl"
#include "CFPortTypes_WstringSequence.idl"
#endif
A.11. Core Framework CORBA Module
//File: CF.idl
#ifndef __CF_DEFINED
#define __CF_DEFINED
#include "CFPortTypes.idl"
#include "CFDevices.idl"
#include "CFResourceFactory.idl"
#include "CFServiceRegistration.idl"
#include "CF_SE_DomainEvent.idl"
#include "CFDomainEventChannels.idl"
#include "CFDomainManager.idl"
#include "CFDeviceManagerRegistration.idl"
#include "CFDomainInstallation.idl"
#endif
B.2.3. DfSWRadio Error Control CORBA Module
//Source file: DfSWRadioErrorControl.idl
#ifndef __DFSWRADIOERRORCONTROL_DEFINED
#define __DFSWRADIOERRORCONTROL_DEFINED
#include "DfSWRadioErrorControlManagement.idl"
#include "DfSWRadioErrorControlSignal.idl"
#endif
B.3.3. DfSWRadio Flow Control CORBA Module
//File: DfSWRadioFlowControl.idl
#ifndef __DFSWRADIOFLOWCONTROL_DEFINED
#define __DFSWRADIOFLOWCONTROL_DEFINED
#include "DfSWRadioFlowControlManagement.idl"
#include "DfSWRadioFlowControlSignaling.idl"
#endif
B.4.6 DfSWRadio Measurement CORBA Module
//File: DfSWRadioMeasurement.idl
#ifndef __DFSWRADIOMEASUREMENT_DEFINED
#define __DFSWRADIOMEASUREMENT_DEFINED
#include "DfSWRadioMeasurementManagement.idl"
#include "DfSWRadioMeasurementRecorder.idl"
#endif
B.8 DfSWRadio Common Layer Module
//File: DfSWRadioCommonLayer.idl
#ifndef __DFSWRADIOCOMMONLAYER_DEFINED
#define __DFSWRADIOCOMMONLAYER_DEFINED
#include "DfSWRadioErrorControl.idl"
#include "DfSWRadioMeasurement.idl"
#include "DfSWRadioPDU.idl"
#include "DfSWRadioQoSManagement.idl"
#include "DfSWRadioStreamControl.idl"
#include "DfSWRadioFlowControl.idl"
#endif
D.3 DfSWRadio Data Link Layer Module
//File: DfSWRadioDataLinkLayer.idl
#ifndef __DFSWRADIODATALINKLAYER_DEFINED
#define __DFSWRADIODATALINKLAYER_DEFINED
#include "DfSWRadioDataLinkLayerAckConnectionless.idl"
#include "DfSWRadioDataLinkLayerConnection.idl"
#include "DfSWRadioDataLinkLayerConnectionless.idl"
#include "DfSWRadioDataLinkLayerLocalManagement.idl"
#include "DfSWRadioDataLinkLayerMAC.idl"
#endif
K.1 Domain Facility Software Radio Module
//File: DfSWRadio.idl
#ifndef __DFSWRADIO_DEFINED
#define __DFSWRADIO_DEFINED
#include "DfSWRadioManagedComponentStatuses.idl"
#include "DfSWRadioCommonLayer.idl"
#include "DfSWRadioPhysicalLayer.idl"
#include "DfSWRadioDataLinkLayer.idl"
#include "DfSWRadioControlRadioSetManagement.idl"
#endif
Also add and/or replace the IDL files for the machine files.
1. CFPortTypes.idl
2. CF.idl
3. DfSWRadioErrorControl.idl
4. DfSWRadioFlowControl.idl
5. DfSWRadioMeasurement.idl
6. DfSWRadioCommonLayer.idl
7. DfSWRadioDataLinkLayer.idl
8. DfSWRadio.idl
Actions taken:
July 14, 2004: received issue
August 2, 2005: closed issue
Issue 7588: Start/stop behavior (swradio-ftf)
Click here for this issue's archive.
Source: PrismTech (Mr. Gerald Lee Bickle, jerry.bickle@prismtechusa.com)
Nature: Uncategorized Issue
Severity:
Summary: What is the association or behavior in
regards to resource operations and provides and uses ports?
Proposed Solution: Association is for the uses and provides ports and no
effect on resource operations.
Rationale: Consistent behavior of resource components.
Resolution:
Revised Text: Resolution:
Association is for the uses and provides ports and no effect on resource operations. Add a semantics section to the Resource (Section 8.1.5.7) to explain this.
Revised Text:
This resolution assumes starting point from Issue 7904 Resolution.
Added semantic paragraph to 8.1.5.7 Resource section as follows:
The Resource Port Supplier and Port Connector implementation is not inhibited nor impacted by the stop operation, all methods of these two interfaces are supported, behavior unchanged. However, the behavior of the provided ports themselves is impacted. The impact of the stop is port implementation specific. The usual case is that port behavior is halted upon being stopped (started attribute is false). Resource component usage of connected port capabilities will cease and any access to provided port capabilities would result in error notification. An example would be an IO port that, upon being stopped, prevents further data from being pushed out and allows no further data to be pushed in. A notable exception would include status providing ports that would remain active even while stopped to maintain good standing with observing components.
Actions taken:
July 14, 2004: received issue
August 2, 2005: closed issue
Issue 7596: Keep text constraint descriptions in addition to OCL as OCL is hard to read (swradio-ftf)
Click here for this issue's archive.
Source: Blue Collar Objects (Ms. Camille Bell, camille.bell@bluecollarobjects.com camillesjunk@yahoo.com)
Nature: Uncategorized Issue
Severity:
Summary: Keep text constraint descriptions in addition to OCL as OCL is hard to read
Resolution:
Revised Text:
Actions taken:
July 21, 2004: received issue
July 28, 2004: closed issue - duplicate of 7186
Discussion: Discussion:
This is not an issue but a submitted comment on issue #7586. It was added as an issue by mistake by the OMG. Neli has asked OMG to remove it from the issues list.
Revised Text:
N/A
Disposition: Closed, no change
Issue 7655: swradio issue primitive types (swradio-ftf)
Click here for this issue's archive.
Source: PrismTech (Mr. Gerald Lee Bickle, jerry.bickle@prismtechusa.com)
Nature: Uncategorized Issue
Severity:
Summary: Simple primitive types are used in the specification but not
defined. Examples are the types used in Physical Layer Facilities types
(9.5) and the SimpleProperty (8.1.2.11) (e.g., double, single, and float,
etc. ).
Recommendation:
In section 8.1.1 Base Types, section 8.1.1.7 PropertyValue add a Types
section that captures the primitive data types for boolean, char, double,
float, short, long, objtref, octet, string,
ulong, ushort and sequence of these types that are not defined UML. Octet
and OctetSequence are already defined in section 8.1.1
Resolution:
Revised Text: Resolution:
In section 8.1.1 Base Types, section 8.1.1.7 PropertyValue add a Types section that captures the primitive data types for boolean, char, double, float, short, long, objref, octet, string, ulong, ushort and sequence of these types that are not defined UML