Software Architecture for Extensible Context-aware Systems
Jongmyung Choi
Dept. of Computer Eng, School of Information Eng., Mokpo National University,
61 Cheonggye, Muan-gun, Jeonnam, 534-729, Korea
jmchoi@mokpo.ac.kr
Abstract
This paper is about a software architecture, named
WCAM (Watcher, Controller, Action, and Model),
which reduces the complexity of context-aware systems
by decoupling of concerns. We first introduce general
requirements of context-aware systems. Next, we
present our architecture pattern, WCAM. Watcher
perceives external environment, and Controller
manages the cooperation between Watcher and Model.
Model gathers contextual information, interpret the
information, and generate contexts for system. Action
manages services that are related with contexts.
1. Introduction
The software architecture is very important in
system development because it is the backbone of
software systems. It influences all over the parts of a
system, and it costs a lot when the architecture is
changed after design or implementation. Therefore, it
is important to determine software architecture
carefully.
In the industry and the academia, they expect that
context-aware systems are going to be popular because
they provide usefulness and easiness in usage to end-
users. These systems perceive the change on external
environment or internal state, understand the current
context, and provide services that are in accordance
with the context. Context-aware systems are user-
friendly because they understand a user’s situation,
intention, and preference.
Context-aware systems are much more complex
than traditional systems. Context-aware systems
should be modular to reduce complexity of the systems
and to increase extensibility. As the systems are user-
friendly, they should support dynamic configurability
and extensibility. It is because users’ preference and
intension change over time.
For these needs, we propose a modular, extensible,
and dynamically configurable software architecture. It
is WCAM (Watcher, Controller, Action, and Model)
architecture. It decomposes a context-aware system
into four different and independent components.
Watcher perceives the external environment, and
Controller manages the cooperation between Watcher
and Model. Model gathers contextual information,
interpret the information, and generate contexts for
system. Action is a set of services and context adapters.
The remainder of the paper is organized as follows.
In Section 2, we discuss other works that are closely
related to our work. Then we introduce general
requirements of context-aware systems in Section 3.
After that, in Section 4 we present our WCAM
architecture and its subcomponents. In Section 5, we
show how we apply WCAM architecture to MyGuide
system. Finally, we reveal the conclusions of our work
in Section 6.
2. Related Works
There have been researches on software architecture
and design patterns [5] for context-aware systems. The
representatives are ECA (Event-Control-Action)
architecture [1], Multi-agent architecture [2], Broker
architecture [3], and Blackboard architecture [4].
ECA architecture [1] reduces the complexity by
decoupling the concerns of context and services
triggered by the events. It is good for event-driven
systems.
Harry Chen [3] proposes the broker architecture for
context-aware systems. The context broker provides “a
centralized model of context that can be shared by all
devices, services, and agents in the space. “ It gathers
contextual information, interprets the information, and
detects and resolves inconsistent knowledge.
Terry Winograd [4] proposes the blackboard
architecture for context-aware systems. This
architecture focuses on the data rather than the process.
International Conference on Convergence and Hybrid Information Technology 2008
978-0-7695-3328-5/08 $25.00 © 2008 IEEE
DOI 10.1109/ICHIT.83
811
International Conference on Convergence and Hybrid Information Technology 2008
978-0-7695-3328-5/08 $25.00 © 2008 IEEE
DOI 10.1109/ICHIT.2008.236
811