City.Risks D4.3 Mobile-Appproject.cityrisks.eu/wp-content/uploads/2017/08/D4.3.pdf · Mobile App....
Transcript of City.Risks D4.3 Mobile-Appproject.cityrisks.eu/wp-content/uploads/2017/08/D4.3.pdf · Mobile App....
DeliverableD4.3
MobileApplication
Editor Pfennigschmidt,S.(FF)
Contributors Burkard,S.,Fischer,F.(HTW),FotouhiTehrani,P.,Fuchs-Kittowski,F.,HellriegelJ.(FF),Himberger,S.(HTW),Koukoulas,N.(SPH),Papadakis,N.(SPH),Pfennigschmidt,S.,Restel,H.,Rösler,M.(FF)
Version 1.0
Date 24.02.2017
Distribution RESTRICTED
Ref. Ares(2017)1742441 - 31/03/2017
City.Risks DeliverableD3.2
©City.RisksConsortium2
ExecutiveSummary
This report is a short description accompanying the City.Risks Mobile App(deliverable D4.3). It describes the integration of the app into the overallinfrastructure of the City.Risks system, its functionality and basic implementationstructure.
AnnexIcontainstechnicalimplementationanddeploymentdetails.
City.Risks DeliverableD3.2
©City.RisksConsortium3
TableofContents
1.INTRODUCTION.............................................................................................4
1.1.OverviewoftheCityRisksInfrastructureArchitecture.....................................4
1.2.MobileAppRequirements................................................................................5
2.OVERVIEWOFCITY.RISKSMOBILEAPPFUNCTIONALITY.........................................6
3.OVERVIEWOFCITYRISKSMOBILEAPPCOMPONENTS...........................................9
ANNEXI:TECHNICALDETAILS............................................................................10
I.1DevelopmentEnvironment...............................................................................10
I.2DeploymentEnvironment.................................................................................10
I.3MobileAppModuleDependencies...................................................................10
I.4AppBackendComponentDependencies..........................................................11
City.Risks DeliverableD3.2
©City.RisksConsortium4
1. Introduction
1.1. OverviewoftheCityRisksInfrastructureArchitecture
The following figure represents a general overview of technical architecture ofCity.Risksandshowstheintegrationofthemobileappwithintheoverallsystem.
Fig.1:SystemarchitectureofCity.Risks.
MobileApp. Themobileapp representsone interface for citizens tocommunicatewith the City.Risks infrastructure and access its functionality. It connects to thesystem using the services of the App Backend,which in turn communicate to theCorePlatformand theRiskManagementandResponseService (RMRS) to forwardandreceiveinformation.
Core Platform. The Core Platform is a set of services, including a database, amessagebroker,andsenderand loggingcomponents, thatarecentral toCity.Risksfunctionality.
RiskManagementandResponseService(RMRS).TheRMRSaddsreactiveaswellaspro-activefunctionalitiestotheCity.Risksframework.Thosefunctionalities include,for instance, (semi-)automatic real-time analysis of incoming reports (frommobileappusers,Webapplicationusers,orexternalsources)orcommunityrequests,basedonsemanticalandspatio-temporalanalyticsmethods.
Operation Centre. The Operation Centre represents a set of management andoperational tools for public authorities or private companies operating City.Risks.These tools and interfaces let agents and their supervisors handle incidents incooperation with the decision support provided by RMRS. Other componentssupportsimulationsandstatisticalanalysisofsecurityandriskrelateddata.
App Backend
Mobile AppMessage Queue
Sender
R
Core Database
RMRS
Notification Generator
Message Queue Operation Center
City.Risks DeliverableD3.2
©City.RisksConsortium5
1.2. MobileAppRequirements
TheCity.Risksmobileappsupportsavarietyofusecasesoftheproject,allofwhicharedescribedindeliverableD2.4.Thesupportedusecasesareasfollows.
• UC1:TheftofPersonalBelongings• UC3:InformationGatheringandDisseminationforOngoingEvents• UC4:Tourists’andWomen’sSafety• UC5:CitizenEngagement• UC6:NeighborhoodSafety
The detailed app requirements that have been identified are documented indeliverableD2.4. The general concept of the app has been detailed in deliverableD2.5.
City.Risks DeliverableD3.2
©City.RisksConsortium6
2. OverviewofCity.RisksMobileAppFunctionality
Inordertosupporttheusecases listed inSec.1.2theCity.RisksMobileAppoffersthefollowingfunctionality.
UC1:TheftofPersonalBelongings
• RegisterorunregisteraCity.Riskstheftdetectiontagwithorfromthesystem• ActivateanddeactivateaCity.Riskstheftdetectiontag• Manage tagprofile information (e.g., label, description, image representing
theitemthetagisattachedto)• Detect City.Risks theft detection tags in the background and report tag
sightingstothesystem
Fig.2:Theftdetectiontagmanagement.
UC3:InformationGatheringandDisseminationforOngoingEventsUC6:NeighborhoodSafety
• View safety-related incident information in a list, on a map, and in anaugmentedrealityview
• Viewincidentdetails(e.g.,publicalerts,userreports)• Send image, video, or textual reports about safety-related incidents to the
City.Risksoperationcentre• Addreportstoanalreadyexistingincident
City.Risks DeliverableD3.2
©City.RisksConsortium7
Fig.3:Incidentviewingandreporting.
UC4:Tourists’andWomen’sSafety
• Retrieve a safe route to the nearest “safe harbour” (e.g., Police, Station,TownHall,Hospital)
• Navigatearouteusingamaporanaugmentedrealityview
Fig.4:Safety-awareroutingandnavigation.
UC5:CitizenEngagementUC6:NeighborhoodSafety
• Send Calls for Witness (incl. images, textual, and spatio-temporaldescriptions)totheCity.Riskscommunity
• Getincontactwithothercommunitymembersthroughchatfunctionality
City.Risks DeliverableD3.2
©City.RisksConsortium8
Fig.5:Requestforwitnessandcommunitychatfunctions.
City.Risks DeliverableD3.2
©City.RisksConsortium9
3. OverviewofCityRisksMobileAppComponents
Mobileapp.Themobileappismodularizedalongenduserfunctionalityorservices.For all the functions, necessary to support such a service (or use case) a set ofmodules and interfaces has been developed that implement the service on themobiledeviceandontheserverside.Thegoalwastohavetheservicemodulesasindependentfromeachotheraspossiblewhileallowingbasicmodulestobesharedbyothers.
Inso far, theCity.Risksmobileapprepresentsone incarnationofsuchanappthatincorporatesall services. Themodule approach, however, allows to create variousappsthatcanofferdifferentcombinationsofservicestoitsusers.
TheCity.Risksmobileappcomprisesthefollowingmodules
• basicsupportmodules(e.g.,forservercommunication)• useridentitymodule• devicemodule• theftdetectionmodule• incidentreportingmodule• requestwitnessmodule• safety-awareroutingandnavigationmodule
Onemodule thatplaysa specific role is theAugmentedRealitySDK thathasbeendevelopedfortheAndroidplatform.
The App relies also on other services from the project as well as third partycomponents.TheindividualmoduledependenciesarelistedinAnnexI.
Appbackend.Theappbackend facilitates thecommunicationbetweenthemobileappandtheothercomponentsof theCity.Risks infrastructure. It isalsostructuredalongservicesandcomprisesofthefollowingcomponents.
• backendsupportmodules• theftdetectionendpoint• incidentreportingendpoint• useridentitymanagementendpoint• devicemanagementendpoint• requestforwitnessendpoint
Allofthecomponentsdependonvariousthirdpartycomponents.ThedependenciesarelistedinAnnexI.
City.Risks DeliverableD3.2
©City.RisksConsortium10
AnnexI: TechnicalDetails
The following sections describe technical details of the platforms used to developanddeploycomponentsaswellaslist internalandexternaldependenciesbetweenthedifferentmodules.
I.1 DevelopmentEnvironment
MobileApp. ThemobileApphasbeendevelopedas anativeapp for theAndroidsmartphone platform using Android Studio 2.2.3 and the latest Androiddevelopmenttools.
App backend. The App backend has been implemented as a set of HTTP RESTservicesbasedonnode.js(nodejs.org).
I.2 DeploymentEnvironment
MobileApp.Inordertosupportthetheftdetectionfunctionality,whichisbasedonBluetoothLE technology, themobileapp requiresanAndroidSmartphone runningAndroid 5.0 Lollipop (API Level 21) or higher. For all other functions a minimalversionofAndroid4.4KitKatisrequired.
AppBackend.AllservicesoftheappbackendaredeployedassingleinterconnectedDockercontainers(docker.io)runninginaLinuxUbuntu16.04.1LTSenvironment.
I.3 MobileAppModuleDependencies
Table1:Mobileappmoduledependencies
Module Dependencies
theftdetectionmodule • supportmodules
incidentreportingmodule
• supportmodules• AugmentedRealitySDK
useridentitymodule • supportmodules
devicemanagementmodule
• supportmodules
requestwitnessmodule• supportmodules• ApplozicChatFramework(applozic.com)
City.Risks DeliverableD3.2
©City.RisksConsortium11
safety-awareroutingandnavigationmodule
• supportmodules• Safety-wareRoutingService
supportmodules• libsodium1.0.3(libsodium.org)• jts1-14(sourceforge.net/projects/jts-topo-suite)
AugmentedRealitySDK
I.4 AppBackendComponentDependencies
Table2:Appbackendcomponentdependencies
Component Dependencies
theftdetectionendpoint• backendsupportmodules• MongoDB(mongodb.org)• Mosquitto(mosquito.orgorotherMQTTbroker)
incidentreportingendpoint
• Backend:supportmodules• MongoDB(mongodb.org)• Redis(redis.io)• Mosquitto(mosquito.orgorotherMQTTbroker)
useridentityendpoint• backendsupportmodules• MongoDB(mongodb.org)
devicemanagementendpoint
• backendsupportmodules• MongoDB(mongodb.org)• Mosquitto(mosquito.orgorotherMQTTbroker)
requestwitnessendpoint
• backendsupportmodules• MongoDB(mongodb.org)• Mosquitto(mosquito.orgorotherMQTTbroker)