Final Report123

Embed Size (px)

Citation preview

  • 8/16/2019 Final Report123

    1/69

    ABSTRACT

    Drunk driving, or officially driving under the Influence (DUI) of alcohol, is a

    major cause of traffic accidents throughout the world. In this, we propose a highly

    efficient system aimed at early detection and alert of dangerous vehicle maneuvers

    typically related to drunk driving. The entire solution reuires only a mo!ile phone

     placed in vehicle and with accelerometer sensor. " program installed on the mo!ile

     phone computes accelerations !ased on sensor readings, and compares them with

    typical drunk driving patterns e#tracted from real driving tests. $nce any evidence

    of drunk driving ispresent, the mo!ile phone will automatically alert the driver or 

    sends a message to predefined num!er in application for help well !efore accident

    actually happens.

  • 8/16/2019 Final Report123

    2/69

    LIST OF TABLES

     TABLE NO TABLE NAME PAGE NO

  • 8/16/2019 Final Report123

    3/69

    LIST OF FIGURES

    FIGURE NO FIGURE NAME PAGE NO

  • 8/16/2019 Final Report123

    4/69

    CHAPTER 1- INTRODUCTION

    Introduction

    %rashes caused !y impairment of alertness in vehicle driverspose a serious danger 

    to people, not only to drivers themselves!ut also often to the general pu!lic &'.

    "ccording to thereport of U.. *ational +ighway Traffic afety

    "dministration(*+T"), more than a million people have died in trafficcrashes in

    the United tates since '--. During these tragedies,drunk driving is one of the

    main causes. The concern related todrunk driving is not only the high crash rate,

     !ut also the typeof crashes that are most likely to happen. In the last two

    years,//0 and //1, '2,/3' and '',002 alcohol4impaired drivingfatalities

    happened, respectively. 5oth are 26 of the totalfatalities of that year &. During

    these crashes, ten of thousandsof people were killed, and much more people

    injured. 5esides!eing a great threat to pu!lic safety and health, drunk drivingalso

    imposes a heavy financial !urden on the whole society,especially on the healthcare

    sector. "ccording to U.. %entralof Disease control (%D%) &2, the annual cost of 

    alcoholrelatedcrashes totals more than 78' !illion in //1. 9ee etal. pointed out in

    their work &3 that the emergency departmentspends 73: 821 more on average in

    treating alcohol4impairedmotor vehicle crash victims, especially for patients who

    areminimally injured, !ecause of their impaired reasoning and!lunted sensation.

    Despite the fact that drunk driving is a serious pro!lem, itsdetection has !een so far 

    relying on visual o!servations !ypatrol officers. Drivers under the influence of 

    alcohol show amarked decline of perception, recognition, and vehicle control,so

    they tend to make certain types of dangerous maneuvers. TheU.. *+T" has

    conducted e#tensive studies in their effort tohelp distinguish these maneuvers.

    During field studies involvinghundreds of officers and more than ',///

  • 8/16/2019 Final Report123

    5/69

    enforcement stops,the researchers have identified cues of typical driving

     !ehaviorfor drunk drivers, namely pro!lems in maintaining proper laneposition,

    speed and !raking pro!lems, vigilance pro!lems andjudgment pro!lems &8. These

    are guidelines for patrol officersto stop a suspect drunk driver and give him an

    alcohol test.+owever, relying on visual o!servation of patrol officers toprevent

    drunk driving is insufficient. ;irst of all, given thehuge mileage of driveways in

    U", the num!er of patrolofficers is far from enough to o!serve and analy

  • 8/16/2019 Final Report123

    6/69

    1.2 F!tur"

    • Uses the accelerometer sensors from "ndroid mo!ile to match the Drunk

    and drive pattern.

    • "utomatically sends a message for +elp .

    • Displays on the creen a message .

    1.# Or$!ni%!tion o& C'!(tr"

    In %hapter ' we introduce a!out the project concept and give an overview

    idea a!out the project. In %hapter , we discuss a!out the project domain and the

    detailed description of e#isting systems !y analysis the literature survey of the

    e#isting techniues. ?e also then presented a!out the techniues and methods of 

    our proposed methods. In our proposed method we also listed out the advantages

    of using our proposed method. Then we presented the differences !etween thee#isting system and proposed system as a ta!ular representation stating the

    advantages of our proposed system. In %hapter 2, we made a system analysis of the

    methods we propose. In %hapter 3, we listed the +ardware reuirements and

    oftware @euirements of our project. In %hapter 8, we presented the modules and

    their description. Then we also depicted the Use4case diagram of our project, then

    we depicted %lass diagram of our project. In %hapter -, we concluded our proposal

    and then in %hapter 0 we list out our references made for our proposed method.

  • 8/16/2019 Final Report123

    7/69

    CHAPTER 2- LITERATURE SUR)E*

    2.1 A+out t' Do,!in

    Android  is a 9inu#4!ased operating system designed primarily for touchscreen

    mo!ile devices such as smartphones and ta!let computers. Initially developed !y

    "ndroid, Inc., which Aoogle !acked financially and later purchased in //8,

    "ndroid was unveiled in //0 along with the founding of the $pen +andset

    "lliance> a consortium of hardware, software, and telecommunication companies

    devoted to advancing open standards for mo!ile devices. &'/  The first "ndroid4

     powered phone was sold in $cto!er //1.

    "ndroid is open source and Aoogle releases the code under the "pache 9icense.

    This open source code and permissive licensing allows the software to !e freely

    modified and distri!uted !y device manufacturers, wireless carriers and enthusiast

    developers. "dditionally, "ndroid has a large community of developers writing

    applications (BappsB) that e#tend the functionality of devices, written primarily in a

    customi

  • 8/16/2019 Final Report123

    8/69

    These factors have allowed "ndroid to !ecome the worldEs most widely used

    smartphone platform, overtaking ym!ian in the fourth uarter of /'/, and the

    software of choice for technology companies who reuire a low4cost,

    customi

  • 8/16/2019 Final Report123

    9/69

    CHAPTER #- S*STEM ANAL*SIS

    EISTING S*STEM

    In general, the lane position maintenance pro!lems result ina!normal curvilinear 

    movements, including weaving, drifting,swerving and turning with a wide radius.

    They all cause aremarka!le change on lateral acceleration. U.. *+T"=s

    reportgives out the clear illustrations of these situations.

    Drunk driver often e#periences difficulty in keeping anappropriate speed. "!rupt

    acceleration or deceleration, erratic!raking and jerky stop are strong cues to show

    that the driveris under alcohol impairment. They will all !e reflected in thechanges

    of longitudinal acceleration

    DISAD)ANTAGE

    • Difficult to manage reminders manually.

    • lanning and scheduling tasks have comple#ity.

    PROPOSED S*STEM

    The drunk driving detection system is made up of fourcomponents, as presented in

    ;ig. . They are (') monitoringdaemon module, () cali!ration module, (2) data

     processingand pattern matching module and (3) alert module. The thirdmodule

    implements the detection algorithm, as marked !y adashed !o#. $ur design is

    general, not constrained to anyparticular !rand or type of mo!ile phone. "nd our 

    design is alsopower4aware, as hardware such as the screen is only activatedwhen

    necessary.

  • 8/16/2019 Final Report123

    10/69

    AD)ANTAGE

    • Uses the accelerometer sensors from "ndroid mo!ile to match the Drunk

    and drive pattern.

    • "utomatically sends a message for +elp .

    • Displays on the creen a message .

  • 8/16/2019 Final Report123

    11/69

    S*STEM STUD*

    FEASIBILITY STUDY 

    The feasi!ility of the project is analy

  • 8/16/2019 Final Report123

    12/69

    research and development of the system is limited. The e#penditures must !e

     justified. Thus the developed system as well within the !udget and this was

    achieved !ecause most of the technologies used are freely availa!le. $nly the

    customi

  • 8/16/2019 Final Report123

    13/69

    CHAPTER /- S*STEM RE0UIREMENTS

    S*STEM MODELS

    HARDARE RE0UIREMENT

    %U type > Intel entium 3

    %lock speed > 2./ A+<

    @am si 8' G5

    +ard disk capacity > 3/ A5

    Gonitor type > '8 Inch color monitor 

    ey!oard type > internet key!oard

    Go!ile > "*D@$ID G$5I9F

    SOFTARE RE0UIREMENT

    Operating System: Android

    Language : ANDROID SDK 2.3

    Documentation : Ms-Oce

    CHAPTER - MODULE DESCRIPTION

  • 8/16/2019 Final Report123

    14/69

    S*STEM ARCHITECTURE

    OR3ING PROCEDURE

    Modu4"

  • 8/16/2019 Final Report123

    15/69

    Add t' ,odu4" &ro, "5no("i"

    INPUT DESIGN

  • 8/16/2019 Final Report123

    16/69

    The input design is the link !etween the information system and the user. It

    comprises the developing specification and procedures for data preparation and

    those steps are necessary to put transaction data in to a usa!le form for processing

    can !e achieved !y inspecting the computer to read data from a written or printed

    document or it can occur !y having people keying the data directly into the system.

    The design of input focuses on controlling the amount of input reuired,

    controlling the errors, avoiding delay, avoiding e#tra steps and keeping the process

    simple. The input is designed in such a way so that it provides security and ease of 

    use with retaining the privacy. Input Design considered the following things>

    ?hat data should !e given as inputJ

    +ow the data should !e arranged or codedJ

    The dialog to guide the operating personnel in providing input.

    Gethods for preparing input validations and steps to follow when error 

    occur.

    OB6ECTI)ES

    '.Input Design is the process of converting a user4oriented description of the input

    into a computer4!ased system. This design is important to avoid errors in the data

    input process and show the correct direction to the management for getting correct

    information from the computeri

  • 8/16/2019 Final Report123

    17/69

    .It is achieved !y creating user4friendly screens for the data entry to handle large

    volume of data. The goal of designing input is to make data entry easier and to !e

    free from errors. The data entry screen is designed in such a way that all the data

    manipulates can !e performed. It also provides record viewing facilities.

    2.?hen the data is entered it will check for its validity. Data can !e entered with

    the help of screens. "ppropriate messages are provided as when needed so that the

    user 

     will not !e in mai

  • 8/16/2019 Final Report123

    18/69

    2.%reate document, report, or other formats that contain information produced !y

    the system.

    The output form of an information system should accomplish one or more of the

    following o!jectives.

    %onvey information a!out past activities, current status or projections of the

    ;uture.

    ignal important events, opportunities, pro!lems, or warnings.

    Trigger an action.

    %onfirm an action.

  • 8/16/2019 Final Report123

    19/69

    SOFTARE EN)IRONMENT

    "ndroid is a software stack  for mo!ile devices that includes an operating system,

    middleware and key applications. Aoogle Inc. purchased the initial developer of 

    the software, "ndroid Inc., in //8.

    "ndroidEs mo!ile operating system is !ased on the 9inu# kernel. Aoogle and other 

    mem!ers of the $pen +andset "lliance colla!orated on "ndroidEs development and

    release.

     The "ndroid $pen ource roject ("$) is tasked with the maintenance and

    further development of "ndroid. The "ndroid operating system is the worldEs !est4

    selling martphone platform.&

    The "ndroid D  provides the tools and "Is necessary to !egin developing

    applications "ndroid platform using the Cava programming language. "ndroid

    has a large community of developers writing applications (BappsB) that e#tend

    the functionality of the devices. There are currently over 8/,/// apps availa!le

    for "ndroid.

    .;eatures

    • "pplication framework ena!ling reuse and replacement of components

    • Dalvik virtual machine optimi

  • 8/16/2019 Final Report123

    20/69

    • K9ite for structured data storage

    • Gedia support for common audio, video, and still image formats (GFA3,

    +.-3, G2, ""%, "G@, CA, *A, AI;)

    • AG Telephony (hardware dependent)

    • 5luetooth, FDAF, 2A, and ?i;i (hardware dependent)

    • %amera, A, compass, and accelerometer (hardware dependent)

    • @ich development environment including a device emulator, tools for 

    de!ugging, memory and performance profiling, and a plugin for the Fclipse

    IDF

  • 8/16/2019 Final Report123

    21/69

    ' "ndroid "rchitecture

    9i!raries

    "ndroid includes a set of %L%MM li!raries used !y various components of the

    "ndroid system. These capa!ilities are e#posed to developers through the "ndroid

    application framework. ome of the core li!raries are listed !elow>

    • ystem % li!rary 4 a 5D4derived implementation of the standard % system

    li!rary (li!c), tuned for em!edded 9inu#4!ased devices

    • Gedia 9i!raries 4 !ased on acketNideoEs $pen%$@F: the li!raries support

     play!ack and recording of many popular audio and video formats, as well as

    static image files, including GFA3, +.-3, G2, ""%, "G@, CA, and

    *A

  • 8/16/2019 Final Report123

    22/69

    • urface Ganager 4 manages access to the display su!system and seamlessly

    composites D and 2D graphic layers from multiple applications

    9i!?e!%ore 4 a modern we! !rowser engine which powers !oth the"ndroid !rowser and an em!edda!le we! view

    • A9 4 the underlying D graphics engine

    • 2D li!raries 4 an implementation !ased on $penA9 F './ "Is: the

    li!raries use either hardware 2D acceleration (where availa!le) or the

    included, highly optimi

  • 8/16/2019 Final Report123

    23/69

    The Dalvik NG relies on the 9inu# kernel for underlying functionality such as

    threading and low4level memory management.

    3 9inu# ernel

    "ndroid relies on 9inu# version .- for core system services such as security,

    memory management, process management, network stack, and driver model. The

    kernel also acts as an a!straction layer !etween the hardware and the rest of the

    software stack.

    The 9inu# kernel is an operating system kernel used !y the 9inu# family of Uni#4

    likeoperating systems. It is one of the most prominent e#amples of free and opensource software.

    The 9inu# kernel is released under the A*U Aeneral u!lic 9icense  version

    (A9v), (plus some firmware images with various licenses), and is developed !y

    contri!utors worldwide. Day4to4day development takes place on the 9inu# kernel

    mailing list.

    The 9inu# kernel was initially conceived and created !y ;innishcomputer science

    student9inus Torvalds in ''. 9inu# rapidly accumulated developers and users

    who adapted code from other free software projects for use with the new operating

    system. The 9inu# kernel has received contri!utions from thousands of 

     programmers.&'/  Gany 9inu# distri!utions  have !een released !ased upon the

    9inu# kernel.

    The 9inu# kernel has e#tensive support for and runs on many virtual machine

    architectures !oth as the host operating system and as a guest operating system.

    The virtual machines usually emulate Intel #1- family of processors, though in a

    few cases ower% or "@G processors are also emulated.

    http://en.wikipedia.org/wiki/Kernel_(computing)http://en.wikipedia.org/wiki/Linuxhttp://en.wikipedia.org/wiki/Unix-likehttp://en.wikipedia.org/wiki/Unix-likehttp://en.wikipedia.org/wiki/Operating_systemhttp://en.wikipedia.org/wiki/Free_and_open_source_softwarehttp://en.wikipedia.org/wiki/Free_and_open_source_softwarehttp://en.wikipedia.org/wiki/GNU_General_Public_Licensehttp://en.wikipedia.org/wiki/Firmwarehttp://en.wikipedia.org/wiki/Linux_kernel_mailing_listhttp://en.wikipedia.org/wiki/Linux_kernel_mailing_listhttp://en.wikipedia.org/wiki/Finnshttp://en.wikipedia.org/wiki/Computer_sciencehttp://en.wikipedia.org/wiki/Linus_Torvaldshttp://en.wikipedia.org/wiki/Free_softwarehttp://en.wikipedia.org/wiki/Linux_kernel#cite_note-9http://en.wikipedia.org/wiki/Linux_distributionhttp://en.wikipedia.org/wiki/Virtual_machinehttp://en.wikipedia.org/wiki/Intel_x86http://en.wikipedia.org/wiki/PowerPChttp://en.wikipedia.org/wiki/ARM_architecturehttp://en.wikipedia.org/wiki/Kernel_(computing)http://en.wikipedia.org/wiki/Linuxhttp://en.wikipedia.org/wiki/Unix-likehttp://en.wikipedia.org/wiki/Unix-likehttp://en.wikipedia.org/wiki/Operating_systemhttp://en.wikipedia.org/wiki/Free_and_open_source_softwarehttp://en.wikipedia.org/wiki/Free_and_open_source_softwarehttp://en.wikipedia.org/wiki/GNU_General_Public_Licensehttp://en.wikipedia.org/wiki/Firmwarehttp://en.wikipedia.org/wiki/Linux_kernel_mailing_listhttp://en.wikipedia.org/wiki/Linux_kernel_mailing_listhttp://en.wikipedia.org/wiki/Finnshttp://en.wikipedia.org/wiki/Computer_sciencehttp://en.wikipedia.org/wiki/Linus_Torvaldshttp://en.wikipedia.org/wiki/Free_softwarehttp://en.wikipedia.org/wiki/Linux_kernel#cite_note-9http://en.wikipedia.org/wiki/Linux_distributionhttp://en.wikipedia.org/wiki/Virtual_machinehttp://en.wikipedia.org/wiki/Intel_x86http://en.wikipedia.org/wiki/PowerPChttp://en.wikipedia.org/wiki/ARM_architecture

  • 8/16/2019 Final Report123

    24/69

    "t Aoogle, the team led !y @u!in developed a mo!ile device platform powered !y

    the 9inu# kernel. Aoogle marketed the platform to handset makers and carriers on

    the premise of providing a fle#i!le, upgrada!le system. Aoogle had lined up a

    series of hardware component and software partners and signaled to carriers that it

    was open to various degrees of cooperation on their part.&1&&2/

    peculation a!out AoogleEs intention to enter the mo!ile communications market

    continued to !uild through Decem!er //-.@eports from the 55%  and The ?all

    treet Cournal  noted that Aoogle wanted its search and applications on mo!ile phones and it was working hard to deliver that. rint and online media outlets soon

    reported rumors that Aoogle was developing a Aoogle4!randed handset. ome

    speculated that as Aoogle was defining technical specifications, it was showing

     prototypes to cell phone manufacturers and network operators.

    8

    - +ardware running "ndroid

    The main supported platform for "ndroid is the "@G architecture.

    The "ndroid $ can !e used as an operating system for cellphones, net!ooks and

    ta!lets, including the Dell treak , amsung Aala#y Ta!, TN and other devices.&-1&-

    The first commercially availa!le phone to run the "ndroid operating system was

    the +T% Dream, released on $cto!er //1.&0/  In early /'/ Aoogle

    colla!orated with +T% to launch its flagship&0' "ndroid device, the  *e#us $ne.

    This was followed later in /'/ with the amsung4made *e#us .

    The early feed!ack on developing applications for the "ndroid platform was

    mi#ed.Issues cited include !ugs, lack of documentation, inadeuate K"

    http://en.wikipedia.org/wiki/Linux_kernelhttp://en.wikipedia.org/wiki/Mobile_network_operatorhttp://en.wikipedia.org/wiki/Android_(operating_system)#cite_note-EngadgetMobileOS-27http://en.wikipedia.org/wiki/Android_(operating_system)#cite_note-WSJ-28http://en.wikipedia.org/wiki/Android_(operating_system)#cite_note-DT-29http://en.wikipedia.org/wiki/BBChttp://en.wikipedia.org/wiki/The_Wall_Street_Journalhttp://en.wikipedia.org/wiki/The_Wall_Street_Journalhttp://en.wikipedia.org/wiki/Handset#Telephonyhttp://en.wikipedia.org/wiki/ARM_architecturehttp://en.wikipedia.org/wiki/Tablet_personal_computerhttp://en.wikipedia.org/wiki/Dell_Streakhttp://en.wikipedia.org/wiki/Samsung_Galaxy_Tabhttp://en.wikipedia.org/wiki/Android_(operating_system)#cite_note-67http://en.wikipedia.org/wiki/Android_(operating_system)#cite_note-68http://en.wikipedia.org/wiki/HTC_Dreamhttp://en.wikipedia.org/wiki/Android_(operating_system)#cite_note-HTC-69http://en.wikipedia.org/wiki/HTChttp://en.wikipedia.org/wiki/Android_(operating_system)#cite_note-70http://en.wikipedia.org/wiki/Nexus_Onehttp://en.wikipedia.org/wiki/Samsunghttp://en.wikipedia.org/wiki/Nexus_Shttp://en.wikipedia.org/wiki/Linux_kernelhttp://en.wikipedia.org/wiki/Mobile_network_operatorhttp://en.wikipedia.org/wiki/Android_(operating_system)#cite_note-EngadgetMobileOS-27http://en.wikipedia.org/wiki/Android_(operating_system)#cite_note-WSJ-28http://en.wikipedia.org/wiki/Android_(operating_system)#cite_note-DT-29http://en.wikipedia.org/wiki/BBChttp://en.wikipedia.org/wiki/The_Wall_Street_Journalhttp://en.wikipedia.org/wiki/The_Wall_Street_Journalhttp://en.wikipedia.org/wiki/Handset#Telephonyhttp://en.wikipedia.org/wiki/ARM_architecturehttp://en.wikipedia.org/wiki/Tablet_personal_computerhttp://en.wikipedia.org/wiki/Dell_Streakhttp://en.wikipedia.org/wiki/Samsung_Galaxy_Tabhttp://en.wikipedia.org/wiki/Android_(operating_system)#cite_note-67http://en.wikipedia.org/wiki/Android_(operating_system)#cite_note-68http://en.wikipedia.org/wiki/HTC_Dreamhttp://en.wikipedia.org/wiki/Android_(operating_system)#cite_note-HTC-69http://en.wikipedia.org/wiki/HTChttp://en.wikipedia.org/wiki/Android_(operating_system)#cite_note-70http://en.wikipedia.org/wiki/Nexus_Onehttp://en.wikipedia.org/wiki/Samsunghttp://en.wikipedia.org/wiki/Nexus_S

  • 8/16/2019 Final Report123

    25/69

    infrastructure, and no pu!lic issue4tracking system. (Aoogle announced an issue

    tracker on '1 Canuary //1.) In Decem!er //0, Gerge9a! mo!ile startup founder 

    "dam Gac5eth stated, B;unctionality is not there, is poorly documented or just

    doesnEt work... ItEs clearly not ready for prime time.BDespite this, "ndroid4targeted

    applications !egan to appear the week after the platform was announced. The first

     pu!licly availa!le application was the nake game  The "ndroid Dev hone  is a

    IG4unlocked and hardware4unlocked device that is designed for advanced

    developers. ?hile developers can use regular consumer devices purchased at retail

    to test and use their applications, some developers may choose not to use a retail

    device, preferring an unlocked or no4contract device.

    The "ndroid software development kit  (D) includes a comprehensive set of 

    development tools.&1/  These include a de!ugger , li!raries, a handset emulator 

    (!ased on KFGU), documentation, sample code, and tutorials. The D is

    downloada!le on the android developer we!site. %urrently supported development

     platforms include computers running 9inu#  (any modern desktop 9inu#

    distri!ution), Gac $ O  '/.3. or later, ?indows O  or later. The officially

    supported integrated development environment (IDF) is Fclipse (currently 2.8 or 

    2.-) using the "ndroid Development Tools ("DT) lugin, though developers may

    use any te#t editor to edit Cava and OG9 files then use command line tools (Cava

    Development it and "pache "nt are reuired) to create, !uild and de!ug "ndroid

    applications as well as control attached "ndroid devices (e.g., triggering a re!oot,

    installing software package(s) remotely).&1'

    "ndroid applications are packaged in .apk  format and stored under LdataLapp folder 

    on the "ndroid $ (the folder is accessi!le to root user only for security reasons).

    http://en.wikipedia.org/wiki/Snake_(video_game)http://en.wikipedia.org/wiki/Android_Dev_Phonehttp://en.wikipedia.org/wiki/Subscriber_Identity_Modulehttp://en.wikipedia.org/wiki/Software_development_kithttp://en.wikipedia.org/wiki/Android_(operating_system)#cite_note-79http://en.wikipedia.org/wiki/Debuggerhttp://en.wikipedia.org/wiki/Software_libraryhttp://en.wikipedia.org/wiki/Emulatorhttp://en.wikipedia.org/wiki/QEMUhttp://developer.android.com/sdk/index.htmlhttp://en.wikipedia.org/wiki/Linux_kernelhttp://en.wikipedia.org/wiki/List_of_GNU/Linux_distributionshttp://en.wikipedia.org/wiki/List_of_GNU/Linux_distributionshttp://en.wikipedia.org/wiki/Mac_OS_Xhttp://en.wikipedia.org/wiki/Windows_XPhttp://en.wikipedia.org/wiki/Integrated_development_environmenthttp://en.wikipedia.org/wiki/Eclipse_(software)http://en.wikipedia.org/wiki/Command_linehttp://en.wikipedia.org/wiki/Java_Development_Kithttp://en.wikipedia.org/wiki/Java_Development_Kithttp://en.wikipedia.org/wiki/Apache_Anthttp://en.wikipedia.org/wiki/Android_(operating_system)#cite_note-80http://en.wikipedia.org/wiki/APK_(file_format)http://en.wikipedia.org/wiki/Snake_(video_game)http://en.wikipedia.org/wiki/Android_Dev_Phonehttp://en.wikipedia.org/wiki/Subscriber_Identity_Modulehttp://en.wikipedia.org/wiki/Software_development_kithttp://en.wikipedia.org/wiki/Android_(operating_system)#cite_note-79http://en.wikipedia.org/wiki/Debuggerhttp://en.wikipedia.org/wiki/Software_libraryhttp://en.wikipedia.org/wiki/Emulatorhttp://en.wikipedia.org/wiki/QEMUhttp://developer.android.com/sdk/index.htmlhttp://en.wikipedia.org/wiki/Linux_kernelhttp://en.wikipedia.org/wiki/List_of_GNU/Linux_distributionshttp://en.wikipedia.org/wiki/List_of_GNU/Linux_distributionshttp://en.wikipedia.org/wiki/Mac_OS_Xhttp://en.wikipedia.org/wiki/Windows_XPhttp://en.wikipedia.org/wiki/Integrated_development_environmenthttp://en.wikipedia.org/wiki/Eclipse_(software)http://en.wikipedia.org/wiki/Command_linehttp://en.wikipedia.org/wiki/Java_Development_Kithttp://en.wikipedia.org/wiki/Java_Development_Kithttp://en.wikipedia.org/wiki/Apache_Anthttp://en.wikipedia.org/wiki/Android_(operating_system)#cite_note-80http://en.wikipedia.org/wiki/APK_(file_format)

  • 8/16/2019 Final Report123

    26/69

    " package contains .de# files(compiled !yte code files called Dalvik 

    e#ecuta!les), resource files, etc.

    3 "ndroid $peration ystem

    "ndroid is an operating system !ased on 9inu# with a Cava programming interface.

    It provides tools, e.g. a compiler, de!ugger and a device emulator as well as its

    own Cava Nirtual machine (Dalvik Nirtual Gachine 4 DNG). "ndroid is created !y

    the $pen +andset "lliance which is lead !y Aoogle.

    "ndroid uses a special virtual machine, e.g. the Dalvik Nirtual Gachine. Dalvik 

    uses special !ytecode. Therefore you cannot run standard Cava !ytecode on"ndroid. "ndroid provides a tool Bd#B which allows to convert Cava %lass files into

    Bde#B (Dalvik F#ecuta!le) files. "ndroid applications are packed into an .apk 

    ("ndroid ackage) file !y the program BaaptB ("ndroid "sset ackaging Tool) To

    simplify development Aoogle provides the "ndroid Development Tools ("DT) for 

    Fclipse . The "DT performs automatically the conversion from class to de# files

    and creates the apk during deployment.

    "ndroid supports 4D and 24D graphics using the $penA9 li!raries and supports

    data storage in a K9ite data!ase.

    Fvery "ndroid applications runs in its own process and under its own userid which

    is generated automatically !y the "ndroid system during deployment. Therefore

    the application is isolated from other running applications and a mis!ehaving

    application cannot easily harm other "ndroid applications.

    8 Important "ndroid components

    "n "ndroid application consists out of the following parts>

    http://en.wikipedia.org/wiki/Dalvik_Virtual_Machinehttp://www.vogella.de/articles/Ubuntu/article.htmlhttp://www.vogella.de/articles/JavaIntroduction/article.htmlhttp://www.vogella.de/articles/Android/article.htmlhttp://www.vogella.de/articles/Eclipse/article.htmlhttp://www.vogella.de/articles/AndroidSQLite/article.htmlhttp://www.vogella.de/articles/Android/article.htmlhttp://en.wikipedia.org/wiki/Dalvik_Virtual_Machinehttp://www.vogella.de/articles/Ubuntu/article.htmlhttp://www.vogella.de/articles/JavaIntroduction/article.htmlhttp://www.vogella.de/articles/Android/article.htmlhttp://www.vogella.de/articles/Eclipse/article.htmlhttp://www.vogella.de/articles/AndroidSQLite/article.htmlhttp://www.vogella.de/articles/Android/article.html

  • 8/16/2019 Final Report123

    27/69

    • "ctivity 4 @epresents the presentation layer of an "ndroid application, e.g. a

    screen which the user sees. "n "ndroid application can have several

    activities and it can !e switched !etween them during runtime of the

    application.

    • Niews 4 The User interface of an "ctivities is !uild with widgets classes

    which inherent from Bandroid.view.NiewB. The layout of the views is

    managed !y Bandroid.view.NiewAroupsB.

    • ervices 4 perform !ackground tasks without providing an UI. They can

    notify the user via the notification framework in "ndroid.

    • %ontent rovider  4 provides data to applications, via a content provider your 

    application can share data with other applications. "ndroid contains a

    K9ite D5 which can serve as data provider 

    • Intents are asynchronous messages which allow the application to reuest

    functionality from other services or activities. "n application can call

    directly a service or activity (e#plicit intent) or asked the "ndroid system for 

    registered services and applications for an intent (implicit intents). ;or 

    e#ample the application could ask via an intent for a contact application.

    "pplication register themself to an intent via an Intent;ilter. Intents are a

     powerful concept as they allow to create loosely coupled applications.

    • 5roadcast @eceiver 4 receives system messages and implicit intents, can !e

    used to react to changed conditions in the system. "n application can

    register as a !roadcast receiver for certain events and can !e started if such

    an event occurs.

    http://www.vogella.de/articles/AndroidServices/article.htmlhttp://www.vogella.de/articles/Android/article.html#contentproviderhttp://www.vogella.de/articles/AndroidIntent/article.htmlhttp://www.vogella.de/articles/AndroidServices/article.htmlhttp://www.vogella.de/articles/Android/article.html#contentproviderhttp://www.vogella.de/articles/AndroidIntent/article.html

  • 8/16/2019 Final Report123

    28/69

    • " Cava Nirtual Gachine (CNG) ena!les a set of computer software programs

    and data structures to use a virtual machine model for the e#ecution of other 

    computer programs and scripts. The model used !y a CNG accepts a form of 

    computer intermediate language  commonly referred to as Cava !ytecode.

    This language conceptually represents the instruction set of a stack4oriented,

    capa!ility architecture. un Gicrosystems states there are over 3.8 !illion

    CNG4ena!led devices

    • " CNG can also e#ecute !ytecode compiled from programming languages

    other than Cava. ;or e#ample, "da source code can !e compiled to e#ecute

    on a CNG. CNGs can also !e released !y other companies !esides $racle(the developer of Cava) P CNGs using the BCavaB trademark may !e

    developed !y other companies as long as they adhere to the CNG

    specification pu!lished !y $racle and to related contractual o!ligations.

    • Cava was conceived with the concept of ?$@"> Bwrite once, run

    anywhereB. This is done using the Cava Nirtual Gachine. The CNG is the

    environment in which java programs e#ecute. It is software that is

    implemented on non4virtual hardware and on standard operating systems.

    • CNG is a crucial component of the Cava platform, and !ecause CNGs are

    availa!le for many hardware and software  platforms, Cava can !e !oth

    middleware and a platform in its own right, &clarification needed hence the trademark 

    write once, run anywhere. The use of the same !ytecode for all platforms

    allows Cava to !e descri!ed as Bcompile once, run anywhereB, as opposed to

    Bwrite once, compile anywhereB, which descri!es cross4platform compiled

    languages. " CNG also ena!les such features as automated e#ception

    http://en.wikipedia.org/wiki/Virtual_machinehttp://en.wikipedia.org/wiki/Scripting_languagehttp://en.wikipedia.org/wiki/Intermediate_languagehttp://en.wikipedia.org/wiki/Java_bytecodehttp://en.wikipedia.org/wiki/Stack-oriented_programming_languagehttp://en.wikipedia.org/wiki/Capability_architecturehttp://en.wikipedia.org/wiki/Sun_Microsystemshttp://en.wikipedia.org/wiki/Ada_(programming_language)http://en.wikipedia.org/wiki/Write_once,_run_anywherehttp://en.wikipedia.org/wiki/Write_once,_run_anywherehttp://en.wikipedia.org/wiki/Operating_systemhttp://en.wikipedia.org/wiki/Java_(software_platform)http://en.wikipedia.org/wiki/Platform_(computing)http://en.wikipedia.org/wiki/Middlewarehttp://en.wikipedia.org/wiki/Wikipedia:Please_clarifyhttp://en.wikipedia.org/wiki/Wikipedia:Please_clarifyhttp://en.wikipedia.org/wiki/Write_once,_run_anywherehttp://en.wikipedia.org/wiki/Compiled_languagehttp://en.wikipedia.org/wiki/Compiled_languagehttp://en.wikipedia.org/wiki/Automated_exception_handlinghttp://en.wikipedia.org/wiki/Virtual_machinehttp://en.wikipedia.org/wiki/Scripting_languagehttp://en.wikipedia.org/wiki/Intermediate_languagehttp://en.wikipedia.org/wiki/Java_bytecodehttp://en.wikipedia.org/wiki/Stack-oriented_programming_languagehttp://en.wikipedia.org/wiki/Capability_architecturehttp://en.wikipedia.org/wiki/Sun_Microsystemshttp://en.wikipedia.org/wiki/Ada_(programming_language)http://en.wikipedia.org/wiki/Write_once,_run_anywherehttp://en.wikipedia.org/wiki/Write_once,_run_anywherehttp://en.wikipedia.org/wiki/Operating_systemhttp://en.wikipedia.org/wiki/Java_(software_platform)http://en.wikipedia.org/wiki/Platform_(computing)http://en.wikipedia.org/wiki/Middlewarehttp://en.wikipedia.org/wiki/Wikipedia:Please_clarifyhttp://en.wikipedia.org/wiki/Write_once,_run_anywherehttp://en.wikipedia.org/wiki/Compiled_languagehttp://en.wikipedia.org/wiki/Compiled_languagehttp://en.wikipedia.org/wiki/Automated_exception_handling

  • 8/16/2019 Final Report123

    29/69

    handling, which provides Broot4causeB de!ugging information for every

    software error (e#ception), independent of the source code.

    • " CNG is distri!uted along with a set of standard class li!raries  that

    implement the Cava application programming interface ("I). "ppropriate

    "Is !undled together form the Cava @untime Fnvironment (C@F).

    • CavaEs e#ecution environment is termed the Cava @untime Fnvironment, or 

    C@F.

    • rograms intended to run on a CNG must !e compiled into a standardi

  • 8/16/2019 Final Report123

    30/69

    to a highly idiosyncratic&clarification neededmemory model  and capa!ility4!ased

    architecture.

    Download the "ndroid D 

    ?elcome DevelopersQ If you are new to the "ndroid D, please read the steps

     !elow, for an overview of how to set up the D.

    If youEre already using the "ndroid D, you should update to the latest tools or 

     platform using the "ndroid D and "ND Ganager, rather than downloading a

    new D starter package. ee "dding D %omponents.

    +ere an overview of the steps you must follow to set up the "ndroid D>

    '. repare your development computer and ensure it meets the system

    reuirements.

    . Install the D starter package from the ta!le a!ove. (If youEre on ?indows,

    download the installer for help with the initial setup.)

    2. Install the "DT lugin for Fclipse (if youEll !e developing in Fclipse).

    3. "dd "ndroid platforms and other components to your D.

    8. F#plore the contents of the "ndroid D (optional).

    http://en.wikipedia.org/wiki/Wikipedia:Please_clarifyhttp://en.wikipedia.org/wiki/Wikipedia:Please_clarifyhttp://en.wikipedia.org/wiki/Java_Memory_Modelhttp://developer.android.com/sdk/adding-components.htmlhttp://en.wikipedia.org/wiki/Wikipedia:Please_clarifyhttp://en.wikipedia.org/wiki/Java_Memory_Modelhttp://developer.android.com/sdk/adding-components.html

  • 8/16/2019 Final Report123

    31/69

    To get started, download the appropriate package from the ta!le a!ove, then read

    the guide to Installing the D .

    Installing the D 

    0 tep '. reparing Hour Development %omputer  

    5efore getting started with the "ndroid D, take a moment to confirm that your 

    development computer meets the ystem @euirements. In particular, you might

    need to install the CD , if you donEt have it already.

    If you will !e developing in Fclipse with the "ndroid Development Tools ("DT)

    luginPthe recommended path if you are new to "ndroidPmake sure that youhave a suita!le version of Fclipse installed on your computer as descri!ed in the

    ystem @euirements document. If you need to install Fclipse, you can download

    it from this location>

    The BFclipse %lassicB version is recommended. $therwise, a Cava or @% version

    of Fclipse is recommended.

    Use the Fclipse update manager   to install all availa!le plugins for the "ndroid

    Development Tools ("DT) from the U@9 https>LLdl4

    ssl.google.comLandroidLeclipseL .

    - %onfiguration

    In Fclipse open the references dialog via ?indows 4R references. elect "ndroid

    and maintain the installation path of the "ndroid D.

    http://developer.android.com/sdk/installing.htmlhttp://developer.android.com/sdk/requirements.htmlhttp://java.sun.com/javase/downloads/index.jsphttp://developer.android.com/sdk/requirements.htmlhttp://www.vogella.de/articles/Eclipse/article.html#updatemanagerhttps://dl-ssl.google.com/android/eclipse/https://dl-ssl.google.com/android/eclipse/http://developer.android.com/sdk/installing.htmlhttp://developer.android.com/sdk/requirements.htmlhttp://java.sun.com/javase/downloads/index.jsphttp://developer.android.com/sdk/requirements.htmlhttp://www.vogella.de/articles/Eclipse/article.html#updatemanagerhttps://dl-ssl.google.com/android/eclipse/https://dl-ssl.google.com/android/eclipse/

  • 8/16/2019 Final Report123

    32/69

    elect ?indow 4R "ndroid D and "ND Ganager from the menu.

    elect availa!le packages and select the latest version of the D.

    tep . Downloading the D tarter ackage

    The D starter package is not a full development environmentPit includes only

    the core D Tools, which you can use to download the rest of the D 

    components (such as the latest "ndroid platform).

    If you havenEt already, get the latest version of the D starter package from the

    D download page.

    http://developer.android.com/sdk/index.htmlhttp://developer.android.com/sdk/index.html

  • 8/16/2019 Final Report123

    33/69

    If you downloaded a .

  • 8/16/2019 Final Report123

    34/69

    1 tep 2. Installing the "DT lugin for Fclipse

    "ndroid offers a custom plugin for the Fclipse IDF, called "ndroid Development

    Tools ("DT), that is designed to give you a powerful, integrated environment in

    which to !uild "ndroid applications. It e#tends the capa!ilites of Fclipse to let you

    uickly set up new "ndroid projects, create an application UI, de!ug your 

    applications using the "ndroid D tools, and even e#port signed (or unsigned)

    "s in order to distri!ute your application. In general, developing in Fclipse with

    "DT is a highly recommended approach and is the fastest way to get started with

    "ndroid.

    If youEd like to use "DT for developing "ndroid applications, install it now. @ead

    Installing the "DT lugin for step4!y4step installation instructions, then return here

    to continue the last step in setting up your "ndroid D.

    If you prefer to work in a different IDF, you do not need to install Fclipse or "DT.

    Instead, you can directly use the D tools to !uild and de!ug your application.

    The Introduction to "ndroid application development outlines the major steps that

    you need to complete when developing in Fclipse or other IDFs.

    http://developer.android.com/sdk/eclipse-adt.html#installinghttp://developer.android.com/guide/developing/index.htmlhttp://developer.android.com/sdk/eclipse-adt.html#installinghttp://developer.android.com/guide/developing/index.html

  • 8/16/2019 Final Report123

    35/69

  • 8/16/2019 Final Report123

    36/69

    tep 3. "dding latforms and $ther %omponents

    The last step in setting up your D is using the "ndroid D and "ND Ganager 

    (a tool included in the D starter package) to download essential D 

    components into your development environment.

    The D uses a modular structure that separates the major parts of the DP 

    "ndroid platform versions, add4ons, tools, samples, and documentationPinto a set

    of separately installa!le components. The D starter package, which youEve

    already downloaded, includes only a single component> the latest version of the

    D Tools. To develop an "ndroid application, you also need to download at least

    one "ndroid platform and the associated platform tools. Hou can add other 

    components and platforms as well, which is highly recommended.

  • 8/16/2019 Final Report123

    37/69

  • 8/16/2019 Final Report123

    38/69

    If you used the ?indows installer, when you complete the installation wi

  • 8/16/2019 Final Report123

    39/69

    • $n Gac or 9inu#, open a terminal and navigate to the toolsL directory in the

    "ndroid D, then e#ecute>

    To download components, use the graphical UI of the "ndroid D and "ND

    Ganager to !rowse the D repository and select new or updated components (see

    figure '). The "ndroid D and "ND Ganager installs the selected components in

    your D environment. ;or information a!out which components you should

    download, see @ecommended %omponents.

    The "ndroid @epository offers these types of components>

    • D Tools P %ontains tools for de!ugging and testing your application and

    other utility tools. These tools are installed with the "ndroid D starter 

     package and receive periodic updates. Hou can access these tools in the

    SsdkRLtoolsL directory of your D. To learn more a!out them, see D 

    Tools in the developer guide.

    • D latform4tools P %ontains platform4dependent tools for developing

    and de!ugging your application. These tools support the latest features of the

    "ndroid platform and are typically updated only when a new platform

     !ecomes availa!le. Hou can access these tools in the SsdkRLplatform4toolsL

    directory. To learn more a!out them, see latform Tools  in the developer 

    guide.

    • "ndroid platforms P "n D platform is availa!le for every production

    "ndroid platform deploya!le to "ndroid4powered devices. Fach D 

     platform component includes a fully compliant "ndroid li!rary, system

    image, sample code, and emulator skins. To learn more a!out a specific

    http://developer.android.com/sdk/installing.html#whichhttp://developer.android.com/guide/developing/tools/index.html#tools-sdkhttp://developer.android.com/guide/developing/tools/index.html#tools-sdkhttp://developer.android.com/guide/developing/tools/index.html#tools-platformhttp://developer.android.com/sdk/installing.html#whichhttp://developer.android.com/guide/developing/tools/index.html#tools-sdkhttp://developer.android.com/guide/developing/tools/index.html#tools-sdkhttp://developer.android.com/guide/developing/tools/index.html#tools-platform

  • 8/16/2019 Final Report123

    40/69

     platform, see the list of platforms that appears under the section

    BDownloada!le D %omponentsB on the left part of this page.

    • U5 Driver for ?indows (?indows only) P %ontains driver files that you

    can install on your ?indows computer, so that you can run and de!ug your 

    applications on an actual device. Hou do not need the U5 driver unless you

     plan to de!ug your application on an actual "ndroid4powered device. If you

    develop on Gac $ O or 9inu#, you do not need a special driver to de!ug

    your application on an "ndroid4powered device. ee Using +ardware

    Devices for more information a!out developing on a real device.

    • amples P %ontains the sample code and apps availa!le for each "ndroid

    development platform. If you are just getting started with "ndroid

    development, make sure to download the samples to your D.

    • Documentation P %ontains a local copy of the latest multiversion

    documentation for the "ndroid framework "I.

    The Third party "dd4ons provide components that allow you to create a

    development environment using a specific "ndroid e#ternal li!rary (such as the

    Aoogle Gaps li!rary) or a customi

    Fclipse is an open source community whose projects are focused on !uilding an

    e#tensi!le development platform, runtimes and application frameworks for 

     !uilding, deploying and managing software across the entire software lifecycle.

    http://developer.android.com/guide/developing/device.htmlhttp://developer.android.com/guide/developing/device.htmlhttp://developer.android.com/guide/developing/device.htmlhttp://developer.android.com/guide/developing/device.html

  • 8/16/2019 Final Report123

    41/69

    Gany people know us, and hopefully love us, as a Cava IDF !ut Fclipse is much

    more than a Cava IDF.

    The Fclipse open source community has over -/ open source projects. These

     projects can !e conceptually organi

    '. Fnterprise Development

    . Fm!edded and Device Development

    2. @ich %lient latform

    3. @ich Internet "pplications

    8. "pplication ;rameworks

    -. "pplication 9ifecycle Ganagement ("9G)

    0. ervice $riented "rchitecture ($")

    The Fclipse community is also supported !y a large and vi!rant ecosystem of 

    major IT solution providers, innovative start4ups, universities and research

    institutions and individuals that e#tend, support and complement the Fclipse

    latform.

    The e#citing thing a!out Fclipse is many people are using Fclipse in ways that we

    have never imagined. The common thread is that they are !uilding innovative,industrial strength software and want to use great tools, frameworks and runtimes

    to make their jo! easier.

  • 8/16/2019 Final Report123

    42/69

    Fclipse is a multi4language software development environment  comprising an

    integrated development environment (IDF) and an e#tensi!le plug4in system. It is

    written mostly in Cava and can !e used to develop applications in Cava and, !y

    means of various plug4ins, other  programming languages including "da, %, %MM,

    %$5$9, erl, +, ython, @u!y  (including @u!y on @ails  framework), cala,

    %lojure, and cheme. The IDF is often called Fclipse "DT for "da, Fclipse %DT

    for %L%MM, Fclipse CDT for Cava, and Fclipse DT for +.

    "@%+ITF%TU@F>

    Fclipse employs plug4ins in order to provide all of its functionality on top of (and

    including) the runtime system, in contrast to some other applications where

    functionality is typically hard coded. The runtime system of Fclipse is !ased on

    Fuino#, an $Ai standard compliant implementation.

    This plug4in mechanism is a lightweight software componentry  framework. In

    addition to allowing Fclipse to !e e#tended using other  programming languages

    such as %  and ython, the plug4in framework allows Fclipse to work withtypesetting languages like 9aTeO,&  networking applications such as telnet, and

    data!ase management systems. The plug4in architecture supports writing any

    desired e#tension to the environment, such as for configuration management. Cava

    and %N  support is provided in the Fclipse D , with u!version  support

     provided !y third4party plug4ins.

    ?ith the e#ception of a small run4time kernel, everything in Fclipse is a plug4in.

    This means that every plug4in developed integrates with Fclipse in e#actly the

    same way as other plug4ins: in this respect, all features are Bcreated eualB. Fclipse

     provides plug4ins for a wide variety of features, some of which are through third

     parties using !oth free and commercial models. F#amples of plug4ins include a

    http://en.wikipedia.org/wiki/Software_development_environmenthttp://en.wikipedia.org/wiki/Integrated_development_environmenthttp://en.wikipedia.org/wiki/Plug-in_(computing)http://en.wikipedia.org/wiki/Java_(programming_language)http://en.wikipedia.org/wiki/Programming_languagehttp://en.wikipedia.org/wiki/Ada_(programming_language)http://en.wikipedia.org/wiki/C_(programming_language)http://en.wikipedia.org/wiki/C%2B%2Bhttp://en.wikipedia.org/wiki/COBOLhttp://en.wikipedia.org/wiki/Perlhttp://en.wikipedia.org/wiki/PHPhttp://en.wikipedia.org/wiki/Python_(programming_language)http://en.wikipedia.org/wiki/Ruby_(programming_language)http://en.wikipedia.org/wiki/Ruby_on_Railshttp://en.wikipedia.org/wiki/Scala_(programming_language)http://en.wikipedia.org/wiki/Clojurehttp://en.wikipedia.org/wiki/Scheme_(programming_language)http://en.wikipedia.org/wiki/Hard_codehttp://en.wikipedia.org/wiki/Equinox_(OSGi)http://en.wikipedia.org/wiki/OSGihttp://en.wikipedia.org/wiki/Software_componentryhttp://en.wikipedia.org/wiki/Programming_languagehttp://en.wikipedia.org/wiki/C_(programming_language)http://en.wikipedia.org/wiki/Python_(programming_language)http://en.wikipedia.org/wiki/LaTeXhttp://en.wikipedia.org/wiki/Eclipse_(software)#cite_note-1http://en.wikipedia.org/wiki/Telnethttp://en.wikipedia.org/wiki/Database_management_systemhttp://en.wikipedia.org/wiki/Configuration_managementhttp://en.wikipedia.org/wiki/Concurrent_Versions_Systemhttp://en.wikipedia.org/wiki/Software_development_kithttp://en.wikipedia.org/wiki/Subversion_(software)http://en.wikipedia.org/wiki/Software_development_environmenthttp://en.wikipedia.org/wiki/Integrated_development_environmenthttp://en.wikipedia.org/wiki/Plug-in_(computing)http://en.wikipedia.org/wiki/Java_(programming_language)http://en.wikipedia.org/wiki/Programming_languagehttp://en.wikipedia.org/wiki/Ada_(programming_language)http://en.wikipedia.org/wiki/C_(programming_language)http://en.wikipedia.org/wiki/C%2B%2Bhttp://en.wikipedia.org/wiki/COBOLhttp://en.wikipedia.org/wiki/Perlhttp://en.wikipedia.org/wiki/PHPhttp://en.wikipedia.org/wiki/Python_(programming_language)http://en.wikipedia.org/wiki/Ruby_(programming_language)http://en.wikipedia.org/wiki/Ruby_on_Railshttp://en.wikipedia.org/wiki/Scala_(programming_language)http://en.wikipedia.org/wiki/Clojurehttp://en.wikipedia.org/wiki/Scheme_(programming_language)http://en.wikipedia.org/wiki/Hard_codehttp://en.wikipedia.org/wiki/Equinox_(OSGi)http://en.wikipedia.org/wiki/OSGihttp://en.wikipedia.org/wiki/Software_componentryhttp://en.wikipedia.org/wiki/Programming_languagehttp://en.wikipedia.org/wiki/C_(programming_language)http://en.wikipedia.org/wiki/Python_(programming_language)http://en.wikipedia.org/wiki/LaTeXhttp://en.wikipedia.org/wiki/Eclipse_(software)#cite_note-1http://en.wikipedia.org/wiki/Telnethttp://en.wikipedia.org/wiki/Database_management_systemhttp://en.wikipedia.org/wiki/Configuration_managementhttp://en.wikipedia.org/wiki/Concurrent_Versions_Systemhttp://en.wikipedia.org/wiki/Software_development_kithttp://en.wikipedia.org/wiki/Subversion_(software)

  • 8/16/2019 Final Report123

    43/69

    UG9 plug4in for euence and other UG9 diagrams, a plug4in for D5 F#plorer,

    and many others.

    The Fclipse D includes the Fclipse Cava Development Tools (CDT), offering an

    IDF with a !uilt4in incremental Cava compiler and a full model of the Cava source

    files. This allows for advanced refactoring techniues and code analysis. The IDF

    also makes use of a workspace, in this case a set of metadata over a flat filespace

    allowing e#ternal file modifications as long as the corresponding workspace

    BresourceB is refreshed afterwards.

    Fclipse implements widgets through a widget toolkit for Cava called ?T, unlikemost Cava applications, which use the Cava standard "!stract ?indow Toolkit

    ("?T) or wing. FclipseEs user interface also uses an intermediate AUI  layer 

    called C;ace, which simplifies the construction of applications !ased on ?T.

    '/ @ich %lient latform

    Fuino# $Ai  a standard !undling framework 

    • %ore platform !oot Fclipse, run plug4ins

    • tandard ?idget Toolkit (?T) a porta!le widget toolkit

    • C;ace  viewer classes to !ring model view controller  programming to ?T,

    file !uffers, te#t handling, te#t editors

    • Fclipse ?ork!ench views, editors, perspectives, wi

  • 8/16/2019 Final Report123

    44/69

    '' +istory

    Fclipse !egan as an I5G %anada project. It was developed !y $!ject Technology

    International ($TI) as a Cava4!ased replacement for the malltalk  !ased Nisual"ge

    family of IDF products,&3 which itself had !een developed !y $TI. &' In *ovem!er 

    //', a consortium was formed to further the development of Fclipse as open

    source. In Canuary //3, the Fclipse ;oundation was created.&8

    Fclipse 2./ (released on ' Cune //3) selected the $Ai  ervice latform

    specifications as the runtime architecture.&-

    Fclipse was originally released under the %ommon u!lic 9icense, !ut was later relicensed under the Fclipse u!lic 9icense. The ;ree oftware ;oundation  has

    said that !oth licenses are free software licenses, !ut are incompati!le with the

    A*U Aeneral u!lic 9icense  (A9).&0  Gike Gilinkovich, of the Fclipse

    ;oundation commented that moving to the A9 would !e considered when version

    2 of the A9 was released.&1

    "ccording to 9ee *ackman, %hief Technology $fficer  of I5GEs @ational division

    at that time and later head of @ational software development and support, the name

    BFclipseB was chosen to target GicrosoftEs Nisual tudio  product, and not un

    Gicrosystems.& Ironically, *ackman is now himself a Gicrosoft employee.

    Fclipse (D)

    Fclipse oftware Development it (D) is a Cava !ased open4source integrated

    development environment (IDF) which com!ines a num!er of different Fclipse

     projects including latform, Cava Development Tools (CDT) and the lug4in

    Development Fnvironment (DF).

    http://en.wikipedia.org/wiki/Object_Technology_Internationalhttp://en.wikipedia.org/wiki/Object_Technology_Internationalhttp://en.wikipedia.org/wiki/Smalltalkhttp://en.wikipedia.org/wiki/VisualAgehttp://en.wikipedia.org/wiki/Eclipse_(software)#cite_note-3http://en.wikipedia.org/wiki/Eclipse_(software)#cite_note-VisualAge-0http://en.wikipedia.org/wiki/Eclipse_Foundationhttp://en.wikipedia.org/wiki/Eclipse_(software)#cite_note-4http://en.wikipedia.org/wiki/OSGihttp://en.wikipedia.org/wiki/Eclipse_(software)#cite_note-5http://en.wikipedia.org/wiki/Common_Public_Licensehttp://en.wikipedia.org/wiki/Eclipse_Public_Licensehttp://en.wikipedia.org/wiki/Free_Software_Foundationhttp://en.wikipedia.org/wiki/Free_softwarehttp://en.wikipedia.org/wiki/GNU_General_Public_Licensehttp://en.wikipedia.org/wiki/Eclipse_(software)#cite_note-6http://en.wikipedia.org/wiki/Eclipse_(software)#cite_note-6http://en.wikipedia.org/w/index.php?title=Mike_Milinkovich&action=edit&redlink=1http://en.wikipedia.org/wiki/Eclipse_(software)#cite_note-7http://en.wikipedia.org/w/index.php?title=Lee_Nackman&action=edit&redlink=1http://en.wikipedia.org/wiki/Chief_Technology_Officerhttp://en.wikipedia.org/wiki/Rational_Softwarehttp://en.wikipedia.org/wiki/Microsoft_Visual_Studiohttp://en.wikipedia.org/wiki/Sun_Microsystemshttp://en.wikipedia.org/wiki/Sun_Microsystemshttp://en.wikipedia.org/wiki/Eclipse_(software)#cite_note-8http://en.wikipedia.org/wiki/Object_Technology_Internationalhttp://en.wikipedia.org/wiki/Object_Technology_Internationalhttp://en.wikipedia.org/wiki/Smalltalkhttp://en.wikipedia.org/wiki/VisualAgehttp://en.wikipedia.org/wiki/Eclipse_(software)#cite_note-3http://en.wikipedia.org/wiki/Eclipse_(software)#cite_note-VisualAge-0http://en.wikipedia.org/wiki/Eclipse_Foundationhttp://en.wikipedia.org/wiki/Eclipse_(software)#cite_note-4http://en.wikipedia.org/wiki/OSGihttp://en.wikipedia.org/wiki/Eclipse_(software)#cite_note-5http://en.wikipedia.org/wiki/Common_Public_Licensehttp://en.wikipedia.org/wiki/Eclipse_Public_Licensehttp://en.wikipedia.org/wiki/Free_Software_Foundationhttp://en.wikipedia.org/wiki/Free_softwarehttp://en.wikipedia.org/wiki/GNU_General_Public_Licensehttp://en.wikipedia.org/wiki/Eclipse_(software)#cite_note-6http://en.wikipedia.org/w/index.php?title=Mike_Milinkovich&action=edit&redlink=1http://en.wikipedia.org/wiki/Eclipse_(software)#cite_note-7http://en.wikipedia.org/w/index.php?title=Lee_Nackman&action=edit&redlink=1http://en.wikipedia.org/wiki/Chief_Technology_Officerhttp://en.wikipedia.org/wiki/Rational_Softwarehttp://en.wikipedia.org/wiki/Microsoft_Visual_Studiohttp://en.wikipedia.org/wiki/Sun_Microsystemshttp://en.wikipedia.org/wiki/Sun_Microsystemshttp://en.wikipedia.org/wiki/Eclipse_(software)#cite_note-8

  • 8/16/2019 Final Report123

    45/69

    Fclipse can !e used to create a large array of software applications using languages

    ranging from +, %MM programs, to Cava. It is one of the most popular 

    development tools in !oth the open4source and commercial worlds.

    It provides Cava editing with validation, incremental compilation, cross4

    referencing, code assist: an OG9 Fditor: Gylyn: and much more.

    Fclipse is released under the Fclipse ;oundation, a commercially friendly license

    that allows organi

  • 8/16/2019 Final Report123

    46/69

    loaded, integrated, and e#ecuted. The primary purpose of the latform is to ena!le

    other tool developers to easily !uild and deliver integrated tools.

    ;eatures include>

    • upports the construction of a variety of tools for application development

    • upports an unrestricted set of tool providers, including independent

    software vendors (INs)

    • upports tools to manipulate ar!itrary content types (e.g., +TG9, Cava, %,

    C, FC5, OG9, and AI;)

    • ;acilitates seamless integration of tools within and across different content

    types and tool providers

    • upports !oth AUI and non4AUI4!ased application development

    environments

    Cava Development Tools (CDT)

    The CDT project provides the tool plug4ins that implement a Cava IDF supporting

    the development of any Cava application, including Fclipse plug4ins. It adds a Cava

     project nature and Cava perspective to the Fclipse ?ork!ench as well as a num!er 

    of views, editors, wi

    • Cava projects with source files arranged in package directories

  • 8/16/2019 Final Report123

    47/69

    • Fditing with keyword and synta# coloring, outline showing declaration

    structure

    %ode formatter 

    • @efactoring

    • earch

    • %ompare

    • %ompile 4 C%4compliant Cava compiler 

    • @un Cava programs in a separate target Cava virtual machine

    • De!ug programs with CD"4compliant Cava virtual machine

    0 "ndroid ource %ode

    The following step is optional.

    During "ndroid development it is very useful to have the "ndroid source code

    availa!le as "ndroid uses a lot of defaults.

    +aris eco maintains plugins with provides access to the "ndroid ource code.

    Use the Fclipse update manager to install two of his plugins.

    ' %reate an "ndroid Fmulator Device

    The "ndroid tools include an emulator. This emulator !ehaves like a real "ndroid

    device in most cases and allow you to test your application without having a real

    http://twitter.com/snpe60http://twitter.com/snpe60

  • 8/16/2019 Final Report123

    48/69

    device. Hou can emulate one or several devices with different configurations. Fach

    configuration is defined via an B"ndroid Nirtual DeviceB ("ND).

    To define an "ND press the device manager !utton, press B*ewB and maintain the

    following.

  • 8/16/2019 Final Report123

    49/69

    ress B%reate "NDB.This will create the device and display it under the BNirtual

    devicesB. To test if your setup is correct, select your device and press BtartB.

  • 8/16/2019 Final Report123

    50/69

    '2 3. Frror handling

    Things are not always working as they should !e. everal users report that get the

    following errors>

    '. roject ... is missing reuired source folder> EgenE

    . The project could not !e !uilt until !uild path errors are resolved.

    2. Una!le to open class file @.java.

  • 8/16/2019 Final Report123

    51/69

    To solve this error select from the menu roject 4R %lean.

    If you having pro!lems with your own code you can use the 9og%at viewer as

    descri!ed in 9og%at Niewer .

    http://www.vogella.de/articles/Android/article.html#viewshttp://www.vogella.de/articles/Android/article.html#views

  • 8/16/2019 Final Report123

    52/69

    S*STEM DESIGN

    DATA FLO DIAGRAM

  • 8/16/2019 Final Report123

    53/69

    Three-axis accelerometer

    Normal Value

    Report Drunk Driving

    Send SMS Alert to the Owner 

    elcome Voice Message

    Drunk Drive DetectionApp

    USE CASE DIAGRAM

  • 8/16/2019 Final Report123

    54/69

    Driver 

    Start App

    Welcome Message

    Select Option

    Owner 

     Alert SMS

    Drunk Drive Alert

    SE0UENCE DIAGRAM

  • 8/16/2019 Final Report123

    55/69

    Driver 

    Three-axisaccelerometer

    !nsa"e Driving

    WelcomeVoice

    message

    Threshold Value

    Owner 

    Send Alert with Car Number 

    Drunk Driving

    CLASS DIAGRAM

  • 8/16/2019 Final Report123

    56/69

     App

    ais

    ! ais" ais

    Normal value#$threshold value#$

    %ocation Module

    &rom position

    To position

    %ocation#$

    SMS Alertstring SMS

    SMS#$Tet#$

    Driver 

    Owner 

    ACTI)IT* DIAGRAM

  • 8/16/2019 Final Report123

    57/69

    Sa"e Driving App

    Three-axis accelerometer

    Normal Value

    Report Drunk Driving

    Send SMS Alert to the Owner 

    elcome Voice Message

  • 8/16/2019 Final Report123

    58/69

    S*STEM TESTING

      The purpose of testing is to discover errors. Testing is the process of trying

    to discover every conceiva!le fault or weakness in a work product. It provides a

    way to check the functionality of components, su! assem!lies, assem!lies andLor a

    finished product It is the process of e#ercising software with the intent of ensuring

    that the

    oftware system meets its reuirements and user e#pectations and does not fail in

    an unaccepta!le manner. There are various types of test. Fach test type addresses a

    specific testing reuirement.

    TYPES OF TESTS

    Unit testing

      Unit testing involves the design of test cases that validate that the internal

     program logic is functioning properly, and that program inputs produce valid

    outputs. "ll decision !ranches and internal code flow should !e validated. It is the

    testing of individual software units of the application .it is done after the

    completion of an individual unit !efore integration. This is a structural testing, that

    relies on knowledge of its construction and is invasive. Unit tests perform !asic

    tests at component level and test a specific !usiness process, application, andLor 

    system configuration. Unit tests ensure that each uniue path of a !usiness process

     performs accurately to the documented specifications and contains clearly defined

    inputs and e#pected results.

  • 8/16/2019 Final Report123

    59/69

    Integration testing

      Integration tests are designed to test integrated software components to

    determine if they actually run as one program. Testing is event driven and is more

    concerned with the !asic outcome of screens or fields. Integration tests

    demonstrate that although the components were individually satisfaction, as shown

     !y successfully unit testing, the com!ination of components is correct and

    consistent. Integration testing is specifically aimed at e#posing the pro!lems that

    arise from the com!ination of components.

    Functional test 

      ;unctional tests provide systematic demonstrations that functions tested are

    availa!le as specified !y the !usiness and technical reuirements, system

    documentation, and user manuals.

    ;unctional testing is centered on the following items>

    Nalid Input > identified classes of valid input must !e accepted.

    Invalid Input > identified classes of invalid input must !e rejected.

    ;unctions > identified functions must !e e#ercised.

    $utput > identified classes of application outputs must !e e#ercised.

    ystemsLrocedures> interfacing systems or procedures must !e invoked.

  • 8/16/2019 Final Report123

    60/69

  • 8/16/2019 Final Report123

    61/69

    document. It is a testing in which the software under test is treated, as a !lack 

     !o# .you cannot seeV into it. The test provides inputs and responds to outputs

    without considering how the software works.

    7.1 Unit T"tin$

    Unit testing is usually conducted as part of a com!ined code and unit test

     phase of the software lifecycle, although it is not uncommon for coding and unit

    testing to !e conducted as two distinct phases.

    Test strategy and approach

    !ie"d testing #i"" $e per%ormed manua""y and %unctiona" tests

    #i"" $e #ritten in detai".

    Test objectives

     

    A"" &e"d entries must #or' proper"y.

     

    (ages must $e acti)ated %rom t*e identi&ed "in'.

       +*e entry screen, messages and responses must not $e

    de"ayed.

    Features to be tested

     

    eri%y t*at t*e entries are o% t*e correct %ormat

     

    No dup"icate entries s*ou"d $e a""o#ed

     

    A"" "in's s*ou"d ta'e t*e user to t*e correct page.

  • 8/16/2019 Final Report123

    62/69

    7.2 Int$r!tion T"tin$

    oftware integration testing is the incremental integration testing of two or 

    more integrated software components on a single platform to produce failures

    caused !y interface defects.

    The task of the integration test is to check that components or software

    applications, e.g. components in a software system or one step up software

    applications at the company level interact without error.

    T"t R"u4t" "ll the test cases mentioned a!ove passed successfully. *o defects

    encountered.

    6! Acceptance Testing

  • 8/16/2019 Final Report123

    63/69

    User "cceptance Testing is a critical phase of any project and reuires

    significant participation !y the end user. It also ensures that the system meets the

    functional reuirements.

    T"t R"u4t" "ll the test cases mentioned a!ove passed successfully. *o defects

    encountered.

  • 8/16/2019 Final Report123

    64/69

    CHAPTER 7- CONCLUSION

    In this paper, we present a highly efficient mo!ile phone !ased drunk driving

    detection system. The mo!ile phone, which is placed in the vehicle, collects and

    analy

  • 8/16/2019 Final Report123

    65/69

    SCREEN SHOOTS

  • 8/16/2019 Final Report123

    66/69

    CHAPTER 8- REFERENCES

    &' C. ;a!er, Detection of Different 9evels of Nigilance !y FFA seudopectraV,

    in *eural *etwork ?orld, '3(243), pp. 184/, //3.

    & U.. *+T", Traffic afetyV, http>LLwww4nrd.nhtsa.dot.govLu!sL

    1'''0.pdf 

    &2 U.. %D%, Go!ile Nehicle afety4Impaired DrivingV,

    http>LLwww.cdc.govLGotorNehicleafetyLImpaired DrivingLimpaired4drv

    factsheet.html

    &3 G. +. 9ee, G. C. Gello and . @einert, Fmergency Department %hargesfor 

    Fvaluating Ginimally Injured "lcohol4Impaired DriversV, in "nnalsof Fmergency

    Gedicine, Nol. 83, *o. 3, pp. 8248, $ct. //.

    &8 U.. *+T", The Nisual Detection of D?I GotoristsV, http>LLwww.

    nhtsa.dot.govLpeopleLinjuryLalcoholLdwiLdwihtmlLinde#.htm

    &- . @esende, martphone %ompetition +eats Up ?ith Gany%hoicesV,

     *ews;actor *etwork, ept. //1, http>LLwww. newsfactor.comLstory.#htmlJstory

    idW-'-0'.

    http://www.cdc/http://www.cdc/

  • 8/16/2019 Final Report123

    67/69

    &0 G. 5oran, +ow the Go!ile ocial ?e! ?ill Gake //a mart hone

    $dysseyV, http>LLwww.independent.ieL!usinessLtechnologyLhow4the4mo!ile4social4

    we!4will4make4//4a4smart4phoneodyssey4'-/33.html.

    &1 A. Gies, i# *ew hones from "TXT> +ave a 9ookV, %?orld, Gar. 2/,

    //, http>LLpcworld.a!out.comLodL smartphonesLi#4*ew4hones4from4"T4amp4

    T.htm

    & *ew martphone ;amily ?ireless lan from %incinnati

    5ellV,http>LLwirelessplansinformation.!logspot.comL//1L'/Lnew4

    smartphonefamily4

    wireless4plan.html

    &'/ Y. Yhu and K. Ci, @eal Time and *on4intrusive Driver ;atigue

    GonitoringV,in The 0th International IFFF %onference on Intelligent

    Transportation

    ystems, pp. -804--, $ct. //3.

    &'' ". 5. "l!u, 5. ?idsten, T. ?ang, C. 9an and C. Gah, " %omputerNision4

    5ased ystem for @eal4Time Detection of leep $nset in ;atiguedDriversV, in

    //1 IFFF Intelligent Nehicles ymposium, pp. 842/, Cune//1.

    &' C. 9ee, C. 9i, 9. 9iu and %. %hen, " *ovel Driving attern @ecognitionand

    tatus Gonitoring ystemV, in ;irst pacific rim symposium, INT//-, pp. 8/34

    8', Decem!er //-.

    http://www.independent.ie/business/technology/how-the-mobile-social-web-will-make-2009-a-smart-phoneodyssey-1609944.htmlhttp://www.independent.ie/business/technology/how-the-mobile-social-web-will-make-2009-a-smart-phoneodyssey-1609944.htmlhttp://www.independent.ie/business/technology/how-the-mobile-social-web-will-make-2009-a-smart-phoneodyssey-1609944.htmlhttp://www.independent.ie/business/technology/how-the-mobile-social-web-will-make-2009-a-smart-phoneodyssey-1609944.html

  • 8/16/2019 Final Report123

    68/69

    &'2 ". N. Desai and G. ". +aue, Nigilance Gonitoring for $perator afety>"

    imulation tudy on +ighway DrivingV, in Cournal of afety @esearch,Nol. 20, *o.

    , pp. '24'30, //-.

    &'3 C. rajewski, D. ommer, U. Trutschel, D. Fdwards and G. AolLLwww.saa!net.comLtsnLpressL/-'/'2a.html .

    &'- ". +eitmann, @. %uttkuhn, ". "guirre, U. Trutschel and G. Goore4

    Fde,Technologies for The Gonitoring and revention of Driver ;atigueV,in

    roceedings of the ;ifth International Driving ymposium on +uman;actors in

    Driver "ssessment, Training and Nehicle Design, pp. 1'41-.

    &'0 N. D. 9ecce and G. %ala!rese, F#perimental ystem to upport @eal4Time

    Driving attern @ecognitionV, in "dvanced Intelligent %omputingTheories and

    "pplications ?ith "spects of "rtificial Intelligence "nnalsof Fmergency

    Gedicine, pp. ''4'', //1.

    &'1 ?ikipedia, AV entry, http>LLen.wikipedia.orgLwikiLAlo!al

    ositioningystem

    http://www.saabnet.com/tsn/press/061013a.htmlhttp://www.saabnet.com/tsn/press/061013a.html

  • 8/16/2019 Final Report123

    69/69

    &' G. ?ilcLLj!themes.comLanderwe!L

    & 9auncherro, http>LLwww.launcherpro.comL

    &2 Ao 9auncher, Ao Dev Team, http>LLwww.goforandroid.comL

    &3 D"I49a!or, Galicious oftware for martphones,V Technical @eport,

    //1.

    &8 en Dunham, Go!ile Galware "ttacks and Defense,V H*A@F

    //, //.

    &- "ndroid ecurity $verview, "ndroid open source project,

    http>LLsource.android.comLtechLsecurityLinde#.html

    &0 "tri#, Gotorola, http>LLwww.motorola.com