text objects and binds objects (including services)
to these contexts, throught ContextAwarenessMech-
anisms (Sheng and Benatallah, 2005). This makes
possible, for example, to easily identify two services
that might interfere with the other’s functioning.
However, ContextUML does not covers aspects
such as physical aspects of the system, and some of
its contributions can be further extended with contri-
butions from other research projetc.
2.2 Extending ContextUML: Other
Complementary Works
From (May, 2003), we complemented ContextUML
(Sheng and Benatallah, 2005) with the notion of Tan-
gible Objects. These are objects that have a represen-
tation both on the physical world (its physical object)
and on the virtual/digital world (the application). The
interaction of the Tangible Objects in the system and
with the physical world is done throught the use of
Spatial Diagrams (Ingstrup, 2003). These diagrams
are maps featuring the location of relevant physical
and tangible objects in the environments, areas of cov-
erage (sensors coverage for example), etc.
While (Sheng and Benatallah, 2005) and (May,
2003) deal with the static views of the environment,
the aspects related to the dynamic views of the sys-
tems are left uncovered. These includes time re-
strictions, context evolution and changes on services’
availability, etc. Some contributions to cover the
dynamic aspects of the applications in the environ-
ment come from (Ingstrup, 2003) (Castro et al., 2006)
(Derntl and Hummel, 2005) (Chung and Nixon, 1995)
and (Damasceno et al., 2006). The goal when deal-
ing with the dynamics of the system, is not to model
all the different actions and situations that can be con-
templated for the system. Instead, the designer should
worry about the situations he or she considers that
should not happen. We take this approach because
we do not want to model all the different applications
in the environment, but how they can work togheter
and the results of those interactions.
These solutions are presented in seven steps, but
this does not imply the need to follow the same order-
ing. These steps are to be applied using the contribu-
tions from ContextUML, but considering some mod-
ifications on its metamodel in order to better model
the relation between services and operations. Figure
1 shows this new metamodel. The extensions made to
(Sheng and Benatallah, 2005) are in different color.
Each step presents one or some contribution from
related workd and how they contribute to solve the
limitations from their own solutions. To illustrate
each step, a case study was chosen.
Service
Operation
Message
Part
CAObject CAMechanism
ContextBinding ContextTrigger
ActionContextConstraint
Context
AtomicContext CompositeContext
ContextSource
ContextService
ContextServiceComunity
1
0..*
0..*
0..1
0..*
0..1
1..* 0..*
1..*
1..*
1..*
1..*
0..* 1..*
0..*
0..*
0..* 1..*
1..*
0..*
1..*
0..*
Breakdown
PropagationStrategy
Figure 1: MARVIn’s metamodel.
3 CASE STUDY: INSTANT
MESSENGER APPLICATION
This application is supposed to locate the addressee’s
location for a message so it can be forwarded to the
instant messenger client application closer to the user
at the time. By keeping track of the user’s location,
there is no need for the user to log-in and logout of a
client application everytime it moves around the envi-
ronment.
The example application is constructed coordinat-
ing the following type of services available in the en-
vironment: a Client application that acts as an inter-
face to the user; a Message Router capable os storing
a message and forwarding to the addressee once its
location is known; a Locator service capable of pro-
viding a target’s location; and Authenticator service
so user’s can gain access to the other services; an En-
trance service which keeps track of users entering and
leaving the environment.
All this services can are independent (their imple-
mentation) from the others, but they need to share in-
formation among them to work properly. On this sec-
tion the MARVIn’s steps are applied to model how
services and devices inside a research laboratory are
coordinated to provide an instant messenger applica-
tion. Note that the resources originally provided by
ContextUML (Sheng and Benatallah, 2005) are not
illustrated here.
1. Creation of a graph of goals for identifica-
tion of conflicting requirements and emergent
behaviours. The instant messenger application
modeled here is supposed to be precise, meaning
that messages sent to a user are supposed to be re-
ceived by the closest computer executing a client
MARVIN - Modeling Environments with Ubiquitous Computing
263