12418_resolved_ballot3

Disposition: Resolved
OMG Issue No: 12418
MARTE RTF
Disposition: Resolved
OMG Issue No: 12418
Title: “GQAM Domain view inheritances from GRM”
Source:
Universidad de Cantabria (Dr. Julio Medina, [email protected])
Summary:
In the GQAM Domain view GQAM::GQAM_Resources::CommunicationHost should
inherit from GRM::ResourceTypes::CommunicationMedia, and
GQAM::GQAM_Resources::ExecutionHost should inherit from
GRM::ResourceTypes::ComputingResource. This said from a conceptual point of view,
seems to indicate that also the corresponding elements in the profile should keep this
inheritance relationship with the corresponding elements in GRM. The names of
attributes should be consistent or at least related semantically to those in GRM. This may
required some minor structural changes since in GQAM platform elements include
semantics form various elements in GRM like for example the scheduler as well as the
processing resource.
Resolution:
Include in GQAM::GQAM_Resources::CommunicationHost the inheritance from
GRM::ResourceTypes::CommunicationMedia. And in
GQAM::GQAM_Resources::ExecutionHost inheritance from
GRM::ResourceTypes::ComputingResource. Correspondingly update the profile, making
GQAM::GaExecHost inherit from GRM::ComputingResource, and
GQAM::GaCommHost inherit from GRM::CommunicationMedia.
According to issue 11835 already resolved in ballot 2, some attributes in
GQAM::GaCommHost are now inherited from GRM::CommunicationMedia, these
attributes are:
• bandwidth: NFP_DataTxRate [0..1] capacity of the communication element when applicable.
• packetT: NFP_Duration [0..1] time to transmit the element used as a communication quantum, usually
called a packet, the size in bits of this quantum is described by the attribute elementSize.
• blockT: NFP_Duration [0..1] time the communicationMedia is blocked and cannot transmit due to the
transmission of one communication quantum.
• transmMode: MARTE_Library::MARTE_DataTypes::TransmModeKind [0..1] defines the transmission
mode, one of the following values: {simplex, half-duplex, full-duplex}.
The only difference is in the name of the attribute “bandwith” which is called “capacity”
in GQAM. Since both of them represent the same concept one of the two should prevail;
MARTE RTF
Disposition: Resolved
OMG Issue No: 12418
“capacity” is preferred as it is more general. As mentioned, this impact previous
resolution of issue 11835, and as a duplicated also issue 11842.
Attributes schedPolicy and isPreemptible in SaExecutionHost and SaExecHost are now
redundant since they are inherited transitively from Scheduler.
Revised Text:
(1) In section 15.3.2.4 add generalization
• CommunicationMedia (from MARTE::GRM)
(2) In section 15.3.2.4 remove the attributes:
• capacity: NFP_DataTxRate [0..1] capacity of the communication element when applicable.
• packetT: NFP_Duration [0..1] time to transmit the element used as a communication quantum, usually
called a packet, the size in bits of this quantum is described by the attribute elementSize.
• blockT: NFP_Duration [0..1] time the communicationMedia is blocked and cannot transmit due to the
transmission of one communication quantum.
• transmMode: MARTE_Library::MARTE_DataTypes::TransmModeKind [0..1] defines the transmission
mode, one of the following values: {simplex, half-duplex, full-duplex}.
(3) In section 15.3.2.7 add generalization
• ComputingResource (from MARTE::GRM)
(4) Change Figure 15.9 to show these inheritances as well as those from scheduler
introduced in ballot1, and not to show the removed attributes. Use this:
Disposition: Resolved
OMG Issue No: 12418
MARTE RTF
« profile »
GQAM
« enumeration »
MARTE_Library::
MARTE_DataTypes::
TransmModeKind
« stereotype »
MARTE::GRM::Resource
Simple
HalfDuplex
FullDuplex
« stereotype »
MARTE::GRM::
ProcessingResource
« stereotype »
MARTE::GRM::
SchedulableResource
« stereotype »
MARTE::GRM::
Scheduler
« stereotype »
MARTE::GRM::
ComputingResource
« stereotype »
MARTE::GRM::
ConcurrencyResource
« stereotype »
MARTE::GRM::
CommunicationMedia
« stereotype »
GaCommChannel
packetSize: NFP_DataSize
utilization: NFP_Real [*]
« stereotype »
GaExecHost
commTxOvh: NFP_Duration
commRcvOvh: NFP_Duration
cntxtSwT: NFP_Duration
clockOvh: NFP_Duration
schedPriRange: NFP_Interval
memSize: NFP_DataSize
utilization: NFP_Real [*]
throughput: NFP_Frequency [*]
« stereotype »
GaCommHost
utilization: NFP_Real [*]
throughput: NFP_Frequency [*]
(5) In section F10.5 CommunicationHost add generalization
• CommunicationMedia (from MARTE::GRM)
(6) In section F.10.5 remove attributes: capacity, packetTime, blockingTime, and
transmMode
(7) In section F.10.8 ExecutionHost add generalization
• ComputingResource (from MARTE::GRM)
(8) Change Figure 15.5 to show these inheritances as well as those from scheduler
introduced in ballot1, and not to show the removed attributes, use this:
Disposition: Resolved
OMG Issue No: 12418
MARTE RTF
GQAM_Resources
ResourcesPlatform
« enumeration »
MARTE_Library::
MARTE_DataTypes::
TransmModeKind
*
Simple
HalfDuplex
FullDuplex
resources
GRM::ResourceCore::
Resource
GRM::Scheduling::
ProcessingResource
GRM::ResourceTypes::
ConcurrencyResource
GRM::Scheduling::
SchedulableResource
GRM::Scheduling::
Scheduler
GRM::ResourceTypes::
ComputingResource
GRM::ResourceTypes::
CommunicationMedia
ExecutionHost
CommunicationHost
commTxOverhead: NFP_Duration
commRcvOverhead: NFP_Duration
contextSwitchTime: NFP_Duration
clockOvh: NFP_Duration
schedPriorityRange: NFP_Interval
memorySize: NFP_DataSize
utilization: NFP_Real
host
CommunicationChannel
packetSize: NFP_DataSize
utilization: NFP_Real
throughput: NFP_Frequency
utilization: NFP_Real
{redefines host}
host
0..1
0..1
(9) Consistently with resolution of Issue 11835 change Figure 10.8 to show the
attributes capacity, packetTime, blockingTime, and transmMode in the definition
of the CommunicationMedia concept, use this:
CommunicationResource
CommunicationEndPoint
packetSize : Integer
CommunicationMedia
elementSize : Integer
capacity: NFP_DataTxRate
packetTime: NFP_Duration
blockingTime: NFP_Duration
transmMode: TransmModeKind
MARTE RTF
Disposition: Resolved
OMG Issue No: 12418
(10) Consistently with resolution of Issue 11835, in the bulleted paragraph
aboveFigure 10.8, add a text presenting the attributes:
Old Text:
As shown in Figure 10.8, two kinds of CommunicationResources are defined. A communication media has
an attribute for defining the size of the elements transmitted; as expected, this definition is related to the
resource base clock. For example, if the communication media represents a bus, and the clock is the bus
speed, "element size" would be the width of the bus, in bits. If the communication media represents a
layering of protocols, "element size" would be the frame size of the uppermost protocol. A communication
endpoint acts as a terminal for connecting to a communication media, and it is characterized by the size of
the packet handled by the endpoint. This size may or may not correspond to the media element size.
New Text:
As shown in Figure 10.8, two kinds of CommunicationResources are defined. A communication media has
an attribute for defining the size of the elements transmitted; as expected, this definition is related to the
resource base clock. For example, if the communication media represents a bus, and the clock is the bus
speed, "element size" would be the width of the bus, in bits. If the communication media represents a
layering of protocols, "element size" would be the frame size of the uppermost protocol. It has also an
attribute indicating the capacity of the communication element when it is applicable. For timing
evaluations, it holds also the time it takes to transmit the element used as a communication quantum,
usually called a packet, the size in bits of this quantum is described by the attribute elementSize. It may
have also the specification of the time the communicationMedia is blocked and cannot transmit due to the
transmission of one communication quantum, and the transmission mode available (simplex, half-duplex,
or full-duplex). A communication endpoint acts as a terminal for connecting to a communication media,
and it is characterized by the size of the packet handled by the endpoint. This size may or may not
correspond to the media element size.
(11) Consistently with resolution of Issue 11835 change Figure 10.14 to show the
attributes capacity, packetT, blockT, and transmMode in the stereotype
CommunicationMedia, use this:
Disposition: Resolved
OMG Issue No: 12418
MARTE RTF
« profile »
GRM
« metaclass »
UML::Classes::Kernel::
Property
« metaclass »
UML::Classes::Kernel::
InstanceSpecification
« metaclass »
UML::Classes::Kernel::
Classifier
« metaclass »
UML::Interaction::Basic
Interactions::Lifeline
« metaclass »
UML::CompositeStructures::
InternalStructures::
ConnectableElement
« stereotype»
Resource
« stereotype »
CommunicationEndPoint
resMult: Integer = 1
isProtected: Boolean
isActive: Boolean
« stereotype »
StorageResource
elementSize: Integer
packetSize: Integer
« stereotype »
ConcurrencyResource
« stereotype »
SynchronizationResource
« stereotype »
MutualExclusionResource
« stereotype »
SchedulableResource
protectKind: ProtectProtocolKind=priorityInheritance
ceiling: Integer
otherProtectProtocol: String
isProtected:Boolean=true{IsReadOnly}
isPreemptible: Boolean = true
schedPolicy: SchedPolicyKind = FixedPriority
otherSchedPolicy: String
schedule: OpaqueExpression
schedParams: schedParameters[0..*]
isActive:Boolean=true{IsReadOnly}
« metaclass »
UML::CompositeStructures::
InternalStructures::
Connector
« stereotype »
ProcessingResource
speedFactor: NFP_Real
« stereotype »
DeviceResource
« stereotype »
Scheduler
« stereotype »
ComputingResource
« stereotype »
SecondaryScheduler
« stereotype »
CommunicationMedia
elementSize: Integer
capacity: NFP_DataTxRate [*]
packetT: NFP_Duration [*]
blockT: NFP_Duration [*]
transmMode: TransmModeKind
(12) In Section 10.3.2.4, on page 101, use “capacity” in this bullet phrase instead of
“bandwith”, which is the name used in issue 11835:
• capacity: NFP_DataTxRate [0..1] capacity of the communication element when applicablelink.
(13) Remove attributes schedPolicy and isPreemptible in section 16.3.2.5 (page 300)
and in section F.11.5 (page 611), they are inherited from scheduler.
(14) Accordingly change figure 16.6 by this:
Disposition: Resolved
OMG Issue No: 12418
MARTE RTF
SAM_Resources
« stereotype »
CommunicationMedia
GQAM_Resources::
ResourcesPlatform
elementSize: Integer
*
capacity: NFP_DataTxRate [*]
packetT: NFP_Duration [*]
blockT: NFP_Duration [*]
transmMode: TransmModeKind
resources
GRM::ResourceCore::
Resource
GRM::Scheduling::
MutualExclusionResource
GRM::Scheduling::
ProcessingResource
1..*
GRM::ResourceTypes::
ComputingResource
GRM::Scheduling::
Scheduler
processingUnits
0..1
*
GRM::ResourceTypes::
ConcurrentResource
host
mainScheduler
GRM::ResourceTypes::
CommunicationMedia
*
GRM::Scheduling::
SchedulableResource
schedulableResource
GQAM_Resources::
ExecutionHost
commTxOverhead: NFP_Duration
commRcvOverhead: NFP_Duration
contextSwitchTime: NFP_Duration
clockOvh: NFP_Duration
schedPriorityRange: NFP_Interval
memorySize: NFP_DataSize
utilization: NFP_Real
capacity: NFP_DataTxRate
packetTime: NFP_Duration
blockingTime: NFP_Duration
transmMode: TransmModeKind
*
schedRes
GQAM_Resources::
CommunicationChannel
GQAM_Resources::
CommunicationHost
packetSize: NFP_DataSize
utilization: NFP_Real
utilization: NFP_Real
commChannels
SaCommunicationHost
schedParams
SharedResource
capacity: NFP_Integer
isPreemptible: NFP_Boolean
isConsumable: NFP_Boolean
acquisitionTime: NFP_Duration
releaseTime: NFP_Duration
*
SaExecutionHost
ISRswitchTime: NFP_Duration
ISRpriorityRange: NFP_IntegerInterval
isSchedulable: NFP_Boolean
schedulabilitySlack: NFP_Real
schedUtilization: NFP_Real
sharedResources
(15) And change Figure 16.9 by this:
*
isSchedulable: NFP_Boolean
schedulabilitySlack: NFP_Real
1
GRM::Scheduling::
SchedulingParameters
timingRes
0..1
GRM::ResourceTypes::
TimingResource
Disposition: Resolved
OMG Issue No: 12418
MARTE RTF
« profile »
SAM
« stereotype »
MARTE::GRM::
Scheduling::
MutualExclusionResource
« stereotype »
MARTE::GQAM::
GQAM_Resources::
GaCommHost
« stereotype »
MARTE::GQAM::
GQAM_Resources::
GaExecHost
« stereotype »
SaSharedResource
« stereotype »
SaCommHost
« stereotype »
SaExecHost
capacity: NFP_Integer
isPreemp: NFP_Boolean
isConsum: NFP_Boolean
acquisT: NFP_Duration [*]
releaseT: NFP_Duration [*]
Disposition:
isSched: NFP_Boolean
schSlack: NFP_Real
Resolved
isSched: NFP_Boolean
schSlack: NFP_Real
schedUtiliz: NFP_Real
ISRswitchT: NFP_Duration
ISRprioRange: NFP_IntegerInterval
« enumeration »
SchedPolicyKind
EarliestDeadlineFirst
FIFO
FixedPriority
LeastLaxityFirst
RoundRobin
TimeTableDriven
Undef
Other