Issue 7586: Lack of OCL Statements for constraints (swradio-ftf) 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 End of Annotations:===== ssue 9: 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. Subject: FW: Issue 7586 Date: Wed, 29 Jun 2005 10:13:20 -0400 Thread-Topic: Issue 7586 Thread-Index: AcV7YaQSQ5EDtVjmSne8PoSYIt/fQgBUs9kw From: "Demirbilek, Tansu" To: X-MIME-Autoconverted: from quoted-printable to 8bit by amethyst.omg.org id j5TEO3hh010255 Status update for 7586 Jerry has checked out the model & framemaker, and will return by Thursday. -td -----Original Message----- From: Gerald_L_Bickle@raytheon.com [mailto:Gerald_L_Bickle@raytheon.com] Sent: Monday, June 27, 2005 5:45 PM To: Demirbilek, Tansu Cc: John Hogg; Hayes, Persnaz N Subject: Re: Issue 7586 Tansu, I will be sending you frame maker updates for typos by Thursday and the rose model with cleanups too. The frame maker files also will have the constraints for 7586 in them. I have incorporated all the changes John has sent me and also in the proposed resolution template format. Jerry Bickle Engineering Fellow Network Centric Systems 1010 Production Rd Fort Wayne, IN 46808-4711 260-429-6280 260-429-5060 Fax "Demirbilek, Tansu" To , 06/27/2005 02:22 "John Hogg" PM cc "Hayes, Persnaz N" Subject Issue 7586 Jerry, John, Do you have any updates for me on issue 7586? Here's my notes from last tuesday. Tansu Issue 7586: Jerry and John will discuss on Wednesday 2005.06.22, and come up with a