This modern, advanced textbook reviews modal logic, a field which caught the attention of computer scientists in the late 1970's. The development is mathematical; prior acquaintance with first-order logic and its semantics is assumed, and familiarity with the basic mathematical notions of set theory is required. The authors focus on the use of modal languages as tools to analyze the properties of relational structures, including their algorithmic and algebraic aspects. Applications to issues in logic and computer science such as completeness, computability and complexity are considered.