Professional Documents
Culture Documents
ABSTRACT
This paper provides the specification of a mobile electronic voting system (MEVS) using Mobile UML [1]. We also introduce a new platform for the management of mobile agents that supports security and fault tolerance. The platform is used to develop the MEVS. Using the platforms APIs, other mobile applications can be efficiently developed and deployed on the internet.
KEYWORDS
Fault-tolerant mobile platform, Mobile electronic voting, Mobile platform, Mobile UML.
1. INTRODUCTION
A mobile agent is a software component that is able to move across computer systems at which it can execute the code it carries [3]. Typical applications of mobile agents include electronic commerce [4, 5], network management, computer games [6], and collaborative processing applications among others. Furthermore, a family of computer applications in electronic government can be suitably carried out using a combination of mobile and stationary agents, reducing network traffic by allowing the least number of interactions across platforms. An example of such application is electronic voting. Mobile agents are created by a distributed application at a computer site and launched to another site using an underlying mobile agent platform. An instance of the platform running at the remote site can receive the mobile agent and dispatch it to the distributed application running at that site. There are already some existing platforms like Aglets, Concordia, and Odyssey [6]. However, none of these platforms take care of two important aspects needed in mobile applications, that is, security and fault-tolerance, in addition, these platforms are not interoperable. Those aspects are of greater importance and relevance in applications requiring a higher degree of privacy, authenticity and reliability such as electronic voting. In mobile electronic voting, voters will be able to securely publish their votes on their computers, and a mobile vote collector agent in coordination with a stationary vote manager would visit each of the voters site and collect their encrypted and authentic published vote. In this work, we report on our experience in: 1) developing a prototype platform for mobile agents, and 2) developing the MEVS that uses the developed platform. Our platform considers the guidelines described by the Foundation for Intelligent Physical Agents (FIPA) that allows the interoperability between agents running on different agent platforms [2]. Our platform specifications provide the application developer with an application programming interface (API) that allows the launching of mobile agents with two optional features, security and fault-tolerance. Using our API, new mobile applications can then be efficiently developed and deployed on the internet. The rest of the paper is organized as follows. Section 2 describes briefly the functionality of the mobile agent platform. Section 3 describes the MEVS that uses the mobile platform. This application is specified using Mobile Unified Modeling Language (M-UML). Finally, we conclude the paper and discuss some future extensions to this work.
281
Figure 1. The MAP, its sub-modules and its upper and lower interfaces.
FaultTolerance
Security
282
VO Deregister
VA Withdraw Candidacy
VA : VO :
283
Voting Starting
Deliver VotersList
VM Deliver CandidatesList VA
VA : VM: VC :
Deliver SelectedVotersList VC
Deliver Votes
Deliver AllVotes VC
Deliver Results
284
VA CandidateList
VM
VC
VO i
VO i+1
VO i+2
VO m
M Voting M M R Voting M M <<vote collected>>: UpdateLocation R M Voting M <<vote collected>>: UpdateLocation M M M M M M <<agent return>>: finshedCollecting M M
Voting
....
Optimistic Scenario
Figure 6. Sequence diagram for an optimistic scenario for the voting process.
deliverVotes
M Voting M R M Voting M M <<vote collected>>: UpdateLocation R M Voting M Voting M Voting M M Voting M M <<vote collected>>: UpdateLocation M M M M M M <<agent return>>: FinishedCollecting M
Voting
....
285
VA CandidateList
VM
VC
VO i
VO i+1
VO i+2
VO m
M M Voting M R <<vote collected>>: UpdateLocation M Voting M Voting M Voting M <<timeout>>: RelaunchVotingAgent M M R <<vote collected>>: UpdateLocation M M <<vote collected>>: UpdateLocation M M M M <<agent return>>: FinishedCollecting M
deliverVotes <<all VCs back>>: deliverAllVotes
Voting
. ...
<<timeout>> : When the VM doesn't receive an UpdateLocation message it assumes the agent lost, so it issues a relaunch for the voting Agent from the last platform that sent the Update Message Location.
Ready
M M
. Idle . . Getting Votes .
M M
[finish list] / VM.deliverVotes
[Vcount=>3] / VOi+1.Voting
VOi.Vote / VOi+1.Voting
M M
. Waiting for voter .
[Vcount<3] / Vcount++,VOi.Voting
286
Ready
VC.Voting
/ VC.Vote
M
Voting
Idle
ACKNOWLEDGEMENT
We would like to acknowledge support of this work by a grant from the American University of Sharjah.
REFERENCES
[1] [2] [3] [4] [5] Saleh K. and El Morr C., Mobile-UML: An extension to UML for specifying mobile agent-based software, submitted. FIPA, 2002, Agent Management Specification, www.fipa.org/specs. Garcia S., 1998, Design Issues in Mobile Agent Systems, MA, Addison-Wesley. Kiniry J. and Zimmerman D., 1997, Hands-on look at Java mobile agents, IEEE Internet Computing, July, pp. 21-30. Chavez A., Maes P., 1996, Kasbah: An agent marketplace for buying and selling goods, Proceedings of the First International Conference on the Practical Application of Intelligent Agents and Multi-Agent Technology, UK. [6] Saleh K. et al., 2003, Specifications for a mobile agent platform and a mobile game application, Second International Conference on the Application and Development of Computer Games (ADCOG2003), Hong Kong, China. [7] Lange D. and Oshima Y., 1998, Programming and Deploying Java Mobile Agents with Aglets, Addison-Wesley. [8] Saleh K. et al., Specification and design of a fault-tolerant and secure mobile agent platform, submitted.
287