stores such as their address, their location inside the
shopping centre (Indoor position) – using the map
pointed with a dashed ellipse. This Figure also
shows an Outdoor map, which indicates the location
of the shopping centre in a global map. Both
examples (Figure 1 and Figure 2) reveal how the
same GIS requirements may be present in
applications of different nature, contemplating many
occurrences during one execution of the same
application.
The inclusion of this new requirement (indoor
representation) will create scattered and tangled
concerns in the application among its core or base
concerns. To make matters worse, adding other
concerns increases the application complexity
compromising its maintenance. (Section 5 describes
how to deal with these new requirements in more
detail).
Figure 1 illustrates how the introduction of new
requirements might impact in the application’s
structure. This Figure shows a UML sequence
diagram for “Show Store”, showing information
about a store. This is taken from the Web-GIS
application Maps@Web It contains tangled
behaviour as a consequence of composing several
GIS requirements such as Indoor Representation,
Location Sensing and Points of Interest. We can see
that the behaviour of each requirement is scattered
along the sequence diagram and crosscuts other
behaviour. For example, Location-aware crosscuts
Indoor and Outdoor representation, due to the
current user position that can be either in a global
map or into a specific building. Our goal is to
propose an approach for isolating and then
modelling these GIS concerns.
The concept of aspect was introduced by Aspect-
Oriented Programming (AOP) to modularize
concerns that could not be modularized using object-
orientation (Filman et al, 2005). Concerns may be
functional or non-functional properties that represent
needs of the system. In other words, a concern
comprises any coherent set of requirements, e.g., all
requirements referring to a particular functionality
(Baniassad et al, 2006). Crosscutting concerns are
concerns that cut across other concerns, creating
tangled and scattered representations of the program
that are difficult to understand and maintain (Rashid
et al, 2003). Aspect-Oriented Software Development
(AOSD) (Filman et al, 2005) appeared to handle
crosscutting concerns in all stages of the software
lifecycle. The MATA aspect-oriented modelling tool
is based on UML, allowing aspects composition
using class diagrams, sequence diagrams, etc.
To specify an aspectual scenario in MATA, three
stereotypes where created to define the composition
Figure 1: Sequence diagram with tangled behaviour due to
crosscutting concerns.
rules: <<create>> (states that the element will be
created in the base scenario), <<delete>> (states that
the element will be deleted of the base scenario),
<<context>> (states that the element will not be
affected by the other two stereotypes).Variables in
MATA are prefixed by a bar “|”, meaning that “|X”
will match to any class.
After specifying both kinds of scenarios, base
and aspectual, a pattern matching is made between
them. This means that the tool tries to establish a
connection between elements of each scenario,
always respecting the composition rules defined in
the aspectual scenario. The resulting composed
scenario describes, therefore, the behaviour of both
scenarios, according to the rules defined.
GIS applications are usually modelled using
simple approaches that are limited to the
identification of requirements and system functional-
ities, ignoring crosscutting concerns modularization,
as can be seen in (Longley et al, 2005).
The approach introduced in this paper aims at
improving the modularization of GIS Web
applications by modularizing typical GIS concerns.
The starting point is the identification and
specification of crosscutting concerns, which is
followed by the composition of the concerns
previously identified, using the MATA language.
3 MODELLING GIS CONCERNS
WITH ASPECTS
Figure 2 defines a process for modelling spatial con-
MODELLING LOCATION-AWARE BEHAVIOUR IN WEB-GIS USING ASPECTS
417