On the Formal Semantics of Speech-Act Based Communication in an Agent-Oriented Programming Language