restricted to authorization and access control in most
cases (BEA White Paper, url; Object Management
Group, url). The potential use of Frameworks is
found in developing secure services (Wilson et. al,
2003; Sanchez, 2007 ). In (Sampemane et. al, 2004)
a framework that uses ontologies and the Common
Criteria classification of security requirements are
described. This is intimately related with the main
approach of this paper, where the use of ontology
facilitates reasoning about the requirements and also
reusability of goal and domain knowledge across a
large body of software developers. From a different
perspective there is the Agent paradigm, which is
especially well suited for highly distributed
environments such as AmI scenarios thanks to
properties like: autonomy, interaction, context
awareness and goal-oriented nature. But in case of
modelling security aspects are much more limited
(Boudaoud et. al, 2002) because an agent is an
independent entity and many security solutions can
not be represented as agents.
The concept of security pattern was introduced to
support the system engineer in selecting appropriate
security or dependability solutions. However, most
security patterns are expressed in textual form, as
informal indications on how to solve some (usually
organizational) security problem (IBM's Security
Strategy team, 2004; Yoderand et. al, 2000 ). Some
of them make use of more precise representations
based on UML diagrams (E. B. Fernandez, 2000).
Perhaps the first and the most valuable contribution
as pioneer in security is the work from Joseph Yoder
and Jeffrey Barcalow (Yoderand et. al, 2000), a
natural evolution of this work is presented by
Romanosky in (S. Romanosky, 2001). Eduardo B.
Fernandez in his work about authorization patterns
(E. B. Fernandez, 2000) proposes a further step in
the abstraction of patterns. In (Fernandez et. al,
2001) authors propose the decomposition of the
system into hierarchical levels of abstraction.
Other authors propose other alternatives to
provide formal characterizations of patterns. The
idea of precisely specifying a given class using class
invariants and pre- and post-conditions
(Soundarajan, e. al, 2006). Also Mikkonen in (T.
Mikkonen, 1998) focus his approach on behavioural
properties. In this approach data classes are used to
model role objects, but guarded actions (in an action
system) are used to model roles methods.
3 SOME CONSIDERATIONS OF
S&D IN AMI SCENARIOS
The Information Society Technology Advisory
Group vision is that AmI applications will be
influenced by the computational, physical and
behavioural contexts that surround the user (for
instance, because of resource availability and
security or privacy requirements). The concepts of
system and application as we know them today will
disappear, evolving from static architectures with
well-defined pieces of hardware, software,
communication links, limits and owners, to
architectures that will be sensitive, adaptive,
context-aware and responsive to users’ needs and
habits. AmI ecosystems offer highly distributed
dynamic services in environments that will be
heterogeneous, large scale and nomadic, where
computing nodes will be omnipresent and
communications infrastructures will be dynamically
assembled.
AmI environments impose some constraints in
the connectivity framework, power computing as
well as energy budget. This makes of AmI a
significantly different case within distributed
systems. The combination of heterogeneity,
dynamism, sheer number of devices, along with the
growing demands placed on software security and
dependability (S&D), make application development
vastly more complex. Also, the provision of security
and dependability for applications becomes
increasingly difficult to achieve with the existing
security engineering mechanisms and tools.
In the new AmI scenarios, not only systems as a
whole but also individual applications running in or
supported by those systems will have to adapt to
dynamic changes to hardware and software, and
even firmware configurations, to unpredicted and
unpredictable appearance and disappearance of
devices and software components. In other words
applications must be able to adapt dynamically to
new execution environments. As a consequence pre-
defined trust relationships between components,
applications and their system environments can no
longer be taken for granted. Therefore, the increased
complexity and the unbounded nature of AmI
applications make it impossible, even for the most
experienced and knowledge-able S&D engineers, to
foresee all possible situations and interactions which
may arise in AmI environments and therefore create
suitable solutions to address the users’ security and
dependability requirements. Additionally S&D
engineers will be faced with pieces of software,
communication infrastructures and hardware de-
ICEIS 2009 - International Conference on Enterprise Information Systems
50