I waste a substantial amount of time debugging in v0.96 because the ADF errors are so vague. It takes a deplorable amount of trial and error just to discover I had made a typo earlier in the ADF file and was focusing on debugging the wrong area.
Will there be more descriptive ADF errors in V2? I get the feeling this would decrease my development time tremendously.
could you explain a bit more what were the errors you were struggeling with?
We know that the Java parser for expressions in the ADF produces sometimes
not very helpful outputs (e.g. if an import is missing). The general idea is
having a report for each loaded model in which all the errors are listed. This
is quite difficult to achieve because of the many possible errors sources…
But of course we would like to improve this further.
Okay. If it is difficult for the parser as it is right now, I understand.
It would be nice if, someday in the future, Eclipse used rules for ADFs similar to what it uses to point out compile time errors and warnings in Java code. Those in-editor checks save me a ton of time since Eclipse turns them red the moment I type them, allowing immediate correction.
Right now, all I usually get is something to the effect of "there is an error in the ADF", usually with no reference to what line or section in the ADF is wrong. So, for example, I changed the name of a messageevent to a different, more appropriate name. When I ran it, all I got was one of the ambiguous "there is an error in the ADF" messages. I tried changing it to different names, checking through its properties, etc only to later find that the problem wasn't in the events section at all: it was in the plans section. I had created a plan earlier that was triggered by the messageevent but that reference still used the old name.
This problem required me about 20 minutes to track down and fix but is exactly the type of situation that would normally automatically checked for me by an Eclipse rule when writing Java code. In normal Java development, the trigger messageevent reference would have immediately underlined red and I would have right-clicked it and changed the reference to a known message type defined in another part of the ADF.
I know that this may be infeasible right now but it is a definite future direction that I hope someday that ADF development takes. If these kinds of automatic in-editor checks can be done for Java code spanning multiple files, I'm sure it can be done for ADF files.
thanks for sharing your ideas with us. Some time ago we experimented with different eclipse plugins for Jadex but did not develop them till they were releaseable. We will work on try to improve the error reporting and maybe can also deliver at least an initial version of such a plugin. But Alex can say more to this as he has started looking into the topic.
I implemented an initial version of an eclipse ADF checker for Jadex V2.
To try it out, you have to use one of the newer nightly builds and install
the plugin from the eclipse update site at:
Wow. Great! I'm excited to check it out after I finish and submit my journal paper in January.
I've installed the eclipse plugin you said but I'm not sure how to use it.
Is there any tutorial?
Could you give me some piece of advice?
thanks for your interest in the ADF plugin.
Currently, there is no documentation, yet.
Anyways, the usage is quite simple:
Right-click on a project containing your ADFs
and choose 'Jadex -> Enable ADF Checking on Selected Project(s)'
to activate/deactivate ADF checking for this project.
The ADF errors (if any) will appear as red markers in the
files and also in the Problems view.
The plugin is still a little bit experimental. If you notice
strange behavior (i.e. incorrect markers) you might
disable and reactivate the plugin. You can also delete
markers manually from the eclipse Problems view.
Please let us know if you find the plugin helpful.
for a project
just for interest: will the development of the (by the way very useful) ADF checker be continued?
After mirgrating to final V2 it doesn't seem to work anymore as I only get a warning at the first line of any ADF with
"Cannot validate ADF due to: java.lang.NoSuchMethodException: jadex.bdi.BDIAgentFactory.<init>(java.lang.String)"
glad that you like the plugin.
It shouldn't be too hard to update it to the latest version.
I'll let you know, when the update is available.
Great! Thanks a lot, Alex!
I updated/fixed the plugin and also wrote some documentation for it:
Tnanks a lot, it's working perfectly now!