possible services or functions that could serve a user
in same situation.
The key points are that context could be specific
for each user and for each situation, so it is not
reasonable to put context properties into application
models (business logic). However, context could be
represented as a model which contains context
information.
The OMG has stimulated the use of Model
Driven Architecture-MDA (OMG-MDA, 2001) to
define an approach to software development based
on modelling and techniques of mapping and
transformation to achieve implementation on
specific platforms.
In this paper a PIM with context or CPIM
(Contextual Platform Independent Model) improves
models with context and the CPSM (Contextual
Platform Specific Model) achieves contextualized
execution. We suggest a merging technique as the
most appropriate operation to integrate context
models with application models. Separating these
concerns in different models will provide model and
context reusability and interoperability to application
development.
From another point of view, representing context
by models leads to a design of adaptive systems
through MDD.
This paper is organized as follow. Section 2
briefly recalls and discusses the notion of context
and the domain of context-aware application.
Section 3 introduces our general approach of
context-aware model driven development by
emphasizing a merging operation as a main concept
for the contextualization of MDD. In section 4 we
suggest web services as a target platform to build
context-aware applications. Finally, section 5
concludes this paper and discusses future works.
2 CONTEXT AND
CONTEXT-AWARE
APPLICATIONS
Firstly, we will introduce a non-computational view
about context. For a conversation to make sense, two
or more people have to be talking about the same
issue. This issue is the context of the conversation. If
another person arrives, he or she must have to know
the context of the conversation to be able to talk
about the same issue. If the participants of the
conversation talk about different issues then this
conversation will be only noise without any sense.
The context is the element that provides relevant
information to a conversation.
The idea of context-aware applications is to
provide an effective system response using user
behaviour information and adapt the system to
provide the solution desired.
Building context-aware applications is a real
challenge. Managing context is difficult because
there is no pattern about how to capture context,
abstract its information, model or use it.
So in the current context-aware systems, the
context is usually represented inside the application
model (business logic). The designer takes the user
context provided by some context provider and
integrates it into the application code. One problem
of this approach is that it covers only one kind of
context, while generally context is not something
static and it could change in different situations:
different behaviours, users, devices, environments,
etc.
3 APPLYING CONTEXT IN
MODEL DRIVEN
DEVELOPMENT
The Model Driven Development uses a set of
patterns to create, implement, deploy and reuse
systems by models. This paradigm uses different
layers with different abstraction levels to represent
the application by model. The OMG`s MDA (Model
Driven Architecture) (OMG-MDA, 2001) defines
three principal layers.
- Computational Independent Model (CIM),
without system structure details.
- Platform Independent Model (PIM), without
platform details.
- Platform Specific Model (PSM), specifies
execution platform requirements.
These layers target different levels of
abstraction. The essence of MDA is the
transformation capability of different models (Lopes
et al., 2005). The MDA models are based on a
metamodel that defines the model language and the
metamodels are based on a meta-metamodel. Model
transformations are defined by transformation rules
using transformation languages (Bézivin et al.,
2004).
As said before, usually context-aware
applications combine context characteristics with the
application logic. It augments the level of
complexity of the application, because business
logic is mixed with user context. Another problem
CONTEXT-AWARE MODEL DRIVEN DEVELOPMENT: APPLICATIONS TO WEB SERVICES PLATFORM
479