本文整理汇总了Java中jason.asSyntax.ListTermImpl类的典型用法代码示例。如果您正苦于以下问题:Java ListTermImpl类的具体用法?Java ListTermImpl怎么用?Java ListTermImpl使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ListTermImpl类属于jason.asSyntax包,在下文中一共展示了ListTermImpl类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: perceive
import jason.asSyntax.ListTermImpl; //导入依赖的package包/类
@SuppressWarnings("unchecked")
@Override
public List<Literal> perceive() {
if (!isRunning()) return null;
if (getEnvironmentAg() == null) return null;
@SuppressWarnings("rawtypes")
List percepts = null;
try {
ACLMessage askMsg = new ACLMessage(ACLMessage.QUERY_REF);
askMsg.addReceiver(environmentAID);
askMsg.setOntology(JadeEnvironment.perceptionOntology);
askMsg.setContent("getPercepts");
ACLMessage r = jadeAg.ask(askMsg);
if (r != null && r.getContent().startsWith("[")) {
percepts = ListTermImpl.parseList(r.getContent());
}
} catch (Exception e) {
logger.log(Level.SEVERE, "Error in perceive.", e);
}
return percepts;
}
示例2: execute
import jason.asSyntax.ListTermImpl; //导入依赖的package包/类
@Override
public Object execute(TransitionSystem ts, Unifier un, Term[] args) throws Exception {
try {
Literal pattern = (Literal)args[0];
ListTerm result = new ListTermImpl();
synchronized (ts.getAg().getBB().getLock()) {
Iterator<Literal> i = ts.getAg().getBB().getCandidateBeliefs(pattern, un);
while (i.hasNext()) {
Literal l = i.next();
if (l.isRule()) {
if (un.clone().unifies(pattern, l)) {
l = l.copy();
l.delSources();
((Rule)l).setAsTerm(true);
result.add(l);
}
}
}
}
return un.unifies(args[1],result);
} catch (Exception e) {
ts.getLogger().warning("Error in internal action 'get_rules'! "+e);
}
return false;
}
示例3: testSize
import jason.asSyntax.ListTermImpl; //导入依赖的package包/类
public void testSize() {
assertEquals(l1.size(), 3);
assertEquals(l2.size(), 2);
assertEquals(l3.size(), 1);
assertEquals(l4.size(), 3);
assertEquals(l5.size(), 1);
ListTerm l = new ListTermImpl();
l.add(new Structure("a"));
l.add(new Structure("a"));
l.add(new Structure("a"));
assertEquals(l.size(), 3);
assertTrue(l1.isList());
assertTrue(l2.isList());
assertTrue(l3.isList());
assertTrue(l4.isList());
assertTrue(l5.isList());
}
示例4: testGround
import jason.asSyntax.ListTermImpl; //导入依赖的package包/类
public void testGround() {
ListTerm l = ListTermImpl.parseList("[c,b,a,x,y,d]");
assertTrue(l.isGround());
l = ListTermImpl.parseList("[c,b,a,X,y,d]");
assertFalse(l.isGround());
l = ListTermImpl.parseList("[C,b,a,x,y,d]");
assertFalse(l.isGround());
l = ListTermImpl.parseList("[c,b,a,x,y,D]");
assertFalse(l.isGround());
l = ListTermImpl.parseList("[c,b,a,x,y|T]");
assertFalse(l.isGround());
l = ListTermImpl.parseList("[c|T]");
assertFalse(l.isGround());
}
示例5: testReverse
import jason.asSyntax.ListTermImpl; //导入依赖的package包/类
public void testReverse() {
ListTerm l = ListTermImpl.parseList("[]");
assertEquals(l, l.reverse());
assertFalse( l == l.reverse()); // should be cloned
assertEquals("[]",l.reverse().toString());
l = ListTermImpl.parseList("[a]");
assertEquals(l, l.reverse());
assertFalse( l == l.reverse()); // should be cloned
assertEquals("[a]",l.reverse().toString());
l = ListTermImpl.parseList("[a,b,c]");
assertEquals("[c,b,a]",l.reverse().toString());
l = ListTermImpl.parseList("[a,b,c|T]");
assertEquals("[c,b,a|T]",l.reverse().toString());
}
示例6: execute
import jason.asSyntax.ListTermImpl; //导入依赖的package包/类
public Object execute(TransitionSystem ts, Unifier un, Term[] args) throws Exception{
if (logger == null) logger = ts.getLogger();
if(cM == null) cM = ClusterModelFactory.getModel(ts.getUserAgArch().getAgName());
Vec[] Center = cM.getCenters();
int n = cM.getNumberOfCluster();
int[] maxDist = cM.getMaxDist();
CowboyArch arch = (CowboyArch)ts.getUserAgArch();
LocalWorldModel model = arch.getModel();
ListTerm Cl = new ListTermImpl();
for (int i = 0;i<n;i++) {
Location l = Center[i].getLocation(model);
logger.info("HHHasl we have "+n+" clusters, and the "+i+"th is at ("+l.x+","+l.y+")");
Cl.add(ASSyntax.createStructure("pos", ASSyntax.createNumber(l.x),ASSyntax.createNumber(l.y)));
}
ListTerm Sizes = new ListTermImpl();
for(int i = 0;i<n;i++){
Sizes.add(ASSyntax.createNumber(maxDist[i]));
}
return un.unifies(args[0], ASSyntax.createNumber(n))
& un.unifies(args[1], Cl)
& un.unifies(args[2], Sizes);
}
示例7: execute
import jason.asSyntax.ListTermImpl; //导入依赖的package包/类
@Override
public Object execute(TransitionSystem ts, Unifier un, Term[] args) throws Exception {
try {
CowboyArch arch = (CowboyArch)ts.getUserAgArch();
LocalWorldModel model = arch.getModel();
if (model == null)
return false;
List<Location> locs = getCluster(model, 3, arch); //WorldModel.cowPerceptionRatio
if (args.length == 1) {
return un.unifies(args[0], new ObjectTermImpl(locs));
} else {
ListTerm r = new ListTermImpl();
ListTerm tail = r;
for (Location l: locs) {
tail = tail.append(createStructure("pos", createNumber(l.x), createNumber(l.y)));
}
return un.unifies(args[0], new ObjectTermImpl(locs)) &&
un.unifies(args[1], r);
}
} catch (Throwable e) {
ts.getLogger().log(Level.SEVERE, "cluster error: "+e, e);
}
return false;
}
示例8: parameterToTerm
import jason.asSyntax.ListTermImpl; //导入依赖的package包/类
public static Term parameterToTerm(Percept per, Parameter par) throws JasonException {
if (par instanceof Numeral) {
return ASSyntax.createNumber(((Numeral) par).getValue().doubleValue());
} else if (par instanceof Identifier) {
try {
Identifier i = (Identifier) par;
String a = i.getValue();
if (!Character.isUpperCase(a.charAt(0)))
return ASSyntax.parseTerm(a);
} catch (Exception e) {
}
return ASSyntax.createString(((Identifier) par).getValue());
} else if (par instanceof ParameterList) {
ListTerm list = new ListTermImpl();
ListTerm tail = list;
for (Parameter p : (ParameterList) par)
tail = tail.append(parameterToTerm(per, p));
return list;
} else if (par instanceof Function) {
return filter(per, par);
}
throw new JasonException("The type of parameter " + par + " is unknown!");
}
示例9: perceive
import jason.asSyntax.ListTermImpl; //导入依赖的package包/类
@SuppressWarnings("unchecked")
@Override
public List<Literal> perceive() {
super.perceive();
if (!isRunning()) return null;
if (getEnvironmentAg() == null) return null;
@SuppressWarnings("rawtypes")
List percepts = null;
try {
ACLMessage askMsg = new ACLMessage(ACLMessage.QUERY_REF);
askMsg.addReceiver(environmentAID);
askMsg.setOntology(JadeEnvironment.perceptionOntology);
askMsg.setContent("getPercepts");
ACLMessage r = jadeAg.ask(askMsg);
if (r != null && r.getContent().startsWith("[")) {
percepts = ListTermImpl.parseList(r.getContent());
}
} catch (Exception e) {
logger.log(Level.SEVERE, "Error in perceive.", e);
}
return percepts;
}
示例10: testSize
import jason.asSyntax.ListTermImpl; //导入依赖的package包/类
public void testSize() {
assertEquals(l1.size(), 3);
assertEquals(l2.size(), 2);
assertEquals(l3.size(), 1);
assertEquals(l4.size(), 3);
assertEquals(l5.size(), 1);
ListTerm l = new ListTermImpl();
l.add(new Structure("a"));
l.add(new Structure("a"));
l.add(new Structure("a"));
assertEquals(l.size(), 3);
assertTrue(l1.isList());
assertTrue(l2.isList());
assertTrue(l3.isList());
assertTrue(l4.isList());
assertTrue(l5.isList());
}
示例11: testGround
import jason.asSyntax.ListTermImpl; //导入依赖的package包/类
public void testGround() {
ListTerm l = ListTermImpl.parseList("[c,b,a,x,y,d]");
assertTrue(l.isGround());
l = ListTermImpl.parseList("[c,b,a,X,y,d]");
assertFalse(l.isGround());
l = ListTermImpl.parseList("[C,b,a,x,y,d]");
assertFalse(l.isGround());
l = ListTermImpl.parseList("[c,b,a,x,y,D]");
assertFalse(l.isGround());
l = ListTermImpl.parseList("[c,b,a,x,y|T]");
assertFalse(l.isGround());
l = ListTermImpl.parseList("[c|T]");
assertFalse(l.isGround());
}
示例12: testReverse
import jason.asSyntax.ListTermImpl; //导入依赖的package包/类
public void testReverse() {
ListTerm l = ListTermImpl.parseList("[]");
assertEquals(l, l.reverse());
assertFalse( l == l.reverse()); // should be cloned
assertEquals("[]",l.reverse().toString());
l = ListTermImpl.parseList("[a]");
assertEquals(l, l.reverse());
assertFalse( l == l.reverse()); // should be cloned
assertEquals("[a]",l.reverse().toString());
l = ListTermImpl.parseList("[a,b,c]");
assertEquals("[c,b,a]",l.reverse().toString());
l = ListTermImpl.parseList("[a,b,c|T]");
assertEquals("[c,b,a|T]",l.reverse().toString());
}
示例13: testRemWithList
import jason.asSyntax.ListTermImpl; //导入依赖的package包/类
public void testRemWithList() {
Unifier u = new Unifier();
BeliefBase bb = new DefaultBeliefBase();
Literal s = Literal.parseLiteral("seen(L)");
assertTrue(u.unifies(new VarTerm("L"), (Term)ListTermImpl.parseList("[a,b]")));
//System.out.println("u="+u);
s = (Literal)s.capply(u);
bb.add((Literal)s);
Literal b1 = new VarTerm("B1");
u.unifies(b1, Literal.parseLiteral("seen([a,b])"));
b1 = (Literal)b1.capply(u);
assertTrue(b1.equalsAsStructure(Literal.parseLiteral("seen([a,b])")));
assertTrue(b1.equalsAsStructure(s));
assertTrue(bb.remove(b1));
}
示例14: execute
import jason.asSyntax.ListTermImpl; //导入依赖的package包/类
@Override
public Object execute(TransitionSystem ts, Unifier un, Term[] args) throws Exception {
try {
Literal pattern = (Literal)args[0];
Iterator<Literal> i = ts.getAg().getBB().getCandidateBeliefs(pattern, un);
ListTerm result = new ListTermImpl();
while (i.hasNext()) {
Literal l = i.next();
if (l.isRule()) {
if (un.clone().unifies(pattern, l)) {
l = l.copy();
l.delSources();
result.add(new StringTermImpl(l.toString()));
}
}
}
return un.unifies(args[1],result);
} catch (Exception e) {
logger.warning("Error in internal action 'get_rules'! "+e);
}
return false;
}
示例15: addAnnotToList
import jason.asSyntax.ListTermImpl; //导入依赖的package包/类
protected Term addAnnotToList(Unifier unif, Term l, Term annot) throws JasonException {
if (l.isList()) {
ListTerm result = new ListTermImpl();
for (Term lTerm: (ListTerm)l) {
Term t = addAnnotToList( unif, lTerm, annot);
if (t != null) {
result.add(t);
}
}
return result;
} else if (l.isLiteral()) {
return ((Literal)l).forceFullLiteralImpl().copy().addAnnots(annot);
}
return l;
}