Uploaded image for project: 'OASIS Cloud Application Management for Platforms (CAMP) TC'
  1. OASIS Cloud Application Management for Platforms (CAMP) TC
  2. CAMP-67

resource model lacks explicit information about the state of dependencies

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Spec
    • Labels:
      None
    • Proposal:
      Hide

      Strawman (just to get the ball rolling):

      1.) Add a consumer-mutable attribute to the PCR, named 'satisfiedBy', that is an array of links to the PCTs that satisfy this requirement. Adding elements to this array also updates the ACT.platformComponentTemplates array (which would be changed to Consumer-mutable: false).

      2.) Add a non-consumer-mutable, boolean attribute to the PCR, named 'satisfied', that indicates whether this requirements is considered to be satisfied by the platform. The logic for determining whether you can instantiate an AssemblyTemplate would look like:

      boolean instantiateable = true;
      for (ApplicationComponentTemplate act; assemblyTemplate.getACTs())
      {
      for (PlatformComponentRequirement pcr; act.getPCRs())
      {
      if ( ! pcr.getSatisfied())

      { instantiateable = false; break; }

      }
      }

      Show
      Strawman (just to get the ball rolling): 1.) Add a consumer-mutable attribute to the PCR, named 'satisfiedBy', that is an array of links to the PCTs that satisfy this requirement. Adding elements to this array also updates the ACT.platformComponentTemplates array (which would be changed to Consumer-mutable: false). 2.) Add a non-consumer-mutable, boolean attribute to the PCR, named 'satisfied', that indicates whether this requirements is considered to be satisfied by the platform. The logic for determining whether you can instantiate an AssemblyTemplate would look like: boolean instantiateable = true; for (ApplicationComponentTemplate act; assemblyTemplate.getACTs()) { for (PlatformComponentRequirement pcr; act.getPCRs()) { if ( ! pcr.getSatisfied()) { instantiateable = false; break; } } }
    • Resolution:
      Show
      https://www.oasis-open.org/apps/org/workgroup/camp/download.php/49550/camp-spec-v1.1-wd12.doc

      Description

      Section 2.1.2 of WD10 contains the following language:

      "An Application Component Template cannot be instantiated unless all of its dependencies are satisfied. An Application Component Template shall be referenced by a single Assembly Template. An Assembly Template shall not be instantiated until all of its Application Component Templates are successfully instantiated."

      However, nowhere in the spec does it say how either the platform or the client are supposed to determine whether or not an ApplicationComponentTemplate (ACT) has had all its dependencies satisfied. Leaving other application components out of the picture for now, an ACT can have links to both PlatformComponentRequirements (PCRs) and PlatformComponentTemplates (PCTs). The semantics of the PCR links are "I have these requirements". The semantics of the PCT links are "I use the service described by this PCT".

      1.) Can we mandate that every PCR is satisfied by a single PCT link or is it possible for a single PCR to require two or more PCT links?

        Attachments

          Activity

            People

            • Assignee:
              gilbert.pilz Gilbert Pilz
              Reporter:
              gilbert.pilz Gilbert Pilz
            • Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: