Software engineering has over the years been applied in many different fields, ranging from telecommunications to embedded systems in car and aircraft industry as well as in production engineering and computer networks. Foundations in software technology lie in models allowing to capture application domains, detailed requirements, but also to understand the structure and working of software systems like software architectures and programs. These models have to be expressed in techniques based on discrete mathematics, algebra and logics. However, according to the very specific needs in applications of software technology, formal methods have to serve the needs and the quality of advanced software engineering methods, especially taking into account security aspects in Information Technology. This book presents mathematical foundations of software engineering and state-of-the-art engineering methods in their theoretical substance in the step towards practical applications to examine software engineering techniques and foundations used for industrial tasks. The contributions in this volume emerged from lectures of the 25th International Summer School on Engineering Theories of Software Intensive Systems, held at Marktoberdorf, Germany from August 3 to August 15, 2004.