This book comprehensively presents a novel approach to the systematic security hardening of
software design models expressed in the standard UML language. It combines model-driven
engineering and the aspect-oriented paradigm to integrate security practices into the early
phases of the software development process. To this end a UML profile has been developed for
the specification of security hardening aspects on UML diagrams. In addition a weaving
framework with the underlying theoretical foundations has been designed for the systematic
injection of security aspects into UML models. The work is organized as follows: chapter 1
presents an introduction to software security model-driven engineering UML and
aspect-oriented technologies. Chapters 2 and 3 provide an overview of UML language and the main
concepts of aspect-oriented modeling (AOM) respectively. Chapter 4 explores the area of
model-driven architecture with a focus on model transformations. The main approaches that are
adopted in the literature for security specification and hardening are presented in chapter 5.
After these more general presentations chapter 6 introduces the AOM profile for security
aspects specification. Afterwards chapter 7 details the design and the implementation of the
security weaving framework including several real-life case studies to illustrate its
applicability. Chapter 8 elaborates an operational semantics for the matching weaving processes
in activity diagrams while chapters 9 and 10 present a denotational semantics for aspect
matching and weaving in executable models following a continuation-passing style. Finally a
summary and evaluation of the work presented are provided in chapter 11.The book will benefit
researchers in academia and industry as well as students interested in learning about recent
research advances in the field of software security engineering.