Information Technology Reference
In-Depth Information
for digital context management. This digital con-
text data forms the basis for the dynamic behavior
of smart spaces (i.e. dynamic interoperability,
see Table 1); context monitoring, reasoning and
adaptation are actors that make decisions based
on enhanced context data. These actors work for
a specific application or a group of applications,
defined as a scope of the application context (i.e.
collaboration interoperability in Table 1).
middleware structure at a high level of abstraction,
based on the assumption that the engineering of
some ”aspects” of a system cannot be hard-coded
into the application logic at design time.
As proposed by Kapitsaki et al. (2009), AOP
is an example of language-based approaches to
context-aware application engineering (as op-
posed to model-driven approaches). Language
based approaches, such as AOP and context-
aware AOP, follow the separation of concerns:
applications are developed with no explicit notion
of the context, while the context is handled as a
first-class entity of the programming language
and separate constructs are used to inject context-
related behavior into the adaptable skeleton. With
respect to the simple AOP, context-aware AOP
proceeds one step further: not only do the aspects
define context-aware adaptation, but their run
time execution is also driven by the context, i.e.,
a particular aspect may or may not be executed
depending on the current context. Another ap-
proach to context-aware application engineering
is the model-driven paradigm, discussed in the
following section.
Context-Aware Adaptation
Depending on where and when an adaptation is
implemented, context-aware adaptation can be
achieved by the means of various software engi-
neering techniques. At design time, the software
adaptation relies on the use of metadata. At run-
time, computational reflection and aspect-oriented
programming serve well to structure and dynami-
cally drive the adaptation process (Issarny et al.
2007). Design time adaptation exploits metadata
for representing both context information (pro-
files) and the choices in application behavior at
a high-level of abstraction (policies). Metadata
specification exploits declarative languages to
accommodate the users of various expertises, to
simplify metadata reuse and modification, and
to facilitate the analysis of potential conflicts
and inconsistencies. Metadata runtime support
is responsible for metadata distribution/updates
and for adaptation policy activation/deactivation/
enforcement, independently of application logic.
In addition to the adoption of metadata, alternative
approaches have been proposed for representing
context and providing context-aware adaptation:
reflective middleware and middleware based on
dynamic aspect-oriented programming (AOP)
paradigm. Reflection and AOP represent possible
solutions to the issue of adapting application
behavior based on context. While reflection is a
programming principle that enhances software ob-
jects with the ability to inspect their own qualifying
properties, AOP is a set of software engineering
techniques, which allows the modeling of the
The Design Methodologies
of Smart Spaces
Due to the fact that UML is the most widely
accepted modeling language, model-driven
approaches for smart space designs have also
emerged. Typically, these approaches introduce a
meta-model which is enriched with context related
artifacts, in order to support context-aware service
engineering. For example, the context-aware per-
vasive service creation framework (Achilleos et al.
2009) includes several artifacts that support smart
space development; a context ontology, a context
modeling language (i.e. a context metamodel) and
a tool environment that assists in context-aware
service creation. The tool environment supports i)
context model definition and validation, ii) context
model-to-model transformation and iii) context
model-to-code generation. The transformation
Search WWH ::




Custom Search