Current standards on agent communication languages explain communication by changes in the mental states of agents. It is rather a striking issue that none of the popular agent middleware adheres to this semantics in a formal way. Therefore, this paper tries to close the gap between agent communication theory and practice by implementing a logic that is capable of representing agents' beliefs and intentions. An interesting property of this language, named ALC(BI), is that it is a hybrid of modal and description logics. Due to its description logic foundation, it can also be used as an ontology definition language. Thus, it is well suited for agents working on the semantic web. In this paper, a sound and complete decision algorithm as well as other reasoning services for the logic are presented. Finally, the application of the language in a multi-agent development framework is discussed.