You also may use CPNTOOLS to model agents & networks
In my work I made semantic agents embedded in webservices with SOAP/REST (protocol) and OWL ontologies (memory) to respect W3C recommendations.
You may also respect FIPA recommendations and agent communnication language (ACL) & protocol for physical agents. Many ACL exist too but becareful if they are kinds of standard or not.
JADE is a good solution if you want to have a distributed architecture in order to run MAS on several computers. And the langage is JAVA. So it's easy to include databases.
I used this tool for simulating large ISP networks (82 routers) in "ACTIDS - An Active Strategy For Detecting And Localizing Network Attacks" research.
In that work, we also implemented agents within the simulator (written in C++) which sent packets from one agent to another.
Overall, I think that the Omnet++ simulator was very helpful, and performed exactly as I needed it.