Communication among agents requires a common vocabulary to facilitate successful information exchange. One way to achieve this is to assume the existence of a common ontology among communicating agents. However, this is a strong assumption, because agents may experience situations that result in independent evolution of their ontologies. When this is the case, agents need to form common grounds to enable communication. Accordingly, this paper proposes an approach in which agents can add new service concepts into their service ontologies and teach others services from their ontologies by exchanging service descriptions. This leads to a society of agents with different but overlapping ontologies where mutually accepted services emerge based on agents' exchange of service descriptions. Our simulations of societies show that allowing cooperative evolution of local service ontologies facilitates better representation of agents' needs. Further, through cooperation, not only more u...