The development in last 20 years in the field of telecommunication and the integration of telecommunication with internet has promised pervasive computing infrastructure. These pervasive systems allow users to access their information on the internet irrespective of their location. In addition, the advancement in devices miniaturization increases the number of portable devices connect to the internet like mobile phone, laptops, palmtops net books, PDAs, etc. In these scenarios we can consider different types of mobility.

User mobility, Terminal mobility, Mobile access to resources. ??User mobility requires providing users with a uniform view of their preferred working environments?? user preferences and subscribed services??independent of their current positions in the network??.[1] ??Terminal mobility allows devices to transparently move and connect to different points of attachment??.[1] ??Mobile access is an emerging issue that involves the dynamic adaptation of mobile-aware resources and services that mobile users and terminals can automatically retrieve regardless of their current location??.

[1] Having considered the above types of mobility, mobile computing needs an advanced infrastructure which should dynamically trace and relocate mobile users and grant coordination between mobile entities. The infrastructure should also provide proper security level based on cryptographic mechanisms and tools. According to the given research paper three mobile computing services have been proposed: user virtual environment (UVE),mobile virtual terminal (MVT), and virtual resource management (VRM). ??UVE provides users with a uniform view of their working environments independent of current locations and specific terminals.

MVT extends traditional terminal mobility by preserving the terminal execution state for restoration at new locations, including active processes and subscribed services. VRM permits mobile users and terminals to maintain access to resources and services by automatically requalifying the bindings and moving specific resources or services to permit load balancing and replication??.[1] SOMA-BASED MIDDLEWARE SOMA stands for Secure and Open Mobile Agent. SOMA is a service infrastructure for developing and implementing MA-based internet applications. SOMA consist of 4 layers. As shown in figure 1: Figure 1: http://www-lia.

deis.unibo.it/Software/MA/Images/Mobile1.jpg The upper most layer is for mobility support which provides UVE (User Virtual Environment), MVT(Mobile Virtual Terminal), VRM(Virtual Resource Management). The next layer provides naming, security, migration, interoperability, persistence, communication and Quality of Service. The other two layers are a JVM (JAVA Virtual Machine) and a heterogeneous distributed system.

SOMA is basically a JAVA based mobile agent which has been designed to provide the requirements of mobility, scalability, dynamicity, security and openness which are the typical issues in the internet scenarios. The two main goals to develop SOMA were interoperability and security. On one side, SOMA is based on detailed security model and provide a good range of mechanisms and tools to develop and enforce true security policies with flexibility. On the other side, SOMA is able to communicate and interact with different components of applications which are designed with different programming languages and platforms. Apart from interoperability and security features, SOMA is automatically and dynamically manageable and configurable and it provides the location abstraction to achieve scalability in a global scenario.

The mobility of the mobile devices has introduced new security challenges like mobile can be hacked by the execution of malicious environment, may be cloned illegally to cause DoS (denial of service), or may be denial for roaming. These issues have been overcome in SOMA implementation as SOMA permits to protect both: agents come from malicious hosts and hosts from malicious agents. During the design and implementation of SOMA, number of challenges were faced to provide interoperability like SOMA application as server of COBRA, SOMA as COBRA clients, interoperability between COBRA components and SOMA, etc On the other hand, SOMA is a bit slow because of its extra security mechanisms, it involves different tools and techniques to provide more security which makes it slow as compare to other mobile agents but off course it is more secure than other mobile agents. As the name suggest secure and open mobile agent, its openness has introduced some more challenges to it especially for e-commerce applications so there is a need to improve it as nothing is perfect. Q2: All the MA(Mobile Agent) standards seem to be a promising platforms for implementing and developing applications in distributed, heterogeneous and open environments like the Internet. MA’s try to overcome most of the limits of the conventional Client/Server model because of the basic features they have, such as autonomy and flexibility and can effortlessly integrate with the internet to extend accessibility of applications.

Most of the application areas, like e-commerce, network management, mobile computing and information retrieval can benefit from the use of the mobile agent technology. There has been a lot of work done in this field. Like many mobile applications have been developed like we studies SOMA, there are some other application as well like SeMoA, Aglets, fraglets, etc. There are some advantages which all the mobile agents try to provide: Dynamic adaptation, flexibility, tolerance to network errors/faults, parallel processing, etc. Dynamic adaptation is the adaptation of the different host environments. Tolerance to network faults means ability of mobile agent to operate without an active connection between server and client.

Flexibility means to only source must be updated whilst changing an action of the agent. Comparing SOMA with other mobile agents, SOMA provides more security and openness as its name says. If we talk about SeMoA (Secure Mobile Agent) it has its own limitations, such as SeMoA is not very strong against a large number of Denial of Service (DoS) attacks like memory exhaustion. On the other hand SOMA has been designed taking into account security as a main property because SOMA protects both: agents come from malicious hosts and hosts from malicious agents. Another problem with SeMoA is that there are many classes in the core package that synchronize on the object of class itself.

As local classes are shared and the visibility of local classes is global so any agent that access them and acquires a lock on such class objects blocks other threads to access them. On the other hand if we compare SOMA with fraglets which is very small computer program which has been designed to serve as a part of active network instead of a mobile agent. Fraglets have the ability to execute the codes on the path the travel by such as routers or hubs. Part 2: Q1:.

Pervasive computing is a dream of personal computing where future living environments are saturated with non-intrusive, flawlessly operating services available for the user. To fully understand this dream these services are to adapt to the present situation of the environments, together with the economical/social situation of the user. Systems that use data about the state of either its system, users or the environment to settle in their behavior are called context-aware systems. Realizing context-awareness has introduced problems on different level: First, defining a context. Second, how and what can be adjusted when the context changes and where the context adaptation and definition comes from? Third, identify different contexts from sensor. Fourth, how a context can be represented and processed.

But before that we have to understand the definition of context. The most cited definition of context by Dey is: ??Context is any information that can be used to characterize the situation of an entity. An entity is a person, place, or object that is considered relevant to the interaction between a user and an application, including the user and applications themselves??.[1] Representation: Unique Identifiers: The system should be able to recognize different type of contexts and environments in the real world. Uniqueness allow the reuse of that information without conflicting between identifiers. For example, If the user is driving a car so accelerometer can be used to detect the speed of the user.

Validation: Validation should always be allowed for an information taken by the sensor before performing any action with it. For example, if the accelerometer indicates that the speed of user is fast (i.e. he/she is in the car) this does not mean that he/she is driving, this information should be validated before performing any action.

For instance consider the condition that if I am driving I cannot answer the calls so reject the call and send a message saying I will call you later. But if I am in the car but I am not driving than I can answer the calls so the information from the accelerometer has to be validated before rejecting the calls. Uncertainty and incomplete information: As almost all of the context information of the real world is taken from the sensors, the information can be incomplete and uncertain. If we include reasoning uncertainty of the conclusions should follow the reasoning.

Simplicity, reuse, and expandability: A system should supply only as expressive representation as necessary to maintain the domain knowledge. A simple representation endorse reuse and expandability. Simplicity, flexibility and expandability are among the requirements of context representation. Generality: Generality of context representation means the ability to support all types of context information. In my estimation, generality of a context representation is mostly described by its conceptual structure.

Nevertheless, the clarity of a representation language which is used to generate the context information also vary its ability to generate context information at different levels of complexity. Q2. Introduction WAP (wireless application protocol) is a protocol to offer mobile data services. WAP is an open international standard that permits users to access global information instantly through any wireless device mobile phone, PDA, etc. WAP is normally supported by all operating systems. Browsers that uses WAP are called micro-browser.

The rate of transfer of data is still very lower than the normal modem. On the other hand, I-mode is a complete mobile internet service that includes a large range of internet standards such as e-mail, sports results, weather forecast, news headlines, etc. This information is provided to the user by particular services from mobile carriers who charge them for these services. As the rate of transfer of the data is lower than the average modem, i-mode is not good enough for high resolution images and videos, it is basically sufficient for simple graphics and emails. Protocols WAP uses Wireless Markup Language (WML) for communication. while on the other hand i-Mode uses a different type of HTML which is called compact HTML (c-HTML).

Capabilities of Devices WAP devices have to have a specific WAP browser while i-Mode supporting devices have to be able to display data from c-HTML. WAP capable devices show only textual information while i-Mode supporting devices shows multimedia images. WAP gives navigation among layered menus while i-Mode gives navigation via hyperlinks. Architecture WAP makes use of a unique language called WML (Wireless Markup Language) for interaction between a specific protocol translation device called a Gateway of WAP (GW) and information on the Internet. The GW communicates between HTML and WML, permits supply of WAP content to a WAP supporting device.

iMode obeys a dissimilar approach to allow users to access IP-based services via their portable device. i-MODE is uses packet data transmission technology, a machine using this technology is continuously online. The transfer of the data makes use of the CDMA (Code Division Multiple Access). Graphics: One of the most main difference that appears, are clearly the dissimilar graphic capabilities.

While it is right that i-MODE only allows simple graphics, that is much more than WAP. Charges: Another main dissimilarity is the capability of being always-on in i-MODE. As consumer are not charged for how long they serve online, it doesn’t seem more suitable, but also less expensive than have to pay for the time they spent online. As it is not needed that dial-up before using the a variety of services based on IP, E-mail has become an SMS (Short Message Service).

Part 3: Q1:. In CCA the InfoStations system is an infrastructural system concept offering “many time, many-where” access to wireless data services sustaining the portable communication process. This concept enables a variety of classes of portable devices to communicate with each other and with a large number of servers. Intelligent agents operating in the portable device user’s domain (Personal Assistants-PAs) and the InfoStations help to facilitate a contextualized and personalized environment for the system users. System functionality is offered as a set of flexible mobile services. To assist the personalization of these services, the User Agent Profile (UAProf) and Composite Capabilities/Preference Profile (CC/PP) terms are derived to enable the Personal Assistants express capability and preference information (CPI) about both the access device and the user as well.

This makes sure that the offered services are adapted to suit the device capabilities, wireless network constraints and the user as well. Behavior of infoStation: Because of the fact that nature of the connection is defused, it is important for intelligent agents to work throughout the architecture. Being a PA (Personal Assistant), the agent may function automatically in order to convince any user service needs they encounter, while in or out of interaction with other agents which are working on InfoStation Centre or the InfoStation. The service sessions may be divided between different InfoStations, the personal assistant can make a service call while within the scope of an InfoStation, and then go out of the coverage area. During this time when the user goes out from InfoStation coverage, the personal assistant functions automatically adopt the functionality of the service till the user has completed the task.

“The InfoStations houses the Discovery, Presentation and Rendering Self-Service module, which is used to establish connections to mobile devices which enter within range. Also housed is a cache of recently accessed user and service profiles, as well as a repository of available services”.[4] Q2: Behavior of infoStation Centre: The InfoStation Centre stands at the centre of the system, which deals with the formation and updating of contents/objects throughout the system. From InfoStation Centre which acts as a central point, service updates can be spread across the whole system. All the infoStations are connected with the InfoStation centre which acts as a server of these infoStations.

InfoStation centre is aware of all the devices connected to the infoStations but it communicates with infoStations only, it does not communicate directly to the devices connected to the infoStations. For instance a mobile device wants to communicate with the other mobile device connected with different InfoStation then the device will send a request to its InfoStation then the InfoStation send this request to InfoStation Centre and then InfoStation centre sends the request to the InfoStation to which the receiver device is connected with. Q3: Bob[ Alice :: .0 ] | Alice [ Bob: ( hello ).0 ] – -> Alice [ { hello –> hello } ] Q4: Bob[Alice::.0] | Alice[Bob: (hello).0 ] Q6: Bob[Alice::.0 ] |Alice[Bob: (hello).0 ] |IS1[in IS4.out.0] |IS4[0 ]|IS4[in IS2.out.0 ]