The protocols in agent communication are usually hard wired in the agents
code. Agents created in this way can execute the same protocol when communicating.
In this case, the agents run exactly the same implementation of the same specification
---which may or not stated formally---. This approach is generally a standard
in Closed Multi Agent Systems (CMAS) which are not prepared for establishing
communication with external agents.
Open MAS (OMAS) need to solve the problem of communicating with completely
unknown agents. One way to cope with this issue is to have standards (e.g.
agent languages) and formal specifications that agents can implement in their
own way (e.g. protocols).
Our approach is to specify protocols using the same technology and tools used to specify ontologies. In this way, any agent can read the ontology --- which is a piece of knowledge formally specified --- and implement it by its own means. This may help the agent community to cope with the problem of interoperability.