Modeling the MILESTONE and PLANFRAGMENT in Fulfillment Catalog

Perform the following steps to model the Products, PlanFragments, or Milestones:

Procedure

Important: Creation of milestones are not mandatory for the creation of a plan fragment from FC 3.0.0 onwards. To create plan fragments without milestones, see Modeling the PLANFRAGMENT and PRODUCT in Fulfillment Catalog. The creation of milestones is relevant only if intermediate milestones need to be created for a plan fragment.

  1. Create the Milestone records.
    Note: Create separate Milestones with Milestone names as START and END respectively, in addition to any intermediate milestones for association with a plan fragment. While creating the START milestone, create the END milestone using MilestoneToMilestone relationship.
    Caution: There is no fixed nomenclature for Milestone ID but Milestone names must be START and END.
  2. Create the PlanFragment records and associate the Milestones created earlier using the PlanFragmentHasMilestone relationship appropriately.
  3. Decide the sequence of milestones in a plan fragment by creating the MilestoneToMilestone relationship between the associated milestones in a plan fragment. MilestoneToMilestone relationship can only be created between the milestones associated with the same plan fragment.
    Note:

    The MilestoneToMilestone relationship must be modeled between all possible combinations of milestone pairs that may appear in the plan item in the execution plan generated by AOPD. Although the product model can have any number of milestones defined, the actual plan item may contain only the subset of these milestones due to the dependency modeling and the products being ordered.

    Assume that PF_PROVIDE is a plan fragment associated to a product P1 for PROVIDE action in the product model. Also, it contains four milestones namely START, M1, M2, and END. Now, based on the dependencies modeled and the products ordered, one of the three milestone combinations given below can come into the plan item generated for fulfillment of P1.

    • START, M1, END
    • START, M2, END
    • START, M1, M2, END

    In order to support any of the three milestone combinations mentioned above, the MilestoneToMilestone relationships must be modeled for the following milestone pairs so as to have the corresponding sections in the plan fragment model.

    • START->M1
    • START-M2
    • M1->M2
    • M1->END
    • M2->END

    While processing this plan item in the execution plan reply, Orchestrator will try to find the required plan fragment sections in order to sort the milestones in a proper sequence based on the typical duration value. This is done so that the plan item can be properly represented on OMS UI Gantt chart. If any of the required section is missing in the plan fragment, Orchestrator will fail with an exception to process the execution plan.

    For example, in the case of the START-M1-M2-END combination, the sequence of M1 and M2 after START is decided on the basis of the typical durations for START->M1 and START->M2. If START->M1 is 2000 ms and START->M2 is 1000 ms, milestone M1 will be sequenced after M2. So the sequence will be START->M2->M1->END.

  4. Decide the dependencies between the milestones of two separate plan fragments by creating the MilestoneDependsOn relationship between the associated milestones in the plan fragments. MilestoneDependsOn relationship can only be created between the milestones associated with different plan fragments.
  5. Create the Product record and associate the plan fragments for four actions using four different ProductHas[*Action*]PlanFragment relationships. For instance, ProductHasProvidePlanFragment.
  6. You can also associate the newly created plan fragments to the existing products by using the relationships explained in point 5. However, you will have to remove the plan fragment attributes specified in INTERNAL and AFFINITY tabs.