Upload
bhaskar-rao-p
View
215
Download
0
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