Package edu.cmu.cs.fusion

Examples of edu.cmu.cs.fusion.Relationship


      Relation relType = relEnv.findRelation(relName);
      if (relType == null)
        throw new FusionTypeCheckException(relName);
     
      ObjectLabel[] labArr = getLabels(relElement, relType, types);
      Relationship rel = new Relationship(relType, labArr);
     
      delta.setRelationship(rel, effect == Effect.ADD ? SevenPointLattice.TRU : SevenPointLattice.FAL);
    }
    return delta;
  }
View Full Code Here


   
    for (int ndx = 0; ndx < vars.length; ndx++) {
      objLabels[ndx] = sub.getSub(vars[ndx]);
    }
   
    Relationship rel = new Relationship(type, objLabels);
    ThreeValue val = env.getContext().getRelationship(rel);
   
    if (val == ThreeValue.UNKNOWN) {
      RelationshipDelta delta = env.getInferredDelta(this, sub);
     
View Full Code Here

    Constraint cons = new Constraint("", op, new TruePredicate(), new TruePredicate(), new TruePredicate(), effects);

    FusionEnvironment<?> env = new FusionEnvironment<TestAliasContext>(aliases, rels, null, types, new InferenceEnvironment(null), variant);   
    Pair<RelationshipDelta, AliasDelta> deltas = runSingleConstraint(env, cons, instr);
    FusionErrorReport error = checkSingleConstraint(env, cons, instr);
    Relationship eff1 = new Relationship(utils.getRelation(1), new ObjectLabel[]{labels[5], labels[5]});
    Relationship eff2 = new Relationship(utils.getRelation(0), new ObjectLabel[]{labels[3], labels[5]});

    assertEquals(2, deltas.fst().numberOfChanges());
    assertEquals(SevenPointLattice.FAL, deltas.fst().getValue(eff1));
    assertEquals(SevenPointLattice.TRU, deltas.fst().getValue(eff2));
   
View Full Code Here


    FusionEnvironment<?> env = new FusionEnvironment<TestAliasContext>(aliases, rels, null, types, new InferenceEnvironment(null), variant);   
    Pair<RelationshipDelta, AliasDelta> deltas = runSingleConstraint(env, cons, instr);
    FusionErrorReport error = checkSingleConstraint(env, cons, instr);
    Relationship eff1 = new Relationship(utils.getRelation(0), new ObjectLabel[]{labels[0], labels[5]});
    Relationship eff2 = new Relationship(utils.getRelation(0), new ObjectLabel[]{labels[3], labels[5]});

    assertEquals(2, deltas.fst().numberOfChanges());
    assertEquals(SevenPointLattice.FAL, deltas.fst().getValue(eff1));
    assertEquals(SevenPointLattice.TRU, deltas.fst().getValue(eff2));
   
View Full Code Here

    expected.addChange(instr.getArgOperands().get(0), labels[2])

    FusionEnvironment<?> env = new FusionEnvironment<TestAliasContext>(aliases, rels, null, types, new InferenceEnvironment(null), variant);   
    Pair<RelationshipDelta, AliasDelta> deltas = runSingleConstraint(env, cons, instr);
    FusionErrorReport error = checkSingleConstraint(env, cons, instr);
    Relationship eff1 = new Relationship(utils.getRelation(0), new ObjectLabel[]{labels[0], labels[2]});
    Relationship eff2 = new Relationship(utils.getRelation(0), new ObjectLabel[]{labels[3], labels[2]});

    assertEquals(2, deltas.fst().numberOfChanges());
    assertEquals(SevenPointLattice.FAL, deltas.fst().getValue(eff1));
    assertEquals(SevenPointLattice.TRU, deltas.fst().getValue(eff2));
    assertEquals(expected, deltas.snd());
View Full Code Here

    expected.addChange(instr.getArgOperands().get(0), labels[5])

    FusionEnvironment<?> env = new FusionEnvironment<TestAliasContext>(aliases, rels, null, types, new InferenceEnvironment(null), variant);   
    Pair<RelationshipDelta, AliasDelta> deltas = runSingleConstraint(env, cons, instr);
    FusionErrorReport error = checkSingleConstraint(env, cons, instr);
    Relationship eff1 = new Relationship(utils.getRelation(0), new ObjectLabel[]{labels[0], labels[5]});
    Relationship eff2 = new Relationship(utils.getRelation(0), new ObjectLabel[]{labels[3], labels[5]});
    Relationship eff3 = new Relationship(utils.getRelation(0), new ObjectLabel[]{labels[4], labels[5]});

    assertEquals(3, deltas.fst().numberOfChanges());
    assertEquals(SevenPointLattice.FAL, deltas.fst().getValue(eff1));
    assertEquals(SevenPointLattice.TRU_STAR, deltas.fst().getValue(eff2));
    assertEquals(SevenPointLattice.TRU_STAR, deltas.fst().getValue(eff3));
View Full Code Here

    expected.addChange(instr.getArgOperands().get(0), labels[2])

    FusionEnvironment<?> env = new FusionEnvironment<TestAliasContext>(aliases, rels, null, types, new InferenceEnvironment(null), variant);   
    Pair<RelationshipDelta, AliasDelta> deltas = runSingleConstraint(env, cons, instr);
    FusionErrorReport error = checkSingleConstraint(env, cons, instr);
    Relationship eff1 = new Relationship(utils.getRelation(0), new ObjectLabel[]{labels[0], labels[1]});
    Relationship eff2 = new Relationship(utils.getRelation(0), new ObjectLabel[]{labels[3], labels[1]});
    Relationship eff3 = new Relationship(utils.getRelation(0), new ObjectLabel[]{labels[0], labels[2]});
    Relationship eff4 = new Relationship(utils.getRelation(0), new ObjectLabel[]{labels[3], labels[2]});

    assertEquals(4, deltas.fst().numberOfChanges());
    assertEquals(SevenPointLattice.FAL_STAR, deltas.fst().getValue(eff1));
    assertEquals(SevenPointLattice.TRU_STAR, deltas.fst().getValue(eff2));
    assertEquals(SevenPointLattice.FAL_STAR, deltas.fst().getValue(eff3));
View Full Code Here

    relations[0] = new Relation("A", new String[] {"Foo", "Bar"});
    relations[1] = new Relation("B", new String[] {"Foo", "Foo"});
   
    ctx = new RelationshipContext(false);
    RelationshipDelta delta = new RelationshipDelta();
    delta.setRelationship(new Relationship(relations[0], new ObjectLabel[] {labels[0], labels[1]}), SevenPointLattice.TRU);
    ctx = ctx.applyChangesFromDelta(delta);
   
    FreeVars.setHierarchy(testH);
  }
View Full Code Here

    Substitution sub = new Substitution();
    sub = sub.addSub(new SpecVar("a"), labels[0]);
   
    RelationshipDelta delta = env.getInferredDelta(find, sub);
    assertNotNull(delta);
    SevenPointLattice val = delta.getValue(new Relationship(relations[0], new ObjectLabel[] {labels[0], labels[0]}));
    assertEquals(SevenPointLattice.TRU, val);
    assertEquals(1, delta.numberOfChanges())
  }
View Full Code Here

    Substitution sub = new Substitution();
    sub = sub.addSub(new SpecVar("a"), labels[0]);
   
    RelationshipDelta delta = env.getInferredDelta(find, sub);
    assertNotNull(delta);
    SevenPointLattice val = delta.getValue(new Relationship(relations[1], new ObjectLabel[] {labels[0], labels[0]}));
    assertEquals(SevenPointLattice.TRU, val);
    assertEquals(1, delta.numberOfChanges());   
  }
View Full Code Here

TOP

Related Classes of edu.cmu.cs.fusion.Relationship

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.