Issues for Mailing list of the Deployment Revision Task Force

To comment on any of these issues, send email to deployment-rtf@omg.org. (Please include the issue number in the Subject: header, thusly: [Issue ###].) To submit a new issue, send email to issues@omg.org.

List of issues (green=resolved, yellow=pending Board vote, red=unresolved)

List options: All ; Open Issues only; or Closed Issues only

Issue 7354: XML Schema of Deployment spec doesn't honour constraints present in model
Issue 7557: No type safety when external packages are referenced
Issue 7666: Host Collocation Deployment Directive Capability Lacking
Issue 7667: Process Collocation Deployment Directive Capability Lacking
Issue 7734: New Requirement Satisfier Type
Issue 7735: AssemblyController Component Lacking
Issue 7736: Component Factory Lacking
Issue 7737: SatisfierPropertyKind is too Restrictive
Issue 7738: Locally Managed Capacity Indicator
Issue 7746: Deployment descriptors
Issue 7877: UML 2.0 port issue
Issue 7880: Target Manager Resource Commitment Granularity
Issue 7940: Resource Deployment Description Clarification
Issue 7941: Resource Deployment Description Insufficient
Issue 7945: Requirement Satisfier "name" Attribute is not Optional
Issue 7954: Separation of components during deployment (opposite of collocation).
Issue 7971: Resource Commitment Sequence Diagram Clarification
Issue 8286: ArtifactDeploymentDescription: "node" should be optional
Issue 8944: Enumerated SatisfierProperties
Issue 8979: Distinguish Node vs. Component Exec Parameters in Deployment Plan
Issue 8983: Deployment Requirements in Deployment Plan
Issue 8984: Information about Port Delegations Lost In Planning
Issue 9177: Monitor or Verify Lacking in Deployment Process
Issue 9178: Supports For Many Applications
Issue 9239: IDL name clash due to enumeration values defined twice
Issue 9884: Section: 7.6.1.1-7.6.1.2; 9.10
Issue 14088: Add startLaunch also to DomainApplication/NodeApplication
Issue 17028: Multiplicity of Components::Component::ownedPort ambiguous overview diagram
Issue 17029: Multiplicity of Components::Component::ownedPort ambiguous
Issue 17030: Type of Components::ExternalReference::location does not exist
Issue 17031: Stereotype-property Components::Port::UID ambiguous
Issue 17032: Ambiguous mulitplicity of Target::CommunicationPath::connectedNode
Issue 17033: Multiplicity of Target::SharedResource::resourceUser ambiguous

Issue 7354: XML Schema of Deployment spec doesn't honour constraints present in model (deployment-rtf)

Click here for this issue's archive.
Source: Vanderbilt University (Mr. Krishnakumar Balasubramanian, kitty(at)dre.vanderbilt.edu)
Nature: Uncategorized Issue
Severity:
Summary:
Hi,


The Deployment & Configuration XML Schema defines a Property element like:


<xsd:complexType name="Property">
  <xsd:choice minOccurs="0" maxOccurs="unbounded">
    <xsd:element name="name" type="xsd:string" />
    <xsd:element name="value" type="Deployment:Any" />
    <xsd:element ref="xmi:Extension" />
  </xsd:choice>
  <xsd:attribute ref="xmi:id" use="optional" />
  <xsd:attributeGroup ref="xmi:ObjectAttribs" />
</xsd:complexType>
<xsd:element name="Property" type="Deployment:Property" />


This allows for the following invalid Property file to be passed silently
by the XML Schema validator:


<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Deployment:Property
 xmlns:Deployment="http://www.omg.org/Deployment"
 xmlns:xmi="http://www.omg.org/XMI"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd">
  <name>ORBSvcConf</name>
  <value>
    <type>
      <kind>tk_string</kind>
    </type>
    <value>
      <string>Foo</string>
    </value>
  </value>
  <value>
    <type>
      <kind>tk_short</kind>
    </type>
    <value>
      <long>123</long>
    </value>
  </value>
</Deployment:Property>


The model in 6.10.8 has a containment association with a cardinality one
for value. The schema generated from that model doesn't match the semantics
in the model. This is just an example. There are a lot of elements where
the semantics imposed by the schema are different from what is described in
the model. I am curious as to why this is allowed. It can be easily fixed
by changing the schema to:


<xsd:complexType name="Property">
  <xsd:sequence minOccurs="0" maxOccurs="1">
    <xsd:element name="name" type="xsd:string" />
    <xsd:element name="value" type="Deployment:Any" />
    <xsd:element ref="xmi:Extension" minOccurs="0" />
  </xsd:sequence>
  <xsd:attribute ref="xmi:id" use="optional" />
  <xsd:attributeGroup ref="xmi:ObjectAttribs" />
</xsd:complexType>
<xsd:element name="Property" type="Deployment:Property" />


Resolution:
Revised Text:
Actions taken:
May 13, 2004: received issue
June 29, 2004: re-assigned to the MOF 2 XMI RTF
December 10, 2009: re-assigned to the Deployment RTF (not chartered at this time)
December 16, 2009: re-asigned to the deployment-rtf

Discussion:
During the meetings and telephone conferences of the RTF it has been agreed that this issue is to be transferred to the MOF2XMI RTF. 
The source of this problem (issue #5950) has already been submitted to the MOF2XMI FTF. They acknowledged the problem but decided to close it without change since it would be too much work for them. Now a related issue is popping up again.


Issue 7557: No type safety when external packages are referenced (deployment-rtf)

Click
here for this issue's archive.
Source: Zuehlke Engineering (Mr. Frank Pilhofer, fpilhofer2008(at)gmail.com)
Nature: Uncategorized Issue
Severity:
Summary:
The ComponentPackageReference element (6.4.8) allows to reference
an external package (to be resolved during planning by searching
repositories), for example to instantiate a subcomponent instance
from, in an assembly.


However, there is no type safety here; an assembly design tool has
no way of validating that the ports (which are referenced by
connections within the assembly) actually exist in the component
interface of the referenced component.


Actually, there is little point in ComponentPackageReference having
an optional "requiredType"; there should always be a mandatory type
that the referenced package must support.


To an assembly design tool, just having the "requiredType" repository
id is insufficient for validation, the full
ComponentInterfaceDescription
is necessary.


Proposed resolution:


In section 6.4.8.2, ComponentPackageReference Attributes, delete the
"requiredType" attribute.


Add a "requiredType" composition association to ComponentInterface-
Description, with multiplicity 1..1.


In section 6.4.8.3, ComponentPackageReference Constraints, delete the
constraints, and replace with "No constraints." (Rationale: when type
conformance is mandatory, the existing constraing will always be met.)


In section 6.4.8.4, ComponentPackageReference Semantics, replace the
existing text


  The planner will search one or more repositories for package
  configurations that satisfy all requirements.


with


  The planner will search one or more repositories for package
  configurations that support the requiredType, and that match the
  requiredUUID and requiredName attributes, if present.

Resolution:
Revised Text: In section 6.4.8.2, ComponentPackageReference Attributes, delete the "requiredType" attribute. Add a "requiredType" composition association to ComponentInterface- Description, with multiplicity 1..1. In section 6.4.8.3, ComponentPackageReference Constraints, delete the constraints, and replace with "No constraints." (Rationale: when type conformance is mandatory, the existing constraing will always be met.) In section 6.4.8.4, ComponentPackageReference Semantics, replace the existing text The planner will search one or more repositories for package configurations that satisfy all requirements. with The planner will search one or more repositories for package configurations that support the requiredType, and that match the requiredUUID and requiredName attributes, if present.
Actions taken:
July 1, 2004: received issue
May 9, 2005: closed issue

Discussion:
Resolution:
Make the type information for references to external packages mandatory by pointing to the respective ComponentInterfaceDescription


Issue 7666: Host Collocation Deployment Directive Capability Lacking (deployment-rtf)

Click
here for this issue's archive.
Source: Raytheon (Mr. Gerald Lee Bickle, Gerald.L.Bickle(at)raytheon.com)
Nature: Uncategorized Issue
Severity:
Summary:
Problem: The CCM DTD and SCA DTD in the assembly descriptors has the
capability to direct deployment of components on the same
processor. The capability is needed for deployment considerations to direct
which components are to be collocated on the same processor.
Example use case is there are devices in the system with the same
characteristics but when deploying the components, one wants to ensure that
certain components are deployed on the same processor not on different
processors with the same characteristics.
Recommended solution: Is to add an optional zero to many Host Collocation
element to the ComponentAssemblyDescription.


Resolution:
Revised Text:
Actions taken:
September 3, 2004: received issue

Discussion:
See issue #7667 for disposition


Issue 7667: Process Collocation Deployment Directive Capability Lacking (deployment-rtf)

Click
here for this issue's archive.
Source: Raytheon (Mr. Gerald Lee Bickle, Gerald.L.Bickle(at)raytheon.com)
Nature: Uncategorized Issue
Severity:
Summary:
Problem: The CCM DTD in the assembly descriptor has the
capability to direct deployment of components on the same
processor and the PIM and PSM for SWRadio Components infrastructure
supports the deployment concept of process collocation. The capability is
needed for deployment considerations to direct
which components are to be collocated within the same process. Flexibility
should be given to express how components are to be deployed.
One reason to do this is performance considerations. Another use case is
the components could be an assembly which represents an application service
that is deployed in one process space.
Recommended solution: Is to add an optional zero to many Process
Collocation
element to the ComponentAssemblyDescription.

Resolution:
Revised Text: In section 6.4.9.1 replace the diagram by the following one: Add the following sentence at the end of the paragraph below the figure: In addition, it may contain locality requirements on subcomponent instances that influence the deployment planning process. In section 6.4.9.3 add the following bullet for an additional association: · localityConstraint: Locality [0..*] Describes locality constraints for subcomponent instances. In section 6.4.9.5 add the following sentence at the end: Locality requirements such as collocation or separation of two or more subcomponents may be specified for the subcomponents of the assembly. These requirements are evaluated during the deployment planning process. Add a new section 6.4.x after section 6.4.9: 6.4.x Locality 6.4.x.1 Description The Locality element specifies locality requirements for the subcomponent instances of an assembly. These requirements are evaluated during the deployment planning process and influence the decision where a particular subcomponent instance shall be deployed to. The Locality element allows for requesting the collocation or separation of two or more subcomponent instances of an assembly. The major reason for separating component instances is to support fault tolerance models. The rationale for requesting the collocation of component instances is often performance reasons. Collocation constraints should be used very carefully since they limit the possible decisions of the deployment planning process. Collocation constraints are often dedicated to a particular target environment and may thus limit the reuse of component assemblies for other target environments having a different topology and different capabilities. It is often better to put a special requirement on the communication path between two components requesting a high communication bandwidth instead of requesting collocation of those components. 6.4.x.2 Attributes · constraint: LocalityKind The value of this attribbute identifies the kind of the locality constraint. 6.4.x.3 Associations · constrainedInstance: SubcomponentInstantiationDescription [1..*] Refers to the description of those subcomponent instances the locality requirements are dedicated to. 6.4.x.4 Constraints No constraints. 6.4.x.5 Semantics See the description of the LocalityKind class for the semantics of locality constraint options. At planning time, the planner evaluates node locality constraints, and assigns constrained instances to the same node (SameNodeAnyProcess, SameNodeSameProcess, SameNodeDifferentProcess) or to different nodes (DifferentNode). Process locality constraints are recorded in the PlanLocality element of the DeploymentPlan, to be evaluated by the node manager. Add a new section 6.4.x after the previously added section: 6.4.x LocalityKind 6.4.x.1 Description See above. 6.4.x.2 Attributes No attributes. 6.4.x.3 Associations No constraints. 6.4.x.4 Constraints No constraints. 6.4.x.5 Semantics The choices for the locality constraints are: · SameNodeAnyProcess: This value specifies that the subcomponent instances the locality class refers to shall be deployed onto the same node. They can be started in the same process or in different processes by the deployment engine. · SameNodeSameProcess: This value specifies that the subcomponent instances the locality element refers to shall be deployed onto the same node. In addition, they shall also be instantiated in the same process by the deployment engine. · SameNodeDifferentProcess: This value specifies that the subcomponent instances the locality element refers to shall be deployed onto the same node but instantiated in different processes by the deployment engine. · DifferentNode: This value specifies that the subcomponent instances the locality element refers to shall be deployed onto different nodes. This implies that they will be instantiated in different processes. · DifferentProcess: This value specifies that the subcomponent instances the locality element refers to shall be instantiated in different processes by the deployment engine. It is not of interest whether the subcomponent instances are deployed onto the same node or onto different nodes. · NoConstraint: This value specifies that there is no locality constraint defined for the subcomponent instances the locality element is associated with. The purpose of this special value is to enable to switch locality constraints temporarily off without loosing the structure of the ComponentAssemblyDescription, i.e. the Locality element instance with its associations to SubcomponentInstantiationDescriptions can be kept for later reuse but has currently no impact on the deployment planning. In section 6.8.1.1 replace the diagram by the following one: Add the following sentence after the first sentence of the first paragraph below the figure: It also may contain additional locality information (PlanLocality) associated with the InstanceDeploymentDescription. In section 6.8.1.3 add the following bullet for an additional association: · localityConstraint: PlanLocality [0..*] Describes process locality constraints for component instances. In section 6.8.1.5 add the following sentence after the single sentence of the third paragraph: While creating component instances, the deployment engine must consider process collocation or process separation constraints defined by the PlanLocality element. Add a new section 6.8.x after section 6.8.4: 6.8.x PlanLocality 6.8.x.1 Description The PlanLocality element allows for defining process collocation or process separation of two or more component instances specified by a DeploymentPlan. The deployment engine must consider these constraints when creating component instances. The values of the PlanLocality element are extracted from the Locality element of the ComponentAssemblyDescription. 6.8.x.2 Attributes · Constraint: PlanLocalityKind The value of this attribute identifies the kind of the PlanLocality constraint. 6.8.x.3 Associations · constrainedInstance: InstanceDeploymentDescription [1..*] Refers to the deployment description of those subcomponent instances the locality constraints are dedicated to. 6.8.x.4 Constraints No constraints. 6.8.x.5 Semantics See the description of the PlanLocalityKind class for the semantics of locality constraint options. At execution time, the node manager evaluates process locality constraints, and assigns constrained instances to the same process (SameProcess) or to different processes (DifferentProcess). Add a new section 6.8.x after the previously added section: 6.8.x PlanLocalityKind 6.8.x.1 Description See above. 6.8.x.2 Attributes No attributes. 6.8.x.3 Associations No associations. 6.8.x.4 Constraints No constraints. 6.8.x.5 Semantics The choices for the constraints are: · SameProcess: This value specifies that the component instances specified by InstanceDeploymentDescription the PlanLocality element refers to shall be started in the same process by the deployment engine. · DifferentProcess: This value specifies that the component instances specified by InstanceDeploymentDescription the PlanLocality element refers to shall be started in different processes by the deployment engine. · NoConstraint: This value specifies that there is no locality constraint defined for the deployment of the component instances described by InstanceDeploymentDescription the PlanLocality element refers to. The purpose of this special value is to enable to switch locality constraints temporarily off without loosing the structure of the DeploymentPlan, i.e. the PlanLocality element instance with its associations to InstanceDeploymentDescriptions can be kept for later reuse but has currently no impact on the execution of the DeploymentPlan.
Actions taken:
September 3, 2004: received issue
May 9, 2005: closed issue

Discussion:
Resolution:
Introduce an additional class called Locality to the ComponentAssemblyDescription that allows for specifying locality constraints on the deployment process. 
Add a new class called PlanLocality to the DeploymentPlan that allows for specifying special process locality constraints for the deployment engine executing the deployment plan.



Issue 7734: New Requirement Satisfier Type (deployment-rtf)

Click
here for this issue's archive.
Source: Raytheon (Mr. Gerald Lee Bickle, Gerald.L.Bickle(at)raytheon.com)
Nature: Uncategorized Issue
Severity:
Summary:
Issue 1: New Requirement Satisfier Type
Unable to express a node/device characteristic as a set where each item is
an instance of the same characteristic class. For example, node/device may
have many runtimes, libraries, communication paths/QoS. One needs to be
able to express a characteristic such as runtime or library as one
characteristic with multiple instances, where each instance contains the
same requirement satisfier definition. For example, for runtime or library
characteristic each instance in the set would contain name and its value
and version and its value, as a set of instances of a characteristic that
contains name and version in this case. This would allow one to state the
set of libraries or runtimes in a consistent manner all belonging to the
runtime or library characteristic.


Right now for the D & C, I would have to define a RequirementSatisfier as
RunTime1 and RunTime2 instead of RunTime. I am able to express a
requirement as RunTime but this will not be matched against RunTime1 and
RunTime2.


Potential Recommendation
Add definition for RequirementSetSatisfier that contains 1 one to many
RequirementSatisfier. The constraint being the RequirementSatisfier
definition has to be the same except for the values.


Appears that an abstract definition is needed for the
RequirementSetSatisfier and RequirementSatisfier since a node or device can
have either or both of them, and they have common attributes (name,
resourceType).


This added capability would also cause changes to the update operation to
support this information.

Resolution:
Revised Text:
Actions taken:
September 10, 2004: received issue

Discussion:
During the RTF meetings and telephone conferences the RTF agreed that a concrete use case is needed in order to specify an appropriate resolution for this issue. Since such use case is not yet available this issue is deferred to the next Deployment RTF


Issue 7735: AssemblyController Component Lacking (deployment-rtf)

Click
here for this issue's archive.
Source: Raytheon (Mr. Gerald Lee Bickle, Gerald.L.Bickle(at)raytheon.com)
Nature: Uncategorized Issue
Severity:
Summary:
Issue 2: AssemblyController Component Lacking
Lacking the capability of expressing a AssemblyController component in a
assembly component description. One use case is the SCA and the SWRadio
spec. The assembly controller is the component in assembly that is the main
controller and the Application proxy communicates with when specified.
Recommendation:
Add an optional AssemblyControllerComponent Element to the
AssemblyComponent description. The AssemblyControllerComponent Element
definition contains an attribute, which identifies the component in the
assembly that is the assembly controller component. Add
AssemblyControllerComponent Element as subsection to 6.4. Update section
6.4.9.1 figure. Update PSM XML for ComponentAssemblyDescription.


This also allows PSMs to constraint the definition to always none or
mandatory for a assembly controller.

Resolution:
Revised Text:
Actions taken:
September 10, 2004: received issue

Discussion:
During the RTF meetings and telephone conferences the RTF agreed that this issue needs to be further investigated. Thus, this issue is deferred to the next Deployment RTF.


Issue 7736: Component Factory Lacking (deployment-rtf)

Click
here for this issue's archive.
Source: Raytheon (Mr. Gerald Lee Bickle, Gerald.L.Bickle(at)raytheon.com)
Nature: Uncategorized Issue
Severity:
Summary:
Issue 3: Component Factory Lacking
Both the SCA and CCM has the capability of expressing factory concepts in
the assembly description. The factory concepts allow for the deployment
machinery to create components in the assembly from a component factory
that is a component of the assembly or service of the node/device.


Recommendation
Update SubcomponentInstantiationDescription to add an optional element that
can be used to reference a component in the assembly or a referenced
service that is a component factory. This new element should also contain
optional properties that can be used by the factory for component creation

Resolution:
Revised Text:
Actions taken:
September 10, 2004: received issue

Discussion:
During the RTF meetings and telephone conferences the RTF agreed that this issue needs to be further investigated. Thus, this issue is deferred to the next Deployment RTF


Issue 7737: SatisfierPropertyKind is too Restrictive (deployment-rtf)

Click
here for this issue's archive.
Source: Raytheon (Mr. Gerald Lee Bickle, Gerald.L.Bickle(at)raytheon.com)
Nature: Uncategorized Issue
Severity:
Summary:
The satisfierPropertykind should not be an enumeration type. This does not
allow for growth or expressing other capacity models. This issue was
discuss at the St. Louis meeting
Recommendation
Is to change  from a enumeration type to string but keep the enumeration
list as well-define string values along with their meaning.

Resolution:
Revised Text:
Actions taken:
September 10, 2004: received issue

Discussion:
During the RTF meetings and telephone conferences the RTF agreed that this issue needs to be further investigated. Thus, this issue is deferred to the next Deployment RTF.


Issue 7738: Locally Managed Capacity Indicator (deployment-rtf)

Click
here for this issue's archive.
Source: Raytheon (Mr. Gerald Lee Bickle, Gerald.L.Bickle(at)raytheon.com)
Nature: Uncategorized Issue
Severity:
Summary:
The capability is lacking to indicate if the capacity model for a capacity
is managed by the node/device or not. The Deployment and Configuration
specification should not constraint System Architecture/Developers from
architecting/implementing the system but be flexible. The OMG SWRadio spec
allows for this flexibility. One Example use case of this is multiple
domains trying to reserve capacity from the same device.


Recommendation
At a locallyManaged boolean attribute to the RequirementSatisfier.
Add a new interface called CapacityManager or CapacityAllocator. This
allows a node/device to realize this type of interface. A node/device would
only have to support this interface if it had capacities that are locally
managed. Recommendation for the interface definition is based upon the
SWRadio DeviceComponent allocateCapacity and deallocateCapacity operations


Resolution:
Revised Text:
Actions taken:
September 10, 2004: received issue

Discussion:
During the RTF meetings and telephone conferences the RTF agreed that this issue needs to be further investigated. Thus, this issue is deferred to the next Deployment RTF.


Issue 7746: Deployment descriptors (deployment-rtf)

Click
here for this issue's archive.
Source: National Lab, Distributed Process, China (Deng Bo, db_zq(at)yahoo.com.cn)
Nature: Uncategorized Issue
Severity:
Summary:
For components created at runtime instead of configuration time, they cannot utilize advantages of Assembly-configurator infrstructure. Those components must using ad hoc Naming or ior to locate other  components or assemblies.
 
Resolution:
 
When a component is created, assembly object call object configurator of type Components::Configurator's mothod to connect component to other components or assemblies:
 
void configure (in CCMObject comp)
 
Some extension must add to deployment descriptors, assembly object using these information to connect newly created component to other components or assemblies.
 
Replace the following text in formal/02-06-05 on page 7-14
 
<!ELEMENT connections
     ( connectinterface
     | connectevent
     | connecthomes
     | extension
     )* >
 
with
 
<!ELEMENT connections
     ( connectinterface
     | connectevent
     | connecthomes
     | extension
     | connectcomponentinstantiation
     )* >
 
Add the following text in formal/02-06-05 on page 7-14
 
<!ELEMENT connectcomponentinstantiation
     (homeplacementref
      , (connectinterface
        | connectevent
        )*
     ) >
<!ATTLIST connectcomponentinstantiation
     id ID #REQUIRED >
     

Resolution:
Revised Text:
Actions taken:
September 16, 2004: received issue

Discussion:
This issue asks for additional features for supporting the configuration of dynamically created components during run-time. Since dynamic configuration goes beyond the scope of the current deployment specification, this issue is deferred to a future RFP for dynamic deployment.


Issue 7877: UML 2.0 port issue (deployment-rtf)

Click
here for this issue's archive.
Source: Mercury Computer Systems (Mr. James E. Kulp, nobody)
Nature: Uncategorized Issue
Severity:
Summary:
UML 2.0 allows for ports to have a set of required interfaces and a set
of provided interfaces.


The definition of port interfaces in the PIM should allow for this, even though
the PSM for CCM must constrain this.


Note that change must also be consistently applied to the external reference endpoints
(all other endpoints are for component ports with an associated port interface
definition in the ComponentPortDescription class).

Resolution:
Revised Text:
Actions taken:
October 20, 2004: received issue
May 9, 2005: closewd issue

Discussion:
See issue #6602 for disposition  Resolution:
As part of the resolution to issue 7953, a constraint has been added that states each port stereotyped as SWRadioPort has a set of 1 required and 1 provided interface at most.  Since SWRadioPort is the parent for all Port stereotypes defined in the PIM,  by definition, this takes care of the problem addressed in issue 7877.  Hence, issue 7877 should be closed with no change required to the specification, per the resolution for issue 7953.
Revised Text:
N/A
Disposition:	Closed, no change


Issue 7880: Target Manager Resource Commitment Granularity (deployment-rtf)

Click
here for this issue's archive.
Source: Zuehlke Engineering (Mr. Frank Pilhofer, fpilhofer2008(at)gmail.com)
Nature: Uncategorized Issue
Severity:
Summary:
At the moment, resources are committed and later released according to
a Deployment Plan -- the Execution Manager just sends over the full
plan, and the Target Manager has to pick it apart. We considered this
a good idea -- after all, the plan contains all information about
resources that will be used by an application. In retrospect, however,
it looks like a design break. The plan contains a lot of information
that the Target Manager is not interested in. So the Target Manager
has to dissect information that it should not need to see in the first
place.


Also, and maybe more importantly, the only way of releasing resources
is by sending the very same plan to the Target Manager all over again,
as the Target Manager does not keep track of allocations.


This does not allow for the early release of resources, in case the
application does not need all that were reserved, or in case part of
the application finishes early.


Therefore I propose to replace the current "commitResources" and
"releaseResources" operations with a per-application "resource
commitment" object that allows to commit and release resources in a
fine-grained manner, and that keeps track of the current commitment,
so that the remaining resources that are in use by an application
can be released by simply destroying the object.


By not sending the full Deployment Plan, that would also dramatically
cut communication between the Execution Manager and the Target Manager.

Resolution:
Revised Text: After section 6.7.1 (TargetManager), add a new "ResourceAllocation" section. 6.7.2 ResourceAllocation 6.7.2.1 Description A ResourceAllocation element identifies a resource within the Domain that is allocated from, and the amount that is being allocated. 6.7.2.2 Attributes elementName: String [1] The name of a top-level element in a Domain, i.e., a Node, Interconnect or Bridge. resourceName: String [1] The name of a Resource or SharedResource accessible to the Node, Interconnect or Bridge that is identified by the elementName. 6.7.2.3: Associations properties: Any [1] The properties of the resource to be allocated or verified against the Resource's properties. Their values must be of the appropriate type, according to the SatisfierProperty's SatisfierPropertyKind attribute. For Quantity, the value must be the integer value 1. For Capacity, it is the ordinal that is allocated. For the other kinds, the value must be of the same type as the SatisfierProperty's value. 6.7.2.4 Constraints No constraints. 6.7.2.5 Semantics No semantics. A new "ResourceCommitmentManager" interface is then added to the same section. 6.7.3 ResourceCommitmentManager 6.7.3.1 Description The ResourceCommitmentManager interface manages a set of resources that are allocated, e.g., for the execution of an application. Resources can be individually committed and released as necessary. At the end of its life cycle, all remaining committed resources are released automatically. 6.7.3.2 Operations commitResources (resources: ResourceAllocation [*]) Adds a set of resources to the current list of committed resources. Raises the ResourceCommitmentFailure exception if a resource can not be committed, e.g., due to resource exhaustion. releaseResources (resources: ResourceAllocation [*]) Releases a set of committed resources. Raises the ResourceCommitmentFailure when trying to release more resources than were committed. 6.7.3.3 Associations targetManager: TargetManager [1] A ResourceCommitmentManager cooperates with a TargetManager to evaluate and manipulate the set of available resources in the Domain it manages. 6.7.3.4 Constraints Each ResourceAllocation that is committed must identify an element within the Domain, and a Resource available to that element. 6.7.3.5 Semantics Committing a ResourceAllocation involves comparing the allocated value against the available value of the Resource's SatisfierProperty, according to its SatisfierPropertyKind, and "substracting" the committed value from the available value, if applicable. Releasing a ResourceAllocation "adds" the value that is being Released to the available value, if applicable. In section 6.7.1.2 (TargetManager operations), remove the commitResources and releaseResources operations. In the same section 6.7.1.2, add two new operations createResourceCommitment (resources: ResourceAllocation [*]) : ResourceCommitmentManager Creates a new resource commitment management object, with an initial set of resource commitments. This is equivalent to creating a ResourceCommitmentManager with an empty initial set of resource commitments, and then passing the set of resources to its commitResources operation. Raises the ResourceCommitmentFailure exception if a resource can not be committed. destroyResourceCommitment (manager: resourceCommitmentManager) Destroys a resource commitment management object, releasing all remaining resources that were committed but not previously released. In section 6.7.1.3 (TargetManager associations), add an association currentCommitments: ResourceCommitmentManager [*] The current set of resource commitment management objects. Now, some of the other parts of the specification need to be updated to be in sync with this new interface. In particular, the ResourceCommitmentManager object needs to be passed along from the ExecutionManager to the NodeManager objects, so that they might release resources early -- one of the reasons for making this change in the first place. Also, in order to continue supporting Planner-guided commitment, the option to pass an "external" ResourceCommitmentManager to the ExecutionManager's preparePlan operation needs to be supported. In section 6.9.2.2, (ExecutionManager operations), change the signature of the preparePlan operation from preparePlan (plan: DeploymentPlan, commitResources: Boolean): DomainApplicationManager to preparePlan (plan: DeploymentPlan, resourceCommitment: ResourceCommitmentManager [0..1]): DomainApplicationManager Creates an application manager (factory) from a deployment plan. If the resourceCommitment parameter is present and non-nil, then it is assumed that resources were already committed by an online planner, and the ResourceCommitment- Manager object is "adopted". Otherwise, the resources used by the plan are committed via the TargetManager; creating a new ResourceCommitmentManager object in the process. Raises the ResourceNotAvailable exception if one or more requested resources are not available. Raises the StartError exception if a deployment-related error occurs during preparation. Raises the PlanError exception if there is a problem with the plan. In the same section, update the first sentence of the description for the destroyManager operation to read Terminates an application manager, and frees all associated resources by destroying the ResourceCommitmentManager object. [Remaining description as before.] In section 6.9.3.2 (NodeManager operations), update the signature of the preparePlan operation from preparePlan (plan: DeploymentPlan): NodeApplicationManager to preparePlan (plan: DeploymentPlan, resourceCommitment: ResourceCommitmentManager): NodeApplicationManager In section 6.9.4.3 (ApplicationManager associations), add the following association: resourceCommitment: ResourceCommitmentManager [1] The resource commitment management object that manages information about resources that are currently committed to the execution of this application. In section 6.9.5.5 (NodeApplicationManager semantics), add the following paragraph at the end of the section: A NodeApplicationManager can use the ResourceCommitmentManager object to release resources that were allocated for the execution of this application, when it is certain that these resources will not be used throughout the remainder of the application's lifetime, e.g., when a component terminates before destroyApplication is called. Finally, the new ResourceCommitmentFailure exception is introduced into the Exceptions section. In section 6.11, add the following exception before ResourceNotAvailable (6.11.4): 6.11.4 ResourceCommitmentFailure 6.11.4.1 Description The ResourceCommitmentFailure exception is raised by the TargetManager or ResourceCommitmentManager, if a resource allocation or deallocation can not be satisfied. 6.11.4.2 Attributes reason: String A human-readable message explaining why the allocation failed. index: Integer Identifies the ResourceAllocation element that could not be satisfied, in a list of resource allocations. This identifies the top-level element in the Domain and the Resource that a property was to be committed or released. propertyName: String Identifies the specific property that could not be satisfied. Matches the name of a Property associated with the Resource Allocation element, and the name of a SatisfierProperty element associated with the Resource, if it exists. 6.11.4.3 Associations propertyValue: Any [0..1] The available value remaining for the property. If missing, then the Resource does not exist, or does not have a property by that name. 6.11.4.4 Constraints No constraints. 6.11.4.5 Semantics No semantics. Now that the TargetManager does not raise the ResourceNotAvailable exception, we need to remove it from its description. In section 6.4.11.1 (ResourceNotAvailable Description), change the text from The ResourceNotAvailable exception is raised by the commitResources operation of the TargetManager, by the preparePlan operation of the ExecutionManager or by the startLaunch operation of the Application- Manager if a resource required by the plan is not available. to The ResourceNotAvailable exception is raised by the preparePlan operation of the ExecutionManager or by the startLaunch operation of the ApplicationManager if a resource required by the plan is not available.
Actions taken:
October 25, 2004: received issue
May 9, 2005: closed issue

Discussion:
Resolution:
As indicated by the issue, the "commitResources" and "releaseResources" are replaced by a per-application "resource commitment" object. This solution aims to minimize the communication between the Execution Manager and the Target Manager, both in terms of the amount of data and the required roundtrips.

First, a data structure "ResourceAllocation" is introduced into the Target Management Model. It identifies a resource by name, and an amount that is being allocated. An application's total set of allocated resources can be expressed as a sequence of this structure.



Issue 7940: Resource Deployment Description Clarification (deployment-rtf)

Click
here for this issue's archive.
Source: Zuehlke Engineering (Mr. Frank Pilhofer, fpilhofer2008(at)gmail.com)
Nature: Clarification
Severity:
Summary:
Sections 6.8.9, 6.8.10 and 6.8.11 describe the ResourceDeployment-
Description, InstanceResourceDeploymentDescription and Connection-
ResourceDeploymentDescription elements, which identify the resources
that were chosen to satisfy a requirement.


There are three minor editorial issues here:


(1)


In 6.8.11.2 (ConnectionResourceDeploymentDescription Attributes),
the targetName attribute always identifies an Interconnect or a Bridge,
but never a Node.


Proposed resolution:


Update the description for the targetName attribute; change the text
in parentheses from


  (i.e., the name of a Node, Interconnect or Bridge)


to


  (i.e., the name of an Interconnect or Bridge)



(2)


Also in 6.8.11.2 (ConnectionResourceDeploymentDescription Attributes),
the targetName provides a scope for the resource, not for a requirement.


Proposed resolution:


Update the description for the targetName attribute; change the
second half of the first sentence (after the comma) from


  [...], to provide scope for the requirementName.


to


  [...], to provide scope for the resourceName.



(3)


Finally, I'd like to clarify in section 6.8.10 (InstanceResource-
DeploymentDescription) that the resourceName is within the scope of
the node that this instance is deployed on.


Proposed resolution:


In section 6.8.10.5 (InstanceResourceDeploymentDescription semantics),
add the following text:


  An InstanceResourceDeploymentDescription is always used in the context
  of an InstanceDeploymentDescription, which identifies the node that a
  component instance is deployed on. This node provides scope for the
  resourceName.

Resolution:
Revised Text: In section 6.8.11.2, update the description for the targetName attribute; change the text in parentheses from (i.e., the name of a Node, Interconnect or Bridge) to (i.e., the name of an Interconnect or Bridge) Also section in 6.8.11.2, update the description for the targetName attribute; change the second half of the first sentence (after the comma) from [...], to provide scope for the requirementName. to [...], to provide scope for the resource Name. In section 6.8.10.5, add the following text: An InstanceResourceDeploymentDescription is always used in the context of an InstanceDeploymentDescription, which identifies the node that a component instance is deployed on. This node provides scope for the resourceName.
Actions taken:
November 19, 2004: received issue
May 9, 2005: closed issue

Discussion:
Resolution:
Change the text as proposed.


Issue 7941: Resource Deployment Description Insufficient (deployment-rtf)

Click
here for this issue's archive.
Source: Zuehlke Engineering (Mr. Frank Pilhofer, fpilhofer2008(at)gmail.com)
Nature: Uncategorized Issue
Severity:
Summary:
In section 6.8.9, the ResourceDeploymentDescription, part of a
DeploymentPlan, contains information about the resources that were
chosen to satisfy a requirement.


It has a "resourceValue" association to an Any value.


However, resources and requirements have not just one value, but a
set of properties; see 6.10.4 (RequirementSatisfier) and 6.10.7
(Requirement).


Therefore, the "resourceValue" must be replaced with a set of
"Properties" elements.


Proposed resolution:


In section 6.8.9.3 (ResourceDeploymentDescription associations),
replace the current association


  resourceValue: Any [1]
        The aspect of the resource actually allocated, if any, of
        the appropriate type of the resource's SatisfierPropertyKind
        attribute. For Quantity, it is the ordinal allocated. For
        Allocation, it is the allocated capacity, for Selection, it
        is the matched string. For others, it is the value of the
        matched property.


with


  property: Property [*]
        The aspects of the resource actually allocated, if any. The
        property values are of the appropriate types according to
        their matched SatisfierProperty's SatisfierPropertyKind
        attribute. For Quantity, it is the ordinal allocated. For
        Allocation, it is the allocated capacity, for Selection, it
        is the matched string. For others, it is the value of the
        matched property

Resolution:
Revised Text: In section 6.8.9.3 (ResourceDeploymentDescription associations), replace the current association resourceValue: Any [1] The aspect of the resource actually allocated, if any, of the appropriate type of the resource's SatisfierPropertyKind attribute. For Quantity, it is the ordinal allocated. For Allocation, it is the allocated capacity, for Selection, it is the matched string. For others, it is the value of the matched property. with property: Property [*] The aspects of the resource actually allocated, if any. The property values are of the appropriate types according to their matched SatisfierProperty's SatisfierPropertyKind attribute. For Quantity, it is the ordinal allocated. For Allocation, it is the allocated capacity, for Selection, it is the matched string. For others, it is the value of the matched property
Actions taken:
November 19, 2004: received issue
May 9, 2005: closed issue

Discussion:
Resolution:
Change the text as proposed


Issue 7945: Requirement Satisfier "name" Attribute is not Optional (deployment-rtf)

Click
here for this issue's archive.
Source: Zuehlke Engineering (Mr. Frank Pilhofer, fpilhofer2008(at)gmail.com)
Nature: Uncategorized Issue
Severity:
Summary:
In section 6.10.4.2 (RequirementSatisfier attribute), the
description for the "name" attribute reads, "An optional name
for the requirement satisfier."


This is in violation of our convention for "name" attributes
(see section 6.3), and in fact, other parts of the specification
make use of the fact that the name uniquely identifies a
RequirementSatisfier within its parent, e.g., the Resource
Deployment Description element; its resourceName identifies a
resource by the requirement satisfier's name.


Proposed resolution:


In section 6.10.4.2, change the description for the "name"
attribute from


  name: String    An optional name for the requirement satisfier.


to


  name: String    The requirement satisfier's name, which uniquely
                  identifies this requirement satisfier within its
                  container.

Resolution:
Revised Text: In section 6.10.4.2, change the description for the "name" attribute from name: String An optional name for the requirement satisfier. to name: String The requirement satisfier's name, which uniquely identifies this requirement satisfier within its container.
Actions taken:
November 23, 2004: received issue
May 9, 2005: closed issue

Discussion:
Resolution:
Change the text as proposed


Issue 7954: Separation of components during deployment (opposite of collocation). (deployment-rtf)

Click
here for this issue's archive.
Source: Fraunhofer FOKUS (Mr. Andreas Hoffmann, andreas.hoffmann(at)fokus.fraunhofer.de)
Nature: Uncategorized Issue
Severity:
Summary:
The current specification does not support the separation of components during depoyment. It should be possible to specify a such a requirement as input for the deployment planning process. Use cases for this are for instance:
- to request the instantiation of components in different processes for single threaded component implementations
- to request the instantiation of components in different processes or on different hosts for fault tolerance reasons
- to request the instantiation of components on different hosts for performance reasons (with respect to CPU load)

This issue should be resolved together with issue #7666 (host collocation) and issue #7667 (process collocation).

Resolution:
Revised Text:
Actions taken:
November 30, 2004: received issue
May 9, 2005: closed issue

Discussion:
See issue #7667 for disposition


Issue 7971: Resource Commitment Sequence Diagram Clarification (deployment-rtf)

Click
here for this issue's archive.
Source: Zuehlke Engineering (Mr. Frank Pilhofer, fpilhofer2008(at)gmail.com)
Nature: Clarification
Severity:
Summary:
In the latest document, with the resolution to issue 6039 applied,
figure 8-13 on page 123, contains a note attached to the
"commitResource"
operation between the DomainApplicationManager and the TargetManager,
indicating that:


    This call could come from either the DomainApplicationManager
    or the DomainApplication, as an implementation choice. 


It was intended that implementations can also delegate resource
commitment
can also be delegated to nodes.


Proposed resolution:


Change the note identified above to read


    Can be delegated to DomainApplication or NodeApplication.

Resolution:
Revised Text: Figure 8-13 on page 123, contains a note attached to the "commitResource" operation between the DomainApplicationManager and the TargetManager. Change that note from This call could come from either the DomainApplicationManager or the DomainApplication, as an implementation choice. to This call can be delegated to DomainApplication or NodeApplication, as an implementation choice.
Actions taken:
December 8, 2004: received issue
May 9, 2005: closed issue

Discussion:
Resolution:
Change the text as proposed above


Issue 8286: ArtifactDeploymentDescription: "node" should be optional (deployment-rtf)

Click
here for this issue's archive.
Source: Zuehlke Engineering (Mr. Frank Pilhofer, fpilhofer2008(at)gmail.com)
Nature: Uncategorized Issue
Severity:
Summary:
In section 6.8.2.2 (ArtifactDeploymentDescription attributes),
the text for the "node" attribute explains,


node: String
  The name of the node where the artifact is to be installed.
  If blank, the node is implied by the InstanceDeploynment-
  Description parent.


The empty string should not have a special meaning. Rather,
the attribute should be optional.


Proposed resolution:


Change the attribute to have 0..1 multiplicity, and change
the text to read as follows:


node: String [0..1]
  The name of the node where the artifact is to be installed.
  If missing, the node is implied by the InstanceDeployment-
  Description parent.

Resolution:
Revised Text:
Actions taken:
February 15, 2005: received issue

Issue 8944: Enumerated SatisfierProperties (deployment-rtf)

Click
here for this issue's archive.
Source: Zuehlke Engineering (Mr. Frank Pilhofer, fpilhofer2008(at)gmail.com)
Nature: Uncategorized Issue
Severity:
Summary:
Section 9.3.5, "SatisfierProperty," defines the concrete
data types that a SatisfierProperty's value can assume,
depending on the SatisfierPropertyKind.


For the "Attribute" kind, it allows the value to be of a
(user-defined) enumeration type. It then says, "if the value
of the SatisfierProperty is of enumeration type, the value
of the Property is of type string, containing the enumeration
value that must compare equal to the SatisfierProperty value.


This is straightforward enough. E.g., it allows a
DomainAdministrator to enumerate the kinds of processors
in a domain,


  enum Processors { ix86, ppc, sparc };


and then to tag each node with a resource containing a
property of this type, its value specifying the actual
processor type of the node.


It seemed like a good idea. Yet this feature does not buy
much. The DomainAdministrator could just as well use an
attribute of type string to the same effect. The only
advantage is that the enumerated property allows the
DomainAdministrator to constrain the values that a
SatisfierProperty may have. But it's the DomainAdmininstrator
constraining himself, so it's not much of a constraint.


However, this feature does add a dependency on DynamicAny
for both the TargetManager and the Planner, which do not
know about any user-defined enumeration types. All the other
SatisfierPropertyKind options use basic IDL data types (long,
unsigned long, double or string).


So, because of the added complexity, and the low mileage, I
propose to remove enumerated properties from the spec.


Proposed resolution:


In section 9.3.5, "SatisfierProperty," change the fourth
and fifth bullet from:


    For the Attribute kind, the value of the SatisfierProperty
    is of type long, double, string, or an enumeration type.
    In the case of long, double or string, the value of the
    Property must be of the same type. If the value of the
    SatisfierProperty is of enumeration type, the value of
    the Property is of type string, containing the enumeration
    value that must compare equal to the SatisfierProperty
    value.


    For the Selection kind, the value of the SatisfierProperty
    is a sequence of type long, double, string, or an
    enumeration type. The same rules as for the Attribute kind
    apply.


To:


    For the Attribute kind, the value of the SatisfierProperty
    is of type long, double or string. The value of the
    Property must be of the same type and compare equal to
    the SatisfierProperty value.


    For the Selection kind, the value of the SatisfierProperty
    is a sequence of type long, double or string. The same
    rules as for the Attribute kind apply.

Resolution:
Revised Text: In section 9.3.5, "SatisfierProperty," change the fourth and fifth bullet from: For the Attribute kind, the value of the SatisfierProperty is of type long, double, string, or an enumeration type. In the case of long, double or string, the value of the Property must be of the same type. If the value of the SatisfierProperty is of enumeration type, the value of the Property is of type string, containing the enumeration value that must compare equal to the SatisfierProperty value. For the Selection kind, the value of the SatisfierProperty is a sequence of type long, double, string, or an enumeration type. The same rules as for the Attribute kind apply. To: For the Attribute kind, the value of the SatisfierProperty is of type long, double or string. The value of the Property must be of the same type and compare equal to the SatisfierProperty value. For the Selection kind, the value of the SatisfierProperty is a sequence of type long, double or string. The same rules as for the Attribute kind apply. Disposition: Resolved
Actions taken:
August 1, 2005: received issue
June 7, 2006: closed issue

Discussion:
Resolution:
Because of the added complexity, and the low mileage, I propose to remove enumerated properties from the spec. 


Issue 8979: Distinguish Node vs. Component Exec Parameters in Deployment Plan (deployment-rtf)

Click
here for this issue's archive.
Source: Zuehlke Engineering (Mr. Frank Pilhofer, fpilhofer2008(at)gmail.com)
Nature: Uncategorized Issue
Severity:
Summary:
The resolution for issue 6435 split the former "execution
parameters" into "node execution parameters" and "component
execution parameters" within the Component Data Model, by
extending the MonolithicImplementationDescription element
to have separate "nodeExecParameter" and "componentExec-
Parameter" property lists.


However, the resolution neglected to make a similar change
to the Execution Data Model -- the MonolithicDeployment-
Description element in the Deployment Plan only has a single
list of "execParameter" properties.


This should be changed to be in sync with the Component
Data Model.


Proposed resolution:


In section 6.8.3.3 (MonoliticDeploymentDescription
associations), remove the "execParameter" association.


Instead, add the following two associations:


  nodeExecParameter: Property[*]
    Execution parameters that are passed to the target
    environment. Copied from the MonoliticImplementation-
    Description.
  componentExecParameter: Property[*]
    Execution parameters that are passed to the primary
    artifact. Copied from the MonoliticImplementation-
    Description.

Resolution:
Revised Text: In section 6.8.3.3 (MonolithicDeploymentDescription associations), remove the "execParameter" association. Instead, add the following two associations: nodeExecParameter: Property[*] Execution parameters that are passed to the target environment. Copied from the MonolithicImplementation- Description. componentExecParameter: Property[*] Execution parameters that are passed to the primary artifact. Copied from the MonolithicImplementation- Description. Disposition: Resolved
Actions taken:
August 26, 2005: received issue
June 7, 2006: closed issue

Discussion:
Resolution:
Split the "execution parameters" in the Execution Data Model into two sets of parameters to be in sync with the Component Data Model.


Issue 8983: Deployment Requirements in Deployment Plan (deployment-rtf)

Click
here for this issue's archive.
Source: Zuehlke Engineering (Mr. Frank Pilhofer, fpilhofer2008(at)gmail.com)
Nature: Uncategorized Issue
Severity:
Summary:
The Deployment Plan, in its Artifact Deployment Description
and Monolithic Deployment Description element, copies the
deployment requirements from the component data model, i.e.,
from the Implementation Artifact Description and Monolithic
Implementation Description, respectively.


However, while the deployment requirements for a monolithic
implementation are represented using the Implementation
Requirement element, Monolithic Deployment Description only
allows deployment requirements to be of type Requirement,
and is thus not able to completely capture the original
requirement.


This is an effect of the resolution of issue 6392, which
extended deployment requirements for monolithic
implementations in the component data model from
"Requirement" to "ImplementationRequirement", but neglected
to make a similar change to the Monolitic Deployment
Description.


This information may not be necessary in the deployment plan
in the first place, as an Instance Deployment Description
now, also as a result of this resolution, captures the
resources that were chosen to satisfy the monolithic
implementation's requirements.


As noted in the resolution, an issue to remove the copies
of deployment requirements should be raised separately. Here
it is.


Proposed resolution:


Remove the copies of deployment requirements, in both
Artifact Deployment Description and Monolithic Deployment
Description.


In section 6.8.2.1, "ArtifactDeploymentDescription
Description", change the last sentence from


  Execution parameters and deployment requirements are
  copied from the ImplementationArtifactDescription.


to


  Execution parameters are copied from the
  ImplementationArtifactDescription.


In section 6.8.2.3, "ArtifactDeploymentDescription
Associations", remove the "deployRequirement"
association.


In section 6.8.3.1, "MonolithicDeploymentDescription
Description", change the last sentence from


  The execution parameters and deployment requirements
  are copied from the MonolithicImplementationDescription.


to


  The execution parameters are copied from the
  MonolithicImplementationDescription.


In section 6.8.3.3, "MonolithicDeploymentDescription
Associations", remove the "deployRequirement"
association.

Resolution:
Revised Text: In section 6.8.2.1, "ArtifactDeploymentDescription Description", change the last sentence from Execution parameters and deployment requirements are copied from the ImplementationArtifactDescription. to Execution parameters are copied from the ImplementationArtifactDescription. In section 6.8.2.3, "ArtifactDeploymentDescription Associations", remove the "deployRequirement" association. In section 6.8.3.1, "MonolithicDeploymentDescription Description", change the last sentence from The execution parameters and deployment requirements are copied from the MonolithicImplementationDescription. to The execution parameters are copied from the MonolithicImplementationDescription. In section 6.8.3.3, "MonolithicDeploymentDescription Associations", remove the "deployRequirement" association. Disposition: Resolved
Actions taken:
August 30, 2005: received issue
June 7, 2006: closed issue

Discussion:
Remove the copies of deployment requirements, in both ArtifactDeploymentDescription and MonolithicDeploymentDescription.


Issue 8984: Information about Port Delegations Lost In Planning (deployment-rtf)

Click
here for this issue's archive.
Source: Zuehlke Engineering (Mr. Frank Pilhofer, fpilhofer2008(at)gmail.com)
Nature: Uncategorized Issue
Severity:
Summary:
The resolution for issue 6392 introduced the ability
for a monolithic implementation to delegate some of its
ports to a resource.


To this effect, the ImplementationRequirement element
has three attributes, "resourceUsage", "resourcePort"
and "componentPort" to identify how the component
instance uses the resource.


In the deployment plan, the InstanceResourceDeployment-
Description element captures which resource was chosen
to satisfy the requirement. It has a "resorceUsage",
but neither "resourcePort" and "componentPort"
attributes.


This information is necessary in the deployment plan.


Proposed resolution:


Add "resourcePort" and "componentPort" attributes to
the InstanceResourceDeploymentDescription element, to
carry the information from the original implementation
requirement.


In section 6.8.12.2, add two attributes:


  resourcePort [0..1]: The resource port used by the
      component instance. Copied from the original
      ImplementationRequirement.


  componentPort [0..1]: The component port delegated
      to or used by the resource. Copied from the
      original ImplementationRequirement.

Resolution:
Revised Text: In section 6.8.12.2, add two attributes: resourcePort [0..1]: The resource port used by the component instance. Copied from the original ImplementationRequirement. componentPort [0..1]: The component port delegated to or used by the resource. Copied from the original ImplementationRequirement. Disposition: Resolved
Actions taken:
August 31, 2005: received issue
June 7, 2006: closed issue

Discussion:
Resolution:
Add "resourcePort" and "componentPort" attributes to the InstanceResourceDeploymentDescription element, to carry the information from the original implementation requirement.


Issue 9177: Monitor or Verify Lacking in Deployment Process (deployment-rtf)

Click
here for this issue's archive.
Nature: Clarification
Severity: Minor
Summary:
Monitor or Verify Lacking in Deployment Process: In order to make the deployment process more perfect,this specification adds deployment planning before real deployment process begins,the monitoring should be added after the deployment as well.Only implementing deployment does not means the end for an application,it will be wonderful if monitoring the effects of the performed deployment on the target system which may be chosed from several valid deployment plans.This will also be helpful to assess which choice of deployment plans is a better one and to support dynamically upgrade of existing component versions. Recommendation: Monitoring should be added to the deployment process(chapter1.3) and Monitorer should be conrrespondingly added to the Actor (chapter 7). Monitoring may involve many things here we can choose some tightly correlated to deployment.Monitoring the existing application may be easy.During the perfomation of current deployment plan,the deployer can use deploy tools to get CPU or memory's running state of each node in the domain and the network traffic may also be considered.Add some corresponding xml files or elements to describe them will be ok.But for monitoring of dynamically upgrating,we consider a example that a component will be replaced by a set of its versions encapsulated in a wrapper.During the monitoring process,the wrapper is responsible for "hiding" from the rest of the system the fact that a given component exists in multiple version and the role of the wrapper is to relay to all component versions each invocation that it receives from the rest of the system then to propagate the generated results to the rest of the system.We can authoritate different operations to different versions and only the result of the authoritative version will be propagated outside while results of other versions will be logged for comparison of their perfomance?correctness and reliability.After some given time,assesses a better version for use and removes others.There are other algorithms to find out. 

Resolution:
Revised Text:
Actions taken:
November 23, 2005: received issue

Issue 9178: Supports For Many Applications (deployment-rtf)

Click
here for this issue's archive.
Nature: Clarification
Severity: Minor
Summary:
Supports For Many Applications: The current specification is more and more consummate for deploying an application.In the case of actual distributed environments such as embedded system,several applications running at the same time may be more hopeful.Although deploying several applications involves more things to consider,firstly we can add an ApplicationController component.The application controller is the component that coordinates and communicates with each application. Recommendation: The application controller component can be considered an assembly-based component in which each assembly component represents an application.Add an optional ApplicationControllerComponent Elment to the assemblyComponent description which contains an attribute that identifies the component is the application controller component.The corresponding PSM XML should be updated for assemblyComponent description.In implementation,an ApplicationFactory should be added which is reponsible for creating applications. 

Resolution:
Revised Text:
Actions taken:
November 23, 2005: received issue

Issue 9239: IDL name clash due to enumeration values defined twice (deployment-rtf)

Click
here for this issue's archive.
Source: Fraunhofer FOKUS (Mr. Andreas Hoffmann, andreas.hoffmann(at)fokus.fraunhofer.de)
Nature: Uncategorized Issue
Severity:
Summary:
In section 6.4.11.5 (Semantics of LocalityKind), different values including "DifferentProcess" and "NoConstraint" are defined for the LocalityKind enumeration of the Component Data Model. In section 6.8.6.5 (Semantics of PlanLocalityKind), the constants for the PlanLocalityKind enumeration are defined for the Execution Data Model, also containg these two names mentioned above. The problem is that enumeration names are introduced into their parent scope. Thus, the definition of the PlanLocalityKind reusing the same names as used in the LocalityKind enumeration causes a name clash in the IDL.


Proposed resolution:

Add a prefix "Plan" to all the constants of the PlanLocalityKind enumeration.

In section 6.8.6.5, change the bullet list from


SameProcess: This value specifies that the component instances that the PlanLocality element referers to shall be started in the same process by the deployment engine.

DifferentProcess: This value specifies that the component instances that the PlanLocality element referers to shall be started in different processes by the deployment engine.

NoConstraint: This value specifies that there is no locality constraint for the component instances that the PlanLocality element refers to. The purpose of this special value is to enable to switch locality constraints temporarily off without loosing the structure of the DeploymentPlan, i.e. the PlanLocality class instance with its associations to InstanceDeploymentDescription can be kept for later reuse but has currently no impact on the execution of the DeploymentPlan. 
to


PlanSameProcess: This value specifies that the component instances that the PlanLocality element referers to shall be started in the same process by the deployment engine.

PlanDifferentProcess: This value specifies that the component instances that the PlanLocality element referers to shall be started in different processes by the deployment engine.

PlanNoConstraint: This value specifies that there is no locality constraint for the component instances that the PlanLocality element refers to. The purpose of this special value is to enable to switch locality constraints temporarily off without loosing the structure of the DeploymentPlan, i.e. the PlanLocality class instance with its associations to InstanceDeploymentDescription can be kept for later reuse but has currently no impact on the execution of the DeploymentPlan. 



Resolution: Add a prefix "Plan" to all the constants of the PlanLocalityKind enumeration.
Revised Text: In section 6.8.6.5, change the bullet list from · SameProcess: This value specifies that the component instances that the PlanLocality element refers to shall be started in the same process by the deployment engine. · DifferentProcess: This value specifies that the component instances that the PlanLocality element refers to shall be started in different processes by the deployment engine. · NoConstraint: This value specifies that there is no locality constraint for the component instances that the PlanLocality element refers to. The purpose of this special value is to enable to switch locality constraints temporarily off without loosing the structure of the DeploymentPlan, i.e. the PlanLocality class instance with its associations to InstanceDeploymentDescription can be kept for later reuse but has currently no impact on the execution of the DeploymentPlan. to · PlanSameProcess: This value specifies that the component instances that the PlanLocality element refers to shall be started in the same process by the deployment engine. · PlanDifferentProcess: This value specifies that the component instances that the PlanLocality element refers to shall be started in different processes by the deployment engine. · PlanNoConstraint: This value specifies that there is no locality constraint for the component instances that the PlanLocality element refers to. The purpose of this special value is to enable to switch locality constraints temporarily off without loosing the structure of the DeploymentPlan, i.e. the PlanLocality class instance with its associations to InstanceDeploymentDescription can be kept for later reuse but has currently no impact on the execution of the DeploymentPlan. Disposition: Resolved
Actions taken:
January 18, 2006: received issue
June 7, 2006: closed issue

Issue 9884: Section: 7.6.1.1-7.6.1.2; 9.10 (deployment-rtf)

Click
here for this issue's archive.
Nature: Clarification
Severity: Minor
Summary:
On page 51 (section 7.6.1) there is inconsistency between TargetManager interface depicted in figure in subsection 7.6.1.1 and operations' description in subsection 7.6.1.2. In the figure there is 'commitResources' operation whereas in the description there is 'createResourceCommitment' operation. Which one is correct? Just to mention that on page 121 (section 9.10) in figure 9.1 - Executor in Action there is invocation of commitResources operation. 

Resolution:
Revised Text:
Actions taken:
July 6, 2006: received issue

Issue 14088: Add startLaunch also to DomainApplication/NodeApplication (deployment-rtf)

Click
here for this issue's archive.
Source: Remedy IT (Mr. Johnny Willemsen, jwillemsen(at)remedy.nl)
Nature: Clarification
Severity: Minor
Summary:
Only the DomainApplicationManager and NodeApplicationManager have a startLaunch, on both classes this leads to a call to a DomainApplication/NodeApplication but this has no name in figure 9.1. We propose to seperate construction with the real functionality. Add startLaunch also to DomainApplication/NodeApplication which means adding it also to the application interface

Resolution:
Revised Text:
Actions taken:
July 21, 2009: received issue

Issue 17028: Multiplicity of Components::Component::ownedPort ambiguous overview diagram (deployment-rtf)

Click
here for this issue's archive.
Source: Fraunhofer FOKUS (Mr. Max Bureck, max.bureck(at)fokus.fraunhofer.de)
Nature: Clarification
Severity: Minor
Summary:
In the overview diagram the property Components::Component::ownedPort has the multiplicity [1..*] in textual description, however, the multiplicity is [*]. There seems to be no reason why a component should have at least one port.

Resolution:
Revised Text:
Actions taken:
January 23, 2012: received issue

Issue 17029: Multiplicity of Components::Component::ownedPort ambiguous (deployment-rtf)

Click
here for this issue's archive.
Source: Fraunhofer FOKUS (Mr. Max Bureck, max.bureck(at)fokus.fraunhofer.de)
Nature: Clarification
Severity: Significant
Summary:
The property Components::ComponentImplementation::capacity is of type Sequence(Capacity). The type Capacity is not existent, neither in the UML meta-model nor in the DEPL specification. It is most likely (also judging from the stand-alone PIM meta-model) that the type Capability was meant here. So the property should be exchanged by the property:
Components::ComponentImplementation::capability(Capability)

Resolution:
Revised Text:
Actions taken:
January 23, 2012: received issue

Issue 17030: Type of Components::ExternalReference::location does not exist (deployment-rtf)

Click
here for this issue's archive.
Source: Fraunhofer FOKUS (Mr. Max Bureck, max.bureck(at)fokus.fraunhofer.de)
Nature: Clarification
Severity: Minor
Summary:
The property Components::ExternalReference::location is of type URL. This type is neither defined in the UML meta-model, nor in the DEPL profile. The type should be String and maybe a constraint or regular expression should be defined to restrict the value to a URL.

Resolution:
Revised Text:
Actions taken:
January 23, 2012: received issue

Issue 17031: Stereotype-property Components::Port::UID ambiguous (deployment-rtf)

Click
here for this issue's archive.
Source: Fraunhofer FOKUS (Mr. Max Bureck, max.bureck(at)fokus.fraunhofer.de)
Nature: Clarification
Severity: Minor
Summary:
The name and description of stereotype-property Components::Port::UID seems odd. Other stereotypes have a UUID property, providing a unique identifier. The description "The primary type of the port." does not seem to fit.

Resolution:
Revised Text:
Actions taken:
January 23, 2012: received issue

Issue 17032: Ambiguous mulitplicity of Target::CommunicationPath::connectedNode (deployment-rtf)

Click
here for this issue's archive.
Source: Fraunhofer FOKUS (Mr. Max Bureck, max.bureck(at)fokus.fraunhofer.de)
Nature: Clarification
Severity: Minor
Summary:
The multiplicity of stereotype-property Target::CommunicationPath::connectedNode is [1..*] in the overview picture, in textual description it is [*]. The multiplicity of [1..*] makes more sense, since the source for the derived property is 
self.interconnect.connectedNode, where CommunicationPath::interconnect has multiplicity [1..*] and Interconnect::connectedNode has multiplicity [1..*], so there should be at least one connectedNode.

Resolution:
Revised Text:
Actions taken:
January 23, 2012: received issue

Issue 17033: Multiplicity of Target::SharedResource::resourceUser ambiguous (deployment-rtf)

Click
here for this issue's archive.
Source: Fraunhofer FOKUS (Mr. Max Bureck, max.bureck(at)fokus.fraunhofer.de)
Nature: Clarification
Severity: Minor
Summary:
The multiplicity of the stereotype-property Target::SharedResource::resourceUser is [0..*] in the overview picture, but [1..*] in the textual description. There seems to be no reason why there should be at least one user for a shared resource.

Resolution:
Revised Text:
Actions taken:
January 23, 2012: received issue