{"id":14967693,"url":"https://github.com/enflexit/jade","last_synced_at":"2025-10-25T20:32:04.652Z","repository":{"id":110510885,"uuid":"420969901","full_name":"EnFlexIT/JADE","owner":"EnFlexIT","description":"This repo contains the original JADE code from the SVN of Telecom Italia","archived":false,"fork":false,"pushed_at":"2024-03-15T11:18:45.000Z","size":104267,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-31T10:25:41.505Z","etag":null,"topics":["agent","agent-systems","agents","jade","jade-agents","jade-framework","jade-platform","multi-agent-systems"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-2.1","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/EnFlexIT.png","metadata":{"files":{"readme":"README","changelog":"ChangeLog","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-10-25T10:02:16.000Z","updated_at":"2024-04-11T17:54:08.000Z","dependencies_parsed_at":"2024-03-15T12:45:29.708Z","dependency_job_id":null,"html_url":"https://github.com/EnFlexIT/JADE","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EnFlexIT%2FJADE","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EnFlexIT%2FJADE/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EnFlexIT%2FJADE/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EnFlexIT%2FJADE/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EnFlexIT","download_url":"https://codeload.github.com/EnFlexIT/JADE/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238207646,"owners_count":19434095,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent","agent-systems","agents","jade","jade-agents","jade-framework","jade-platform","multi-agent-systems"],"created_at":"2024-09-24T13:38:28.299Z","updated_at":"2025-10-25T20:32:02.458Z","avatar_url":"https://github.com/EnFlexIT.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\nREADME file for JADE, Version $Name$\n\nINTRODUCTION\n============\nThis package contains a Java framework to build agent-based systems\naccording to FIPA standard specifications.\n\nLICENSE\n=======\nsee file License.\n\nFEEDBACK\n=======\nAs you know already, this is still an on-going project. \nWe are still working on the framework and new versions will be distributed \nas soon as available.\nYour feedback as users is very important to us. Please, if you have new \nrequirements that you would like to see implemented or if you have examples \nof usage or if you discover some bugs, send us information.\nCheck the website http://jade.tilab.com/\nfor how to report bugs and send suggestions.  \n\nSYSTEM REQUIREMENTS\n===================\nTo build the framework a complete Java programming environment is\nneeded. At least a Java Development Kit version 1.4 is required. \n\n\nKNOWN BUGS\n==========\n  see http://jade.tilab.com/  ('Bugs' page)  for the full list of reported bugs\n\n\nCONTACT\n=======\nFabio Bellifemine - TILab S.p.A.\ne-mail: bellifemine@tilab.com \n\n\nINSTALLATION AND TEST\n==============================\nYou can download JADE in source form and recompile it yourself, \nor get the pre-compiled binaries (actually they are JAR files). \nThe following is an excerpt from the programmer's guide.\n\n5.1 Software requirements\n=========================\nThe only software requirement to execute the system is the Java Run Time \nEnvironment version 1.4\nFurther to the Java Compiler version 1.4, to build the system, the JavaCC \nparser generator (version 3.2 of JavaCC since JADE 3.2),\nthe IDL to Java translator idltojava \n(available from the Sun Developer Connection) are also needed. However, \npre-built IDL stubs and Java parser classes are included with the JADE \nsource distribution such that the Java compiler is sufficient to build \nthe full system, finally the ANT program to compile the source code of \nJADE with build.xml file, ANT is available from http://jakarta.apache.org.\n\n5.2 Getting the software\n========================\nAll the software is distributed under the LGPL license limitations. \nIt can be downloaded from the JADE web site \nhttp://jade.tilab.com/ Five compressed files are available:\n1. the source code of JADE\n2. the source code of the examples\n3. the documentation, including the javadoc of the JADE API and \nthis programmer's guide\n4. the binary of JADE, i.e. the jar files with all the Java classes\n5. a full distribution with all the previous files\n\n\n5.3 Running JADE from the binary distribution\n=============================================\nHaving uncompressed the archive file, a directory tree is generated whose \nroot is jade and with a lib subdirectory. This subdirectory contains some \nJAR files that have to be added to the CLASSPATH environment variable.\nHaving set the classpath, the following command can be used to launch the \nmain container of the platform. The main container is composed of the DF \nagent, the AMS agent, and an RMI registry (that is used by JADE for \nintra-platform communication).\n        java jade.Boot [options] [Agent list]\nAdditional agent containers can be then launched on the same host, or on \nremote hosts, that connect themselves with the main container of the Agent \nPlatform, resulting in a distributed system that seems a single Agent \nPlatform from the outside.\nAn Agent Container can be started using the command:\n        java jade.Boot -container [options] [Agent list]\n\nAn alternative way of launching JADE is the following command:\n        java -jar lib\\jade.jar -nomtp [options] [Agent list]\n\nsee the Administrator's guide for the list of \noptions available from the command line\n\n\n5.3.2 Launching agents from the command line\n============================================\nA list of agents can be launched directly from the command line. As described\nabove, the [Agent list] part of the command is a sequence of strings separated\nby a space.\nEach string is broken in two parts separated by a colon ':' character. The \nsubstring before the colon is taken as the agent name, whereas the substring \nafter the colon is the name of the Java class implementing the agent. This \nclass will be dynamically loaded by the Agent Container.\nFor example, a string Peter:myAgent means \"create a new agent named Peter \nwhose implementation is an object of class myAgent\". The name of the class \nmust be fully qualified, (e.g. Peter:myPackage.myAgent) and will be searched \nfor according to CLASSPATH definition.\n\n5.3.3 Example\n=============\nFirst of all set the CLASSPATH to include the JAR files in the lib \nsubdirectory and the current directory. For instance, for Windows 9x/NT use \nthe following command:\nset CLASSPATH=%CLASSPATH%;.;c:\\jade\\lib\\jade.jar;\n                c:\\jade\\lib\\jadeTools.jar; c:\\jade\\lib\\Base64.jar;\n\t\tc:\\jade\\lib\\http.jar\nExecute the following command to start the main-container of the platform. \nLet's suppose that the hostname of this machine is \"kim.cselt.it\"\nprompt\u003e java jade.Boot -gui \nExecute the following command to start an agent container on another machine,\nby telling it to join the AgentPlatform, called \"facts\" running on the host \n\"kim.cselt.it\", and start one agent (you must download and compile the \nexamples agents to do that): \nprompt\u003e java jade.Boot -host kim.cselt.it -container\n          sender1:examples.receivers.AgentSender \nwhere \"sender1\" is the name of the agent,  \nwhile examples.receivers.AgentSender is the code that implements the agent.\nExecute the following command on a third machine to start another agent \ncontainer telling it to join the Agent Platform, called \"facts\" running on \nthe host \"kim.cselt.it\", and then start two agents. \nprompt\u003e java jade.Boot -host kim.cselt.it -container \n          receiver2:examples.receivers.AgentReceiver \n          sender2:examples.receivers.AgentSender\nwhere the agent named sender2 is implemented by the class \nexamples.receivers.AgentSender, while the agent named receiver2 is \nimplemented by the class examples.receivers.AgentReceiver.\n\n5.4 Building JADE from the source distribution\n==============================================\nIf you downloaded the source code of JADE, you can compile it by using the \n\"ant\" program, a platform independent version of make.\nThe file \"build.xml\" in the JADE root directory is the input file for ant. \nThe \"ant\" program must \nbe installed on your computer, it can be downloaded from the Jakarta Project \nat the Apache web site: \u003chttp://jakarta.apache.org/\u003e.\n\n5.4.1 Building the JADE framework\n=================================\nJust type\nant jade\nyou run ant on build.xml file in the root directory.\nYou will end up with all JADE classes in a classes subdirectory. You can add \nthat directory to your CLASSPATH and make sure that everything is OK by \nrunning JADE, as described in the previous section.\n\n5.4.2 Building JADE libraries\n============================\nType:\nant lib\nThis will remove the content of the classes directory and will create some \nJAR files in the lib directory. These JAR files are just the same you get \nfrom the binary distribution. See section 5.3 for a description on how to \nrun JADE when you have built the JAR files. \nNOTE: jade/lib/Base64.jar is only needed if you want to use the support for JADE \n      serialization and trasmitting sequences of bytes within an ACLMessage. In all\n      other cases, it is not necessary adding it to CLASSPATH .\n\n5.4.3 Building JADE HTML documentation\n======================================\nType:\nant doc\nYou will end up with Javadoc generated HTML pages, integrated within the \noverall documentation. Beware that the Programmer's Guide is a PDF file that \ncannot be generated at your site, but you must download it (it is, of course,\nin the JADE documentation distribution).\n\n5.4.4 Building JADE examples and demo application\n=================================================\nIf you downloaded the examples/demo archive and have unpacked it within the \nsame source tree, you will have to set your CLASSPATH to contain either the \nclasses directory or the JAR files in the lib directory, depending on your \nJADE distribution, and then type:\nant examples\nIn order to compile the Jess-based example, it is necessary to have the JESS \nsystem, to set the CLASSPATH to include it and to set JESS_HOME. The example \ncan be compiled by typing:\nant jessexample\n\n5.4.5 Cleaning up the source tree\n=================================\nIf you type:\nant clean\nyou will remove all generated files (classes, HTML pages, JAR files, etc.) \nfrom the source tree. If you use makefiles, you will find some other make \ntargets you can use. Feel free to try them, especially if you are modifying \nJADE source code, but be aware that these other make targets are for internal \nuse only, so they have not been documented.\n\n5.6 IIOP support and inter-platform messaging\n=============================================\nJADE supports FIPA compliant IIIOP communication for inter-platform agent \ncommunication. This mechanism is used both to communicate with another JADE \nplatform and with a non-JADE platform. JADE achieves complete transparency \nin message passing even when multiple agent platforms are involved, so agent \ndevelopers need not worry about IIOP: JADE selects local Java events, RMI or \nCORBA/IIOP automatically on behalf of the application.\nThe only issue application developers and platform administrators must be \naware-of is agent naming. An agent identifier, in fact, must include a set \nof URL representing the addresses where it can be contacted.\nEvery JADE agent inherits the addresses of its platform and its AID \n(including the addresses) is fully generated automatically by JADE when \nmessages are sent externally to the platform. \nBecause most of the CORBA ORB implementations (including the one used by \nJADE) do not yet allow to choose meaningful words as object keys, JADE \nresorts to the alternate naming scheme, adopted also by FIPA, \nusing OMG standard stringified IOR as agent addresses. A valid agent address \ncan be both an URL like iiop://fipa.org:50/acc and an IOR as \nIOR:000000000000001649444c644f4)\nThe IOR-based representation and the URL-based one are exactly equivalent, \nthe URL being far more readable for humans than the IOR. JADE generates \nIOR-based addresses but can also deal with URL-based ones as long as the URL \ncontains only printable characters (i.e. has been created by an ORB allowing \nexplicit object key assignment) that can be parsed by a FIPA-compliant parser.\nWhen starting up, JADE platform prints its IOR both on the standard output \nand in a ASCII file named JADE.IOR, located in the current directory; the \nURL for the platform (containing a binary string in the file part) is also \nwritten to the file JADE.URL in the current directory. Every agent address \nautomatically includes this platform IOR that should be distributed to remote \nplatforms in order to allow remote agents to send messages to your JADE \nagents. The distribution mechanism is not specified by FIPA and is \napplication dependent. \n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fenflexit%2Fjade","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fenflexit%2Fjade","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fenflexit%2Fjade/lists"}