
 
countermeasures thereby addressing host, network 
and application security.  
This paper describes how security architectural 
patterns lack of a comprehensive and complete well-
structured documentation that conveys essential 
information of its logical structure, run-time 
behaviour, deployment-time and monitoring 
configuration, constraints, elements, and so on. In 
consequence, we will propose an alternative way for 
describing security architectural patterns from 
viewpoints and views, and therefore we can add 
more information about the pattern in the template 
used for defining patterns.  
The remainder of this paper is organized as 
follows. Section 2 will discuss the importance of 
software architectures and the two most important 
concepts associated with software architecture 
documentation: view and viewpoint; In Section 3, 
we will define security patterns and what security 
architectural patterns are; In section 4, we will 
describe the viewpoint template defined by the IEEE 
1471-2000 standard; In section 5, an overview of the 
IEEE 1471-2000 compliant Security Subsystem 
Design viewpoint’s template definition will be 
shown and we will discuss an example of security 
architectural pattern. Finally, we will put forward 
our conclusions and future work.  
2 SOFTWARE ARCHITECTURE  
Software architecture has emerged as an important 
sub-discipline of software engineering, particularly 
in the realm of large system development. There are 
many definitions of software architecture (Garlan 
and Anthony 2002; Bass, Clements et al. 2003),  but 
what these definitions have in common is their 
emphasis on architecture as a description of a 
system, as a sum of smaller parts, and how those 
parts relate to and cooperate with each other to 
perform the work of the system.  
The architecture must be documented to 
communicate how it achieves properties such as 
performance, reliability, security, or modifiability. 
Fundamentally, architecture documentation can 
serve three different functions (Bachmann, Bass et 
al. 2000): a) A means of education. Typically, this 
means introducing people to the system. b) A 
vehicle for communication among stakeholders. A 
stakeholder is someone who has a vested interest in 
the architecture. c) A basis for system analysis. To 
support analysis, documentation must provide the 
appropriate information for the particular activity 
being performed. 
3 SECURITY PATTERNS 
Security patterns are proposed as a means of 
bridging the gap between developers and security 
experts. Security patterns are intended to capture 
security expertise in the form of worked solutions to 
recurring problems. The benefits of using patterns 
are: they can be revisited and implemented at 
anytime to improve the design of a system; less 
experienced practitioners can benefit from the 
experience of those more fluent in security patterns; 
they provide a common language for discussion, 
testing and development; they can be easily 
searched, categorized and refactored; they provide 
reuseable, repeatable and documented security 
practices; they do not define coding styles, 
programming languages or vendors (Berry, Carnell 
et al. 2002). 
An architectural pattern expresses a fundamental 
structural organization schema for software systems. 
It provides a set of predefined subsystems, specifies 
their responsibilities, and includes rules and 
guidelines for organizing the relationships between 
them (Buschmann, Meunier et al. 1996).  
We define security architectural patterns at 
several levels of detail depending on the different 
potential consumers who see different 
characteristics, functionalities, connections and 
behavior of a same pattern. If we define security 
patterns from different perspectives, we are adding 
more relevant information to the template used for 
describing security patterns. 
4 VIEWPOINTS APPROACH 
We attempt to extend the template by adding new 
information from the stakeholders’ viewpoint 
following as a reference the “4+1” view model 
(Kruchten 1995). 
Obviously, since the 4+1 views preceded IEEE 
1471, they do not meet the definition of views as 
specified in the standard. The 4+1 views describe a 
collection of representations that provide guidance 
for software architects. The viewpoints we discuss 
are within the spirit of the 4+1 views. 
ANSI/IEEE 1471-2000 (IEEE 2000) provides 
guidance for choosing the best set of views to 
document, by bringing stakeholder interests to bear. 
It prescribes defining a set of viewpoints to satisfy 
the stakeholder community. For describing 
viewpoints and views, IEEE 1471 standard defines a 
set of elements or sections (template) that are 
showed in (IEEE 2006) and that we will see later. 
SECRYPT 2006 - INTERNATIONAL CONFERENCE ON SECURITY AND CRYPTOGRAPHY
420