Automata theory and formal languages.- Principles and semantics of programming languages.- Theories of concurrency, mobility and reconfiguration.- Logics and their applications.- Software architectures and their models, refinement and verification.- Relationship between software requirements, models and code.- Static and dynamic program analysis and verification.- Software specification, refinement, verification and testing.- Model checking and theorem...