Part I Architectures, Design and Interfaces Incremental Software Construction with Refinement Diagrams; R.-J. Back. Service-oriented Systems Engineering: Specification and Design of Services and Layered Architectures; M. Broy. Interface-based Design; T.A. Henzinger, L. de Alfaro. The Dependent Delegate Dilemma; B. Meyer.-
Part II System and Program Verification, Model Checking and Theorem Proving Formalizing Counterexample-driven Refinement with Weakest Preconditions; T. Ball. A Mechanically Checked Proof of a Comparator Sort Algorithm; J Strother Moore, B. Brock. Keys in Formal Verification: Abstractions for Progress; A. Pnueli. On the utility of canonical abstraction; S. Sagi et al.-
Part III Process Algebras and Experimental Calculi Process Algebra: a Unifying Approach; T. Hoare. Computation Orchestration; J. Misra. A Tree Semantics of an Orchestration Language; T. Hoare et al.-
Part IV Security, System Development and Special Aspects Model Driven Security; D. Basin et al. Some Challenges for System Development: Reactive Animation, Smart Play-Out and Olfaction; David Harel.
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.
System and Program Verification