Although it is possible to develop a MAS from scratch, using a dedicated development platform (middleware) is, in most cases, a much simpler solution. Many different toolkits were created over the years, as shown in [62]. These platforms include tools and functionalities that facilitate the development of MAS. Some of them comply with FIPA standards, especially for messaging and agent management. A list of such platforms is available in [63].
In the field of MAS for power system applications, the Java agent development framework (JADE [64]) is the most popular. It has extensive documentation, third – party plug-ins (e. g., for mobile devices, for BDI agents [65], etc.) and full FIPA compatibility. Among the other existing platforms, some general-purpose examples include AgentBuilder, MadKit, and ZEUS. Some others may be of interest for specific users: NetLogo enables beginners to get started with MAS programming, JANUS simplifies holonic agents building, Cougaar enables very large-scale simulations, JADEX proposes a framework for developing intelligent agents according to the BDI model, JACK for autonomous agents, etc. Most of these platforms are developed in Java, which enables cross-platform (i. e., operating systems) compatibility, but other languages can be used.
Because of the multiple definitions and applications of MAS, most of these platforms are quite different, and a careful selection needs to be operated. This selection can be done according to the following criteria: documentation availability, compliance with standards, performance [66], scalability, built-in development tools, GUI friendliness, etc.