0

我有一个 JaCaMo 项目,我想在添加相信时停止系统,如下所示:

+winner <- .stopMAS.

我在一个纯 Jason 项目中这样做,但是在我有一个组织的这个 JaCaMo 项目中,在这个 stopMAS 命令之后,CArtAgO API 中出现如下错误:

java.lang.InterruptedException
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireInterruptibly(AbstractQueuedSynchronizer.java:1220)
    at java.util.concurrent.locks.ReentrantLock.lockInterruptibly(ReentrantLock.java:335)
    at java.util.concurrent.ArrayBlockingQueue.put(ArrayBlockingQueue.java:350)
    at cartago.WorkspaceKernel.execOp(WorkspaceKernel.java:782)
    at cartago.WorkspaceKernel.execOp(WorkspaceKernel.java:600)
    at cartago.AgentBody.doAction(AgentBody.java:72)
    at cartago.CartagoSession.doAction(CartagoSession.java:86)
    at jacamo.infra.JaCaMoAgArch.stop(JaCaMoAgArch.java:198)
    at jason.architecture.AgArch.stop(AgArch.java:57)
    at jason.infra.centralised.CentralisedAgArch.stopAg(CentralisedAgArch.java:113)
    at jason.infra.centralised.RunCentralisedMAS.stopAgs(RunCentralisedMAS.java:728)
    at jason.infra.centralised.RunCentralisedMAS.finish(RunCentralisedMAS.java:826)
    at jason.infra.centralised.CentralisedRuntimeServices.stopMAS(CentralisedRuntimeServices.java:110)
    at jason.stdlib.stopMAS.execute(stopMAS.java:44)
    at jason.asSemantics.TransitionSystem.applyExecInt(TransitionSystem.java:736)
    at jason.asSemantics.TransitionSystem.applySemanticRuleAct(TransitionSystem.java:237)
    at jason.asSemantics.TransitionSystem.act(TransitionSystem.java:1525)
    at jason.infra.centralised.CentralisedAgArch.act(CentralisedAgArch.java:203)
    at jason.infra.centralised.CentralisedAgArch.reasoningCycle(CentralisedAgArch.java:212)
    at jason.infra.centralised.CentralisedAgArch.run(CentralisedAgArch.java:231)
    at java.lang.Thread.run(Thread.java:748)
cartago.CartagoException: exec op exception.
    at cartago.WorkspaceKernel.execOp(WorkspaceKernel.java:786)
    at cartago.WorkspaceKernel.execOp(WorkspaceKernel.java:600)
    at cartago.AgentBody.doAction(AgentBody.java:72)
    at cartago.CartagoSession.doAction(CartagoSession.java:86)
    at jacamo.infra.JaCaMoAgArch.stop(JaCaMoAgArch.java:198)
    at jason.architecture.AgArch.stop(AgArch.java:57)
    at jason.infra.centralised.CentralisedAgArch.stopAg(CentralisedAgArch.java:113)
    at jason.infra.centralised.RunCentralisedMAS.stopAgs(RunCentralisedMAS.java:728)
    at jason.infra.centralised.RunCentralisedMAS.finish(RunCentralisedMAS.java:826)
    at jason.infra.centralised.CentralisedRuntimeServices.stopMAS(CentralisedRuntimeServices.java:110)
    at jason.stdlib.stopMAS.execute(stopMAS.java:44)
    at jason.asSemantics.TransitionSystem.applyExecInt(TransitionSystem.java:736)
    at jason.asSemantics.TransitionSystem.applySemanticRuleAct(TransitionSystem.java:237)
    at jason.asSemantics.TransitionSystem.act(TransitionSystem.java:1525)
    at jason.infra.centralised.CentralisedAgArch.act(CentralisedAgArch.java:203)
    at jason.infra.centralised.CentralisedAgArch.reasoningCycle(CentralisedAgArch.java:212)
    at jason.infra.centralised.CentralisedAgArch.run(CentralisedAgArch.java:231)
    at java.lang.Thread.run(Thread.java:748)
[GroupBoard] p1 has quit, role participant removed by the platform!

如何避免这个错误?在这个 stopMAS 命令之前我应该​​做些什么吗?

4

1 回答 1

0

您可以忽略此消息。最新版本的 JaCaMo (0.7-SNAPSHOT) 修复了这个问题。

于 2017-10-25T21:47:19.437 回答