Janus Issues
The issues currently registered on JIRA for the Janus project are listed in the following table. The issues with a pink background are still opened.
If you want to submit an new issue, please read the Janus Bug Reporting Style and use the issue submission formular.
| T | Key | Summary | Pr | Status |
|---|---|---|---|---|
| JANUS-148 | ![]() Simplification of the API and of the architecture
The architecture and the API of the platform should be redesigned and simplified. Creation Date: 2012-04-24 Reported by: Sebastian Rodriguez Assignee: Stéphane Galland | |||
| JANUS-147 | ![]() Class not found when creating the default mailbox on Android When the Janus kernel is trying to create the default mailbox on Android, the class javax.management.Role is not found. This class is errornously imported by the Janus classes, in place of the Janus's Role.Creation Date: 2012-04-24 Reported by: Stéphane Galland Assignee: Stéphane Galland | |||
| JANUS-146 | ![]() SIgnals may be simplified
The signal listener interface should contains only the functions that are invoked when a signal was fired. The other functions that return if a signal type is supported may be removed. Creation Date: 2012-04-24 Reported by: Stéphane Galland Assignee: Stéphane Galland | |||
| JANUS-145 | ![]() Unit test failure for ChannelInteractableListener junit.framework.AssertionFailedError: ChannelInteractable not found: ::0abcfa42-5bc2-4978-8907-f2127ca655f0 at junit.framework.Assert.fail(Assert.java:47) at org.janusproject.kernel.agent.KernelTest$ChannelListenerStub.assertLaunched(KernelTest.java:462) at org.janusproject.kernel.agent.KernelTest.testChannelInteractableListener(KernelTest.java:234)Creation Date: 2012-04-20 Reported by: Stéphane Galland Assignee: Stéphane Galland | |||
| JANUS-144 | ![]() Remove dead modules
The dead maven modules in the GIT must be removed. Creation Date: 2012-04-20 Reported by: Stéphane Galland Assignee: Stéphane Galland | |||
| JANUS-143 | ![]() Since Janus on GIT, the API documentation includes unecessary modules
Since Janus on GIT, the API documentation includes unecessary modules such as the demos. Creation Date: 2012-04-20 Reported by: Stéphane Galland Assignee: Stéphane Galland | |||
| JANUS-142 | ![]() AbstractSignalManager::addSignalListener(SignalListener listener) At: Class<? extends Signal> t = listener.getSupportedSignalType(); if (t.isAssignableFrom(this.topClass)) this.topClass = t;Creation Date: 2012-04-20 Reported by: Gillian BASSO Assignee: Stéphane Galland | |||
| JANUS-141 | ![]() In PrototypeException change Agent class to subclass will be more usefull
org.janusproject.kernel.util.prototype.PrototypeException: Vous passez 1 paramètres obligatoires en entrée à la classe org.janusproject.kernel.agent.Agent. Mais vous devriez en passer 2 (scope: entrée). Creation Date: 2012-04-20 Reported by: Gillian BASSO Assignee: Stéphane Galland | |||
| JANUS-140 | ![]() get RoleAddress for a Role.class
I want to get all RoleAddress playing one specific Role. Creation Date: 2012-04-12 Last update: 2012-04-15 Reported by: Gillian BASSO Assignee: Stéphane Galland | |||
| JANUS-139 | ![]() Undefined "CANCEL" error... launch twice: GRAVE: Noyau - Sévérité=CANCEL; Source=899599744; Code=-1; Message=null; Exception=null GRAVE: Noyau - Sévérité=CANCEL; Source=1613938021; Code=-1; Message=null; Exception=nullCreation Date: 2012-04-12 Last update: 2012-04-24 Reported by: Gillian BASSO Assignee: Stéphane Galland | |||
| JANUS-138 | ![]() Add in Organization the default obtain and leave conditions for the groups.
An organization should contains the initial obtain and leave conditions for a group. Creation Date: 2012-04-12 Reported by: Stéphane Galland Assignee: Stéphane Galland | |||
| JANUS-137 | ![]() Add Role played in "not received message" warning example: ATTENTION: L'agent récepteur du message n'a pas été trouvé: DC Bus::ec0991f9-8416-4653-bc1c-c455eca5fc89 ATTENTION: Aucun destinataire n'a été trouvé pour le message : 39430922-a7f7-48f0-8e8f-27126bdb3f69Creation Date: 2012-04-11 Reported by: Gillian BASSO Assignee: Stéphane Galland | |||
| JANUS-136 | ![]() Get Signal use more user-friendly An example of use : public void onSignal(Signal signal) { this.currentTime = (Double) signal.getValues()[0]; }Creation Date: 2012-04-10 Last update: 2012-04-11 Reported by: Gillian BASSO Assignee: Stéphane Galland | |||
| JANUS-135 | ![]() not valid properties "TOO_MANY_MANDATORY_PARAMETER" 6 avr. 2012 12:08:39 org.janusproject.kernel.util.prototype.PrototypeValidator check GRAVE: TOO_MANY_MANDATORY_PARAMETER GRAVE: TOO_MANY_MANDATORY_PARAMETER org.janusproject.kernel.util.prototype.PrototypeException: TOO_MANY_MANDATORY_PARAMETER at org.janusproject.kernel.util.prototype.PrototypeValidator.check(PrototypeValidator.java:314) at org.janusproject.kernel.util.prototype.PrototypeValidator.validateInputs(PrototypeValidator.java:150) at org.janusproject.kernel.agent.AgentActivationPrototypeValidator.validateInputParameters(AgentActivationPrototypeValidator.java:59) at org.janusproject.kernel.agent.Agent.proceedPrivateInitialization(Agent.java:780) at org.janusproject.kernel.agent.KernelAgent$AgentThread.run(KernelAgent.java:1342) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662)Creation Date: 2012-04-06 Last update: 2012-04-11 Reported by: Gillian BASSO Assignee: Stéphane Galland | |||
| JANUS-134 | ![]() Add constant for number of parameters in TimeConditionParameterProvider
Add constant for number of parameters in TimeConditionParameterProvider. Creation Date: 2012-04-05 Reported by: Stéphane Galland Assignee: Stéphane Galland | |||
| JANUS-133 | ![]() Function selectImplementation of CapacityContainer should be generic
The function selectImplementation of the CapacityContainer should return a generic value, which is extending the CapacityImplementation class and the Capacity interface at the same time. Creation Date: 2012-04-05 Reported by: Stéphane Galland Assignee: Stéphane Galland | |||
| JANUS-132 | ![]() ConcurrentModificationException in Mailbox Do I use a mailbox differently with heavy agent ? This error occurs only if I'm working with heavy agent: GRAVE: Sévérité=ERROR; Source=java.util.AbstractList$Itr; Code=-2; Message=null; Exception=java.util.ConcurrentModificationException java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372) java.util.AbstractList$Itr.next(AbstractList.java:343) org.janusproject.kernel.util.directaccess.SafeIterator.next(SafeIterator.java:131) org.janusproject.kernel.util.autoremove.AutoremoveIterator.searchNext(AutoremoveIterator.java:55) org.janusproject.kernel.util.autoremove.AutoremoveIterator.<init>(AutoremoveIterator.java:48) org.janusproject.kernel.mailbox.ThreadSafeMailbox.iterator(ThreadSafeMailbox.java:276) org.janusproject.kernel.mailbox.AbstractMailbox.iterator(AbstractMailbox.java:131) fr.utbm.set.grid.micro.organization.TransmitterRole.transmit(TransmitterRole.java:127) fr.utbm.set.grid.micro.organization.TransmitterRole.Run(TransmitterRole.java:100) fr.utbm.set.grid.micro.organization.TransmitterRole.live(TransmitterRole.java:86) org.janusproject.kernel.crio.core.Role.proceedPrivateBehaviour(Role.java:663) org.janusproject.kernel.crio.core.RoleActivator.executeBehaviour(RoleActivator.java:81) org.janusproject.kernel.schedule.AbstractActivableContainer.live(AbstractActivableContainer.java:256) org.janusproject.kernel.agent.Agent.live(Agent.java:812) fr.utbm.set.grid.agent.DCBusAgent.live(DCBusAgent.java:168) org.janusproject.kernel.agent.Agent.proceedPrivateBehaviour(Agent.java:872) org.janusproject.kernel.agent.KernelAgent$AgentThread.run(KernelAgent.java:1366) java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) java.util.concurrent.FutureTask.run(FutureTask.java:138) java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)Creation Date: 2012-04-04 Last update: 2012-04-20 Reported by: Gillian BASSO Assignee: Stéphane Galland | |||
| JANUS-131 | ![]() improve AgentShell Access to all GroupAddresses created from Kernel Create an empty groupCreation Date: 2012-04-04 Last update: 2012-04-11 Reported by: Gillian BASSO Assignee: Stéphane Galland | |||
| JANUS-130 | ![]() access to RoleAddress for a RolePlayingListener
The RolePlayingEvent doesn't not get the RoleAddress of the player Creation Date: 2012-04-03 Reported by: Gillian BASSO Assignee: Stéphane Galland | |||
| JANUS-127 | ![]() Replace StringBuffer by StringBuilder or the + operator Since JDK 1.5, the + operator is optimized. It invokes the StringBuilder class. StringBuilder class is equivalent to StringBuffer, but the first is not thread-safe, the second is thread-safe (synchronized). Because the class StringBuffer is thread-safe, it is too time consuming. It should be replaced by the StringBuilder class or the + operator (now optimized).Creation Date: 2012-03-24 Reported by: Stéphane Galland Assignee: Stéphane Galland | |||
| JANUS-126 | ![]() Message delivering speed. Partners have requested to obtain scalability benchmarks of the Janus kernel. These benchmarks should enable to select the components of the message delivering API to improve.Creation Date: 2012-03-08 Last update: 2012-04-15 Reported by: Stéphane Galland Assignee: Stéphane Galland | |||
| JANUS-125 | ![]() Add maximal number of Roles in a group/organization Creation Date: 2012-02-14 Last update: 2012-04-13 Reported by: Gillian BASSO Assignee: Stéphane Galland | |||
| JANUS-124 | ![]() Creation of a Role/Role convenient Channel (through Agent)
Create a Role to Role Channel for external communication. This Channel has to create Role to Agent and Agent to Role signals. Creation Date: 2012-02-10 Last update: 2012-02-11 Reported by: Gillian BASSO Assignee: Stéphane Galland | |||
| JANUS-123 | ![]() Automanagement of signal in Agent/Role
It will be great for a developper to not have to manage signals by himself. Creation Date: 2012-02-10 Last update: 2012-02-11 Reported by: Gillian BASSO Assignee: Stéphane Galland | |||
| JANUS-122 | ![]() Sometimes some agents skip their live() function when resume() kernel (after pause()) Creation Date: 2012-02-06 Last update: 2012-02-11 Reported by: Gillian BASSO Assignee: Stéphane Galland | |||
| JANUS-121 | ![]() Add examples on Website
Add examples on the website. An example may be found at http://cartago.sourceforge.net/?page_id=47 Creation Date: 2012-02-02 Reported by: Stéphane Galland | |||
| JANUS-120 | ![]() Unit Test Failure: KernelAgentTest.testShutdownNow java.util.concurrent.TimeoutException: BREAKING_DOWN at org.janusproject.kernel.agent.KernelAgentTest.assertDead(KernelAgentTest.java:137) at org.janusproject.kernel.agent.KernelAgentTest.testShutdownNow(KernelAgentTest.java:172) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at junit.framework.TestCase.runTest(TestCase.java:164) at junit.framework.TestCase.runBare(TestCase.java:130) at junit.framework.TestResult$1.protect(TestResult.java:106) at junit.framework.TestResult.runProtected(TestResult.java:124) at junit.framework.TestResult.run(TestResult.java:109) at junit.framework.TestCase.run(TestCase.java:120) at junit.framework.TestSuite.runTest(TestSuite.java:230) at junit.framework.TestSuite.run(TestSuite.java:225) at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) Creation Date: 2012-02-01 Reported by: Stéphane Galland Assignee: Stéphane Galland | |||
| JANUS-119 | ![]() Verify all event propagation
Because I'm not sure that the roleTaken function in RolePlayingListener for a Group is ever called. Creation Date: 2012-01-31 Last update: 2012-02-01 Reported by: Gillian BASSO Assignee: Stéphane Galland | |||
| JANUS-118 | ![]() Add a function returning all existing groups in role player Creation Date: 2012-01-31 Reported by: Gillian BASSO Assignee: Stéphane Galland | |||
| JANUS-117 | ![]() Add group creation/removal listener for an agent
I need this feature for an agent which has to join a group created by another agent (in its activate() method). Creation Date: 2012-01-31 Reported by: Gillian BASSO Assignee: Stéphane Galland | |||
| JANUS-116 | ![]() Add role playing listener in a group for a role
It is not possible for a role to be aware of the roles playing in a group. Creation Date: 2012-01-30 Last update: 2012-01-31 Reported by: Gillian BASSO Assignee: Stéphane Galland | |||
| JANUS-115 | ![]() the getGroup function is ambigous
The function getGroup() of an Agent does not return a Group in which this agent is playing a Role. Creation Date: 2012-01-30 Last update: 2012-01-31 Reported by: Gillian BASSO Assignee: Stéphane Galland | |||
| JANUS-114 | ![]() Move LocalizedString class into Arakhnê VM library. The utility class LocalizedString from Janus should be moved into the Arakhnê VM utilities. First it will be possible to support different resource management methods (standard JRE, or Android for example). And the Locale class from the SFC project is redundant with the class LocalizedString. Both projects, SFC and Janus, should use the same implementation.Creation Date: 2012-01-27 Last update: 2012-01-30 Reported by: Stéphane Galland Assignee: Stéphane Galland | |||
| JANUS-113 | ![]() getInputValues(Class<T> type) function do not returns T[] java.lang.Thread.run(Thread.java:662)java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Lfr.utbm.set.grid.util.DataInfo; at fr.utbm.set.grid.agent.intel.FuelCellManagementAgent$DataExtractionCapacityImpl.call(FuelCellManagementAgent.java:79)Creation Date: 2012-01-20 Reported by: Gillian BASSO Assignee: Stéphane Galland | |||
| JANUS-112 | ![]() Create the same functions for call.output as for call.input
I want to use CapacityContext outputs like this : call.getOutputValues(MyClass.class) Creation Date: 2012-01-19 Reported by: Gillian BASSO Assignee: Stéphane Galland | |||
| JANUS-111 | ![]() Pause an execution
I want to pause all agents with one function like "kernel.pause()" Creation Date: 2012-01-19 Reported by: Gillian BASSO Assignee: Stéphane Galland | |||
| JANUS-110 | ![]() Add Filter/Comparator to get Messages in order for (Message message : this.getFirstMessage(mycomparator) // return the "first" message thanks to the comparison {...}Creation Date: 2012-01-16 Last update: 2012-01-19 Reported by: Gillian BASSO Assignee: Stéphane Galland | |||
| JANUS-109 | ![]() Lastly added listeners on signals are not invoked. The first added listener on the signal is invoked when the signal is fired. The other added listeners are never invoked.Creation Date: 2012-01-13 Last update: 2012-01-16 Reported by: Sebastian Rodriguez Assignee: Stéphane Galland | |||
| JANUS-108 | ![]() Switch from Light Agent to Heavy Agent, or from Heavy to Light.
It will be useful that an agent is enabled to switch from a light execution to an heavy execution. Creation Date: 2012-01-10 Last update: 2012-01-20 Reported by: Stéphane Galland Assignee: Stéphane Galland | |||
| JANUS-107 | ![]() In ActivationPrototype offers the possibility to have both fixedParameters and variableParameters Exemple : requestRole(role, group, double, object...)Creation Date: 2012-01-05 Last update: 2012-01-06 Reported by: Gillian BASSO Assignee: Stéphane Galland | |||
| JANUS-106 | ![]() Display exceptions caught by the Janus kernel
Some exceptions are caught by the kernel but never displayed. The user cannot be aware of his errors when running a project. Creation Date: 2012-01-05 Last update: 2012-01-06 Reported by: Gillian BASSO Assignee: Stéphane Galland | |||
| JANUS-105 | ![]() create replyMessage(Message, Message) function in Role class Creation Date: 2012-01-04 Last update: 2012-01-06 Reported by: Gillian BASSO Assignee: Stéphane Galland | |||
| JANUS-104 | ![]() Change Logger verbosity Creation Date: 2012-01-03 Last update: 2012-01-06 Reported by: Gillian BASSO Assignee: Stéphane Galland | |||
| JANUS-103 | ![]() New JIRA users with Janus rights
When creating their accounts, new JIRA users from the Janus portal should obtain the Janus's rights in place of the standard Jira rights. Creation Date: 2011-12-27 Reported by: Stéphane Galland | |||
| JANUS-102 | ![]() Invalid resource id in ApplicationJXTAGroup.properties
The second key "GROUP_NAME" in ApplicationJXTAGroup.properties should be "GROUP_DESCRIPTION". Creation Date: 2011-12-27 Reported by: Stéphane Galland Assignee: Stéphane Galland | |||
| JANUS-101 | ![]() Rename GroupDescription to Group The end user is expecting to find the class which is corresponding to the Group concept in the metamodel. But even if this class exists, it is not visible for the end user. The GroupDescription replied by the kernel corresponds to the end-user view of the group. So this class should be renamed to provide to the end user a class that has this name.Creation Date: 2011-12-24 Reported by: Stéphane Galland Assignee: Stéphane Galland | |||
| JANUS-100 | ![]() Add road map in the Janus website.
Add a page in the Janus website that is displaying the current Janus road map. Creation Date: 2011-12-23 Last update: 2012-01-31 Reported by: Stéphane Galland Assignee: Stéphane Galland | |||
| JANUS-99 | ![]() Janus on Git Move the source code of Janus from SVN server to GIT server. Merge the sources of all the Janus related projects in the same GIT server.Creation Date: 2011-12-22 Last update: 2012-04-11 Reported by: Stéphane Galland Assignee: Stéphane Galland | |||
| JANUS-98 | ![]() Agent sleeping function should be renamed and enhanced The pause() function in the Agent class should be renamed sleep(). A new sleep() function may be provided to awake an agent when a condition given as parameter of sleep() becomes true.Creation Date: 2011-12-22 Reported by: Stéphane Galland Assignee: Stéphane Galland | |||
| JANUS-97 | ![]() Need public access to GroupRepository
Or develop a group parameters management... Creation Date: 2011-12-12 Last update: 2011-12-22 Reported by: Gillian BASSO Assignee: Stéphane Galland | |||
| JANUS-96 | ![]() Probe API does not support collective probes
The probe API provides the concept of CollectiveProbe, but it is impossible to create a CollectiveProbe. Creation Date: 2011-12-08 Reported by: Stéphane Galland Assignee: Stéphane Galland | |||
| JANUS-95 | ![]() Application-related attributes in a Group A smart-grid requires dynamic connections which influence the topology of the grid. Currently I cannot have multiple instantiations of an Organization (Groups) with different topologies.Creation Date: 2011-12-08 Last update: 2011-12-24 Reported by: Gillian BASSO Assignee: Stéphane Galland | |||
| JANUS-94 | ![]() Print out a message when organization class is not well written.
It may be very useful for the developers to print out any message that is indicating an organization class has no public constructor, as expected by the kernel. Creation Date: 2011-09-12 Last update: 2011-12-05 Reported by: Stéphane Galland Assignee: Stéphane Galland | |||
| JANUS-93 | ![]() Android Support An implementation of Janus on Android OS was provided by UTBM students. This proposal should be cleaned and merge with the trunk branch.Creation Date: 2011-08-19 Last update: 2011-12-22 Reported by: Stéphane Galland Assignee: Stéphane Galland | |||
| JANUS-92 | ![]() Invalid Maven Repository Invalid access to the JBoss repository: [ERROR] Failed to execute goal on project network: Could not resolve dependencies for project org.janus-project.kernel:network:jar:0.5-SNAPSHOT: Failed to collect dependencies for [org.janus-project.kernel:osgi:jar:0.5-SNAPSHOT (compile), com.kenai.jxse:jxse:jar:2.6 (compile), bouncycastle:bcprov-jdk15:jar:140 (compile), javax.servlet:servlet-api:jar:3.0.1 (compile), org.apache.derby:derby:jar:10.8.1.2 (compile), com.h2database:h2:jar:1.1.158 (compile), jetty:org.mortbay.jetty:jar:6.0.0alpha3 (compile), org.jboss.netty:netty:jar:3.2.5.Final (compile), org.apache.felix:org.apache.felix.main:jar:3.2.2 (compile)]: Failed to read artifact descriptor for javax.servlet:servlet-api:jar:3.0.1: Could not transfer artifact javax.servlet:servlet-api:pom:3.0.1 from/to repository.jboss.org (http://repository.jboss.org/maven2): Access denied to: http://repository.jboss.org/maven2/javax/servlet/servlet-api/3.0.1/servlet-api-3.0.1.pomCreation Date: 2011-08-13 Last update: 2011-08-18 Reported by: Stéphane Galland Assignee: Nicolas Gaud | |||
| JANUS-91 | ![]() ATTENTION : L'agent récepteur du message na pas été trouvé: {0} "| ATTENTION : L'agent récepteur du message na pas été trouvé: {0}" {0} is not really explicitCreation Date: 2011-06-21 Last update: 2011-12-22 Reported by: Gillian BASSO Assignee: Stéphane Galland | |||
| JANUS-90 | ![]() Role hierarchy in Janus Example : I want to send a Message to all Entities, but "Entity" is not the Role played by them.Creation Date: 2011-06-20 Last update: 2012-01-20 Reported by: Gillian BASSO Assignee: Stéphane Galland | |||
| JANUS-89 | ![]() Do not add an agent to an AgentActivator with the "addAgent(Agent)" function Sévérité=ERROR; Source=org.janusproject.kernel.agent.Agent; Code=-2; Message=null; Exception=java.lang.NullPointerException org.janusproject.kernel.agent.Agent.getCRIOContext(Agent.java:282) org.janusproject.kernel.crio.core.RolePlayer.getOrganization(RolePlayer.java:865) org.janusproject.kernel.crio.core.RolePlayer.getOrCreateGroup(RolePlayer.java:1047) test.fr.utbm.set.grid.agent.GridAgent.activate(GridAgent.java:69) org.janusproject.kernel.agent.Agent.proceedPrivateInitialization(Agent.java:727) org.janusproject.kernel.agent.AgentActivator.activateInit(AgentActivator.java:73) org.janusproject.kernel.schedule.AbstractActivableContainer.activate(AbstractActivableContainer.java:213) test.fr.utbm.set.grid.MicroGridScheduler.activateInit(MicroGridScheduler.java:32) org.janusproject.kernel.schedule.AbstractActivableContainer.activate(AbstractActivableContainer.java:213) org.janusproject.kernel.agent.ActivatorAgent.activate(ActivatorAgent.java:178) org.janusproject.kernel.agent.Agent.proceedPrivateInitialization(Agent.java:727) org.janusproject.kernel.agent.ActivatorAgent.proceedPrivateInitialization(ActivatorAgent.java:168) org.janusproject.kernel.agent.KernelAgent$AgentThread.run(KernelAgent.java:1231) java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) java.util.concurrent.FutureTask.run(FutureTask.java:138) java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) java.lang.Thread.run(Thread.java:662)Creation Date: 2011-06-20 Last update: 2011-12-22 Reported by: Gillian BASSO Assignee: Stéphane Galland | |||
| JANUS-88 | ![]() Open Issue tracker It is very important for us to interact with the community in order to meet the expected standards. And the issue tracking is a big step towards this objective. if we can not open this installation of jira we can request an open source license for janus. Other good option is github.com which provides all most all services we need: issues, git based versioning, etc. Please Advise. S.Creation Date: 2011-06-07 Last update: 2011-12-22 Reported by: Sebastian Rodriguez | |||
| JANUS-87 | ![]() Janus doesnot compile on Maven 3 Janus does not compile on Maven 3 due to an API compatibility problem of org.arakhne.afc:maven-license-install-plugin
Creation Date: 2011-06-07 Last update: 2011-08-19 Reported by: Sebastian Rodriguez Assignee: Stéphane Galland | |||
| JANUS-86 | ![]() Wrong number of output parameters when a Capacity failed When a Capacity needs outputs, we have to fill outputs even if the Capacity fails. GRAVE: Pas assez de paramètres null obligatoires pour org.janusproject.kernel.crio.capacity.Capacity, attend 1 paramètre(s). 2 mars 2011 11:13:03 | Noyau<6cdbb21e-51b2-46d6-9e0a-16015ad2618e> | GRAVE : Sévérité=ERROR; Source=17160330; Code=-2; Message=Pas assez de paramètres null obligatoires pour org.janusproject.kernel.crio.capacity.Capacity, attend 1 paramètre(s).; Exception=org.janusproject.kernel.util.prototype.PrototypeException Pas assez de paramètres null obligatoires pour org.janusproject.kernel.crio.capacity.Capacity, attend 1 paramètre(s).Creation Date: 2011-03-02 Last update: 2011-03-03 Reported by: Gillian BASSO Assignee: Stéphane Galland | |||
| JANUS-85 | ![]() Role is not removed from the RoleActivator of the agent Agent is suicidal and has taken the role R in its activation function. The agent has overridden the live function as following: public Status live() { if (condition) {
return super.live();
}
leaveRole(R.class, myGroup);
return StatusFactory.ok(this);
} After releasing the role R, the role player is no more appearing in the Group itsef, as expected. But the RoleActivator of the agent still continue to run the live of the released role. Creation Date: 2011-02-18 Reported by: Gillian BASSO Assignee: Stéphane Galland | |||
| JANUS-84 | ![]() Non persistent group are not removed
When creating a group with a no persistent flag. And if no role was never played inside. Then the group is not removed by the group cleaner. Creation Date: 2011-02-10 Last update: 2012-04-12 Reported by: Stéphane Galland | |||
| JANUS-83 | ![]() Janus on Google Android
A fork of Janus for Google Android was released by Benoît Mauduit. This work may be merged with the standard edition of Janus. Creation Date: 2011-02-01 Last update: 2012-04-20 Reported by: Stéphane Galland Assignee: Stéphane Galland | |||
| JANUS-82 | ![]() Migration of agents
Agents should be able to migrate from a Kernel to an other one. Creation Date: 2011-02-01 Last update: 2011-12-23 Reported by: Stéphane Galland | |||
| JANUS-81 | ![]() Random NullPointerException when running Ants demo with Jaak null | Noyau<fc6c1d97-f775-4b80-ba4b-d0a73b2ef2c5> | GRAVE : Collection instance=[::53d1fc1c-604a-47cb-be44-b3f2be8683f7, ::f0da4d0d-a5c9-414a-9486-e94c52dfabf1, ::7948745f-811c-44e6-8c2a-aaa50cb41542, ::b18b2208-fec6-4cd4-931f-e0c468345224, ::607b4227-0371-4f6d-ae43-0725f2cda4ca, ::9cea9b32-32b3-444a-beb3-22d5525454a4, ::015713ed-55a4-4399-909f-06b4e2b21ccd, ::610a38d8-491b-4676-a1b5-bb97baab1077, ::6e229fae-aeb4-4eca-9e24-2917a4dc39bd, ::1b9f58bc-006b-40bb-80b0-5e1b8eae1fe2, ::9477541f-316a-4772-ae53-cb438464e1aa, ::71f29dd8-c24e-4565-8c44-0e2350080cb6, ::0fda15e3-8980-4d83-a3b5-4226c69ee49a, ::1861733e-b083-4f11-ae24-5c2a865fbc68, ::4cb1ef81-874b-4b4b-82aa-d791a3f1acc6, ::d9a9d247-c72c-49b7-8748-43afbe3260c6, ::b6d1b177-424b-4874-9362-eee0b4f78650, ::84b933bb-8949-4f10-ad8b-d0caf1ef1968, ::eb44bb57-da3c-4523-a911-7e7f37cbb345, ::eae0f265-18c9-4131-ab13-eb4d3febcd4b, ::6b97f9c9-f103-4a3b-b5b8-d59e1086ee08, ::603bd5c6-e390-4f78-b53c-530ca6de2b6a, ::4a417207-7198-430e-93ac-33a9e03a7de4, ::3c2257a7-84c6-474a-a094-5c548c5bacb6, ::eb38acbb-397b-40e7-a01a-079756901bb9, ::08f6019b-54b0-4a92-a6ac-4037752e4a2d, ::55e822f7-4442-4204-9c5b-c38ee26c1c31, ::9429f5e1-fd4b-4911-8b04-1f39cc0a4e5e, ::142d92ba-ea78-4c50-a5f2-b2f409b71c9a, ::b0211433-7bc9-4dc0-a28e-a061568ea136, ::bf78bc08-e2c5-4b82-9545-133b3426adc6, ::ba9d4c37-b8c8-4701-a35a-3ad657bc5e4b, ::b53e902a-ae63-49ea-99bb-c22b31649de3, ::89f39e56-659a-4ee8-bd97-e338995f2e86, ::3a2ba097-518f-4c5e-80b1-feb3444df339, ::d8b23758-6368-4399-8b3b-74f1be8e9735, ::b858c576-b731-4cf3-baf7-624f6bd9d967, ::486cfcae-7183-402d-8c62-97e523d048ed, ::35363694-da16-497c-abac-69eb7b2b6339, ::25413e88-8b9c-46a2-81d0-e1340557c540, ::65255d79-7b65-46f6-b913-637d683084f0, ::9978688f-7b0d-4219-947a-8bf0f8599d7d, ::12b0fa50-90df-40d1-a09c-0757895ecac6, ::87fef84b-4a72-4ab7-bf58-5d1e39546ef6, ::490f7522-a859-47b2-aec2-2d2b2aee8208, ::ce046f53-cd64-40e8-a77a-d3e5b9095af4, ::15b27bb7-cc79-45d5-8864-42f5be0f7112, ::87818ae4-aa01-4226-9ba2-bfe663dbd2d8, ::2562cc2d-da9b-4dbe-9860-1689b3770aa2, ::b99722e0-8691-4c96-bb55-6984dff00654, ::31a5cf9c-8042-4a31-a636-372874931aa4, ::9ebd76cc-6e4c-4579-972c-eb794a87146d, ::f43ada24-0abe-49fd-a461-2088853254e7, ::d8b0ed53-df6d-48b7-b2c6-68d5fa0e660c, ::b6bf694e-250f-4ed7-85a3-92d428cae853, ::5a0268cf-06da-4890-9b15-f5868d2e9d2c]Initial allocation resource=1Current allocation resource=0Iterator type=java.util.AbstractList.Itr Iterator instance=java.util.AbstractList$Itr@45cbda0a java.util.ConcurrentModificationException: Collection instance=[::53d1fc1c-604a-47cb-be44-b3f2be8683f7, ::f0da4d0d-a5c9-414a-9486-e94c52dfabf1, ::7948745f-811c-44e6-8c2a-aaa50cb41542, ::b18b2208-fec6-4cd4-931f-e0c468345224, ::607b4227-0371-4f6d-ae43-0725f2cda4ca, ::9cea9b32-32b3-444a-beb3-22d5525454a4, ::015713ed-55a4-4399-909f-06b4e2b21ccd, ::610a38d8-491b-4676-a1b5-bb97baab1077, ::6e229fae-aeb4-4eca-9e24-2917a4dc39bd, ::1b9f58bc-006b-40bb-80b0-5e1b8eae1fe2, ::9477541f-316a-4772-ae53-cb438464e1aa, ::71f29dd8-c24e-4565-8c44-0e2350080cb6, ::0fda15e3-8980-4d83-a3b5-4226c69ee49a, ::1861733e-b083-4f11-ae24-5c2a865fbc68, ::4cb1ef81-874b-4b4b-82aa-d791a3f1acc6, ::d9a9d247-c72c-49b7-8748-43afbe3260c6, ::b6d1b177-424b-4874-9362-eee0b4f78650, ::84b933bb-8949-4f10-ad8b-d0caf1ef1968, ::eb44bb57-da3c-4523-a911-7e7f37cbb345, ::eae0f265-18c9-4131-ab13-eb4d3febcd4b, ::6b97f9c9-f103-4a3b-b5b8-d59e1086ee08, ::603bd5c6-e390-4f78-b53c-530ca6de2b6a, ::4a417207-7198-430e-93ac-33a9e03a7de4, ::3c2257a7-84c6-474a-a094-5c548c5bacb6, ::eb38acbb-397b-40e7-a01a-079756901bb9, ::08f6019b-54b0-4a92-a6ac-4037752e4a2d, ::55e822f7-4442-4204-9c5b-c38ee26c1c31, ::9429f5e1-fd4b-4911-8b04-1f39cc0a4e5e, ::142d92ba-ea78-4c50-a5f2-b2f409b71c9a, ::b0211433-7bc9-4dc0-a28e-a061568ea136, ::bf78bc08-e2c5-4b82-9545-133b3426adc6, ::ba9d4c37-b8c8-4701-a35a-3ad657bc5e4b, ::b53e902a-ae63-49ea-99bb-c22b31649de3, ::89f39e56-659a-4ee8-bd97-e338995f2e86, ::3a2ba097-518f-4c5e-80b1-feb3444df339, ::d8b23758-6368-4399-8b3b-74f1be8e9735, ::b858c576-b731-4cf3-baf7-624f6bd9d967, ::486cfcae-7183-402d-8c62-97e523d048ed, ::35363694-da16-497c-abac-69eb7b2b6339, ::25413e88-8b9c-46a2-81d0-e1340557c540, ::65255d79-7b65-46f6-b913-637d683084f0, ::9978688f-7b0d-4219-947a-8bf0f8599d7d, ::12b0fa50-90df-40d1-a09c-0757895ecac6, ::87fef84b-4a72-4ab7-bf58-5d1e39546ef6, ::490f7522-a859-47b2-aec2-2d2b2aee8208, ::ce046f53-cd64-40e8-a77a-d3e5b9095af4, ::15b27bb7-cc79-45d5-8864-42f5be0f7112, ::87818ae4-aa01-4226-9ba2-bfe663dbd2d8, ::2562cc2d-da9b-4dbe-9860-1689b3770aa2, ::b99722e0-8691-4c96-bb55-6984dff00654, ::31a5cf9c-8042-4a31-a636-372874931aa4, ::9ebd76cc-6e4c-4579-972c-eb794a87146d, ::f43ada24-0abe-49fd-a461-2088853254e7, ::d8b0ed53-df6d-48b7-b2c6-68d5fa0e660c, ::b6bf694e-250f-4ed7-85a3-92d428cae853, ::5a0268cf-06da-4890-9b15-f5868d2e9d2c]Initial allocation resource=1Current allocation resource=0Iterator type=java.util.AbstractList.Itr Iterator instance=java.util.AbstractList$Itr@45cbda0a at org.janusproject.kernel.util.directaccess.SafeIterator.next(SafeIterator.java:143) at org.janusproject.kernel.agent.AgentActivator.activateBehaviour(AgentActivator.java:82) at org.janusproject.jaak.kernel.JaakKernelAgent$TurtleActivator.activateBehaviour(JaakKernelAgent.java:347) at org.janusproject.kernel.schedule.AbstractActivableContainer.live(AbstractActivableContainer.java:233) at org.janusproject.kernel.agent.ActivatorAgent.live(ActivatorAgent.java:323) at org.janusproject.kernel.agent.Agent.proceedPrivateBehaviour(Agent.java:785) at org.janusproject.kernel.agent.KernelAgent.proceedPrivateBehaviour(KernelAgent.java:329) at org.janusproject.kernel.agent.KernelAgent$AgentThread.run(KernelAgent.java:1097) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) Creation Date: 2010-12-28 Last update: 2011-01-27 Reported by: Stéphane Galland Assignee: Stéphane Galland | |||
| JANUS-80 | ![]() Spanish Translations
Spanish translations has been added into resources. Current translations are produced by the Google translator. Spanish natural-speaking developer should validate the translations. Creation Date: 2010-12-27 Last update: 2011-12-23 Reported by: Stéphane Galland Assignee: Sebastian Rodriguez | |||
| JANUS-79 | ![]() NullPointerException when getting the Kernel agent. Exception in thread "main" java.lang.NullPointerException at org.janusproject.kernel.agent.Kernels.create(Kernels.java:457) at org.janusproject.kernel.agent.Kernels.create(Kernels.java:402) at org.janusproject.kernel.agent.Kernels.create(Kernels.java:382) at org.janusproject.kernel.agent.Kernels.get(Kernels.java:142) at org.janusproject.kernel.agent.Kernels.get(Kernels.java:81) at org.janusproject.demos.ecocube.Launcher.main(Launcher.java:51) Creation Date: 2010-12-07 Reported by: Stéphane Galland Assignee: Stéphane Galland | |||
| JANUS-78 | ![]() Return type of getSupportedChannels does not fit. Let the following code: interface MyChannel extends Channel {} class MyAgent extends Agent implements ChannelInteratable { public Set<Class<? extends Channel>> getSupportedChannels() { return Collections.singleton(MyChannel.class); } } This code does not compile with error: Type mismatch: cannot convert from Set<Class<MyChannel>> to Set<Class<? extends Channel>> Creation Date: 2010-12-07 Reported by: Stéphane Galland | |||
| JANUS-77 | ![]() Missing repository declaration in pom
Repository servers are missed in poms of demos. Creation Date: 2010-10-19 Last update: 2010-10-21 Reported by: Stéphane Galland | |||
| JANUS-76 | ![]() set the applications name properly Kernel agents are the only authorize to change the application's name (used by other modules like network) However the kernel agent does not know the name of the application. The kernelAgent factory should pass to the kernel the application's name so it can change it. if none is passed then use the default.Creation Date: 2010-08-06 Last update: 2011-01-27 Reported by: Sebastian Rodriguez | |||
| JANUS-75 | ![]() Kernel cannot kill agents. If you launch an agent using the kernel : Agent a = ... kernel.launchHeavyAgent(a); you cant kill the agent. We should provide a methods like: kernel.killAgent(a, this); The last parameter should be the owner of the agent to verify that other agents can stop agents arbitrarily!Creation Date: 2010-07-30 Reported by: Sebastian Rodriguez | |||
| JANUS-74 | ![]() Open a Forum.
Forums are a great tool for users. We should open one for janus. Creation Date: 2010-07-30 Last update: 2010-10-12 Reported by: Sebastian Rodriguez Assignee: Nicolas Gaud | |||
| JANUS-69 | ![]() Add javadoc generations to hudson Create a hudson jobs to periodically create the apidocs. Additionally it would be interesting to have the apidocs for diferent version (ie. http://www.janus-project.org/apidocs/0.3/apidocs, http://www.janus-project.org/apidocs/trunk/apidocs, etc)Creation Date: 2010-07-22 Last update: 2010-08-08 Reported by: Sebastian Rodriguez Assignee: Nicolas Gaud | |||
| JANUS-68 | ![]() KernelAgent commit a suicide even if no suicidal
When all agents has been killed, KernelAgent kill itself even if is was not supposed to commit a suicide (commitSuicide==false). Creation Date: 2010-07-22 Last update: 2010-07-24 Reported by: Stéphane Galland Assignee: Stéphane Galland | |||
| JANUS-67 | ![]() Add static utility function to change logger output Change the output stream of the loggers is still boring and long with the standard Sun's API. A static function should be created in LoggerUtil to simplify this task.Creation Date: 2010-07-22 Last update: 2010-07-24 Reported by: Stéphane Galland Assignee: Stéphane Galland | |||
| JANUS-66 | ![]() Janus Home directory should depend on the kernel instance Currently Janus home directory if fixed for all kernel instances => $HOME/.janus This causes to have problems when more that one kernel is started on the same machine. For instance, more than one network enabled kernel is started : All network instances (JXTA read its configuration from files) are considered the same when they are not! A possible solution could be to add the KernelAddress to the JanusProperties and use it to obtain the janus home AND when creating the agent (so that the kernel address and home matches).Creation Date: 2010-07-20 Last update: 2010-07-25 Reported by: Sebastian Rodriguez Assignee: Stéphane Galland | |||
| JANUS-65 | ![]() Fresh checkout from repository fails to compile A fresh check out from the repository (revision484) fails to compile. BUILD ERROR [INFO] ------------------------------------------------------------------------ [INFO] Failed to create assembly: Artifact: org.janus-project.kernel:network:bundle:0.3-SNAPSHOT (included by module) does not have an artifact with a file. Please ensure the package phase is run before the assembly is generated. Creation Date: 2010-07-20 Reported by: Sebastian Rodriguez Assignee: Stéphane Galland | |||
| JANUS-64 | ![]() Probe and Channel fusion? Channels and Probes seems to be intersecting features: retreive informations from agents. May we fusion them or not ?Creation Date: 2010-07-16 Last update: 2011-01-27 Reported by: Stéphane Galland Assignee: Stéphane Galland | |||
| JANUS-63 | ![]() Should JanusApplication inherit from JanusModule? JanusApplication extend JanusModule Users may tend to register Applications as modules too : context.registerService(JanusApplication.class.getName(), this, null); context.registerService(JanusModule.class.getName(), this, null); This will make the kernel to start twice the same thing. On the other hand applications need the start(IkernelService) method to start modules. What do you think?Creation Date: 2010-07-16 Last update: 2011-02-18 Reported by: Sebastian Rodriguez | |||
| JANUS-62 | ![]() Make janusModules parametrable janusmodules do no accept any parameters.. thay are seen as self contained services with a single behavior. It could be interesting to be able to parameter them. For instance, create a CNP module that take the task to distribute as parameter and renders the result. On the other hand, this could be seen as the organization and then the agent that whats to distribute a task takes the Initiator role. What do you think, is this functionality important? Please vote.Creation Date: 2010-07-16 Last update: 2011-12-23 Reported by: Sebastian Rodriguez | |||
| JANUS-61 | ![]() Find best way to know if a janus module is running right now Janusmodules can be started and stopped, but the is no way to know if a module is currently running. Since modules contain agents that could have done there job and finished, the module can be the re-started to execute the behavior again. One option is to create a method isRunning() in the JanusModule Interface and leave that to the developer.Creation Date: 2010-07-16 Last update: 2011-12-23 Reported by: Sebastian Rodriguez Assignee: Sebastian Rodriguez | |||
| JANUS-60 | ![]() Enable JanusModules to be started by hand For the moment, registered JanusModules can be started automatically by the kernel. If the user decides not to use this functionality, there are no ways of starting them later. The IKernelService should provide methods to this end: IKernelService::startJanusModule(Class<?extends JanusModule> module, Credentials creds) IKernelService::stopJanusModule(Class<?extends JanusModule> module, Credentials creds)
Creation Date: 2010-07-16 Last update: 2010-07-20 Reported by: Sebastian Rodriguez Assignee: Sebastian Rodriguez | |||
| JANUS-59 | ![]() Integrate Mediawiki with jira I found that it is possible to integrate JIRA with media wiki. It could be interesting to create a Roadmap page, add a bug discussion into a tutorial , etc. Really not important but maybe useful. Found two plugins, others may be available: http://www.mediawiki.org/wiki/Extension:JIRA http://www.mediawiki.org/wiki/Extension:Jira_TicketCreation Date: 2010-07-16 Last update: 2010-07-28 Reported by: Sebastian Rodriguez Assignee: Stéphane Galland | |||
| JANUS-58 | ![]() Eclipse complains for sun* classes from arakhneVmutils arakhneVmutils requires or uses some sun* classes that when eclipse tries to load them causes problems:
Import-Package= !sun, *;resolution:=optional Creation Date: 2010-07-16 Reported by: Sebastian Rodriguez Assignee: Stéphane Galland | |||
| JANUS-57 | ![]() KernelAgent nevers consume its mailbox The kernel agents are never consuming the messages inside their mailboxes. It may cause OutOfMemoryException.Creation Date: 2010-07-16 Last update: 2010-07-17 Reported by: Stéphane Galland Assignee: Stéphane Galland | |||
| JANUS-56 | ![]() make kernelinformationchannel an interface
kernelinformationchannel should become an interface and move it to a package ...kernel.agent.channels. Then rename the current impl to kernelinformationchannelimpl and make it visible only to the package level. Creation Date: 2010-07-16 Reported by: Sebastian Rodriguez Assignee: Sebastian Rodriguez | |||
| JANUS-55 | ![]() Classical usage of Janus via Jar file. For Janus users and developers who do not matter about Maven, we must provide a convenient way to use Janus outside Maven. Standalone Jar files may be provided with all the kernel classes inside (and perhaps all the dependencies). In this way, these Jar files may be added in the CLASSPATH.Creation Date: 2010-07-15 Last update: 2010-07-16 Reported by: Stéphane Galland Assignee: Stéphane Galland | |||
| JANUS-52 | ![]() Create a Standard configuration mechanism Right now if we need to set up some configurations we / I use the System.getProperty. While useful this is very prone to attacks in an open environment. For Instance, I would need to find the application name or id to use when creating the Janus Application Peer Group in the networking module. This PeerGroup is used to broadcast newly created janus groups (i.e. group created by agents using the organizations to interact). This way all kernels running the same application, and therefore the same organizations, are found in the network. A malicious module could change this System property before the networking kernel is started (must be before since once started the kernel will not change its application group) to make our application instance interact with malicious agents. While this is the most urgent problem others can be found, like changing janus home to change the intended configuration of the kernel (start other applications, etc) What solutions do you think we can provide to this issue?Creation Date: 2010-07-13 Last update: 2010-07-18 Reported by: Sebastian Rodriguez Assignee: Stéphane Galland | |||
| JANUS-51 | ![]() Geshi source boxes are too small on firefox Geshi boxes created when using the source tag are too small. It is too difficult to read and copy & paste the code if needed. The behavior is only on Firefox. Epiphany and IE seem to work fine.Creation Date: 2010-07-13 Last update: 2010-07-15 Reported by: Sebastian Rodriguez | |||
| JANUS-50 | ![]() Link svn repo to jira There is a JIRA-SVN plugin that is free and could give us useful information. https://studio.plugins.atlassian.com/wiki/display/SVN/Subversion+JIRA+plugin It might be interesting to install it.Creation Date: 2010-07-13 Last update: 2010-07-15 Reported by: Sebastian Rodriguez Assignee: Nicolas Gaud | |||
| JANUS-49 | ![]() Assertion failure When running the Maker-Selective demo, this exception may append: 12 juil. 2010 20:17:32 | Agent<Fournisseur n°1,628091ec-4c8e-4427-9fc7-e5f56424d579> | GRAVE : Sévérité=ERROR; Source=org.janusproject.kernel.util.sizediterator.UnmodifiableMapKeySizedIterator; Code=-2; Message=null; Exception=java.lang.AssertionError org.janusproject.kernel.util.sizediterator.UnmodifiableMapKeySizedIterator.<init>(UnmodifiableMapKeySizedIterator.java:35) org.janusproject.kernel.crio.core.Group$RoleDescriptor.getAddresses(Group.java:912) org.janusproject.kernel.crio.core.Group.getRolePlayers(Group.java:738) org.janusproject.kernel.crio.core.Role.getPlayers(Role.java:1695) org.janusproject.kernel.crio.core.Role.getPlayers(Role.java:1674) org.janusproject.demos.market.selective.contracting.Seller.Run(Seller.java:55) org.janusproject.demos.market.selective.contracting.Seller.live(Seller.java:48) org.janusproject.kernel.crio.core.Role.proceedPrivateBehaviour(Role.java:431) org.janusproject.kernel.crio.core.RoleActivator.activateBehaviour(RoleActivator.java:71) org.janusproject.kernel.schedule.AbstractActivableContainer.live(AbstractActivableContainer.java:233) org.janusproject.kernel.agent.Agent.live(Agent.java:726) org.janusproject.kernel.agent.Agent.proceedPrivateBehaviour(Agent.java:755) org.janusproject.kernel.agent.KernelAgent$AgentThread.run(KernelAgent.java:949) java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) java.util.concurrent.FutureTask.run(FutureTask.java:138) java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) java.lang.Thread.run(Thread.java:619)Creation Date: 2010-07-12 Reported by: Stéphane Galland | |||
| JANUS-48 | ![]() Logger Identity is wrong
The identity of the logger put in the log messages does not correspond to the entity which has log the message. Creation Date: 2010-07-09 Reported by: Stéphane Galland Assignee: Stéphane Galland | |||
| JANUS-47 | ![]() Redirect janus-project.org documentation directly to wiki In order to avoid duplicated work i suggest we directly redirect janus-project.org documentation link to the wiki. At most have a page that explains that the documentation can be found in the wiki (a little tedious for the user and unnecessary step in my experience)Creation Date: 2010-07-06 Last update: 2010-07-13 Reported by: Sebastian Rodriguez Assignee: Nicolas Gaud | |||
| JANUS-46 | ![]() Create wiki template to match janas-project.org
It would be interesting to have a template for mediawiki that matches the one used for janus-project.org Creation Date: 2010-07-06 Last update: 2010-07-13 Reported by: Sebastian Rodriguez Assignee: Stéphane Galland | |||
| JANUS-45 | ![]() Improve agent's and role's output readablity Agent's and Role's readability is very low when using standard print, error, etc methods. Here is an output of a fresh project created with the crio archetype: No config.properties found. Jul 6, 2010 7:39:07 PM org.janusproject.kernel.agent.KernelAgent <clinit> WARNING: No default configuration found for logging system Jul 6, 2010 7:39:08 PM org.janusproject.kernel.agent.KernelAgent$AgentThread run INFO: Threaded agent launched: Kernel Agent::be480d9b-fc00-4051-8038-a699e145ae0f Jul 6, 2010 7:39:08 PM org.janusproject.kernel.agent.KernelAgent <init> INFO:
Jul 6, 2010 7:39:08 PM org.janusproject.kernel.mmf.osgi.Activator startJanusModule INFO: Starting JanusModule: org.example.janus.echo.Application Jul 6, 2010 7:39:08 PM org.janusproject.kernel.agent.KernelAgent$AgentThread run INFO: Threaded agent launched: ::8bf26fa9-b8bd-41b9-b095-f49f0db5db2b Jul 6, 2010 7:39:08 PM org.janusproject.kernel.agent.KernelAgent$AgentThread run INFO: Threaded agent launched: ::bdac5d2a-0171-48ee-8380-b37c258e96f9 Jul 6, 2010 7:39:08 PM org.janusproject.kernel.crio.core.RolePlayer print INFO: Done activation of ProviderAgent Jul 6, 2010 7:39:08 PM org.janusproject.kernel.crio.core.Role print INFO: Requesting date... Jul 6, 2010 7:39:08 PM org.janusproject.kernel.crio.core.Role print INFO: Requesting date... Jul 6, 2010 7:39:08 PM org.janusproject.kernel.crio.core.Role print INFO: Current date is Tue Jul 06 19:39:08 ART 2010 Jul 6, 2010 7:39:08 PM org.janusproject.kernel.crio.core.Role print INFO: Requesting date... Jul 6, 2010 7:39:08 PM org.janusproject.kernel.crio.core.Role print INFO: Current date is Tue Jul 06 19:39:08 ART 2010 Jul 6, 2010 7:39:08 PM org.janusproject.kernel.crio.core.Role print INFO: Requesting date... Jul 6, 2010 7:39:08 PM org.janusproject.kernel.crio.core.Role print INFO: Current date is Tue Jul 06 19:39:08 ART 2010 Jul 6, 2010 7:39:08 PM org.janusproject.kernel.crio.core.Role print INFO: Requesting date... Jul 6, 2010 7:39:08 PM org.janusproject.kernel.crio.core.Role print INFO: Current date is Tue Jul 06 19:39:08 ART 2010 Jul 6, 2010 7:39:08 PM org.janusproject.kernel.crio.core.Role print INFO: Requesting date... Jul 6, 2010 7:39:08 PM org.janusproject.kernel.crio.core.Role print INFO: Current date is Tue Jul 06 19:39:08 ART 2010 Jul 6, 2010 7:39:08 PM org.janusproject.kernel.crio.core.Role print INFO: Current date is Tue Jul 06 19:39:08 ART 2010 Jul 6, 2010 7:39:08 PM org.janusproject.kernel.crio.core.RolePlayer print INFO: ProviderAgent end. Jul 6, 2010 7:39:08 PM org.janusproject.kernel.crio.core.RolePlayer print INFO: RequestingAgent end. Jul 6, 2010 7:39:08 PM org.janusproject.kernel.agent.KernelAgent removeAgentFromKernel INFO: Agent killed: ::8bf26fa9-b8bd-41b9-b095-f49f0db5db2b Jul 6, 2010 7:39:08 PM org.janusproject.kernel.agent.KernelAgent removeAgentFromKernel INFO: Agent killed: ::bdac5d2a-0171-48ee-8380-b37c258e96f9 Jul 6, 2010 7:39:08 PM org.janusproject.kernel.mmf.osgi.Activator stop INFO: null Jul 6, 2010 7:39:08 PM org.janusproject.kernel.agent.KernelAgent removeAgentFromKernel INFO: Agent killed: Kernel Agent::be480d9b-fc00-4051-8038-a699e145ae0f To many details are sent to the user and it makes it impossible to know who is sending what! Besides it does not give what really matters. For instance notice the following sequence : Jul 6, 2010 7:39:08 PM org.janusproject.kernel.crio.core.Role print INFO: Requesting date... Jul 6, 2010 7:39:08 PM org.janusproject.kernel.crio.core.Role print INFO: Current date is Tue Jul 06 19:39:08 ART 2010 Should print something similar to using the standard configuration : Jul 6, 2010 7:39:08 PM org.example.janus.echo.organization,RequesterRole print INFO: Requesting date... Jul 6, 2010 7:39:08 PM org.example.janus.echo.organization.DateProviderRole print INFO: Current date is Tue Jul 06 19:39:08 ART 2010 But I would prefer something like : Jul 6, 2010 7:39:08 PM Agent<name,id> on role RequesterRole print : Requesting date... Jul 6, 2010 7:39:08 PM Agent<name,id> on role DateProviderRole print : Current date is Tue Jul 06 19:39:08 ART 2010 Creation Date: 2010-07-06 Last update: 2010-07-07 Reported by: Sebastian Rodriguez Assignee: Stéphane Galland | |||
| JANUS-44 | ![]() Move message API functions According to ASPECS methodology, CRIO module refers to Problem Domain. We should restrict as many as possible any reference to concepts related to Solution Domain in the CRIO module, eg. Kernel, Agent. Functions privelegedForwardMessager() and privelegedForwardBroadcastMessage() should be moved from RolePlayer to Agent or KernelAgent (this last has my preference). In the same way, reference to KernelAgent in CRIOContext should be moved in KernelContext. According to the current source code state, these changes do not introduce compilation problems.Creation Date: 2010-07-06 Last update: 2010-07-13 Reported by: Stéphane Galland Assignee: Sebastian Rodriguez | |||
| JANUS-43 | ![]() Users can erase all group records using the organization constructor. Just add the following code any where before a getOrCreateGroup(..) Class<? extends Organization> organization = .... try { cons = organization.getConstructor(CRIOContext.class); assert(cons!=null); cons.newInstance(this.getCRIOContext()); } catch (Exception e) { e.printStackTrace(); } It might work also if you use the simplified version new MyOrganization(this..getCRIOContext()) Creation Date: 2010-07-06 Last update: 2010-07-07 Reported by: Sebastian Rodriguez Assignee: Stéphane Galland | |||
| JANUS-42 | ![]() ConcurrentModificationException on mail boxes. java.util.ConcurrentModificationException java.util.TreeMap$PrivateEntryIterator.nextEntry(TreeMap.java:1100)
java.util.TreeMap$KeyIterator.next(TreeMap.java:1154)
org.janusproject.kernel.util.autoremove.AutoremoveIterator.searchNext(AutoremoveIterator.java:43) org.janusproject.kernel.util.autoremove.AutoremoveIterator.next(AutoremoveIterator.java:69) org.janusproject.demos.market.selective.providing.PBroker.Run(PBroker.java:108) org.janusproject.demos.market.selective.providing.PBroker.live(PBroker.java:82) org.janusproject.kernel.crio.core.Role.proceedPrivateBehaviour(Role.java:417) org.janusproject.kernel.crio.core.RoleActivator.activateBehaviour(RoleActivator.java:71) org.janusproject.kernel.schedule.AbstractActivableContainer.live(AbstractActivableContainer.java:233) org.janusproject.kernel.agent.Agent.live(Agent.java:724) org.janusproject.kernel.agent.Agent.proceedPrivateBehaviour(Agent.java:750) org.janusproject.kernel.agent.KernelAgent $AgentThread.run(KernelAgent.java:900) java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
java.util.concurrent.FutureTask.run(FutureTask.java:138)
java.util.concurrent.ThreadPoolExecutor
$Worker.runTask(ThreadPoolExecutor.java:886) java.util.concurrent.ThreadPoolExecutor $Worker.run(ThreadPoolExecutor.java:908) java.lang.Thread.run(Thread.java:619) Creation Date: 2010-07-06 Last update: 2010-07-13 Reported by: Stéphane Galland Assignee: Nicolas Gaud | |||
| JANUS-41 | ![]() Define License Before we are able to do the public release we have to define the License. General guide lines: - Free for personal / academic use- Paid for commercial use. Creation Date: 2010-07-03 Last update: 2011-02-11 Reported by: Sebastian Rodriguez | |||
| JANUS-40 | ![]() Enable Syntax highlighting on wiki The geshi plugin for mediawiki enables syntax highlighting for the source code. How to install it can be found : http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHiCreation Date: 2010-07-02 Last update: 2010-07-05 Reported by: Sebastian Rodriguez Assignee: Nicolas Gaud | |||
| JANUS-39 | ![]() Jxta Application group should depend on the applicatoins name / symbolic name Janus network Jxta implementation creates an application PeerGroup to find existing groups in the janus platform. The current implementation has a fixed "hard-coded" ID for the application PeerGroup ID. Creation Date: 2010-07-02 Last update: 2010-07-15 Reported by: Sebastian Rodriguez Assignee: Sebastian Rodriguez | |||
| JANUS-38 | ![]() Enable the use of JXTA Propagate pipes for broadcast messages The current implementation uses only JxtaBidiPipes to send all type of messages, i.e. direct or broadcast. This allows a more reliable communication but uses more resources. We should implement the option of using propagate pipes and leave the decision to the programmer. Creation Date: 2010-07-02 Last update: 2011-12-23 Reported by: Sebastian Rodriguez Assignee: Sebastian Rodriguez | |||
| JANUS-37 | ![]() Zombi groups are possible when no role was requested A group is automatically destroyed when all the played roles are leaved, and the role was marked as non-persistent. But when a group is created and no role requested, the group is still in memory. Such group becomes unaccessible when the group address is lost, ie. it become a zombi group. Zombi groups has memory foot print. Example of code: class MyAgent extends Agent { public Status activate(Object... p) {
createGroup(MyOrganization.class);
return StatusFactory.ok(this);
}
} Madkit has solve this problem by replacing createGroup()/requestRole() pair by a sinlge invocation to joinGroup() function. I prefer our coding approach, ie. two functions. But we may provide a solution to this memory allocation problem. From my previous example, perhaps we may automatically destroy the created group because no role is requested inside. This destruction may occurs just after activate invocation. What do you thing?Creation Date: 2010-06-21 Last update: 2011-01-28 Reported by: Stéphane Galland Assignee: Stéphane Galland | |||
| JANUS-36 | ![]() Standard svn changes format It could be interesting to have a standard way of adding comments to svn commits. I propose using an asterisk, a space and then the comment with a stop. So we can use them create changelogs. so we would commit with something like svn ci -m "* My very clear comment" The we would obtain a changelog that should look something like : Changes on version XX
Creation Date: 2010-06-18 Last update: 2010-07-02 Reported by: Sebastian Rodriguez | |||
| JANUS-35 | ![]() Should we remove MessageException? Should we remove MessageException from sendMessage, etc? It is quite annoying to handle an exception you can't recover from. Other option is to make it a runtime exception. In which situations can an agent recover from this exception and how? In most case I found this exception (and its hierarchy) is used to describe the kernel's internal issues that the programmer cannot do much about. So we can have these exceptions but catch them before they exit the API and wrap them inside a runtime exception. Let me know what you think about this. Creation Date: 2010-06-17 Last update: 2010-06-18 Reported by: Sebastian Rodriguez Assignee: Stéphane Galland | |||
| JANUS-34 | ![]() Remove Arakhnê Logger Arakhnê Logger may be discarted in profit to the Sun's logger. Indeed, Sun's logger is embedded in all the JRE, which are compliant with the Sun's specification (Sun's JRE, OpenJDK for example). Sun's logger is closed to Apache's Log4J and is enoug hpower full for our usage.Creation Date: 2010-06-17 Last update: 2010-06-21 Reported by: Stéphane Galland Assignee: Stéphane Galland | |||
| JANUS-33 | ![]() RoleTest Fails sometimes - possible race condition? RoleTest Fails sometimes - possible race condition? The same test sometimes runs without failure. Failure Test set: org.janusproject.kernel.crio.core.RoleTest Tests run: 36, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 2.151 sec <<< FAILURE! testGetMessage(org.janusproject.kernel.crio.core.RoleTest) Time elapsed: 0.011 sec <<< FAILURE! junit.framework.AssertionFailedError: expected same:<f1b978e2-645d-4ac5-a77e-8bc77de17ada> was not:<4187db5f-eac0-43d3-9836-eef334b4267d> at junit.framework.Assert.fail(Assert.java:47)
at junit.framework.Assert.failNotSame(Assert.java:276)
at junit.framework.Assert.assertSame(Assert.java:239)
at junit.framework.Assert.assertSame(Assert.java:246)
at org.janusproject.kernel.crio.core.RoleTest.testGetMessage(RoleTest.java:207)
Path: . URL: https://devmas-set.utbm.fr/repository/janus/trunk/janus-kernel/crio Repository Root: https://devmas-set.utbm.fr/repository/janus Repository UUID: f85289ba-9410-49ef-8d3f-18f314445dfd Revision: 322 Node Kind: directory Schedule: normal Last Changed Author: sgalland Last Changed Rev: 321 Last Changed Date: 2010-06-16 19:35:18 -0300 (Wed, 16 Jun 2010) Creation Date: 2010-06-17 Last update: 2010-06-18 Reported by: Sebastian Rodriguez Assignee: Stéphane Galland | |||
| JANUS-32 | ![]() Simplifying User API
Please add comments about the functions to add in the API to simplify usage for final users. Creation Date: 2010-06-16 Last update: 2010-06-21 Reported by: Stéphane Galland Assignee: Stéphane Galland | |||
| JANUS-31 | ![]() Agent is not able to obtain a list of running agents.
An agent is not able to obtain a list of all the running agents. Creation Date: 2010-06-15 Reported by: Stéphane Galland Assignee: Stéphane Galland | |||
| JANUS-30 | ![]() TimeManager should be kernel context-dependent Each kernel agent has a specific context in which time may evolve at a different rate than in an other kernel agent. Consequently, time manager should be no more a global singleton, but a kernel context singleton.Creation Date: 2010-06-12 Last update: 2010-06-15 Reported by: Stéphane Galland Assignee: Stéphane Galland | |||
| JANUS-29 | ![]() bundle packaging is incompatible with Continuum Bundle packaging specified in pom files are incompatible with Continuum. Indeed, even if Continuum is compilating the projects, it does not deploy the jar in the Maven repository. The consequence is that last changes in source code are not deployed for Jar users. Continnum process is more important than OSGi packaging. So I revert the history number 285 from SVN server.Creation Date: 2010-06-09 Last update: 2010-06-18 Reported by: Stéphane Galland Assignee: Sebastian Rodriguez | |||
| JANUS-28 | ![]() Remove organization(..) method from the API The RolePlayer::organization(..) method should be removed from the API. Unless I am missing something, it creates an unnecessary overhead and potentially confusing and error-prone API. The organization Instance should be a singleton in order to control group instances. However the creategroup(...) methods take an organization instance. Users may try to pass a "new OrganizationXX()" instance instead of using organization() method. Methods such as createGroup(Organization o .. ) should be deprecated and replaced this createGroup(Class<o extends Organization> orgClass, ...). This new methods should internally do what the organization(..) method does. Is there any case where this does not apply? Please advise.Creation Date: 2010-06-08 Last update: 2010-06-09 Reported by: Sebastian Rodriguez Assignee: Stéphane Galland | |||
| JANUS-27 | ![]() Autobroadcast message receiver null
Lorsqu'un agent joue un role r et qu'il broadcast un message au role r, le receiver du message est null lorsqu'il recoit le message de son propre broadcast Creation Date: 2010-06-07 Last update: 2010-06-08 Reported by: Nicolas Gaud Assignee: Stéphane Galland | |||
| JANUS-26 | ![]() how to debug an osgi app in eclipse Here I leave you a small tutorial on how to setup your janus application project to run and debug it inside eclipse. Creation Date: 2010-06-04 Last update: 2010-06-08 Reported by: Sebastian Rodriguez | |||
| JANUS-25 | ![]() NullPointerException in Janus wrapper for JaSIM 5 juin 2010 00:15:11 org.arakhne.logging.SunLogger log GRAVE: null java.lang.NullPointerException at fr.utbm.set.jasim.janus.controller.JasimExecutionKernelAgent.consumeControllerEvent(JasimExecutionKernelAgent.java:94) at fr.utbm.set.jasim.janus.controller.JasimExecutionKernelAgent.live(JasimExecutionKernelAgent.java:105) at org.janusproject.kernel.agent.Agent.proceedPrivateBehaviour(Agent.java:642) at org.janusproject.kernel.agent.KernelAgent$AgentThread.run(KernelAgent.java:830) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:619) Creation Date: 2010-06-04 Reported by: Stéphane Galland Assignee: Stéphane Galland | |||
| JANUS-24 | ![]() Kernels reflection mechanism fails KernelAgent's constructors (i.e. KernelAgent and NetworkingKernelAgent) cannot be found by the reflection mechanism used by Kernels. You get a nasty NoSuchMethodException. I have modified the order of the parameters when searching the constructor (done and committed). To reproduce the bug, add the following test to KernelsTest : public void testDefaultKernelType(){ Kernels.setPreferredKernelType(KernelAgent.class); Kernel k = Kernels.get(true); assertNotNull(k); assertTrue(k.kill().isSuccess()); Kernels.setPreferredKernelType(null); } Potential solutions : A- Make all constructors public. I realize that this might lead to users to try to directly instanciate the kernels. B- Merge Kernels with KernelService so that the only way to obtain a kernel instance is via OSGi services. This means OSGi only implementations will be accepted. Since this may break some existing code I wanted to check it with you guys. Let me know your opinion.Creation Date: 2010-06-04 Last update: 2010-06-08 Reported by: Sebastian Rodriguez Assignee: Stéphane Galland | |||
| JANUS-23 | ![]() Fresh checkout from repository tests fail Fresh checkout of repository fails to pass all tests on the CRIO module.
T E S T S Running org.janusproject.kernel.crio.capacity.AbstractCapacityContainerTest Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.043 sec Running org.janusproject.kernel.crio.core.OrganizationRepositoryTest Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.031 sec Running org.janusproject.kernel.crio.core.RoleTest Tests run: 28, Failures: 2, Errors: 0, Skipped: 0, Time elapsed: 2.743 sec <<< FAILURE! Running org.janusproject.kernel.crio.core.InteractionUtilTest Tests run: 17, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.02 sec Running org.janusproject.kernel.crio.core.CapacityExecutorTest Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 10.041 sec Running org.janusproject.kernel.crio.core.CRIOContextTest Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec Running org.janusproject.kernel.crio.core.RolePlayerTest Tests run: 28, Failures: 2, Errors: 0, Skipped: 0, Time elapsed: 2.039 sec <<< FAILURE! Running org.janusproject.kernel.crio.core.OrganizationTest Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.015 sec Running org.janusproject.kernel.crio.capacity.CapacityImplementationComparatorTest Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec Running org.janusproject.kernel.crio.coreTest.OrganizationRepositoryTest Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 sec Running org.janusproject.kernel.crio.capacity.TreeCapacityContainerTest Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 sec Running org.janusproject.kernel.crio.capacity.RandomCapacityImplementationSelectionPolicyTest Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec Running org.janusproject.kernel.crio.core.GroupAddressTest Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec Running org.janusproject.kernel.crio.core.GroupTest Tests run: 23, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.041 sec Running org.janusproject.kernel.crio.core.GroupRepositoryTest Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.004 sec Running org.janusproject.kernel.crio.core.GroupCapacityContextTest Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.007 sec Running org.janusproject.kernel.crio.capacity.FirstCapacityImplementationSelectionPolicyTest Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec Running org.janusproject.kernel.crio.capacity.CapacityContextTest Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.013 sec Running org.janusproject.kernel.crio.capacity.HashCapacityContainerTest Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 sec Running org.janusproject.kernel.crio.core.RoleCapacityImplementationTest Tests run: 11, Failures: 2, Errors: 0, Skipped: 0, Time elapsed: 0.032 sec <<< FAILURE! Running org.janusproject.kernel.crio.core.RoleActivatorTest Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec Results : Failed tests: testBroadcastMessage(org.janusproject.kernel.crio.core.RoleTest) testForwardBroadcastMessage(org.janusproject.kernel.crio.core.RoleTest) testBroadcastMessage(org.janusproject.kernel.crio.core.RolePlayerTest) testForwardBroadcastMessage(org.janusproject.kernel.crio.core.RolePlayerTest) testBroadcastMessage(org.janusproject.kernel.crio.core.RoleCapacityImplementationTest) testForwardBroadcastMessage(org.janusproject.kernel.crio.core.RoleCapacityImplementationTest) Tests run: 186, Failures: 6, Errors: 0, Skipped: 0 [INFO] ------------------------------------------------------------------------ [ERROR] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] There are test failures. Creation Date: 2010-06-04 Last update: 2010-06-05 Reported by: Sebastian Rodriguez Assignee: Stéphane Galland | |||
| JANUS-21 | ![]() Messages may not be generic
Message class may not be parameterized by a generic. Creation Date: 2010-06-03 Reported by: Stéphane Galland Assignee: Stéphane Galland | |||
| JANUS-20 | ![]() sendMessage returns null Let A an agent playing roles R1 and R2. When A is sending a message from R1 to R2, sendMessage returns null instead of the address of A.Creation Date: 2010-06-03 Reported by: Stéphane Galland Assignee: Stéphane Galland | |||
| JANUS-19 | ![]() Conccurent Modification Exception GRAVE: null java.util.ConcurrentModificationException at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)
at java.util.AbstractList$Itr.next(AbstractList.java:343)
at
org.janusproject.kernel.util.directaccess.SafeIterator.next(SafeIterator.java:101) at org.janusproject.kernel.agent.AgentActivator.activateBehaviour(AgentActivator.java:76) at org.janusproject.kernel.schedule.AbstractActivableContainer.live(AbstractActivableContainer.java:197) at org.janusproject.kernel.agent.ActivatorAgent.live(ActivatorAgent.java:190) at org.janusproject.kernel.agent.Agent.proceedPrivateBehaviour(Agent.java:632) at org.janusproject.kernel.agent.KernelAgent$AgentThread.run(KernelAgent.java:757) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:637) Creation Date: 2010-06-01 Last update: 2010-06-08 Reported by: Stéphane Galland Assignee: Stéphane Galland | |||
| JANUS-18 | ![]() Condition API may provide a convenient way to obtain the failed condition When a condition does not met, the kernel is not able to log a description of the failure. For example, let several capacities are required to obtain a role, when an agent does not provide an implementation for one capacity, the failure message does not indicates what is the missed capacity implementation.Creation Date: 2010-05-25 Reported by: Stéphane Galland Assignee: Stéphane Galland | |||
| JANUS-17 | ![]() Agents are freezing
Sometimes, agent in demos are freezing. Creation Date: 2010-05-25 Last update: 2010-07-24 Reported by: Stéphane Galland | |||
| JANUS-16 | ![]() Access denied when instanciating an organization. The attached source code causes a access error. The problem is due to the fact that organization instanciator could not access to the private definition of MyOrga class. Role instanciator may cause the same problem.Creation Date: 2010-05-25 Last update: 2010-05-31 Reported by: Stéphane Galland Assignee: Stéphane Galland | |||
| JANUS-15 | ![]() Annotate roles with activation parameter types Apply the same annotation feature as capacity call to role initialization. Indeed parameter types of activate() should be tested to ensure that requestRole() gives values with the right types.Creation Date: 2010-05-20 Last update: 2010-05-21 Reported by: Stéphane Galland | |||
| JANUS-14 | ![]() Move message API inside a dediated Maven module Message classes may be moved from crio moule to a dedicated Maven module. It will permits to non-organizational modules to not depend on the crio module (example: the forager bot demo).Creation Date: 2010-05-09 Last update: 2010-05-31 Reported by: Stéphane Galland Assignee: Stéphane Galland | |||
| JANUS-13 | ![]() Exception=java.lang.NullPointerException [::d85b14bb-a9a7-41c1-915e-df9b16b3f655@42e43127-5a9f-4c88-b56a-6155c88f4b2a pc-set-71.utbm.fr] - Erreur: Sévérité=ERROR; Source=org.janusproject.kernel.status.MultipleStatus; Code=-2; Message=null; Exception=java.lang.NullPointerException org.janusproject.kernel.status.MultipleStatus.getInsertIndex(MultipleStatus.java:105) org.janusproject.kernel.status.MultipleStatus.addStatus(MultipleStatus.java:96) org.janusproject.kernel.status.MultipleStatus.addStatus(MultipleStatus.java:86) org.janusproject.kernel.status.MultipleStatus.<init>(MultipleStatus.java:56) org.janusproject.kernel.crio.core.Role.proceedPrivateBehaviour(Role.java:211) org.janusproject.kernel.crio.core.RoleActivator.activateBehaviour(RoleActivator.java:69) org.janusproject.kernel.schedule.AbstractActivableContainer.live(AbstractActivableContainer.java:197) org.janusproject.kernel.agent.Agent.live(Agent.java:587) org.janusproject.kernel.agent.Agent.proceedPrivateBehaviour(Agent.java:613) org.janusproject.kernel.agent.AgentActivator.activateBehaviour(AgentActivator.java:81) org.janusproject.kernel.schedule.AbstractActivableContainer.live(AbstractActivableContainer.java:197) org.janusproject.kernel.agent.ActivatorAgent.live(ActivatorAgent.java:187) fr.utbm.set.jasim.janus.controller.JasimExecutionKernelAgent.live(JasimExecutionKernelAgent.java:108) org.janusproject.kernel.agent.Agent.proceedPrivateBehaviour(Agent.java:613) org.janusproject.kernel.agent.KernelAgent$AgentThread.run(KernelAgent.java:734) java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) java.util.concurrent.FutureTask.run(FutureTask.java:138) java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) java.lang.Thread.run(Thread.java:619) Sévérité=ERROR; Source=org.janusproject.kernel.status.MultipleStatus; Code=-2; Message=null; Exception=java.lang.NullPointerException org.janusproject.kernel.status.MultipleStatus.getInsertIndex(MultipleStatus.java:105) org.janusproject.kernel.status.MultipleStatus.addStatus(MultipleStatus.java:96) org.janusproject.kernel.status.MultipleStatus.addStatus(MultipleStatus.java:86) org.janusproject.kernel.status.MultipleStatus.<init>(MultipleStatus.java:56) org.janusproject.kernel.crio.core.Role.proceedPrivateBehaviour(Role.java:211) org.janusproject.kernel.crio.core.RoleActivator.activateBehaviour(RoleActivator.java:69) org.janusproject.kernel.schedule.AbstractActivableContainer.live(AbstractActivableContainer.java:197) org.janusproject.kernel.agent.Agent.live(Agent.java:587) org.janusproject.kernel.agent.Agent.proceedPrivateBehaviour(Agent.java:613) org.janusproject.kernel.agent.AgentActivator.activateBehaviour(AgentActivator.java:81) org.janusproject.kernel.schedule.AbstractActivableContainer.live(AbstractActivableContainer.java:197) org.janusproject.kernel.agent.ActivatorAgent.live(ActivatorAgent.java:187) fr.utbm.set.jasim.janus.controller.JasimExecutionKernelAgent.live(JasimExecutionKernelAgent.java:108) org.janusproject.kernel.agent.Agent.proceedPrivateBehaviour(Agent.java:613) org.janusproject.kernel.agent.KernelAgent$AgentThread.run(KernelAgent.java:734) java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) java.util.concurrent.FutureTask.run(FutureTask.java:138) java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) java.lang.Thread.run(Thread.java:619) Sévérité=ERROR; Source=org.janusproject.kernel.status.MultipleStatus; Code=-2; Message=null; Exception=java.lang.NullPointerException org.janusproject.kernel.status.MultipleStatus.getInsertIndex(MultipleStatus.java:105) org.janusproject.kernel.status.MultipleStatus.addStatus(MultipleStatus.java:96) org.janusproject.kernel.status.MultipleStatus.addStatus(MultipleStatus.java:86) org.janusproject.kernel.status.MultipleStatus.<init>(MultipleStatus.java:56) org.janusproject.kernel.crio.core.Role.proceedPrivateBehaviour(Role.java:211) org.janusproject.kernel.crio.core.RoleActivator.activateBehaviour(RoleActivator.java:69) org.janusproject.kernel.schedule.AbstractActivableContainer.live(AbstractActivableContainer.java:197) org.janusproject.kernel.agent.Agent.live(Agent.java:587) org.janusproject.kernel.agent.Agent.proceedPrivateBehaviour(Agent.java:613) org.janusproject.kernel.agent.AgentActivator.activateBehaviour(AgentActivator.java:81) org.janusproject.kernel.schedule.AbstractActivableContainer.live(AbstractActivableContainer.java:197) org.janusproject.kernel.agent.ActivatorAgent.live(ActivatorAgent.java:187) fr.utbm.set.jasim.janus.controller.JasimExecutionKernelAgent.live(JasimExecutionKernelAgent.java:108) org.janusproject.kernel.agent.Agent.proceedPrivateBehaviour(Agent.java:613) org.janusproject.kernel.agent.KernelAgent$AgentThread.run(KernelAgent.java:734) java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) java.util.concurrent.FutureTask.run(FutureTask.java:138) java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) java.lang.Thread.run(Thread.java:619) Sévérité=ERROR; Source=23494460; Code=-2; Message=null; Exception=java.lang.NullPointerException Sévérité=ERROR; Source=org.janusproject.kernel.status.MultipleStatus; Code=-2; Message=null; Exception=java.lang.NullPointerException org.janusproject.kernel.status.MultipleStatus.getInsertIndex(MultipleStatus.java:105) org.janusproject.kernel.status.MultipleStatus.addStatus(MultipleStatus.java:96) org.janusproject.kernel.status.MultipleStatus.addStatus(MultipleStatus.java:86) org.janusproject.kernel.status.MultipleStatus.<init>(MultipleStatus.java:56) org.janusproject.kernel.crio.core.Role.proceedPrivateBehaviour(Role.java:211) org.janusproject.kernel.crio.core.RoleActivator.activateBehaviour(RoleActivator.java:69) org.janusproject.kernel.schedule.AbstractActivableContainer.live(AbstractActivableContainer.java:197) org.janusproject.kernel.agent.Agent.live(Agent.java:587) org.janusproject.kernel.agent.Agent.proceedPrivateBehaviour(Agent.java:613) org.janusproject.kernel.agent.AgentActivator.activateBehaviour(AgentActivator.java:81) org.janusproject.kernel.schedule.AbstractActivableContainer.live(AbstractActivableContainer.java:197) org.janusproject.kernel.agent.ActivatorAgent.live(ActivatorAgent.java:187) fr.utbm.set.jasim.janus.controller.JasimExecutionKernelAgent.live(JasimExecutionKernelAgent.java:108) org.janusproject.kernel.agent.Agent.proceedPrivateBehaviour(Agent.java:613) org.janusproject.kernel.agent.KernelAgent$AgentThread.run(KernelAgent.java:734) java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) java.util.concurrent.FutureTask.run(FutureTask.java:138) java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) java.lang.Thread.run(Thread.java:619)Creation Date: 2010-04-30 Reported by: Jonathan DEMANGE Assignee: Stéphane Galland | |||
| JANUS-12 | ![]() Probe Mechanism Implementation
Probe manager implementation should be tested and finalize in Janus Kernel. Creation Date: 2010-04-23 Last update: 2011-01-27 Reported by: Stéphane Galland Assignee: Stéphane Galland | |||
| JANUS-11 | ![]() Finalize network support in Kernel Kernel does not support network communication with other kernel instances. I propose to get inspiration from TinyMAS: class Kernel; class NetworkingKernel extends Kernel; NetworkingKernel will override empty functions from Kernel to provide a network support. In this way, developpers will be able to use a Janus Kernel without any network support (security concerns).Creation Date: 2010-04-23 Last update: 2010-07-02 Reported by: Stéphane Galland Assignee: Sebastian Rodriguez | |||
| JANUS-10 | ![]() Kernel Performance Analysis Janus Kernel was redesigned for 0.3 version. But component and overall performances must be computed. Based on results, new tasks should be created to improve performances.Creation Date: 2010-04-23 Last update: 2010-06-04 Reported by: Stéphane Galland Assignee: Stéphane Galland | |||
| JANUS-9 | ![]() Agents may send messages directly
Agents may be able to directly send messages outside an organizational model. Creation Date: 2010-04-23 Last update: 2010-05-09 Reported by: Stéphane Galland Assignee: Stéphane Galland | |||
| JANUS-8 | ![]() Random Test Failure on kernel tests on OpenJDK Some tests seem to randomly fail when using OpenJDK 6 in the mentioned environment. I am build a clean checkout: $ svn info Path: . URL: https://devmas-set.utbm.fr/repository/janus/trunk Repository Root: https://devmas-set.utbm.fr/repository/janus Repository UUID: f85289ba-9410-49ef-8d3f-18f314445dfd Revision: 206 Node Kind: directory Schedule: normal Last Changed Author: sgalland Last Changed Rev: 206 Last Changed Date: 2010-04-01 12:24:23 -0300 (Thu, 01 Apr 2010) When running maven build using OpenJDK, sometimes tests fail and sometimes it builds correctly. $ java -version java version "1.6.0_0" OpenJDK Runtime Environment (IcedTea6 1.6.1) (6b16-1.6.1-3ubuntu3) OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode) $ mvn -version Apache Maven 2.2.1 (rdebian-1) Java version: 1.6.0_16 Java home: /usr/lib/jvm/java-6-sun-1.6.0.16/jre Default locale: en_US, platform encoding: UTF-8 OS name: "linux" version: "2.6.31-20-generic" arch: "amd64" Family: "unix" $ echo $MAVEN_OPTS -Xms512m -Xmx1024m -XX:PermSize=512m -XX:MaxPermSize=1024m Every time I get and AssertionError exception, but with different test (KernelAgentTest, OverallMASTest) Example: [INFO] ------------------------------------------------------------------------ [INFO] Building Janus Kernel Implementation [INFO] task-segment: [clean, install] [INFO] ------------------------------------------------------------------------ [INFO] [clean:clean {execution: default-clean}] [INFO] [resources:resources {execution: default-resources}] [WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent! [INFO] Copying 2 resources [INFO] [compiler:compile {execution: default-compile}] [INFO] Compiling 39 source files to /home/sebastian/workspaces/janus-devsma/janus/janus-kernel/kernel/target/classes [INFO] [resources:testResources {execution: default-testResources}] [WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent! [INFO] skip non existing resourceDirectory /home/sebastian/workspaces/janus-devsma/janus/janus-kernel/kernel/src/test/resources [INFO] [compiler:testCompile {execution: default-testCompile}] [INFO] Compiling 11 source files to /home/sebastian/workspaces/janus-devsma/janus/janus-kernel/kernel/target/test-classes [INFO] [surefire:test {execution: default-test}] [INFO] Surefire report directory: /home/sebastian/workspaces/janus-devsma/janus/janus-kernel/kernel/target/surefire-reports T E S T S Running org.janusproject.kernel.agent.AgentActivatorTest Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.639 sec Running org.janusproject.kernel.agent.AbstractActivatorAgentTest Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.189 sec Running org.janusproject.kernel.agent.KernelAgentTest Tests run: 7, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 1.473 sec <<< FAILURE! Running org.janusproject.kernel.agent.ProbeManagerTest Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.209 sec Running org.janusproject.kernel.agent.KernelContextTest Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.475 sec Running org.janusproject.kernel.agent.OverallMASTest Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.849 sec Running org.janusproject.kernel.agent.AgentRepositoryTest Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.12 sec Running org.janusproject.kernel.agent.KernelsTest Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.018 sec Running org.janusproject.kernel.agent.KernelEventTest Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.409 sec Running org.janusproject.kernel.agent.AgentLifeStateTest Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.732 sec Running org.janusproject.kernel.agent.AgentTest Tests run: 20, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.324 sec Results : Tests in error: testKillAgentAddress_self(org.janusproject.kernel.agent.KernelAgentTest) Tests run: 68, Failures: 0, Errors: 1, Skipped: 0 [INFO] ------------------------------------------------------------------------ [ERROR] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] There are test failures. $cat janus-kernel/kernel/target/surefire-reports/org.janusproject.kernel.agent.KernelAgentTest.txt Test set: org.janusproject.kernel.agent.KernelAgentTest Tests run: 7, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 1.473 sec <<< FAILURE! testKillAgentAddress_self(org.janusproject.kernel.agent.KernelAgentTest) Time elapsed: 0.106 sec <<< ERROR! java.lang.AssertionError at org.janusproject.kernel.agent.KernelAgent.isSelfKillableNow(KernelAgent.java:204)
at org.janusproject.kernel.agent.Agent.proceedPrivateBehaviour(Agent.java:607)
at org.janusproject.kernel.agent.KernelAgentTest.assertDead(KernelAgentTest.java:60)
at org.janusproject.kernel.agent.KernelAgentTest.testKillAgentAddress_self(KernelAgentTest.java:120)
$ java -version java version "1.6.0_16" Java(TM) SE Runtime Environment (build 1.6.0_16-b01) Java HotSpot(TM) 64-Bit Server VM (build 14.2-b01, mixed mode) BUILDS OK.Creation Date: 2010-04-15 Last update: 2010-05-03 Reported by: Sebastian Rodriguez Assignee: Stéphane Galland | |||
| JANUS-7 | ![]() Finalize holarchy support
Current Janus kernel contains holarchy support via holonic organizations. These organizations should be tested and completed. Holarchy dynamics (addition and removal of child holons) may be terminated because they will be used by our PhD students in short term. Creation Date: 2010-04-14 Last update: 2011-12-24 Reported by: Stéphane Galland Assignee: Sebastian Rodriguez | |||
| JANUS-6 | ![]() Put back TinyMAS features in Janus
Janus performances may be computed and Janus Kernel may use several TinyMAS implementation choices to improve performances. The goal of this request is to allow Janus to run large-scale population of agents as fast-as-possible. Creation Date: 2010-04-14 Last update: 2010-04-23 Reported by: Stéphane Galland Assignee: Stéphane Galland | |||
| JANUS-5 | ![]() Change JIRA's configuration to allow unassigned issues Change JIRA's configuration to allow unassigned issues so that certain tasks, bugs, improvements, etc can be assign later (after discussion, appropriate time, etc) Creation Date: 2010-03-31 Reported by: Sebastian Rodriguez Assignee: Nicolas Gaud | |||
| JANUS-4 | ![]() Rename Holon to Agent As discussed with the core developer, probably the best option is to rename holon to agent in order to avoid misinterpretations and problems of the community. This is a thread to discuss options, effects and the best way to do this. A consensus between the core developers MUST be reached before closing this issue. Regards!Creation Date: 2010-03-31 Last update: 2010-06-05 Reported by: Sebastian Rodriguez Assignee: Sebastian Rodriguez | |||
| JANUS-3 | ![]() Modify HolonAddress to remove hosting kernel(s) I believe that it would be easier to replace the current HolonAddress implementation to have simple a UUID along with other attributes (e.g. human readable name, etc) This would be useful when 1. dealing with composed holons that may "exist" in several hosts. 2. implementing agent migration so that other agents, kernels, network modules, etc do not have an extra overhead to update the hosts. I do not see any particular counter-effects, do you? Creation Date: 2010-03-31 Last update: 2010-06-08 Reported by: Sebastian Rodriguez Assignee: Sebastian Rodriguez | |||
| JANUS-2 | ![]() Full OSGI support
OSGI support provided since 0.2 may be adapted to 0.3 modules. Creation Date: 2010-03-23 Last update: 2010-04-23 Reported by: Stéphane Galland Assignee: Stéphane Galland | |||
| JANUS-1 | ![]() Merge stephane-recast-0.2 with trunk Creation Date: 2010-03-10 Last update: 2010-04-25 Reported by: Sebastian Rodriguez Assignee: Stéphane Galland |



