Pervasive Application Development
The process of
pervasive application development is very sensitive task. Latest software
development paradigms will required to be incorporated, latest tools for multi
device applications is also a big question, human computer interaction keeping
in view the usability engineering and user experience is also a constraint,
context awareness and location sensing, the concept of mobility in terms of
application mobility and user mobility are also required for pervasive
application development.
The pervasive
application development is inherently different from traditional software
development. The tools and techniques are also very different in terms of
features, flexibility and workability.
Two major elements
are required to be considered, while thinking of pervasive application
development and these two aspects are mobility and context awareness.
Mobility effects our applications in 3 different ways, Mobility in
terms of multi device, Application Mobility and User Mobility.
Multi Device Applications
The pervasive
application is required to be designed in such a way that it can be installed
on variety of devices. They are capable of get themselves installed on a wide
variety of devices, including the devices which are embedded in various
environments and devices which are used by the users while they are on the go. The
application is required to be compatible with heterogeneity of mobile platform.
Connection Management
Connection Management feature comes
into scene when the user is moving or in terms of user mobility. The location
of the user is going to be changed. There will be no advance information about
the change in the location of the user and connection will definitely be
changed accordingly.
The smartness of
various locations varies in terms of connection, some spaces have very good
connectivity and others have limited or degraded connectivity. In some spaces
there might be dead connectivity. In these scenarios how disconnected
operations will be performed. As devices are to be transported to high
bandwidth network connections as well as high bandwidth is not available. The
applications must work (degraded mode) with low bandwidth network connections
or even without connectivity.
Location Sensing
The pervasive
application must be capable of getting awareness of user location. As the
location of the user can be changed without any prior notice. The application
should be designed that it should know the user location will be changed at any
time. The pervasive application should have the active enabled feature of
context awareness. This type of application would be capable of making
decisions, according to the changes in the location of the user.
For example the
user can be connected to a very high speed connection (50 mbps) and later on as
the location is changing, the user can be moved to a place where connectivity
is very poor (114-140 kbps). The operations which are carried out at the same
moment when the location is changed, they are to be managed in a graceful
manner by the application.
Context Awareness
The context aware
application is required to be capable of managing sensitive information, they
should be sensitive to the environment in which the user is moving or the
application is being used.
Context aware
applications are those applications that can modify their behavior according to
the environment in which they are being used. The environment of the
application can be categorized on 2 major bases, the first one includes
temperature, location, and people around you and 2nd one is the
objective of using this information. These two define the context awareness.
For which purpose
the information about the environment is being collected, to be used by the
application itself or the same information is to be shared by other application
which will perform some actions. The application which is designed for context
awareness to use this environment information to modify its behavior according
to the location or the user.
How would be a
programmer able to accessing the location or context information? From GPS,
from the server of the telecom operator, cell phone tower. How I would be able
to use that information in your application and other applications.
GPS location is
collected but it is to be passed to some map applications to plot the
information about longitude and latitude so that map application would be able
to locate yourself. Simply collecting information about long and latitude is of
no use. The benefit of information is that how actually it is useful. Just to
get the longitude and latitude or to get the physical location.
This information
actually requires encryption and decryption algorithms to actually identify
your location. Which takes some extra CPU cycles, additional memory and of
course a good connectivity so the process would be completed.
The map
application would be able to correspond the longitude and latitude information to the physical location.
The location of
the city and the location of the user. This is the use of information between
the applications.
Air pressure of the
tire is low. Sensors and actuator raising an alarm, indication some light. So
sensing and actuating are passing information to each other. Between intra
application.
Traditional Software engineering vs Engineering Principles for
Pervasive Application
The development of
software for pervasive applications must always keep in mind 2 different
features, mobility and context awareness.
- Why software development is different and difficult as compared to traditional.
- Mobility of 2 types. User mobility and device mobility and application mobility.
- A multi device application is one that is able to execute on devices with different capabilities.
- They can move from one device to another device with different resources. Meeting example from desktop computer to mobile and others.
- A multi modal application is one that supports multiple user interface modalities such as GUI, voice, and combination of the two.
- It allows the user to input using touch screen, voice and gesture, and both methods can be used simultaneously.
Network application
Connectivity
element is required in almost every pervasive application; connectivity will be
required between the client device and the server.
Device Platform
Communication aware application is the most important feature
required is device platform.
Distributed computing defines that there are two or more
communicating elements.
A device platform is the distributed software platform to which a
pervasive application is targeted.
Disconnected operations
The disconnected operations are those they continue processing even
if they are provided with limited or degraded connectivity.
We have to consider thin client and thick client from the desktop
environment.
A thin client application is a networked application in which the
user interface rendering component is executing on the user’s device, whereas
the rest of the application is executing on a networked computer.
They only have user interface on the client computer. It provides
user interaction UI on client device.
In desktop we use a term dumb terminal. While booting they contact
the server and for running any application they contact the server and get the
application work on.
Minimal hardware is available with thin clients. No software
application will be required to install.
The dumb terminal is a thin client it don’t have the capabilities
to show the output without the intervention of the server computer. Dumb
terminal is a hardware concept is desktop environment.
But a thin client is a software concept which represent that this
application will be running minimal on that device.
Thick client is a concept that the most of the work is being done
of the client device, but it doesn’t mean that the server computer will not be
get involved. The server will be considered as external entity, but if we try
to remove the server it means that we are removing the element of
communication.
10 Comments
Most crucial task to develope pervasive application
ReplyDeleteNice
ReplyDeleteVery informative
ReplyDeleteRealistic approach and model for mobile application development
ReplyDeleteFull of knowledge
ReplyDeleteAppreciated
ReplyDeleteFantastic work
ReplyDeleteUseful information
ReplyDeletethis is the exact data i am looking for my thesis, can you help me to provide the complete data.
ReplyDeleteVery well
ReplyDelete