If every human being spoke the same kind of language, there would be several less misunderstanding in the world. The problem with software engineering in normal way is that there are often slips in communication which mean that what we think we've told an agent and what we've really told it are 2 different things. Of course, one way to reduce this is to indicate and agree upon some concrete rules for the language we use to represent information. To define a language, we ought to specify the syntax of the language and the semantics. To specify the syntax of a language, we might say what symbols are permitted in the language and what are legal constructions (sentences) using those symbols. To indicate the semantics of a language, we have to say how the legal sentences are to be read, for example, what they mean. If we choose a particular well defined language and stick to it, we are using a logical representation.
Certain logics are very famous for the representation of information and in terms range of their expressiveness. More expressive logics let us to translate more sentences from our natural language (like English) into the language defined by the logic.