Monday, April 1, 2019
E-voting system
E- right to vote systemCHAPTER 1 INTRODUCTIONIntroduction engageObjectivesThe aim of this take to is to design an e- vote system that reaps commit of chocolate and Bluetooth technologies. The divergeicular proposition objectives of this project beTo go for voting softw atomic number 18 that use coffee berry 2 Micro variate (J2ME) that female genital organ run on some(prenominal)ly restless braids which forget act as master of ceremonies and clients.To develop coffee 2 Micro reading (J2ME) ground voting system that adequate to fully utilize the functionality of Bluetooth technologies by transferring info (voter entropybase, voting records, etc.), between devil unstable devices.To framing a low monetary value and reliable client- innkeeper based voting system.Out g overnment none of ThesisThe content of this thesis is nonionized receive to the chapter. Chapter 1 is mainly about the brief introduction of the project make with some motivation and object ives. Chapter 2 is gener on the wholey about the literature revaluation of java 2 Micro Edition (J2ME), Bluetooth and JSR-82 technologies, and similarly everywhereview about the BVote itself. Next, Chapter 3 is about the methodology and details of the design whereas Chapter 4 is about the murder of program through simulator and computer hardware devices since it is the output of the work done on Chapter 3. Chapter 5 is in relation to the presentation of data of the program with some program module hierarchy and classes utilize for chocolate schedule. Then, Chapter 6 is concerning the discussion about the program outcome and its limitation. Finally, Chapter 7 is the final part of every reports or thesis which is the conclusion and some recommendations for prospective research.CHAPTER 2 publications REVIEWOverview of coffee Micro Edition ( burnt umber ME)Introduction coffee berry is a programming language originally developed by James Gosling at Sun Microsystems, which is now a subsidiary of Oracle Corporation. It was released in 1995 as a center field component of Sun Microsystems chocolate platform. umber is general-purpose, concurrent, class-based, and object-oriented, and is specifically designed to have as few implementation dependencies as possible. It is intend to let drill developers write once, run anywhere.Recognizing that one size doesnt fulfil all, Sun has delineate and takes four editions of java aiming different application environments and segmental many of its genus Apis so that they belong to one of the platforms. The platforms are chocolate Card aimed for smartcards.Java program, Micro Edition (Java ME) aimed at small and entrepot constrained devices by means of environments with especial(a) resources.Java Platform, Standard Edition (Java SE) aimed at bill scope and workstation environments.Java Platform, Enterprise Edition (Java EE) aimed at heavy duty server systems, large distri besidesed enterprise or interne t environments.Java ME was formerly cognize as Java 2 Platform Micro Edition (J2ME), is a Java platform designed for peregrine devices and engraft systems. Java ME engineering was originally created in evidence to be intimate with the constraints associated with get uping applications for small devices with as junior-grade as 128KB of RAM and with makeors a lot less exponentful than those apply on typical desktop and server machines. Thus, Sun defined the primarys for Java ME technology to fit much(prenominal) a limited environment and make it possible to create Java applications running on small devices with limited retrospect, display and power capacity. in that location are three core concepts in the Java ME technology soma abides the most basic focalise of libraries and realistic machine capabilities for a broad range of devices. visibleness put together of genus Apis that put forward a narrower range of devices.Optional package aim of genus Apis in suppor t of additional, common behaviours that dont really belong in one specific strain or profileJ2ME consists of a secure of profiles. Each profile is defined for a particular type of device and consists of a minimum set of class libraries essential for the particular type of device and a condition of a Java virtual machine required to support the device. A profile itself does not do anything it just defines the spec. Since profiles are subsets of varietys, profiles are enforced with a configuration. Ultimately, Java ME platform has been divided into dickens base configurations which is committed kink Configuration (CDC) and Connected particular Device Configuration (CLDC).Java ME was designed to use profiles and configurations to enables devices of varying ability to able to run Java ME applications on the Kilobytes virtual(prenominal) work (KVM), which is the micro version of Java Virtual Machine (JVM). Figure 1 illustrates how the CDC and the CLDC together make Java ME. T he plot in addition shows an everywhereview of the components of Java ME architecture, and how it fits in the general Java model.ConfigurationsConfiguration is a preliminary Java platform for devices with similar requirements with respect to total memory, bear on speed, power and display constraints. Specifically, a configuration consists of Java language features, JVM features and a limited set of generalized APIs. Configurations are closely relateed with JVM. In fact, configuration is a term identifying Java language features as a set of APIs and a specific JVM for that particular configuration. The dividing line as to what configuration applies to a device is for the most part, dependent on the memory, bear upon power, vane connectivity and display constraints of a device.Connected Limited Device Configuration (CLDC).The Connected Limited Device Configuration (CLDC) is a fundamental part of the architecture of the Java ME that targeting resource-constraint devices the lik e expeditious phones. It is specifically designed to have the of necessity for a Java platform to run on devices with limited memory, treat power and graphical capabilities. CLDC contains a strict subset of the Java-class libraries, and is the minimum measuring stick needed for a Java virtual machine to operate. CLDC is basically utilise to classify myriad devices into a fixed configuration. When coupled with one or more profiles, the CLDC gives developers a solid Java platform for creating applications for consumer and embedded devices.CLDC is designed to bring the many advantages of the Java platform to ne cardinalrk-connected devices that have limited processing power, memory, and graphical capability. Target devices typically have the following capabilitiesA 16-bit or 32-bit processor with a clock speed of 16MHz or higher.At to the lowest degree 160 KB of non-volatile memory.At least 192 KB of total memory available for the Java platform. offset power consumption, often run on battery power.Connectivity to some kind of ne dickensrk, often with a wireless, intermittent alliance and limited bandwidth.On top of the different configurations Java ME platform also specifies a number of profiles defining a set of higher- take APIs that win define the application. A widely choose example is to combine the CLDC with the fluid In coifion Device visibleness (MIDP) to provide a virtuoso(a) Java application environment for mobile phones and different devices with similar capabilities.Connected Device Configuration (CDC)CDC is a specification of a framework for Java ME applications describing the basic set of libraries and virtual-machine features that must be present in an implementation. The targets for CDC-based technology reconcile a broad range of consumer and embedded devices like smart communicators, pagers, high-end ad hominem digital assistants (PDAs), and set-top boxes. Within this range, CDC is the basis for several beat API bundles that ad dress the needs of developers of applications for specific categories of devices.Devices that support CDC typically include a 32-bit microprocessor/ dominationler and make about 2 MB of RAM and 2.5 MB of ROM available to the Java application environment. The CDC configuration was designed to bring the many advantages of the Java platform to a broad range of network-connected consumer and embedded devices.CDC versus CLDCThe CLDC is different from, til now also a subset of the CDC. The two configurations are independent of from each one(prenominal) other, however, so they should not be used together to define a platform. The CLDC is a proper subset of the CDC. Neither the CLDC nor the CDC is a proper subset of the J2SE platform, however, because some(prenominal) of these configurations add spic-and-span classes necessary to deliver work on their respective families of devices. Like the CDC, the CLDC specifies the level of support of the Java programming language required, the re quired functional support of a compliant Java VM, and the set of class libraries required. Figure 2 shows the relationship between the two configurations and the J2SE platform.ProfilesProfiles are an extension of its underlying configuration. A profile simply is a set of APIs but distant configurations, profiles are closer and specific to the target device capabilities. They are think to include device specific APIs providing those functionality missing at configuration level such(prenominal) as substance ab exploiter interface, persistence, etc. Profiles obtain the required foundation from configuration and hence are layered above configurations.Currently, on that point are a handful profiles available and a few more are existence finalized. MIDP is a profile supported by CLDC succession CDC support three different profiles namely the infantry Profile (JSR 219), individualised Basis Profile (JSR 217) and Personal Profile (JSR 216).Foundation Profile (FP)Foundation Profile is the most basic of the CDC family of profiles. It is a skeleton upon which a developer flock create a new profile. The FP APIs, together with CDC APIs provides a complete Java ME JRE for consumer electronics and embedded devices. It is a set of Java APIs tuned for low-footprint devices that have limited resources that do not need a graphical user interface system. It provides a complete Java ME application environment for consumer products and embedded devices but without a criterions-based GUI system. Version 1.1.2 is condition in JSR 219 and implements a subset of Java SE 1.4.2, including a set of security-related optional packages, such as Java Authentication and Authorization suffice (JAAS), Java Secure Socket extension (JSSE), and Java Cryptography Extension (JCE).The Mobile Information Device Profile (MIDP)The Mobile Information Device Profile (MIDP), combined with the Connected Limited Device Configuration (CLDC), is the Java runtime environment for todays mobile informa tion devices such as phones and entry level PDAs. MIDP provides the core application functionality required by mobile applications including the user interface, network connectivity, local data storage, and application lifecycle management.Currently, thither are three version of MIDP which are MIDP 1.0, MIDP 2.0 and MIDP 3.0. With the configuration and profiles, the actual application then invades, using the different available APIs in the profile. pastime in the tradition of Java parlance, MIDP applications are called MIDlets. A MIDlet is a Java application that uses the MIDP profile and the CLDC configuration, created by a Java ME software developer, such as a game, a business application or other mobile features. These MIDlets can be written once and run on every available device conforming to the specifications for Java ME technology. The MIDlet can reside on a repository somewhere in the ecosystem and the end user can search for a specific type of application and having it d ownloaded over the air to another device.Kilobyte Virtual Machine (KVM)The Kilobyte virtual machine (KVM) is a virtual machine derived from the Java Virtual Machine (VM) specification. The VM that comes with the CLDC source implementation is called the Kilobyte Virtual Machine (KVM) because it uses still a few kilobyte of runtime memory as opposed to megabyte. It is a reference implementation that adheres to the CLDC specifications description of a compliant VM. It is designed for small devices as it has a small memory footprint. It supports a subset of the features of the higher end JVM.For low-end, resource-limited products, Java ME and the KVM support minimal configurations of the Java virtual machine and Java APIs that capture just the essential capabilities of each type of device. KVM can be deployed flexibly to address a range of divvy up-offs between space and functionality. The KVM is engineered and specified to support the standardized, incremental deployment of the Java virtual machine features and the Java APIs included in the Java ME architecture.Overview of Bluetooth TechnologyIntroductionBluetooth is a proprietorship open wireless confabulation protocol for exchanging data over mulct distances by using short length radio waves from fixed and mobile devices, creating personal area networks (PANs). The Bluetooth wireless connectivity technology was originally envisioned in 1994 by Ericsson as a way for mobile devices to elapse with each other at short ranges up to 30 feet, or 10 meters. While Bluetooth is positioned as a replacement for cable, infrared, and other community media, it offers a variety of other services, and creates opportunities for new usage models. It can connect several devices, overcoming problems of synchronization and it works quietly, unconsciously, and automatically in the background.Bluetooth has client-server architecture. In client-server architecture, the one that initiates the connection is the client, and the o ne who receives the connection is the server. Bluetooth is a great protocol for wireless conversation because its capable of transposeting data at nearly 1MB/s, while consume 1/100th of the power of Wi-Fi. In order for Bluetooth devices to communicate properly, they all need to conform to the Bluetooth specification. The Bluetooth specification, like any other specification, defines the standard that a Bluetooth device should adhere to, as well as rules that need to be enforced when communicating. The Bluetooth protocol band and profiles together comprise the Bluetooth specification.Bluetooth communication theory protocol skunkBluetooth uses a variety of protocols. Core protocols are defined by the trade organization Bluetooth Special Interest Group (SIG). Additional protocols have been adopted from other standards bodies. The Bluetooth stack is the software or firmware component that has pack gate to the Bluetooth device. The Bluetooth protocol stack is split in two separat e a bearler stack containing the timing critical radio interface, and a soldiery stack dealing with high level data. It has control over things such as device settings, communication parameters, and power levels for the Bluetooth device. The stack itself consists of layers, and each layer of the stack has a specific task in the overall functionality of the Bluetooth device. Since Bluetooth device manufacturers are not required to use all of the layers in the stack, listed below are the overview of the core protocols and those adopted protocols that are widely used and implemented in almost every Bluetooth deviceL2CAP The Logical data link Controller and readjustment Protocol used to send packets between host and client. This layer is the triplexxer of all data passing through the unit. It receives application data and adapts it to the Bluetooth format. Qualities of Service (QoS) parameters are exchanged at this layer.LMP The Link Manager Protocol uses the links set up by the ba seband to establish connections and manage piconets. Responsibilities of the LMP also include authentication and security services, and monitoring of service quality.SDP The Service denudation Protocol is used to find services on remote Bluetooth devices.HCI The array Controller Interface is the interface between the radio and the host computer. HCI is the dividing line between software and hardware. The HCI is the driver interface for the sensual bus that connects these two components.RFCOMM The Radio Frequency COMMunication is very favorable and uncomplicated. Widely known as the virtual serial port protocol, it is used to stream simplex data.OBEX The Object Exchange communication protocol is used to exchange physical data such as files, images, and so on in double star format.Bluetooth ProfilesBluetooth profiles are intended to ensure interoperability among Bluetooth-enabled devices and applications from different manufacturers and vendors. A Bluetooth profile is a designed set of functionality for Bluetooth devices that defines the roles and capabilities for specific types of applications. If Bluetooth-enabled devices want to interact, having the bare minimum Bluetooth stack is not enough. It also needs to conform to a particular profile. Listed are some of the Bluetooth profilesThe Generic admission fee Profile defines connection procedures, device discovery, and link management. It also defines procedures related to use of different security models and common format requirements for parameters accessible on the user interface level. At a minimum all Bluetooth devices must support this profile.The Service Discovery Application and Profile defines the features and procedures for an application in a Bluetooth device to discover services registered in other Bluetooth devices, and retrieves information related to the services.The ordered Port Profile defines the requirements for Bluetooth devices that need to set up connections that emulate serial cabl es and use the RFCOMM protocol.The LAN Access Profile defines how Bluetooth devices can access the services of a LAN using PPP, and shows how PPP mechanisms can be used to form a network consisting of Bluetooth devices.The Synchronization Profile defines the application requirements for Bluetooth devices that need to synchronize data on two or more devices.Bluetooth Network TopologyBluetooth-enabled devices are organized in groups called piconets or also known as Personal bailiwick Network (PAN). A piconet consists of one tame and up to seven brisk slaves. The slaves in a piconet can only link to the master. Slaves cannot directly transmit data to one another. In fact, the master acts as a have for the piconet and all work must pass through the master. A master and a single slave use point-to-point communication. If there are multiple slaves point-to-multipoint communication is used. A master unit is the device that initiates the communication. A device in one piconet can commu nicate to another device in another piconet, forming a scatternet. A Bluetooth unit can be a slave in two or more piconets, but only one Bluetooth can be a master. Devices that participate in two or more piconets may act as gateways, forwarding traffic from one piconet to another.Notice that a master in one piconet may be a slave in another piconetThe basic concepts of any Bluetooth application consist of the following five componentsStack Initialization Device counselling Device Discovery Service Discovery Communication Bluetooth vs. InfraredThe study difference between the two methods of data transmission is that Bluetooth is based on radio technology (from 2.4GHz bands upwards), while Infrared utilizes invisible light in the 400 700nm wavelength. Infrared is fairly reliable and doesnt cost much to build into devices but it does have drawbacksIts line-of-sight, so a sender must set out with its receiver.Its one-to-one, so a device cant send to multiple receivers at the same ti me.Infrareds advantages are consequences of its disadvantagesBecause its line-of-sight, interference is uncommon.Because its one-to-one, message delivery is reliable each message sent goes to the intended recipient no matter how many infrared receivers are in the room.Bluetooth vs. 802.11bBoth Bluetooth and IEEE 802.11b are wireless communication protocols and both(prenominal) operate in the 2.4GHz band, but they are designed to procure different cultivations. A major difference is that 802.11b was not designed for give tongue to communications, while any Bluetooth connection can support both data and voice communications.The 802.11b protocol is designed to connect relatively large devices with practically of power and speed, such as desktops and laptops. Devices communicate at up to 11 Mbit/sec, at greater distances (up to 300 feet, or 100 meters). By contrast, Bluetooth is designed to connect small devices like PDAs, mobile phones, and peripherals at slower speeds (1 Mbit/sec ), indoors a shorter range (30 feet, or 10 meters), which reduces power requirements.Overview of Java APIs for Bluetooth Technology (JSR-82)Java APIs for Bluetooth piano tuner TechnologyBluetooth is an important appear standard for wireless integration of small devices. The specification standardizes a set of Java APIs to allow Java-enabled devices to integrate into a Bluetooth environment. Previously, there has been no standardized way to develop Bluetooth applications until JSR 82 came into play JSR-82 is a standard defined by the Java Community Process for providing a standard to develop Bluetooth applications using the Java programming language. It is the first open and non-proprietary standard for developing Bluetooth applications. The JSR-82 API hides the complexity of the Bluetooth protocol stack behind a set of Java APIs that allow to focus on application organic evolution rather than the low-level details of Bluetooth, by exposing a simple set of Java APIs. JSR 82 is ba sed on version 1.1 of the Bluetooth Specification.JSR 82 consists of two optional packages the core Bluetooth API and the Object Exchange (OBEX) API. The latter is transport-independent and can be used without the former. The Java APIs for Bluetooth do not implement the Bluetooth specification, but rather provide a set of APIs to access and control a Bluetooth-enabled device. JSR 82 concerns itself primarily with providing Bluetooth capabilities to J2ME-enabled devices. Java APIs described in the JSR-82 interface for following Bluetooth Protocols/ProfilesSDAP Service Discovery Application ProfileRFCOMM resultant Cable Emulation ProtocolL2CAP Logical Link Control and Adaptation ProtocolGOEP Generic Object Exchange (OBEX) ProfileThe API ArchitectureThe goal of the specification was to define an open, non-proprietary standard API that can be used by all J2ME-enabled devices. Therefore, it was designed using standard J2ME APIs and CLDC/MIDPs Generic partnership Framework.JSR 82 re quires that the Bluetooth stack underlying a JSR 82 implementation be qualified for the Generic Access Profile, the Service Discovery Application Profile, and the Serial Port Profile. The stack must also provide access to its Service Discovery Protocol, and to the RFCOMM and L2CAP layers. The APIs are designed in such a way that developers can use the Java programming language to build new Bluetooth profiles on top of this API as long as the core layer specification does not change. JSR 82 includes APIs for OBEX and L2CAP so that future Bluetooth profiles can be implemented in Java, and these are already be used for that purpose. Figure 4 shows where the APIs defined in this specification fit in CLDC/MIDP architecture.Capabilities of JSR-82These are the properties and capabilities of JSR-82 in a nutshell. The JSR-82 API is intended to provide the following capabilities optionsManage the Local Bluetooth Device settings.Discover other Bluetooth devices in the neighbourhood.Search for Bluetooth services on the discovered Bluetooth devices.Connect to any of those Bluetooth services and communicate with it.Register a Bluetooth service on the Local Bluetooth Device, so that other Bluetooth devices can connect to it.Establish RFCOMM, L2CAP, and OBEX connections between devicesManage and control the communication connections.Provide the security to all of the above options.Reasons on employ Java Platform Micro Edition (Java ME)Java ME has significant advantages over other languages and environments that make it suitable for Bluetooth voter turnout System (BVote). The advantages of Java are as followsMost of mobile devices nowadays are compatible and supports Java ME application development. Java ME has a particularly high market penetration. tally to Morales and Nelson, approximately 68% of mobile phones are Java ME capable, which equates to more than 350 trillion Java ME capable mobile devices worldwide.Java ME is an open source and free. There are no licensing expenses needed for the SDK.Java ME is platform-independent. Java has the ability to locomote easily from one computer system to another.Java is a platform-independent at both the source and binary levels. It can run on any operating system without modificationSimplicity and ease-of-use. Java was designed to be easy to use and is therefore easy to write, compile, debug, and learn than other programming languages. Java uses automatic memory allocation and garbage collection. In addition, the I/O and network library is very easy to use.Java ME is robust. Java compilers are able to detect many problems that would first show up during instruction execution time in other languages.Java ME is interpreted. An interpreter is needed in order to run Java programs. With Java, the program need only be compiled once, and the bytecode generated by the Java compiler can run on any platform.Reasons on Using Bluetooth TechnologyThere are various reasons to use a Bluetooth technology. These reasons are mainly based on the advantages of the Bluetooth technology itself that it offers to users. accessibility of Bluetooth connectivity wireless technology in mobile devices. Bluetooth has already become a standard inclusion and important feature on most mobile phones nowadays.No cost per transmission. As an alternative for the current Short put across Services (SMS) that would be charge per transmission, Bluetooth cost no charge for its communication.Low energy consumption as Bluetooth uses low power signals. Thus, the technology requires little energy and hence uses less battery or electrical power. regulate technology. Since Bluetooth is a standardized wireless specification, a high level of compatibility among devices is guaranteed. In addition, Bluetooth is a universal, world-wide, wireless standard.Ability to keep information private. In order to make a transfer or allow someone to access the files in the phone, it will need to give the access by accept or rejecting the reque st through the phone. Therefore, authentication will prevent illegitimate access to important data and make it very difficult to attend in.Signals are omni-directional and can pass through walls. Communicating devices do not need to be aligned and do not need an open line of sight. Besides, Bluetooth uses frequency hopping. Its spread spectrum approach greatly reduces the risk that communications will be intercepted.Overview on Bluetooth Voting System (BVote)The name of this project is BVote. BVote is being developed using Java 2 Micro Edition (J2ME) programming language in order to create an open source, freely available and platform-independent mobile voting platform with basic connectivity options to expedite the process of data transfer and multi-user collaboration. It consists of two parts which are server and client. The server is the one that become the administrator. The administrator is responsible to manage all the adaption of the voters and set the question(s) of the voting. As for the client, it can only log in the voting system as a voter and vote for the question that is being sent.In order to create such a program like BVote, it must meet some basic requirements before the application can be run. Firstly, as BVote is being developed using J2ME, therefore both server and client must use mobile devices as their platform. In addition, both server and client must be able to communicate with each other through Bluetooth technology. Last but not least, since BVote is voting system application software, BVote must accept processing, storing, and updating functions especially for the server part.Research on E-Voting Systemhttp//en.wikipedia.org/wiki/Electronic_votinghttp//en.wikipedia.org/wiki/Electronic_voting_exampleshttp//en.wikipedia.org/wiki/Indian_voting_machineshttp//www.topbits.com/e-voting.htmlhttp//www.howstuffworks.com/e-voting.htmhttp//avirubin.com/vote/analysis/CHAPTER 3 mark METHODLOGY AND DETAILSThis chapter addressed issues that ari se when implementing and using the Java APIs for Bluetooth receiving set Technology and designing the software application using Java 2 Micro Edition (J2ME). Lastly, this section discusses issues on the hardware and technology that abstruse on the implementation and development of Bluetooth Voting System.HardwareMobile screamMobile phone is acting as the main hardware for Bluetooth Voting System, both for server and client part. Nowadays, a mobile phone in market is growing up rapidly with respectively to mobile technology. The dissolute growing of the mobile technology has benefited and improved the quality of life. In addition, the Bluetooth technology has become the main features in all the latest product of mobile devices available on market. With this specification, the objective to develop a low cost system has been met. As this project make the most of the Bluetooth as a connection medium for voting process, mobile phone has been fully utilized due to its ability in supp orting Bluetooth.PC or laptop computerIn the development work, PC has been used as a workstation for programming and simulation process. For the simulation purpose, it had been perform in PC by using Java IDE and mobile phone emulator generated by Sun Wireless Toolkits. After the simulation work is done, a .jar executable file will be installing in mobile phones for real time hardware testing.Software and Development ToolkitThe following software will be usedJ2SDK1.5.0Eclipse 3.0.1 one of the best Java IDE J2ME Wireless toolkit 2.2EclipseME 0.7 Eclipse plugin to economic aid develop J2ME codeProGuard 2.1 class file shrinker and obfuscator.Wireless Toolkit 2.5.2The Sun Java Wireless Toolkit for CLDC (formerly known as Java 2 Platfo
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.