reuse at a higher level of abstraction than source code, i.e., reusable designs
for common software functions—for security functions in information
systems and software applications was first proposed in the mid-2000s,
and was soon the focus of a number of books [327], websites [328], and