Describe some possible technologies to build a mobile agent which should capable to search for a specific given task over internet and develop an algorithm for that mobile agent. And also classify and discuss about any inference mechanism that might be suitable for the agent.
Task 1: Suitable software technologies to build a Mobile Agent
In the distributed System architecture and implementation, Mobile Agent (MA) is a new advanced technology. Mobile Agent is nothing but a program that can travels from a host to another in a network and can communicate with its environment and also with other agents as well.
Since from the beginning to till date there is numerous software technologies had arrived to build an agent which overcomes one another in features. Some of them are
Pascal
CORBA (Common Object Request Broker Architecture)
Lisp (List Programming)
C
C++ and
Java
In that I recommend the following technologies might suitable better to send agents over the internet. They are
C
C++
Java
C and C++ Programming Languages are using Socket Programming to communicate between hosts. In socket programming there are two types of communication is available. They are TCP/IP (Transmission Control Protocol/Internet Protocol) and UDP/IP (User Datagram Protocol/Internet Protocol). Both these technologies uses Host name and IP address to identify a particular system in a network and by using this, a system can establish connection with one another (Client/Server Architecture).
Java uses RMI (Remote Method Invocation) technology to communicate a specific system in a network. The figure shows the RMI flow diagram between Client and Server. There are four important steps to build RMI code. They are follows 1. Define Interface, 2. Define a Class that implements that interface, 3. Define a server to create an instance of the class and 4. Define a client.
1. Creating local object and export to server then provide listening service to that object, 2. Client made request, 3. Client make call to Remote object with Stub, 4. Stub reads that and marshals it before send, 5. One other side skeleton reads that and un-marshals it, 6. The processed output from remote object will be marshalled again by skeleton before it moves back to stub, 7. Stub read the value by un-marshal it and then sent the value to client. Both this client and server use Transport layer (RMI) to communication.
Task 2: Identifying two technologies to develop the knowledge base
Knowledge base development is nothing but gathering data with skill and stores them to memory in a manner. Knowledge can be Procedural or declarative. Procedural will be illustrated by executable code which will do some action and declarative will be expressed by a set of data with procedures to manipulate that data. Some knowledge base development techniques are
Declarative knowledge Representation
Propositional Logic
Predicate logic
Neural networks
Semantic Nets
Rules
Frames
Knowledge Interchange Format
Declarative Knowledge Representation:
Predictive Logic knowledge base: This knowledge base comes under declarative type. Here the data (facts), rules and relationships will be utilized by control programs (Procedures) to conclude other data (facts). In predictive logic we can use alphabetic characters (both uppercase and lowercase), Parenthesis, Constants, Variables, numbers 0 to 9, Commas, Full stops and quantifiers (",$) to form sentences.
One of merit in predictive logic is stores the procedures apart from facts, rules and relationship which make this logic to overcome the procedural representation. The procedures which will make use of the facts, rules and relationship to produce the result.
Propositional logic knowledge base: In this logic facts are expressed by symbols and it will be Boolean (True or False). In this technique symbols will be represented by uppercase characters (A…to…Z) as well as lowercase characters (a…to…z). Here symbols are used to express the sentences and it is undividable. For example symbol "P" can express a sentence. Sentences may be atomic or complex. To describe complex sentence it use connectives like Ù (AND), Ø (NOT), Ú (OR), Û(If and Only if) or (Bi-direction) and Þ(IMPLIES) or (IF…THEN). For example if 'P' state that I am hungry and 'I' state that I will eat then this can be expressed like
I Þ Ø P it states that if I am not hungry then I will not eat.
Merits of propositional logic are simple logic and few Limited connectives and less syntax and it is easy to build the knowledge base.
Rules Knowledge base:
This technology has a set of rules (facts) and inference engine to manipulate that rules. It is the simplest technique to represent knowledge base, because it can be easily understandable by non developers also. It follows if then functions like if the condition is true then the action will happen.
IF (Stmt 1) THEN (Stmt 2) Where Stmt 1 is Condition and Stmt 2 is Action list.
It also use AND, OR, NOT Parameter in between the IF block. There are two types to manipulate the rules. They are forward chaining (Data-driven Approach) and backward chaining (Goal-driven Approach).
Merits of this technology includes some features such as, new facts can be added and aged one can be removed, independent from other rules and inference and description can be easily derived.
Task 3: Inference mechanisms for agent
Inference mechanism is nothing but retrieve the appropriate solution for user from the knowledge base.
To retrieve the knowledge base there are various inference mechanisms are available. Some of them are fuzzy logic inference mechanism, rules based inference mechanism and first order predicate logic inference mechanism etc. Here I am describing rules based inference mechanism.
Rules based Inference mechanism: As we discussed before there are two ways to inherit data from knowledge base. One is forward chaining and other one is backward chaining. Here I am discussing about forward chaining inference mechanism.
Forward Chaining Inference Mechanism:
This is also known by Data-driven Approach and Direct inference System. Forward chaining begins with "What is well known", and apply the rules until proves the condition. It follows the IF THEN rules. IF the condition is true THEN the action will be executed. It also has parameters like AND, OR, NOT. Backward chaining begins from conclusion and progress backward. The following is an example for Rules based Forward Chaining.
IF there is a snow fall
THEN drive slowly.
IF the snow fall level > NL
THEN switch on the head light
IF the snow fall level > NL
AND the fog level is > NFL
THEN don't drive ahead and place the car safely
Where NL is normal snow fall level and NFL is normal fog level. http://intsys.mgt.qub.ac.uk/notes/kreprul2.html
Task 4: Algorithm for searching agent
Goal of an algorithm is solving a problem easily in step by step manner, particularly an established, persisted computational process for resolve a problem in a limited number of steps. Here we are implement an algorithm for Mobile Agent Search System (MASS) in cloud computing. The figure shows the Architecture of cloud computing MASS.
Here I am using the graphical view algorithm to represent the mobile agent search system.
http://www.ijcaonline.org/volume7/number7/pxc3871613.pdf
Step 1: This is the starting point of the agent.
Step 2: Agent receives input (Query) from the User.
Step 3: Ask User for Advanced search or else e-govern search.
Stetp4: If it is Advance search then inference mechanism will be loaded in to volunteer node and in other hand if it is e-govern service then user query will be initiated.
Step 5: In advance search it forwards the request to inference mechanism, in other hand with e-govern service it decides whether the user requirement is available or not.
Step 6: In Advance Search Result will be obtained from knowledge base by inference mechanism in other side if user request exists, then show the result else redirect to another query.
Step 7: In advanced search result will be send back to user via cloud computing.
Step 8: It ask user for next query.
Step 9: If user still have some query the page will be redirected to starting point else the program will be terminated.
In this algorithm the user query is INPUT and the Result from knowledge base is OUTPUT.
Conclusion
In this paper we have discussed possible software techniques to develop an agent and represent two knowledge base techniques. And also we have discussed about an inference mechanism. And finally we illustrate algorithm to send an agent over internet with some query.