03-07-2012, 04:38 PM
A UML Profile to Model Mobile Systems
A UML Profile.pdf (Size: 176.47 KB / Downloads: 42)
Abstract.
The introduction of adaptation features in the design of applications
that operate in a mobile computing environment has been
suggested as a viable solution to cope with the high heterogeneity and
variability of this environment. Mobile code paradigms can be used to
this purpose, since they allow to dynamically modify the load of the hosting
nodes and the internode traffic, to adapt to the resources available
in the nodes and to the condition of the (often wireless) network link. In
this paper we propose a UML profile to deal with all the relevant issues
of a mobile system, concerning the mobility of both physical (e.g. computing
nodes) and logical (e.g. software components) entities.
Introduction
Mobile computing applications have generally to cope with a highly heterogeneous
environment, characterized by a large variance in both the computing
capacity of the hosting nodes (that span portable devices and powerful fixed
hosts) and in the available communication bandwidth, that can range from tens
of Kbps to tens of Mbps, depending on the type of wireless or wired network [12].
Moreover, these environment conditions can also rapidly change because of the
physical mobility, that can cause a mobile node to connect to different nodes, or
to enter zones covered by different wireless networks, or not covered at all.
Modeling Mobile Systems
We are interested in devising a framework that gives the application designer the
possibility of extending a basic model of a computer (software) system by adding
or removing mobility at will, in order to experiment with different environment
characteristics and design solutions since the earliest phases of the design process.
In order to do so, we have to clearly define the following issues.
The Profile
After the domain oriented survey of architectural and mobile code concepts provided
in the previous section, we turn now to the very UML viewpoint focusing
on the mapping of those concepts onto the UML metamodel. Here we define the
semantics of the proposed extensions that build up the profile.
Modeling Physical Mobility
First of all we introduce in the basic example the provision for physical mobility.
Dynamic topological models can be valuable in studying the software application
behavior when the physical environment, e.g. the placement of locations and
consequently the connectivity conditions, are subject to change.
If we want to allow the representation of physical mobility we need to enable
hosts themselves and places to be contained in other places in a dynamically
changing hierarchical structure composed of elements that are possibly nested
and where the hosts are considered as contained entities themselves and not only
as containers for software entities.
Models of Basic Mobile Code Paradigms
The COD and REV paradigms can be defined as “location-aware” extensions
of the basic “location-unaware” client-server (CS) interaction paradigm. Indeed,
in the CS case, we have some software component that invokes an operation
implemented by some other software entity; the operation result is then sent
back to the caller. This interaction pattern is depicted by the activity diagram
fragment of figure 5, and is realized independently of the location of the two
partners, that does not change during the interaction.1
Conclusion
We have defined a UML profile to deal with the fundamental aspects of mobile
systems. One of the main goals that have driven the definition of this profile has
been to look at mobility as a feature that can be easily added to a pre-existing
model, to get (in the case of physical mobility) a more realistic and complete
representation of the physical system that is modeled, and to allow (in the case
of logical mobility) the easy experimentation of different code mobility based
adaptation policies. An additional goal has been to remain fully compliant with
the UML 2.0 metamodel.