Activity for KaiJ

  • KaiJ KaiJ posted a comment on discussion Help

    Hi, first of all, I'm wondering if your approach is really a good one. Wouldn't it be easier/more sensible if the agent either ignores further messages after the first one or return an error to the TestV3EnvironmentActionAgent1? If the service is removed, it may be difficult for the TestV3EnvironmentActionAgent1 to determine if the call did not succeed because the service was intentionally removed or e.g. connectivity was lost. Regardless, in the code you provided: IServiceIdentifier sid3 = ((IService)agent.getProvidedService(INotifyService1.class)).getServiceId();...

  • KaiJ KaiJ posted a comment on discussion Help

    Hi! Sure, you can dynamically add and remove services at any time in the respective agent, e.g. inject internal access first: @Agent protected IInternalAccess agent; Then use one of the addService() or removeService() methods anywhere in the agent (instead of @ProvidedService): agent.addService("chatservices", new ChatServiceF1()); This also automatically updates the service registry infrastructure as needed in the background. However, given your description, I suspect there could be better solutions....

  • KaiJ KaiJ posted a comment on discussion Help

    Hi Kevin, sorry I was only able to have a cursory look at your sourced but apparently you are using the getAvatars()-Method to check if the avatar was created. Generally there are two ways how the environment auto-creates avatars: The environment notices the new component or the component accesses its avatar through the getAvatar() (singular, not getAvatars()) method. The environment ensures there is only one avatar created. There is a bit of asynchronous behavior between the environment and agent...

  • KaiJ KaiJ posted a comment on discussion Help

    Hi, your assumption is correct, in fact, this is the default so it ought to work: https://github.com/actoron/jadex/blob/96079a9f50f08f256bf22b136c70b12bb10eda6e/docs/guides/env/04%20Component%20Interaction.md Could you please provide a minimal example project so we can look into it? Kai

  • KaiJ KaiJ modified a comment on discussion Help

    Yes, this is an alternative way which adds task during initialization. Unfortunately, I do not think we have an example of this, but basically you can add tasks to <env:object></env:object> in the <configuration></configuration> section by including lines like <env:task type="move_train"></env:task>. In general, be aware that EnvSupport is an older part of the Jadex codebase, hence the quirky API. If this does not bother you, you are, of course, free to use it. Edit: The .application.xml has an XML-Schema,...

  • KaiJ KaiJ posted a comment on discussion Help

    Yes, this is an alternative way which adds task during initialization. Unfortunately, I do not think we have an example of this, but basically you can add tasks to <env:object></env:object> in the <configuration></configuration> section by including lines like <env:task type="move_train"></env:task>. In general, be aware that EnvSupport is an older part of the Jadex codebase, hence the quirky API. If this does not bother you, you are, of course, free to use it. Kai

  • KaiJ KaiJ posted a comment on discussion Help

    Hi, your application.xml, which only defines the task type. The avatar/object has to actually instantiate the task using the IEnvironmentSpace.createObjectTask() method for the give space object (identified by objectid). Kai

  • KaiJ KaiJ posted a comment on discussion Help

    Hi Kevin, thank you for trying Jadex. We are currently in a bit of a transition, so things may appear a bit confusing. Yes, our download page currently show version 3 of Jadex as the current one, however, we often recommend version 4 of Jadex, with the biggest remaining item being updated documentation for version 4. Version 3 is, unfortunately, not compatible with Java 11, however, version 4 should be working. Could you please elaborate on the problem you had using the combination of Jadex 4 and...

  • KaiJ KaiJ posted a comment on discussion Help

    Hi, the way the scheduling works is as follows: Whenever a step is schedule (whether by scheduleStep or waitFor[Delay]), it gets added to a queue and executed in order of addition. Steps that are prevented from executing (e.g. having a delay) are only executed when they become due, but secondarily also preserve order of addition (so two waitForDelay() steps with exact the same delay should be executed in order of addition after the delay has passed. However, please note, mostly due to limitations...

  • KaiJ KaiJ modified a comment on discussion Help

    Sure, this is possible, you would have to disable all transports: rootconfig.setRelayTransport(false); rootconfig.setNioTcpTransport(false); rootconfig.setTcpTransport(false); rootconfig.setSslTcpTransport(false); This will isolate the platform and it will then be unable to communicate with any other platform. Kai

  • KaiJ KaiJ posted a comment on discussion Help

    Sure, this is possible, you would have to disable all transports: rootconfig.setRelayTransport(false); rootconfig.setNioTcpTransport(false); rootconfig.setTcpTransport(false); rootconfig.setSslTcpTransport(false); This will isolate the platform and it will then be unable to communicate with any other platforms. Kai

  • KaiJ KaiJ posted a comment on discussion Help

    Hi Steve, in addition to disabling the Awareness (at least relay awareness), you also have to disable inter-platform communication via relays: rootconfig.setRelayTransport(false); Note that this will restrict the platforms to communicate only via direct connection (e.g. TCP connections), which may be an issue if there are firewalls,NAT routers etc. Kai

  • KaiJ KaiJ posted a comment on discussion Help

    Hi, it appears like the Grizzly-based REST publishing in the current version has a bug that triggers the problem you've mentioned. We will into this. As a workaround, you can try using the Jetty-based publishing. Also, it is important to include all of the following artifacts for publishing to work: 'org.activecomponents.jadex:jadex-platform-extension-webservice:3.0.95' 'org.activecomponents.jadex:jadex-platform-extension-webservice-desktop:3.0.95' 'org.activecomponents.jadex:jadex-platform-extension-webservice-desktop-jetty:3.0.95'...

  • KaiJ KaiJ posted a comment on discussion Help

    Hi, you don't have to deal with Grizzly directly, so "GrizzlyHttpServerFactory.createHttpServer(URI.create(BASE_URI)" etc. should be unnecessary. However, in your code snippet it says //config.setRsPublish(true); but it is commented out. Could you try again with that line being enabled? With kind regards Kai

  • KaiJ KaiJ modified a comment on discussion Help

    Hi jobi, Declared required service (@RequireService) are not the only way to find services, you can also acquire them programmatically / dynamically using the SServiceProvider class, which contain a number of static methods to use (there are plans to move the functionality up into the required service feature in version 4). Using SServiceProvider has the disadvantage of somewhat obscuring component dependencies, but it can be useful such as in your case. In particular, you should have a look at this...

  • KaiJ KaiJ posted a comment on discussion Help

    Hi jobi, Declared required service (@RequireService) are not the only way to find services, you can also acquire them programmatically / dynamically using the SServiceProvider class, which contain a number of static methods to use (there are plans to move the functionality up into the required service feature in version 4). Using SServiceProvider has the disadvantage of somewhat obscuring component dependencies, but it can be useful such as in your case. In particular, you should have a look at this...

  • KaiJ KaiJ posted a comment on discussion Help

    Hi Vinodh, we have found a solution for you. The problem is a classloader problem related to the following Spring Boot issue: https://github.com/spring-projects/spring-boot/issues/3316 The solution (based on your example) is as follows: Create a directory "META-INF" in src/main/resources. Add a file called "spring-devtools.properties" to that directory. Add the line "restart.include.jadexlibs=/jadex-.+.jar" to that file. This will force Spring Boot to include the Jadex .jar-files in the RestartClassLoader...

  • KaiJ KaiJ posted a comment on discussion Help

    Hi jobi23, it should work as you expect it to work: Service A provided with platform scope on platform X should not be found by a global search from platform Y. Of course, if you do a global seach on on the same platform as the platform-scope provided service, it will be found. Could you provide us with a test case? If this does not work, it might be a bug. Regarding version 3.1: We do not expect significant changes on the API level / semantics, only the underlying communication layer. In practice...

  • KaiJ KaiJ posted a comment on discussion Help

    Hi Sandra, once you got the OS and Java VM running on the Pi, there is nothing special about the Java on the Pi, it's just a Java VM (unlike Android), so you would export .jar file as you would for any other system. Just be sure that you include all your dependencies in the .jar file you export. Kai

  • KaiJ KaiJ posted a comment on discussion Help

    Hi Sandra, my help will probably be a bit limit since I only tried it once when the...

  • KaiJ KaiJ posted a comment on discussion Help

    Jadex supports both messaging and service calls as forms of communication between...

  • KaiJ KaiJ posted a comment on discussion Help

    Hi Hannes, "Synchronous signatures" are any (service) method signature that does...

  • KaiJ KaiJ posted a comment on discussion Help

    Hi, if you want to implement a BDI agent (as opposed to a micro agent) your class...

  • KaiJ KaiJ posted a comment on discussion Help

    Hi Mahmud, we actually do have a tool that does exactly what you describe called...

  • KaiJ KaiJ posted a comment on discussion Help

    Hi Mahmud, as mentioned by Julian, the software is currently a bit ahead of the documentation,...

  • KaiJ KaiJ posted a comment on discussion Help

    Hi, thanks for telling us, I'm surprised it worked at all since there was no explicit...

  • KaiJ KaiJ posted a comment on discussion Help

    A "shared" belief would be a violation of the autonomy-property of (not just BDI-)...

  • KaiJ KaiJ posted a comment on discussion Help

    Hi Felix, your example code does indeed block, but it blocks on hasNextIntermediateResult()...

  • KaiJ KaiJ posted a comment on discussion Help

    Hi Hannes, I just remembered what the reason is, most likely. I was focused on the...

  • KaiJ KaiJ posted a comment on discussion Help

    Hi, good catch, I've also checked the later enhancements of the codec chains since...

  • KaiJ KaiJ modified a comment on discussion Help

    Hi, one issue might be that we are currently using two different versions of the...

  • KaiJ KaiJ posted a comment on discussion Help

    Hi, one issue might be that we are currently using two different versions of the...

  • KaiJ KaiJ posted a comment on discussion Help

    Hi, you've already found the right place, you have to write your own codec, which...

  • KaiJ KaiJ modified a comment on discussion Help

    Hi Hannes, Jadex supports multiple approaches for serialization, the default being...

  • KaiJ KaiJ posted a comment on discussion Help

    Hi Hannes, Jadex supports multiple approaches for serialization, the default being...

  • KaiJ KaiJ posted a comment on discussion Help

    Hi, you can adjust the clock type programmatically by requesting the ISimulationService...

  • KaiJ KaiJ posted a comment on discussion Help

    Hi, you also have to be sure to remove the files from the Eclipse Build Path (right-click...

  • KaiJ KaiJ modified a comment on discussion Help

    Hi, your error seems to indicate that there was a problem initializing the OpenGL...

  • KaiJ KaiJ modified a comment on discussion Help

    Hi, your error seems to indicate that there was a problem initializing the OpenGL...

  • KaiJ KaiJ posted a comment on discussion Help

    Hi, your error seems to indicate that there was a problem initializing the OpenGL...

  • KaiJ KaiJ posted a comment on discussion Help

    Hi Bill, as Lars mentioned, GPMN has currently fallen behind in terms of maintenance....

  • KaiJ KaiJ posted a comment on discussion Help

    Hi, thank you for trying and liking Jadex Active Components. Regarding your question,...

  • KaiJ KaiJ posted a comment on discussion Help

    Hello Claas, if you occasionally need to exclude the remote services, you can also...

  • KaiJ KaiJ posted a comment on discussion Help

    Within the agent, you can simply have Jadex inject the access for you by declaring...

  • KaiJ KaiJ posted a comment on discussion Help

    Hi, apparently you triggered some automatic spam filter. I have approved your post....

  • KaiJ KaiJ posted a comment on discussion Help

    Hi, I'm somewhat unfamiliar with the Grid2D mode, but I will try to give you a partial...

  • KaiJ KaiJ posted a comment on discussion Help

    Hi, Jadex uses the XML format as defined as part of the BPMN 2.0 standard, see: http://www.omg.org/spec/BPMN/2.0/...

  • KaiJ KaiJ posted a comment on discussion Help

    You're almost correct, it is the "same" annotation, but with different semantics...

  • KaiJ KaiJ posted a comment on discussion Help

    You can find a more current build (80/41) here: http://www3.activecomponents.org/download/...

  • KaiJ KaiJ posted a comment on discussion Help

    Hello, since parameters are passed as objects, you will have to use the wrapped types...

  • KaiJ KaiJ posted a comment on discussion Help

    Hmmm, it should be there at least in newer builds. Can you check under Help->About...

  • KaiJ KaiJ posted a comment on discussion Help

    In order to have the editor find the class, you must add packages to the classpath,...

  • KaiJ KaiJ posted a comment on discussion Help

    Hello, yes, sorry, I took the opportunity to overhaul the autocompletion and it should...

  • KaiJ KaiJ posted a comment on discussion Help

    Yes, the annotation-based approach is new and in the nightly builds.

  • KaiJ KaiJ posted a comment on discussion Help

    Yes, this appears to be a bug related to the autocompletion being used in a table....

  • KaiJ KaiJ posted a comment on discussion Help

    You can find the ITaskContext in jadex.bpmn.model.task.ITaskContext in the jadex-model-bpmn...

  • KaiJ KaiJ posted a comment on discussion Help

    Hello, here, you have two options: The jadex.bpmn.runtime.task.WriteParameterTask...

  • KaiJ KaiJ posted a comment on discussion Help

    Hello again, yes, this is a known bug in older builds of the editor which has been...

  • KaiJ KaiJ posted a comment on discussion Help

    Also, regarding adding parameters for tasks: If the task class is set and well-defined,...

  • KaiJ KaiJ posted a comment on discussion Help

    With the new editor, we changed the way data values are passed, we are no longer...

  • KaiJ KaiJ posted a comment on discussion Help

    Also please note that the new BPMN editor is still under heavy development. While...

  • KaiJ KaiJ posted a comment on discussion Help

    Unfortunately, the documentation is currently woefully outdated, so a lot of information...

  • KaiJ KaiJ posted a comment on discussion Help

    It's been a while since I worked on this code, so I took a look: Your XML seems to...

  • KaiJ KaiJ posted a comment on discussion Help

    While I'm not intimately with the jMonkey-Subsystem of EnvSupport, here is a somewhat...

1