jun 30, 2016 5:20:43 PM beatrix_907 jadex.platform.service.cms.ComponentManagementService$CleanupCommand doCleanup
GRAVE: Fatal error, component 'AgentModel@beatrix_907' will be removed.
jadex.bdiv3.runtime.impl.GoalFailureException: No more candidates: ABCModel.AgentModelBDI$AskGoal_#7 ABCModel.AgentModelBDI$AskGoal@29764276
at jadex.bdiv3.runtime.impl.RGoal.planFinished(RGoal.java:842)
at jadex.bdiv3.actions.FindApplicableCandidatesAction$1.customResultAvailable(FindApplicableCandidatesAction.java:73)
at jadex.bdiv3.actions.FindApplicableCandidatesAction$1.customResultAvailable(FindApplicableCandidatesAction.java:66)
at jadex.commons.future.DelegationResultListener.resultAvailable(DelegationResultListener.java:77)
at jadex.bridge.ComponentResultListener.resultAvailable(ComponentResultListener.java:224)
at jadex.commons.future.Future.notifyListener(Future.java:597)
at jadex.commons.future.Future.addResultListener(Future.java:549)
at jadex.bdiv3.actions.FindApplicableCandidatesAction.execute(FindApplicableCandidatesAction.java:65)
at jadex.bridge.component.impl.ExecutionComponentFeature.execute(ExecutionComponentFeature.java:1135)
at jadex.commons.concurrent.Executor.code(Executor.java:287)
at jadex.commons.concurrent.Executor.run(Executor.java:125)
at jadex.platform.service.execution.AsyncExecutionService$1.run(AsyncExecutionService.java:104)
at jadex.commons.concurrent.ThreadPool$ServiceThread.run(ThreadPool.java:497)
What "No more candidates",means?
thx a lot
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
A goal is satisfied by plan execution. If a goal has its own target condition it executes plan until the condition is satisfied or no more plans (=candidates) are available. The decision if a plan can be reused can be adjusted by BDI flags like the 'exclude' flag.
Best
Lars
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I'm getting the same error as above, but I can't see the problem.
To sum up, I have a Goal which can be achieved via 3, 4 o more Plans.
My BDI Agent has Beliefs which are used to give permission or not to use those Plans.
So, depending on those Beliefs, the Goal will be achieved (or not) even when I can't use one the Plans.
The problem is that if one of the Plans can't be executed because the Belief says so (its value is false), the Goal can't be achieved because I got the error "jadex.bdiv3.runtime.impl.GoalFailureException: No more candidates:" and I can't move on trying the other Plans.
What am I missing?
Thanks in advance.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello, waht this error means
jun 30, 2016 5:20:43 PM beatrix_907 jadex.platform.service.cms.ComponentManagementService$CleanupCommand doCleanup
GRAVE: Fatal error, component 'AgentModel@beatrix_907' will be removed.
jadex.bdiv3.runtime.impl.GoalFailureException: No more candidates: ABCModel.AgentModelBDI$AskGoal_#7 ABCModel.AgentModelBDI$AskGoal@29764276
at jadex.bdiv3.runtime.impl.RGoal.planFinished(RGoal.java:842)
at jadex.bdiv3.actions.FindApplicableCandidatesAction$1.customResultAvailable(FindApplicableCandidatesAction.java:73)
at jadex.bdiv3.actions.FindApplicableCandidatesAction$1.customResultAvailable(FindApplicableCandidatesAction.java:66)
at jadex.commons.future.DelegationResultListener.resultAvailable(DelegationResultListener.java:77)
at jadex.bridge.ComponentResultListener.resultAvailable(ComponentResultListener.java:224)
at jadex.commons.future.Future.notifyListener(Future.java:597)
at jadex.commons.future.Future.addResultListener(Future.java:549)
at jadex.bdiv3.actions.FindApplicableCandidatesAction.execute(FindApplicableCandidatesAction.java:65)
at jadex.bridge.component.impl.ExecutionComponentFeature.execute(ExecutionComponentFeature.java:1135)
at jadex.commons.concurrent.Executor.code(Executor.java:287)
at jadex.commons.concurrent.Executor.run(Executor.java:125)
at jadex.platform.service.execution.AsyncExecutionService$1.run(AsyncExecutionService.java:104)
at jadex.commons.concurrent.ThreadPool$ServiceThread.run(ThreadPool.java:497)
What "No more candidates",means?
thx a lot
A goal is satisfied by plan execution. If a goal has its own target condition it executes plan until the condition is satisfied or no more plans (=candidates) are available. The decision if a plan can be reused can be adjusted by BDI flags like the 'exclude' flag.
Best
Lars
Thanks , a lot...I find the problem
Hi, I'm using 3.0.117 version of Jadex.
I'm getting the same error as above, but I can't see the problem.
To sum up, I have a Goal which can be achieved via 3, 4 o more Plans.
My BDI Agent has Beliefs which are used to give permission or not to use those Plans.
So, depending on those Beliefs, the Goal will be achieved (or not) even when I can't use one the Plans.
The problem is that if one of the Plans can't be executed because the Belief says so (its value is false), the Goal can't be achieved because I got the error "jadex.bdiv3.runtime.impl.GoalFailureException: No more candidates:" and I can't move on trying the other Plans.
What am I missing?
Thanks in advance.