Coverage criteria [5, 4] are indispensable in evaluating the adequacy of testing effort and progress of real-world software projects. On one hand, there are many traditional coverage criteria, including line coverage, branch coverage, data-flow coverage, method coverage, for white-box testing when the source code are available. On the other hand, there are also coverage criteria, defined on the system or module interfaces, for black-box testing. An empirical study [3] observed that coverage-based techniques are also effective in detecting software faults. Recently, the booming of Android app market in the cloud has prompted many small teams and individuals to adventure in this market. We present a coverage analysis tool, called Android Black-box Coverage Analyzer (ABCA), that does not need the source code of the apps under test (AUT) but can still provide source code level coverage data. ABCA can thus be beneficial in the following two aspects. • Clients need protect their intellectual properties (IP) and would be reluctant to release the source code of their applications to the test service providers. In this aspect, ABCA could be a useful bridge between the clients and the test service providers and could eventually promote the test service industry to the mobile application developers. • ABCA makes it possible for the test service providers to gain business without leaving concerns of IP infringement to their potential clients. As a research project, ABCA also shows the solution techniques for collecting source code coverage data without access to the program source code. With the detailed coverage data, ABCA can also help diagnosing why some parts of the code cannot be reached or identifying those code segments related to certain bug traces. Academia can also use ABCA in researching coverage-based techniques for Android apps. To the best of our knowledge, the only coverage tool similar to ABCA and available to the public for Android apps is by Horváthy, Bognáry, Gergely, et al [1]. However their tool can only report coverage on the methods. In contrast, ABCA can report detailed coverage reports on lines, methods, and classes of the source code of the execution of Android APKs. ABCA runs on Microsoft Windows on PC and connects to Android devices via a USB line. It consists of two parts. • ABCA-instrumentor (ABCAI), that instruments the byte-code of an Android Application Package (APK) so that coverage data can be collected out of the execution of the APK. • ABCA-reporter (ABCAR), that monitors the execution of the instrumented APK and collects the coverage data from the APK to compile the final coverage report. In Figure 1, we show a typical sequence diagram of the activities in using ABCA. The sequence diagram shows the following steps in sequence. 1) A test engineer first gets the APK under test (AUT) in bytecode from her client. 2) Then the test engineer can use ABCAI to instrument the APK to include bytecodes for providing coverage data. 3) The test engineer connects the Android device to the PC and with the help of ABCAR, install the instrumented APK to the Android device via the USB line. At this step, the test engineer can also use option of ABCAR to import a coverage report from a previous test session. With this option, the test engineer can continue test sessions and accumulate test coverage across test sessions in a testing project. 4) Then the test engineer starts the instrumented APK with ABCAR. 5) The test engineer then feeds test input to the AUT on the device and the coverage data is collected by ABCAR via the USB line. This step can be repeated several times until the user decides to stop the test session. Various test case generation modules and tools can also be employed for high coverage and bug exposure. 6) After the test session is done, ABCAR generates a coverage report file. At the moment, the coverage report includes line coverage, method coverage, and class coverage. In this manuscript, we shall present the algorithms and techniques used in ABCA in section 2. We also explain some technical issues in our implementation in section 3. Then we report experiment of ABCA with several Android apps in the Google Play in section 4. Via the experiment, we can see that ABCA is effective in generating white-box coverage data without source code of the apps of Android.
Android Mini Projects
CSLA – An application using Android Capstone Project
INTRODUCTION With the convergence of traditional computers and mobile telephony, the new smart devices capable of running customized applications have been on the rise. These smart devices uses Android (the first comprehensive open source operating system) equipped with Dalvik virtual machine and Linux kernel. It is a platform that allows developers to develop and design applications which can turn simple cell phones into smart phones. Usually, people use their smart phones for social networking, business activities and various other purposes. There is a need for educational establishments to embrace this new mode of information dissemination. The developed system is going to help the students to locate their class rooms and staff according to the time table. Global Positioning System (GPS) and Google Maps is also integrated with CSLA which help users to follow the exact path to reach their desired destination.
LITERATURE REVIEW In year 2011, A Gomez-Goiri et al., proposed an application that reduces mobility of disabled person in supermarket as it maps all the products with the supermarket map [1]. In the year 2014, Karan Punjabi et al., proposed a bus locator via Short Message Service (SMS) android application which automates all aspects related to college bus arrival. It uses GPS receiver to get the current location of the Bus and SMS to inform the registered students when bus is near their destination [2]. In the year 2012, Diego Gargallo Tarin developed an application ‘UJI Smart Campus: the Place Finder’ which allows users to locate people and place in the campus. The application provides a base map with every room that locates rooms and connects peoples and displays them on a map [3]. In 2013, M.F.A Abdullah et al., presented a paper which proposed application ‘GPS and SMS based child tracking system’. It uses GPS and SMS based services that help parents to track children, parents need to send SMS to child phone to get his location [4]. In year 2012, Yizheng Liao et al., in his paper presents a library automation application that uses image processing algorithm to search for book in the library[5]. In year 2012, Michael Austin et al., in his paper proposed navigational instructions for locations on the campus of ‘Elizabeth City State University’, it uses GPS to get the location and tell the way to be followed to reach destination in university [6]. In year 2012, Birhanu Hailemariam developed an application ‘Received Signal Strength Indication (RSSI) based indoor localization system’ that uses existing wireless facility to locate a target object in indoor environment. The sensor reading used for the location estimation is the RSSI measured from the Access Points (APs) [7].
PROBLEM FORMULATION GNDEC face the challenging task of locating class rooms according to the new time table with the fall of new semester. They have to manually write schedule for their class rooms which is time consuming. Departments put up notices on the notice board for time tables. Students need to view map of the campus to locate class rooms. In manual system single class room can be allocated to more than one class simultaneously. Drawbacks of the manual system can be overcome by the CSLA. The application can be easily accessed by the user at any time.
Exploring the Malicious Android Applications and Reducing Risk using Static Analysis
INTRODUCTION The growth of mobile phone technology has revolutionized the whole world. As the number of users is increasing day by day, facilities are also increasing [16]. The increase in the usage of phone had made a drastic change in environment. [17]. Now mobiles are not used just for making calls, but instead they have innumerable uses as a Camera, Music player, Tablet PC, TV, and Web browser, Android operating system (OS) is mainly introduced with lot of advancement and its diverged features to make human life easier. The most widely used mobile OS on these days is Android [17] which plays a vital role in today’s market. The detection of the malicious application (malapps) out of the application (app) markets is an ongoing challenge. One of the key points of Android security mechanisms is permission control that restricts the access of applications (apps) to core facilities of devices [1]. Android forces apps to declare the permissions they require when they install them. The users can guard our privacy and security, by paying attention to android app permissions when installing those apps, where many users unaware about the permissions. The app declares its permissions when it is installed. In general, these permissions access cannot be controlled. The app displays what the requirements are and whether we need to accept or reject it. Permissions are abundant in the model. The problem is that most android users have no idea about the proper installation of an app. Many users, failed to read the [EULA] End User License Agreement in which think its a matter to quickly tap through when installing apps [9]. To protect against malware the android platform presents an application environment that ensuring the security to users and all developers. Hence, to securing an open platform the system is designed with these robust security architectures and rigorous security programs.
RELATED WORK On a recent survey [17], as reported on Wikipedia, the Google play store has nearly 1billion application where the increase in usage of android apps increases day by day. The android is open source were the people getting moved to the application. The android operating system and its apps play a vital role in the today’s world .So the focal target is towards attacking them. The threat has caused great rise in the malware1 , chargeware2 , and adware3 [7]. So, various analyses and research have been made to find better results on the malware detection and new technique involving the higher detection rate and accuracy. The main issue is when concerned with android its security, apparently the main cause is the malware. Earlier the malware detection was through a system call request in which based on only on request, where internal behavior is not analyzed. In terms of static it is based on privilege escalation attacks detection and prevention of attacks [14]. It includes various methodologies comprising the Component-based permission escalation, Application-level privilege escalation attack. In another work, a framework for segregation of software in android platform with application of security [8].MOSES represented as MOde-of-uses SEparation in Smartphones, where the android level semantics filtrations of irrelevant behaviors are done. On considering the dynamic analysis the work of the malware detection is based on Copper Droid where analyzing the android level semantics, characterizing the general behavior [13] .But it has certain limitation where the behaviors of android are not analyzed. Next Taint Droid based on android level semantics and filtering of the irrelevant behaviors [11]. Taint Droid is alerting the information leakage of unintended data to intended data. Profile Droid based on behaviors of the system and focus on the android level semantics [10]. Droid Scope focused on the android level semantics, analyzing the internal behaviors [15].
PROPOSED WORK In considering upon an installation of the app, permissions play a key role in it. Many users are unaware of installation permission where the users of ignorant to the malicious threats. Lots of unnecessary permission leaks to the unauthorized users where leading a malicious activity. Thus the proposed work is introduced in order to minimize the risk permission which preventing the privacy data to be leaked.
The efficient implementation of the Android kernel with China standard cryptographic algorithm
INTRODUCTION In recent years, with the rapid development of mobile Internet, mobile terminal intelligent devices have become popular, people use intelligent mobile terminal to obtain news information, social activities, entertainment shopping. Gradually, the intelligent mobile terminal has replaced the PC as an indispensable part of human life, work, and study. In many mobile phone operating system, The Android operating system [1] based on Linux, founded by Googles Open Handset Alliance, is one of the hottest device operating system. And its open source and easy to operate the characteristics, which has been attracting much attention of the equipment manufacturer and consumers of electronic products. With the popularity of Android devices, Android’s open source feature as the risk brought about also threatens the security of the Android platform, Personal information of their phones have become the most anxious for the user. Android system itself has provided a complete set of encryption system, that is, the use of traditional encryption algorithm for sensitive data within the system and application software signature and encryption to enhance system security. With the hardware processing speed and decryption means continue to improve, the traditional encryption algorithm is facing a serious challenge, Such as the confidentiality of the RSA algorithm with the increase of the key length, it does necessary to increase the key length in order to improve the security of the data, This will reduce the speed of the algorithm. Traditional encryption algorithm is not only been further studied, also its been attacked. There is a cracked security risks, in which it makes the personal information stored in the Android system and sensitive data faced a serious threat. Cryptography algorithm, especially the encryption algorithm is the core of information security, so in a high security environment, we should use a better performance of the password algorithm. In recent years, China has also made great progress in cryptographic algorithms, The Chinese cryptography professor has cracked the world’s two major cryptographic algorithms MD5 [2] and SHA1[3]. National Commercial Cryptography Administration has also announced SM2 algorithm, SM3 algorithm, and SM4 algorithm. Therefore, considering the security of cryptographic algorithms and Chinese law in communications security, this research and analysis for the encryption mechanism of Android kernel, the domestic encryption algorithm SM2/SM3/SM4 encryption algorithm is added to the original Android to replace the AOSP system, transformation of safety of domestic cryptographic algorithms based on Android kernel. In order to improve the encryption efficiency of the system, provide confidentiality and integrity protection, and promote the application of National cryptographic algorithms.
ANDROID SECURITY MECHANISM AND ENCRYPTION SERVICE A. Security model Android uses a layered system architecture, which consists of the Linux kernel layer, the hardware abstraction layer, the system runtime library layer, the application framework layer and the application layer [4]. Figure 1 shows the architecture of Android. Android is based on the Linux operating system kernel, which implements the core functions of hardware device driver, process and memory management, network protocol stack, power management and so on. In addition, Android also increased the number of mobile devices for specific functions, such as Low Memory Killer, Ashmem (Anonymous Shared Memory), and Binder. These enhancements to help further the Androids memory management, inter process communication (IPC) and other aspects of security. Android mechanism also uses the security features provided by the Linux kernel, using Linux user isolation mechanism to achieve Android application sandbox mechanism. During the installation phase of the application, Android automatically provide for each application with unique UID (User ID), application execution on the specific process in the UID operation, in addition, each application has a special data read and write permissions for their own directory. So the application sandbox mechanism ensures that each application runs in its own independent space, the mutual interference between each other, thus greatly enhance the protection of user privacy, and stability and running application security [5]. Because the Android application sandbox mechanism makes a process can access the memory of another process space, so as to achieve inter process communication, Binder as a new IPC mechanism for Android came into being. Binder is based on the design and conception of OpenBinder, and realizes the distributed component architecture based on abstract interface. The Binder mechanism in the kernel space to increase the process identifier, thus, the caller can not exceed the allowed permission system to obtain through forged identity, so it can prevent the occurrence of right phenomenon, improve safety. B. Encryption Service The encryption service of the Android system can protect the system security based on the Java encryption architecture [5]. Supported encryption algorithms includes: DES algorithm, AES algorithm, DH algorithm, RSA algorithm, MD5 algorithm, SHA-1, SHA-256, etc.. DES (Data Encryption Standard) is one of the most popular block cipher which also widely used in the world [6]. It is developed by the United States IBM company, it is the length of the plaintext packet of 64 bits, the key length of 56 bits. To express in three stages, the first is the initial replacement, then has the same function in the 16 round of transformation, and finally after an inverse initial permutation; where was the key point, first through a replacement function, then the encryption process of each round, produce a sub key through a circular left shift and replacement. The decryption algorithm of DES is the same as what the encryption algorithm, while the sub key is used in reverse order [7]. AES (Advanced Encryption Standard)is a block encryption standard adopted by the federal government[8]. Issued by the National Institute of standards and Technology (NIST) that has become one of the most popular algorithms for symmetric key encryption [9]. AES algorithm is a block cipher with block length and key length. The key length and the block length may be independently designated as 128 bits, 192 bits, and 256 bits. AES algorithm is the most basic transformation unit ”round” multiple iterations. The round function is composed of four different internal functions: ByteSubShiftRowMixColumnAddRoundKey. The decryption of the algorithm is only in the opposite direction inversion encryption [7]. DH (Diffie-Hellman) key exchange protocol is the first public key cryptosystem proposed by W.Diffie and M.Hellman in 1976 [10]. The purpose of the algorithm is to enable two users to exchange keys safely, and to obtain a shared session key. The security of the algorithm based on the difficulty of finding discrete logarithms. The RSA algorithm was constructed by R.Rivst, A.Shamir, and L.Adleman in 1978 [11]. It is also the most mature and perfect public key cryptosystem.
“I am in ASEAN”: A Learning Media Application On Android Operating System
INTRODUCTION The ASEAN community [2] including Thailand, Laos, Vietnam, Cambodia, Myanmar, Malaysia, Singapore, Indonesia, Brunei Darussalam and Philippines indicates the power of regional collaboration among Southeast Asian countries. As each country have its own culture, beliefs, history and way of life and being a part of ASEAN does not change these differences. Furthermore, each country aims to protect and to celebrate one own territory and diverse identities but wholeheartedly develops the region through mutual collaboration. In order to advance together as a global community, a more learning about the neighbors in the ASEAN community is necessary and importance. The children and youths, who require a solid foundation of knowledge in order to stride forward alongside their peers in the community, must know this fact. “I am in ASEAN” was developed as a learning media application that works on Android operating system. The target group is children and youths. The structure of the application is comprehensible and easy to use. A user can use the application to learn about ASEAN and will have more confident of being in the ASEAN community.
OBJECTIVE A. This application has been developed for children and youths to support better understanding of each of ASEAN The application has been developed for children and youths ages of 7 to 12 years to get better understanding of the 10 member countries of ASEAN community. The content is focused on the basics knowledge of the ASEAN community because it is the first step of preparation to be a part of the community. B. As an alternative to learn about ASEAN. “I am in ASEAN” learning media developed to provide a medium for knowledge and as an alternative to the study of knowledge about ASEAN. Focus on the basics of the ASEAN Community. This will be the first step in preparing for entry into ASEAN Community. A user can use and learn about ASEAN and becoming more confident in the ASEAN community.
BACKGROUND The terminologies and technologies used in this project are briefly described as follows. A. An android Operating System An android Operating System [1] is a free and open source mobile operating system for mobile devices such as mobile phones and computer tablet developed by Google. Android has a large community of developers writing applications that extend the functionality of devices, written primarily in the Java programming language. B. Learning media Learning media is application presented content that aims to enable students to learning and using by themselves. C. Interactive media Interactive media [3] normally refers to products and services on digital computer-based systems which respond to the user’s actions by presenting content such as text, graphics, animation, video, audio, games, etc.
CONCLUSION Our implementation aims to provide the knowledge of ASEAN for children and youths to support better understanding of each of the 10 member countries. We applied knowledge combined with technologies into this application. We tested “I am in ASEAN” learning media application with 20 children that the results are satisfactory. The children enjoy with this application and also to enhance the skills to learn and remember because it is a creative media and can be used to educate the children actually.
FoodForCare: An Android Application for Self-Care with Healthy Food
INTRODUCTION Nowadays, the majority of people do not pay attention to food that they eat due to a lack of time and ignorance of health conditions. However, health care especially with food topics tends to have an influence on some groups of healthy people in society. Food causes the body to gain nutrition and is essential to life. Healthy food is important for the system inside the body because the food choices each day affect the health condition. Good nutrition is an important part of leading a healthy lifestyle [1]. In addition to healthy food, self-care is another action of humans that can cause a healthy lifestyle [2]. People can take care of themselves by using the knowledge of self-care, which means that they should learn to control, deliberate and selfinitiate the food consumed and calories burned each day. Especially for patients, self-management is very important and crucial for them to get rid of their illness. Non-communicable diseases (NCDs) [3] are the diseases that are not caused by bacteria or infection through touching or carriers, but are caused by the result of lifestyle and the risky behaviors in eating. NCDs have become the number one cause of deaths in Thailand with more than 300,000 fatalities each year [4]. NCDs consist of Diabetes Mellitus, Cardiovascular and Cerebrovascular Diseases, Cancer, Hypertension, Obesity, etc. Thus, people would be able to have a healthy life without diseases and reduce the risk of NCDs if they usually exercise and eat nutritional food daily. Recently, technology devices such as smart phones and tablets have an impact on everyday lives. The significant growth is a mobile application often used every day. Lately, many people tend to use a mobile phone instead of a personal computer. Android is one of the most popular operating systems in the world. Especially in Thailand, Android has the highest proportion of Thai mobile operating system market share [5]. Hence, the researchers use this opportunity to make use of all of this information by creating an application on Android mobile devices. Therefore, FoodForCare is developed to support users, especially patients with NCDs diseases, to record their eating habits. Also, analyze nutrition and calories each day for users to be able to maintain their food intake and heal their ill health condition. The list of food in the application was got from various books such as healthy food [6][7], food for diabetic patients [8][9], and food that use to prevent from diseases [10]. Lastly, the researchers would like to encourage people to pay more attention to the food that they eat. According to the statement “We are what we eat” refers to people having a healthy well-being with the food that they eat everyday.
BACKGROUND AND RELATED WORK
A. Self-Care by Healthy Food and Weight Control Self-care [11] is an act when people intend to take care of themselves with respect to physical, mental and emotional health. They may use self-care to prevent themselves from illnesses, try to lose weight, or challenge their self to be healthier. The researchers are focusing on Self-care with nutritional food. Food is the topic that people often overlook, they are too busy or do not have time to consider eating healthy and nutritional food. They usually substitute it with fast food or a snack loaded with sugar instead of a regular nutritional meal. The lack of adequate nutrition will cause people to encounter with many diseases. People can easily self-check their body measurement by having weight control, which can be defined by Body Mass Index (BMI) [12], Basal Metabolic Rate (BMR) [13], and Total Daily Energy Expenditure (TDEE) [14]. All of these can be calculated by weight, height, age, gender and the daily activities of that person. It is essential to know the overall body status to be aware of health conditions and body metabolism.
B. Survey existing applications A number of existing applications related to food, diet and calories control were explored. Nine interesting applications closely related to the development of FoodForCare are briefly discussed as follows. Table I displays feature comparison of the nine applications with FoodForCare which are CalTracker[ 15], Calories Diary [16], F oodiEat[ 17], Kcal Check Calories[18], Calories Counter[19], Low Calories Recipe[20], Food That Help Your Body Heal[21], My Diet Diary[22], and Clean Food[23]. Most of the applications have only some basic features such as record, calculate and analyze calories in each day. However, all applications surveyed still had some weak points. Many applications do not provide nutritional information, clean food and a food guide. It would be more convenient for users to use one application like FoodForCare that can provide all features.
C. Related work S. Kasim et al. [24] described an Android application created with the main purpose to help users managed their calories consumed per day. It would help ensure users receive a better and healthier life and decrease the diseases problem. The significant advantage of this application is that it can compare calories eaten and burned in a day. Moreover, S. B. Ahire et al. [25] discussed the ontology semantic framework that would suggest Health Care system to give accurate information based on user input. It helps society to have a healthy food by categorizing and suggesting knowledge of food and sensible amounts of exercise by using a decision tree algorithm. L. 1. Paiva et al. [26] discussed the strategies that would change the increasing number of NCDs patients. A lack of knowledge in nutrition information leads to an unhealthy diet. They introduced the Knowledge-Attitude-Behavior (KAB) Model, which focuses on behavioral change in diet that may be caused by a lack of time or money, habits, social norm, and available technologies. Furthermore, S. Scerri et al. [27] described the review of systems and challenges in the area of human computer interaction (HCI) to give a better way to reduce the risk of health problems. The purpose is to enhance the usage of computer technologies with nutrition and human health.
oHealth: A Self-Care Android Application for Senior Citizens with Hypertension
INTRODUCTION At present, the number of senior citizens in the world tends to increase every year. As reported by the World Bank the number of senior citizens in the world is around 0.5 billion people or 8.2% and around 74.3% of them have hypertension [1]. In the same way, the number of Thai senior citizens tends to increase. According to the National Statistical Office, the number of senior citizens in Thailand is around 10 million people or 14.9% [2]. The number of senior citizens shows that Thailand’s society will become a senior’s society soon. From the information of Thai Health Promotion Foundation, senior citizens in Thailand is around 4.1 million people or 41.0% who have high blood pressure or hypertension [3]. High blood pressure is the most common risk factor to other diseases such as stroke, kidney disease, paralysis, and so on. Therefore, high blood pressure is a very important disease that needs to be treated. Nowadays, there are many medical devices that can use to monitor people health in ever day life such as heart rate monitor, glucose monitor, blood pressure monitor, pedometer and weighing scale. Blood pressure monitors are also now available to use anywhere. Accordingly, senior citizens can use these devices to measure blood pressure at home. The hypertension patient should measure the blood pressure and take care oneself at home that is the best way to measure blood pressure [4] [5]. Moreover, most of people do not know the factors that impact the value of blood pressure such as body mass index (BMI), eating too much sodium, eating too less potassium, alcohol addiction, smoking, lack of physical activities, stress and taking the medicine according to the doctor. Thus, they should know more the basic knowledge of hypertension. In 2016, smartphone owner in Thailand is about 24 million people and about 2.5% of them are senior citizens [6]. Recently, Thai people are increasingly interested in selfcare but most user interface of self-care applications are not friendly for senior citizens e.g. small text, small button [7]. The main objective of this research work is to design and develop a self-care android application for senior citizens with hypertension to guide, track and treat hypertension and to reduce the risk of having other incurrent diseases. Hence, this oHealth application will be a useful tool for senior citizens with hypertension to take care of themselves.
BACKGROUND AND RELATED WORK A. Senior Citizens The definition of senior citizens from the United Nations is people who are more than 60 years of age. The senior citizen can separate into 4 types which are the young – old (60 to 69 years old), the middle-aged old (70 to 79 years old), the old-old (80 to 90 years of age), and the very old-old (90 to 99 years old). At present, the number of senior citizens in Thailand tends to increase every year. When seniors get older, health problems occur with them in many ways [1]. B. High blood pressure (Hypertension) Normally, blood pressure when the heart pump blood (systolic) is below 120 mmHg and blood pressure when the heart relaxed (diastolic) is below 80 mmHg. Blood pressure can be changed over time, especially when people sleep, wake up, exercise, stress, or exited. But it will be back to normal blood pressure when people finish their activities. If people finish their activities, but the blood pressure still higher than 120/80 mmHg. This means people can have high blood pressure (Hypertension) [8].
High blood pressure can divide into three levels, which are prehypertension (120-139/80-89 mmHg), high blood pressure stage 1 (140-159/90-99 mmHg), and stage 2 (more than 160/100 mmHg) [4]. There are two types of high blood pressure, which consist of primary and secondary high blood pressure. More than 90% of hypertension patients have primary high blood pressure. It is the most common type that occurs in people. And another 10% have secondary high blood pressure. There are many causes, factors and treatments of primary and secondary high blood pressure as summarized in Table 1 [8] [9] [10].
High blood pressure can divide into three levels, which are prehypertension (120-139/80-89 mmHg), high blood pressure stage 1 (140-159/90-99 mmHg), and stage 2 (more than 160/100 mmHg) [4]. There are two types of high blood pressure, which consist of primary and secondary high blood pressure. More than 90% of hypertension patients have primary high blood pressure. It is the most common type that occurs in people. And another 10% have secondary high blood pressure. There are many causes, factors and treatments of primary and secondary high blood pressure as summarized in Table 1 [8] [9] [10].
From the observation, most existing applications do not provide medicine reminder, BP reminder, knowledge, treatment, and daily emotion features in their applications. Accordingly, oHealth was proposed in order to provide all of alternative features from every application that are suit for users. Furthermore, oHealth has design that supports senior citizens directly, such as use minimalist design, provide large icons, avoid the use of irrelevant information, and maximize contrast and avoid use of excessively bright colors [17]. D. Blood pressure devices In the present, there are many blood pressure devices that can connect with smartphones, such as Welch Allyn 767, Omron M7, Withings, iHealth BP7, QardioArm, etc. According to the comparison of four smartphone compatible blood pressure monitors research [18], BP5 device can measure with higher accuracy than the other devices. Blood pressure 5 (BP5) produced by iHealth Labs, Inc., can work with both Apple and Android devices by connecting via Bluetooth V3.0. This device can measure blood pressure and pulse. The pressure accuracy of BP5 is minus 3 and plus 3 mmHg. The pulse accuracy of BP5 is minus 5 and plus 5 percentages. The range that BP5 can measure blood pressure is around 0 to 300 mmHg. E. High blood pressure data set A data set from the Statistical Society of Canada is used learning and classifying hypertension levels. Thirteen variables relevant to hypertension causes and factors are selected for analysis which are systolic blood pressure, gender, marital status, smoking status, age, weight, height, body mass index (BMI), exercise level, alcohol use, stress level, hypertension level and salt (NaCl) intake level from food [19].
The oHealth system architecture as shown in Fig. 1 has five main actors. The first actor is senior citizens with hypertension who can use oHealth by connecting with Wi-Fi or a mobile Internet data in Android device. The second actor is the administrator who maintains the database on Azure SQL Database cloud server. The third actor is doctor, assistant, and family members who receive history data and blood pressure analysis report of senior citizens. The fourth actor is BP5 device which can measure blood pressure. The last actor is azure machine learning which gets all the collected data and analyze hypertension levels for the user. The oHealth application requires the user to register as a member by providing their personal information and log-in. The application offers six main features. The first feature is user profile, which keeps senior’s information. The second feature is measure blood pressure, which measures blood pressure by connecting blood pressure device. The third feature is knowledge, which gives knowledge about hypertension, food, exercise, and medicine. The fourth feature is treatment, which records food dairy, medicine intake, and exercise for using in hypertension analysis and treatment. The fifth feature is reminder, which uses to set reminder to measure blood pressure and take medicines in each day. The last feature is analysis, which analyzes hypertension levels with azure machine learning system by using Multiclass Logistic Regression algorithm [20] to create a predictive model and shows the result to the user. The analysis results and history data can be shared to doctors, assistant, or family members.