Example #1
0
    KnowledgeBaseGraph()
    {
        addActivity("act1");
        addActivity("act2");
        addActivity("act3");
        addActivity("act4");
        addActivity("act5");

        addFinishToStartConstraint("act1", "act2", 0.0, 1.0);
        addFinishToStartConstraint("act2", "act3", 0.0, 1.0);
        addFinishToStartConstraint("act2", "act4", 0.0, 1.0);
    }
Example #2
0
        Meets()
        {
            addActivity("A");
            addActivity("B");

            // B needs to start when A finishes.
            addFinishToStartConstraint("A", "B", 0.0, 0.0);
        }
Example #3
0
        Before()
        {
            addActivity("A", 0.0, 2.0);
            addActivity("B", 3.0, 5.0);

            // B needs to start at time 3.0.
            addFinishToStartConstraint("A", "B", 0.0, 2.0);
        }
Example #4
0
    KnowledgeBaseGraph3()
    {
        addActivity("A");
        addActivity("B");
        addActivity("C");
        addActivity("D");
        addActivity("E");
        addActivity("F");

        addFinishToStartConstraint("A", "B", 0.0, 1.0);
        addFinishToStartConstraint("A", "C", 0.0, 1.0);
        addFinishToStartConstraint("A", "D", 0.0, 1.0);
        addFinishToStartConstraint("B", "F", 0.0, 1.0);
        addFinishToStartConstraint("C", "E", 0.0, 1.0);
        addFinishToStartConstraint("D", "E", 0.0, 1.0);
        addFinishToStartConstraint("E", "F", 0.0, 1.0);
    }
Example #5
0
 /**
  * @brief The predecessor activity (i) must finish in (done or finished
  * state) before the successor activity (j) can start.
  * @param acti The (i) activity in FiSj relationship.
  * @param actj The (j) activity in FiSj relationship.
  * @param maxtimelag min time lag in FiSj relationship, >= 0.0.
  */
 void addFinishToStartConstraint(const std::string& acti,
                                 const std::string& actj,
                                 const vle::devs::Time& maxtimelag)
 { addFinishToStartConstraint(acti, actj, 0, maxtimelag); }