Exemple #1
0
        public void ExportRefinement(Goal parent, GoalRefinement refinement)
        {
            var tempGUID = Guid.NewGuid().ToString();
            writer.WriteLine (@"""{0}""[shape=circle,width=.1,fixedsize=true,label=""""];", tempGUID);
            writer.WriteLine (@"""{0}"" -> ""{1}"" [arrowtail=onormal,label=""  {2}""];",
                              parent.Identifier,
                              tempGUID,
                refinement.SystemReference() != null ? refinement.SystemReference().FriendlyName : string.Empty);

            foreach (var child in refinement.SubGoals()) {
                writer.WriteLine (@"""{0}"" -> ""{1}"" [arrowtail=none];",
                                  tempGUID,
                                  child.Identifier);
            }

            foreach (var domprop in refinement.DomainProperties()) {
                writer.WriteLine (@"""{0}"" -> ""{1}"" [arrowtail=none];",
                                  tempGUID,
                                  domprop.Identifier);
            }

            foreach (var domhyp in refinement.DomainHypotheses()) {
                writer.WriteLine (@"""{0}"" -> ""{1}"" [arrowtail=none];",
                                  tempGUID,
                                  domhyp.Identifier);
            }
        }
Exemple #2
0
 static Node ORPropagate(GoalRefinement r)
 {
     return new Or {
         Nodes = r.SubGoals().Select (GetNonSatisfactionFormula).Union (r.DomainProperties().Select (GetNonSatisfactionFormula)).ToList ()
     };
 }