Issues for Deployment Revision Task Force

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

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

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

Issue 7557: No type safety when external packages are referenced Jira Issue DEPL-78
Issue 7667: Process Collocation Deployment Directive Capability Lacking Jira Issue DEPL4-20
Issue 7877: UML 2.0 port issue Jira Issue DEPL4-21
Issue 7880: Target Manager Resource Commitment Granularity Jira Issue DEPL4-22
Issue 7940: Resource Deployment Description Clarification Jira Issue DEPL4-23
Issue 7941: Resource Deployment Description Insufficient Jira Issue DEPL4-24
Issue 7945: Requirement Satisfier "name" Attribute is not Optional Jira Issue DEPL4-25
Issue 7954: Separation of components during deployment (opposite of collocation). Jira Issue DEPL4-26
Issue 7971: Resource Commitment Sequence Diagram Clarification Jira Issue DEPL4-27
Issue 8944: Enumerated SatisfierProperties Jira Issue DEPL4-28
Issue 8979: Distinguish Node vs. Component Exec Parameters in Deployment Plan Jira Issue DEPL4-29
Issue 8983: Deployment Requirements in Deployment Plan Jira Issue DEPL4-30
Issue 8984: Information about Port Delegations Lost In Planning Jira Issue DEPL4-31
Issue 9239: IDL name clash due to enumeration values defined twice Jira Issue DEPL4-32

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 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 7877: UML 2.0 port issue (deployment-rtf)

Click
here for this issue's archive.
Source: Mercury 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: closed 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 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 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