Ejemplo n.º 1
0
    private void mock()
    {
        model = new EpistemicState();
        // creating Concept instances (actions)
        // available types: ACTION, OBJECT, PROPERTY
        // available modes: L, G
        Concept yesL = new Concept("posack", ConceptType.ACTION, ConceptMode.L);
        Concept yesG = new Concept("POSACK", ConceptType.ACTION, ConceptMode.G);
        Concept noL  = new Concept("negack", ConceptType.ACTION, ConceptMode.L);
        Concept noG  = new Concept("NEGACK", ConceptType.ACTION, ConceptMode.G);

        // add concepts to the epistemic model
        model.AddConcept(yesL);
        model.AddConcept(yesG);
        model.AddConcept(noL);
        model.AddConcept(noG);
        // add relations between them, third boolean param is bidirectional
        model.AddRelation(yesG, yesL, true);
        model.AddRelation(noG, noL, true);

        // now add more concepts (objects)
        Concept redBlock   = new Concept("RED", ConceptType.OBJECT, ConceptMode.L);
        Concept blueBlock  = new Concept("BLUE", ConceptType.OBJECT, ConceptMode.L);
        Concept greenBlock = new Concept("GREEN", ConceptType.OBJECT, ConceptMode.L);

        model.AddConcept(redBlock);
        model.AddConcept(blueBlock);
        model.AddConcept(greenBlock);

        model.SetEpisimUrl("http://localhost:5000");
    }
Ejemplo n.º 2
0
    public static EpistemicState initModel()
    {
        EpistemicState state = new EpistemicState();
        // creating Concept instances (actions)
        // available types: ACTION, OBJECT, PROPERTY
        // available modes: L, G
        Concept pointG        = new Concept("point", ConceptType.ACTION, ConceptMode.G);
        Concept deixis_thisL  = new Concept("THIS", ConceptType.ACTION, ConceptMode.L);
        Concept deixis_thatL  = new Concept("THAT", ConceptType.ACTION, ConceptMode.L);
        Concept deixis_thereL = new Concept("THERE", ConceptType.ACTION, ConceptMode.L);
        Concept grabG         = new Concept("grab", ConceptType.ACTION, ConceptMode.G);
        Concept grabL         = new Concept("GRAB", ConceptType.ACTION, ConceptMode.L);
        Concept moveG         = new Concept("move", ConceptType.ACTION, ConceptMode.G);
        //Concept moveL = new Concept ("PUT", ConceptType.ACTION, ConceptMode.L);
        Concept pushG = new Concept("push", ConceptType.ACTION, ConceptMode.G);
        //Concept pushL = new Concept ("PUSH", ConceptType.ACTION, ConceptMode.L);

        Concept posackG = new Concept("posack", ConceptType.ACTION, ConceptMode.G);
        Concept posackL = new Concept("YES", ConceptType.ACTION, ConceptMode.L);
        Concept negackG = new Concept("negack", ConceptType.ACTION, ConceptMode.G);
        Concept negackL = new Concept("NO", ConceptType.ACTION, ConceptMode.L);

        // todo nevermind as "undo" and nothing as "cancel"
        Concept neverMindL = new Concept("NEVERMIND", ConceptType.ACTION, ConceptMode.L);
        Concept nothingL   = new Concept("NOTHING", ConceptType.ACTION, ConceptMode.L);

        // add concepts to the epistemic model
        state.AddConcept(pointG);
        state.AddConcept(deixis_thisL);
        state.AddConcept(deixis_thatL);
        state.AddConcept(deixis_thereL);
        state.AddRelation(pointG, deixis_thisL, true);
        state.AddRelation(pointG, deixis_thatL, true);
        state.AddRelation(pointG, deixis_thereL, true);

        state.AddConcept(grabG);
        state.AddConcept(grabL);
        state.AddRelation(grabG, grabL, true);
        state.AddConcept(moveG);
//			state.AddConcept(moveL);
//			state.AddRelation(moveG, moveL, true);
        state.AddConcept(pushG);
//			state.AddConcept(pushL);
//			state.AddRelation(pushG, pushL, true);

        state.AddConcept(posackG);
        state.AddConcept(posackL);
        state.AddConcept(negackG);
        state.AddConcept(negackL);
        state.AddConcept(neverMindL);
        state.AddConcept(nothingL);
        // add relations between them, third boolean param is bidirectional
        state.AddRelation(posackG, posackL, true);
        state.AddRelation(negackG, negackL, true);

        state.AddPropertyGroup(new PropertyGroup("COLOR", PropertyType.Nominal));
        Concept red    = new Concept("RED", ConceptType.PROPERTY, ConceptMode.L);
        Concept green  = new Concept("GREEN", ConceptType.PROPERTY, ConceptMode.L);
        Concept yellow = new Concept("YELLOW", ConceptType.PROPERTY, ConceptMode.L);
        Concept orange = new Concept("ORANGE", ConceptType.PROPERTY, ConceptMode.L);
        Concept black  = new Concept("BLACK", ConceptType.PROPERTY, ConceptMode.L);
        Concept purple = new Concept("PURPLE", ConceptType.PROPERTY, ConceptMode.L);
        Concept white  = new Concept("WHITE", ConceptType.PROPERTY, ConceptMode.L);

        red.SubgroupName    = "COLOR";
        green.SubgroupName  = "COLOR";
        yellow.SubgroupName = "COLOR";
        orange.SubgroupName = "COLOR";
        black.SubgroupName  = "COLOR";
        purple.SubgroupName = "COLOR";
        white.SubgroupName  = "COLOR";
        state.AddConcept(red);
        state.AddConcept(green);
        state.AddConcept(yellow);
        state.AddConcept(orange);
        state.AddConcept(black);
        state.AddConcept(purple);
        state.AddConcept(white);

//			state.AddPropertyGroup(new PropertyGroup("SIZE", PropertyType.Ordinal));
//			Concept small = new Concept("SMALL", ConceptType.PROPERTY, ConceptMode.L);
//			Concept big = new Concept("BIG", ConceptType.PROPERTY, ConceptMode.L);
//			small.SubgroupName = "SIZE";
//			big.SubgroupName = "SIZE";
//			state.AddConcept(small);
//			state.AddConcept(big);

        state.AddPropertyGroup(new PropertyGroup("DIRECTION", PropertyType.Nominal));
        Concept left    = new Concept("LEFT", ConceptType.PROPERTY, ConceptMode.L);
        Concept right   = new Concept("RIGHT", ConceptType.PROPERTY, ConceptMode.L);
        Concept back    = new Concept("BACK", ConceptType.PROPERTY, ConceptMode.L);
        Concept forward = new Concept("FRONT", ConceptType.PROPERTY, ConceptMode.L);
        Concept up      = new Concept("UP", ConceptType.PROPERTY, ConceptMode.L);
        Concept down    = new Concept("DOWN", ConceptType.PROPERTY, ConceptMode.L);

        left.SubgroupName    = "DIRECTION";
        right.SubgroupName   = "DIRECTION";
        back.SubgroupName    = "DIRECTION";
        forward.SubgroupName = "DIRECTION";
        up.SubgroupName      = "DIRECTION";
        down.SubgroupName    = "DIRECTION";
        state.AddConcept(left);
        state.AddConcept(right);
        state.AddConcept(back);
        state.AddConcept(forward);
        state.AddConcept(up);
        state.AddConcept(down);

        Debug.Log(state);
        return(state);
    }