Logic is traditionally defined as the study of formal aspects of valid reasoning, but today many logicians see logic as a more general study of formal systems and their applications. The conceptual frameworks and tools developed by pure research in modern logic have found many applications in diverse disciplines studying formal languages and systems, e.g., software engineering and computational linguistics.