Smart Innovations in Engineering and Technology [1st ed. 2020] 978-3-030-32860-3, 978-3-030-32861-0

This easy-to-understand book discusses applications of current technologies and the foundations for their extension into

385 69 14MB

English Pages XII, 284 [296] Year 2020

Report DMCA / Copyright

DOWNLOAD FILE

Polecaj historie

Smart Innovations in Engineering and Technology [1st ed. 2020]
 978-3-030-32860-3, 978-3-030-32861-0

Table of contents :
Front Matter ....Pages i-xii
Center for Advanced Studies in Systems Engineering (Tomasz Górski, Michał Stryga)....Pages 1-24
Fuzzy Job Scheduling for Testing as a Service Platform (Paweł Lampe)....Pages 25-33
Online Multi-criteria Scheduling for Testing as a Service Cloud Platform (Jarosław Rudy)....Pages 34-52
Cloud-Enabled Warship’s Position Monitoring with Blockchain (Tomasz Górski, Karolina Marzantowicz, Maciej Szulc)....Pages 53-74
LaTeX in Cloud—Unknown Tool in Technical Documents’ Creation (Brzozowska Ewelina, Paniczko Emilia, Werachowski Marcin)....Pages 75-89
Designing API for Using Publicly Accessible Data Sets (Tomasz Górski, Ewa Wojtach)....Pages 90-103
Tensor Decompositions in Multimodal Big Data: Studying Multiway Behavioral Patterns (Alina Rakhi Ajayan, Firas Al-Doghman, Zenon Chaczko)....Pages 104-118
Policy-Based Consensus Data Aggregation for the Internet of Things (Firas Al-Doghman, Zenon Chaczko, Alina Rakhi Ajayan)....Pages 119-130
Internet of Things Is Changing Teaching of Technical Subjects at UTS (Wentian Zhang, Christopher Chiu, Jan Szymanski, Zenon Chaczko, Steven Su, Jing Zhou)....Pages 131-143
Model Driven Architecture in Containers-Based Software Development (Tomasz Górski, Bartosz Chrabski)....Pages 144-155
Low Cost Wireless Micro-Electro-Mechanical-Systems Accelerometers Linear Sensor Model (Zhengyu Yu, Zenon Chaczko, Jiajia Shi)....Pages 156-165
Assessment of a Multi-agent RFID Platform for Industrial Logistic Operations (Zenon Chaczko, Christopher Chiu, Zhengyu Yu)....Pages 166-182
Multimodal Access Control: A Review of Emerging Mechanisms (Mohammad Alsawwaf, Zenon Chaczko)....Pages 183-200
Parallelized Processing in Kinematic Positioning for Single Frequency GNSS Receiver (Hiroyuki Hatano, Atsushi Ito)....Pages 201-218
An Overview of Multi-layer Security System Using Biometrics (Zenon Chaczko, Harssh Sethi, Mohammad Alsawwaf)....Pages 219-231
Tracking of Multiple Moving Objects Using Two Dimensional Beamforming Based on Low Cost Crossed Sensor Array (Jiajia Shi, Robin Braun, Zhengyu Yu, Liu Chu, Quan Shi, Zhihuo Xu)....Pages 232-242
A Numerical Approach to Solving the Aerial Inspection Problem (Radosław Grymin, Wojciech Bożejko, Jarosław Pempera)....Pages 243-252
A Markovian Approach to the Mobility Management for the D2D Communications in 5G Cellular Network System (Shouman Barua, Robin Braun)....Pages 253-265
Learning Classifiers for Multimodal Image Detection (Anup Kale, Zenon Chaczko)....Pages 266-280
Back Matter ....Pages 281-284

Citation preview

Topics in Intelligent Engineering and Informatics 15

Ryszard Klempous Jan Nikodem   Editors

Smart Innovations in Engineering and Technology

Topics in Intelligent Engineering and Informatics Volume 15

Series Editors Imre J. Rudas, John von Neumann Faculty of Informatics, Óbuda University, Budapest, Hungary Anikó Szakál, Óbuda University, Budapest, Hungary Editorial Board Ildar Batyrshin, Mexico József Bokor, Hungary Bernard De Baets, Belgium Hamido Fujita, Japan Toshio Fukuda, Japan Fumio Harashima, Japan Kaoru Hirota, Japan Endre Pap, Serbia Bogdan M. Wilamowski, USA Advisory Editors P. Baranyi, Hungary U. Bodenhofer, Austria G. Fichtinger, Canada R. Fullér, Finland A. Galántai, Hungary L. Hluchý, Slovakia M. O. Jamshidi, USA J. Kelemen, Czech Republic D. Kocur, Slovakia P. Korondi, Hungary G. Kovács, Hungary L. T. Kóczy, Hungary L. Madarász, Slovakia CH. C. Nguyen, USA E. Petriu, Canada R.-E. Precup, Romania S. Preitl, Romania O. Prostean, Romania V. Puri, Italy G. Y. Sallai, Hungary J. Somló, Hungary M. Takács, Hungary J. Tar, Hungary L. Ungvari, Germany A. R. Várkonyi-Kóczy, Hungary P. Várlaki, Hungary L. Vokorokos, Slovakia

This book series is devoted to the publication of high-level books that contribute to topic areas related to intelligent engineering and informatics. This includes advanced textbooks, monographs, state-of-the-art research surveys, as well as edited volumes with coherently integrated and well-balanced contributions within the main subject. The main aim is to provide a unique forum to publish books on mathematical models and computing methods for complex engineering problems that require some aspects of intelligence that include learning, adaptability, improving efficiency, and management of uncertain and imprecise information. Intelligent engineering systems try to replicate fundamental abilities of humans and nature in order to achieve sufficient progress in solving complex problems. In an ideal case multi-disciplinary applications of different modern engineering fields can result in synergistic effects. Informatics and computer modeling are the underlying tools that play a major role at any stages of developing intelligent systems. Soft computing, as a collection of techniques exploiting approximation and tolerance for imprecision and uncertainty in traditionally intractable problems, has become very effective and popular especially because of the synergy derived from its components. The integration of constituent technologies provides complementary methods that allow developing flexible computing tools and solving complex engineering problems in intelligent ways.

More information about this series at http://www.springer.com/series/10188

Ryszard Klempous Jan Nikodem •

Editors

Smart Innovations in Engineering and Technology

123

Editors Ryszard Klempous Wrocław University of Science and Technology Wrocław, Poland

Jan Nikodem Wrocław University of Science and Technology Wrocław, Poland

ISSN 2193-9411 ISSN 2193-942X (electronic) Topics in Intelligent Engineering and Informatics ISBN 978-3-030-32860-3 ISBN 978-3-030-32861-0 (eBook) https://doi.org/10.1007/978-3-030-32861-0 © Springer Nature Switzerland AG 2020 This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use. The publisher, the authors and the editors are safe to assume that the advice and information in this book are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or the editors give a warranty, expressed or implied, with respect to the material contained herein or for any errors or omissions that may have been made. The publisher remains neutral with regard to jurisdictional claims in published maps and institutional affiliations. This Springer imprint is published by the registered company Springer Nature Switzerland AG The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland

Foreword

Smart Innovations in Engineering and Technology is written by combining the best attributes of good technical books which are ease of reading, understanding, potential to predict, and impact on the future. It provides the foundations of current and future technologies with applications. It directs a telescopic view, beams a searchlight into emerging technologies and their applications. It combines the best attributes of computing, mathematics, artificial intelligence, Internet of Things (IoT), sensors, biometrics, and software engineering to create an application picture and domain. The early chapters cover a description of a Centre of Advanced Studies in military research from Gdynia, Poland and technologies emerging from there. Military research has always created the future ahead of public adoption of such technologies. Stages in carrying out innovative projects, project scopes, risks, and the best project management practices are explained. It further prescribes features on fuzzy job scheduling for testing as a service platform. It also looks at software development and testing in cloud-based software engineering. Nokia’s internal Testing as a Service (TaaS) platform is presented for testing efficiency in the face of growing BTS software complexity in fifth-generation (5G) networks. It also shows how to apply blockchain technology for monitoring warship positions. Then tensors, a less known high-order matrix extension with potential in future big data analysis, is described with a demonstration on how to use tensors for decomposing big data sets. Mining deep data patterns in large data sets using GPU to reduce complexity and decompose algorithms could eventually reduce processing times with distributed computing. In the rest of the book, Yu, Chaczko, Chiu, Hartano, Ito, and Braun give readers juicy applications of Internet of things, sensors, and biometrics. As is, the book is a rich resource for postgraduate students and researchers looking for teaching and reference materials and guides into areas of modern and future research and

v

vi

Foreword

application interests. The book commends itself to wide readership interests among graduate students in deep learning, cloud computing, artificial intelligence, IoT, and biometric systems. April 2019

Prof. Johnson Agbinya Head of School Information Technology and Engineering Melbourne Institute of Technology Melbourne, Australia

Preface

The book contains the research endeavors from two conferences: • 5th International IBM Cloud Academy Conference, ICACON 2017: Wrocław, Poland. • 5th Asia-Pacific Conference on Computer Assisted and System Engineering, APCASE 2017: Guilin, Guangxi, China. The proposed book, Smart Innovations in Engineering and Technology, is composed of 19 chapters. All the chapters were transformed and updated variants of notable chosen papers of the abovementioned conferences. The conferences spanned a wide range of topics in the fields of System and Application Engineering, along with notable technical achievements in the cross-disciplinary topics of Cloud Computing, Big Data, the Internet of Things (IoT), Machine Learning, and Mobile Communications. Chapters one to five are based on cloud computing infrastructures and technology advancements: “Center for Advanced Studies in Systems Engineering” by Górski and Stryga, where they consider the Academic Cloud, a high-performance virtual desktop infrastructure designed for an academic environment; “Fuzzy Job Scheduling for Testing as a Service Platform” by Lampe, where he examines testing in the cloud using reactive and fuzzy-based reactive simulated annealing solvers to evaluate the merits of the proposed solution; “Online Multi-criteria Scheduling for Testing as a Service Cloud Platform” by Rudy, where he discusses scheduling for cloud testing, with a system overview and metaheuristic solving methods considered for experimentation; “Cloud-Enabled Warship’s Position Monitoring with Blockchain” by Górski, Marzantowicz, and Szulc, where they elaborate on blockchain to determine positioning using the Hyperledger and BlueMix Platform-as-a-Service environment; and “LaTeX in Cloud—Unknown Tool in Technical Documents’ Creation” by Brzozowska, Paniczko, and Werachowski, where they study LaTeX cloud processing as a viable editing solution for engineering report compilation.

vii

viii

Preface

The work continues through chapters six to ten which cover Big Data and the Internet of Things: “Designing API for Using Publicly Accessible Data Sets” by Górski and Wojtach, where they develop an Application Programming Interface using public data sets with open-source software; “Tensor Decompositions in Multimodal Big Data: Studying Multiway Behavioral Patterns” by Ajayan, Al-Doghman, and Chaczko, where they consider data analysis using tensor decomposition for knowledge representation and behavioral inferences; “PolicyBased Consensus Data Aggregation for the Internet of Things” by Al-Doghman, Chaczko, and Ajayan, where they use consensus data aggregation for IoT using analytical hierarchical processes with Bayesian prioritization; “Internet of Things Is Changing Teaching of Technical Subjects at UTS” by Zhang, Chiu, Szymanski, Chaczko, Su, and Zhou, where they provide an IoT study for pedagogical purposes and its significance on university learning practices; and “Model Driven Architecture in Containers-Based Software Development” by Górski and Chrabski, where they report on model-driven design and its applicability for virtual computing applications using the Docker Services Profile. This is followed by chapters eleven to fifteen which consider cross-disciplinary advancements in hardware and software computing: “Low Cost Wireless MicroElectro-Mechanical-Systems Accelerometers Linear Sensor Model” by Yu, Chaczko, and Shi, where they examine a low-cost wireless MEMS along with the system design and architecture; “Assessment of a Multi-agent RFID Platform for Industrial Logistic Operations” by Chaczko, Chiu, and Yu, where they discuss multi-array beamforming approaches for item localization for academic projects; “Multimodal Access Control: A Review of Emerging Mechanisms” by Alsawwaf and Chaczko, which is about access mechanisms and biometrics discussion using OpenFace and Histogram of Oriented Gradients; “Parallelized Processing in Kinematic Positioning for Single Frequency GNSS Receiver” by Hatano and Ito, comprising of kinematic processing for a single frequency global satellite position system; and “An Overview of Multi-layer Security System Using Biometrics” by Chaczko, Sethi, and Alsawwaf, where they summarize multi-layered security with the latest biometric detection methods. Lastly, the final chapters from sixteen to nineteen examine data analysis and recognition in multidisciplinary concerns: “Tracking of Multiple Moving Objects Using Two Dimensional Beamforming Based on Low Cost Crossed Sensor Array” by Shi, Braun, Yu, Chu, Shi, and Xu, expanding on 2D beamforming with ultrasonic sensor arrays for object trackability with minimal outlay; “A Numerical Approach to Solving the Aerial Inspection Problem” by Grymin, Bożejko, and Pempera, which examines aerial inspection using unmanned aerial vehicles with 2-Opt algorithm and simulated annealing; “A Markovian Approach to the Mobility Management for the D2D Communications in 5G Cellular Network System” by Barua and Braun, advancing Markovians for device-to-device communications applied to modern mobile wider area networks; and “Learning Classifiers for Multimodal Image Detection” by Kale and Chaczko, a thorough examination of learning classifiers for scene analysis, as well as the simulation work and analysis for the proposed methods.

Preface

ix

The best attributes of good technical books include how easy they are to understand their contents, as well as the potential to predict and have an impact on the future in areas covered by the work. This book belongs to such a category by providing applications of current technologies and foundations for their extension into emerging areas for the future. The book therefore has the potential to impact on current and future research and applications. Smart Innovations in Engineering and Technology combines the best attributes of computing, mathematics, artificial intelligence, Internet of Things, sensors, biometrics, and software engineering to create an application picture and domain. The editors would like to express their thanks to the reviewers for their efforts in this work by which all chapters have achieved a good level and quality. The list of reviewers are as follows: Grzegorz Borowik, Wojciech Bo_zejko, Lucia Carrion Gordon, Zenon Chaczko, Christopher Chiu, Anup Kale, Sunil Mysore Kempegowda, Konrad Kluwak, Carmen Paz Suarez Araujo, Antonio Pereira Dos Santos, and Jan Szymanski. We would like to thank the foreword author Prof. Johnson Agbinya, Head of School Information Technology and Engineering at the Melbourne Institute of Technology for his solid and substantive work on the evaluation of the presented book chapters. Special thanks must go to Prof. Cezary Madryas, the Rector of the Wrocław University of Science and Technology for his essential and financial support. The editors are grateful to all the authors for their excellent work. Thanks are also due to Christopher Chiu for his invaluable editorial assistance and effort in bringing out the volume nicely in time. Finally, we would like to thank Springer-Verlag for the smooth cooperation in the publication of this volume. Wrocław, Poland June 2019

Ryszard Klempous Jan Nikodem

Contents

Center for Advanced Studies in Systems Engineering . . . . . . . . . . . . . . Tomasz Górski and Michał Stryga

1

Fuzzy Job Scheduling for Testing as a Service Platform . . . . . . . . . . . . Paweł Lampe

25

Online Multi-criteria Scheduling for Testing as a Service Cloud Platform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Jarosław Rudy Cloud-Enabled Warship’s Position Monitoring with Blockchain . . . . . . Tomasz Górski, Karolina Marzantowicz, and Maciej Szulc LaTeX in Cloud—Unknown Tool in Technical Documents’ Creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Brzozowska Ewelina, Paniczko Emilia, and Werachowski Marcin Designing API for Using Publicly Accessible Data Sets . . . . . . . . . . . . . Tomasz Górski and Ewa Wojtach

34 53

75 90

Tensor Decompositions in Multimodal Big Data: Studying Multiway Behavioral Patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Alina Rakhi Ajayan, Firas Al-Doghman, and Zenon Chaczko Policy-Based Consensus Data Aggregation for the Internet of Things . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 Firas Al-Doghman, Zenon Chaczko, and Alina Rakhi Ajayan Internet of Things Is Changing Teaching of Technical Subjects at UTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 Wentian Zhang, Christopher Chiu, Jan Szymanski, Zenon Chaczko, Steven Su, and Jing Zhou

xi

xii

Contents

Model Driven Architecture in Containers-Based Software Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 Tomasz Górski and Bartosz Chrabski Low Cost Wireless Micro-Electro-Mechanical-Systems Accelerometers Linear Sensor Model . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 Zhengyu Yu, Zenon Chaczko, and Jiajia Shi Assessment of a Multi-agent RFID Platform for Industrial Logistic Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 Zenon Chaczko, Christopher Chiu, and Zhengyu Yu Multimodal Access Control: A Review of Emerging Mechanisms . . . . . 183 Mohammad Alsawwaf and Zenon Chaczko Parallelized Processing in Kinematic Positioning for Single Frequency GNSS Receiver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 Hiroyuki Hatano and Atsushi Ito An Overview of Multi-layer Security System Using Biometrics . . . . . . . 219 Zenon Chaczko, Harssh Sethi, and Mohammad Alsawwaf Tracking of Multiple Moving Objects Using Two Dimensional Beamforming Based on Low Cost Crossed Sensor Array . . . . . . . . . . . 232 Jiajia Shi, Robin Braun, Zhengyu Yu, Liu Chu, Quan Shi, and Zhihuo Xu A Numerical Approach to Solving the Aerial Inspection Problem . . . . . 243 Radosław Grymin, Wojciech Bożejko, and Jarosław Pempera A Markovian Approach to the Mobility Management for the D2D Communications in 5G Cellular Network System . . . . . . . . . . . . . . . . . 253 Shouman Barua and Robin Braun Learning Classifiers for Multimodal Image Detection . . . . . . . . . . . . . . 266 Anup Kale and Zenon Chaczko Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281

Center for Advanced Studies in Systems Engineering Tomasz G´orski1(B) and Michal Stryga2 1

Faculty of Navigation and Naval Weapons, Institute of Naval Weapons and Computer Science, Polish Naval Academy, Gdynia, Poland [email protected] 2 IBM Polska Sp. z o.o., Warszawa, Poland [email protected]

Abstract. The paper describes management of project POIS.13.01. 00-00-007/12 establishing the Center for Advanced Studies in Systems Engineering (CASE) at Military University of Technology (MUT) in Warsaw, Poland. The project was financed from the European Union program, Infrastructure and Environment Operational Programme 2007– 2013, activity 13.1, Infrastructure of higher education. In order to complete the project it was necessary to deal with the following issues: short time of the project, innovation and complexity of implemented solutions, the need for the use of European Union procedures which are much more restrictive than university ones. The article presents a description of the scope of the project. The paper brings risks and project issues that arose during the project. On the other hand, the authors introduces best practices that have proven themselves as risk mitigation strategies or measures taken to solve project issues. Proper requirements specification is one of the most important practices. So, the paper describes the biggest tender intended to build a server room and launch the academic cloud for CASE. The authors recapitulates rules of the successful planning, preparation and conducting of the tender’s procedure. As a result of the tender and consecutive actions the Academic Cloud was implemented at the university. The paper presents three main elements of the Academic Cloud: project cloud, virtual desktops infrastructure and high performance computing solution. Moreover, the authors summarizes the paper and outlines directions for further work. Keywords: Requirements specification · Project management · Public tender · Cloud computing · Virtual desktops infrastructure · High performance computing

1

Introduction

The subject of the article is project management of building the complex IT solution financed from the European Union (EU) resources on the example of c Springer Nature Switzerland AG 2020  R. Klempous and J. Nikodem (eds.), Smart Innovations in Engineering and Technology, Topics in Intelligent Engineering and Informatics 15, https://doi.org/10.1007/978-3-030-32861-0_1

2

T. G´ orski and M. Stryga

the project Restructuring of building no. 65 for the purposes of the Center for Advanced Studies in Systems Engineering MUT in Warsaw, POIS.13.01.00-00007/12 [3]. The Project Manager of this project was the first author of the article (Tomasz G´orski) pursuant to the power of attorney no 241/RKR/P/2012 issued by Rector of the Military University of Technology in the period from 01.01.2013 to 31.12.2015. The project was realized within the framework of the Infrastructure and Environment Operational Programme 2007–2013, activity 13.1, Infrastructure of Higher Education. During 01.05-19.12.2012 the work was underway on obtaining funding. There were over 40 projects in the contest and the best 4 received financing. The project was classified in the second place. The Agreement with the amount of funding 37 347 447 PLN was signed 19.12.2012. The full scope of the project in the target budget was planned to achieve during the period of 3 years. In order to carry out the project several important issues were indicated to be addressed. The problem was a short execution time. The project began at the end of the Infrastructure and Environment Operational Programme 2007– 2013. Another difficulty was the innovation and the complexity of implemented solutions. There should have been current knowledge and skills of looking ahead on the purchased equipment and software in the requirements specification. The key issue was the need to follow EU regulations [13], that are far more rigorous than the university procedures. Furthermore, EU procedures impose the obligation to use unlimited public tenders [1]. Conducting the EU project at MUT consists of three stages: the preparation of application for funding and collection of project, conducting the project itself and launching the infrastructure as well as maintaining the permanence of the project. These are truly three different projects. The article focuses on the stage of carrying out the right project. The following section of the article presents a description of the scope of the project. The next chapter describes risks and project issues that have emerged during its implementation. The subject of project management success factors is still valid [15]. The following section provides best practices that have proved as good strategies for risk mitigation or measures applied to resolve project issues. The consecutive section describes the scope of the biggest tender. Next section consists of recapitulation of requirements specification gathered for the tender. The next section presents three main elements of the Academic Cloud: Project Cloud, High Performance Computing Cloud and Virtual Desktops Infrastructure. The article ends with a summary and directions for further work using potential created during conducting the project POIS.13.01.00-00-007/12.

2

Description of the Project Scope

The project POIS.13.01.00-00-007/12 was aimed at creation of the Center for Advanced Studies in Systems Engineering (CASE) with reconstruction and upgrading of the one of buildings (Fig. 1) of the Military University of Technology. Actions of the center shall focus on training IT specialists with expanded program of architectural issues, for constructing complex systems as well as building

Center for Advanced Studies in Systems Engineering

3

Fig. 1. The view of the building no. 65 in the present condition.

the competence enabling partnerships with leading world producers of software. A new specialty Systems engineering at the Computer science field of study shall be created. Within CASE the research work shall be carried out which provide solutions for real problems existing in commercial enterprises and institutions of the public sector. Students participating in this type of research work shall obtain extremely high qualifications and become sought-after specialists on the labor market. The Academic cloud (Fig. 2) shall find its application in three main areas. Firstly, it will enable the academic staff and the students flexible creation of application platforms and development environments, e.g. databases, Java environments or solutions for Business Process Management. Secondly, access to all the resources shall be ensured for minimum 500 simultaneously working users via virtual desktops available from both from workstations in labs and computers working in academic campus network. Thirdly, computing environment of High Performance Computing Cloud shall be used in teaching process and scientific projects requiring high power and short reaction times, necessary for complex calculations or processing of large data sets. Operation of the Center shall result in dynamic cooperation with entrepreneurs, both in order to prepare future graduates to work, as well as running joint Research and Development projects, implemented with usage of the built infrastructure. Ten innovative specialized laboratories have been created that are necessary for the process of teaching in modern information technology areas: Laboratory of advanced computer graphic techniques and biometrics, Laboratory of robotics, Laboratory of computer technology basis, micro-controllers of embedded computing systems, Laboratory of cryptology, Laboratory of multimedia techniques, Laboratory of telemetry, The crisis management laboratory, Laboratory of computer networks and IP telephony, Laboratory of large-format visualization and augmented simulation (Fig. 3), Laboratory of IT Systems Engineering (Fig. 2).

4

T. G´ orski and M. Stryga

Fig. 2. Server room with devices to service cloud computing as well as Laboratory of IT Systems Engineering.

Fig. 3. Laboratory of large-format visualization and augmented simulation.

Furthermore, in CASE ten new lecture rooms have been created. All the labs are equipped with computer all-in-one type. The labs and lecture rooms have been equipped in short-throw projectors that are intended to cooperate with the multimedia boards, particularly useful in education. All the labs and teaching rooms are equipped in multimedia boards. The project shall contribute to the long-term qualifications improvement of graduates of the Computer Science studies, offered by the Faculty of Cybernetics. Delivered knowledge shall have primarily practical nature.

Center for Advanced Studies in Systems Engineering

3

5

Risks and Issues in the Project

The Project Manager enumerates the following factors negatively influencing implementation of the project POIS.13.01.00-00-007/12: • short time of project implementation in the environment of public and military university, • the lack of experience in implementation of this scale projects at the Faculty of Cybernetics, • expectations of a wide range of staff in relation to the purchases within the project, • the need to settle construction works performed before starting the project, • the lack of indirect costs in the project, • negative experiences of Intermediary Institution during cooperation with the different faculty of MUT in preceding project of this type, • the lack of eligible costs for financing the project management team, • the initial composition of the project management team, • failure to comply with decisions of the Steering Committee by the central and faculty administration, • avoiding to participate in the Steering Committee meetings by some of its members, • weak financial condition of MUT. The basic risk was a short time of the project implementation. The project was implemented by using the sources of financing in the 2007–2013 and measures for its implementation were allocated from 19.12.2012—the date of signing the Agreement for funding. The cut-off date of disbursement of the funds allocated was 31.12.2015, the closing date of the program financing. The implementation period of the project lasted 3 years. Therefore, the above mentioned significant scope of the project had to be carried out in a short time. The issue is closely associated with the problem of hierarchy of people at the university. A huge problem for the academic community is execution of commands of the person with Rector’s power of attorney. Especially, when the Project Manager operates in an extremely limited period of time, that enforces decisive actions. In addition, the Faculty of Cybernetics was not prepared to conduct so big and long-term project. There was no previous project experience on this scale in the area of investment in infrastructure. The Faculty of Cybernetics implemented scientific-research projects with budgets of several million PLN. This project’s budget beyond 43 million PLN was by an order of magnitude bigger from previous projects. Furthermore, in the investment project the Project Manager is required to make all planned purchases of software and equipment. A complete list of the software and equipment are set out in Annex 18 to the funding Agreement Statement of Works and Qualitative Factors (Annex no. 18). In the case of this project the statement contained 311 positions specifying type of fixed asset: permanently installed under the project (T), the portable fixed asset (P), intangible

6

T. G´ orski and M. Stryga

and legal values (N). During the project the Project Manager was forced to deal with expectations of a wide range of employees at the Faculty of Cybernetics to finance any necessary things that were outside the scope of the project, i.e. were not included in the application for funding and were not included in Annex 18. The Project Manager assertiveness ran up against huge discontent and growing opposition of the faculty community. A great challenge for the Project Manager turned out to be the settlement of construction works, with the scope of the project, which have been performed before starting the project. This is due to the fact, that these works were carried out without compliance with EU procedures. In addition, in scientific-research projects there are indirect costs for both the faculty and university and in the investment project there aren’t any. In this area dissatisfaction of administration also aroused because they could not spend project money to finance the operation of the faculty and the university. Furthermore, the previous negative experience of Intermediary Institution concerning cooperation with the university resulted in lack of trust and a very harsh initial collaboration. The next project issue was the composition of the project team—members. During the project, it was necessary to change the team members repeatedly. Staff changes made in the project were due to the lack of tasks implementation in the long term or open declaration of inability to their implementation on grounds of lack of competence (and inability of competence acquisition). There were also cases of human fear before carrying out the tender procedures for amounts exceeding one million PLN (lack of experience or a bad experience). The amount of several hundred PLN of allowance for team work management might be one of causes of such behavior. For comparison, in scientific-research projects, most of the money goes to project team. The weak financial condition of MUT affected the project tremendously. For example, as a result of the positive clearance of construction works, more than 4 200 000 PLN of the refund entered on the accounts. The money was immediately transferred from the project accounts, contrary to the decision of the Steering Committee. The money was to be maintained for CASE launching and was immediately transferred against decisions undertaken (PI1 in Table 2) on the Steering Committee meeting. The money described in PI1 until the closure of the project 15.12.2015 was not returned. In addition, the decisions of the Steering Committee were not respected by the Rector and the central and faculty administration. It was difficult to conduct the project without involving on the MUT Rector decisions. The project issues were provided at the Steering Committee and the ways of solving them were accepted, however in the consequence they were not respected. For example, the Administrative Manager of the Faculty of Cybernetics who was supposed to support the project did not comply with the decision of the Steering Committee. The key issue of the project was failure to follow the Steering Committee decision requiring him to come into the team for project management. This was due to the desire to control the project without taking responsibility for it. Providing

Center for Advanced Studies in Systems Engineering

7

the project issues at the Steering Committee resulted in a problem, especially in the years 2014–2015, the Steering Committee members meetings. The problem concerned the MUT Rector, Dean of the Faculty of Cybernetics at MUT and MUT Chancellor, which means 3 out of 5 of its members. As a result the problem of composing the Steering Committee appeared, and there were no key persons to talk in order to solve the problems. The Project Manager was left alone with the problems. In 2015 the Rector practically did not participate in the Steering Committee meetings but only signed notes of its meetings. Fortunately, a great help in terms of organization of Steering Committees was provided by MUT Vice-rector for Education. Despite various problems and pressures, the project was carried out successively. The efficiency of carrying out the project stemmed from decisions undertaken in appropriate time and implementing them in force immediately. Competence of the Project Manager in performing the tasks caused among the superiors desire to entrust any works, they had problems with to the Project Manager. The assertiveness of the Project Manager met with a huge disgruntlement. However, in one case of provided aid it could not be effective as manager did not take decisions in accordance with prompts and in appropriate time.

4

Best Practices of the Project Management

In the view of the presented scope and problems the question arises as how to proceed to achieve the success of the project. First of all, preparation of the project is crucial at the stage of writing the application for funding. The scope of the project must have been described in form of Annex 18 Statement of Works and Qualitative Factors to the funding agreement. Moreover, components of the project should be identified and people responsible for them must be appointed. The schedule should encompass the entire scope of the project. Preparation is still essential, during the project, where the key issue is to efficiently and precisely prepare tenders and conduct tenders’ procedures. As far as tender’s preparation is concerned, the interdisciplinary of the project required openness to new knowledge and analytical skills. The experience of the Project Manager within the requirements specification for complex IT systems appeared really advantageous. For example, the biggest tender in the project of the server room construction for more than 20 000 000 PLN, was being prepared for more than a year. The prepared tender documents positively passed ex-ante control of Intermediary Institution without comments. The unlimited tender procedure was announced and resolved for the first time without protests. In addition, after resolving, the tender procedure positively passed another ex-post control of Intermediary Institution, once again without comments. This particular tender was more broadly described later in the paper. Moreover, the selection of the project specialists with appropriate knowledge, vision and engagement, who have clear ideas for particular project elements, was truly fundamental. Furthermore, in order to start CASE, its particular components were distributed for

8

T. G´ orski and M. Stryga

launching and action to the people who had contributed the specific idea into the project. As a result, decentralized management of elements of the established infrastructure was obtained. In consequence, an agility of operation was achieved by granting responsibility to team members for a smaller range of equipment and works related. The fundamental issue for the Project Manager is to build confidence in the project management team. The key issue is to select appropriate people for the project management team. The project management team consisted of 23 people: Steering Committee—4 people, the Project Manager—1 person, Project office— 2 people, Public procurement group—2 people, Financial and accounting service group—3 people, Construction supervision group—3 people, Substantive team— 6 people, Promotion group—2 people. The harmonized team project was set up successfully which conducted the project with energy and enthusiasm (originally: negative attitudes). However, the team members changed during the project. Some people were replaced and others changed their attitude and became very valuable members of the team. There were also completely new people, mostly young, for whom it was a chance to gain knowledge and experience. For example, Public procurement group finally consisted of 2 people. These individuals were selected from Section of Public Procurement of MUT by the Project manager. Initially, the person from administration of the Faculty of Cybernetics had no experience in the implementation of complex tender procedures and avoided participation in tenders. The Project Manager developed a sense of trust within the team also in the field of invariability of the adopted findings. In the management team it was important to apply the same rules for all team members without exception. Applying the agreed rules with no exceptions is the key issue. For example, this rule was adopted while the implementation of the purchases in Annex 18. Only included items in Annex 18 to the funding Agreement Statement of Works and Qualitative Factors were bought. The use of selected elements of the proven methodology of the project management is also significant. Among the most known and applied in projects with fixed budget it can be enumerated the following methods: PMBOK and PRINCE2 [9,10]. In the project POIS.13.01.00-00-007/12 elements of PRINCE2 methodology were used [2]. One of the fundamental tasks of project manager is a risk management. A risk management practices can influence the success of IT project [14]. Moreover, Van Os et al. [17] emphasize how important is risk management in cooperation between stakeholders. So, sustained risk assessment and mitigation is crucial in project management [12]. During the project the Project Manager regularly assessed the situation and maintained the list of project risks. The list was always presented and verified on the Steering Committee. For example, in Table 1 the list of project risks was presented (state on the date 07.05.2015). Furthermore, the Project Manager led and updated at least once a quarter, the list of project issues to resolve. For example, in Table 2 the list of project issues was provided (state on the date 07.05.2015).

Center for Advanced Studies in Systems Engineering

9

Table 1. List of the project risks. State on the date 07.05.2015. Risk number

Risk description

Strategy of risk mitigation

R1

Lack of team members for finance management on the level of Faculty of Cybernetics and financial supervision on behalf of MUT

Bringing the Faculty of Cybernetics Administrative Manager into the project team and to supervise the project finance of MUT Quaestor (quarterly financial reports to the Steering Committee)

R2

Lack of maintaining the finan- Maintenance of the amounts of the cial liquidity of the project for received refinancing on the project implementing tenders account until the fulfillment of all Agreements in the project

R3

Protests and delaying tenders

The large tenders implementation and potential separation of smaller tenders with potentially problematic elements

R4

Verification and possible changes of the project team members due to overloading by other tasks and the degree of involvement in the project works

Preparation of Annex to MUT Rector’s regulation of the appointment of the project team for implementation of the project

R5

Taking the money got in The MUT Quaestor commitment, by advance out of the project the MUT Rector, not to take money accounts by the MUT Quaestor received in advance from the project accounts and not to burden them with any additional costs

It is also best practice to organize the project Steering Committee regularly every 3 months. The author took care to do not allow deadlines of Steering Committee meetings to be moved (e.g. P17 in Table 2). Such behavior is compatible with the rule Demonstrate value iteratively [8] and agile project management [16]. The clearly defined and respected course of such a meeting is essential. After each Steering Committee meeting a note should be drawn up, which must be signed by all the members of the Steering Committee. It was helpful to apply the rules imposed by the EU regulations of conducting the project. A very good practice required by the Intermediary Institution (II) is a continuous monitoring of the full range of project with monthly reporting to Intermediary Institution in the form of monitoring cards. A monitoring card contains three main elements: • information about contracts: fulfilled agreements, agreements in realization, tenders during the tender procedures, planned tenders procedures, • the actual incurred cost in the quarters and anticipated cost in future quarters of the project’s schedule, • project and product indicators.

10

T. G´ orski and M. Stryga Table 2. List of the project issues. State on the date 07.05.2015.

Issue number

Description of project issue

Way of solving the problem

PI1

Lack of funding for tenders, that MUT Rector’s decision and have not received money in advance Quaestor commitment to immediate repayment of money on the project account in the amount of 4 241 055 PLN

PI2

Quaestor has not applied to MUT MUT Rector’s decision and Rector decision Quaestor commitment to comply the Project Steering Committee decisions

PI3

Difficulties in obtaining additives in a agreed amount for the very good working team members. As a result, people reliably working and engaging in activities in the project are punished for their good work

PI4

Overloading the Project Manager The decision of MUT Rector to with the tasks on the basic position reduce the Project Manager’s obligin MUT atory teaching hours about half the number of hours in academic year 2014/2015

PI5

Far too long a time of tasks imple- Appropriate motivating mentations by certain people ’sup- related to the project porting’ the project management team and, in some cases, refusing execution of the Steering Committee decisions

PI6

The lack of arrangements for the Room no. 04 for the needs of the Server room and Laboratory of IT Systems engineering—Dean did not make the decision for 3 months to transfer the room to IT Systems Institute, in the tender documents signed by the Dean software and equipment from the tender were supposed to go to the Institute

PI7

Dean extends deadlines of the Steer- Request for not extending previing Committees: current one by ously set deadlines of Steering Com3 weeks, the previous one by two mittee meetings weeks

Taking/decision making by the MUT Rector of the limit and the duration of additives for individuals in the project

workers

Equipment and system software shall go to new material unit at the Faculty of Cybernetics. Room no. 04, in the building no. 65 will be at the Faculty level. The specialized software goes to the new unit of Laboratory of IT Systems Engineering of materials management to the IT Systems Institute

Center for Advanced Studies in Systems Engineering

11

Monitoring of the developed value should also be used. The Project Manager used indicators: percentage of project financial implementation (amounts spent), the percentage of financial implementation of tender procedures (fulfilled and executed tenders procedures). Another best practice imposed by II was updating the project schedule at least twice a year. It helps in clearing and approving the closed quarters as well as monitoring savings and spending it efficiently. The constant cooperation with Intermediary Institution is required. Furthermore, it was required by II to maintain separate accounting for the project, the plan of revenue and cost accounts. Moreover, It was recommended by II to use an unlimited public tender procedure, [1], to implement purchases of software and equipment. Another proven practice is participating in conferences and training courses organized by the Intermediary Institution. As a result of settlement of tender procedures the savings occurred in the project. It was very important to successively apply to II for transferring the savings to improve the quality of purchased next equipment or increasing the quantities of items in Annex 18. It is crucial for the Project Manager not to be influenced by anything, stay calm as well as solve problems coolly and meaningfully. Patience and consistency were crucial during the implementation of the particular tasks. For example, the previous negative experience of Intermediary Institution concerning cooperation with the university resulted in not granting resources for financing project management. The Project Manager have been convincing the Intermediary Institution for 2 years to grant funding under the eligible expenditure for remuneration for management team. The Project Manager ultimately convinced the Intermediary Institution and received funding for the project management team. From now on, the Project Manager set flat remuneration system for the Specialist and Senior Specialist in the project. In addition, the allowances for work in the team doubled virtually for all.

5

Description of the Tender’s Scope

One of the main project challenges was to prepare the biggest tender procedure for construction, delivery and deployment of hardware and software as well as providing specialized training. The aim of the tender was to select the contractor who was to build the complete IT environment with the indicated room adaptation (room 04 in building no. 65), with the IT infrastructure necessary to build the Academic Cloud. The estimated value of the contract exceeded 20 000 000 PLN. The Academic cloud (Fig. 2) was intended to provide the following functionality: the Project Cloud, the High Performance Computing Cloud, the Virtual Desktops Infrastructure. The Project Cloud, which aims to provide infrastructure and software for a platform serving development environments both for teaching and scientific research. The Project Cloud should allow the creation of at least the following environments: relational database (RDB), Java application platform (JAP), integration platform (IP), modeling of business processes

12

T. G´ orski and M. Stryga

(MBP), software development life-cycle management (SDL). The High Performance Computing Cloud, aims to provide computing environment for education and scientific research. Due to the diversity of tasks that should be performed by highly specialized HPC equipment, it was necessary to ensure software managing the HPC environment itself and tasks realized in this environment. Virtual desktops enabling access to both clouds from computers located in labs and computers working in a campus network. In order to ensure proper conditions for hardware and software operation the server room (Fig. 4) required adaptation.

Fig. 4. Server room—power maintenance system, cooling and extinguishing system.

The adaptation should be done in terms of: cooling, power, the technical floor and extinguishing. The solution must have consisted of the following components of hardware infrastructure network: SAN Network (Storage Area Network), LAN Network (Local Area Network), System backups, Storage, Server hardware. Furthermore, server room administrators and academic staff had to be trained in delivered specialized software. In total there were more than 40 training courses of various kinds.

6

Requirements Specification of the Tender

Public Procurement Law must have been respected in the implementation of the solution [1]. In accordance with the law the purchase of this kind must be implemented in the form of a public tender. Due to EU guidelines the only acceptable procedure for the eligibility of expenditure was unlimited public tender procedure. Preparation and conducting the tender procedure takes time. The requirements specification for the solution was preceded by the project and

Center for Advanced Studies in Systems Engineering

13

market analysis. It was crucial to launch the tender not too early because the purchased equipment is aging rapidly. The attention should be given to the timing of launching the new versions of the hardware key elements, e.g. processors. But, the tender should be put out early enough to be implemented and the Agreement shall be fulfilled in the expenditure eligibility period. The period of publication of this size tender is 40 days. In order to achieve a positive implementation of the solution it was crucial to identify all the necessary elements and works which should be done. Specifying requirements is of importance for both procurer, and potential supplier because requirements are central contractual element between the two. Way of representing functional and non-functional requirements in call for bids for the procurement of IT can be found in the literature of the subject [7]. Correctness of requirements is crucial, especially non-functional requirements. There are methods for verification of non-functional requirements specification [4,11]. We can also reuse proven requirement specifications but is should be done with care. Irshad et al. [6] conducted a systematic literature review of software requirements reuse approaches. The tender documentation consisted of the following elements: • Request for the initiation of a public procurement procedure for the amount bigger than 207 000 Euro. • Annex no. 1, A detailed description of the contract subject. A description of the contract subject, as defined in accordance with Article 29, 30 and 31 of the Public Procurement Law. • Annex no. 2, The technical requirements on the infrastructure systems and server room. • Annex no. 3, Draft of an agreement. • Planned Costs of Works (PCW), including estimation of contract value of preparing project documentation. • Data from market analysis—cost estimation of equipment and works. A subject description of the tender “Hardware and software delivery and server room implementation” was divided into the following elements: • Implementation of infrastructure systems in server room according to parameters contained in Annex no. 2 to the Request “Technical requirements for infrastructure systems and server room” in section no. 3. • Delivery and initial launching of hardware and software for the Academic Cloud according to parameters contained in Annex no. 2 to the Request in section no. 2. • Implementing operational functioning of the Academic Cloud according to parameters contained in Annex no. 2 to the Request in section no. 4. A complete list of the equipment was set out in Annex 18 to the financing Agreement “Statement of works and qualitative factors”. As far as the project is concerned the list contained 311 positions specifying type of fixed asset: permanently installed within the project (T), the portable fixed asset (P), intangible assets (N). The described tender covered about 50 positions from Annex no. 18.

14

T. G´ orski and M. Stryga

Performing the preliminary feasibility studies of the solution in the shape of general project of IT solution was helpful to estimate server room parameters and its value. Therefore the necessary hardware resources were calculated. The similar approach was applied to determine the initial functional scope of academic cloud in the form of basic use cases of the project cloud (Fig. 5): Preparation of cloud computing for new project, Launching new service, Stopping virtual server, Launching virtual server, Deleting new service, Creation of a new pattern. The last one involves the selection of image of operating system and packages of scripts corresponding to the application, which are found in the pattern as well as the size of the virtual machine and the publication of the pattern in catalog of services.

Fig. 5. The basic use cases of the Project Cloud.

Thanks to savings from previously implemented agreements it was possible to transfer additional amounts to improve quality of purchased equipment in the Academic Cloud. The amount of originally provided budget on the described tender increased by about 25%. Owing to this, the latest memory IBM Flash System 900 could be purchased and storage as a service solution could be implemented with better parameters: capacity—32 TB, recording time—90 µs, throughput— 10 GB/s, energy consumption—625 W. One of the key elements are the deadlines for the implementation of the agreement. Contract executing date was divided into two stages: • to 90 days from the date of signing the agreement performing the infrastructure systems of server room equipment as well as delivery and launching of the hardware and software for the Academic Cloud,

Center for Advanced Studies in Systems Engineering

15

• to 180 days from the date of signing the agreement—the functional implementation (launching) of the Academic Cloud. In the request there were specific conditions for contractors, under which they might participate in the tender and list of required documents confirming their fulfillment. In the terms of owning knowledge and experience the university required from the potential contractor to have completed properly, in the last three years, at least 2 deliveries covering the scope of server room hardware and software, with a value not less than 13 000 000 PLN gross each and to have delivered properly at least 1 service covering the scope of functional launching of the server room, with a value of not less than 2 000 000 PLN gross and completed properly at least 1 construction work covering the scope of implementation of the server room infrastructure systems, with a value of not less than 1 000 000 PLN gross. By one delivery, service and construction work it was meant implementation of one separate agreement. In terms of disposal of relevant technical capacities and people capable of performing the contract, a list of participants in the performance of the contract was required, in particular those responsible for the proper execution of work, together with information on their professional qualifications and experience. The following qualifications were required: manager of telecommunication works, construction and building manager (who is also a construction manager), sanitary works manager, manager of electricity works, designer with architectural specialty, designer with sanitary specialty, designer with electricity specialty, designer with telecommunication specialty, expert of internal fire fighting system, two people with a certificate entitling to implementation and maintenance of the offered backup system, two people with a certificate entitling to implementation and maintenance of the offered disk array, two people with a certificate entitling to implementation and maintenance of the offered tape library, one person in charge of contract implementation on the Contractors side, with PRINCE2 certificate. In terms of economic and financial situation the potential contractor was obliged to have the financial resources or has credit capacity amounted to min. 20 000 000 PLN gross and valid insurance policy against civil liability in respect of conducted activity related to the subject of the contract with the amount of min. 10 000 000 PLN gross. In the terms of other required documents the potential contractor was obliged to have: ISO 9001 certificate or its equivalent and ISO 27001 certificate or its equivalent. On the potential contractor was also imposed duty of unambiguous determination of the offered products. For the sake of quality of delivered equipment, the project manager decided to define broader criteria of offer selection than single price. The following criteria has been defined, by the project manager, and adopted for the evaluation of offers with the assigned weights: • Price—40%, • Total volume of RAM—20%,

16

T. G´ orski and M. Stryga

• Total size of storage—20%, • Maximum length of UPS holding time—20%. Indications were introduced in order to calculate the evaluation of offers and the necessary conditions were defined for validity of the offer, allowing it to offer evaluation. Indications: i—number of offer, i = 1, Z, where Z—amount of submitted offers, j—number of submitted valid offer, j = 1, W , where W —amount of submitted valid offers, The necessary conditions for the offer validity and allowing to evaluate offers: hi ≥ hmin

(1)

where: hi —storage size of ith offer, hmin —minimal storage size defined in “Specification of essential conditions of contract”. (2) ri ≥ rmin where: ri —volume of RAM of ith offer, rmin —minimal volume of RAM defined in “Specification of essential conditions of contract”. (3) ui ≥ umin where: ui —length of UPS holding time of ith offer, umin —minimal length of UPS holding time defined in “Specification of essential conditions of contract”. The offer, in order to be considered valid, must fulfill simultaneously all conditions defined with inequalities (1)–(3). The calculation of points pj , pj = 0, 100 of jth offer specifies the equation (4). (4) pj = 40 × kjc + 20 × kjh + 20 × kjr + 20 × kju where: kjc —price factor of jth offer expressed by a formula (5) kjc = 1 −

cj − min cj j

max cj − min cj j

(5)

j

kjh —storage size factor of jth offer expressed by a formula (6) kjh =

hj − min hj j

max hj − min hj j

j

(6)

Center for Advanced Studies in Systems Engineering

17

kjr —volume of RAM factor jth offer expressed by a formula (7) kjr =

rj − min rj j

max rj − min rj j

(7)

j

kju —length of UPS holding time factor jth offer expressed by a formula (8) kju =

uj − min uj j

max uj − min uj j

7

(8)

j

The Academic Cloud

The complete computing environment of the Academic Cloud was built with the adaptation of the designated area (room 04, building No. 65). The data center was equipped in: air-condition system, separate power supply, technical floor and fire extinguishing system. In addition, the solution was provided with the backup system. This section presents three main elements of the Academic Cloud: Project Cloud, Virtual Desktops Infrastructure and High Performance Computing Cloud. The following subsections reveal architecture and implementation details of each component of the Academic Cloud. 7.1

The Project Cloud

The Project Cloud provides wide range of services starting from basic virtual machines with bare operating systems images as well as reach software catalog including database engines, business processes modeling software and application development tools. The cloud offers single instance provisioning or orchestration patterns allowing to deploy complex, multi-node system landscapes. Project Cloud is based on IBM Cloud Computing Reference Architecture which includes Cloud Enabled Data Center with OpenStack and IBM Cloud Orchestrator for cloud process management and orchestration supported by monitoring, patch management, backup, and restore and billing services (Fig. 6). Key component of the Project Cloud is IBM Cloud Orchestrator Enterprise Edition (ICO) which combines OpenStack controller for instance provisioning and management, business process management module for extended process automation, patch management, monitoring, metering and billing tools (Fig. 7). Main the Project Cloud components: • Cloud Management services: IBM Cloud Orchestrator with embedded BPM and OpenStack software. • Usage metering and accounting with IBM SmartCloud Cost Management. • Services and capacity monitoring with IBM Monitoring. • Patch management with IBM Endpoint Manager. • Virtualization Layer based on VMware vSphere.

18

T. G´ orski and M. Stryga

Fig. 6. The academic cloud architecture.

• Backup and restore services with IBM Spectrum Protect, formerly Tivoli Storage Manager. • Supporting and external systems, e.g. backup. • Physical infrastructure provided by IBM and Lenovo. OpenStack is an open source cloud operation system which, de facto, has become standard for large scale private clouds. OpenStack Foundation supports major IT companies: IBM, HP, Intel, Redhat, SUSE, Dell/EMC, VMware, Cisco and Oracle, among others. In Project Cloud OpenStack provides Infrastructure as a Service functionality. It manages cloud instances, images, storage and networks on VMware vSphere virtualization layer. OpenStack components used in the Project Cloud: • • • • • • • •

Horizon—OpenStack dashboard, Keystone—identity service integrated with Microsoft Active Directory, Nova—compute resource management, Glance—cloud image management, Cinder—block storage management, Neutron—network management, Heat—orchestration engine, Ceilometer—metering service providing usage data for billing.

Compute power for the Project Cloud provides twenty IBM/Lenovo Flex System x240 M5. Each compute node contains 16 processor cores, 384 GB RAM, 10 Gigabit Ethernet and 16 Gb Fibre Channel interfaces. Storage capacity provides

Center for Advanced Studies in Systems Engineering

19

Fig. 7. The Project Cloud component model.

IBM Flash System 9000 and IBM Storwize V7000. The system is designed to meet requirements described in Table 3. VMware vSphere environment contains single data center with three clusters: • MgmtCl—cluster dedicated for cloud management services with three x240 M5 nodes, • CloudCl—compute cluster with fifteen IBM/Lenovo Flas System x240 M5 nodes for cloud instances designated to run Linux operation systems, • CloudClWin—compute cluster with two IBM/Lenovo Flash System x240 M5 nodes licensed for MS Windows Server. Clusters maps to two OpenStack host aggregates within a single region. OpenStack scheduler keeps MS Windows based images on CloudClWin cluster while Linux images deploys on CloudCl cluster. Cloud users can choose between two pattern engines: OpenStack Heat and IBM Virtual System Patterns. OpenStack Heat is well know orchestration engine based on text file templates (Heat Orchestration Templates) while IBM Cloud Orchestrator delivers easy to use, graphical designer for Virtual System Patterns. In addition, Business Process Manager

20

T. G´ orski and M. Stryga Table 3. The university minimal cloud capacity requirements. Requirement name

Requirement value

Number of project/tenants

100

Number of virtual server in a tenant/project 100 Storage capacity (TB)

64

Number of cloud images and patterns

30

Compute nodes for management layer

3

Compute nodes for cloud instances

17

included in ICO brings advanced workflow engine extending OpenStack functionality. System administrators can easily modify, expand, create new processes, or integrate cloud with external systems to better meet end user requirements. Cloud users does not use OpenStack dashboard directly. They access ICO Self Service UI presenting BPM workflows which calls OpenStack API to execute Infrastructure as a Service tasks (Fig. 8). ICO itself also provides RESTful API which allows integration with external systems such as Release Management or Service Desk solutions.

Fig. 8. IBM Cloud Orchestrator.

IBM Cloud Orchestrator Enterprise Edition brings three additional components: IBM SmartCloud Cost Management (SCCM), IBM Monitoring and IBM Endpoint Manager for Patch Management (IEM). SCCM pulls metering data from OpenStack Ceilometer and assign rating values to produce on-demand or scheduled billing reports. Tivoli Monitoring monitors cloud services status, virtualization layer, as well as infrastructure capacity, while IEM allows automated patch management to help reduce patch cycle times. The Academic Cloud service catalog contains:

Center for Advanced Studies in Systems Engineering

21

• Operating systems (SO)—Redhat Enterprise Linux 6.X and Microsoft Windows Server 2012 R2, • Database engine (SBD)—IBM DB2, • Application server (SA)—IBM WebSphere, • Integration platform (PI)—IBM Integration BUS, • Business Process Manager (MPB)—IBM Process Center, • Software development and test tools (CWO)—IBM Rational, • Predictive analytic software (ZPA)—IBM SPSS, • Decision support system (SPO)—IBM Decision Optimization Center, • Web application security testing tool (TZA)—IBM Security AppScan, • Additional software such as Mathlab, Mathematica, Statistica. As an example it is presented flow of events of one of the Project Cloud use cases “Create an instance with MySQL database”: • Cloud user log on to IBM Cloud Orchestrator UI using Active Directory account and select “Create a cloud service”, offering category and “Deploy a cloud service with pattern”. • Among many Virtual Service Patterns selects “SDB MySQL Database Community Edition” and inputs values of parameters. • Request status can be monitored in ICO UI. • When instance is ready user can log on to it using provided password. Message of the day informs user what image was selected to build the instance and which software has been deployed on it. During the Project Cloud implementation there were also following steps: image and pattern development, internal tests, including high availability and disaster recovery, user acceptance tests. 7.2

The High Performance Computing Cloud

The High Performance Computing Cloud in addition to the Project Cloud provides processor power for scientific researches and computational intensive application such as CAD and CAE. HPC environment contains two head nodes IBM/Lenovo System x3650 M5 working in high-availability cluster, storage nodes based on IBM/Lenovo System x3650 M5 and compute nodes on IBM/Lenovo Flex System x240 M5 with Nvidia Tesla accelerator boards. Cluster interconnect is based on 10 Gigabit Ethernet network. Head nodes hosts cluster management and monitoring software as well as resource scheduler with job queue. Storage nodes run IBM General Parallel Filesystem (NSD Servers) sharing storage capacity for home and scratch directories from two IBM Storwize disk systems. NSD Servers access storage through two 16 Gb Fibre Channel interfaces while head nodes and compute nodes (NSD clients) mount filesystem using 10 Gigabit Ethernet network. To provide high performance data access GPFS balance storage request across all storage nodes as well as all volumes mapped from both disk systems. Each compute node contains two eight core Intel Xeon E5-2640 processors, one Nvidia Tesla K20 accelerator boards with

22

T. G´ orski and M. Stryga

2496 GPU cores, two dedicated 10 Gb ports for cluster interconnect, and two ports for data access. The cluster runs Redhat Enterprise Linux 6.6 operation system. 7.3

The Virtual Desktop Infrastructure

The Virtual Desktop Infrastructure (VDI) allows remote and secure access to the Academic Cloud resources from any device connected to campus network. Provides students and researchers all necessary tools and applications to fully exploit potential of the cloud. User neither requires access to specialized workstation nor needs to install any software development tools or compilers on their device, except VDI client available for including MS Windows, Apple Mac OS X, Linux, Android operating systems. In addition, users are able to run time consuming processes, even for foreground applications, just disconnecting from a desktop for a night or weekend, without risk of loosing compute results. Form IT perspective, VDI provides centralized desktop management which saves time and money. Management tasks, such as supporting users and solving their problems, patch management, delivering new workstation or software distribution, are much faster and easier in virtualized, image based environment, helping IT stuff to focus on expanding cloud service catalog and increasing service quality bringing additional value for the users. VDI increase security standards allowing better control how data are accessed and where are stored keeping sensitive information in data center instead of on end user device. Centralized virtual desktops allow consistent security policy enforcement and fast patch distribution to rapidly response to new security threads. The university virtual desktop infrastructure is based on VMware Horizon 6 running on IBM Flex System x240 M5. Physical infrastructure allows to run simultaneously up to 500 virtual machines and provides 45 TB capacity for their operation system images. Users connect to VDI using PC over IP (PCoIP) protocol through Connection Servers working in load-balancing cluster, and they are authenticated against Microsoft Active Directory. Applications are published using ThinApp solution, while available application list is based on users Active Directory group membership. VMware High Availability cluster, VMotion and Distributed Resource Scheduler reduce planned and unplanned outages and helps to keep optimal hardware utilization.

8

Conclusions and Directions for Further Works

The full scope of the project POIS.13.01.00-00-007/12 was carried out in the prescribed time and a given budget. Due to the project savings, the final value of funding amounted to 37 084 253 PLN which constitutes 99.3% of the funds granted. The main results of the project include the teaching-research building no. 65 (3800 m2 ) connected with a building no. 100 by a fibre optic cable (current location of Faculty of Cybernetics laboratories). Furthermore, the modern IT infrastructure was installed in the building. The biggest tender procedure for construction works, delivery and launching of the

Center for Advanced Studies in Systems Engineering

23

Academic Cloud in the project POIS.13.01.00-00-007/12, has been prepared, conducted and resolved positively for the first time. Preparing and conducting of the tender as well as implementation of the related agreement took in total 2 years. The prepared tender procedure positively passed ex-ante control of Intermediary Institution without comments. In addition, after resolving, the tender procedure positively passed another ex-post control of Intermediary Institution, also without comments. The Academic Cloud not only helps students, academic stuff or researches to gain access to IT resources, which help them in their education or scientific work, but is also a great educational tool itself. The cloud is based on open source, standard technologies extended by IBM solution as well as VMware vSphere virtualization technology. It gives student opportunity to get experience in managing and working with environment which is similar to clouds deployed in many medium and large businesses and take advantage from knowledge acquired during studies in their professional life. Projects and ideas developed in Academic Cloud can be easily moved or implement in many private and public clouds available in IT world. It is crucial to launch CASE in order to implement the teaching and research works that shall solve the real problems in enterprises or institutions. The example of such activity is the thesis written under the direction of the first author of the article with the participants of postgraduate studies for the Ministry of the Interior and Administration workers. The thesis was concerned particularly with the exchange of information between the Agricultural and Food Quality Inspectorate and The Agency for Restructuring and Modernization of Agriculture. It was decided to apply Enterprise Service Bus to integrate IT systems of cooperating institutions. Time of transferring large volumes of data was reduced from 2 days to 2 min. The details of the solution were described in the publication, [5]. To sum up, the greatest benefits from investment projects are incurred by universities and outside companies. For the Project Manager, managing the project, was the proverbial path through torment. However, this is the only way to implement progress, innovation and positive system of value to Polish universities. It is worth working for a better tomorrow, in spite of all difficulties. Acknowledgments. The project POIS.13.01.00-00-007/12 was funded by the National Center for Research and Development.

References 1. Act of 22 June 2016 on amending the Act, Public Procurement Law and certain other laws. J. Laws (2016). Position 1020 2. Bentley, C.: PRINCE2: a practical handbook, 3rd edn. Butterworth-Heinemann, Amsterdam (2009). ISBN: 978-1-85617-822-8 3. CASE. http://cszis.wcy.wat.edu.pl

24

T. G´ orski and M. Stryga

4. Chopra, R.K., Gupta, V., Chauhan, D.S.: Experimentation on accuracy of non functional requirement prioritization approaches for different complexity projects. Perspect. Sci. 8, 79–82 (2016) 5. G´ orski, T.: The use of enterprise service bus to transfer large volumes of data. J. Theor. Appl. Comput. Sci. 8(4), 72–81 (2014) 6. Irshad, M., Petersen, K., Poulding, S.: A systematic literature review of software requirements reuse approaches. Inf. Softw. Technol. 93, 223–245 (2018) 7. Johansson, B., Lahtinen, M.: Requirement specification in government IT procurement. In: CENTERIS 2012—Conference on ENTERprise Information Systems. Proc. Technol. 5, 369–377 (2012) 8. Kroll, P., MacIsaac, B.: Agility and discipline made easy. Practices from OpenUP and RUP. Pearson Education, Inc. (2006). ISBN: 0-321-32130-8 9. Lianying, Z., Jing, H., Xinxing, Z.: The project management maturity model and application based on PRINCE2. In: 2012 International Workshop on Information and Electronics Engineering (IWIEE). Proc. Eng. 29, 3691–3697 (2012) 10. Matos, S., Lopes, E.: Prince2 or PMBOK a question of choice. In: CENTERIS 2013—Conference on ENTERprise Information Systems. Proc. Technol. 9, 787– 794 (2013) 11. Matsumoto, Y., Shirai, S., Ohnishi, A.: A method for verifying non-functional requirements. In: 21th International Conference on Knowledge Based and Intelligent Information and Engineering Systems, KES2017. Proc. Comput. Sci. 112, 157–166 (2017) 12. Muriana, C., Vizzini, G.: Project risk management: a deterministic quantitative technique for assessment and mitigation. Int. J. Proj. Manag. 35, 320–340 (2017) 13. National guidelines regarding eligibility of expenditures within the structural funds and cohesion fund in the programming period 2007–2013 (2013) 14. Pimchangthong, D., Boonjing V.: Effects of risk management practice on the success of IT project. In: 7th International Conference on Engineering, Project, and Production Management. Proc. Eng. 182, 579–586 (2017) 15. Radujkovi´c, M., Sjekavica, M.: Project management success factors. In: Creative Construction Conference 2017. Procedia Engineering 196, 607–615 (2017) 16. Rubin, K.S.: Essential Scrum: A Practical Guide to the Most Popular Agile Process. Addison-Wesley Professional (2012). ISBN: 0-137-04329-5 17. Van Os, A., Van Berkel, F., De Gilder, D., Van Dyck, C., Groenewegen, P.: Project risk as identity threat: explaining the development and consequences of risk discourse in an infrastructure project. Int. J. Proj. Manag. 33, 877–888 (2015)

Fuzzy Job Scheduling for Testing as a Service Platform Pawel Lampe(B) Wroclaw University of Science and Technology, Janiszewskiego 11/17, 50-372 Wroclaw, Poland [email protected]

Abstract. This work is a continuation of work concerning scheduling algorithms for Testing as a Service (TaaS) platform used in the telecom industry. Because in practice test case duration vary from execution to execution they are particularly difficult to predict. The history of executions, however, brings the opportunity to employ a theory of fuzzy sets to address this issue. Hence this work focuses on the uncertainty of scheduling information. To provide solutions in such circumstances two metaheuristic approaches are presented and compared with each other. They are based on crisp and fuzzy approaches to the modeling of uncertainty. As computational experiments demonstrate, the fuzzy-based metaheuristic is significantly superior.

Keywords: Fuzzy

1

· TaaS · Testing · Cloud

Introduction

Testing is one of the most fundamental activities of software engineering. It is effort-prone, time-consuming and expensive. Earlier studies report it consumes at least 40% of software development costs [2,17]. The numbers, however, may become significantly greater if the tested software is complex or it must provide a high quality of service (QoS). Hence if the demand for such software grows rapidly, the importance of testing becomes emphasized and the solutions addressing the effectiveness of the testing process have to be improved. Such increase of software testing importance occurs in the telecommunications industry which is the background of this work. The mobile phone and base transceiver station (BTS) software has become excessively complex as numerous technologies and protocols have appeared over the years. To make things worse, recently the new challenges such as the fifth generation wireless systems (5G) and the Internet of Things (IoT) have emerged. To confront the new issues while supporting the old technologies, telecom software must become far more complex than it ever was before. Correspondingly, the testing process efficiency has to advance. Because software testing is a rich research discipline, there are many directions that may lead to better testing efficiency. Among others, one of the most relevant c Springer Nature Switzerland AG 2020  R. Klempous and J. Nikodem (eds.), Smart Innovations in Engineering and Technology, Topics in Intelligent Engineering and Informatics 15, https://doi.org/10.1007/978-3-030-32861-0_2

26

P. Lampe

for huge projects such as BTS software is the testing automation. Though 100% automatic testing may be considered a dream [2], it is one of the proper ways to keep the testing process in line with increasing complexity of a system under test (SUT). One of the novel approaches to the testing automation is a Testing as a Service (TaaS) model [17] which aims at boosting testing effectiveness by the utilization of cloud computing. This work is a continuation of earlier work [10] and hence it involves Nokia’s internal TaaS platform which intends to increase testing efficiency in the face of growing BTS software complexity. In fact, the present scheduling methods of the platform are not acceptable anymore as they are introducing large feedback times of regression testing. To provide a foundation for further research the previous work on the system focused mainly on modeling of the existing system and analysis of testing workflow optimization using a metaheuristic algorithm. However, during experiments, it assumed that test case duration are known a priori. In fact, such an assumption is very weak as test case processing times vary from execution to execution. This work aims at handling such uncertainty by employing fuzzy scheduling approach combined with online metaheuristic as it is expected to reflect test case duration more accurately and provide better schedules in the end.

2

Related Work

Testing is one of the research disciplines which benefited from the years of progress in the field of cloud computing. As identified in [14], cloud-based testing can provide more efficient performance testing, better availability of testing tools and options, quicker testing, more realistic test results and more. Moreover, it can reduce the costs of setting up and maintaining the test environment. The study of examples in [14] indicates also, that the organizations of different sizes already use and benefit from testing in the cloud. Though the topic is addressed broadly in the literature, certain issues such as acceptance testing remain open in the context of cloud-based testing [7]. Along with advancements in the field of cloud-based testing, a great deal of effort has been put on automation. In effect, the Testing as a Service (TaaS) model emerged [3,5,17]. It is a cloud computing model that addresses the issues of testing on clouds. Its main goal is to provide automatic, cheap, scalable and highly available testing capabilities to its users. As it has much in common with Software as a Service (SaaS) model, it utilizes its key concepts. It also introduces a lot of new challenges, issues, and approaches as testing is a very specific service to provide. One of the most important concerns in cloud computing is load-balancing or scheduling of incoming tasks (jobs). Due to the rapid development of cloud environments in recent years, the issue of managing workload in the cloud, distributed systems and grids have attracted considerable attention. In particular, it was shown that with proper conditions, metaheuristic methods can be used for such load-balancing for both single criterion [13] and multi-criteria [1,16] cloud and network scheduling.

Fuzzy Job Scheduling for Testing as a Service Platform

27

TaaS platform, being an extension of the cloud computing paradigm, is concerned with task scheduling as well. This issue was addressed for example in [17] where First Come First Serve (FCFS) and High Priority First (HPF) algorithms were studied. It was also examined in [10] where the offline variant of Simulated Annealing (SA) metaheuristic has been proven to outperform existing constructive algorithms in Nokia’s TaaS platform. Though scheduling algorithms for TaaS are present in the literature, the methods of handling uncertainty in TaaS have not been studied yet. Fortunately, such techniques exist in other fields. The commonly used approach is one that models vagueness of scheduling information using the theory of fuzzy sets from Zadeh [18] to allow scheduling algorithms to obtain better schedules without deterministic (or crisp) information. It has been successfully used to handle uncertainty in various problems like job shop scheduling [11], cyclic permutation flow shop [15] or project scheduling [8].

3

System Description

The TaaS platform which is a motivation of this work is a corporate testing platform providing testing capabilities to the users within the organization. The users consist of: developers, testers and continuous integration (CI) robots. The main activity being performed on the platform is integration testing. The test cases are coarse-grained in the sense that their executions require exclusive access to the whole machine for the time of execution as well as their durations are long (from few seconds up to 10 min). Sets of test cases form test suites which are the input of the system. Although there are 3 groups of users of the platform, the CI robots are major contributors to the input of the system since they are producing a vast amount of regression testing suites. In general, the TaaS platform considered in this chapter is divided into two major components: • Cloud environment—a source of computing resources dedicated to the workload processing. It provides computing resources to the TaaS platform in the form of uniform virtual machines consisting of 2 CPU cores, 8 GB of RAM and 25 GB disk capacity each. • TaaS toolkit—a collection of command line interface (CLI) applications providing various platform-related services to the users. Its principal responsibilities are test suite gathering, job scheduling, and dispatching, monitoring of cloud resources and requests of users, providing the storage for test case workspaces and management of the virtual machines. Although both components are critical, this work concentrates on job scheduling hence putting greater emphasis on TaaS toolkit. To make scheduling possible within a single decision-making point in the system, this work assumes that the scheduler is a single application residing in the cloud. It is a significant change from the perspective of platform architecture. Naturally, it establishes a single point of failure (SPOF). However, it remarkably simplifies the scheduler as it is

28

P. Lampe

not distributed among users anymore. It also empowers the scheduling itself as the global state of the system is gathered in one network location. It also facilitates test case duration history accumulation, job dispatching, resource monitoring, toolkit maintenance, and upgrading. More details on the original platform can be found in [10].

4

Problem Description

The input of the system consists of a set J = {1, 2, . . . , n} of n jobs (test suites) provided by end users and given online (a set is being extended during processing). Each job j contains tj > 0 operations (test cases) from a set Zj = {1, 2, . . . , tj }. Operations of the job as well as the job itself arrive to the system at the time Aj which is not known a priori. Each test case i has a fixed resource constraint since it needs an exclusive access to the single machine from a set of m machines denoted as M = {1, 2, . . . , m} for the time of its execution. It is also forbidden to interrupt ongoing test cases. The processing time of ith operation of jth job is indicated by pji . Duration of each test case is not known a priori, however, history of its execution times is available. It can also be collected online during system operation. The aim of scheduling is to find a schedule S ∗ that both satisfies the constraints stated above and minimizes the goal function K: S ∗ = min K(S) , S∈Π

(1)

where each schedule S from the set of all schedules Π is a vector of start times of all operations from the system input. The main goal of the platform is to optimize a total flow time of its test suites. Hence the optimization objective is: 

F =

n  j=0

Fj =

n  (Cj − Aj ) ,

(2)

j=0

where Cj is the completion time of a job j. The test suite is recognized as finished once all its test cases from Zj are finished.

5

Solving Methods

Both algorithms examined in this chapter are based on the simulated annealing (SA) metaheuristic. The reasoning behind that is threefold. First, the SA is both mature and effective in various applications context [4]. Second, it is very simple and flexible algorithm. This work shows it can be successfully extended to address specific problem properties. Third, the SA has proven to provide reasonable schedules in the previous work on the same TaaS platform.

Fuzzy Job Scheduling for Testing as a Service Platform

5.1

29

Reactive Simulated Annealing

The first algorithm used in this work (Algorithm 2.1) is a slight modification of classical simulated annealing metaheuristic with two major differences. First of all, it is not executed once. It is named Reactive simulated annealing (ReaSA) since the SA is executed reactively after the arrival of each test suite to the system. Because the time is assumed to be discrete and because it is possible for few jobs to arrive at the same time, the scheduling is performed up to n times. One execution of 100 000 iterations long SA per every point of time in which at least one job has arrived. Also, if there are any jobs remaining undispatched to the time of execution of the next SA, they are being scheduled together with the new test suites. For the sake of simplicity, the duration of scheduling is ignored. The second difference is the fact, that the algorithm is not using precise test case durations as they are not known a priori. Instead, the Q-recent estimate is used for each test case. Such an estimate is basically the average of Q recent durations from the history of executions of the given test case. The remainder of an algorithm is a classical simulated annealing. The solution is represented by a matrix. The rows and columns represent machines and operations assigned to the machines respectively. The neighboring solution is obtained either by the swap of two random test cases or by a move of a random test case from one machine to another. The cooling scheme is defined by a linearly decreasing function given by the formula: α(i) = t0 − i/I,

(3)

Input : A collection of jobs J of size n Input : A collection of operations Zj of size tj of each job j from J Input : A set of machines M of size m Output: A set of operation start times arrivals ← all unique arrival times of jobs, ascending; schedule ← ∅; outcome ← ∅; foreach arrival in arrivals do // execute schedule on machines until arrival outcome ← outcome ∧ execute(schedule,M ,arrival); // remove executed operations from schedule schedule ← schedule \ executed(schedule,M ,arrival); jobs arrived ← all jobs which arrived at arrival; // operations remaining as well as new ones are being scheduled from scratch schedule ← simulated annealing(schedule,jobs arrived,M ) end // execute schedule on machines until arrival outcome ← outcome ∧ execute(schedule,M ,arrival); return outcome; Algorithm 2.1: Reactive simulated annealing (ReaSA) algorithm overview

30

P. Lampe

where t0 denotes starting temperature, i represents current iteration number and the I stands for total iterations number. The acceptance probability is calculated based on the traditional approach utilizing exponential function. 5.2

Fuzzy-Based Reactive Simulated Annealing

Test case durations vary from execution to execution. It is natural as usually, test cases produce different outcomes. It is, however, particularly problematic from estimation point of view as test case execution histories may form irregular distributions like one in the Fig. 1. Because of that, a Q-recent estimate is not the best choice. Even the stochastic approaches are not sufficient. Hence in this chapter, the fuzzy approach is proposed. It is inspired by [6] where the durations of activities in project scheduling are modeled as L-R fuzzy numbers. The fuzzy-based reactive simulated annealing (FReaSA) algorithm is a modification of the ReaSA method described earlier in this chapter. The main idea of FReaSA is to use fuzzy test case durations instead of crisp ones. Hence only the Simulated Annealing part of ReaSA algorithm is different. The fuzzy test case durations are modeled as triangular fuzzy numbers (denoted by ∼). The fuzzy operation processing time p is represented by a triple (ps , pa , pl ) where ps , pa and pl stands for the shortest, an average and the longest processing time of a given test case based on the history of its executions. The membership function μp(t) of p is given by the equation:  t−ps when ps ≤ t ≤ pa , a s (4) μp(t) = p −p t−pa 1 − pl −pa when pa < t ≤ pl . The main challenge that FReaSA algorithm encounters is a calculation of cost function K. Because the durations are given by fuzzy numbers, the cost of every solution results also in fuzzy number. Hence the goal function is fuzzy and denoted  It is obtained by calculation of three separate, crisp goal functions K s , K a , as K. and K l computed for the shortest, average, and the longest test case durations respectively. Since the goal function is fuzzy, the SA algorithm has to confront the difficulty of fuzzy number comparison. Because triangular fuzzy numbers are normal and convex, the problem has been resolved using preference relation as proposed in [12]. The general concept behind that method is to compute and compare the areas determined by membership functions. There is also a necessity for modification of acceptance probability function which among a few calculations measures a distance between old and new solution. Fortunately, a slight modification of the approach above addresses this issue. Instead of comparing the areas determined by membership functions it calculates the difference hence obtaining the distance between fuzzy numbers.

Fuzzy Job Scheduling for Testing as a Service Platform

31

Fig. 1. Histogram of the single test case duration based on the history of 4679 executions.

6

Computational Results

In this section, a comparison between ReaSA algorithm with 3-recent test case duration estimation and FReaSA algorithm is performed. To conduct experiments the instances [9] have been generated out of real historical data from Nokia’s TaaS platform. Each instance consisted of the test suites containing 52 test cases. It was assumed that they are being processed by 20 machines. During computer experiments, every algorithm has been executed 10 times for each instance due to its probabilistic nature. Research has been divided into two experiments. Experiment 1 consisted of 10 instances, 10 test suites each. Experiment 2 was larger and incorporated 15 instances, 15 test suites each. Results have been normalized to the best one so for example results 8, 16 and 30 would be normalized to 1.0, 2.0 and 3.75 respectively. Finally, the results have been averaged and put into the Table 1. Table 1. Comparison of normalized total flow time obtained by ReaSA and FReaSA algorithms during experiments. Algorithm Experiment 1 Experiment 2 ReaSA

1.11

1.09

FReaSA

1.00

1.00

Results indicate that the ReaSA algorithm is up to 11% worse than FReaSA algorithm. It has performed slightly better during the second experiment where larger instances were concerned. The improvement, however, was negligible hence concluding that the fuzzy approach employing triangular fuzzy numbers outperforms the scheduling algorithm which uses simple estimation.

32

P. Lampe

7

Conclusions

In this chapter, two metaheuristic approaches to scheduling for TaaS platform has been presented. They were further compared against each other during computer experiments. As FReaSA algorithm has proven to provide better schedules it is concluded that the fuzzy numbers are the right direction for modeling uncertainty of test case durations. Because triangular fuzzy numbers are probably the easiest fuzzy approach and because the test case duration distributions used to be very irregular, the further research path assumes the usage of more sophisticated fuzzy approaches. Also, since the methodology used in this work is fairly generic, it may be adjusted to work with another metaheuristic approaches.

References 1. Al Nuaimi, K., Mohamed, N., Al Nuaimi, M., Al-Jaroodi, J.: A survey of load balancing in cloud computing: challenges and algorithms. In: 2012 Second Symposium on Network Cloud Computing and Applications (NCCA), pp. 137–142. IEEE (2012) 2. Bertolino, A.: Software testing research: achievements, challenges, dreams. In: 2007 Future of Software Engineering, pp. 85–103. IEEE Computer Society (2007) 3. Candea, G., Bucur, S., Zamfir, C.: Automated software testing as a service. In: Proceedings of the 1st ACM Symposium on Cloud Computing, pp. 155-160. ACM, New York (2010) 4. Dowsland, K.A., Thompson, J.M.: Simulated annealing. In: Handbook of Natural Computing, pp. 1623-1655. Springer, Berlin (2012) 5. Gao, J., Bai, X., Tsai, W.T., Uehara, T.: Testing as a service (taas) on clouds. In: 2013 IEEE 7th International Symposium on Service Oriented System Engineering (SOSE), pp. 212–223. IEEE (2013) 6. Hapke, M., Jaszkiewicz, A., Slowinski, R.: Fuzzy project scheduling system for software development. Fuzzy Sets Syst. 67(1), 101–117 (1994) 7. Incki, K., Ari, I., S¨ ozer, H.: A survey of software testing in the cloud. In: 2012 IEEE Sixth International Conference on Software Security and Reliability Companion (SERE-C), pp. 18–23, IEEE (2012) 8. Kuroda, M., Wang, Z.: Fuzzy job shop scheduling. Int. J. Prod. Econ. 44(1–2), 45– 51 (1996) 9. Lampe, P.: Artificial software testing workload (2018). https://doi.org/10.5281/ zenodo.1435932 10. Lampe, P., Rudy, J.: Job scheduling for taas platform: a case study. In: Innowacje w zarzdzaniu i inynierii produkcji, vol. 1, pp. 636–646. Oficyna Wydawnicza PTZP (2017) 11. Masmoudi, M., Hait, A.: Project scheduling under uncertainty using fuzzy modelling and solving techniques. Eng. Appl. Artif. Intell. 26(1), 135–149 (2013) 12. Nakamura, K.: Preference relations on a set of fuzzy utilities as a basis for decision making. Fuzzy Sets Syst. 20(2), 147–162 (1986) 13. Nishant, K., Sharma, P., Krishna, V., Gupta, C., Singh, K.P., Rastogi, R., et al.: Load balancing of nodes in cloud using ant colony optimization. In: 2012 UKSim 14th International Conference on Computer Modelling and Simulation (UKSim), pp. 3–8. IEEE (2012)

Fuzzy Job Scheduling for Testing as a Service Platform

33

14. Riungu-Kalliosaari, L., Taipale, O., Smolander, K.: Testing in the cloud: exploring the practice. IEEE Softw. 29(2), 46–51 (2012) 15. Rudy, J.: Cyclic scheduling line with uncertain data. In: International Conference on Artificial Intelligence and Soft Computing, pp. 311–320. Springer, Berlin (2016) 16. Rudy, J., Zelazny, D.: Memetic algorithm approach for multi-criteria network scheduling. In: Proceedings of the International Conference on ICT Management for Global Competitiveness and Economic Growth in Emerging Economies, pp. 247– 261 (2012) 17. Yu, L., Tsai, W.T., Chen, X., Liu, L., Zhao, Y., Tang, L., Zhao, W.: Testing as a service over cloud. In: 2010 Fifth IEEE International Symposium on Service Oriented System Engineering (SOSE), pp. 181–188, IEEE (2010) 18. Zadeh, L.A.: Fuzzy sets as a basis for a theory of possibility. Fuzzy Sets Syst. 1(1), 3–28 (1978)

Online Multi-criteria Scheduling for Testing as a Service Cloud Platform Jaroslaw Rudy(B) Department of Computer Engineering, Wroclaw University of Science and Technology, Wybrze˙ze Wyspia´ nskiego 27, 50-370 Wroclaw, Poland [email protected]

Abstract. In this work a problem of scheduling execution of software tests in a Testing-as-a-Service (TaaS) cloud computing platform is considered. The problem is modeled as a specific case of the multi-objective online scheduling problem. The processing time of each software test is unknown during its first execution, but can be derived from its past executions. Three optimization criteria of average job flow time, maximal job flow time and average number of machines used are considered. A number of fast constructive algorithms and three metaheuristics are developed for the considered problem. Developed solving methods are compared during a computer experiment. Problem instances for the experiment are generated using data from real-life TaaS platform. Conclusions include comparison of effectiveness and speed of proposed solving methods. Possible enhancements of the solving methods are considered as well. Keywords: Multi-objective optimization · Testing-as-a-Service Cloud computing · Online scheduling · Metaheuristics

1

·

Introduction

In the last decades software development has become a vast and rapidly growing area. Nowadays software is ubiquitous, greatly affecting, supporting and modeling many real-life processes, from logistics, banking services and telecommunication to social networks and video games. The ever-growing software market has, in turn, caused the steady development of areas of computer science and software engineering. In result, new techniques, methods and paradigms of designing and creating software were developed. The growing demand for software is accompanied by growing demand for its quality. With software becoming more ubiquitous the tolerance for any programming errors is becoming smaller. Software has also become more complex, making it even more difficult to detect and correct errors. The process of fixing undetected errors is also expensive. Some studies estimate that the cost of fixing an error increases by a factor of 10 with each subsequent phase of software development life cycle [11]. Thus, it comes as no surprise that elaborate methods for c Springer Nature Switzerland AG 2020  R. Klempous and J. Nikodem (eds.), Smart Innovations in Engineering and Technology, Topics in Intelligent Engineering and Informatics 15, https://doi.org/10.1007/978-3-030-32861-0_3

Online Multi-criteria Scheduling for Testing as a Service Cloud Platform

35

software testing have been developed. Nowadays, software testing may consume around 50−60% of total project cost [8]. Software testing can be a particularly complex process—a single change in a single piece of software might cause a global system fault. Moreover, in many software projects there is a practice called continuous integration, where changes made to the software by all developers are integrated together several times a day. This causes the need to tests thousands of pieces of software every day, making the testing process an increasingly difficult challenge. This is further magnified by the fact that the number of pieces of software increases over the course of the software development process. As a result, there is a need for large-scale and cheap software testing as well as automation of the testing process. There is also one more trend of interest in computer science that have garnered considerable attention from industry and scientists alike. This trend is cloud computing. Cloud computing can take many forms, but in general it means access to some service (like infrastructure or software) over the Internet. Moreover, the access is made transparent to the end-user—the user does not need to know how the service is implemented or where it is located. The user is also not concerned with any maintenance or repairs. Thus, use of third-party cloud computing environments to accomplish company goals can be seen as a form of outsourcing. By combining software testing with the use of cloud computing, a new concept called cloud testing has emerged, where cloud resources are used to run software tests. This resulted in the creation of a new cloud computing model called Testing-as-a-Service (TaaS) [6] which can be seen as an extension of existing cloud computing models like Infrastructure-as-a-Service (IaaS) or Software-as-aService (SaaS). TaaS and cloud testing systems can be very complex, composed of many subsystems (see for example the architecture diagram in [18]). However, this work focuses only on one specific aspect of the system—how to optimize cloud testing by scheduling software tests for a specific TaaS platform. Three different optimization criteria are considered, with the possibility of applying more than one of them at a time. The remainder of this chapter is structured as follows. Section 2 contains short review of literature concerning TaaS systems, cloud computing, and scheduling problems related to such systems. Section 3 describes the considered real-life TaaS platform. Section 4 contains the formal definition of the problem. Section 5 describes the solving method proposed for the considered problem. Section 6 contains the results of the computer experiment. Finally, the conclusions and considerations for future work are included in Sect. 7.

2

Literature Overview

Testing-as-a-Service is a relatively new model of cloud computing and thus the amount of available research results related directly to this topic is limited. The focus of existing research on TaaS ranges from general considerations and comparison with other software testing paradigms [5] through proposals of specific

36

J. Rudy

implementations of the TaaS concept [17] to studies of the effectiveness of software testing over clouds in practical situations [12]. As it is, there seems to be no research on the problem of scheduling software tests for TaaS systems and its optimization. However, the concept of TaaS essentially works by employing existing cloud computing solutions and adapting them to the task of software testing. Thus, scheduling problems for TaaS systems can be viewed as a special case of scheduling or load-balancing problems commonly encountered in more general cloud, distributed or network systems. A variety of approaches have been proposed for solving such problems, including simple constructive algorithms like the ones employed in load-balancing in computer networks (like the Round-Robin algorithm) and, in some rare cases, approximation algorithms [3]. The largest group of solving methods used to solve scheduling problems in cloud computing are metaheuristics. Some typical examples of such approaches include the use of Ant Colony Optimization [10,16] and various versions of evolutionary methods like Fuzzy-enhanced Genetic Algorithms [15] and Memetic Algorithms [13]. Finally, while most of the research consider classic singlecriterion optimization problems, the multi-criteria version of scheduling in cloud environments have attracted some attention as well [4]. However, the same is yet to happen for TaaS platforms. Further information about issues and solving methods in load-balancing and scheduling problems for cloud computing can be found in [1,7].

3

System Description

The considered system is a Testing-as-a-Service software testing platform similar to the one described in [9]. The system is a mix between on-premises and offpremises computing and can be divided into three layers. The overview of this three-layer architecture is shown in Fig. 1. The first layer is the cloud itself. It is provided by a third party and is thus located off-premises of the company. The cloud is provided using the IaaS model. Thus, the cloud provider is tasked with managing the hardware and network, while other tasks are performed by the company on-premises. The number of machines available at once varies, but can exceed 1000 at times. In order to convert that IaaS model to a TaaS model suitable for software testing, an intermediary layer between the cloud and the end-users is created. Two on-premises company teams work in this layer. The first team is responsible for maintaining the cloud (e.g. requesting for additional machines), while the second team develops and manages the TaaS toolkit. The third layer consists of end-users (company developers testing the software) who access the cloud services through the TaaS toolkit. In result, the end users are only concerned with the interface provided by the toolkit and are not aware of the details of the toolkit and of underlying cloud infrastructure. Thus, the software testing process can be performed transparently, while still allowing to control the size of the cloud (the number of machines requested from the cloud provider).

Online Multi-criteria Scheduling for Testing as a Service Cloud Platform

37

Fig. 1. Overview of the cloud testing system architecture.

3.1

Testing Process

Developers test the software by submitting test suites to the TaaS system via the Taas toolkit. Each test suite is composed of a number of test cases. Moreover, each test suite has a priority, which can be either low or high. The weights for these two priorities were estimated to be equal to 1 and 10 respectively. Every test case has to be scheduled on one of the available identical machines. The order of execution of test cases within a test suite does not matter, but all test cases in a given suite have to complete for a given test suite to finish. The execution time of each test case is assumed to be fixed and initially unknown. However, due to the nature of the software testing process, the same piece of software will be tested repeatedly (repetitive tasks) as the software continues to develop. Thus, if a given test case has been executed in the past, its execution time is known. In order to execute, each test case requires undivided access to the machine it is executing on. This is caused by the nature of the software developed in the company and means at most one test case can be executed on a given machine at a time. Moreover, a single test case can execute on only one machine—it is not possible to execute a test case on two machines at once. Execution of a test case cannot be interrupted to be resumed later (no preemption). Lastly, a test case requires a set of files to execute properly. The files required are the same for all test cases in a given test suite. If the files are already present, the execution of the test case might start immediately. If the files are not present, the infrastructure of the TaaS platform allows to transfer the required files to a target machine, but the process takes up to 30 s. For the rest of this section we will focus on the aspects of the system that are relevant to this work. For other information on the described TaaS platform (including details of the cloud and TaaS toolkit), please consider [9].

38

3.2

J. Rudy

System Data and History

The problem of scheduling repetitive software test tasks in a cloud system described above is not typical. This means that there is a lack of literature benchmarks for this particular problem. To counter this, we have collected and analyzed the system data from 45 days of operation. This data contained 53 155 test suites and 6 041 138 test cases (this includes repetitive runs of a single test case). On average, this means over 1 180 test suites and over 130 000 test cases were submitted each day. The collected data was used to construct empirical distributions (histograms) and analyze various properties of the system, some of which are discussed below.

Fig. 2. Histogram of test suite arrivals in terms of in-week time (in minutes).

One of the most important statistical characteristic of the considered TaaS system is the in-week arrival time of test suites, which is presented in the form of histogram in Fig. 2. The analysis of the history data revealed that this characteristic is fairly regular—test suites arrive more frequently during specific times of the day and this pattern is cyclic—repeating more or less unchanged every week. Moreover, the five working days (from Monday to Friday) are similar. Likewise, both weekend days are similar to each other as well. The average time between the arrival of the next test suite is 73.14 s. In over 97% of all test suites’ arrivals, the time between next arrival was lower than 400 s. However, it is important to note that those are average values. As can be seen in Fig. 2, there are times in the weekly schedule when the load of the system is many times lower. Similarly, there are times which can be described as “rush hours”, when test suites arrive much more frequently.

Online Multi-criteria Scheduling for Testing as a Service Cloud Platform

39

Fig. 3. Histogram of test case processing times.

The second important characteristic is the processing time of test cases, which was researched as well. The appropriate histogram is shown in Fig. 3. The maximal recorded processing time of a test case was 1145 s, though the histogram stops at around 120 s (otherwise the plot would not be readable). Through the analysis of the history data, it was concluded that the average processing time of a test case was a little over 43.44 s. As mentioned earlier, the time needed to transfer necessary files to target machine is 30 s and that time is not included in the presented number. This means that if the file transfer were to occur between each test execution, the transfer itself would take up over 40% of the time of the entire testing process, emphasizing the need to optimize it. Moreover, history analysis indicated that 66% of all test cases finish in under 30 s, while 90% finish in under 120 s. A similar analysis for other system parameters indicated that: • The average of the number of test cases in a test suite is 113.65, while over 91% of all test suites have no more than 184 test cases. However, some test suites can contain several thousands test cases. • Over 77% of test suites and 60% of test cases are high-priority. • There are 18 235 unique test cases, meaning that on average, a test case has been repeated 330 times. Furthermore, 1 940 test cases (roughly 10% of unique test cases) have been executed only once. • The average number of machines running at once was 69, while the recorded maximum was 1 246. The above analysis and distributions derived from the system history were used to build a tool for generating problem instances for any number of test

40

J. Rudy

cases that conform to the empirical probability distributions derived from the history of the considered real-life TaaS system. 3.3

Optimization Criteria

The last point to discuss for the described TaaS system are possible optimization criteria. The basic consideration is the time necessary for a given test suite to finish, as a software developer cannot continue to work with the code until the test suite has been completed. The test suite is considered complete if and only if all of its test cases have been completed. The time necessary to finish a test suite from the moment it was submitted to the system will be called the flow time of that test suite. Flow time of a test suite might be used to consider two important optimization criteria for the considered TaaS system on the company scale. First criterion is the average flow time over all test suites. It is a useful criterion as it allows the software developers to estimate how long it will take for their test suites to complete under typical circumstances. Minimization of this criterion will reduce the general time spent on software testing, allowing to execute more software tests per unit of time. The second flow time-based criterion is the maximal flow time over all test suites. Minimization of this criterion helps to ensure that no test suite will take an unusually long time to complete execution. This is important, as some parts of the software are more essential than others (e.g. affecting other parts of the software). Delay in testing of those important parts may end up delaying the entire software project. The final criterion is not typical for scheduling problems. In such problems the number of machines is usually constant. The TaaS platform is different, however, as the number of machines can be changed at will. Thus, the third criterion is the average number of machines used in the cloud. By reducing the number of machines used, the size of the cloud can be smaller, which reduces the costs associated with the cloud. Furthermore, the machines in the cloud are general-purpose and are not used exclusively for software testing. Thus, reducing the number of machines used for testing may allow the company to use these freed machines for other purposes. The above criteria can be considered separately, however, it is also possible to combine more than one criterion together. For this reason, the considered problem can be viewed as a multi-criteria optimization problem. Of course, the proposed criteria work in the opposite direction to some extent, as decreasing the average flow time of a test suite will most likely increase the average number of machines used. However, it might be possible to obtain a solution which improves one of those criteria while not worsening the other, which would be beneficial to the company. The final choice of which optimization criteria to use is left to the company and may be subject to change as the company continues to develop. It means that the solving method used to schedule software tests for the considered TaaS system should be flexible and able to adapt to different combinations of multiple optimization criteria. Thus, metaheuristics seem

Online Multi-criteria Scheduling for Testing as a Service Cloud Platform

41

like a promising choice, as they have been successfully used to tackle multioptimization scheduling problems, especially when more than one metaheuristic was used at once [14].

4

Problem Formulation

The aforementioned problem can be viewed as an extension or special case of the classic scheduling problems where decisions have to be made as to how to assign (distribute) tasks to resources or workstations. Online versions of some of such scheduling problems are referred to as load-balancing or dispatching problems. However, it is important to note that for the considered TaaS system, a test case does not have to be dispatched immediately when it arrives. It should also be noted that the considered TaaS scheduling problem is online, as the number of test suites and their arrival times are both unknown prior to their arrival. Similar is true for the number of test cases in a given test suite. For the sake of problem definition, it would be convenient to classify it using standard Graham’s notation for scheduling problems. The considered TaaS scheduling problem is not typical however and its formulation using the Graham’s notation is not trivial. In general, there are two possible categories of scheduling problems we can use to classify the considered TaaS system: 1. Multi-stage problems. This includes problems like the Open Shop Scheduling Problem or the Flexible Job Shop Scheduling Problem. The reasoning here is that in the TaaS system we have test suites consisting of test cases, while multi-stage scheduling problems have “jobs” consisting of “operations”. Moreover, the order of executions of operations in a job does not matter (Open Shop) or can be made so any operation can be performed on any machine (specific Flexible Job Shop). Unfortunately, multi-stage problems usually assume that the number of operations in each job is the same and equal to the number of machines, which is in contradiction with the rules of the considered TaaS system. 2. Single-stage problems. In particular this includes the Parallel Shop Scheduling Problem, where each job can be performed by any machine. However, in this case there are no operations (i.e. every job is a single operation), which also deviates from the description of the TaaS system, although to a lesser extent. In those circumstances there are two solutions: (1) model the TaaS system as a modification of the Parallel Shop problem or (2) define a new class of scheduling problems, by combining the properties of Parallel Shop and Open Shop problems. In this work the first solution was chosen. 4.1

Mathematical Model

The problem of scheduling software tests in the considered TaaS system is formulated as a special online case of the Parallel Shop Scheduling Problem as follows.

42

J. Rudy

Let N and N+ be sets of natural numbers with and without 0 respectively. Let J = {1, 2, . . . , n} be a set of n ∈ N+ jobs that will represent test cases. Each job is described by a number of parameters. First parameter is zj ∈ N+ , which is used to represent the test suite number the job originated from. In other words, two jobs i and j belong to the same test suite if and only if zi = zj . Next parameter is tj ∈ N+ which represents the type of job. If two jobs i and j are different executions (repetitions) of the same test case then ti = tj . Next, let rj ∈ N be the arrival time of job j. Jobs from the same test suite have the same arrival time, i.e. zi = zj =⇒ ri = rj . Let wj ∈ {1, 10} be the weight of job j. Weights represent priority of test case. Jobs from the same test suite have the same weight, i.e. zi = zj =⇒ wi = wj . Finally, let pj ∈ N+ be the processing time of job j. Jobs of the same type have the same processing time, i.e. ti = tj =⇒ pi = pj . Due to practical reasons we consider only online algorithms for this problem. This means that information about each job (including its existence) becomes known to the solving algorithm only at the arrival time of that job. Additionally, the processing time of a job remains unknown even after the arrival of the job, unless a different job with the same type has finished executing in the past, at which point the processing time of that job is known and deterministic. Let Q = {1, 2, . . . , q} be the set of q ∈ N+ test suites. Also, let Qi be the set of all jobs belonging to the test suite i. Next, let M = {1, 2, . . . , m} be set of m ∈ N+ identical machines. Before the processing of the next job, machine has to perform a setup. Thus, let si,j denote a machine setup time between processing of subsequent jobs i and j. Also, let special case s0,j denote a setup time before processing job j for a machine that has not processed any jobs yet. Then si,j is defined as:  0 if zi = zj , si,j = (1) 30 if zi = zj . Let Sj ∈ N be the starting time of job j and let Aj ∈ N+ be the machine that job j was assigned to. Then the solution to the problem can be represented by a pair (S, A), where S = {S1 , S2 , . . . , Sn } is the vector of job starting times and A = {A1 , A2 , . . . , An } is the vector of job-to-machine assignments. Also let us note that S and A are decision variables in this problem and they shall be determined by the solving algorithm. Thus, job j will be processed by machine Aj ∈ M starting from time Si . Moreover, the values of the vectors S and A have to meet a number of constraints: ∀j∈J

Sj ≥ rj ,

(2)

∀j∈J ∀i,j∈J

Cj = Sj + pj , Ai = Aj =⇒ Si = Sj ,

(3) (4)

∀i,j∈J Ai = Aj ∧ Si < Sj =⇒ Sj ≥ Ci + si,j , where Cj is the completion time of job j.

(5)

Online Multi-criteria Scheduling for Testing as a Service Cloud Platform

43

The above constraints have to be met for the solution (S, A) to be feasible. Let FEAS be a set of all feasible solutions. Then the Parallel Shop Scheduling Problem can be solved by obtaining the solution (S, A)∗ that minimizes the given goal function K: (S, A)∗ =

argmin K(S, A).

(6)

(S,A)∈FEAS

Solution (S, A)∗ is called the optimal solution. 4.2

Optimization Criteria

As mentioned in Sect. 3, three optimization criteria were considered. First, let Fi be the flow time of test suite i. It is computed as the maximal weighted flow time over all jobs in test suite i, given as: Fi = max wj fj = max wj (Cj − rj ). j∈Qi

j∈Qi

(7)

Next, let ui be the time machine i has spent working (either processing jobs or performing setup). Then the optimization criteria are: (1) average test suite flow time F¯ , (2) maximal test suite flow time Fˆ and (3) average number of machines ¯ . These 3 criteria are defined as: used U q

1 Fi , F¯ = q i=1

(8)

Fˆ = max Fi ,

(9)

i∈Q m 

¯= 1 U m

ui .

(10)

i=1

The goal function is then transformed into a single criterion: K=

¯ W1 F¯ W2 Fˆ W3 U + + , N1 N2 N3

(11)

where Wi is the weight of the ith criterion and Ni is its normalizing factor i.e. the highest value of that criterion encountered so far. 4.3

Summary

After defining it, the considered problem can be expressed in Graham’s notation as: (12) P |ri , online–time, nclv|K, where the goal function K depends on the criteria weights W1 , W2 and W3 . The only arguable point is the non-clairvoyance of the problem. This is because some time after the start of the system, the processing time of the majority of the jobs

44

J. Rudy

is known. However, new jobs with unknown processing times can still arrive at any time and the solving methods have to schedule jobs without the knowledge about the future. It is also important to note that the Parallel Shop Problem, like most general scheduling problems, is considered as a difficult problem. For some simple cases (number of jobs or machines below 3, or processing times equal to each other or equal 1) the problem is known to be solvable in polynomial time. More general versions of the problem are considered NP-hard.1 Furthermore, the solution space for the considered problem is very large. For j jobs and m machines, there are mj possible job-to-machine assignments. Please note that in practice m ≥ 1000 and the average number of jobs per test suite is 113. The solution space remains large even after limiting possible solutions to active schedules, i.e. schedules for which no job can be left-shifted (scheduled earlier) without violating constraints (2)–(5).

5

Solving Methods

Given the size of the problem described in the previous section, exact solving methods are infeasible, leaving 3 general non-exact approaches: (1) approximation algorithms, (2) constructive algorithms and (3) metaheuristics. In this work the two latter options were considered and are described in this section. Most of the considered algorithms work using the concept of a queue of jobs. Every time a machine becomes idle (a job on that machine has finished with no further jobs for that machine pending) the algorithm is run to decide which jobs from the job queue with the current size q will be scheduled on idle machines. Note that more than one machine can become idle at the same time. If the number of idle machines is k then the algorithm has to pick max{k, q} jobs from the job queue which shall be scheduled on the currently idle machines. 5.1

Constructive Algorithms

Due to the considered problem being unusual and relatively new, it was decided to test several different constructive algorithms. Advantages of such algorithms include their speed and low computational complexity as they usually work in time O(q) or O(q log q) for a job queue of length q. This property is very useful when the system has to schedule a job every few seconds. The disadvantage of the constructive algorithms is their lack of flexibility—they are hard to improve and modify. They also do not take the goal function or criteria weights into account. The following constructive algorithms were considered: 1. RandomMax: basic algorithm modeled after the one currently employed in the real-life TaaS system. The only difference is that in the real-life system, the 1

For details please consult results on complexity of scheduling problems gathered from various authors which are available online at [2].

Online Multi-criteria Scheduling for Testing as a Service Cloud Platform

2. 3. 4.

5. 6.

7. 8.

9.

10. 11. 12.

45

dispatchers are located on end-user machines, which makes such an algorithm even less efficient than RandomMax. RandomMax keeps a separate list of remaining jobs for each incomplete test suite. When triggered, the algorithm picks a job with the highest estimated processing time from a random list and that job is scheduled on the idle machine. RandomMin: exactly the same as RandomMax, except the job with the lowest estimated processing time is chosen. Random: a random job from the job queue is chosen. Works in constant time. LongestJobFirst: the job with the longest estimated processing time from the job queue is chosen. Ties are resolved by arrival time i.e. earlier (but not necessarily earliest) job first. ShortestJobFirst: exactly the same as LongestJobFirst, except that the job with the shortest estimated processing time is chosen. EarliestLongestJobFirst: job from the queue with the longest waiting time (current time minus job arrival time) is chosen. Ties are resolved by processing times—longest processing time is chosen. EarliestShortestJobFirst: Same as EarliestLongestJobFirst, except ties are resolved by shortest processing time. SmallestSuiteLongestJobFirst: the job with the longest processing time from the incomplete test suite with the smallest estimated load (the sum of estimated job times of that suite) is chosen. SmallestSuiteShortestJobFirst: the job with the shortest processing time from the incomplete test suite with the smallest estimated load is chosen. LargestSuiteShortestJobFirst: the job with the shortest processing time from the incomplete test suite with the largest estimated load is chosen. LargestSuiteLongestJobFirst: the job with the longest processing time from the incomplete test suite with the largest estimated load is chosen. RoundRobin: Instead of working as per “job to the first idle machine” rule, the RoundRobin algorithm schedules the subseque back to the first machine when out of machines. It works in constant time.

Additionally, all constructive algorithms except for Random and RoundRobin have priority version (e.g. PriorityLongestJobFirst algorithm). In priority versions of the algorithms, the values like processing time or waiting time are multiplied by 10 if the job in question has high priority. Finally, the last constructive algorithms is Adaptive which is a hybrid algorithm. It changes its behavior based on which criteria weight is the highest. When W1 is the highest it behaves like PrioritySmallestSuiteLongestJobFirst algorithm. For W2 it behaves like PriorityEarliestLongestJobFirst. Finally, when W3 is the highest it behaves as RoundRobin. Thus, the total number of constructive algorithms is 23. 5.2

Metaheuristics

For metaheuristics 3 popular approaches were chosen: (1) simulated annealing (SA), (2) tabu search (TS) and (3) genetic algorithm (GA). The NSGA-II algorithm, which was successfully used for multi-objective network scheduling in the

46

J. Rudy

past [13], was initially planned as the implementation of the GA metaheuristic. However, the increased computation cost of NSGA-II made it unpractical and the algorithm was discarded in favor of a more basic GA method. Use of metaheuristics can be beneficial as such methods take the goal function and criteria weights into account. They are also able to consider many solutions and search the solution space in a controlled manner, which constructive algorithms cannot do. However, due to the computation complexity of the goal function, all metaheuristics suffer from relatively long computation time. This would make them not viable as the time between dispatching jobs is short. To counter this, the number of jobs the metaheuristics can process at once was limited (300 for SA and 100 for TS and GA). Thus, for job queues bigger the limit, the queue is sorted (the same order as the PrioritySmallestSuiteLongestJobFirst algorithm) and only the first 300 or 100 jobs are processed by the metaheuristics. This essentially makes the metaheuristics dispatch jobs in constant time and makes them viable for the considered cloud online scheduling problem. However, this limitation affects the quality of the solutions. All metaheuristics represent solutions as permutations. The move for TS and SA was adjacent swap. For GA, the partially mapped crossover (PMX) was used and mutation swapped the given element with another randomly chosen element (can affect each element individually). For TS, short-term memory with tabu list size of 7 was used. For SA, the initial temperature was 500 000 with a standard exponential cooling scheme. Also, the temperature was raised to 250 000 when the algorithm became stagnant. TS and GA run for 200–250 iterations, while SA runs for 1 000. GA method starts with a population of specimens containing solutions from all constructive algorithms (except Adaptive which would be redundant) and several random specimens. TS and SA start from the solution provided by the PrioritySmallestSuiteLongestJobFirst algorithm. For metaheuristics, an additional boolean value is stored in the solution. If the value is true, then the jobs from the solution are scheduled as per “to first idle machine” rule. If it is false, then the jobs are scheduled to subsequent machines. This allows the metaheuristics to explore RoundRobin-like solutions.

6

Computer Experiment

For online algorithms the common method of testing their performance is competitive analysis. However, the use of that method for the considered TaaS system is difficult for three reasons. First, it requires the results obtained by an optimal algorithm. For considered practical problem sizes (hundreds and thousands of jobs at least) the optimal algorithms are extremely inefficient. Moreover, this specific problem is new, hence the values for optimal solutions cannot be found in literature. Second, testing all possible problem instances is infeasible. Finally, 7 of the described solving methods are probabilistic in nature (these are SA and GA metaheurstics as well as Random, RandomMax, RandomMin, PriorityRandomMax and PriorityRandomMin constructive algorithms), further complicating the use of competitive analysis in its original form.

Online Multi-criteria Scheduling for Testing as a Service Cloud Platform

47

While not a perfect solution, the results from the optimal offline algorithm can be replaced with the best known results, which in this case would be results provided by the RandomMax algorithm—the one currently used in the considered real-life TaaS system. This alleviates the first of the above three challenges. The second issue can be alleviated by noticing that the recorded history data in the considered TaaS systems has not been very diverse as the system parameters (like test suite arrival times, job processing times and such) seem to follow certain probabilistic distributions. In result, a big enough set of problem instances generated from those distributions can be used as approximation of all such problem instances. The third challenge pertaining to the probabilistic nature of some of the considered algorithms can be alleviated by running such non-deterministic algorithms many times and averaging the obtained results. Thus, the proposed algorithms were tested in a computer simulation using problem instances generated from the distribution based on the real-life system history. The single run (dispatch) of any of the considered algorithms was relatively quick, however, the algorithm has to be run as many times as the number of jobs in the problem instance, meaning hundreds or thousands of runs of the same algorithm per problem instance. Moreover, for the probabilistic algorithms, all presented results are the average of 10–20 independent algorithm runs. Moreover, 4 different sets of criteria all considered for each solving method. All of this greatly increased the research time, limiting the size of problem instances to 10, 20 and 40 test suites. In total 37 problem instances were used. The analysis of the system history data showed that after some time, over 90% of the jobs had already been executed in the past, so their processing times are known. For longer problem instances this effect would occur naturally. However, for the instances considered in this computer experiment, the effect was simulated. This was done by setting the probability for each job that the processing time for that particular job type is known from the start. The probability was set to 0.9. Every time, the same seed for the pseudorandom number generator was used. In all tables, the goal function is represented as (W1 , W2 , W3 ) with Wi indicating the weight of the ith criterion. Considered multi-criteria goal functions were (1, 0, 0), (0, 1, 0), (0, 0, 1) and (1, 1, 0). “Total” indicates the overall performance (averaged over all 4 considered goal functions). 6.1

Priority and Non-priority Methods Comparison

The first experiment was aimed at studying the quality of solutions provided by the constructive algorithms when compared to the priority version of those algorithms. In other words, for constructive algorithm A, its effectiveness PA when compared with the priority version of A, is defined as: PA =

SA p , SA

(13)

p are the solutions provided by the algorithm and its priority where SA and SA version respectively. Since the goal is minimization, values PA > 1 indicate that

48

J. Rudy

the priority version of A is better than non-priority version. The results for the aforementioned instances are presented in Table 1. Table 1. Results of effectiveness comparison between priority and non-priority constructive algorithms. Algorithm

Total (1, 0, 0) (0, 1, 0) (0, 0, 1) (1, 1, 0)

EarliestShortestJobFirst

1.16

1.18

1.24

0.99

1.21

EarliestLongestJobFirst

1.16

1.17

1.27

0.99

1.21

ShortestJobFirst

1.14

1.17

1.14

1.02

1.16

RandomMax

1.13

1.15

1.18

1.15

1.16

RandomMin

1.11

1.11

1.16

1.01

1.14

LongestJobFirst

1.10

1.12

1.09

1.04

1.11

LargestSuiteShortestJobFirst

1.10

1.11

1.13

1.00

1.12

LargestSuiteLongestJobFirst

1.09

1.11

1.10

1.00

1.11

ShortestSuiteLongestJobFirst

1.06

1.04

0.96

0.99

1.07

ShortestSuiteShortestJobFirst 1.05

1.04

1.10

0.99

1.07

Average

1.12

1.14

1.02

1.14

1.11

In all but 6 cases, the priority versions of the algorithms seem to perform better than the non-priority versions. The opposite occurs almost exclusively for the criterion of average usage of machines. For the others considered multi-criteria goal functions, priority constructive algorithms provide solutions that are 11−14% better on average, which is a considerable increase in quality. On the other hand, the results vary between optimization criteria and between algorithms themselves. Overall, the algorithms that seem to profit from their priority versions the most seem to be EarliestShortestJobFirst and EarliestLongestJobFirst, while algorithms that benefit the least are ShortestSuiteShortestJobFirst and ShortestSuiteLongestJobFirst. Curiously, in the research presented in the next subsection, the priority versions of these 4 algorithms were proved to perform the best of all constructive algorithms (except the Adaptive algorithm). 6.2

Solving Methods Comparison

In the next experiment 17 algorithms were compared: 14 constructive algorithms (using priority version where applicable, except RandomMax which is shown in both versions for comparison purposes) and 3 metaheuristics. The results are shown in Table 2. Important values are highlighted in bold. All values are normalized. Smaller values are better with 1 indicating that the algorithm for that goal function obtained the best solution among all algorithms for all 37 instances. In practice, no algorithm was the best for all instances (there was at least one

Online Multi-criteria Scheduling for Testing as a Service Cloud Platform

49

instance where some other algorithm was better). Thus, value 1 does not appear in the table. Table 2. Normalized results of algorithms effectiveness comparison. Algorithm

Total (1, 0, 0) (0, 1, 0) (0, 0, 1) (1, 1, 0)

Genetic Algorithm

1.07

1.04

1.08

1.03

1.10

Adaptive

1.07

1.02

1.08

1.11

1.08

Tabu Search

1.08

1.02

1.16

1.07

1.08

Simulated Annealing

1.09

1.02

1.14

1.12

1.08

PrioritySmallestSuiteLongestJobFirst

1.12

1.02

1.15

1.24

1.08

PrioritySmallestSuiteShortestJobFirst 1.22

1.13

1.33

1.20

1.22

PriorityEarliestLongestJobFirst

1.30

1.58

1.08

1.22

1.32

PriorityEarliestShortestJobFirst

1.34

1.61

1.18

1.19

1.39

PriorityRandomMin

1.43

1.44

1.50

1.31

1.46

PriorityRandomMax

1.48

1.58

1.44

1.39

1.50

RandomMax

1.66

1.81

1.69

1.42

1.74

PriorityLargestSuiteShortestJobFirst

1.71

2.35

1.41

1.19

1.86

PriorityLargestSuiteLongestJobFirst

1.72

2.34

1.43

1.22

1.88

PriorityShortestJobFirst

1.97

2.64

1.81

1.31

2.22

RoundRobin

2.00

2.68

1.93

1.11

2.29

PriorityLongestJobFirst

2.23

3.23

1.77

1.43

2.49

Random

2.38

3.42

2.02

1.38

2.69

The results show that metaheuristics and Adaptive algorithms generally outclass other methods. Moreover, some algorithms perform well only for some goal ¯ criterion, but is function. For example, RoundRobin is good at minimizing the U one of the worst algorithms for other criteria. The most important conclusion, however, is that the best solving methods provide solutions over 50% better than RandomMax method currently used in the real-life TaaS system. The Adaptive hybrid constructive algorithm is fast and efficient, being able to adapt to the current goal function. Moreover, system analysis indicated that the input (frequency and arrival time of test suites, number of test case per test suite etc.) to the system approximately follows certain probability distributions. This means that the appearance of system input that is significantly different than tested problem instances is not likely to occur. Thus, it can be expected that the effectiveness of the Adaptive method would hold even when a higher number of instances are used. As an example, a simple instance was prepared for which the PriorityLongestJobFirst algorithm was the best for 3 out of 4 of the considered goal functions. However, such an instance was artificial and did not correspond to the probability distributions drawn from the analysis of the TaaS history. For the instances generated from the system data, the PriorityLongestJobFirst algorithm performs very poorly, not much better than the Random algorithm.

50

J. Rudy

However, even though fast and, in some cases, effective, constructive algorithms are not without their faults as they do not search solution space and do not compute objective value. This means constructive algorithms are less flexible and might lose their usefulness and reliability when circumstances of the TaaS system change (e.g. new objective function or different data distribution). Finally, the inflexibility of the constructive algorithms makes them difficult to improve. Metaheuristics, on the other hand, are more robust methods and adapt more naturally to changes in the system. However, their performance in the considered Online Parallel Shop Scheduling Problem was not satisfactory. Results from Table 2 indicate that metaheuristic methods struggle to outperform the Adaptive and, on occasion, some other constructive algorithms. They also requiring a lot more time to complete their calculations. This might be caused by the online nature of the considered problem (better partial schedule might turn out worse when further jobs arrive). However, it is also caused by the limit of the number of jobs metaheuristics were allowed to process at a time.

7

Conclusions and Future Work

In this work, the effectiveness of various solving methods for the Online Multicriteria Parallel Shop Scheduling Problem for a certain cloud testing TaaS platform, based on a real-life system, was researched. The results proved that by using some of the solving methods, the performance of the considered TaaS system can be increased by over 50% compared to the method used currently in the company. Moreover, the results indicated that metaheuristics methods— while more robust, flexible and aware of the multi-criteria goal function—are not yet ready to fully outclass some simple constructive algorithms. In order to do so, metaheuristics need to be faster and able to process more jobs at once. One possible way to counter this and use the metaheuristics to their full potential is to divide the cloud environment into a grid of subclouds. In result, each subcloud would need to manage only a fraction of the load and machines, while the time before needing to dispatch the next job would be increased. Additionally, fast high-end 40 core machines can be used as the system loadbalancers or dispatchers that would run the metaheuristics. Such use of parallel computing would reduce the running time of metaheuristics, allowing them to schedule more jobs at once. The time saved could also be used to run more iterations or employ more advanced optimization and space search techniques.

References 1. Al Nuaimi, K., Mohamed, N., Al Nuaimi, M., Al-Jaroodi, J.: A survey of load balancing in cloud computing: challenges and algorithms. In: 2012 Second Symposium on Network Cloud Computing and Applications (NCCA), pp. 137–142. IEEE (2012)

Online Multi-criteria Scheduling for Testing as a Service Cloud Platform

51

2. Brucker, P., Knust, S.: Complexity results for scheduling problems (2009). http:// www2.informatik.uni-osnabrueck.de/knust/class/ 3. Chen, L., Megow, N., Rischke, R., Stougie, L.: Stochastic and robust scheduling in the cloud. In: Approximation, Randomization, and Combinatorial Optimization. Algorithms and Techniques (APPROX/RANDOM), Princeton, United States, pp. 175–186 (2015). https://doi.org/10.4230/LIPIcs.APPROX-RANDOM. 2015.175, https://hal.inria.fr/hal-01249100 4. Frincu, M.E., Craciun, C.: Multi-objective meta-heuristics for scheduling applications with high availability requirements and cost constraints in multi-cloud environments. In: 2011 Fourth IEEE International Conference on Utility and Cloud Computing, pp. 267–274 (2011). https://doi.org/10.1109/UCC.2011.43 5. Gao, J., Bai, X., Tsai, W.T., Uehara, T.: Testing as a service (taas) on clouds. In: Proceedings of the 2013 IEEE Seventh International Symposium on ServiceOriented System Engineering, SOSE ’13, pp. 212–223. IEEE Computer Society, Washington, DC, USA (2013). https://doi.org/10.1109/SOSE.2013.66 ozer, H.: A survey of software testing in the cloud. In: 2012 IEEE 6. Inc ki, K., Ari, I., S¨ Sixth International Conference on Software Security and Reliability Companion (SERE-C), pp. 18–23. IEEE (2012) 7. Kalra, M., Singh, S.: A review of metaheuristic scheduling techniques in cloud computing. Egypt. Inf. J. 16(3), 275–295 (2015). https://doi.org/10.1016/j.eij.2015.07. 001, http://www.sciencedirect.com/science/article/pii/S1110866515000353 8. Kumar, D., Mishra, K.: The impacts of test automation on software’s cost, quality and time to market. Proc. Comput. Sci. 79, 8–15 (2016). https://doi.org/10.1016/ j.procs.2016.03.003 9. Lampe, P., Rudy, J.: Job scheduling for TaaS platform: a case study. Innowacje w i in˙zynierii produkcji, Oficyna Wydawnicza PTZP 1, 636–646 (2017) zarzadzaniu  10. Nishant, K., Sharma, P., Krishna, V., Gupta, C., Singh, K.P., Rastogi, R., et al.: Load balancing of nodes in cloud using ant colony optimization. In: 2012 UKSim 14th International Conference on Computer Modelling and Simulation (UKSim), pp. 3–8. IEEE (2012) 11. Pavlina, S.: Zero-defect software development. Dexterity Software (2003) 12. Riungu-Kalliosaari, L., Taipale, O., Smolander, K.: Testing in the cloud: exploring the practice. IEEE Softw. 29(2), 46–51 (2012) ˙ 13. Rudy, J., Zelazny, D.: Memetic algorithm approach for multi-criteria network scheduling. In: Proceedings of the International Conference on ICT Management for Global Competitiveness and Economic Growth in Emerging Economies, pp. 247–261 (2012) ˙ 14. Rudy, J., Zelazny, D.: GACO: a parallel evolutionary approach to multi-objective scheduling. In: Evolutionary Multi-Criterion Optimization: 8th International Conference, EMO 2015, Guimar˜ aes, Portugal, 29 March–1 April 2015. Proceedings, Part I, pp. 307–320. Springer International Publishing (2015). https://doi.org/10. 1007/978-3-319-15934-8 21 15. Shojafar, M., Javanmardi, S., Abolfazli, S., Cordeschi, N.: Fuge: a joint metaheuristic approach to cloud job scheduling algorithm using fuzzy theory and a genetic method. Clust. Comput. 18(2), 829–844 (2015). https://doi.org/10.1007/ s10586-014-0420-x 16. Tawfeek, M.A., El-Sisi, A., Keshk, A.E., Torkey, F.A.: Cloud task scheduling based on ant colony optimization. In: 2013 8th International Conference on Computer Engineering Systems (ICCES), pp. 64–69 (2013). https://doi.org/10.1109/ICCES. 2013.6707172

52

J. Rudy

17. Tung, Y.H., Lin, C.C., Shan, H.L.: Test as a service: a framework for web security taas service in cloud environment. In: 2014 IEEE 8th International Symposium on Service Oriented System Engineering, pp. 212–217 (2014). https://doi.org/10. 1109/SOSE.2014.36 18. Yu, L., Tsai, W.T., Chen, X., Liu, L., Zhao, Y., Tang, L., Zhao, W.: Testing as a service over cloud. In: Proceedings of the 2010 Fifth IEEE International Symposium on Service Oriented System Engineering, SOSE ’10, pp. 181–188. IEEE Computer Society, Washington, DC, USA (2010). https://doi.org/10.1109/SOSE.2010.36

Cloud-Enabled Warship’s Position Monitoring with Blockchain Tomasz G´orski1(B) , Karolina Marzantowicz2 , and Maciej Szulc2 1

Institute of Naval Weapons and Computer Science, Faculty of Navigation and Naval Weapons, Polish Naval Academy, Gdynia, Poland [email protected] 2 IBM Polska Sp. z o.o., Warsaw, Poland {karolina.marzantowicz,maciej.szulc}@pl.ibm.com

Abstract. The paper presents details of the blockchain workshop which was conducted at Polish Naval Academy, Gdynia, Poland in a period of 4 months from February to May 2017. The workshop was incorporated into the Software Engineering subject as a part of regular classes. The paper explores business and technical aspects of blockchain main projects developed under Hyperledger initiative. In the following sections authors focus on: reference architecture, business architecture and technical architecture as well as algorithms used in Hyperledger Fabric, Hyperledger Iroha and Hyperledger SawtoohLake projects. The Hyperledger Fabric blockchain project was chosen for conducting classes. The workshop encompassed blockchain introduction and configuration of simple application in cloud environment. Furthermore, students configured onpremises environment for development of blockchain applications. The last task was the development of complete application combining IBM BlueMix, Watson Internet-of-Things Platform and Blockchain service which monitored position, simulated by Node-Red service, of warship ORP Kosciuszko. Keywords: Distributed ledger technology · Blockchain Engineering · Internet-of-Things · Cloud services

1

· Software

Introduction

A distributed ledger technology (DLT) is a consensus of replicated, shared, and synchronized digital data spread across multiple decentralized nodes, and/or physically distributed institutions. A blockchain is an example of application of DLT. Data in blockchain is organized into blocks. These blocks formulate

c Springer Nature Switzerland AG 2020  R. Klempous and J. Nikodem (eds.), Smart Innovations in Engineering and Technology, Topics in Intelligent Engineering and Informatics 15, https://doi.org/10.1007/978-3-030-32861-0_4

54

T. G´ orski et al.

append-only chain where each block contains encrypted reference to previous block in a chain. Data in a blockchain remains unchanged. Technology allows us only to add new blocks to a chain. So, blockchain is cryptographically unalterable, distributed ledger which stores transactions. Blockchain ensures clear distribution of responsibilities and delivers means to elevate level of trust among collaborating parties. A blockchain provides open participation to anyone or any entity where access is not controlled by a central intermediary or a subset of participants. Fundamentally, it is about adding trust to an untrusted environment, from financial services, government and healthcare to supply chain management (SCM), contracts and beyond. Blockchain can be defined [10] as “an expanding list of cryptographically signed, irrevocable transactional records shared by all participants in a network”. Moreover, each block stores a timestamp and reference to preceding transaction. Blockchain solution is a network of distributed nodes with a protocol which is responsible for requests coordination and replication between nodes. Every node has the same replica of a ledger. Nodes execute requests, and produce the same outcomes. Satoshi Nakamoto [14] introduced to use cryptographic algorithms to achieve decentralized consensus in distributed system instead of using trusted parties. Nodes run the same services, and hold the same state, but they do not necessary trust each other. In decentralized systems one of the methods which can be apply to achieve fault tolerance is state-machine replication [19]. There is a standard network protocol that allows every participant in a blockchain network (every node) to receive transactions using the same validation rules within a network. Blockchain provides secure decentralized consensus. There are many algorithms which can be used as distributed consensus, e.g. Proof of Stake, Proof of Work and Practical Byzantine Fault Tolerance (PBFT). All entries in the ledger are synchronized across the network of blockchain nodes. A consensus mechanism ensures that these shared distributed ledgers are the same copies. Many decentralized crypto-technologies, such as bitcoin blockchain [6] are permission-less. Business in its nature uses permissioned infrastructure and permissioned computing systems. To protect transactions stored in blocks, blockchain uses a personal digital signature: a private and a public key. Those keys provide security of a block and transactions in it. Cryptography is a key for managing and assuring privacy, security and immutability of a data in a blockchain. Public, permissionless blockchains are suitable for the censorship resistant applications (e.g. Bitcoin). They allow anonymous participants to contribute data to the network. All nodes in public blockchain have an identical copy of the ledger. Private blockchains (permissioned) allow for distributed identical copies of a ledger, but to the trusted participants only. There are no anonymous participants in private blockchains. This type of blockchain network may have an owner. Permissioned blockchain is suited for business to business applications which require speed and greater transparency. The ledger is shared across all participants like in public blockchain. But private blockchain provide privacy

Cloud-Enabled Warship’s Position Monitoring with Blockchain

55

management capabilities too. Participants in those networks require a privacy, hence the transaction details need to be private only known to the transaction participants. Blockchain has revealed itself as a disruptive collection of technologies that can have an enormous impact on business and society. It offers a radical new computing paradigm that promises to deliver new decentralized operating and market structure models that challenge conventional processes across industries and society. According to Gartner [12], there can be identified the following groups of strategic technology trends with disruptive potential: intelligent, digital and mesh. Among digital trends Gartner enlists Blockchain and Distributed Ledger. The paper is structured as follows: second section contains review of literature in the subject of blockchain. Third section is devoted to analysis of blockchain main projects developed under Hyperledger initiative. The following part of the paper presents details of the workshop. The last section summarizes the paper and outlines directions for further works.

2

Related Studies

In order to find publications on blockchain, we queried the ScienceDirect database. The query, with the blockchain phrase was used as a search term. We sought to only research and review papers published in years 2015–2018 in the field of Computer Science. As a result of the query we have got 38 journal papers. Worth mentioning is the fact that 34 papers were published in years 2017–2018. Moreover, we queried all databases available at the university and received 155 papers. The search term was the same, blockchain, but we have searched not only for papers in journals. As the next step, titles and abstracts were reviewed with a view to identify papers that treats about building solutions with using blockchain technology and treating about blockchain technology challenges. On that basis, 18 papers were qualified as focusing on the following areas: combining blockchain and Internet of Things (IoT), blockchain applications in different sectors, security of blockchain, advances in blockchain technology itself, using blockchain to solve problems in other disciplines. Efanov and Pavel Roschin [5] noticed that blockchain has all-pervasive nature and occurs in many industries and applications. Furthermore, he enumerates three generations of blockchain technology from 1.0 to 3.0: digital currency, digital economy and digital society, respectively. Pustiˇsek and Kos [16] compare Ethereum, Hyperledger Fabric and IOTA from the IoT application development perspective. They describe variants of architecture for the IoT front-end applications. As far as IoT is concerned, devices become smart and autonomous. Reyna et al. [17] investigate challenges faced applications of blockchain and IoT, and survey literature to determine blockchain potential to refine the IoT. Data exchange among IoT devices is one of the most important areas. Yang et al. [27] propose data exchange mechanism among isolated IoT devices, especially smart toys, using Hyperledger Fabric v1.0. Probably the most important quality feature of blockchain is security. Unfortunately, IoT devices are vulnerable to hackers attacks. So, as far as security is concerned, Khan and Salah [11] present requirements for IoT, outline threats and

56

T. G´ orski et al.

present state-of-the-art means for coping with outlined threats. They also discuss how blockchain can solve many IoT security problems. Li et al. [13] present results of a systematic study which they conducted on blockchain’s security. Moreover, Wang et al. [24] propose a framework which ensures preserving transaction privacy in bitcoin. We have noticed that blockchain technology finds its applications in many different sectors. Turkanovi´c et al. [21] propose a globally trusted, decentralized higher education credit, and grading platform in line with the European Credit Transfer and Accumulation System. Xia et al. [25] propose MeDShare, a blockchain-based system that addresses the issue of medical data sharing in cloud repositories among big data entities in a trust-less environment. Moreover, Kaijun et al. [9] propose a public blockchain of Chinese agricultural supply chain system based on double chain architecture. Furthermore, Wang et al. [23] outline a blockchain based electronic large-scale voting system. The system is decentralized, self-managed and ensures anonymity of the vote by signature of one-time ring type. As far as smart cities are concerned, Sharma and Park [20] present a new architecture of smart city based on blockchain and using Software Defined Networking. Blockchain technology is still developing. One of essential problems of distributed computing is consensus algorithm. Gramoli [7] discusses the mainstream blockchain consensus algorithms and especially application of the classic Byzantine consensus for blockchain solutions. Especially, he discusses proof-of-work consensus algorithms of Bitcoin and Ethereum. Within blockchain solution each node is required to store all own transactions and these of the other nodes. So, over time the huge amount of memory may be needed to store all transactions in entire blockchain solution. Dai et al. [3] present a Network Coded Distributed Storage framework and show its ability to significantly reduce the demand for amount of memory to store blockchain. Blockchain finds many applications. Jiang et al. [8] outline a keyword search system based on blockchain with authorization which allows on searching in the decentralized storage. Prybila et al. [15] show usage of blockchain to runtime verification of business processes. This approach allows on seamless execution, monitoring and verification of process choreographies. Moreover, it preserves anonymity of process participants. Furthermore, Yang et al. [26] propose a blockchain-based publicly verifiable data deletion scheme for cloud storage. Finally, Savelyev [18] presents legal aspects of application of blockchain technology in the copyright area. Among others, he introduces the existing challenges in the digital world for distribution of copyrighted works and shows blockchainbased solution.

3

Hyperledger

The Hyperledger Project (www.hyperledger.org) is an initiative led by Linux Foundation. The aim of this initiative is to build open-source distributed ledger (DLT) frameworks and code base with open governance. The initiative was

Cloud-Enabled Warship’s Position Monitoring with Blockchain

57

launched as cross-industry project with goals to progress with blockchain technology development. It both defines an open standard for distributed ledgers and identifies supporting tools. Open governance model is very important part of Hyperledger objectives. The Hyperledger Project currently has more than 150 members [28]. There are many open source projects under development and incubation run within Hyperledger Initiatives. This paper is focused on three of them: Hyperledger Fabric, Hyperledger Iroha, Hyperledger SawtoothLake. We describe for each of those projects: key features, architecture, and consensus algorithms. Open source initiatives are based on key principles of open exchange of ideas and code, open collaborative participation, rapid prototyping, and communityoriented development. Transparency and meritocracy are important values for open sources projects. One of the objectives of Hyperledger community is to defined architecture and technical standards, guidelines and patterns which will help all Hyperledger’s projects to be developed with respect to open source standards [29] such as clean design, reliability and maintainability. There are set of standards, rules and guidelines developed by Hyperledger like: project proposal template for Hyperledger project, project lifecycle, project incubation exit criteria, Hyperledger release taxonomy. There is also Hyperledger Architecture Working Group which is focused on building modular components, leaving the design and implementation to each of Hyperledger projects separately. Components of architecture defined by Hyperledger Architecture Working Group were presented in Fig. 1.

Fig. 1. Components in Hyperledger architecture.

58

T. G´ orski et al.

The communication layer is responsible for message delivery among nodes in a blockchain network. The goal of decentralized consensus algorithm is to validate new transactions in the distributed network, and to decide which transaction are valid and which will be written to the next block in a chain. A block is put to a ledger and it is replicated to other nodes. This layer addresses a problem of achieving consensus in a distributed network with potentially faulty nodes. An algorithm decides how to coordinate transactions validation process in a distributed network of nodes. Nodes are participating in this process, after validation come up with a consensus what will be in the next block. There are four most popular algorithms of finding consensus in distributed systems: practical byzantine fault tolerance (PBFT), proof-of-stake (PoS), delegated proof-of-stake (DPoS) and proof-of-work (PoW). We have two main types of blockchain networks: • permissionless, anonymous blockchain which is censorship resistant, • permissioned blockchain, with confirmed identity of participants. Each type is vulnerable for different attacks and needs to apply different type of consensus algorithms. Which means that a consensus algorithm should be plugable depending on network type and other non-functional requirements. Hyperledger Architecture Working Group defined consensus properties such as safety and liveness, and requirements for consensus interface. Processing transaction requests is the responsibility of smart contract layer. The layer is also responsible for validation of transactions by executing business functions. Data Store layer defined data stores which are needed by other components and modules. Crypto layer creates abstraction layer which allows to use cryptographic modules and algorithms and change them without affecting other modules and components. The modularity and openness of Hyperledger architecture guidelines enable network designers to plug in their preferred implementations for components, which is an advantage. Architecture components that can be easily plugged in include consensus, encryption or identity management thanks to designed standards and patterns. 3.1

Hyperledger Fabric

Hyperledger Fabric is a project which focuses on an implementation of a private blockchain framework with a capability of smart contracts. It has been developed by leveraging widely known and open technologies. It follows a modular architecture requirement. It has various pluggable services and components. It is one of multiple projects led by Hyperledger, and the first moved from incubation to active status (General Availability). The Hyperledger Fabric is an open-source private blockchain framework based on standards defined by Hyperledger. It has capability to run user-defined smart contracts. It addresses a need for transaction privacy management and participants identity management. Modular architecture of Hyperledger Fabric allows to use a pluggable consensus mechanism. Hyperledger Fabric is the first Hyperledger project which met incubation exit

Cloud-Enabled Warship’s Position Monitoring with Blockchain

59

criteria and it is an active project in version 1.0 since March 2017 [30]. The reference architecture for Hyperledger projects includes the following components and services [31] (Fig. 2): • • • • •

Membership, Blockchain and Transactions, Chain code, Event Stream, APIs, SDKs, CLI, Services.

Fig. 2. Reference architecture for Hyperledger projects.

Membership services include: registration services, identity management, and auditability services. Blockchain services cover: Consensus Manager, Distributer Ledger, peer 2 peer protocol, Ledger Storage. Chaincode services include secure container and secure registry. The shared ledger concept has started to be recognized and adopted in companies. A smart contract capability allows to define complex business rules, which can be deployed on a blockchain. Those rules are distributed, shared and validated among a blockchain network. Business process management concept is used to automate process within an organization across company’s different systems. A smart contract is used to automate business processes within distributed networks, in a transparent and trusted way. Methods of contractual rules validation are known for participants. In Hyperledger Fabric, a component of chaincode is the way of deploying a smart contract. There are three types of nodes defined for version 1.0 Alpha of Fabric:

60

T. G´ orski et al.

• Committing Peer—Maintains ledger and state. Commits transactions. May hold smart contract (chaincode). • Endorsing Peer—Specialized committing peer that grants or denies endorsement in response to received transaction proposals. Must hold smart contract. • Ordering Nodes (service)—Accepts the writing of transaction into the ledger and communicates with both peer nodes: committing and endorsing. Does not hold smart contract. Does not hold ledger. There is separation of chaincode execution for business transaction and block validation. A block validation role split into two independent roles: • Endorsement—Endorsing a transaction verifying that its content obeys a given smart contract. Endorsers ‘sign’ the contract. An endorsement policy describes the conditions by which a transaction can be endorsed. A transaction can only be considered valid if it has been endorsed according to its policy. • Ordering—Orders verified transactions for inclusion in the ledger. Controls what goes in the ledger making sure that the ledger is consistent. Three initial consensus protocols are supported by version 1.0: • SOLO—single node, usually for development. Similar to No-ops in version 0.6 but with capability to run on single node. • Kafka—ordering nodes need to be trusted for confidentiality, ordering-service must not leak across channels. Peers are not trusted. There is an access control implemented on the channel. Peers will be able to connect to channels served by different ordering services. The ordering-service sees the transactions, unless they are encrypted by the chaincode. The algorithm is crash fault tolerant. More detail description of a Kafka-based can be found at [32]. • Simple Bizantic Fault Tolerant (SBFT)—called also Single Channel Endorsement. All peers run the same chaincode and are part of consensus network. Minimum 4 nodes required to run this algorithm. This model can cope with ordering nodes attempting to corrupt data. Need to resort to crypto at the chaincode level in v1, but in the future this will be provided in the fabric and will include non-deterministic checking of chaincode output [22]. Architecture of Fabric v. 1.0 is presented in Fig. 3. According to Hyperledger Architecture guidelines there is pluggable implementation of cryptographic standards and algorithms in Fabric v1.0. An alternate implementations of crypto interface can be used within the Hyperledger Fabric code, without modifying the core modules and components. There are two types of certificates needed for membership services in Hyperledger Fabric: enrollment certificates—Ecerts and transaction certificates—Tcerts. Ecert defines long term identity in a network. It can be obtained offline. A model of bring-your-own-identity is supported too. Tcert is disposable certificate, which is typically used once. It is requested from Transaction CA. Transaction certificate is derived from long term identity—Enrollment Certificate. And only Transaction CA can link Ecert and Tcert. All interactions between participants

Cloud-Enabled Warship’s Position Monitoring with Blockchain

61

Fig. 3. Architecture of Fabric v. 1.0.

are permissioned, and users sign with either Ecerts or Tcerts. Fabric Certificate Authority (CA) provides registration of identities; enrollment of identities and issuance of enrollment certificates (ECerts); issuance of transaction certificates (TCerts) given proof of ownership of an ECert. It consists of both a serve and a client component. The only role of the Membership Service module is to issue digital certificates to validated entities that want to participate in the network. It does not execute transactions nor is it aware of how or when these certificates are used in any particular network. Membership Services component supports clustering for High Availability characteristics, LDAP server for registration and enrollment and Hardware Security Modules. 3.2

Hyperledger Iroha

One of projects in Hyperledger portfolio in an incubation phase is Hyperledger Iroha. Project was introduced to Hyperledger community by Takahiro Inaba (NTT Data), Toshiya Cho (Hitachi), Makoto Takemiya (Soramitsu) and Mark Smargon (Colu), [33]. Hyperledger Iroha is a blockchain framework designed in a very simple way, allowing easy implementation into infrastructural projects. The Hyperledger Iroha framework has the following main capabilities included: • • • • • •

easy way of code construction, domain-driven design, written in C++, ready to be used in mobile applications, Byzantine fault tolerant consensus algorithm called Sumeragi, based on chain, includes such libraries like: Ed25519 digital signature, SHA-3 hashing, P2P broadcast, API server, iOS, Android, JavaScript.

62

T. G´ orski et al.

Hyperledger Iroha Architecture consists of following main components: API Layer, Samuragi, Chaincode, Connection, Repository. The Hyperledger Iroha has three main goals: • ensure tools helping developers in delivery of contribution to Hyperledger, • delivery of environment supporting mobile and web applications, • supply a framework to test new consensus algorithms and Application Programing Interfaces that could potentially be included into Hyperledger Fabric. Sumeragi is Iroha’s Byzantine fault tolerant distributed consensus algorithm, [4] inspired by B-chain. The order of validating servers in Sumeragi is decided using the Hijiri reputation system. The Hijiri reputation system is based on rounds. Hijiri calculates the reliability of servers based on: time registered with membership service, and number of successful transactions processed. If failures are detected in servers, that information is also used as part of the server reputation system. At each round, validating peers that are registered with the membership service perform the following tasks to establish trust (reliability) ratings for the peers: • • • •

data throughput test, version test, computational test, data consistency test.

Which peers validate each other are based on the pairwise distance between hashes. The hashes are computed based on the public keys of the peers that are concatenated with the round number and then SHA-3 hashed. 3.3

Hyperledger Sawtooth Lake

Hyperledger Sawtooth Lake project is Intel’s modular blockchain framework. It is designed for versatility and scalability. It is a blockchain framework which can be applied in many differents type of business use cases such as Internet of Things or Financial Services. Hyperledger Sawtooth Lake framework supports both permissioned (private) and permission-less (anonymous) blockchain deployments. It uses Proof of Elapsed Time (PoET) consensus algorithm. The algorithm is designed for large networks of nodes with low computational capabilities. Sawtooh Lake framework decouples transaction business logic from the consensus layer into a new concept, a new layer called ‘Transaction Families’. This layer allows to apply to a blockchain restricted or unfettered semantics. The Sawtooth Lake system architecture defines three major components: distributed Ledger, Journal, and Communication component. Those three architecture components cover the following functions within a framework: • Objects such as basic transaction, message, block, • Implementation of journal,

Cloud-Enabled Warship’s Position Monitoring with Blockchain

• • • •

63

Consensus mechanism (PoET), Endpoint Registry and Integer Key Registry used by Transaction Families, Validation server, Gossip network.

Validator servers are part of the gossip protocol responsible for exchanging information between blockchain nodes. Validators exchange messages among core classes. Validators have capability to act upon defined messages, and using plug-in transaction families. MarketPlace is an example for Transaction Family. The Journal records track of all changes. It delivers transactions to the Transaction Executor. The latter one is responsible for completeness of transaction parameters before being committed to the database. Publishing blocks is also the responsibility of the Journal. It uses one of the following consensus algorithms: PoET or dev mode. Sawtooth Lake is multi-threaded so it allows executing more than one transaction at a time. The Sawtooth Lake code is originally written in Python. The current version is 1.0. It is the 2nd project which left incubation phase according to Hyperledger governance process. Modular approach in Hyperledger Sawtooth Lake separates consensus from a transaction and transaction’s block. Like in Hyperledger Fabric, the framework allows to use plug-able consensus methods. It provides two alternatives for consensus algorithms implementation: dev mode and Proof of Elapsed Time. The goal to have dev mode method is to use it by developers, during solution development, and fast prototyping. It is a simple algorithm based on random leader selection. This algorithm guarantees only crash fault tolerance. PoET is designed to support large scale blockchain networks, with hundred thousands of participants. This consensus method concept is based on a proof of work algorithm described by Satoshi Nakamoto, but it addresses economic aspects of a production network related to electricity consumption. Nodes is blockchain network are not responsible for cryptographic actions. Trusted execution environment (TEE) is used by the algorithm to guarantee transaction verification and new blocks generation in a random manner. In the Hyperledger Sawtooth Lake case, TEE is based on such as Intel Software Guard Extensions (SGX). In that approach TEE provides a guaranteed wait time. The PoET consensus algorithm works well even with networks which consist of thousands of nodes. So as to achieve high scalability it has to run on Intel processors that supports SGX. The function of TEE processor is to regulate block frequency no computation related to calculation and processing data. It has capability to be scaled to a larger number of blockchain nodes. Unavailability of a large numbers of nodes does not causes a blockchain network downtime. Transaction family is component model for the ledger data and business logic in the project. Transaction families are predefined models to support specific functional use cases. The first transaction family implemented within the Sawtooth Lake framework is the MarketPlace. The transaction family represents such business concepts as accounts, participants, assets. It provides two transaction families that are necessary for developing and deploying a new marketplace:

64

T. G´ orski et al.

• EndPointRegistry—it is a transaction family which is responsible for a blockchain ledger services registration, • IntegerKey—it is a transaction family which allows to test deployed blockchain ledgers implemented in EndPointRegistry. Those two components of transaction families deliver a distributed ledger in which an implementation of digital assets market place is possible. 3.4

Comparison of Hyperledger Projects

As a part of preparation to the workshop comparison of blockchain main projects under Hypeledger initiative was conducted. The summarized comparison of some characteristics of those three Hyperledger projects are described in Table 1. Table 1. Hyperledger’s projects summary. Characteristic

Fabric

Sawtooth Lake

Iroha

Description

Enterprise blockchain, consortia, B2B

IoT, digital assets, market place

Interledger multisignature

Consensus network Pluggable PBFT, Kafka, SBFT

Pluggable PoET, dev mode, Quorum

Pluggable Sumeragi

Privacy

Permissioned

Permissioned/ permissionless

Permissioned

Smart contract

Chaincode

Transaction families

Chaincode

Languages

GO

Python

C++

Network

Gossip

Gossip

Gossip

Status

Active

Incubation

Incubation

The Hyperledger Fabric uses the Practical Byzantine Fault Tolerance consensus algorithm to deliver security for enterprise blockchains. It puts emphasis on smart contracts. The Hyperledger Sawtooth Lake is focused on large networks and ensuring high performance. Sawtooth Lake uses transaction families as the way to realize transaction logic. The Hyperledger Iroha consists of reusable components, callable from various languages e.g. Go. Such architecture helps in supplement of Fabric, Sawtooth Lake, and other potential projects. The Hyperledger Fabric was chosen for the workshop realization.

4

The Workshop

The workshop was divided into the following parts: • introduction to blockchain technology and smart contracts,

Cloud-Enabled Warship’s Position Monitoring with Blockchain

• • • • • •

65

blockchain first steps, Hyperledger Fabric architecture, blockchain application in IBM BlueMix, configuration of blockchain developer environment at local workstations, development of smart contract at local workstations, development of complete solution using IBM BlueMix platform.

4.1

Introduction to Blockchain Technology and Smart Contracts

We explained blockchain technology and smart contracts. Students created their accounts at IBM BlueMix platform to configure their smart contracts. The Bluemix service called IBM Blockchain offers a choice between two blockchain four-node networks for development and test purposes. The Byzantine Generals’ Problem was presented, as well [1,2]. Students were supposed to get familiar with IBM BlueMix platform as cloud environment to develop applications. The Hyperledger Project was presented as an initiative led by Linux Foundation. The aim of this initiative is to build open-source distributed ledger (DLT) frameworks and code base with open governance. The initiative was launched as crossindustry project with goals to progress with blockchain technology development. So, it defines an open standard for distributed ledger for cross-industry applications. Open governance model is very important part of Hyperledger objectives. We provided information about HyperLedger Fabric architecture. 4.2

Blockchain First Steps

As a first task students configured and run first application on IBM BlueMix platform—Car Lease Demo. It was important to show students ease of creating such application which uses blockchain by using cloud platform. We have explained a blockchain-based business networks term to students. Blockchain is a specific type of network, over which members track and exchange digitized assets. A shared ledger contains the single record of all network transactions, and is replicated across all network members. Chaincode applications contain self-executing contracts and client-side applications which interface with the network through an SDK or API. Two or more transacting parties, as members of a blockchain network, implicitly agree on the terms of the smart contract that governs the transaction (e.g. upon receipt of asset “a”, asset “b” is due). Once deployed to the blockchain, functions in the contract can be invoked (i.e. a transaction can be triggered). Ensuing invocations are ordered by a leading node and broadcast to validating peers for consensus. Following validation, transactions are executed and recorded to the ledger in blocks. The ledger is then distributed to all network nodes through replication. Once appended to the ledger, transactions can never be altered or deleted; the only way to undo or change the effects of an approved transaction is to submit a subsequent transaction. Blockchain works on BlueMix in the following manner:

66

T. G´ orski et al.

• A registered user enrolls with the network through the PKI (Membership Services) and receives a long-term enrollment certificate (eCert) and a batch of transaction certificates (tCerts). • The user deploys chaincode to the network. The chaincode (smart contract) encodes business logic, or rules, governing a specific type of transaction. Each transaction (deploy, invoke or query) requires a unique tCert, and must be signed with the user’s private key. The user derives their private key from the assigned tCerts. • The user invokes the smart contract, which triggers the contract to selfexecute its encoded logic. • A transaction is submitted to a network peer. Once the peer receives the transaction request, it submits the request to the network’s primary peer. The primary peer will order a block of transactions and broadcast this order to its fellow peers. • Peers use the network consensus protocol (PBFT) to agree upon the order of submitted transactions. This process of collectively ordering transactions is known as consensus. • Once the peers have reached consensus, the transaction requests are executed and the block is appended to the shared ledger. 4.3

Blockchain Application in IBM BlueMix

At this point students created their own application which used blockchain technology. This application allowed on hiring helicopters from different airports. Complete application was done on IBM BlueMix platform. No configuration was required at local students workstations. The aim was to show students how convenient is using the cloud platform with supplied services, including blockchain. 4.4

Configuration of Blockchain Developer Environment at Local Workstations

Next, students followed instructions and configured complete environment in order to build blockchain applications at their local workstations. First of all, Ubuntu Linux operating system was installed in virtual machine environment. Furthermore, students were asked to install and configure: Git, Nodejs, NPM, Docker and Docker-compose. 4.5

Development of Smart Contract at Local Workstations

As a next task, students were led in developing the same application which allowed to hire helicopters from different airports. But this time, students had to develop the application at their local workstations under Ubuntu Linux operating system.

Cloud-Enabled Warship’s Position Monitoring with Blockchain

4.6

67

Development of Complete Solution Using IBM BlueMix Platform

As a last exercise, students developed complete application using Watson Internet-of-Things Platform, Node-Red, Cloudant and Blockchain. The purpose was to store (simulated) GPS coordinates history of ORP Tadeusz Kosciuszko Oliver Hazard Perry-class guided-missile frigate in a distributed hyperledger based on Blockchain technology (Fig. 4).

Fig. 4. Schema of data flow in application of tracking the warship.

The purpose of the exercise was checking the possibility of developing such solution. Potentially, in the future, the Navy may be equipped with such a tool that ensures accurate tracking and registration of ships positions in an undeniable manner. The simulated transmitter, equipped with a simulated GPS receiver, was prepared as an Internet-of-Things device, communicating with the IBM Bluemix (IBM Cloud) platform through the MQTT protocol (Message Queuing Telemetry Transport). In order to skip all prerequisites required for traditional on-premise solutions we have decided to use IBM Blockchain (now: IBM Cloud) platform, which offers many different solutions in a PaaS and SaaS approach. We have used several services and applications available in IBM Cloud: • Watson Internet Of Things Platform integrated solution created to communicate between wide set of IoT devices with corresponding IoT Applications and Cloud Services. IoT Platform is a solution that offers complete device communication protocol based on MQTT with a wide set of APIs for applications acting as data consumers, connected with a full set of devices supervisory capabilities and extensible management functions. • Node-Red, which has been used as a device simulator. We have used node reds graphical programming editor to create simulated IoT device, which generates GPS data and sends to Watson IoT using MQTT protocol.

68

T. G´ orski et al.

• Cloudant NoSQL—all data generated by our simulator was stored in this database for further use in a visualization dashboards. • The last one but probably the most important as well was blockchain. We have used a custom contract for storing position of the ship in blockchains ledger in a undeniable and safe form. The flow of data in that part of the workshop was presented in Fig. 4. Our first step was to create an instance of the BlueMix Watson IOT Platform service and configure it accordingly. We have used a IBM BlueMix web interface (www.bluemix.net), where we have constituted all required services in just a few seconds. In order to connect the simulator, we had to create two distinct items: device type and device registration. The first one allows to group IoT devices according to their characteristic, while the second identifies specific device. We have named the group as myGPSSensor (Fig. 5) and gave it a basic set of group metadata. Device registration could be done using IBM API, but we preferred manual approach, using web page. As a result we achieved a new device name (ORP Kosciuszko) and corresponding connection token. This concluded the basic configuration required to connect our device to IBM Cloud.

Fig. 5. Created new device with assigned new device type.

As there are no IoT devices in our laboratory that could send the data necessary for our exercise we have decided to create a device simulator. There are many options available for this task, but our platform of choice was Node-Red. This tool allows to create programs using interactive approach, with many ready building blocks available (called Node-Red nodes) and possibility to create even more complicated using Java Script. We have used this tool not only because of its computing power, but due to educational advantages as well. The visual programming approach Node-Red offers, allows to create programs even by nonexperienced persons, with possibility to fast testing and easy debugging of data flows between specific nodes. As we have used Node-Red inside BlueMix platform, whole service setup took only a few minutes. Node-Red flow for warship position generation was presented in Fig. 6. We have used only a four different node types:

Cloud-Enabled Warship’s Position Monitoring with Blockchain

69

Fig. 6. Node-Red flow for warship position generation.

• Injector (Send data) which starts the flow in regular intervals (initiates data send), • Function (Device playload) which generates the data, • Debug (msg.payload) which shows the data send by specific node, • MQTT Out (Publish to IoT) which sends the data record to Watson IoT Platform. Our program, stored in Device playload node created a data record as presented in the following Fig. 7.

Fig. 7. Node-Red Device payload node’s code creating warship’s position.

That data was later transferred by Publish to IoT node directly to IBM Watson IOT Platform using the credentials obtained in previous steps. The Watson IoT Platform works like a data broker—a kind of post office receiving and delivering parcels (i.e. IoT data) using API and MQTT protocol. We have decided not to use many advanced platforms capabilities (like device management and two-way data interchange) and picked only four of them:

70

• • • •

T. G´ orski et al.

Device connection, Measurement data reception, Simple visualization, Blockchain integration.

Probably the most important was the last one, but we have started this section with a visualization as a true check if our simulator sends the data as expected and students could visually confirm that a block of workshop has been completed successfully (Fig. 8). We have used blockchain technology as a ledgerlevel storage.

Fig. 8. The warship’s position visualization.

Our last step was to connect Watson IOT to blockchain. Flexibility encapsulated in Cloud SaaS services allowed us to accomplish this task in a very short amount of time, using dedicated IoT Platform connector and freshly created IBM Bluemix (IBM Cloud) Blockchain service with four nodes creating a blockchain network. The most important part of blockchain is a concept of Smart Contract a rule that defines how and what data will be stored in blockchain blocks and a number of distributed blockchain engines that process the transactions and agrees the steps taken. This ensures that a single entity is not able to alter the data stored in blockchain legder or insert a bogus record. We have used a simple contract available at github.com/AmarMundi/sample blockchain. The students could familiarize with a blockchain API used to install (Deploy) a SmartContract and create new asset (Invoke), which represents positions of our simulated warship (Fig. 9). After this initial blockchain setup we could periodically send a data from device simulator to Blockchain and store the GPS positions in hyperledger. We did so using Watson IoT Dashboard and mapping device data with proper event. As a pre-requisite we had to define which part of data send was used by SmartContract and how we called its methods (Fig. 10).

Cloud-Enabled Warship’s Position Monitoring with Blockchain

Fig. 9. Deploying a SmartContract using the postman tool.

Fig. 10. The warship’s position data mapping.

71

72

T. G´ orski et al.

We have finished our exercise with fully working blockchain ledger, which securely stores the warship position history in a way, that makes it not possible to alter or modify after the storage. As a result, we were able to see registration of the transaction (updateAsset) with information about the location of the ship. We can see working registration of the warship data in Fig. 11 with INVOKE operation.

Fig. 11. Deployed smart contract to the blockchain.

5

Conclusions and Further Works

A blockchain has two main concepts: a network of participants and a ledger. Participants of the network exchange items of value through a ledger, and ledger’s content is always in sync with the others members of a network. Even if a blockchain and DLT have potential to redefine a future digital economy, it does not mean that there would be one only DLT based on blockchain standard or rule. There will be many implementations of DLT. To support wide adoption of this emerging technology a blockchain standardization is essential and should be based on the open source neutral protocols, the pluggable consensus and the choice of the privacy rules. The benefits of a blockchain are based on an open and secure collaboration between the participants, so interoperability and openness are key to meet the needs of different industries, countries or legal regulations. The Hyperledger Project is an open source initiative which leads development of different blockchain projects and tools. Different approaches to data stores, consensus algorithms and privacy are the best evidences that market needs more than one blockchain. And such initiative like Hyperledger, which aims to provide guidelines, patterns and standards is important to help with this technology adoption across industries, and cross industries to benefits from its capabilities. As far as the workshop is concerned, students were very satisfied from the classes. They had opportunity to work in the cloud environment and have learned how to use different cloud services. Additional benefit for them was a practical usage of GO programming language. A very good idea was realization of the

Cloud-Enabled Warship’s Position Monitoring with Blockchain

73

same application in cloud environment and at local workstations. It gave students understanding on the level of task automation and support they can get using could environments. Furthermore, the complete blockchain-based application which monitors positions, simulated by Node-Red service, of warship ORP Kosciuszko was developed. We plan to develop competencies at the Polish Naval Academy in the field of blockchain technology. Moreover, we will research key areas for defense and critical infrastructure of the state where the technology can substantially help.

References 1. Castro, M., Liskov, B.: Practical Byzantine fault tolerance and proactive recovery. ACM Trans. Comput. Syst. 20(4), 398–461 (2002) 2. Clement, A., Wong, E. L., Alvisi, L., Dahlin, M., Marchetti. M.: Making Byzantine fault tolerant systems tolerate Byzantine faults. In: Proceedings of the 6th Symposium on Networked Systems Design and Implementation (NSDI), pp. 153–168 (2009) 3. Dai, M., Zhang, S., Wang, H., Jin, S.: A low storage room requirement framework for distributed ledger in blockchain. IEEE Access 6, 22970–22975 (2018) 4. Duan, S., Meling, H., Peisert, S., Zhang, H.: Bchain: Byzantine replication with high throughput and embedded reconfiguration., In: International Conference on Principles of Distributed Systems, pp. 91–106. Springer, Berlin (2014) 5. Efanov, D., Pavel Roschin, R.: The all-pervasiveness of the Blockchain technology. In: 8th Annual International Conference on Biologically Inspired Cognitive Architectures, BICA 2017. Proc. Comput. Sci. 123, 116–121 (2018) 6. Garay, J. A., Kiayias, A., Leonardos, N.: The bitcoin backbone protocol: analysis and applications. In: Advances in Cryptology: Eurocrypt 2015. Lecture Notes in Computer Science, vol. 9057, pp. 281–310 (2015) 7. Gramoli, V.: From blockchain consensus back to Byzantine consensus. Future Gener. Comput. Syst. (2018). Article in press 8. Jiang, P., Guo, F., Liang, K., Lai, J., Wen, Q.: Searchain: blockchain-based private keyword search in decentralized storage. Future Gener. Comput. Syst. (2018). Article in press 9. Kaijun, L., Ya, B., Linbo, J., Han-Chi, F., Van Nieuwenhuyse, I.: Research on agricultural supply chain system with double chain architecture based on blockchain technology. Future Gener. Comput. Syst. (2018). Article in press 10. Kandaswamy, R., Furlonger, D.: Blockchain primer for 2018. Gartner G00344070 (2018) 11. Khan, M.A., Salah, K.: IoT security: review, blockchain solutions, and open challenges. Future Gener. Comput. Syst. 82, 395–411 (2018) 12. Leadership vision for 2018: enterprise architecture and technology innovation leader. Gartner (2018) 13. Li, X., Jiang, P., Chen, P., Luo, X., Wen, Q.: A survey on the security of blockchain systems. Future Gener. Comput. Syst. (2018). Article in press 14. Nakamoto, S.: Bitcoin: a peer-to-peer electronic cash system. https://bitcoin.org/ bitcoin.pdf (2008) 15. Prybila, C., Schulte, S., Hochreiner, C., Weber, I.: Runtime verification for business processes utilizing the Bitcoin blockchain. Future Gener. Comput. Syst. (2018). Article in press

74

T. G´ orski et al.

16. Pustiˇsek, M., Kos, A.: Approaches to front-end IoT application development for the Ethereum blockchain. In: 2017 International Conference on Identification, Information and Knowledge in the Internet of Things. Proc. Comput. Sci. 129, 410–419 (2018) 17. Reyna, A., Mart´ın, C., Chen, J., Soler, E., D´ıaz, M.: On blockchain and its integration with IoT. Challenges and opportunities. Future Gener. Comput. Syst. (2018). https://doi.org/10.1016/j.future.2018.05.046. Accepted for publication 18. Savelyev, A.: Copyright in the blockchain era: promises and challenges. Comput. Law Secur. Rev. 34, 550–561 (2018) 19. Schneider, F.B.: Implementing fault-tolerant services using the state machine approach: a tutorial. ACM Comput. Surv. 22(4), 299–319 (1990) 20. Sharma, P.K., Park, J.H.: Blockchain based hybrid network architecture for the smart city. Future Gener. Comput. Syst. (2018). Article in press 21. Turkanovi´c, M., H¨ olbl, M., Koˇsiˇc, K., Heriˇcko, M., Kamiˇsali´c, A.: EduCTX: a blockchain-based higher education credit platform. IEEE Access 6, 5112–5127 (2018) 22. Vukolic, M.: The quest for scalable blockchain fabric: proof-of-work vs. BFT replication. In: Proceedings of IFIP WG 11.4 Workshop iNetSec 2015 Open Problems in Network Security. Lecture Notes in Computer Science, vol. 9591, pp. 112–125 (2016) 23. Wang, B., Sun, J., He, Y., Pang, D., Lu, N.: Large-scale election based on blockchain. In: 2017 International Conference on Identification, Information and Knowledge in the Internet of Things. Proc. Comput. Sci. 129, pp. 234–237 (2018) 24. Wang, Q., Qin, B., Hu, J., Xiao, F.: Preserving transaction privacy in bitcoin. Future Gener. Comput. Syst. (2018). Article in press 25. Xia, Q., Sifah, E.B., Asamoah, K.O., Gao, J., Du, X., Guizani, M.: MeDShare: trust-less medical data sharing among cloud service providers via blockchain. IEEE Access 5, 14757–14767 (2017) 26. Yang, C., Chen, X., Xiang, Y.: Blockchain-based publicly verifiable data deletion scheme for cloud storage. J. Netw. Comput. Appl. 103, 185–193 (2018) 27. Yang, J., Lu, Z., Wu, J.: Smart-toy-edge-computing-oriented data exchange based on blockchain. J. Syst. Architect. 87, 36–48 (2018) 28. www.hyperledger.org/about/members 29. https://www.oasis-open.org/org 30. https://hyperledger-fabric.readthedocs.io/en/latest/releases.html 31. https://github.com/hyperledger/fabric/blob/master/proposals/r1/NextConsensus-Architecture-Proposal.md 32. https://kafka.apache.org 33. www.soramitsu.co.jp/en/

LaTeX in Cloud—Unknown Tool in Technical Documents’ Creation Brzozowska Ewelina1(B) , Paniczko Emilia2 , and Werachowski Marcin3 1 Faculty of Mechanical Engineering, Department of Biocybernetics and Biomedical Engineering, Bialystok University of Technology, Wiejska 45C, 15-351 Bialystok, Poland [email protected] 2 Faculty of Chemistry, Departament of Chemistry and Technology of Functional Materials, Gdask University of Technology, Gabriela Narutowicza 11/12, 80-233 Gdask, Poland [email protected] 3 Faculty of Chemistry, Department of Environmental Chemistry and Radiochemistry, University of Gdansk, Wita Stwosza 63, 80-308 Gdansk, Poland [email protected]

Abstract. The LaTeX language is getting more popular in technical usage. It is one of development environment, which allows for creation of technical documents using simply commands and scripts. Its biggest advantage is the possibility of application the cloud computing method, which opens diversified opportunities for scientists. Due to the number of working locations and inconvenient linked with the data transfer and their protection, it becomes one of the safest ways of that type data storage. Our aim was to provide that LaTeX in cloud as an example of cloud computing program, allows for faster communication between the scientist and protects our data better than the traditional storage commonly used by our technical society. The other very important aspect was demonstration that there is a possibility the use of additional tools and connect them in order to facilitate collaboration between researchers. There have also been used other cloud computing tools, as well as various helpful LaTeX add-ons, available in the cloud and linked them with LaTeX background. Keywords: Cloud LaTeX

1

· Cyber security · Scientists’ cooperation

Introduction

XXI century is the time of dynamic industrial development, miniaturization, mechanization, innovation and computerization of the world. It cannot surprise that the method of creation technical documentation at universities should be cooperation with industries and interdisciplinary cooperation among themselves. c Springer Nature Switzerland AG 2020  R. Klempous and J. Nikodem (eds.), Smart Innovations in Engineering and Technology, Topics in Intelligent Engineering and Informatics 15, https://doi.org/10.1007/978-3-030-32861-0_5

76

B. Ewelina et al.

The question of data storage as well as their security is still one of the most important question for scientists. The historical progress of information storage is extremely visible in the XX century. The researchers continue to work on data protection and transmission without the risk of loss. They developed different kinds of portable storage’s to begin with—floppy disks, CDs, USB drives to name a few. However, the security of those was really questionable. About 30 years ago in the laboratories of Stanford Research Institute (SRI International) one of the most revolutionary clouds programs was created. LaTeX is one of the programs that consists of a cloud storage [19]. This method of data collection offers a lot of possibilities for users from different branches of our life. It could be applied in science and in management. Free access to this program could guarantee rising popularity of its usage and connection with other devices dedicated to LaTeX that facilitate the exploiting for new joiners of LaTeX society [25]. Cloud computing is based on three main branches: application, platform and infrastructure [17,31,37]. The most important element in clouds storage is an application which is fitted into the users needs and it could be modified in different ways, accordingly to the current requirements. The applications’ market is diversified and associates offer different kinds of tools which could be launched to all sorts of electronic devices which possess access to the internet. They can offer us clouds with different accessories with the appropriate electronic equipment. According to Kotowski and Ochla [20], as well as Wang et al. [37] its permits the usage in various places via laptops, mobile phones, tablets etc. The platform creates the main database for the user who needs to be registered in. Registration gives a special identity with access to all his files and unlimited access in each place with the availability of the web connection. The heart of cloud computing system consists on the infrastructure. This element is based on computing which translates data using the blocks storage. The data exchange is guaranteed by the network access. The work of Dillon and Chang [8] described the basis of cloud computing and distinguished it from service-oriented computing and grid computing. It also described the general challenges and issues for cloud providers and customers. They discuss the use of cloud computing, elaborate service model and deployment model, as well as interoperability and standardization issues.

2 2.1

Materials and Methods LaTeX in the Academic Environment

LaTeX is not only simply a text editor, but a system used to create the professional documents. This freeware was designed to help in preparation long, structured documents and above all, professional—looking equations. LaTeX is based on a system created by Donald Knuth in 1978, called TeX [18]. It was designed to prepare high-quality digital type setting of documents. TeX was an IT tool and for most people it was difficult to use. This low-level, computer language has been improved and thus created a more user-friendly interface called LaTeX.

LaTeX in Cloud—Unknown Tool in Technical Documents’ Creation

77

The LaTeX, invented by Lamport [23] was created in the laboratories of Stanford Research Institute (SRI International). The creation of documents using Latex is based on a simple method: “What You See Is What You Mean” and it is able to format automatically each graphical aspect of technical documents. As we find in Oetiker et al. [25], LaTeX provides many opportunities for technical users. The LaTeX is an environment at first dedicated for engineers, but very poorly distributed at Polish Scientific Departments. During our work, we were trying to review if it could be related with other programs consisting on clouds, cloud computing. In this work an attempt was made to verify whether the use of cloud-based solutions would facilitate the work and verify the advantages of clouds documents. The aspects, which were the most interesting for us were: the storage, security of files and the possibility of data, exchange. During work, there were find many difficulties in the information exchange, mainly in using new named documents to exchange our progress during the research. There was an enormous inconvenient as charging the new files for all this time limit our drive storage and it was extremely hard to find them if we had 10 files with similar names. LaTeX offered us the possibility to make the changes in the document at the same file without the inconvenient renaming. As the work took place in two different cities, the exchange of the information was limited. The daily emails exchange or sending the messages via social media obstructed the exchange of important information and the search of others remarks. Often extensive correspondence, from which we remove unnecessary information, can also contribute to the removal of important files contained in e-mails or spending time on finding the correct information, e.g. in social media. The decision of the LaTeX’s environment usage was related to different aspects. Sometimes the universities offers the templates to create the papers but the application of them is difficult. Text editors as LaTeX, are not popularized even if they offer a lots of facilitation and they are mostly recognized in the next stages of scientific degrees. The authors used the LaTeX for the first time during the study below and even if the appliance of this program was not easy at the beginning the usage of tutorials and guides helped us to implement this text editor in daily usage. 2.2

The Use of Clouds in the Engineer’s Work and Help in Daily Use

As it was maintained the universities do not offer their students any dedicated tools to create their final papers like LaTeX. Sometimes it is a “coincidence” when we get to know someone who works in this environment or even heard about it. As it turns out during research on the useful tools, many of them can be obtained using LaTeX—all the more so that in the cloud. As mentioned before LaTeX was the new tool for the team and it was learned thanks to numerous guides. In the further part of this work we would like to present the different facilities offered by LaTeX’s based editors.

78

B. Ewelina et al.

Numerous projects request the interdisciplinary cooperation of engineers, doctors or other specialist to investigate the diversified interdisciplinary tasks. This kind of cooperation may provide many interesting and useful conclusions— some of them may be helpful in attempting to develop prevention against premature delivery. During the study, two problems were encountered: distance in cooperation, which became burdensome and expensive, and the need to process big sized files registered in one place and delivered to the others the LaTeX is irreplaceable. It guarantee instant data transfer between the researchers from different world parts. Also the poor knowledge of LaTeX at universities gives the opportunity to improve that it is better option in creation of documents and promote its advantages between colleagues and students. Another advantage is time saving and a significant reduction of costs. Very large data sets can be stored and transferred into the cloud and shared with users who have received permission to be watcher or editor of our project.

3 3.1

Results LaTeX as the External Drive

The most part of LaTeX based editors exists in cloud. Literature describes diversified definitions but the simplest one is that it is a file which represents as a physical drive to a guest operating system. This file can be configured on a hosts or on a remote file’s system. The user can even launch a new operating system or programs without the usage of external storage. As it was mentioned, online editors based on LaTeX offer free membership. After completing the registration form, the new joiner has possibility of creation of documentation using the LaTeX interface. In terms of membership, we obtain 1GB of disc capacity which could be used for document’s storage. The example of document created in Cloud LaTeX is presented in Fig. 1.

Fig. 1. Cloud LaTeX document created on an user’s account in the cloud at website [1].

LaTeX in Cloud—Unknown Tool in Technical Documents’ Creation

79

Regarding that, LaTeX offers the user access to his data everywhere the internet is available. The user can work on his documents via mobile phones, tablets, laptops or personal computers. The only required information are the login and password. LaTeX’s language is specific. As it was described in Vouk [36], it requires a large amount of simple commands to create documents and due to that users find some limits in program usage. Even if formatting of a document happens automatically with just a few scripts used most of the time, the creation of diagrams, tables containing important data or even difficult, complicated equations is not so obvious. In order to simplify the work in LaTeX-based editors, a compatible programs has been developed that allows quick document preparation. Those tools are mostly available online on dedicated websites and facilitate the work even for the beginners. Those functions are less commonly used than typical formatting of documents and more complex ones. The adaptation in usage of unknown tool was impeded at the beginning. Furthermore—with these tools we have a great deal of ease and time to spare. LaTeX’s operate programs are gaining popularity thanks to widely available online editors and allow to simplify work even for those who start working in this environment [26].

Fig. 2. Website [34] generating the table scripts for LaTeX.

The mentioned tools give an opportunity to insert the data and the tool provide appropriate script which including all data provided. The one of examples is website dedicated to tables creation [34]. There, the table presented in Fig. 2 could be converted into a list of commands ready-to-paste in the LaTeX file, as it was presented in the Fig. 3. After the generation of the code, it could be integrated with the document without any additional formatting. The example of integrated script is presented in Fig. 4. Another example of tool which could be applied in documents creation is a generator of complex mathematical equation’s scripts available online. On the

80

B. Ewelina et al.

Fig. 3. Window above the table with a generated table script on webside [34].

Fig. 4. Generated script pasted directly into a LaTeX document in the cloud [1].

web page [1] any user could easily create ready-to-paste LaTeX codes, building it gradually with mathematical symbols. Figure 5 shows a page, where there is shown the generated LaTeX script for the complex math equation and this equation above. Another program used to create equation’s scripts is LaTeX4technics [27] presented in Fig. 6. This cloud environment integrated with LaTeX was created typically for technical applications. It is available on website, as well as the generator presented in previous Fig. 5. Although, both programs generate the same script for this equation, which had been integrated into LaTeX document is presented in the Fig. 7. All equations can be generated and ordered automatically by the program. Pasting the next equations with application of commands facilitate the work as from the beginning the equations are ordered and they have their own number. The equa-

LaTeX in Cloud—Unknown Tool in Technical Documents’ Creation

81

Fig. 5. Website [6] generating the mathematical equations for a LaTeX document in the cloud.

Fig. 6. Website [27] generating the mathematical equations for a LaTeX document in the cloud.

tion starts with “\begin equation” and it ends “\end equation”. In this case, we avoid manual numbering of further equations, and when we change their order, the change is made automatically. LaTeX enable the preview of all insert equations. Another argument for usage of LaTeX in creating documents is the possibility of preparing a ready to use bibliography. First of all, the usage of EndNote helped to catalog the bibliography and to create its database. From there, records can be easily converted into a dedicated format ‘.bib’. Once the citation

82

B. Ewelina et al.

Fig. 7. Generated script pasted directly into a LaTeX document in the cloud.

is marked and copied, the only thing required is to add a short link which is the identifier. All identifiers are used to create citations with appliance of the simple command “cite{link}”. All elements of bibliography should be listed and placed at the end of the document with following commands: at the beginning: \bibliographystyle{plain} and \bibliography{database bib}—at the end. Another possibility, which does not require additional programs, is use publishers websites, Google Scholar or simply create ‘.bib’ descriptions yourself. An example of bibliographic creation record in Google Scholar is shown in Fig. 8. When you select under the searched item “Quote”, the exemplary citation formats are displayed. This records can also be saved in the ready-to-paste BibTeX format. As described previously, assignment of identifiers can help in quick modification of bibliography in case of format modification. If it requires to give its name and the program will reformat and arrange it properly by itself. With extensive documentation, this gives you a lot of convenience and saves you time and focus on the content of your work. All LaTeX editors are not the only one on-line tool, which is using undermine TeX to create the technical documentation, any other documents and articles. Another good example is Overleaf—the environment that was used to create this article. In its creation, distance cooperation was required between different research centers and thanks to the cloud-using environment it was possible to update the file in real time. Overleaf is a tool to facilitate cooperation between different locations. However if the project requires more capacity, the user needs to buy additional storage which is less expensive as delegations. The document created in the program looks like in the Fig. 9. The LaTeX as the program used in cloud is not only applied in Cloud Latex or Overleaf program. It had been used by numerous creators of on-line tools which are applied in creation of technical documentation. Those text editors consist on LaTeX are for example: CoCale, ShareLaTeX [13], Verbosus [22], LuaLaTeX [12], XeTeX [33], TeXlipse [32].

LaTeX in Cloud—Unknown Tool in Technical Documents’ Creation

83

Fig. 8. Bibliographic record generated in Google Scholar.

Fig. 9. Screenshot from the Overleaf cloud environment, available on-line [14].

The documents creation process is also very intuitive and the users can easily create the document in one of presented programs with the knowledge from the other. This is related to the usage of the same language by all of tools offered to the online work. The only factor which change narrowly is the interface applied by the tool author. 3.2

The LaTeX Used as Offline Editor

The offline usage of programs based on LaTeX is as simple as it is on-line. One of the programs based on the off-line version of it, is called TeXworks [16]. Once download on the PC the creation of the documents is possible in the system. The process of documents creation is the same as online. At the figure below we can see the dedicated editor on the left and real-time preview on the right. The advantage of this application is the possibility of transferring the obtained

84

B. Ewelina et al.

Fig. 10. Screenshot from the TeXworks environment, available at [16].

text to an online editor, which should format the text in the same way as in the offline version [16] as it is presented in Fig. 10. Another example of LaTeX offline appliance is LingSync [9]. This complex program allows you to learn a language remotely and exchange language, and also uses the LaTeX community for text input and editing. It allows you to work both online using a dedicated website and offline through a dedicated application that can be installed on any device. TextMate [29] is another program based on LaTeX online and offline, and is adapted to the Mac OS X operating system. Subversion integration makes it very easy to add version control to your work-flow. It allows you to work on multi-creator projects, allowing you to assess the contribution of each team member to your project. In addition, TextMate, Subversion is one of the most popular methods of integrating a large editorial team. 3.3

LaTeX in Cloud and Data Protection

The data storage developed mostly at XX and XXI century with inventions as: tapes, floppy discs, compact drives, USB drives including the flash discs and mass storage discs, and virtual drives. The devices mentioned above are commonly used nowadays are CDs and flash drives and they are a portable version of storage which cannot be used everywhere we wish. They are also fragile and can be damaged very easily, blow out, get scratched, break when they fall, and they are also easy to lose [5]. Next to those devices we observed also the development of the PC which later assisted to the development of the first laptops and other electronic devices. We could see that the data security while using those devices even with anti virus

LaTeX in Cloud—Unknown Tool in Technical Documents’ Creation

85

programs was insufficient. In that case, unsuspecting users can easily become susceptible to becoming a victim of virtual crime [2]. Even the biggest enterprises nowadays do not want to store their data on internal servers or portable drives [7]. As working in the cloud, LaTeX offers its users the most important thing— the possibility of data storage on an external drive. As it was showed in previous studies made by Feng et al. [10], Kostecki [19] or So [31]. The security of those servers is much bigger because the external discs has certain limits are offered by international corporations, and SRI lab is not the only one. Those drives are also offered by common platforms as Google [15]. The facility of data access depend on us. In case of Google drives we can forward those data with limited access as “view only”. In case of LaTeX working in cloud consist only in the data storage. Due to that we need to transfer our password to the trusted user, because in this situation the access to data is unlimited and it can be lost quickly [20]. 3.4

Communication and Data Storage Versus LaTeX in Cloud

There was already seen that traditional data security does not offer enough of protection to our data properly and they can be lost due to numerous accidents or hacking tries. Those inconveniences were resolved using external drives and individual user datas access is attached to an appropriate account. Another remarkable option is the possibility of transferring documents to other users. The majority of programs based on clouds give an opportunity of data exchange. Once files are loaded on the virtual drive and they are made accessible to precise recipients who share the project. The importance of those facilities is related to editorial options which are made in real time [21]. For students, the clouds programs facilitate the contact with the promoter as the project could be shared by them and do not requires emails exchange or flash drives which can be lost or destroyed [24]. Students use the academic computers very often at libraries or the other places where the data is deleted from the drive once the computer is switched off [24]. To avoid this kind of data loss LaTeX offers their users the automatic data saving. As it was shown in Knorr and Gruman’s work [17], LaTeX offers a solution to the problem, but requires an account on one of the dedicated platforms. In this case clouds allows authorized users a quick exchanges of information [21]. The customary data exchange by emails or drives is replaced by the external drives [3]. Even if the membership is paid, its costs less than high-power computer [11]. The usage, interoperability and standardization issues of cloud computing distinguished it from service-oriented computing and grid computing [8]. Singh et al. [28] emphasized that construction and operation of extremely large-scale computer data enters at low-cost locations was the biggest economical advantage of cloud computing. In some cases there was uncovered decrease in the cost of electricity, available software and hardware, network bandwidth in large economies. The same opinion can be found in Chen et al. [4]. Cloud computing provides a new model of IT infrastructure usage due to dynamically integrated applications, existing compute infrastructures and storage [35].

86

B. Ewelina et al.

Overleaf, one of the programs used for research purposes, offers a chat option where co-authors of text can exchange their insights about their work. This allows you to maintain order in communication and easy access to the modifications made, as well as adding tips on the work done. The co-authors may be added to the project as editors or observers of the project (Fig. 11).

Fig. 11. The ability to share documents with a certain degree of editing offered by OverLeaf.

Once the editing ability has been given, both the owner and editors, can check who is currently working on the modifications to the project (Fig. 12).

Fig. 12. In squares, the initials are used to mark our co-workers.

Each co-author have access to project’s chat which allows a quick exchange comments and insights on the different stages of creating a common project.

LaTeX in Cloud—Unknown Tool in Technical Documents’ Creation

87

Both during the work on diversified projects, the ability to exchange thoughts through a dedicated chat allowed you to maintain order in the messages, focused only on the handled task, as it is shown in (Fig. 13).

Fig. 13. Chat window offered by OverLeaf.

4

Conclusion

Cloud computing is now one of the most commonly used manners to keep and exchange users data at a distance. The main aim is to protect data and prevent their loss in some accidents. The user account (with registered identity and after giving a password) is good database for the users with full access everywhere it is needed one of the examples is Cloud LaTeX. The most important advantage of using LaTeX is the ability to work remotely with a large team, by sharing your project with selected users with a certain degree of access to data. Our earlier work proofed that cloud computing facilitated the exchange and protection of all used data. Cloud LaTeX helps in results processing and basically is used as the generator of automatically formatted scripts. A further benefit of using programs based on LaTeX both offline and online. Their compatibility allows you to edit documents anywhere without the required network access and then update it on the server. Thus, it allows you to work in any conditions requiring the user to have an application using LaTeX. In this way, it speeds up work on documents. As it was shown in this paper, cloud computing is the future of technology development and it has great application prospects in education. The briefly presented by us example of cloud computing’s use in education was Cloud LaTeX, which gives a lot of facilities in creation of technical documentation and allows

88

B. Ewelina et al.

for scientific exchange. Cloud computing is safer than traditional data exchange with the external drive—there the data protection is on a high level. Acknowledgments. The authors declare that there are no financial or personal relationships with other people or organizations that could inappropriately influence this study. The study was carried out as part of the work No.MB/WM/2/2016 and financed by the Ministry of Science and Higher Education.

References 1. Acaric Co. Ltd.: Cloud LaTeX. https://cloudlatex.io/projects 2. Al-Alawi, I., Al-Marzooqi, A., Al-Marzooqi, Y., Fraidoon, N., Yasmeen, M.: Organizational culture and knowledge sharing: critical success factors. J. Knowl. Manag. 11(2), 22–42 (2007) 3. Armbrust, M., Fox, A., Griffith, R., Joseph, A.D., Katz, R., Konwi´ nski, A., Lee, G., Patterson, D., Rabkin, A., Stoica, I., Zaharia, M.: A view of cloud computing. Commun. ACM. 53(4), 50–58 (2010). https://doi.org/10.1145/1721654.1721672 4. Chen, Y., Paxson, V., Katz, R.H.: Whats new about cloud computing security. University of California, Berkeley report No. UCB/EECS-2010-5, 20 January 2010– 2015 (2010) 5. Clark, T.: Storage Virtualization: Technologies for Simplifying Data Storage and Management. Addison-Wesley Professional, Reading (2005) 6. CodeCogs: LaTeX Equation Editor. https://www.codecogs.com/latex/eqneditor. php 7. Czinkota, M.R., Ronkainen, I., Moffett, M.H., Marinova, S., Marinov, M.: International Business. Wiley, Reading (2009) 8. Dillon, T., Wu, C., Chang, E.: Cloud computing: issues and challenges. In: 24th IEEE International Conference on IEEE Advanced Information Networking and Applications (AINA), pp. 27–33 (2010) 9. Dunham, J., Cook, G., Horner, J.: LingSync & the online linguistic database: new models for the collection and management of data for language communities, linguists and language learners. In: Proceedings of the 2014 Workshop on the Use of Computational Methods in the Study of Endangered Languages, pp. 24–33 (2014) 10. Feng, D.G., Zhang, M., Zhang, Y., Xu, Z.: Study on cloud computing security. J. Softw. 22(1), 71–83 (2011) 11. Fox, A., Griffith, R., Joseph, A., Katz, R., Konwi´ nski, A., Lee, G., Patterson, D., Rabkin, A., Stoica, I.: Above the clouds: a Berkeley view of cloud computing. Department of Electrical Engineering and Computer Sciences, University of California, Berkeley, report UCB/EECS,28 (13) (2009) 12. Hagen, H., Henkel, H., Hoekwater, T., Scarso, L.: LuaTeX. http://www.luatex. org/team.html 13. Hammersley, J., Baynes, M.A., Shalit, L., Miller, S., et. al.: ShareLatex. https:// www.sharelatex.com/ 14. Hammersley, J., Baynes, M.A., Shalit, L., Miller, S., et. al.: Overleaf. https://v2. overleaf.com 15. Kaufman, L.M.: Data security in the world of cloud computing. IEEE Secur. Priv. 7(4), (2009) 16. Kew, J.: TeXworks. http://www.tug.org/texworks

LaTeX in Cloud—Unknown Tool in Technical Documents’ Creation

89

17. Knorr, E., Gruman, G.: What cloud computing really means. InfoWorld 7, 20–25 (2008) 18. Knuth, D.E.: TEX and METAFONT: New Directions in Typesetting. American Mathematical Society, Reading (1979) 19. Kostecki, R.P.: W miare kr´ otki i praktyczny kurs LATEX-a w π e minut. http:// www.fuw.edu.pl/∼kostecki/kurs latexa.pdf (2008) 20. Kotowski, J., Ochla, M.: Innovative Technologies in Management and Science, pp. 57–71. Springer, Berlin (2015) 21. Krzywiecki, L  ., Kutylowski, M.: Proof of possession for cloud storage via Lagrangian interpolation techniques. In: International Conference on Network and System Security, pp. 305–319. Springer, Berlin (2012) 22. Kuster, D.: VerbTeX. https://www.verbosus.com/ 23. Lamport, L.: LaTEX: user’s guide. Reference Manual, pp. 57–71. Addison-Wesley, Reading (1986) 24. Misra, R., McKean, M., West, S., Russo, T.: Academic stress of college students: comparison of student and faculty perceptions. Coll. Stud. J. 34(2), 236–246 (2000) 25. Oetiker, T., Partl, H., Hyna, I., Schlegl, E.: The not so short introduction to LATEX2. http://www.tex.ac.uk/tex-archive/info/lshort (1995) 26. Radajewski, J., MacFarlane, S., Dekeyser, S.: GOOD publishing system: generic online/offline delivery. ADCS, pp. 67–70 (2004) 27. Schnierle, M.: LaTeX4technics Equation Editor. https://www.latex4technics.com/ 28. Singh, B., Dhawan, S., Arora, A., Patail, A.: A view of cloud computing. Commun. ACM 53(4), 50–58 (2013) 29. Skiadas, C., Kjosmoen, T., Kalderon, M.E.: Subversion and TextMate: making collaboration easier for LATEX users. PracTEX J. 3 (2007). Citeseer 30. Smith, A.D., Rupp, W.T.: Issues in cybersecurity; understanding the potential risks associated with hackers/crackers. Inf. Manag. Comput. Securi. MCB UP Ltd 10(4), 178–183 (2002) 31. So, K.: Cloud computing security issues and challenges. Int. J. Comput. Netw. 3(5), 247–255 (2011) 32. SourceForge: TeXlipse. http://texlipse.sourceforge.net/release.htm 33. SourceForge: XeTeX. https://sourceforge.net/projects/xetex/files/latest 34. TablesGenerator: LaTeX Table Generator. http://www.tablesgenerator.com/ latex tables 35. Vecchiola, C., Pandey, S., Buyya, R.: High-performance cloud computing: a view of scientific applications. In: 10th International Symposium on IEEE Pervasive Systems, Algorithms and Networks (ISPAN), pp. 4–16 (2009) 36. Vouk, M.A.: Innovative Technologies in Management and Science, pp. 17–28. Springer, Reading (2015) 37. Wang, J., Chen, X., Li, J., Kluczniak, K., Kutylowski, M.: A new secure data deduplication approach supporting user traceability. In: 10th International Conference on IEEE Broadband and Wireless Computing, Communication and Applications (BWCCA), pp. 120–124 (2015)

Designing API for Using Publicly Accessible Data Sets Tomasz G´orski1(B) and Ewa Wojtach2 1

Institute of Computer and Information Systems, Faculty of Cybernetics, Military University of Technology, Warsaw, Poland [email protected] 2 IBM Polska Business Services Sp. z o.o, Warsaw, Poland [email protected]

Abstract. The paper explores two aspects of using data which is shared in clouds. First of all, authors present steps of data preprocessing which allow the usage of nearly each data source available in public data sets. Authors give hints in which situations it is recommended using replication and synchronization mechanisms. Furthermore, authors discuss possible ways of publishing own API from middleware tier for client application, mainly REST API, GraphQL and OData. Static REST API gives more control of the way the data is being queried. On the other hand, if you have many different client applications making use of data the GraphQL gives much more flexibility for API usage. OData gives common way query, filter and structure response data but adheres to server domain model. Our findings can be useful by organizations while exposing new data sets for public usage. Moreover, the authors summarize the paper and outline directions for further work. Keywords: Data sets · Data sharing · Application programming interface (API) · REST API · GraphQL · OData

1

Introduction

Exposing data and APIs on the Internet and thus making them available for citizens is a common trend both in public organizations and commercial companies. We can find a wide variety of data shared on the Internet by city of Warsaw (e.g. cinemas, theaters, ATMs, streets, hotels, bike paths, queues at offices and many more). Other cities in Poland also share their data with urban dwellers, e.g. Pozna´ n, Gda´ nsk, Krak´ ow. In commercial world we can give an example of CitiBank (e.g. ATM locations), telecommunication company Orange (e.g. send SMS, send MMS, SIM GeoLocalization, get prepaid balance). Data are shared in a multiple ways, starting from flat, text, csv or XLSX files through XML files and ending with standards like Web Services and REST APIs. On the other hand we have developers who build applications. Each application c Springer Nature Switzerland AG 2020  R. Klempous and J. Nikodem (eds.), Smart Innovations in Engineering and Technology, Topics in Intelligent Engineering and Informatics 15, https://doi.org/10.1007/978-3-030-32861-0_6

Designing API for Using Publicly Accessible Data Sets

91

works on data. Usually, a Web application uses data from multiple sources. It can access data from internal or external databases and external sources available through APIs. Moreover, an application developer more often has to bear in mind access to data from Web interface and Mobile interface as well. In the light of these facts, gathering data, especially from multiple external sources, and making it accessible from Web and Mobile applications to end users is not easy and straightforward task. Many competitions are organized to encourage developers to create applications that are making use of the shared data (e.g. Apps4Warsaw, Citi Mobile Challenge, BIHAPI [22]). There are several concerns which should be taken into account: • Mechanism of making data available—in case of exposing data through standards like Web Services or REST API then standard library connector could be used, otherwise there is a need for custom data connector (e.g. for flat files). • Completeness of shared data—whether remote source provide full spectrum of data that is needed for application, or data should be pre-processed in some way. • Historical data—whether remote source provide historical data, or current state only. In case of absence of historical data usually there is a need to collect and store data periodically. In that way we can obtain set of data on which we can perform some analytics queries. • Level of API documenting—whether remote API is well documented, or it is documented only by its definition. On the other hand, there is an issue of level of documenting of our API—whether it is for internal purposes only, or it will be used by other organizations. • Synchronization of responses from multiple data sources—synchronizing responses and making it transparent to client application. In the paper, we shall describe methods of preparing data which originates from different sources to work with application middleware tier, as well as exposing data from middleware application tier to work with end-user application, either Web or Mobile one.

2

Related Studies

In order to identify publications on similar subjects, we queried the ScienceDirect database three times. Each of the search queries sought papers published after 2013 in the field of Computer Science. The phrase API management was used as a search term. In the search, the list of papers was restricted to two article types: review papers and research papers. Furthermore, the list of publications was limited to the following IT systems engineering journals: Future Generation Computer Systems, Journal of Systems and Software, Information and Software Technology, Procedia Computer Science. The search yielded 1323 papers. This means that management of APIs is still regarded as one of the key quality features of IT solutions. As the next step, titles and abstracts were reviewed with a view to identify papers that treats about building Internet of Things (IoT)

92

T. G´ orski and E. Wojtach

and cloud solutions with API usage. On that basis, 16 papers were qualified as focusing on the following areas: Web API usage, Internet of Things (IoT) and Smart City services, API usability, design patterns. Web APIs provide an extensible approach for application-to-application interaction. Espinha et al. [5] investigate how web API providers organize their API evolution, how this affects source code changes of their clients. Applications’ APIs are developed and change over time. So, API elements should always be deprecated with replacement messages. Brito et al. [2] study the use of replacement messages in API deprecation. Many programs benefit by using libraries. But, often overlooked risk is program runtime failure due to API changes in libraries that evolve independently. Jezek et al. [9] studied two aspects: the compatibility of API changes as libraries evolve, and its impact on programs using these libraries. The main technical issues regarding smart city solutions are related to e.g.: data gathering, aggregation and service delivering via Smart City APIs. Badii et al. [1] present comparison of the state of the art solutions of smart city architectures for data aggregation and for Smart City API. Furthermore, Gaur et al. [7] analyze new methods and techniques for effective data management in smart city infrastructure where very large amounts of data are being generated each day. Moreover, in such infrastructures usually are of a huge number of heterogeneous IoT devices, which are potentially resource-constrained and it lead to quality of service (QoS) concerns. White et al. [20] evaluate the current state of the art of proposed QoS approaches in the IoT. Douzis et al. [4] present a cloud service for data collection from Internet of Things devices which includes a flexible API for managing devices, users and permissions. Usability is an important API’s quality attribute. Mosqueira-Rey et al. [12] propose a comprehensive set of heuristics and guidelines for API usability that is a structured synthesis of the existing literature on API usability. Furthermore, Sheller and K¨ uhn [19] propose automated, objective measurement method of API usability. On the other hand, Qiu et al. [15] conducted a large-scale, comprehensive, empirical analysis of the actual usage of Java APIs. One of the findings is that deprecated API entities are still widely used. It is not always obvious which API methods are suitable and where these API methods can be used in the target program. Xu et al. [21] propose an approach, MULAPI (Method Usage and Location for API), to recommend API methods and figure out the API usage location where these API methods would be used. Moreover, programmers face several obstacles when learning application programming interfaces. A considerable part of such difficulties relate to discovery of API elements and the relationships among them. To address discoverability problems, Santos and Myers [18] show how to complement APIs with design annotations, which document design decisions in a program-processable form for types, methods, and parameters. Furthermore, Salman [17] presents an approach to identify multilevel frequent usage patterns (IML-FUP) to help developers understand API usage and facilitate the development tasks when they use new APIs. An identi-

Designing API for Using Publicly Accessible Data Sets

93

fied pattern represents a set of API methods that are frequently called together across interfering usage scenarios. Design patterns are widely used by software developers to build IT systems. Mayvan et al. [11] present an overview of the research efforts on design patterns. An API usage pattern documents a set of method calls from multiple API classes to achieve a reusable functionality. Existing approaches often use frequent-sequence mining to extract API usage patterns. Niu et al. [13] explore the possibility of mining API usage patterns without relying on frequent-pattern mining. The approach represents the source code as a network of object usages where an object usage is a set of method calls invoked on a single API class. They automatically extract usage patterns by clustering the data based on the co-existence relations between object usages. An operating system publishes a set of application programming interface (API) functions along with a set of API-call constraints with which programs running on the operating system must comply. Kim and Choi [10] present a two-step approach for checking API-call constraints by using predefined patterns specifically designed for automotive operating systems. When building design patterns, you may need to define a set of semantically new model elements. G´orski [8] shows UML profiles grouping new stereotypes for integration solution.

3

Data Preparation Phase

Exposed data can rarely be used as-is by application middleware tier. Common sources of data are: • flat files in various formats, e.g. txt, json, csv, xls or xml (Fig. 1). As parsing such data on-the-fly when responding to application request is not efficient, the common approach is to prepare external, offline data loader and push the data into internal data source (e.g. database) which simplifies and accelerates client application queries. Crucial issue that should be put under consideration in this approach is data versioning, and providing the mechanism of data synchronization with original source.

Fig. 1. Flat file data preprocessing with NodeRED.

• html files and other on-line resources available in world-wide-web world (Fig. 2). For the same reason, as before, common approach is to gather all possible data in internal sources to accelerate queries and to be not dependent on current external web site accessibility. There are multiple tools available (known as web scraping tools, web harvesting tools or web data

94

T. G´ orski and E. Wojtach

extraction tools). This tools can look for the data automatically, detect content updates, fetch new or updated data and store them internally (e.g. import.io, webhose.io, dexi.io).

Fig. 2. HTML data preprocessing flow with NodeRED.

• web services—data available as web services also could be collected locally to accelerate querying and ease of access (Fig. 3). In this case factors as datachanging frequency, completeness of data, data set volume and data source reliability should be considered when deciding whether to replicate data set internally or query it on the fly. When replicating—data versioning, and providing the mechanism of data synchronization with original source should be ensured by dedicated data loader.

Fig. 3. Data collection from REST API for further processing with NodeRED.

While collecting data from the main source, the next concern is data completeness. Rarely, whole data required by application is stored in single external data source. Common examples are geo-tagging address data for map drawing purpose, connecting data with weather information or merging few separate sources of the same kind of data. All those also can be undertaken with consideration of data-loading phase, and being prepared offline, before data set is queried by application layer. Several data sources publish only current state of the data (e.g. current queue size to the office, current train or bus delay, current stock market data). For analytics purposes as well as to present some historic data to end-user, cron-based data loader is required to collect data periodically, optionally merge them with other sources and store in internal data set. Figure 4 presents various types of exposed data and different types of data loaders which prepare data (i.e. extract, transform, augment) and load it to local databases (i.e. db1, db2). In Fig. 4 there are presented three kinds of loaders: • Data loader 1—parses shared XLS file and loads data into database making it possible to be queried from application. • Data loader 2—gets data from present REST API, but complements them with geo-location information, resolving available addresses into latitude/longitude values.

Designing API for Using Publicly Accessible Data Sets

95

Fig. 4. Data preparation for application usage.

• Data loader 3—uses CRON task to periodically query existing REST API for data, complements then with other relevant information (like geo-location or current weather conditions) and stores them in SQL database for further analytics. Data in local databases are ready to work with application middleware tier (i.e. application server).

4 4.1

Exposing Data from Middleware Application Tier API and Data Sharing Evolution

Sharing data and services methods has evolved from XML-RPC calls, via SOAP into the REST architecture. In this article, we will focus mainly on the REST and its successors. REST architecture—Representational State Transfer—provides services are stateless, based on HTTP verbs (PUT, POST, GET, DELETE), returning responses XML or JSON formats. There are many methods of describing and documenting this kind of services, i.e. WADL (Web Application Description Language—XML description of HTTP-based applications), RAML (RESTful API Modelling Language, based on YAML), RSDL (RESTful Service Description Language—also XML description) or simply via Swagger (YAML based). Finally, RESTful API fulfilling HATEOAS principle (Hypermedia as the Engine of Application State—where client interacts with application through hypermedia provided dynamically in server responses) can be self-descriptive. The next generation of services sharing methods are rather protocols running on REST architecture, also self-descriptive, but allowing also querying and building dynamic responses—there are OData protocol and GraphQL concept. In the paper, we focus on three approaches: pure/HATEOAS REST API, OData and GraphQL. We describe the manners of preparing data for an application: REST API [6], GraphQL [23] and OData [24]. All approaches we present on the common example of Smart-Home (IoT steering server-side application). For simplicity purpose, we concern API reading only, leaving creating and updating elements for the further work.

96

4.2

T. G´ orski and E. Wojtach

Smart-Home Application Description

Our example domain concern Smart-Home application, including tree subdomains—sensor data, alerts generated for end-user and configuration parameters. Main use cases for the smart home application is presenting the most recent sensor readings, presenting readings of specified type (e.g. alarms, temperature, heating parameters), aggregating readings in specified manner. Same for user alerts and notifications. All sensor readings are store in server-side relational database, and the current and historic weather conditions data are taken from external REST API. We present and compare methods for fetching data from server as well as convenience of internal server implementation (e.g. the possibility of synchronizing data from multiple sources). 4.3

RESTful Server-Side Implementation

REST API is the simplest method of sharing data for client end-points. It is simple, easy to use, does not require specific toolchain or heavyweight framework. Architecturally, it has proven scalability and fits well in domain modeling. As exposing REST API is now well known standard, we will focus on some practices related to exposing static REST API [3], rather than implementation details. There are a lot of tools and libraries supporting both calling and serving REST APIs. As REST API allows static API declaration, one of important API design decisions is how to manage API specification changes. One of the most obvious responses to this issue is versioning—and as it significantly complicates understanding, testing and troubleshooting of system (also requires supporting multiple API versions for different client applications), this approach should be omitted wherever possible. Following Robustness principle (also known as Postel’s Law [14,16])—“Be conservative in what you do, be liberal in what you accept from others”—it is client responsibility not to fail if any unexpected fields or parameters appears in the response, so that any deserializers should be configured to be tolerant, or there should not be used automatic deserializers at all. REST APIs should be well documented with Javadoc or Swagger and created documentation is very specific and detailed. Swagger tools allows even generation of stub client apps. Common issue arises when REST API serves data from multiple internal and external sources. One needs to synchronize responses from various sources to return single coherent response to client application. API developer needs to ensure waiting and synchronizing response retrieving from all sources before final response to client application is being served. This often requires dedicated synchronization modules and often generates faults. Second challenge is to ensure resistance to external sources malfunction (timeouts, data corruptions, error responses, etc.). Common community response is usage of reactive programming techniques and tools (RxJava, RxJS). By extensive usage of the Observer pattern, reactive programming allows to seamlessly synchronize independent data streams, allowing developer to easily (what equals to bug-free way) define acceptable delays and timeouts. Figure 5 presents two data streams synchronization with reactive programming techniques, specifying multiple threads executing each data source call, data source timeout and separate thread for long running computation process. Independently from

Designing API for Using Publicly Accessible Data Sets

97

server-side application implementation, sample application using static REST API presented on Fig. 6, is forced to make multiple calls to API for a few calls concerning different domains, and it is not certain, that responses are not overloaded in relation to real client requirement. On the other hand, such API can be optimized for dedicated application usage, well documented with Swagger or Javadoc and easy tested in BDD manner (e.g. with RestAssured). Also, fulfilling HATEOAS principle will allow dynamic communication with API from client applications.

Fig. 5. RxJava API synchronization.

Fig. 6. Application calling internal REST services.

4.4

OData Implementation

Open Data Protocol (OData) [24], originally developed by Microsoft—is an ISO/IEC approved, OASIS standard proposed by that proposes the way of building and consuming RESTful APIs. From server-side OData allows to define server domain entity model, that describes application domain, and then allows the client to query domain objects dynamically. Current version of OData standard is ODatav4 on all further considerations will basis on this protocol version. As an example we used Apache Olingo (https://olingo.apache.org) library to implement the OData server-side application, but it is worth mentioning that there are many other libraries for many different platforms ready for use (e.g. odata4j). For making data available for querying, the domain schema and entities need to be defined as an Entity Data Model (EDM) provider (Fig. 7).

98

T. G´ orski and E. Wojtach

Fig. 7. Sample EDM provider and entity definition.

Fig. 8. Sample EDM metadata returned from server.

Data source connector is defined in Entity Collection Processor, which is responsible for returning the data in specified format. Data exposed in this way are self-descriptive and query for the data format returns detailed information for how data should be queried (Fig. 8). Querying data from client side is just manipulating via URL. We can give some examples. Getting list of devices: “GET serviceRoot/Devices”. Getting single entity: “GET serviceRoot/Devices(’123456’)”. Getting single property: “GET serviceRoot/Devices(’123123’)/Type”. Querying and filtering data: “GET serviceRoot/Devices?$filter=Status eq ’Active”’. OData protocol allows sharing self-descriptive/self-documented API. There are also libraries supporting API exploration and generation user-readable documentation e.g. XOData. Synchro-

Designing API for Using Publicly Accessible Data Sets

99

nizing data from multiple sources is done behind the OData layer, and could be prepared in reactive way, commonly to the example shown in REST API chapter. There are also plenty of client libraries supporting preparing client calls to the API [25]. In case of API versioning, with OData it is possible both to set version attribute to schema, as well as specifying by client application fields to be returned. 4.5

GraphQL Implementation

Facebook’s Graph Query Language (GraphQL) is an alternative to OData protocol. Figure 9 presents example of GraphQL API.

Fig. 9. Sample API graph for GraphQL.

In GraphQL approach, whole dataset should be described as a directed graph of custom and built-in data structures. GraphQL as a library, provides set of predefined types, such as GraphQLString, GraphQLList, etc., and allows defining own structures on basis of them, and all previously defined ones. On each graph node where data should be retrieved from internal or external source, there should be resolve method defined, responsible for data retrieval. Whole graph schema should be described with strongly typed data structures. Figure 10 presents example of one graph node description. Data request to such prepared graph server is represented with JSON-like object without data, that are currently queried. Example of data query was shown in Fig. 11. This allows to better fulfill the Postel’s law mentioned in fragment about REST APIs—client application is more resistant to API changes,

100

T. G´ orski and E. Wojtach

Fig. 10. Sample graph node description.

Fig. 11. Sample graph node query.

new fields—as it receives only what was explicitly queried. What is worth mentioning, GraphQL does not support API versioning. But it allows to specify fields of response addresses. Query can contain parameters and custom defined data structures (fragments). Sample graph node query parameters was presented on Fig. 12. Each element of such described query is correlated with specified graph node in schema description, and that node is resolved on server-side with its defined resolve method. This allows client applications query only specified scope of data, reduces network load and allows to call only those internal and external data sources, that are required by query (reducing time for response). From server-side this approach of query graph resolving gives multiple internal and external sources calls synchronization. Using query language can always result in some inefficiency in oppose to static predefined APIs. Same inefficiencies happen with GraphQL usage. In the previous query example (Fig. 12) there would be three separate, unrelated to each other database calls (resulting from independently called method resolve for each of three query temperature structures). This results in unnecessary cost in opening and closing database connection, retrieving redundant data, which could be avoided when designing dedicated REST API. The answer in this case is additional library (also provided by Facebook)— Data Loader library. It, provides methods for both caching (for querying by

Designing API for Using Publicly Accessible Data Sets

101

Fig. 12. Sample graph node query parameters.

same id’s) and batching calls (by querying for multiple id’s) and allows reducing database calls in given example to one call. Another library, worth mentioning, is Apollo Project—community build initiative providing set of server tools simplifying development (e.g. mocking, testing, error handling) as well as client stubs (for React, Angular, iOS—ready for use, and Android—in progress). Compared with static REST API calls—GraphQL API calling needs dedicated client library simplifying query building. For web applications there are plenty of choice (e.g. Lokka, Relay, Apollo project). For other client applications (e.g.: mobile)— there are Apollo project approach or manual query building and requesting as usual REST. Documentation for GraphQL API is generated dynamically—from descriptions provided on each node level, and can be browsed manually using GraphiQL console provided with GraphQL server tools. There are also tools (e.g. graphql-doc) allowing very simple document generation from dynamic API documentation. Compared with standard REST API documentation—it is far less structured and less detailed than e.g. Swagger or Javadoc documentation. The second version of sample the application uses the same API set but wrapped in GraphQL graph (Fig. 13). This application with full suite of supporting libraries allows to build single request concerning multiple domains, reduce set of returned parameters, achieve more API change resistance, in cost of documentation specification, simplicity of query building, effort on query optimizing on server-side (allowing flexibility in query definition). GraphQL as a concept is now under the interest of huge developers community, which gives the hope, that some documentation, querying and optimization tools will be developed in the future and this gap between mature, classic REST API and still young GraphQL will be shortened.

102

T. G´ orski and E. Wojtach

Fig. 13. Application calling remote services via GraphQL.

5

Conclusions and Directions for Further Work

Presented data pre-processing steps (described in form of particular dataloaders) allows the usage of nearly each data source available in public data sets. Replicating data from external sources into internal databases should be performed when remote source format or data scope is insufficient, inefficient or has unpredictable response times. If remote data changes frequently, data synchronization mechanisms should be provided. When choosing way for publishing own API for client applications, there are several factors that should be taken into consideration. First of all, you should consider how specific are requests made by client application and which specific optimizations are required for data to be collected in specified manner. Static REST API gives more control to way the data is being queried. OData layers some standard on classic RESTful approach, giving common way to query, filter and shape response data—but keeps server domain model strict. On the other hand, if you may have many different client applications making use of the data then GraphQL gives much more flexibility for API usage. In the paper we have presented methods of accessing data shared in the cloud and making use of it in an application. Some conclusions and methods can be taken into account by organizations and companies while exposing new data sets for public usage. As far as further research are concerned we are heading toward creating a design pattern for assessing public datasets.

References 1. Badii, C., Bellini, P., Cenni, D., Difino, A., Nesi, P., Paolucci, M.: Analysis and assessment of a knowledge based smart city architecture providing service APIs. Futur. Gener. Comput. Syst. 75, 14–29 (2017) 2. Brito, G., Hora, A., Valente, M.T., Robbes, R.: On the use of replacement messages in API deprecation: an empirical study. J. Syst. Softw. 137, 306–321 (2018)

Designing API for Using Publicly Accessible Data Sets

103

3. Byars, B.: Enterprise integration using REST. https://martinfowler.com/articles/ enterpriseREST.html 4. Douzis, K., Sotiriadis, S., Petrakis, E.G.M., Amza, C.: Modular and generic IoT management on the cloud. Futur. Gener. Comput. Syst. 78, 369–378 (2018) 5. Espinha, T., Zaidman, A., Gross, H.: Web API growing pains: loosely coupled yet strongly tied. J. Syst. Softw. 100, 27–43 (2015) 6. Fielding, R.T., Taylor, R.N.: Principled design of the modern web architecture. ACM Trans. Internet Technol. 2(2), 115–150 (2012) 7. Gaur, A., Scotney, B., Parr, G., McClean, S.: Smart city architecture and its applications based on IoT, the 5th international symposium on internet of ubiquitous and pervasive things (IUPT 2015). Procedia Comput. Sci. 52, 1089–1094 (2015) 8. G´ orski, T.: UML profiles for architecture description of an integration platform. Bull. Mil.Y Univ. Technol., LXI I(2), 43–56 (2013) 9. Jezek, K., Dietrich, J., Brada, P.: How java APIs break an empirical study. Inf. Softw. Technol. 65, 129–146 (2015) 10. Kim, D., Choi, Y.: A two-step approach for pattern-based API-call constraint checking. Sci. Comput. Program. 163, 19–41 (2018) 11. Mayvan, B.B., Rasoolzadegan, A., Yazdi, Z.G.: The state of the art on design patterns: a systematic mapping of the literature. J. Syst. Softw. 125, 93–118 (2017) 12. Mosqueira-Rey, E., Alonso-R´ıos, D., Moret-Bonillo, V., Fern´ andez-Varela, I., ´ Alvarez-Est´ evez, D.: A systematic approach to API usability: taxonomy-derived criteria and a case study. Inf. Softw. Technol. 97, 46–63 (2018) 13. Niu, H., Keivanloo, I., Zou, Y.: API usage pattern recommendation for software development. J. Syst. Softw. 129, 127–139 (2017) 14. Postel J.: Transmission control protocol. IETF, RFC 761 (1980) 15. Qiu, D., Li, B., Leung, H.: Understanding the API usage in java. Inf. Softw. Technol. 73, 81–100 (2016) 16. Requirements for Internet Hosts – Communication Layers. https://tools.ietf.org/ html/rfc1122 RFC 1122 (1989) 17. Salman, H.E.: Identification multi-level frequent usage patterns from APIs. J. Syst. Softw. 130, 42–56 (2017) 18. Santos, A.L., Myers, B.: Design annotations to improve API discoverability. J. Syst. Softw. 126, 17–33 (2017) 19. Scheller, T., K¨ uhn, E.: Automated measurement of API usability: the API concepts framework. Inf. Softw. Technol. 61, 145–162 (2015) 20. White, G., Nallur, V., Clarke, S.: Quality of service approaches in IoT: a systematic mapping. J. Syst. Softw. 132, 186–203 (2017) 21. Xu, C., Sun, X., Li, B., Lu, X., Guo, H.: MULAPI: improving API method recommendation with API usage location. J. Syst. Softw. 142, 195–205 (2018) 22. http://www.bihapi.pl 23. http://graphql.org 24. http://www.odata.org/ 25. http://www.odata.org/libraries/

Tensor Decompositions in Multimodal Big Data: Studying Multiway Behavioral Patterns Alina Rakhi Ajayan, Firas Al-Doghman, and Zenon Chaczko(B) Faculty of Engineering and IT, University of Technology Sydney, Sydney, Australia {alina.ajayan,zenon.chaczko}@uts.edu.au, [email protected]

Abstract. Preset day cyber-physical systems (CPS) are the confluence of very large data sets, tight time constraints, and heterogeneous hardware units, ridden with latency and volume constraints, demanding newer analytic perspectives. Their system logistics can be well-defined by the data-streams’ behavioral trends across various modalities, without numerical restrictions, favoring resource-saving over methods of investigating individual component features and operations. The aim of this paper is to demonstrate how behavior patterns and related anomalies comprehensively define a CPS. Tensor decompositions are hypothesized as the solution in the context of multimodal smart-grid-originated Big Data analysis. Tensorial data representation is demonstrated to capture the complex knowledge encompassed in these data flows. The uniqueness of this approach is highlighted in the modified multiway anomaly patterns models. In addition, higher-order data preparation schemes, design and implementation of tensorial frameworks and experimental-analysis are final outcomes. Keywords: Tensor decomposition · Multimodal big data patterns · Smart grid · Cyber-physical systems

1

· Behavioral

Introduction

Current technologies generate Big Data in higher order and dimensions, which refers to the modalities or variables indexing information across space, and the size of the data stream along each mode. Such a big data model holds patterns and associations across all modes, even beyond arithmetic quantification. Extracting and isolating such multiway patterns helps represent the subscale relationship amidst different data streams or sources of information, as variables encoding systemic intelligence towards autonomicity (Fig. 1). Technologies that assemble as CPS, like IoT networks, autonomous vehicles, WSAN based smart-systems like medical monitoring networks and power distribution systems, etc. Signals generated within such systems condense into spatio-temporal high dimensional Big Data structures. The flat-world approach c Springer Nature Switzerland AG 2020  R. Klempous and J. Nikodem (eds.), Smart Innovations in Engineering and Technology, Topics in Intelligent Engineering and Informatics 15, https://doi.org/10.1007/978-3-030-32861-0_7

Tensor Decompositions in Multimodal Big Data

105

Fig. 1. a Generalized HO data processing—Tucker decomposition model, b Data tensor—volume visualization of core information tensor and factors depicting modal relationships [3].

adopted by state-of-the-art data processing techniques cannot encompass the multimodal information modelling for such intricate system-of-systems [8]. Thus the problem domain of high dimensional higher-order data mining is introduced for multiway behavior and anomaly patterns of cyber physical systems. The following sections explore the proposed knowledge representation model to embody the mechanics of complex CPS super-systems.

2

Tensor Decomposition Model for Higher Order Big Data

The suggested solution addresses various inherent issues of heterogeneous super-systems, like volume and stochasticity of data flows; heterogeneity, nonstationarity and inter-dependency of sources, computational complexity and scale of CPS, and resource constraints. 2.1

Need for Higher Order Behavior Pattern Detection

Autonomic intelligence, the true definition of smartness induced in a computational system, is denoted by self-management [5,14], which has not yet been achieved by modern CPSs. Typically, they are a collection of discrete, interdependent systems, unified by decentralized homogeneous control. There exists

106

A. R. Ajayan et al.

hierarchical, heterarchical and composite functional relationships between the different information channels, i.e. various components and sub elements. So, a CPS super-system need to be designed on higher order qualitative or quantitative computational architecture models and autonomic control. It simplifies into tracking change patterns in information flow (data, signals and system outputs), and decoding underlying interrelations across information streams— i.e. visualizing parallel data streams in a more compact model, transcending numerical and mathematical barriers. Such a model allows capture multifaceted combination of underlying subscale latent components and inter-related variables from the data flow (here, subscale refers to the analysis perspective within the given scale of operation and data flow). These behavioral patterns build up autonomic intelligence through the captured complex interactions within a CPS Ecosystem. 2.2

Multiway Behavior and Anomaly Detection

Multiway Big Data Processing Information contained in Big Data harvested from heterogeneous interdependent sources can be analyzed as multiscale structures called Higher-Order (HO) data arrays. They have reduced computational intensity due to scaled-down knowledge representation of latent (hidden) event patterns, as outputs of subscale sources. Hence, new modes and patterns of interrelations and are discovered dynamically (as they are subject to changes over time, influenced by micro and macro scale system behaviour). Any individual varying index of information (from a component, subsystem or signal) is defined as a Mode, the total number of mode subsets bearing distinct types of interrelationships make up the system’s Order, and the number of modes in each order is the system Dimension. Current CPS technologies generate Big Data in with a large number of modes (higher order) and dimensions, with trends and associations across all modes, along multiple planes. Unfortunately current Big Data solutions operate on specific data points or attribute combinations (planar relations of data streams), or multiple variables along space-time, deeming information processing invalid in CPS. Multimodal Behavior and Anomaly Detection Multimodal behavior patterns in HO data frameworks brings out interrelations between any combination of individual elements and components. When successfully identified, the emergent patterns and trends will exemplify the overall behavior in a visually descriptive manner. They also enable parallel patterns pattern definition across any or all modes simultaneously, and pinpoint out-ofnorm events termed anomalies. When pertaining to more than one varying data mode, they form anomaly patterns. Dynamic Pattern Processing Contemporary pattern recognition based on template matching or feature detection can be improved by bypassing mathematical constraints. The limitation

Tensor Decompositions in Multimodal Big Data

107

Fig. 2. Significance of multiway arrays or tensors in higher order BD processing.

of predefined or well-known bag-of-feature-vectors is removed. We suggest that dynamically varying pattern images in multivariate Big Data indexed by spacetime-modes effectively capture mappings of every possible system and component behavior states. They are not defined quantitatively, but visually composed into pattern maps, enabling flexible pattern tracking across multiple modes. This is dynamic pattern-processing, based on continuous time-varying feature annotations in incoming data flows. The multiway patterns thus represent subscale interrelationships, and model higher order behavior among sources to define autonomic control architecture (Figs. 2 and 3).

Fig. 3. Tucker-3 multivariate data tensor model for multimodal anomaly detection.

2.3

Tensor Decompositions for Multivariate Dynamic Pattern Processing

Most existing BD tools support ongoing periodic time series analysis, with a major shortcoming of using single, dual or dual-combination behavioral pattern variables. Tensor algebra efficiently captures multivariate patterns dynamically [4,11]. Tensor decompositions (TD) adapted into the CPS ecosystem facilitates

108

A. R. Ajayan et al.

multivariate high dimensional data processing, with dynamic feature characterization retaining complexity levels. Dimensionality conversions are eliminated [7]. Benefits of tensor algebra based Big Data processing Tensor data models of generic networks elevate the system order and allows ‘ambient information extraction’ [9]. • Tensors are simply higher order matrix extensions, computing relative behavioral modals with no spatial or location inhibitions. They append multiple variables and seemingly non-correlated variation trends. • Tensors are coordinate-independent and relate data arrays computed in one coordinate system to another, matching relationships across modalities. • Tensor transformations follow covariant and/or contravariant transformation laws in determining the tensor type (or valence), free of the fixed Cartesian coordinate limitations in appending heterogeneous streams. • Tensors accurately capture higher-order relationships without local optima under reasonable conditions, and converge towards global updates, helping uncover hierarchical structures in high-dimensional data sets. • TD algorithms successfully parallelize in GPUs and multicore processing, leading to optimal CAPEX and OPEX measures. Matrix factorizations helps represent the various traits and characteristics of the elements and the global features in planar sources, as they represent planar data relations. Visualizing CPS-BD as data streams from spatially-temporally separated dependent sources, parallel processing them can also be extended along spatio-temporal dimensions, as achieved by tensors. The Tucker Decomposition Tensor Model The Tucker decomposition model is suggested in this work, as a tool to extract tensorial data patterns in multiway CPS-BD. Also called Tucker3 or Best Rank (J, R, P) approximation, it incorporates 1st, 2nd, and 3rd degree intermodal dependencies. Their uniqueness depends on non-negativity and sparsity. Tucker3 operation is formulated as follows: For a third-order data tensor Υ ∈ IxT xQ , where Υ is the data tensor,  is the real number space, and 3 positive indices (J, R, P ) sj for i > j. As presented in [4,6,7] and many others, there was an assumption that for each participant pk ∈ P , the preferences over the set of alternatives A may be represented in one of the four following ways: – Preference orderings of alternatives. In this circumstance, Ok = {ok (1), . . . , ok (n)}, where ok () is a permutation function over {1, . . . , n} index set for the participant pk , outlining an alternatives ordered vector, from best to worst.

124

F. Al-Doghman et al.

Fig. 4. Sequence diagram.

– Utility functions. For this circumstance, the participant pk provides its preferences as U k = uk1 , . . . , ukn , uki ∈ [0, 1], where uki is the utility evaluation of pk to the alternative ai .

Policy-Based Consensus Data Aggregation for the Internet of Things

125

– Fuzzy preference relations. In this circumstance, the preference are expressed by a fuzzy preference relation F k ⊂ A × A, with a membership function, k denotes the preference degree μF k ⊂ A × A → [0, 1], where μF k (ai , aj ) = fij of ai over aj . – Multiplicative preference relations. For this, the preferences are ex-pressed by a positive preference relation Ak ⊂ A × A, where the intensity of preference akij , is measured by means of a ratio scale, precisely the 19 to 9 measure. Within this context, the resolution procedure of the GDM involves attaining a set of solution alternatives from the Participants preferences. As it assumed that the participants preferences are given in different ways, so the first step should deal with obtaining a uniform representation for the preferences. These ways can be transformed into the different representations by using different mathematical transformation functions. In this paper, we will consider multiplicative preference relation as the basis for information uniforming. When the uniform exemplification has been accomplished, we can apply the analytic hierarchy process (AHP), as it uses multiplicative preference relations, to gain the solution set of alternatives. This resolution process is represented in the next section.

5

Analytic Hierarchy Process

The analytic hierarchy process (AHP), which introduced in [13], is one of the procedural tools that allows the resolution of complex decision-making problems involving multiple criteria, scenarios, and performers. It is differentiated by the construction of a ratio scale compatible to the priorities of the various alternatives [10]. The AHP involves four steps: (1) Case evaluation and hierarchical structure construction. (2) Preference relations determination by performing criteria or alternatives pairwise comparisons. (3) Priorities derivation of alternatives and criteria from preference relations. (4) Priorities synthetization for alternatives then ranking them. The analysis of gaining the prioritization procedure is to depend on Bayesian approach due to its capability of estimating and comparing vastly realistic and flexible hierarchical models and treating imprecise and incomplete information, especially after the introduction of MCMC methods, and it also used to estimate priorities [3]. For AHP, the labels set S is represented by reciprocal judgment matrices {Akn×n , k = 1, . . . , m}, corresponding to pairwise comparisons for the alternatives set A regarding the criterion considered, where Akn×n = (akij ) is a positive reciprocal square matrix with the following properties: akij = 1, akij = a1k > 0 for i, j = 1, . . . , n with i = j and akij denote the relative ji

significance to the participant of alternative i in comparison with alternative j, according to the 19 to 9 scale.

126

5.1

F. Al-Doghman et al.

Bayesian Prioritization in AHP-GDM

The statistical paradigm of Bayesian analysis fulfil research questions deals with unknown parameters by the use of probability statements. Due to the fundamental hypothesis that all parameters are arbitrary quantities, those probabilistic statements are common to Bayesian analysis. A parameter, in Bayesian analysis, is summed up by a complete distribution of values rather than a fixed value as per the analysis of classical frequentist. The main drive of Bayesian analysis is to estimate this distribution, yielding a posterior distribution for the concerned parameter. A posterior distribution includes a likelihood model preparing info about the parameter depend on observed data along with a prior distribution of a parameter. Subject to the selected likelihood model and prior distribution, the posterior distribution is either presented analytically or approximated by, e.g. one of the Markov chain Monte Carlo (MCMC) approaches. The posterior distribution is used to form different abstracts for the parameters, containing point estimates like posterior medians, means, percentiles, and credible intervals (interval estimates). Furthermore, depend on the estimated posterior distribution, all statistical tests about the parameters can be expressed as probability statements [17]. Assuming a local context for using the GDM model, let V = {v1 , v2 , . . . , vn } be the group’s (non-normalised) priorities for the alternatives obtained by means of any of the usual periodization methods, and let w1 , w2 , . . . , wn be their normalized distribution values wi = nvi vj j=1 Then the model of obtaining the groups priorities from a Bayesian viewpoint, will be to use a multiplicative pattern with log-normal errors. By assuming that the participants have communicated all potential judgements, the model is given by   vi k (1) ekij ; i, j ∈ Jk ; k = 1, . . . , m aij = vj where J ⊆ J = {(i, j) : 1 ≤ i < j ≤ n} is the comparison set delivered by participant pk in the upper triangle of Akn×n matrix, Jk being its cardinality. With the independent error ekij ∼ LN (0, λkij σ 2 ) where LN (μ, σ 2 ) denotes the log-normal distribution of parameters μ (mean) and σ 2 (variance), ekij = e1k for ji

1 ≤ i < j ≤ n, eii = 1 for i = 1, . . . , n; k = 1, . . . , m. If we eliminate reciprocal judgements (aij , i ≥ j) and degenerate situations, then take logarithms of (1), we obtain a regression model with normal errors: yij = μi − μj + εij where i = 1, . . . , n − 1;

j = i + 1, . . . , n;

(2)

k = 1, . . . , m; and

yij = log(akij )

(3)

μi = log(vi )

(4)

Policy-Based Consensus Data Aggregation for the Internet of Things

127

εij = log(ekij ) ∼ LN (0, σ 2 )

(5)

are independent for k = 1, . . . , m. The alternative An is established as the benchmark alternative to avoid difficulties of identification (μn = 0 ↔ vn = 1). In matrix notation, model (2) could be expressed as y k = Xμ + εk

with

εk ∼ NJ (0, σ 2 IJ )

(6)

where

n(n − 1) (7) 2 k k k For y k = (y12 , y13 , . . . , yn−1n ) ; and k = 1, . . . , m; while μ = (μ1 , . . . , μn−1 ) is the estimated alternatives’ priorities; εk = (εk12 , εk13 , . . . , εkn−1n ) represents the corresponding normal error with zero mean and σ 2 variance [16]; and X(J(n1 )) = (xpq ) denotes the observable nonstochastic matrix [11] with xpi = 1, xpj = −1 and xpλ = 0 if λ = i, j, λ = 1, . . . , n − 1. Also, J=

p=

(2ni ) (i − 1) + (j − i) 2

(8)

with 1 ≤ i < j < n, xpi = 1; xpλ = 0 if λ = i, λ = 1, . . . , n − 1; and p = ( (2n2 i ) )(i − 1)(n − i). After forming the problem hierarchically in AHP, the participants estimate the most likely outcomes (likelihood) of each criterion, then evaluate the relative criterions likelihood. Also, a posteriori probabilities can be derived, i.e. the relative criteria significance by which the next actions to be taken when an event occurs will be predicted.

6

Consensus Reaching Using AHP-GDM

Now, we illustrate the entire procedure of achieving a group decision and assembling towards a consensus. We adopt the example from [6], with the intention of presenting how to apply the AHP method and procedure of reaching consensus. Let the six rates (alternatives) set A to be A = {a1 , a2 , a3 , a4 , a5 , a6 }, and the eight participants set P = {p1 , p2 , p3 , p4 , p5 , p6 , p7 , p8 }, the procedure is as follows: First stage in the consensus reaching process To make the information uniform, we inverse the transformation function of multiplicative preference relation into fuzzy preference relation f (akij ) = 1 k 2 (1 + log9 aij ) to get a transformation function of fuzzy preference relation into multiplicative preference relation, k

f (pkij ) = akij = 92pij −1

(9)

We now gain the individual preference for the participants represented in a pairwise comparison matrix, so we can perform the AHP on them to reach consensus.

128

F. Al-Doghman et al.

Second stage in the consensus reaching process The next step would be to derive the priorities of each element by aggregating the preferences for participants with the weighted geometric mean according to the following equation assuming that the participants has equal weights, 1 8 = 0.125, [5]: gij =

m 

(akij )w

k

(10)

k=1

Then the eigenvalue method [14] is used for prioritization procedure to obtain the local priorities of each alternative. For obtaining the global priorities, the normalization approach is applied to each participant’s preference pairwise matrix, and then concatenate all of them in one global priorities matrix. Finally, by aggregating the local and global priorities matrices, the global score vector is obtained. The best solution is the one with highest score associated with its index, which is the consensus decision.

7

Trial Experiment on Proposed Method

Considering the framework, we will take the choice of an aggregation function as an example of a plan to be agreed upon among participants. The participants use the AHP to reach consensus about the choice of the appropriate aggregation function when an event occur. A MATLAB program was written to express the sensor network shown in Fig. 5 that consists of four main branches including sub-branches. There are three types of sensors in the network: temperature, humidity and light sensors that periodically send their data to the base station (BS). Two thresholds were set to each sensor according to its type. If a sensor reading goes beyond the first threshold value, a notification will be sent to the second level aggregator of the branch (participant). Several readings above the first threshold from the same sensor indicates environmental change or sensor malfunction. When a reading goes beyond the second threshold, indicating the happening of an event (like fire), an action request is sent to the related participant which will forwards a consensus operation request to all other participants along with event specifications to find a suitable aggregation function dealing with the current event. In the example, data is aggregated using “average” as an aggregation function across the network. However, when a fire event happen the temperature value of the closest sensor will go beyond the second threshold and an action request will be triggered along with “high temperature” as specifications to perform a consensus operation and a notification will be sent to the BS to take extra actions. Each participant has a list of weighted preferences of aggregation functions to be used in such event represented in a pairwise matrix. The participants will share their pairwise matrices and perform GDM on them to find the suitable aggregation function for this case and share it again among them (the sharing process is part of BFT procedure to find out if one of the

Policy-Based Consensus Data Aggregation for the Internet of Things

129

Fig. 5. High-level description of the trial experiment on proposed method.

participants is faulty). After checking the consensus reach to change the aggregation function to Maximum which will be used until the sensors values will go under the threshold.

8

Conclusion

The Big Data problem in the Internet of Things led to the introduction of many techniques trying to mitigate it such as data aggregation and fog computing. Nevertheless, IoT networks includes heterogeneous devices and encounters very Big Data problem in the Internet of Things led to the introduction of many techniques trying to mitigate it such as data aggregation and fog computing. Nevertheless, IoT networks includes heterogeneous devices and encounters very divers statuses that makes it inefficient to use one aggregation strategy at all times within all network branches. A policy-based data aggregation framework is presented here to automate the different requests specifications and network incidents by performing a consensus operation. Using one of the consensus techniques, the participants of the operation can agree on the use of a specific aggregation plan related to each situation and autonomously update the system’s policy. As a future work, we suggest to use different preference handling procedures to achieve consensus, also implement the consensus procedure in a real time Fog environment.

130

F. Al-Doghman et al.

References 1. Al-Doghman, F., Chaczko, Z., Ajayan, A.R., Klempous, R.: A review on fog computing technology. In: 2016 IEEE International Conference on Systems, Man, and Cybernetics’ SMC, pp. 1525–1530 (2016) 2. Al-Doghman, F., Chaczko, Z., Jiang, J.: Review of aggregation algorithms for the internet of things. In: 25th International Conference On Systems Engineering (2017) 3. Altuzarra, A., Moreno-Jimenez, J.M., Salvador, M.: A Bayesian priorization procedure for AHP-group decision making. Eur. J. Oper. Res. 182(1), 367–382 (2007) 4. Ben-Arieh, D., Chen, Z.: Linguistic-labels aggregation and consensus measures for autocratic decision making using group recommendations. IEEE Trans. Syst., Man, Cybern. Part A: Syst. Hum. (3), 558–568 (2006) 5. Dong, Q., Saaty, T.L.: An analytic hierarchy process model of group consensus. J. Syst. Sci. Syst. Eng. 23(3), 362–374 (2014) 6. Herrera-Viedma, E., Herrera, F., Chiclana, F.: A consensus model for multiperson decision making with different preference structures. IEEE Trans. Syst., Man, Cybern. Part A: Syst. Hum. 32(3), 394–402 (2002) 7. Ignacio Javier Perez, I.J., Francisco Javier Cabrerizo, F.J., Herrera-Viedma, E.: A mobile decision support system for dynamic group decision-making problems. IEEE Trans. Syst., Man, Cybern.-Part A: Syst. Hum. 40(6), 1244–1256 (2010) 8. Jiang, J., Chaczko, Z., Al-Doghman, F., Narantaka, W.: New LQR protocols with intrusion detection schemes for IOT security. In: 2017 25th International Conference on Systems Engineering (ICSEng), pp. 466–474 (2017) 9. Laliwala, Z.: Policy-based services aggregation in grid business process. In: India Conference (INDICON), 2009 Annual IEEE 18 Dec 2009, pp. 1–4. IEEE (2009) 10. Multicriteria Group Decision-making, Zhang, Z., Pedrycz, W.: Intuitionistic multiplicative group analytic hierarchy process and its use in multicriteria group decision-making. IEEE Trans. Cybern. 1–13 (2017) 11. Parresol, B.R.: Modeling multiplicative error variance: an example predicting tree diameter from stump dimensions in baldcypress. For. Sci. 39(4), 670–679 (1993) 12. Rossi, E.F.: MICHELE In -network aggregation techniques for wireless sensor networks: a survey. IEEE Wirel. Commun. 70–87 (2007) 13. Saaty, T.L.: A scaling method for priorities in hierarchical structures. J. Math. Psychol. 15(3), 234–281 (1977) 14. Saaty, T.L.: Multicriteria decision making: the analytic hierarchy process: Planning, priority setting resource allocation (1980) 15. Sasirekha, S., Swamynathan, S.: A comparative study and analysis of data aggregation techniques in WSN. 8, 1–10 (2015) 16. Shen, H., Zhu, Z.: Efficient mean estimation in log-normal linear models. J. Stat. Plan. Inference 138(3), 552–567 (2008) 17. Stata. https://www.stata.com/features/overview/bayesian-intro/

Internet of Things Is Changing Teaching of Technical Subjects at UTS Wentian Zhang, Christopher Chiu, Jan Szymanski, Zenon Chaczko(B) , Steven Su, and Jing Zhou University of Technology Sydney, Sydney, Australia {wentian.zhang,christopher.chiu,jan.szymanski,zenon.chaczko,steven.su, jing.zhou}@uts.edu.au

Abstract. The Internet of Things, involving the connection of intelligent devices (other than standard, already connected products such as computers and smartphones) to the Internet, is in the process of transforming numerous areas of lives. For many years, both academia and industry prepared the background theories and implementations for what is todays IoT, keeping changing and evolving. Students of universities, preparing to be the driving forces of innovation and progress have a very strong interest in IoT and related subjects. Teaching at universities, especially technical ones is strongly affected by the need to give students required background and show the direction for self study. In this paper we will provide a literature review to analyze how IoT inspired changes in teaching some technical subjects at University of Technology Sydney (UTS) by describing, the recent undertaken projects in this area, providing some case studies and drawing conclusions. Keywords: Internet of Things

1

· IoT · Education · Teaching;

Background

Many traditional subjects being taught at universities do not change much over the years, but technological subjects have to stay ahead or at least follow industry needs and demands. The Internet of Things and Wireless Sensors Networks are currently offered courses by many universities [2,7,8,21] including University of Technology Sydney (UTS). The examples of subject not directly related to the Internet of Things (IoT), being taught by UTS with a strong emphasis on practice based education are Data Acquisition and Distribution Systems (DADS), Biomedical Instrumentation, and Biomedical Signal Processing. To follow practice-oriented and research-inspired UTS model of learning the courses are very dynamic in their contents and delivery methods. In order to use IoT to inspire changes in teaching some technical subjects at UTS, a project named as Bio-inspired signal sensing platform based on IoT to bring real engineering application to students [18] was undertaken at UTS recently. And its c Springer Nature Switzerland AG 2020  R. Klempous and J. Nikodem (eds.), Smart Innovations in Engineering and Technology, Topics in Intelligent Engineering and Informatics 15, https://doi.org/10.1007/978-3-030-32861-0_9

132

W. Zhang et al.

summary is: Laboratory experiences make a strong impact on students learning outcomes, especially in engineering areas. For wearable application development, advanced electronic technology is helping us stay aware of our physical condition and fitness through bio-inspired sensing. The main goal of this project is to build an integrated interactive learning module based on IoT with sensing and connecting to the cloud for bioinspired signals to demonstrate recent advanced approaches in data acquisition and biomedical signal processing for students in several key electrical and biomedical engineering subjects.

2

Rationale and Significance

Technology has dramatically changed the way we learn, the way we teach, the way we live, even the way we think [1]. With the development of computer technologies, the education style has been greatly changed especially for the teaching of engineering related subjects. Advanced aided teaching [1,3,14,16] is well developed to facilitate the teaching of abstract concepts. For electrical and biomedical engineering, semiconductor technology advancements enable new portable and wearable devices for sensing and monitoring in various applications. It is significant and critical to involve the new development in students subjects and laboratories to support them in the connection of theory and practice. The use of the cloud platforms is becoming commonplace in industry and we should follow the trend and renovate our teaching in order to provide an integrated exposure to professional practice. TI has new technologies to enable the next generation of health and fitness applications, including a wide variety of highly integrated AFE device and advanced packaging, with options for wafer-scale chip packaging (WCSP) to allow the thinnest, smallest chip mountings possible in wearable equipment [22]. TI also develops IoT applications quickly through the collaboration with cloud partners and enable new applications and business models [23]. One of the challenges in teaching engineering subjects is to encourage students to grasp the fundamental principles, which often include relatively abstract concepts and knowledge. Texas Instruments assists people by providing an integrated interactive learning environment in a range of electrical engineering topics, such as Measurement and Instrumentation, Control Design and Simulation, Signal and Image Processing, RF and communications, and Embedded and IoT. With TIs innovation and expertise, students can achieve highest quality and reliability practice in laboratories for wearable application, including: smarter sensing with TI’shigh-performance, low-power and small-footprint sensing devices that detect and make decisions for health and lifestyle, wireless connectivity for new medical devices to connect to the Internet. Therefore, it is possible to bring real-world examples into the classroom, enhancing students exposure to professional practice as part of the UTS model of learning. Furthermore, based on Texas Instruments (TI) platform, higher integration solutions can be provided for academic users in teaching and research. For example, Embedded Processors, Digital Signal Processors (DSP), Microcontrollers

Internet of Things Is Changing Teaching of Technical Subjects at UTS

133

(MCU), Sensing Products and Wireless Connectivity can be easily implemented and demonstrated in lecture room. This will have a direct practical benefit in subjects like, Data Acquisition and Distribution (48570), Biomedical Signal Processing (42906), and Biomedical Instrumentation (49261), which should be frequently updated and expanded to include current technologies. Based on many years of research and teaching experiences in Electrical Engineering (see our teaching and experiments based research publications [9– 11,15,24]), we are confident that interactive examples of sophisticated real systems will assist engineering students learn advanced approaches in several key electrical and biomedical engineering subjects.

3 3.1

Case Studies Challenges When Moving to IoT Compatible Solution

Many researchers including [12,13,17] list challenges and often group them in the following categories: • Node level challenges. Most of the node level challenges for the IoT compatible solution are related to the sensor technology. Sensor technology has been made considerable progress in the past decades (e.g. the microelectromechanical systems (MEMS) sensors and the smart sensors). However, the topics such as dimensions, accuracy, power consumption and the cost still need to consider in the sensor technology field. • Network level challenges. The network level challenges for the IoT compatible solution come from the unreliable (lossy) communication media, the network management and the network security. These challenges are related with the reliability, efficiency, and the safety of the IoT compatible solution. • Human-centric challenges. Unlike many general aspects of traditional sensor networks, the IoT compatible solutions related with human data (e.g. electrocardiogram, electromyogram, and electroencephalogram.) have more strict requirements (both from the reliability, safety and ethical reasons). The technology acceptance and the biocompatibility would bring some challenges for the IoT compatible solution from the human-centric perspective. • Other challenges. Moreover, some other factors such as standardization and interoperability would bring challenges for the widescale adoption and commercialization potential for the IoT compatible solution. 3.2

Data Acquisition and Distribution Systems

For many years before the Internet of Things the subject of DADS was taught at many universities. As depicted in figure Fig. 1, the block diagram and functionality of traditional systems and the things or modes of IoT are identical.

134

W. Zhang et al.

Fig. 1. Block diagram of the generic data acquisition system.

Traditional DADS system (shown in Fig. 2), usually have a higher, often bidirectional supply voltages and higher power consumption in order to have a high signal-to-noise ratio (SNR). Signal-to-noise ratio is defined as the ratio of the power of a signal (meaningful information) and the power of background noise (unwanted signal). SN R =

Psignal Pnoise

(1)

the SNR can be obtained by calculating the square of the amplitude ratio: SN R =

Psignal = Pnoise



Asignal Anoise

2 (2)

The above stands in contradiction with requirements for low power, miniaturization, long time operation on batteries, wearability typical for IoT devices. 3.3

IoT Ready Communication Systems

With a new paradigm in which things are identified and connected, able to exchange information and make decision, the communication forms are extended from human-human to human-thing and thing-thing. An example of old system using LabView and wired connection is shown in Fig. 3. The standard tools like nodejs and node-red [5] are currently available to

Internet of Things Is Changing Teaching of Technical Subjects at UTS

135

Fig. 2. Block diagram of the DADS system used traditionally by UTS students.

easily enable Internet connection with IoT capable device. The use of standard, well known protocols makes devices interoperable. The device information packets from DADS students lab systems have standard JSON formats, a language-independent data format, which is derived from JavaScript, like below:{ “name”:“DADS”,“REF”:27.3,“LSH”:20.0,“FLT”:20.0,“IR”: 24.3,“H”:43.2,“F”: 34.1 }. This has an advantage of very easy web-interfacing using Node-Red, which is a programming tool for wiring together hardware devices, APIs and online services as part of the IoT. For comparison the LabView VI shown in Fig. 3 is far more complex than the one of Node-Red shown in figure Fig. 4. Another advantage of Node-Red is that it runs on multiple platforms including desktop Operation Systems (OS) like Windows, Linux, iOS and Raspberry Pi, which is a series of small single-board computers (SBCs).

136

W. Zhang et al.

Fig. 3. Labview VI created to read data from students DADS lab kit.

Fig. 4. Node-Red flow to read data from students DADS lab kit.

3.4

Biomedical Signal Processing

Processing biomedical signals on wearable devices are very challenging, so traditional methods are still in place. However there is a growing number of simple applications, where IoT technologies can play a useful role. For wearable application development, advanced electronic technology is helping us stay aware of our physical condition and fitness through bio-inspired sensing. The signal processing software for BAN motes is considered of great importance as it affects the accuracy of the measured signal and as it usually requires a considerable amount of processing power, it contributes to overall power consumption. A number of research studies on the subject exist including works of Casson [4]. The location of signal processing software (BSP) is shown in Fig. 5.

Internet of Things Is Changing Teaching of Technical Subjects at UTS

137

Fig. 5. Low power signal processing for BAN motes adapted from [4].

In BSP classes students are learning how to use standard Internet protocols and open source framework to connect wearable device to the Internet. The screenshot on figure Fig. 6, shows the example application using MPU and nodejs. Another interesting project was to use a commercial product Myo Gesture Control Armband [25] to collect raw EMG data for later data processing.

Fig. 6. Interfacing MPU-9150 Nine-Axis (Gyro + Accelerometer + Compass) MEMS MotionTracking Device http://invensense.com/mems/gyro/mpu9150.html.

The Myo armband is a wearable gesture control and motion control device, which can read the electrical activity of muscles and the motion of arm to wirelessly control equipment with hand gestures and motion. It uses a set of electromyographic (EMG) sensors that sense electrical activity in the forearm muscles, combined with a gyroscope, accelerometer and magnetometer to recognize gestures [19]. In this system Raspberry is used to connect Myo through Bluetooth to realize different functions. The Raspberry Pi (RPi) as shown in Fig. 7 is a small single-board computers developed to promote teaching and embedded applications.

138

W. Zhang et al.

Fig. 7. Raspberry Pi.

Firstly RPi is connected to PC with serial console based on Putty to configure the IP address of WiFi or Ethernet because RPI does not include peripherals. Then RPi obtain signals and detect active pose from Myo Armband with Bluetooth, which is a wireless communication standard to exchange data over short distances. The program based on python is installed in the RPi and it acquires data form EMG sensors and IMU and then recognizes motion and gesture as shown in Figs. 8 and 9.

4

New Trends in Operating Systems for IoT and How They Change Teaching of Them

Body Area Network using 6LoWPAN concept is shown in Fig. 10 and the block diagram of the system design under project is shown in figure Fig. 11. The front end is realised as a responsive web-server hosted locally or cloudbased with dynamically created menus as shown in Fig. 12. To provide close to real time response, and very low power consumption, the websockets protocol is used together with CoAP obeserve and other lightweight IoT protocols. Students learn of integrating lower power electronics, embedded programming and web.

Internet of Things Is Changing Teaching of Technical Subjects at UTS

Fig. 8. Myo armband IMU data.

Fig. 9. Myo gesture reorganization.

139

140

W. Zhang et al.

Fig. 10. Body area network using 6LoWPAN, inspired by TI 6LoWPAN wiki.

Fig. 11. Simplified block diagram of proposed ubiquitous and pervasive body area networks healthcare system.

5

Conclusion

University of Technology Sydney (UTS) follows a practice-oriented and researchinspired model of learning. The experiences required to be follow are among others: Recognition of work-based learning, where university learning offers recognition and intellectual extension of learning in practice and the use of cutting-edge technologies in practice-based scenarios [26]. The new courses are added dynamically to existing curriculum not only to follow the progress of technology and fulfill industry demands, but as well stay in front and precede the changes. The objectives are to prepare students to work long-term in a dynamic and changing professional environment and teach the critical thinking, enquiry, creative and analytical capabilities. The Internet of Things is an example of a new popular course due to the importance of IoT [20] and the topic and subject of IoT affected other subject. In this paper we provided the analysis of how IoT inspired

Internet of Things Is Changing Teaching of Technical Subjects at UTS

141

Fig. 12. The screenshot of front end webserver build using nodejs providing user interface for IoT based healthcare system.

changes in teaching some other technical subjects specifically Data Acquisition and Distribution Systems, Biomedical Signal Processing and Biomedical Instrumentation, describe undertaken projects in this area, provided some case studies and draw conclusions. With a continuously growing trend of become multidisciplinary [6] many other subject require multidisciplinary knowledge and skills.

References 1. Aldeen, M., Oxbrow, R.: Multimedia enhanced teaching of control systems. In: Multi Media Engineering Education, IEEE International Conference on Multi Media Engineering Education, pp. 363-371. IEEE (1996) 2. Andrade, R.M., Carvalho, R.M., de Arajo, I.L., Oliveira, K.M., Maia, M.E.: What changes from ubiquitous computing to internet of things in interaction evaluation? In: International Conference on Distributed. Ambient, and Pervasive Interactions, pp. 3–21. Springer, Cham (2017) 3. Bayard, J.P., De Haas, S.: Multimedia teaching tools for an introductory circuit analysis course. In: Proceedings of Frontiers in Education Conference, 26th Annual Conference on 1996. FIE’96, vol. 1, pp. 213–216. IEEE (1996) 4. Casson, A.J.: Opportunities and challenges for ultra low power signal processing in wearable healthcare. In: Signal Processing Conference (EUSIPCO), 2015 23rd European, pp. 424–428. IEEE (2015) 5. Chaczko, Z., Braun, R.: Learning data engineering: Creating IoT apps using the node-RED and the RPI technologies. In: 2017 16th International Conference on Information Technology Based Higher Education and Training (ITHET), pp. 1–8. IEEE (2017) 6. Chaczko, Z., Szymanski, J.: Teaching multidisciplinary engineering using concepts and technology of WSN. In: 2012 International Conference on Information Technology Based Higher Education and Training (ITHET), pp. 1–7. IEEE (2012)

142

W. Zhang et al.

7. Gonzalez, G.R., Organero, M.M., Kloos, C.D.: Early infrastructure of an internet of things in spaces for learning. In: Eighth IEEE International Conference on Advanced Learning Technologies. ICALT’08, pp. 381–383. IEEE (2008) 8. Hahm, O., Baccelli, E., Petersen, H., Whlisch, M., Schmidt, T.C.: Demonstration abstract: simply RIOT: teaching and experimental research in the internet of things. In: Proceedings of the 13th international symposium on Information processing in sensor networks, pp. 329–330. IEEE Press (2014) 9. Jing, Z., Guo, A.: Explore to build a remote laboratory in higher engineering education. Chin. Electron. Educ. (2014) 10. Jing, Z., Guo, A.: Building a comprehensive laboratory system in higher engineering education. ISPRS (2013) 11. Jing, Z., Guo, A.: Research of online-learning in higher engineering education. Ind. Inf. Technol. Educ. 8, 83–96 (2013) 12. Lai, D.T.H., Palaniswami, M., Begg, R. (eds.): Healthcare Sensor Networks: Challenges Toward Practical Implementation. CRC Press (2011) 13. McGrath, M.J., Scanaill, C.N., Nafus, D.: Sensor Technologies: Healthcare, Wellness and Environmental Applications. Apress (2014) 14. Snelson, C.: Designing dynamic online lessons with multimedia representations. J. Educ. Online (2005) 15. Su, S.W., Nguyen, H.T., Jarman, R., Zhu, J., Lowe, D.B., McLean, P.B., Weng, K.: Model predictive control of gantry crane with input nonlinearity compensation. In: International Conference on Control, Automation and Systems Engineering. World Academy of Science, Engineering and Technology (2009) 16. Tsoi, M.F., Goh, N.K., Chia, L.S.: Multimedia learning design pedagogy: a hybrid learning model. Online Submiss. 2(9), 59–62 (2005) 17. Varshney, U.: Pervasive healthcare computing: EMR/EHR, wireless and health monitoring. Springer Science and Business Media (2009) 18. UTS internal document.: Bio-inspired signal sensing platform based on IoT to bring real engineering application to students (2017) 19. Curtis Silver. Gift This, Not That: Myo Armband versus This Toaster (2015). https://www.forbes.com/sites/curtissilver/2015/12/23/gift-this-not-thatmyo-armband-vs-this-toaster/#6f8b96383010 20. Newman, P.: The internet of things 2017 report: how the IoT is improving lives to transform the world. Bus. Insid. (2017). https://uk.businessinsider.com/theinternet-ofthings-2017 21. Sarma, S.: Internet of Things: Roadmap to a Connected World. MIT Course (2016). https://www.technologyreview.com/s/601013/the-internet-of-thingsroadmap-to-a-connected-world/ 22. Texas Instruments.: TI Health Tech: Engineering components for life. Texas Instruments healthtech Application Guide (2016). http://www.ti.com/lit/sg/slyb108h/ slyb108h.pdf 23. Texas Instruments.: The Internet of Things:Opportunities and Challenges. Texas Instruments Internet of Things Overview (2017). http://www.ti.com/ww/en/ internet of things/pdf/14-09-17-IoTforCap.pdf 24. Texas Instruments.: Multi-Parameter Bio-Signal Monitor Reference Design For Personal Monitoring. Texas Instruments Multi-Parameter Bio-Signal Monitor Design Guide (2015). http://www.ti.com/tool/TIDM-BIOSIGNMONITOR? keyMatch=null&tisearch=tidesigns

Internet of Things Is Changing Teaching of Technical Subjects at UTS

143

25. THALMICLABS.: Myo Gesture Control Armband Technical Specifications. Myo Gesture Control Armband Overview (2017). https://www.myo.com/techspecs 26. UTS.: UTS Model of Learning. UTS Model of Learning Overview (2017). https://www.uts.edu.au/research-and-teaching/learning-and-teaching/utsmodel-learning/uts-model-learning

Model Driven Architecture in Containers-Based Software Development Tomasz G´orski1(B) and Bartosz Chrabski2 1

Institute of Naval Weapons and Computer Science, Faculty of Navigation and Naval Weapons, Polish Naval Academy, Gdynia, Poland [email protected] 2 IBM Polska Sp. z o.o., Warszawa, Poland [email protected]

Abstract. Component-based software development is the successor of object-oriented software development. Authors of the paper extend existing Unified Modeling Language standard to describe containers semantically, automate the process of creating containers and later deploying them to the platform as a service. The paper presents the concept of using Unified Modeling Language (UML) as well as principles of Model Driven Architecture (MDA) to automate creating of and maintaining containers. The main aims are designing meta-model language that is capable of defining Docker containers as part of software architecture modeling process and using transformations to create Docker files that can be used to instantiate container. The paper presents UML profile UML Docker Services Profile and model-totext transformation Model2DockerFile transformation. Both, the profile and the transformation were designed, implemented and incorporated in IBM Rational Software Development environment. The developed environment can be used to generate DockerFile files, from UML models with applied specific stereotypes from UML Docker Services Profile, that can be used in containers runtime.

Keywords: Model driven architecture language · Transformations · DevOps

1

· Containers · Unified modeling

Introduction

The constant need to support changing business requirements is forcing IT organizations for searching new approaches [12], in software development to organize their processes in a way that will help them to deliver software faster, more regularly and with higher quality [5]. Those needs are not something new to IT market as software vendors since years are trying to automate their processes to achieve listed outcomes by implementing different agile [1], or DevOps practices. Investments in different tools, methodologies or software development practices c Springer Nature Switzerland AG 2020  R. Klempous and J. Nikodem (eds.), Smart Innovations in Engineering and Technology, Topics in Intelligent Engineering and Informatics 15, https://doi.org/10.1007/978-3-030-32861-0_10

Model Driven Architecture in Containers-Based Software Development

145

were able to solve some process or automation problems but also generated new constraints that were slowing down software development organizations or limiting its rapid growth. One of the technical challenges related to maintaining IT infrastructure, configuration management or managing software dependencies that were slowing down organizations in developing new software products seems to be solved by using containers and concept of micro-services. Docker and IBM containers are game-changing technologies that are helping IT organizations to move from highly isolated and dependent environment that are difficult to maintain and embrace cloud or hybrid approaches that is less expensive to maintain. Furthermore, this kind of containers can be adapted, in an easy manner, to the market and business requirements. Newly developed technologies are not always free of limitations or challenges related to their implementation. Despite multiple advanteges of containers including lack of dependencies between components, modularity, short time to recover after failure or automation, docker and other container technologies are not well connected with traditional approaches for software development or infrastructure maintenance. Many organizations do not understand how to connect years of investments in infrastructure, hardware and tooling with new technologies that are changing the market.

2

Containers-Based Application

Nowadays, Docker containers are providing support for some parts of application development lifecycle, but still without complete end-to-end coverage for the process (Fig. 1).

Fig. 1. Example of applications deployed using containerization concept.

Companies that are promoting Docker are currently focused on solving problems with making it production ready and completely ignore the importance of the IT governance. In governance space, authors see potential gaps in requirements engineering, architecture and modeling and quality management. Those

146

T. G´ orski and B. Chrabski

aspects of software development process can not be ignored without serious impact on product quality or maintenance in the future. Figure 2 is presenting how the concept of containers is integrated with testing and deployment automation in the application lifecycle. Nowadays process is primarily focused on integrated configuration management, test automation, and deployment automation and does not cover key from an architecture point of view analytical disciplines. Authors believe that presented integration is not enough to ensure comprehensive and sustainable software development process and should be extended and that is why this space requires additional research. The presented issue is interesting for research point of view but also identifies business niche on the market that is driven by DevOps movement that can improve existing software development processes.

Fig. 2. Most common approach for managing an application using containers.

3

Containers-Based Software Development

The subject of containers-based software development is well established in research and development, [9,13]. Beyond many advantages of using containers, there are a few disadvantages that can be challenging for organizations that require standardization and formal methodologies as part of their IT infrastructure and processes. Docker as any other new technology has some gaps to cover complete process of the application lifecycle from collecting requirements to deployment to production. Docker community is focusing in the first place on improving operations capabilities of the technology and how easily migrate containers from developers workstation to the production environment. Those approaches are clearly indicating that requirements management, architecture, and design or quality assurance can be an interesting area for research as containers do not appear there yet. Multiple research projects worldwide [10], are trying to solve the challenge with containers governance but are primary focusing on automation part of this challenge and are omitting planning and design phases of the process. That is

Model Driven Architecture in Containers-Based Software Development

147

why authors of this paper see modeling and architecture design in the context of containers as challenging and worth of studying part of the development lifecycle. As the idea of containers is connected with automation in different area and DevOps, authors are using the same concept in their research work by extending existing architecture modeling standards to automate the process of creating containers and later deploying them to the platform as a service environment like Amazon Web Services [3], IBM BlueMix [4], or RedHat OpenShift [16]. The authors of this article created the concept of using model driven architecture and unified modeling language to design meta-model language that is capable of defining Docker containers as part of software architecture modeling process and using transformations to create Docker files that can be used to instantiate container. During the research process, the authors used UML profiles [20]. Moreover, two types of transformations were applied: model-to-model and model-to-text [15]. All of those elements were used to address challenges related to designing, governance of architecture based on containers and produce files docker file that can be used in containers runtime.

Fig. 3. Extended version of containers lifecycle with modeling capabilities.

The concept is using traditional UML models [14], including component, deployment, class and other structural diagrams extended by adding UML profile to define containerized artifacts as part of software architecture. The authors are

148

T. G´ orski and B. Chrabski

proposing an approach for modeling containers that is using the idea of service oriented architecture and UML software services [11], profile but is operating on another level of abstraction. Figure 3 presents the process of defining docker containers from traditional UML model by transformations generating platform specific model that is defining application architecture based on containers. Created using this transformation specific model can be later extended by adding new containers, relations between them or other necessary changes before converting architecture to files that can be executed using model-driven techniques. In the literature, there are studies which analyze the effects of adoption of MDA on the software development process performance [7,8,19]. Those studies show a positive effect of the application of transformations on performance of the development process.

4

UML Docker Services Profile

Based on market trends analysis [6], and knowledge background, the authors decided to invest time in research on how to adopt used modeling concepts to model architecture for micro-services based on containers. The concept of model driven architecture developed and maintained by OMG Group was popular several years ago when unified modeling language was utilized in projects to document them and define software architecture blueprints. Since that time approach for developing software and need for formal modeling approaches eroded but still shows up in the complex projects where an understanding of basic concepts, structure or flows will not be possible without the additional support [2,17,18]. Authors see a potential in using concepts of model driven architecture and development to address limitations connected with the implementation of microservices based on Docker containers. After a couple of projects delivered using Docker containers, authors of this article decided that process of building Docker images and deploying them should be involved in architecture design in a similar way as unified modeling language deployment diagram was used. To accomplish the task the authors decided to use unified modeling language profile to enrich existing UML meta-model by creating new definitions that can be used to define artifacts that are characteristic for micro-services. In the first place, the authors focused on deployment and components diagrams as those have the most importance from infrastructure modeling point of view. Deployment diagrams are defining how artifacts can be deployed inside of IT infrastructure, and component diagrams are describing dependencies between components based on their interfaces without touching the context of their internal logic. Extending those two UML diagrams was the first step to creating an UML profile to support Docker containers modeling. This UML profile was called, by authors, UML Docker services profile (DSP). Authors decided to implement a complete solution using IBM rational software architect, which provides comprehensive functionality to develop profile

Model Driven Architecture in Containers-Based Software Development

149

Table 1. Stereotypes from UML Docker services profile for structural elements Stereotype name

Stereotype attributes

Applicable to

Dockerimage

-

UML component, UML class

FROM [1] ENV [0..N] USER [1] VOLUME [1] WORKDIR [1] ENTRYPOINT [1]

KubernetesPod

- NAME [1] UML node - NODENAME [1..N] - DockerImages [1..N]

Maintainer

- NAME [1]

FROM

UML actor UML usage

Fig. 4. Class diagram defining the UML Docker services profile (DSP) stereotypes for structural UML elements.

extensions and later generate. The authors decided to use IBM rational software architect due to easy access to this software and because IBM is one of the key contributors to containers technical community. UML Docker services profile can be in the future implemented in other modeling tools available on the market.

150

T. G´ orski and B. Chrabski

Stereotypes included in UML Docker services profile were divided in two sets: structural elements and behavioral elements. UML Docker services profile was created in IBM rational software architect. Both structural and behavioral stereotypes were defined and relationships among them. Table 1 presents stereotypes and their attributes applicable to artifacts which can be applied to structural elements in UML structural diagrams, e.g. class diagram. Figure 4 presents an UML class diagram with stereotypes from UML Docker services profile for structural elements with relationships among them. The presented diagram is the first version of the prototype for Docker services profile that will evolve, grow and will be maintained by authors. Table 2 presents stereotypes and their attributes applicable to artifacts which can be applied to behavioral elements in UML behavioral diagrams, e.g. activity diagram. Table 2. Stereotypes from UML Docker services profile for behavioral elements Stereotype name

Stereotype attributes

Applicable to

Add

SOURCE [0..N] TARGET[0..N]

UML action, UML activity

Run

CMD [0..N]

UML action, UML activity

Cmd

CMD [0..N]

UML action, UML activity

Expose

PORT [0..N]

UML action, UML activity

Figure 5 presents an UML class diagram with stereotypes from UML Docker services profile for behavioral elements. The stereotypes can be applied on an UML activity diagram, and its elements to define a process that is required to instantiate a new container. UML Docker services profile was also designed and implemented in IBM rational software architect. Figure 6 presents available stereotypes which can be applied to UML elements in order to model containers-based application. Figure 7 presents an UML component diagram showing the manner of modeling Docker image. The presented diagram shows an example of applying Docker service profile that can be converted to executable code by using model-to-text transformation deliver as part of developed UML profile. So, we have identified both structural stereotypes required to model elements of docker service and behavioral stereotypes to model flow of actions to create docker service. Docker service profile at current stage is working prototype that can be used to define the architecture of complex applications that will use containers as infrastructure. The proposed profile still requires additional research and development work to support additional technologies connected with the concept of containers like Kubernetes or more complex enterprise deployments.

Model Driven Architecture in Containers-Based Software Development

151

Fig. 5. UML Class diagram defining Docker services profile (DSP) stereotypes for behavioral UML elements.

Fig. 6. Docker services profile (DSP) stereotypes in IBM rational software architect.

Figure 8 presents UML activity diagram showing the manner of modeling flow of actions of creating docker service. The presented diagram defines how elements of Docker service profile dedicated to deployment or initialization steps can be used together with unified model language to define the process of creating new containers.

152

T. G´ orski and B. Chrabski

Fig. 7. UML component diagram shows how Docker service profile can be applied to Docker images.

Fig. 8. UML activity diagram shows how Docker service profile can be applied to modeling procedure of docker service creation.

5

Model2DockerFile Transformation

Defined UML Docker service profile can solve many IT governance challenges related to standardization, norms or just make things more documented. Using this solution from the author’s point of view will not make containers development shorter and will add additional next step in a process that most probably many people will prefer due to complexity or lack of architecture design skills. It depends on the organization needs, maturity and industry in which it is doing business to calculate the realistic return on investment for using Docker services profile in production. The additional strong argument to persuade the organization to use UML Docker services profile can be implementing model driven development concepts as part of the profile that will give users the ability to

Model Driven Architecture in Containers-Based Software Development

153

generate code based on created models. Implementation of UML Docker services profile in IBM rational software architect gave authors the possibility to use Java Emitter Templates (JET) to customize model-to-text transformation and prepare a complete solution that users can run but as well customize to their organization needs. The Model2DockerFile transformation of model-to-text type was developed that can be used to generate DockerFile files from UML models with applied specific stereotypes from UML Docker service profile. Below, source code (Listing 10.1) of Docker file is presented, that was generated using Model2DockerFile transformation on the basis of models depicted in Figs. 7 and 8. Listing 10.1. Source code of generated Docker file. FROM ubuntu MAINTAINER Author RUN apt - get update RUN apt - key adv -- keyserver hkp :// keyserver . ubuntu . com :80 -- recv 7 F0CEB10 RUN echo ’ deb http :// downloads - distro . mongodb . org / repo / ubuntu - upstart dist 10 gen ’| tee / etc / apt / sources . list . d / mongodb . list RUN apt - get update RUN apt - get install -y mongodb -10 gen RUN mkdir -p / data / db EXPOSE 27017 CMD [" - - port 27017"] ENTRYPOINT usr / bin / mongod

As the next step authors are considering implementing text-to-model transformation that will give users of the profile ability to do reverse engineering for existing containers infrastructure. Reverse engineering will make easier to do impact analysis and identify dependencies on production or pre-production environments. Authors perceive that feature as essential for organizations from banking, insurance sectors where deployment automation is critical and production environments are tightly coupled.

6

Conclusions and Directions for Further Works

Modeling architecture of containers-based applications with MDA/MDD application seems to be an interesting space for further research. Many IT organizations need to standardize and document their it infrastructure, software development architecture or processes but still currently used modeling solutions are

154

T. G´ orski and B. Chrabski

not providing a dedicated approach to fulfilling this needs if an organization will decide to implement containers on a large scale. The paper outlines directions for further work in the field of architecture definition for virtualized environments. Main techniques considered by authors are UML stereotypes, which can be gathered in UML profile, UML diagrams, and transformations. As a further works we plan to add a series of model-to-text transformations that can be used to generate not only DockerFile files but also Kubernetes specifications from UML diagrams. That main idea is the preparation of environment to generate and run complete docker service on the basis of UML models.

References 1. Ambler, S.: Survey Says: Agile Works in Practice - Agile Software Development Methods and Techniques are Gaining Traction. Addison-Wesley, Boston (2006) 2. Ameller, D., Burgu´es, X., Collell, O., Costal, D., Franch, X., Papazoglou, M.P.: Development of service-oriented architectures using model-driven development: a mapping study. Inf. Softw. Technol. 62, 42–66 (2015) 3. Amazon EC2 Container Service. https://aws.amazon.com/ecs/getting-started/ 4. Baxter, R.: An Introduction To The New IBM Containers Service. https:// ryanjbaxter.com/2015/07/06/an-introduction-to-the-new-ibm-containersservice/ 5. Boehm, B.: A view of 20th and 21st-century software engineering. In: Proceedings of 28th International Conference on Software Engineering (ICSE 06), pp. 12–29. ACM Press (2006) 6. DevOps - Container market adoption, DevOps.com, ClusterHQ. https://clusterhq. com/assets/pdfs/state-of-container-usage-June-2016.pdf 7. G´ orski, T.: Model-driven development in implementing integration flows. J. Theor. Appl. Comput. Sci. 8(4), 72–81 (2014) 8. Groote, J.F., Osaiweran, A.A.H., Wesselius, J.H.: Analyzing the effects of formal methods on the development of industrial control software. IEEE ICSM 2011, 467–472 (2011) 9. Gorton, I. et al.: Component-Based Software Engineering, LNCS 4063, 9th International Symposium. CBSE 2006, (2006) 10. Hirschfield, R.: 2017 trend lines: when DevOps and hybrid collide. www.ibm.com/ blogs/cloud-computing/2017/04/trend-lines-devops-hybrid/ 11. Johnston, S.: UML 2.0 Profile for Software Services, IBM DeveloperWorks (2005). www.ibm.com/developerworks/rational/library/05/419 soa/419 soa-pdf.pdf 12. Kim, G., Humble, J., Debois, P., Willis, J.: The DevOps Handbook, pp. 77–95. Portland, Oregon, IT Revolution (2016) 13. Koziolek, H.: Performance evaluation of component-based software systems: A survey. Perform. Eval. 67, 634–658 (2010) 14. Kruchten, P.: Architectural blueprints the 4+1 view model of software achitecture. IEEE Softw. 12(6) (1995) 15. Mens, T., van Gorp, P.: A taxonomy of model transformation. Electron. Notes Theor. Comput. Sci. 152, 125–142 (2006) 16. RedHat - Introducing Red Hat OpenShift Container Platform. https://blog. openshift.com/introducing-redhat-openshift-container-platform/ 17. Shahin, M., Liang, P., Babar, M.A.: A systematic review of software architecture visualization techniques. J. Syst. Softw. 94, 161–185 (2014)

Model Driven Architecture in Containers-Based Software Development

155

18. Tofan, D., Galster, M., Avgeriou, P., Schuitema, W.: Past and future of software architectural decisions - a systematic mapping study. Inf. Softw. Technol. 56(8), 850–872 (2014) 19. Van den Brand, M.G.J., Groote, J.F.: Advances in model driven software engineering. ERCIM News 91, 23–24 (2012) 20. Unified Modeling Language Specification Version 2.5.1, OMG. www.omg.org/spec/ UML/2.5.1/

Low Cost Wireless Micro-Electro-Mechanical-Systems Accelerometers Linear Sensor Model Zhengyu Yu1 , Zenon Chaczko1 , and Jiajia Shi2(B) 1

Faculty of Engineering and Information Technology, University of Technology Sydney, Sydney, Australia [email protected], [email protected] 2 School of Transportation, Nantong University, Nantong, China [email protected]

Abstract. This chapter introduces a new linear sensor model of low cost micro-electro-mechanical-systems accelerometers. A modelled algorithm has been developed to reduce different errors for the system. Experiments with Matlab analysis has been displayed in the paper. Transmission of accelerometer in both cable and wireless has been calculated and displayed from 1500 samples. Linear sensor model has been applied into the experiment results to optimize the accuracy of the accelerometer data. This method is able to be used in different positions of the accelerometer. It is also used to calibrate and align the system before the system operation. Therefore, it is possible that the sensor model can be used to reduce errors in different sensor networks, such as bluetooth, beacon and ZigBee. Keywords: MEMS · INS · Gyro-free filter · Linear sensor model

1

· Accelerometers · Kalman

Introduction

Micro-electro-mechanical systems (MEMS) accelerometers are widely used in a variety of areas such as inertial navigation, automotive, and industry applications. There are many advantages to MEMS accelerometers such as low cost, low power and small size. The integrated MEMS accelerometer system combines MEMS with Bluetooth for wireless communications and monitoring. This system is able to sense a physical measurement, process it locally, and communicate it wirelessly. Such a system could be fully implemented in the areas of surveying, automotive, mining and environment detection applications for military, commercial and scientific use. This wireless accelerometers system has a low power consumption: 30 mA at 3.3 V for the inputs and signal outputs. The unit g, as used in this report, stands for the standard free-fall acceleration, or g 2 = 9.806650 m/s . The maximum measurement range of the accelerometer is 6g. c Springer Nature Switzerland AG 2020  R. Klempous and J. Nikodem (eds.), Smart Innovations in Engineering and Technology, Topics in Intelligent Engineering and Informatics 15, https://doi.org/10.1007/978-3-030-32861-0_11

Low Cost Wireless Micro-Electro-Mechanical-Systems

157

This paper aims to test and improve the performance of the system. A rotation test is implemented. The unit under test is placed on a precision three axis test platform, and a series of constant rate tests and multi-position tests are then operated to identify the major sources of error of the wireless MEMS accelerometers system. An error model is developed as a black box which is calibrated remotely. A wireless gyro-free INS has been implemented with improved error modelling to develop the accuracy of the system.

2

Literature Research

An inertial navigation system (INS) implements accelerometers and gyro-scopes to produce an estimate of velocity, position and attitude [6]. An inertial measurement unit (IMU) has a cluster of sensors: Generally, three accelerometers and three gyroscopes are mounted on a common platform to produce and measure acceleration and orientation [6]. A navigation computer is implemented to receive and process the data acceleration in order to integrate the net acceleration to calculate vehicles position [6]. Inertial navigation processes the measurements provided by the gyro-scopes and accelerometers to determine the position of the body within the inertial reference frame. Unlike other navigation systems, such as the Global Positioning System (GPS), the INS is entirely self-contained within the vehicle; it does not depend on the signals transferred from external sources, although it does depend on the accuracy of the initial value at the beginning of navigation [6]. There are two types of INS: gimballed INS and strap down INS [6]. A gimballed system is a frame with a rotation bearing which is used to isolate the inside body frame from external rotations [6]. To make the bearing perfectly frictionless, the frame needs to be perfectly balanced. The advantage of the gimbal system is that it achieves high system accuracy because the isolation of the inertial platform from the rotations of the vehicle can be utilized to eliminate a number of sensor error sources; however, it is too expensive for commercial use [6]. The strap down INS is different from the gimballed INS because the inertial sensors are strapped down to the frame of the vehicle without exploiting the gimbals for rotational isolation [6]. The full six-degree-of-freedom equation of motion must be integrated by a system computer [6]. Titterton [9] mentions that to measure the specific force acting along the sensitive axis, the implementation of silicon to make the accurate micro components of an accelerometer is widely established [9]. Currently, the development of the accelerometer is to construct the sensor entirely from silicon without a hermetically sealed case. Only five components are contained in a precision sensor which is made by precision micro-engineering and design [9]. A microelectro-mechanical systems instrument is currently classified as two classes, which reflects the body movement where acceleration acting upon the case of the instrument is sensed. A mechanical sensor uses silicon components when the movement of a proof mass provided by a flexure or hinge in the presence of an acceleration [9].

158

Z. Yu et al.

Guobin et al. [7] developed a system that did not use high-grade gyros and accelerometers to estimate errors. A systemic rotation auto compensation technique was introduced to improve the precision performance of a strap down inertial navigation system. The system error equation was analyzed by an eightposition dual-axis rotation-dwell scheme [7] which effectively attenuated the error from constant bias of the inertial sensors failed to attenuate the errors from scale factor instability, misalignment and random noise. The output of low frequency was shifted to sinusoidal following the implementation of this technique [7]. Qu et al. [8] designed a micromechanical gyroscope and accelerometer as a mini and low-cost strap down inertial navigation system for civilians. The system is based on a high calculation of SINS. A digital signal processor and complex programmable logic device are the main hardware of signal acquisition and data communication [8].

Fig. 1. Errors of bias.

Bias error is a bias or a displacement from zero according to the measurement of the acting force which is represented when the corresponding acceleration is zero [9], see Fig. 1. In the experiment, X axis presents samples, Y axis presents accelerations.

Fig. 2. Errors of scale factor.

Low Cost Wireless Micro-Electro-Mechanical-Systems

159

Scale factor errors are the errors of a ratio change between the output sensors and the input acceleration measurement [9], see Fig. 2. In the experiment, X axis presents samples, Y axis presents accelerations. Barshan and Durant-Whyte developed an error model of a low-cost inertial navigation system which was presented with an extended Kalman filter for estimating the acceleration, distance and orientation of mobile robots [1]. Generally, IMU should be mounted on other navigation sensors to provide a precise vehicle location. Basically, accelerometers generate data of acceleration, whereas gyroscopes generate data of angular rate [1]. These data must be integrated to calculate the measurement of velocity, distance and orientation. Over a long period, a small error in the data could cause a big difference in distance. One method to deal with this issue is to add a navigation sensor which is able to correct the inertial sensor accumulated errors [1]. Through a detailed understanding of system drift errors, another method of overcoming errors is to use a priori information of the errors of the inertial sensors in an extended Kalman filter to provide the rate of the location prior to generating the data from INS sensing [1]. Batista et al. presented a calibration of an accelerometer and a dynamic filtering method for reducing bias [2]. Currently, a new generation of MEMS accelerometer is being widely used; however, large bias, scale factor and other nonlinearities have been discovered during the implementation. A calibration technique has been developed for these low-cost tri-axial accelerometers to determine bias, scale-factor and cross coupling factors, and a time-varying Kalman filter has been developed to estimate online dynamic bias and gravity of navigation system for mobile platforms [2]. Bryson and Sukkarieh determined that the goal of the bearing-only inertial SLAM is to implement a real-time monitoring and communication system which provides real-time navigation accuracy to be used for the robot wireless monitoring system while building an accurate feature map [3]. An un-aided inertial navigation system could be used in a number of places; however, the high cost, weight and power requirement of the necessary unit is prohibitive for most projects, and therefore, a low-cost INS can be used instead [3]. Camps et al. noted that the inertial unit contains magnetometers, accelerometers and gyro-meters. The calibration of these sensors therefore depends on several situations, such as the local magnetic field, the sensor attitude and the real parameters of bias and scale factor [4]. The Levenberg-Marquardt Algorithm (LMA) is implemented to minimise the estimation for one-dimensional function [4]. Feng conducted important research to improve the accuracy of an autonomous underwater vehicle (AUV) [5]. The accuracy of sensors is the main problem for an aided inertial navigation system. A Displaced Phase Centre Antenna (DPCA) technique was tested on an AUV Synthetic Aperture Sonar (SAS) test platform to enhance the performance of the aided inertial navigation system by micro navigation [5]. Oceanographic data was collected by the

160

Z. Yu et al.

AUV researchers with a flexible, large-area and low-cost solution [5]. AUVs were mounted with an aided inertial navigation system which was integrated by IMU and a Doppler-velocity-log (DVL). Sensor data was fused into the navigation system by Kalman filters. A displaced phase centre antenna (DPCA), also called a redundant phase centre (RPC), was used to improve the accuracy of the estimated motion [5].

3 3.1

System Design System Architecture Diagram

In this section, MEMS accelerometer has been logged and tested by using both cable transmission and Bluetooth wireless transmission. Figure 3 presents the design of system architecture, see Fig. 3. However, during the wireless transmission, errors such as bias, scale factor and misalign-ment occur in the system. To reduce those errors and improve accuracy of the system, linear sensor model has been implemented to calibrate and align the initial data to generate updated results. Figure displays the diagram of the system process.

4

Linear Sensor Model

In this section, the following calibration parameters present a sensor linear model of a typical low cost MEMS sensor [10]: 1. Bias of X-axis (Bx ), bias of Y-axis (By ), bias of Z-axis (Bz ). 2. Scale factors of: X-axis to X-axis inputs (Sx ), Y-axis to Y-axis inputs (Sy ), Z-axis to Z-axis inputs(Sz ). 3. Misalignments of: X-axis to Y-axis inputs (Mxy ), X-axis to Z-axis inputs (Mxz ), Y-axis to Z-axis inputs (Myz ), Z-axis to X-axis inputs (Mzx ), Z-axis to Y-axis inputs (Mzy ). The results of each of the linear calibration parameters are achieved using different tests. A number of detailed test processes are presented for determining the required calibration device with each parameter of the calibration [10]. The linear sensor model has shown for each calibration of sensors is below, see Eq. (1). ⎤ ⎡ 1 ⎤⎛ ⎤ ⎡ ⎤⎞ ⎡ ⎡ ⎡ ⎤ Vx 1 Mxy Mxz Bx x Sx 0 0 A = ⎣ y ⎦ = ⎣ Myx 1 Myz ⎦ ∗ ⎣ 0 S1y 0 ⎦ ⎝Bd + ⎣ By ⎦ − ⎣ Vy ⎦⎠ (1) Mzx M zy 1 Bz Vz z 1 0 0 S1z The detailed algorithm has been given as below, see Eqs. (2), (3), (4). Ax =

Bd + Bx − Vx Mxy (Bd + By − Vy ) Mxz (Bd + Bz − Vz ) + + Sx Sy Sz

Myx (Bd + Bx − Vx ) Bd + By − Vy Myz (Bd + Bz − Vz ) + + Sx Sy Sz Mzx (Bd + Bx − Vx ) Mzy (Bd + By − Vy ) Bd + Bz − Vz Az = + + Sx Sy Sz

Ay =

(2) (3) (4)

Low Cost Wireless Micro-Electro-Mechanical-Systems

Fig. 3. System architecture diagram.

161

162

5

Z. Yu et al.

Data Analysis and Results

In this section, three accelerometers are setup in three different orthogonal axes x, y and z. There are different errors of accelerometers in the system, such as bias error, scale factor error, misalignment of the three accelerometers in three orthogonal axes, and other random noises. The system position is setup as displayed in Fig. 4.

Fig. 4. System position in three orthogonal axes.

The equations of the errors in three orthogonal axes are generated as below (5), (6), (7): ˜x (5) bx + myx × (g) + ηx = a by + Sf y × (g) + ηy = a ˜y − g

(6)

bz + myz × (g) + ηz = −˜ az

(7)

Raw data from Accelerometer on Y-axis has been logged from both cable transmission and wireless transmission. 1500 samples have been plotted in Fig. 5. The solid lines present data from cable transmission, the dotted line present data from wireless transmission. Figure 5 displays 1500 samples from raw data of acceleration of both cable transmission and wireless transmission on Y-axi. Due to the system is in static, the acceleration on Y-axis should be around 1g. Howvever, it is clear to display on the diagram that there is a gap between these two sets of data as errors occur in the wireless transmission. After applying the linear sensor model in the data sets from wireless transmission, the results from wireless transmission have been updated and estimated, see Fig. 6. Figure 6 displays the updated results after linear sensor model implemented. Errors from wireless transmission are minimized. Updated data shows that results are from 0.998 to 1.002 which are very close to 1g, and also close to the data sets from cable transmission. These estimated results are more accuracy than original raw data.

Low Cost Wireless Micro-Electro-Mechanical-Systems

Fig. 5. Raw data from Y-axis.

Fig. 6. Estimated data from Y-axis.

163

164

6

Z. Yu et al.

Future Research

In the future, more sensors should be added into the system to improve accuracy in different way. Sensors such as Bluetooth, IBeacon and RFID will be mounted on the system. Moreover, a nonlinear sensor model will be developed in the future research. It is possible that same sensor model can be used in different sensor networks. Gyroscopes could be integrated into the sensors to determine rotation of the system, which is also an important data for localization accuracy. Acknowledgments. I would first like to offer my thanks to my supervisors, Zenon Chaczko, we have cooperated on several projects for the past 3 years. You have been more than a supervisor to me in that time. In particular, you have been with me every step of the way throughout this research and have supported me during every stressful moment that I experienced. I greatly appreciated your clear guidance and feedback. To Jiajia Shi, thank you for sharing knowledge and lab equipment with me. Best wish for your research projects and academic publications. To other academic research staff in our research centre, thank you for having provided research seminars in the past years. I have observed the most up-to-date technology and research information in these presentations. Lastly, to my family and friends those who always support and encourage me, thank you for being with me all the time. I could not have got this far today without you. I wish for everyones dream to come true and that you will all lead a happy life.This research was funded by the National Natural Science Foundation of China Grant Nos. 61801247 and 61901235.

References 1. Barshan, B., Durrant-Whyte, H.F.: Inertial navigation systems for mobile robots. IEEE Trans. Robot. Autom. 11(3), 328–342 (1995) 2. Batista, P., Silvestre, C., Oliveira, P., Cardeira, B.: Accelerometer calibration and dynamic bias and gravity estimation: analysis, design, and experimental evaluation. IEEE Trans. Control Syst. Technol. 19(5), 1128–1137 (2002) 3. Bryson, M., Sukkarieh, S.: Building a robust implementation of bearing-only inertial SLAM for a UAV. J. Field Robot. 24(1–2), 113–143 (2007) 4. Camps, F., Harasse, S., Monin, A.: Numerical calibration for 3-axis accelerometers and magnetometers. IEEE International Conference on Electro/Information Technology, 2009. eit ’09, pp. 217–221 (2009) 5. Feng, S., Wen, X., Jianlong, L.: Enhancement of the aided inertial navigation system for an AUV via micronavigation. OCEANS 1–4 (2010) 6. Grewal, M.S.: Fundamentals of satellite and inertial navigation, In: Grewal, M., Weill, L., Andrews, A. (eds.) Global Positioning Systems, Inertial Navigation, and Integra-tion, 2nd edn., Hoboken, N.J, Wiley-Interscience, pp. 10–11 (2007) 7. Guobin, C., Jiangning, X., An, L., Ke, C.: Error analysis and simulation of the du-al-axis rotation-dwell autocompensating strapdown inertial navigation system. In: 2010 International Conference on Measuring Technology and Mechatronics Automation (ICMTMA), vol. 2, pp. 124–127 (2010) 8. Qu, P., Fu, L., Zhao, X.: Design of inertial navigation system based on micromechanical gyroscope and accelerometer, Chinese Control and Decision Conference, 2009. CCDC ’09. pp. 1351–1354 (2009)

Low Cost Wireless Micro-Electro-Mechanical-Systems

165

9. Titterton, D.H.D.H.: MEMS inertial sensors, In: Titterton, D. Weston, (eds.) Strapdown Inertial Navigation Technology, 2nd edn., vol. 5, Stevenage: Institution of Electrical Engineers, pp. 205–206 (2004) 10. Vectornav: Inertial Navigation.

Assessment of a Multi-agent RFID Platform for Industrial Logistic Operations Zenon Chaczko(B) , Christopher Chiu, and Zhengyu Yu Faculty of Engineering & IT, University of Technology, Sydney, Australia [email protected], [email protected], [email protected] Abstract. The paper examines the experimental implementation of multi-agent, omni-dimensional RFID technology for logistical and industrial operations. The aim of the research is to demonstrate the processes taken to test RFID under real-world industrial scenarios using a multiagent analytical approach. The results obtained demonstrate the level of accuracy for an omni-directional versus agent-based optimized analytical approach, that is essential in conveying the performance in industrial logistic setups. Further work into the positioning and localization of multi-dimensional RFID inventory scanning for commercial setups is considered for future investigation. Keywords: Omni-dimensional RFID · Multi-agent RFID framework Industrial logistics · Positioning and localization

1

·

Introduction

Radio Frequency Identification (RFID) is a highly robust and available technology used in industrial and commercial applications, used for more than five decades since its introduction for military purposes [5]. Current RFID solutions are based on uni-directional scanning approaches, that is, where the geography of the readers is positioned in defined locations [2]. The purpose of this research is to investigate the practical applicability and performance of multi-dimensional scanning, combined with multi-dimensional analytics, to provide modeling of simulated inventory in space. The practical applications of item tracking in commercial scenarios, including the monitoring of key inventory in industrial workflows, and predictive estimation of inventory processes for future forecasting of business operations [9]. The tracking of inventory orders is a key aspect in the modernization and automation of inventory management [4]. Real-time tracking does not only provide an exceptional edition to the user experience, it also aims to dramatically reduce the rate of stock shrinkage and loss occurring in current factory setups where readers are placed in fixed positions. c Springer Nature Switzerland AG 2020  R. Klempous and J. Nikodem (eds.), Smart Innovations in Engineering and Technology, Topics in Intelligent Engineering and Informatics 15, https://doi.org/10.1007/978-3-030-32861-0_12

Assessment of a Multi-agent RFID Platform

2 2.1

167

Conceptual Design Planning and Deployment

The RFID tracking of items is a critical element of the experimental setup, to determine the practical effectiveness of multi-dimensional tracking for further processing and modeling [9,10]. The requirements of the system were determined to satisfy the following criteria: 1. RFID reader detection of individual tag positions: This requirement is important because it allows the system to determine whether a tag is located anywhere within the system. This way the system knows if an order has been completed and a tray has been removed; and 2. RFID reader calculated location of tag: This requirement complements the first requirement as it is also desirable to know the exact location of the tray in the system. This is also desirable to ensure visual identification of the experimental results. 2.2

Laboratory Configuration

The overall design of RFID system was designed and implemented around the entire experimental system. The arrangement of the RFID system was designed to provide relatively accurate and constant tracking of the fluctuating locations of the RFID tags. Nonetheless, the structure of the RFID system relied heavily on the tag being utilized. Consequently, the structure of the RFID system had various modifications throughout the course of the experimental scenario, however, the structure and functions of the RFID reader and tags remained consistent throughout the design procedure. The complete setup as shown in Fig. 1 of the RFID implementation consisted of: • RFID reader (Impinj Xway Gateway GX31M1): Impinj omni-directional reader located 1.9 m above the experimental set; • RFID Tag (Xerafy UHF RFID passive tag) ISO15693 compliant tag located underneath the tray, with all tags placed in the same location; and • Software implementation: Local terminal running C# application built using the Microsoft Visual Studio Integrated Development Environment. The measured setup was important to determine as this facilitated accurate results of the moving RFID tags, particularly if the tags were moved outside of the experimental environment. Thus, this allowed the determination of exact tag locations. Moreover, the design of the software was structured around the needs of the experimental requirements in the following criteria:

168

Z. Chaczko et al.

Fig. 1. Complete test factory setup measurements.

• Modification of output results into a format recognized by the experimental software system; • Manipulating results into a digital file stream, that were used to generate graphs that illustrated the location of the tag based on its accurate position on the factory setup; • Offsetting results due to the RFID reader being in an offset location; and • Incorporation of web-sockets into the software program to allow further integration with the SCADA and user interface. Overall, the design, implementation and integration of RFID with the overall experimental system, is critical in ensuring the constant monitoring of the product order. As can be seen from Fig. 2, the location and orientation of the tag was critical, as this was replicated with all the other trays. This allowed for consistency and uniformity in results, especially due to the scattering of signals and the inaccuracy that came with the RFID reader.

Assessment of a Multi-agent RFID Platform

169

Fig. 2. Photograph of experimental tray setup with passive RFID tag at center.

3 3.1

Implementation Planning Hardware: RFID Transceiver

The implementation of the Impinj RFID transceiver is mounted 1.9 m above the experimental table as shown in Fig. 3. The mounting was made to be parallel to the physical environment, to ensure the reported locations of the tags are as close as approximately possible in the same X and Y axis as the table. This is to ensure the minimization of significant errors in the location of the RFID tags from the transceiver’s perspective, with the radial zones of the tags relative to the transceiver shown in Fig. 4. As observed from the transceiver setup, the alignment of the RFID reader must be consistent with the positioning of the experimental setup, in regards to the origin offsetting to obtain correct locations to match the anticipated results. Aligning the orientation of the RFID reader to meet the radial sectors predefined within the RFID reader was critical, to ensure it corresponded closely to the locations of the RFID tags in the laboratory setup. The matching of the X and Y axis between the reader output and the experimental system layout is achieved by mounting the RFID reader as parallel as possible with the table setup. This translated into a simple offset of the RFID reader output to integrate the final data analysis with the SCADA interface. The physical alignment of the RFID transceiver respective to the lab setup is an important task to establish correctly, to ensure the theoretical system model

170

Z. Chaczko et al.

faithfully reflects the mathematical model incorporated into the code of the experimental software system.

Fig. 3. Photograph of experimental Rfid reader positioned above lab setup.

3.1.1

Technical Limitations

The initial system setup has deficiencies that limit the accurate depiction of a typical inventory scenario, limiting the practicality of the experimental setup to be replicated in a real-world environment. These main limitations are identified along with the solutions in Table 1. 3.2

Software: Design and Implementation

The software system identifies the manufacturer name for each tag for tracking purposes, to easily distinguish which tag was returning which result, especially as a typical commercial environment would have numerous tags being read near the RFID reader. Thus, it was important for the code to identify the correct tag description, as this was vital in the comparison of tracking approaches.

Assessment of a Multi-agent RFID Platform

171

Fig. 4. Radial sector zones relative to Impinj RFID transceiver [10].

Table 1. Hardware limitations and mitigated solutions. Identified hardware limitation

Mitigated alternate solution

• RFID reader improperly aligned, pro- • Mounting the RFID reader as close as ducing inaccurate results that did not parallel allowed the reader space to move, match orientation which enabled it to be aligned • RFID tags are affected by multipath distortion due to the signals reflecting off the metallic objects • RFID tags are affected by scattering due to the RFID signals impinging onto objects whose dimensions were smaller than the electromagnetic waves, thus signal strength was diminished

• Re-positioning the arms of the robots mitigated this problem • Clearing the area of small metallic and/or non-penetrable objects mitigated this problem • During operation of the experiment this cannot be mitigated or avoided

• The read quality of certain tags was • A range of experiments was undertaken sub-optimal and was not suitable for the on numerous tags to distinguish which experimental system tag would be sufficient for the setup

172

Z. Chaczko et al.

The system requires an optimal level of logging verbosity, outputting the necessary coordinate data on the console window whilst in operation [2,8]. The RFID monitoring software implementation should not impact on the performance of the Impinj RFID reader that would affect the results, ensuring a manageable and user friendly experience [1,7]. The source code should not contain redundant functionality that would impact on tracking performance, and allow for debugging and future code portability. 3.2.1

RFID Tag Metadata Pre-processing

The source code of the software system required an optimal level of data output to correctly distinguish the RFID tags in the experimentation. This ensures the flow of the source code is fluent, visually recognizable and easy to analyze with minimal overhead; with further experimentation work requiring enhancement of the detection algorithm subroutines. The key data used to identify the tags, along with additional tracking data included: • • • •

Read rate of the passive RFID tags; Power readings in dB of the tags; Total number of successful detected tag reads; and Core metadata descriptors of the tag, including brand name, serial, part and revision numbers.

3.2.2

RFID Tag Identification Post-processing

Distinguishing each individual tag is a critical process, as the RFID tags used comply with the Iso 15693 standard. The tag contains a unique signature encapsulated in a 6 by 4 character hexadecimal value (e.g. E200 9A30 9004 3AF0 0000 0992), with the software system mapping the RFID tag value attached to the experimental trays. The result of the post-processing task ensures the RFID tag is identified into a distinguishable name defined in the experimental database, as the example source code shows in Fig. 5. The advantage of implementing the post-processing logic is to enable the end user to efficiently recognize, monitor and analyze the individual tag attached to the uniquely numbered tray [6]. This ensures the algorithmic process handles the logical equivalent of the tray object being tracked by the experimental software system, and allows for further integration into a SCADA system, as the data can be outputted as a logical identifier and its corresponding coordinates. Finally, the data is converted into a comma delimited value data stream for future integration with a SCADA terminal, and to enable the plotting of tag location graphs on the experimental user interface through web-sockets. These results are generated using the open-source GNU Plot toolkit library, that has been fully integrated into the multi-dimensional tracking framework.

Assessment of a Multi-agent RFID Platform

173

Fig. 5. Source code example of RFID tag value mapping process.

3.2.3

Functional Limitations

The main limitations in the design and implementation of the software are mostly attributed to the RFID reader device drivers, the plotting of live streaming data, and increasing the read rate performance of the Impinj RFID reader. These limitations are listed along with the mitigation strategies in Table 2.

4

Experimental Results and Analysis

4.1

Control Parameters

To determine the best analytical approach for using a omni-directional RFID system in logistical environments, the main performance tests were taken in a controlled environment with the following factors remaining consistent throughout: • • • •

Tag orientation. Position of the robot arms. Read locations including the tag height. Period to read the tags at each location.

Based on the controlled tests, it enabled the comparison of results for each of the localization approaches, and from this, a conclusion was drawn on the perfor-

174

Z. Chaczko et al. Table 2. Experimental software limitations and mitigated solutions.

Identified software limitation

Mitigated alternate solution

• For live testing purposes, results are required to be displayed in real-time • Live testing will result in the re-iteration of data being pushed

• This was solved by utilizing GNU plots throughout the live testing phase, thus ensuring open source standard compatibility and future code portability

• The read rate of the RFID reader was • This was not mitigated, as this is a only limited to 1 read per second hardware limitation of the Impinj RFID • This could not be changed, due to the reader capabilities of the RFID reader • The read quality of certain tags was • Initial experiments undertaken on tags below par and was not suitable for the to distinguish tag that would be sufficient experimental system for testing

mance benefits of using an agent-based analytical approach for omni-directional object localization. 4.2

Test Procedure

The experimental test was conducted by placing the RFID tags in separate locations, and running the RFID reader program outputting the data stream, which was subsequently plotted. An important factor to mention was that each tag was measured for a total of 1 min. This equates to roughly 60 readings per minute, as the Impinj reader is only capable of reading the RFID tag once per second. The tests are defined as being taken in a controlled environment, in the sense that the entire experimental setup remained consistent every time the test was conducted, especially in regards to the robot arms. This was vital to maintain, it was possible to guarantee that there were no obstructions that could affect the RFID signals, such as the metallic robot arms. As this could cause the RFID signals to reflect from metallic objects, which could result in inaccurate and inconsistent readings. However, as the signals are in the electromagnetic spectrum, thus they are prone to multi-path interference and scattering from smaller objects. Thus, no matter the position of the robot arms, there will always be delayed and scattered signals, hence the possibility of inaccurate results. Additionally, each tag was moved the same distance for each test, as shown in Fig. 6. Each X marking represents the location where the RFID tag is tested. Additionally, the motive behind testing each tag for a total of 1 min was to allow

Assessment of a Multi-agent RFID Platform

175

the RFID reader to provide multiple results so that an average on the scattered results can be taken. However, during the operation of the system, the tags will not be stationary in the same position for more than a window of 10–20 s. Thus, these timed tests were only used as baseline for determining the best results based on a deviated set of outcomes, especially in the case of scattered reads from the reader.

Fig. 6. Experimental lab setup for RFID localization analysis.

The RFID tags were tested in 3 separate locations, that was equally spaced apart by 50 cm and was not obstructed by any metallic objects. Each time the test was taken, results were plotted on a graph to observe the fluctuations of the readings. Hence, this approach provided a controlled environment so an analysis of the results can be reached. The tests that were taken for the following analytical localization approaches: • Experiment 1: No post-processing. Raw baseline localization output with no post-processing. • Experiment 2: Neural-network post-processing. The functional neural network analyzes the raw data received from neighbor sensors and then data is produced (the generated data from the neural network). This data is compared with initial localization data by the same sensor, and then the calculate error rate between the two data points (the produced data with the data from the neural network) to make an approximated estimate of the actual position [3]. • Experiment 3: Agent-based post-processing. Using the belief-desire-intention (BDI) agent methodology as shown in Fig. 7, it has been implemented to

176

Z. Chaczko et al.

account for localization anomalies by breaking down the neural network error detection algorithm into smaller agent-based processes [4,5]. This is achieved whereby each agent is pre-assigned a cluster of 10 readings using Self-Organized Maps (SOM), and the following constructs defined for each agent [6]: • Belief component: Defines the raw, unprocessed input localization data obtained from the Impinj RFID readers; • Desire component: Neural-network post processing of the input localization data as described in Experiment 2; and • Intention component: Output data is plotted using dynamic charting tools (GNU plots).

Fig. 7. Belief-desire-intention agent post-processing methodology [6].

The following procedure was used to test each experimental scenario as described below: 1. 2. 3. 4. 5. 6. 7.

Place tag ‘n’ at location X1. Begin running the test program. Immediately begin running the timer. After 1 min passes, stop the program and timer. Examine the plotted results from the output data stream. Repeat for remaining locations X2 and X3. Combine the results of steps 1–6 to observe the localization on a single plot.

The flowchart of testing the experimental analytical approaches can be observed in Fig. 8. This test was reiterated for all 3 analytical methodologies to compare and evaluate the accuracy and precision of each method, using the experimental lab platform setup described in the previous section.

Assessment of a Multi-agent RFID Platform

Fig. 8. Flowchart of experimental test procedure.

177

178

4.3

Z. Chaczko et al.

Analysis of Results and Limitations

The final evaluation of the localization approaches was determined based on the following factors: 1. Accuracy of results. 2. Consistency of results, constantly producing values with minimal delay. 3. Seamless integration with the experimental platform. Based on the experimental results in Table 3, the accuracy of the positional algorithms shows that an agent-based algorithmic approach combined with neural network processing is an optimal RFID localization technique for the experimental setup. The approach produced reasonable accuracy throughout all the tests that were conducted, thus it was consistent with the results that it was outputting to the RFID reader. This can be visually identified by inspecting the grouped cluster of results in comparison to the other methodologies. The current results show the current technology of omni-directional RFID readers require further optimization at close ranges. It is noted that significant noise is present in the readings, that even the positional algorithms employed cannot compensate. The RFID reader generally outputted zeroed coordinates for the first few readings and then it stabilized, causing the results to show erroneous readings when the data was analyzed. Averaging data in combination with the localization algorithms ameliorates the results to an extent. Table 3. Experiment 1 tabulated results. X-Pos (cm) Y-Pos (cm) X-Pos(cm) Y-Pos (cm) 0

0

–4

4

–10

27

–7

4

–13

10

–8

4

–10

5

–8

3

–8

5

–7

4

–6

4

–10

5

–6

4

–8

4

–8

4

–10

7

–6

3

–8

8

–2

3

–3

9

–3

2

–3

8

–3

2

–4

8

–4

–1

–1

6

Assessment of a Multi-agent RFID Platform

179

Additionally, tags would occasionally not be read immediately with some latency. This problem is crucial as the system is envisioned to be part of a larger SCADA automated system, with minimal human physical interaction, suffering from cascading read errors. These errors lead to cascading delays throughout the process workflow, and affect overall performance of the entire system (Figs. 9, 10, 11 and Table 4, 5). 4.3.1

Test Results of Experiment 1: No Post-processing

Fig. 9. Experiment 1 charted results (Avg. Accuracy 63% ).

180

Z. Chaczko et al.

4.3.2

Test Results of Experiment 2: Neural-Network Post-processing Table 4. Experiment 2 tabulated results. X-Pos(cm) Y-Pos(cm) X-Pos (cm) Y-Pos(cm) 0

0

–3

16

6

6

–4

12

–5

0

1

12

5

7

3

12

–4

4

3

11

–6

9

2

9

–5

8

–1

8

–6

6

–2

10

–3

11

–4

5

1

8

–4

4

–1

12

–4

3

–2

14

–3

8

–1

15

–8

7

Fig. 10. Experiment 2 charted results (Avg. Accuracy 71% ).

Assessment of a Multi-agent RFID Platform

4.3.3

181

Test Results of Experiment 3: Agent-Based Post-processing Table 5. Experiment 3 tabulated results. X-Pos (cm) Y-Pos(cm) X-Pos (cm) Y-Pos(cm) 2

–54

2

–48

2

–54

2

–50

0

–55

5

–51

–8

–54

9

–52

–13

–51

2

–53

–10

–51

0

–53

-9

–53

–5

–51

–3

–49

–8

–53

0

–49

–3

–50

–7

–49

–3

–50

0

–48

9

–52

–8

–54

0

–53

0

–49

9

–52

Fig. 11. Experiment 3 charted results (Avg. Accuracy 78% ).

182

5

Z. Chaczko et al.

Conclusion

The multi-agent RFID localization platform, through its design and implementation, evaluates the effectiveness of a hybridized approach using hardware and software-based localization of RFID assets. The demonstration of the localization platform, employing an open distributed architecture with web-sockets, shows the potential feasibility of further amalgamation of SCADA infrastructure such that logistic operations can assess and analyze their inventory management strategies in an automated fashion. A functional prototype of a logistical environment is designed to show the potential real-world concerns of omni-directional RFID localization. The experimental system captures localization data from the RFID reader, with the ability for end-users to examine in real-time which localization methodologies is most suitable for their operational logistic procedures. Employing localization modeling enables the user to determine the feasibility of using omni-directional RFID technologies in warehousing facilities. Further work with the post-processed data can be examined using specialized data mining algorithms to plan positional strategies and predict inventory transaction trends.

References 1. Barbacci, M., et al.: Principles for Evaluating the Quality Attributes of a Software Architecture, pp. 33–34. Carnegie Mellon University, Software Engineering Institute (1996) 2. Booch, G.: Object-Oriented Analysis and Design with Applications, AddisonWesley, p. 51 (1991) 3. Chaczko, Z., et al.: 7/24 Software Development in Virtual Student Exchange Groups: Redefining the Week, Ithet ‘06, p. 2006. Sydney, Australia (2006) 4. Chaczko, Z., Davis, J.D., Mahadevan, V.: New perspectives on teaching and learning software systems development in large groups. In: 5th Ithet Conference 2004, p. 278 (2004) 5. Chaczko, Z., Davis, J.D., Scott, C.: New perspectives on teaching and learning software development in large group telecollaboration. In: Iadis International Conference 2004 Madrid, Spain, (6-9 Oct 2004) 6. Chaczko, Z., Marcel, M., Lim, L.: Middleware model for telecollaborative systems in education. In: Ithet ‘05, Dominican Republic (2005) 7. Jacobson, I.: Object-Oriented Software Engineering: A Use Case Driven Approach: Revised Edition, Addison-Wesley, pp. 57–58 (1998) 8. Kruchten, P.: A rational development process, software technology support centre crosstalk forum (1996) 9. O’Brien, L., et al.: Retailing: Shopping, Society, Space, pp. 71–75. David Fulton Publishers, London (1991) 10. Yang, J., et al.: Smart Market Assistants and Recreation Trolley. Beijing Institute of Technology, China, Beijing (2003)

Multimodal Access Control: A Review of Emerging Mechanisms Mohammad Alsawwaf(B) and Zenon Chaczko University of Technology Sydney, 15 Broadway, Ultimo, NSW, Australia [email protected], [email protected]

Abstract. Accurately identifying and authenticating a human without requiring proximity, yet with high reliability, is crucial for application areas such as surveillance, dynamic authentication, and proof of identity. While a significant research has been conducted in the direction of human authentication, achieving the authentication in an ambient manner, with high reliability, and security is still far from being perfect under the currently deployed methods. This is due to the requirement of a specific posture and approximation to the device in many approved and deployed methods such as fingerprint, facial recognition, and retinal scan. An ambient authentication system is highly dependent on biometric features that can accurately discriminate between one human and another. These biometric features should be insensitive to variation in posture, proximity, and aging. Extraction of a unique feature set that allows a human to be identified smoothly, even without proximity, under varying conditions is one of the main steps needed for an advancement in this field. In this paper, a review of current and emerging mechanism are provided. A proposed method will use a feature set that allows the system to achieve dynamic detection compared to the currently used technologies such as fingerprint, facial recognition and retinal scan. The proposed feature set is made up of a combination of facial minutiae and thermal contours which are extracted from the human face on-the-fly even without the subject coordination.

Keywords: Biometrics

1

· Multimodal · Authentication · Ambient

Background

Authentication nowadays is widely used into many aspects of our lives. Examples include authentication when accessing our phones, an online point of sale (POS), like airline websites to reserve tickets, or to check our bank accounts, and even to obtain access to offices and homes. Authentication is the procedure to confirm that someone is in fact who they claim to be [17]. Biometric is a term that has been derived from Medieval Greek words, where bio means life and metric means to measure. According to the biometric institute, c Springer Nature Switzerland AG 2020  R. Klempous and J. Nikodem (eds.), Smart Innovations in Engineering and Technology, Topics in Intelligent Engineering and Informatics 15, https://doi.org/10.1007/978-3-030-32861-0_13

184

M. Alsawwaf and Z. Chaczko

biometrics is nothing but an automated recognition of an individual based on their particular behaviour and biological traits. Biometricfeatures are further subdivided in two categories, namely, physiological and behavioural [5]. Biometric authentication can be divided into two main divisions, active and passive. In biometrics, active authentication means that a user is actively engaged in providing the features of authentication. For example, actively placing fingers on a fingerprint scanner. Passive authentication on the other hand, happens with minimal user interactions or even without cooperation at all. Examples of passive methods that are emerging include heartbeat rhythm captures, breathing patterns, walking rhythm patterns, inner ear signals, and thermal images through infrared cameras. These techniques are relatively new and researchers are trying to find the best passive mechanisms that can provide the highest recognition rates, and be at the same time “naturally immune to replay and falsification attacks” [16]. Multimodal biometric authentication system (MBAS) is a system in which multiple biometric characteristics are used to tackle the problem of authentication. The fusion of these multiple features tends to give more accurate results. In addition, multimodal solves the important issue of non-universality. Moreover, it increases the security of the system by limiting the imitation possibilities that are present in a unimodal [15]. The word ambient relates to the surrounding environment. In computing, an ambient intelligent system is one that is aware of its surrounding and provides services based on that. Mainly, from a human point of view, an ambient intelligent environment provides adaptation and services based on their needs [9].

2 2.1

Review of Authentication Biometrics Currently Deployed Systems

Widely deployed authentication systems include fingerprint, facial recognition, and retina scan. These three systems are used in crucial areas like ports of entry, government agencies, and secure facilities. Sometimes they are used as a unimodal by itself. Other times they are used in combinations to provide a better security measure and overcome the non-universality of a unimodal. Authentication systems have a set of steps that they follow to obtain and confirm an identity. Typically, these steps are divided into three main stages, initial registration, verification, and a result as seen in Fig. 1. The initial registration stage is mainly to register a new entry into the database while the verification stage is to confirm that the obtained metric matches the specific entry in the database. The matching step is mainly a comparison between the gathered data and the registered one in the database. Finally, a step is needed to show the result of the operation. Accuracy of different authentication methods is measured by the Equal Error Rate Algorithm (EER). It is the point where the curves of False Acceptance Rate (FAR) and False Rejection Rate (FRR) meet after plotting them. The lower EER, the more accurate the mechanism will be. Eqs. (1) and (2) in addition to

Multimodal Access Control: A Review of Emerging Mechanisms

185

Fig. 1. Authentication system steps.

Fig. 2. EER graph [23].

Fig. 2 show the calculation and the graph for FAR, FRR, and EER respectively. False Acceptance Rate (FAR) = False Rejection Rate (FRR) =

Number of false acceptances Number of identification attempts Number of false rejections Number of identification attempts

(1) (2)

Usually, for a feature to be accepted for personal identification, it should pass a certain number of requirements. These requirements are: (1)—universality, (2)—uniqueness, (3)—permanence, and (4)—collectability. Universality means that the feature is available in every person. There is no point of having a feature that can only identify some people. Uniqueness refers to the fact that this feature

186

M. Alsawwaf and Z. Chaczko

has to be different between any two people. Otherwise, the system will provide conflicting results. Permanence means that the feature should not change over time. Finally, collectability means that it is easy to extract the feature from the subject in order to process or measure it [29]. 2.1.1 Fingerprint Fingerprints have been used for a few decades for the purpose of identification. A person has 10 fingers and each finger contains a fingerprint that is proven to be unique. No identical fingerprints have been recorded until now. The use of fingerprints started in identifications of criminals by collecting a subject’s fingerprints on fingerprinting card using ink. Then a matching process begins using the help of a trained expert to identify the ridges and decide whether there is a match between the subject in question and the obtained print from the crime scene. Later, this process was automated and a new system was developed to facilitate this process [18,20]. An Automated Fingerprint Identification System (AFIS) is a software that holds a database of fingerprints and a matching algorithm with some sort of an input device. The input device can be a scanner that reads fingerprint cards or one that can directly collect and record fingerprints in a digital manner. This system can be linked with other AFIS systems in order to include a wider range of databases [18,20]. Each finger, on the last joint, has ridges. There are characteristics embedded in these ridges and a combination of them from a pattern. Illustration of the characteristics are shown in Fig. 3. There are three basic patterns of fingerprints, arch, loop, and whorl. Figure 4 shows an example of these types of patterns.

Fig. 3. Ridge characteristics [31].

Since any fingerprint system relies extensively on the quality of the processed image of the fingerprint, this method is slowly losing confidence in its results. Not only that, but also the increase in the number of people who do not have

Multimodal Access Control: A Review of Emerging Mechanisms

187

Fig. 4. Fingerprint pattern types [2].

fingerprints due to age, work in certain industries, or accidents, is eliminating the universality requirement of the method. Thus, it is becoming more discouraging to use fingerprint as unimodal for authentication. In fact, the 2009 National Research Council Report found that “contextual bias has been shown to have an impact on experts’ decision” while looking at fingerprints for evidence purposes in the criminal justice system [7]. 2.1.2 Facial Recognition Face recognition emerged significantly in the past years. This is due to multiple reasons. Firstly, facial features meet the requirements to be used as an identification measure. Secondly, facial features propose a wide area for researchers to explore as there are multiple views on how these facial features can be used and processed. Thirdly, with the amount of technology and processing powers that we have today, along with the advanced picture analysis algorithms available, many researchers find it intriguing to develop new enhanced techniques on how the facial features can be used for identification [8]. Generally, a facial recognition system compromises of multiple stages. First, an input source is used to present the image to the system. Then, a face detection along with feature extraction algorithm are applied. Then, the computation and the comparison is done. Finally, a result of the identification is provided. Figure 5 illustrates these steps [8]. For example, the distance between eyes or width of nose [6]. The location of the different features on the face are all considered in terms of height and width as the combination of these measurements are considered unique for every person. Figure 6 illustrates the measurements considered as to how the face geometry analysis works, starting from capturing the image to converting the image to a 2D image to comparing the features of the face. Facial recognition accelerated into a more sophisticated method with the use of advanced algorithms for image processing and feature extractions. It also involved multiple spectrums for image capturing including infrared (IR) spectrum and ultraviolet (UV) spectrum. It is true that the basic mechanism is considered easy to fool. This is due to the fact that a picture of the person

188

M. Alsawwaf and Z. Chaczko

Fig. 5. Face recognition system diagram [8].

whose identity is being claimed will be enough for the system to recognise and grant the authorisation. However, the more advanced facial recognition systems are much harder to fool since they take into consideration the depth of the face [11,33]. 2.1.3 Retina Authentication Due to the fact that the retina lies behind the eye, it a secure way to authenticate an individual. As almost every other authentication method, retina authentication undergoes the same generic steps as described in Fig. 1. The difference is in the feature extraction algorithm which focuses on the blood vessel patterns. However, in this method, the individual is expected to have a certain posture in front of the eye scanner and be very still. Additionally, any face accessories must be removed. Other methods of retina scans depend more the structural aspect of the retina and less on the blood vessel patterns. The above Fig. 7 illustrated what gets extracted in blood vessel pattern based retina authentication [24]. Retina authentication have developed significantly due to its validity and security as an authentication mechanism. In fact, we noticed the development of wearable retina authentication devices. The design of which include a wearable helmet with an eye scanner mounted. In other cases an eye scanner is mounted on glasses frame. In both cases, the devices can store and share multiple information about the user including location, identity information, and can use continuous authentication while the device is put-on [1].

Multimodal Access Control: A Review of Emerging Mechanisms

189

Fig. 6. Face feature analysis [6].

Fig. 7. Retinal image processing: a original retinal image, b enhanced image, c segmented blood vessels, d thinned blood vessels [24].

2.2

Emerging Systems

Researchers are looking at acoustics as a promising field for finding methods that are resistant to imitation. Some are looking into inner ear signals [21]. Others are branching into heartbeat rhythms [16]. While others are looking into vocalisations and sounds, testing this method on fish [27]. Additionally, vein patterns and triangulation using infrared thermal images are emerging. [19]. The focus here is on three specific methods used for authentication. The first one is based on a Transient Evoked Otoacoustic Emission (TEOAE), which can be explained as the response of the inner ear to a provoking signal [22]. The second technique is based on the heartbeat sound or rhythm. Both of these acoustic approaches are proven to be unique for each individual which give them the potential to be an authentication mechanism. The third method is based on

190

M. Alsawwaf and Z. Chaczko

vein patterns and triangulation in the human body, specifically the hand. The geometry of these veins are also considered to be unique for each individual [19]. The next subsections of this paper explain each method in more details and provides the results of the tests conducted. 2.2.1 Ear Acoustic TEOAE denotes “an acoustic response generated from cochlea after a click stimulus” as described in [22]. Since TEOAE is a natural biological reaction, it is certainly resistant to any type of imitation. Additionally, clinical researches proved it to be distinctive among individuals. Thus, making it a potential bio-metric feature for authentication purposes. A special earphone that has a built-in microphone was developed to play the stimulating sound and collect the signal. This collected signal contains multiple layers and the layers are analysed to extract the required signal at the intended frequency to be used for authentication. A data-set is then created and adjusted to be hashed to maintain the security storing measures for the sample. Testing this mechanism has resulted in an acceptable recognition rate of 1.78 and 0.51% for the left and right ears correspondingly while maintaining high durability criteria, immutability, and universality of the feature among individuals [22] (Fig. 8).

Fig. 8. Ear acoustics illustration [4].

2.2.2 Heartbeat Heartbeat approach is based on projecting the heart sound from the user using a high quality device such as a stethoscope and recording the sound. For the purpose of this study, heart sounds were collected from different public heart sound databases and a sample was chosen and through the use of software, the signals are transformed into numerical values that are distinctive for each individual. It was concluded that the mechanism may not achieve a sufficient recognition rate based on tests conducted in [16]. However, in terms of uniqueness, heartbeat rhythm is clinically proven to be distinctive for each

Multimodal Access Control: A Review of Emerging Mechanisms

191

individual. In addition, it is resistant to forgery since it is also related to natural human biology. Based on the conducted tests using this feature, it has been determined that additional functionality and further improvements need to be addressed in order to consider this method as an authentication mechanism (Fig. 9).

Fig. 9. NYMI heartbeat rythm authentication device [25].

192

M. Alsawwaf and Z. Chaczko

2.2.3

Systems Using Electromagnetic Spectrum

Infrared The use of infrared (IR) images has been receiving attention of researchers as a potential authentication technique due to the fact that infrared images can produce unique characteristics which could be used for identification. Hand vein triangulation and pattern recognition is one of these characteristics. It is based on thermal IR images of the hand using low-cost, contact-less, near IR imaging as described in [19]. The images are captured through the illuminated IR when it reflects on the blood inside the veins showing the path that they are travelling. This technique is achieving high recognition rates with as low as 1.14% EER which indicates a great potential for more research with a variety of advanced equipment that could be more accurate and less requiring of user participation [19].

Fig. 10. Passive IR sensor movement detection method [12].

IR can also be used in many other authentication procedures. This gives it an advantage to be used in a multimodal technique using the same technology. This eliminates the over-cost of using multiple technologies to obtain different measures of authentication. IR can be used in facial recognition, retinal features and blood vessels scan, and also in movement detection. The following Fig. 10 show different IR devices with different usages for authentication (Figs. 11 and 12). Ultraviolet Even though ultraviolet (UV) light can expose more information about a subject, there is a lack of research involving this technique in feature extraction. There is potential advanced biometric features that can be studied and used in this spectrum that haven’t been explored yet. Thus, it is part of the plan to include UV light in the research. Figures 13 and 14 show how the use of this technique can ultimately produce different information about subjects that are not seen

Multimodal Access Control: A Review of Emerging Mechanisms

Fig. 11. IR 800TVL outdoor weatherproof IR face recognition camera [28].

Fig. 12. Iris IR sensor [26].

Fig. 13. Difference in extracted features based on different spectrums example(1). From left to right: Infrared, normal, UV [32].

193

194

M. Alsawwaf and Z. Chaczko

Fig. 14. Difference in extracted features based on different spectrums example(2). From left to right: UV, normal, Infrared [32].

through visible and IR spectrums. Specifically speaking, in Fig. 13, example(1), we can clearly see that UV produces more features of the face than normal and infrared spectrums. In comparison, in Fig. 14, example(2), we can see that even teeth and gum can produce more features over different spectrums. Even though ultraviolet (UV) light can expose more information about a subject, there is a lack of research involving this technique in feature extraction. There is potential advanced biometric features that can be studied and used in this spectrum that haven’t been explored yet. Thus, it is part of the plan to include UV light in the research.

3 3.1

Face Recognition Using OpenFace and Histogram of Oriented Gradients Explaining the Algorithm

The starting point was following the generic authentication system steps illustrated in Fig. 1. Thus, so far, the system is able to achieve the following process out of the complete list of steps described in Fig. 1: 1. Input source for gathering the data and registering the information. 2. Processing of the data and extracting the detection part only of the features. 3. Displaying of the detection results (Fig. 15). In light of the previous steps, for this method, the input source is an images taken by regular cameras. We feed the system an image and run the face detection algorithm. The system achieved a point where it is able to detect faces in images and surround them with boxes to indicate the detection. The following figures illustrate the procedure that takes place and the results obtained (Figs. 16 and 17). The next step of the software that needs to be discussed includes the use of Histogram of Oriented Gradients (HOG), Deep Convolutional Neural Network (DCNN) from OpenFace (open source data-sets for training purposes of the

Multimodal Access Control: A Review of Emerging Mechanisms

Fig. 15. Face detection procedure.

Fig. 16. Face detection code sample in Python.

195

196

M. Alsawwaf and Z. Chaczko

Fig. 17. Face detection code running.

Fig. 18. Face detection input and output for sample picture [14].

Multimodal Access Control: A Review of Emerging Mechanisms

197

software) , and Python as the programming language. The input here is from XNiteProGo: UV-VIS-IR 12 megapixel action camera with built in IR and UV filters that can produce images with all the required features for the research. Even though the current step depends on face recognition, this is not the sole feature we would like to consider in the final system. Vein geometry patterns, body structure, and inner ear cochlea signals are all possible features that can be included in the final system. HOG is an algorithm used in many application for the purpose of object detection. It is based on identifying the gradient orientation of confined pieces of an image. In facial recognition, This is applied using a set of 25 facial landmarks that are identified based on the gradient orientation to detect a face [10]. The following Fig. 19 illustrates the HOG representation of lots of faces combined together along with representation of one of the images used in the proposed system.

Fig. 19. HOG of sample picture in Fig. 18 compared to HOG default pattern [14].

Just like the face, the algorithms could be trained to recognise body structure, built, and other possible features. HOG is very strong in detecting familiar patterns that are known to the algorithm. Training of the algorithm is a key concept in achieving higher accuracy rates. DCNN has recently shown great results in a variety of vision related applications such as face recognition, object classification, and object detection [13]. DCNN relies mainly on three supporting pillars. The first one is the availability of very large data sets. In face recognition, this is dependent on face images in different postures and with different angles. Luckily, our current daily life habits support the availability of this data set through the amount of pictures that we take every day. The second one is the advancement taking place in the development of the graphical processing units (GPU) in computers, laptops,

198

M. Alsawwaf and Z. Chaczko

and handheld devices. Without powerful GPU’s the training process would take much longer and could possibly be impractical. The third one is the regularisation strategies to consider smaller sets out of a much larger one to speed up the process. With the advancement in research, more efficient generalisation models are being introduced which produce better results in terms of performance and accuracy [30]. Building a neural network of other features like vein geometry patterns is one consideration to use veins for the purpose of authentication in the proposed system. OpenFace is an open source framework that “implements state-of-the-art facial behaviour analysis algorithms including facial landmark detection, head pose tracking, eye gaze and facial Action Unit estimation” [3]. By using OpenFace, we can generate certain measurements for the face features of our subjects using the algorithms supplied in OpenFace libraries. With enhancements on these algorithms to include the UV filtered images and IR filtered images for our proposed method, we eventually get the specific measurements with all the included features. Once these faces have been analysed, we expect to be able to authenticate and identify the subjects with great accuracy, security, and in an ambient manner. Figure 20 shows how OpenFace works.

Fig. 20. OpenFace algorithm procedure [3].

Multimodal Access Control: A Review of Emerging Mechanisms

4

199

Conclusion

Authentication is one of the most crucial procedures in our daily life. Many aspects depend on the correct authentication of someone including specialised services. Also, many access points require high accuracy authentication to grant access to certain services. Furthermore, ambient approaches solve a lot of issues in regard to processing time and making the authentication greatly faster which is a desirable goal and one of the main improvements that need to be considered. All of the above requirements of the system seems to be achievable with the current state of technology. Additionally, the production of a system with all of these requirements could be beneficial in many applications including health monitoring, specialised services, access to critical information, and identification of humans. The inclusion of IR and UV spectrums in authentication reveals much more details that can potentially be used for identification purposes. Difference in skin tone between one part of the face and another can lead to a more accurate identification. Nevertheless, UV can also show detailed color features of teeth and gum which are also significant in improving identification. Therefore, adoption of UV and IR in authentication procedures can provide enhanced accuracy in the percision of currently adopted methods. Specially if research continue to reveal the powerfulness of these two spectrums.

References 1. Andersen, M.L., Stephens, T.J., Lovell, T.: Wearable retina/iris scan authentication system. US Patent No. 9,747,500 (2017) 2. Association of Forensic Science Providers (AFSP): http://www.afsp.org.uk/node/ 52 3. Baltrusaitis, T., Robinson, P., Morency, L.P.: Openface: an open source facial behavior analysis toolkit. In: 2016 IEEE Winter Conference on Applications of Computer Vision (WACV), pp. 1–10. IEEE, Lake Placid, NY (2016) 4. BBC News: https://www.bbc.co.uk/news/technology-35766069 5. Brunelli, R.: Template Matching Techniques in Computer Vision: Theory and Practice. Wiley, Hoboken (2009) 6. Chaczko, Z., Sethi, H., Alsawwaf, M.: An overview of multi-layer security system using biometrics. In: Extended Abstracts of the 4th Asia-Pacific Conference on Computer Aided Systems Engineering (APCASE), pp. 29–30. APCASE, Guilin (2017) 7. Champod, C.: Fingerprint identification: advances since the 2009 national research council report. Phil. Trans. R. Soc. B 370(1674), 20140259 (2015) 8. Chellappa, R., Sinha, P., Phillips, P.J.: Face recognition by computers and humans. Computer 43(2) (2010) 9. Cook, D.J., Augusto, J.C., Jakkula, V.R.: Ambient intelligence: technologies, applications, and opportunities. Pervasive Mob. Comput. 5(4), 277–298 (2009) 10. Deniz, O., Bueno, G., Salido, J., De la Torre, F.: Face recognition using histograms of oriented gradients. Pattern Recognit. Lett. 32(12), 1598–1603 (2011) 11. Ding, C., Tao, D.: A comprehensive survey on pose-invariant face recognition. ACM Trans. Intell. Syst. Technol. 7(3), 37 (2016)

200

M. Alsawwaf and Z. Chaczko

12. D-Link, http://support.dlink.ca/FAQView.aspx?f=lv9LD%2BgaW2rg8FIcQJjPYQ %3D%3D 13. Farfade, S.S., Saberian, M.J., Li, L.J.: Multi-view face detection using deep convolutional neural networks. In: Proceedings of the 5th ACM International Conference on Multimedia Retrieval, pp. 643-650. ACM, New York (2015) 14. Geitgey, A.: Machine learning is fun! part 4: modern face recognition with deep learning. Medium. Medium Corporation (2016). Accessed 24 July 2016 15. Ghayoumi, M.: A review of multimodal biometric systems: fusion methods and their applications. In: 2015 IEEE/ACIS 14th International Conference on Computer and Information Science (ICIS), pp. 131–136. IEEE, Las Vegas (2015) 16. Haggarty, B., Lofton, M., Javeed, J.N., Piccoli, A., Clevenger, L.A.: Heart sound biometrics for continual user authentication. In: Proceedings of Student-Faculty Research Day (2016) 17. Jain, A.K., Bolle, R., Pankanti, S.: Biometrics: Personal Identification in Networked Society, vol. 479. Springer Science & Business Media, Berlin (2006) 18. Komarinski, P.: Automated Fingerprint Identification Systems (AFIS). Elsevier, Amsterdam (2005) 19. Kumar, A., Prathyusha, K.V.: Personal authentication using hand vein triangulation and knuckle shape. IEEE Trans. Image Process. 18(9), 2127–2136 (2009) 20. Lee, H.C., Ramotowski, R., Gaensslen, R.E.: Advances in Fingerprint Technology. CRC Press, Boca Raton (2001) 21. Liu, Y., Hatzinakos, D.: Human acoustic fingerprints: a novel biometric modality for mobile security. In: 2014 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), pp. 3784–3788. IEEE, Florence (2014) 22. Liu, Y., Hatzinakos, D.: Robust identity verification based on human acoustic signature with biohashing. In: 2014 IEEE 27th Canadian Conference on Electrical and Computer Engineering (CCECE), pp. 1–6. IEEE, Toronto (2014) 23. Lockhart B.: Tractica. https://www.tractica.com/biometrics/in-biometrics-hicherror-rate-matters 24. Mazumdar, J.B., Nirmala, S.R.: Retina based biometric authentication system: a review. Int. J. Adv. Res. Comput. Sci. 9(1), 711–718 (2018) 25. nymi, https://nymi.com/product specs 26. Samsung News, https://news.samsung.com/global/in-depth-look-keeping-an-eyeon-security-the-iris-scanner-of-the-galaxy-note7 27. Sattar F., Cullis-Suzuki S., Jin F.: Identification of fish vocalizations from ocean acoustic data. Appl. Acoust. 110(Supplement C), 248–255 (2016) 28. TT Int’l Security Networking, http://www.htwcctv.com/html products/800TVLOutdoor-Weatherproof-IR-Face-Recognition-Camera-1310.html 29. Singla, S.K., Sharma, A.: Ecg as biometric in the automated world. Int. J. Comput. Sci. Commun. 1(2), 281–283 (2010) 30. Zeiler, M.D., Fergus, R.: Visualizing and understanding convolutional networks. In: European Conference on Computer Vision, pp. 818–833. Springer, Berlin (2014) 31. WhatWhenHow, http://what-when-how.com/forensic-sciences/identification-and -classification/ 32. WikiWand, http://www.wikiwand.com/en/Full-spectrum photography 33. Zhao, W., Chellappa, R., Phillips, P.J., Rosenfeld, A.: Face recognition: a literature survey. ACM Comput. Surv. 35(4), 399–458 (2003)

Parallelized Processing in Kinematic Positioning for Single Frequency GNSS Receiver Hiroyuki Hatano(B) and Atsushi Ito Graduate School of Engineering, Utsunomiya University, Utsunomiya, Japan [email protected], [email protected]

Abstract. Location information is meaningful information for future Intelligent Transport Systems (ITS) world. Especially, the accuracy of the information is required because the accuracy decides the quality of ITS services. For realization of high precision positioning, kinematic positioning technique has been attracting attention. The kinematic positioning requires the configuration of many positioning parameters. However, the configuration is difficult because optimal parameter differs according to user’s environment. In this chapter, we will propose an estimation method of optimal parameter according to the environment. Further, we will propose an elimination method of unreliable positioning results. Hereby, we can acquire extensively only the reliable positioning results. By using the actual vehicle traveling data, the ability and the applicable range of the proposed method will be shown. The result will show that our proposed method improves the acquisition rate of reliable positioning results and mitigates the acquisition rate of the unreliable positioning results. Keywords: GNSS (global navigation satellite system) · RTK (Real Time Kinematic) · ITS (Intelligent Transport Systems) · Kinematic positioning

1

Introduction

1 For realization of Intelligent Transport Systems (ITS) world, positioning information is important because the accuracy of the positioning decides the quality of ITS services. Satellite positioning system has been used widely as a method of acquiring positioning information. About satellite positioning, kinematic positioning has especially been attracting attention as a high–precision positioning method for moving objects. By integrating some sensors in addition to the kinematic positioning, the sustained high–precision positioning method for moving objects is gradually establishing [8,13]. 1

In this chapter, we will introduce our novel method, which was mainly presented on c IEICE 2018, license number 18RB0095. the original journal [3], 

c Springer Nature Switzerland AG 2020  R. Klempous and J. Nikodem (eds.), Smart Innovations in Engineering and Technology, Topics in Intelligent Engineering and Informatics 15, https://doi.org/10.1007/978-3-030-32861-0_14

202

H. Hatano and A. Ito

As a problem, the high–precision positioning by the kinematic positioning is suite for expensive dual frequency receivers. The dual frequency receivers can reduce errors in measured values such as ionospheric delay and improve the acquisition rate of the positioning results. In low cost single frequency receivers, there are a lot of cases that we cannot acquire positioning results under urban environment especially. The related research [1] states that the single frequency receiver decreases the acquisition rate of the positioning results compared with the dual frequency receiver. However, the share in the current market of the single frequency receivers is 70% [14]. Therefore, improvement of the acquisition rate of the positioning results by inexpensive single frequency receivers is desired. In particular, multi–GNSS (Global Navigation Satellite System) technology which uses multiple satellite systems is spreaded by each country in recent year. For example, these are QZSS in Japan, BeiDou in China, GLONASS in Russia and, of course GPS in America. So, the number of satellites which can be used for positioning is now increasing. The high–precision positioning by even low cost single frequency receivers will be desired. We have been researching acquisition methods of reliable positioning results by low cost single frequency receivers [2]. We would like to acquire extensively the reliable positioning information by kinematic positioning with single frequency receivers to integrate with other sensors and acquire the sustained high–precision positioning information. We have presented a novel method which can improve acquisition rate of the reliable positioning results in the kinematic positioning on post processing by single frequency receivers.

2 2.1

Related Work Kinematic Positioning

Kinematic positioning uses two receivers. One receiver is fixed as a reference station. A position of the reference station is known. The other receiver is a moving station whose position is unknown. We measure carrier phases of satellite signals by each receiver at the same time. Next, we calculate the difference of wavenumbers between each receiver and the same satellites. From this difference, we can acquire a relative position from the fixed reference station whose position is known. When we calculate the wavenumbers between the satellite and the receiver, we can measure a decimal part of the wavenumber of the carrier by measuring the carrier phase. However, we cannot measure an integer part. This is called as integer ambiguity”. Therefore, we need estimating the integer value based on observed information from multiple satellites. The estimation of integer value is performed through the following three steps. Firstly, the integer value is estimated as a real value based on calculation according to the least squares method. Secondly, we apply the LAMBDA method to the estimated real value. From the LAMBDA method, we can reduce the estimation range of the integer value [10]. Finally, we estimate the integer value based on the real value and the reduced estimation range of the integer value.

Parallelized Processing in Kinematic Positioning

203

Positioning results which are calculated based on the integer value are called as FIX solutions”. The FIX solution is the reliable positioning result in the kinematic process. Therefore, it is important to discuss how to get FIX solutions. Of course, the acquisition rate of the FIX solutions, which is called as FIX rate”, had better be high. However, actually, some of the FIX solutions may include large positioning errors due to estimated wrong integer value. The FIX solutions which include the large positioning errors are called as false FIX solutions”. In this chapter, in order to make FIX solutions clear, we define the FIX solutions which do not include the large positioning errors as true FIX solutions”. Therefore, in kinematic positioning, it is important to get more true FIX solutions and remove false FIX solutions while we try improving the FIX rate. Configuration of parameters is important when we perform the kinematic positioning. By the configuration of parameters, it is greatly different whether FIX solution can be acquired, further whether the acquired FIX solution is the true FIX solution or the false FIX solution at each epoch. In other words, the FIX rate, further the true FIX rate and the false FIX rate depend on the configuration of parameters greatly. Therefore, we needed to decide the appropriate parameters empirically from many parameters according to the condition of visible satellites. However, it is difficult. Also, there is a problem that kinematic positioning performs with stationary fixed parameter which is decided once. For example, in the case of the moving objects, observation condition of the satellites always fluctuates according to surrounding obstructions. Therefore, the stationary fixed parameter is not preferred. We need changing parameters according to the observation condition to improve the true FIX rate. In this chapter, we will propose a parallelization method which parallelize kinematic positioning results by various parameters. Hereby, we will solve the difficulty and fixity to decide the parameter and then improve the true FIX rate. Also, we will propose an elimination method which eliminates the false FIX solutions according to Doppler velocity and altitude value. Moreover, we will propose a combined method of the parallelization method and the elimination method. By the combined method, we can improve the true FIX rate and reduce the false FIX rate and maximum horizontal errors. 2.2

Parallelization of Kinematic Positioning

The related research [11] states that the FIX rate improved by parallelization of the kinematic positioning results with various parameters. The related research uses RTKLIB for configuration of the parameters. RTKLIB has been used widely as the baseline analysis software. The related research uses parameters of RTKLIB such as shown in the following. For example, RTKLIB has three parameters to decide the integer value. Firstly, FIX and hold” keeps the same integer value in constant epochs if the integer value is decided under good environment of the observation condition of satellites. Secondly, Continuous” decides the integer value of continuous epochs. Thirdly, Instantaneous” decides the integer value every epoch [17].

204

H. Hatano and A. Ito

As other parameters, the related research uses parameters of elevation mask and signal strength mask for satellite selections. However, the related research does not consider how to select the most reliable FIX solution in the case of acquiring multiple FIX solutions in each epoch. Therefore, we will propose the parallelization method which incorporate with selection method of the most reliable FIX solution from multiple FIX solutions. Also, the related research does not consider the elimination of the false FIX solutions.

Fig. 1. Convex points by false FIX solutions.

Fig. 2. Continuous points by false FIX solutions.

We found two characteristics of the false FIX solutions. Firstly, the false FIX solution has convex points in the false FIX solutions as shown in Fig. 1. Secondly, the false FIX solution has continuous points according to holding a false integer value as shown in Fig. 2. We will try eliminating the convex points in the false FIX solutions based on velocity estimated by the Doppler information [6]. However, it is difficult to eliminate the continuous points of the false FIX

Parallelized Processing in Kinematic Positioning

205

solutions by Doppler velocity. So, we try eliminating the continuous points of the false FIX solutions by altitude value estimated by barometer information. Because the horizontal errors of the continuous false FIX solutions appear as altitude errors [12]. Therefore, we eliminate the above false FIX solutions before applying our parallelization method which selects the most reliable FIX solution. In the next section, we will describe each relevant study. 2.3

A Method for Acquiring Altitude by the Barometer

Atmospheric pressure is a pressure which is brought by the gravitated atmosphere according to the gravitation. The atmospheric pressure decreases with the temperature as the altitude increases. Therefore, we can acquire the altitude by measuring the atmospheric pressure from density distribution for the vertical direction of the atmosphere. In the conventional, we were fixing the barometer at the fixed reference station which is known the altitude. Then, we were acquiring the altitude change by the atmospheric pressure change between the reference station and the moving station. Therefore, the related research [4] removed the restriction of the fixed reference station in the conventional. First, a starting point of a moving route is acquired by GPS. Then, the related research is referencing Digital Elevation Model (DEM) as a map which is given the altitude information at the starting point. Hereby, the starting point acquires the altitude value. As the altitude value of the starting point is the reference, the related research acquires the altitude change with the pressure change with the previous epoch till acquiring GPS signals again. However, the altitude information of DEM is different precision according to measuring methods [4]. Therefore, the precision of the altitude information will become low in the case of areas which is not prepared the map information with high precision. Also, correction is needed between the altitude of the map information and the actual altitude of the barometer [4,5,12]. In this chapter, we acquire the altitude information according to the barometer without depending on map information. Then, we will propose an elimination method of the false FIX solutions by acquired altitude information. 2.4

A Method for Acquiring Velocity by Doppler Frequency

The doppler frequency is measured value which changes by the Doppler effect. The satellite is broadcasting radio waves with a stable fixed frequency. Then, the frequency of the carrier which is received by the receiver changes with the rate of change of the distance rate between the satellite and the receiver. This is called as Doppler effect and we can acquire a relative velocity between satellite and receiver. The velocity of the satellites can be acquired by the ephemeris which is broadcasted from the satellites. We can acquire the velocity of moving objects by velocity of the satellites and the relative velocity of between the satellite and the receiver. The Doppler frequency can be measured with the accuracy of 1/10 wavelength [9]. In other words, we can measure the change of distance with a few centimeter order. Therefore, we can expect to estimate velocity with

206

H. Hatano and A. Ito

high precision. However, it is problem to use the velocity continuously based on the Doppler frequency due to accumulated errors [7]. In this chapter, we will propose an elimination method of the false FIX solutions by suppressing the accumulation errors.

3 3.1

Proposed Method System Model

Figure 3 shows a system model of the proposed method. Firstly, we acquire the observation values such as satellite orbit information and received phase information from a GNSS receiver. Next, we prepare N patterns parameters by changing values such as signal strength mask and elevation mask. Then, we perform the kinematic positioning with the N patterns parameters and the acquired observation value. Hereby, we can acquire maximum N FIX solutions. Next, we acquire high reliable FIX solutions #1 and #2 which are used for each elimination method of the false FIX solutions. First, we acquire the high reliable FIX solutions #2 from FIX solutions which are acquired by the parallelization of the kinematic positioning (flow (1) in Fig. 3). The high reliable FIX solutions #2 is used for the estimation of the altitude value which is used for the elimination method of the false FIX solutions based on the altitude value. Next, we acquire the high reliable FIX solutions #1 based on the estimated altitude value from FIX solutions which are acquired by the parallelization of the kinematic positioning (flow (2) in Fig. 3). The high reliable FIX solutions #1 is used for the base point of the moving object which is used for the elimination method of the false FIX solutions based on the Doppler velocity. After we prepared the high reliable FIX solutions both #1 and #2, we eliminate the false FIX solutions by the Doppler velocity from the acquired FIX solutions (flow (3) in Fig. 3). Further, we eliminate the false FIX solutions by the altitude value. After we eliminate the false FIX solutions, we select the most reliable FIX solutions from the remaining FIX solutions. We will describe each process in the following sections. 3.2

Parallelization Method of Kinematic Positioning

Usually, the configuration of the parameters is required when we perform the kinematic positioning. As example of parameters, there are many parameters such as the signal strength mask, the elevation mask for satellite decisions and integer decision methods. By the parameters, the acquisition rate and the precision of the FIX solutions are different. However, the configuration of the parameters is very difficult. For example, the positioning precision improves if signal strength mask becomes high, however, the FIX rate decreases. Because, the number of satellites after the masking becomes low. Conversely, the FIX rate improves if the signal strength becomes low, however, the positioning accuracy decreases because possibility of including the false FIX solutions increases. Therefore, we need to decide the parameters appropriately based on balances of

Parallelized Processing in Kinematic Positioning

207

Fig. 3. System model of the proposed method.

the positioning precise and the FIX rate. However, appropriate parameters are different according to user’s environment and time. Therefore, in the conventional fixed parameter, it is very difficult to find out the appropriately parameters over all epochs. Therefore, we perform the parallelization of the positioning results by using all combinations of N patterns which parameters can take. 3.3

Elimination Method of False FIX Solutions by Doppler Velocity

3.3.1 Calculation of Doppler Velocity and Estimation of Next Position In the proposed method, we calculate the velocity and the direction from the FIX solution of epoch t to epoch t + 1 based on the Doppler frequency. The velocity of the moving objects is calculated by Eq. (1). fd =

f1 (Vs − Vr + Cbv ) C

(1)

where the variable fd is the observed Doppler frequency [Hz] by GNSS receiver, the variable C is a velocity of light [m/s], the variable f1 is a carrier frequency

208

H. Hatano and A. Ito

[Hz], the variable Vs is the velocity of the satellite [m/s], the variable Vr is the velocity of the moving objects [m/s], the variable Cbv is a clock drift of the GNSS receiver [m/s]. Next, we decompose the calculated the velocity of the receiver into the horizontal directions. We define the variable Vn as the velocity in the north direction and the variable Ve as the velocity in the east direction. Further, we define the direction as the variable θ. The north direction is θ = 0. We can express the θ as the following four conditional expressions according to the sign of Vn and Ve . ⎧   π ⎪ − arctan VVne if Vn ≥ 0 and Ve ≥ 0 ⎪ 2 ⎪ ⎪   ⎪ ⎪ ⎨ π + arctan −Vn if Vn < 0 and Ve ≥ 0 2 Ve  θ= (2) Vn 3π ⎪ if V − arctan < 0 and V < 0 ⎪ n e 2 V ⎪ ⎪  e ⎪ ⎪ ⎩ 3π + arctan −Vn if Vn ≥ 0 and Ve < 0 2 Ve We estimate the position of epoch t + 1 from the FIX solution of epoch t by the estimated velocity and the direction. 3.3.2 Elimination of False FIX Solutions Based on Doppler Velocity Firstly, we set a threshold of a radius dth [m] to the estimated position at epoch t + 1 as shown in Fig. 4. If the FIX solution at epoch t + 1 is within the threshold, we set it as new base point and use to estimate a position at the next epoch t + 2. If the FIX solution is out of the threshold, we eliminate the FIX solution at the epoch t + 1 as the false FIX solution. In this case, we estimate the position at epoch t + 2 based on the integrated value of the velocity and direction as the FIX solution at epoch t is a base point. However, there are two problems in this method. First, the precision of the base points is very important. Second, the error of the estimated velocity and direction based on the Doppler frequency accumulates when the false FIX solutions occur continuously or the FIX solutions cannot be acquired continuously. Therefore, we also propose methods which focus on how to acquire the reliable basepoints and how to suppress the accumulating error.

3.3.3 Acquisition of Reliable Base Points by GNSS Firstly, we propose the method which can decide a reliable base point. In the process of the proposed method as shown in Fig. 3, we integrate the parallelized kinematic positioning results without applying elimination methods of the false FIX solutions. The integration method is described in Sect. 3.5. In the integrated result without elimination methods, the most reliable FIX solution is being selected at each epoch. However, there is a possibility that the false FIX solutions are included. Therefore, we consider to acquire only reliable FIX solutions by setting threshold value from the results without the elimination method of the false FIX solutions. We calculate difference between the altitude value of the result without elimination method of the false FIX solutions and the altitude value which acquired

Parallelized Processing in Kinematic Positioning

Fig. 4. Method for distinguishing the false FIX solutions.

Fig. 5. Method for suppressing to accumulate the error.

209

210

H. Hatano and A. Ito

by the barometer. We define the FIX solutions whose the absolute of calculated difference is within threshold hth2 [m] as high reliable solutions #1”. We use the high reliable solutions #1 as base points. 3.3.4 Suppression of Doppler Error Accumulation Next, we propose about how to suppress the accumulating error. First, as shown in Fig. 5, we divide to sections based on the area where FIX solutions do not acquire in M epochs continuously. Second, based on the altitude value, we search the high reliable solutions #1 in each section. If multiple high reliable solutions #1 exist in each section, we use the FIX solution which has the smallest errors of the altitude in the high reliable solutions #1 as the base point. Third, we start to distinguish the false FIX solutions from the base points of each section (Procedure is shown in Sect. 3.3.2). If we distinguish M epochs continuously as the false FIX solution, we separate and add the section at the last distinguished point. Then, we search the high reliable solutions #1 as the new base point in the added section. By dividing the positioning results by the sections, the proposal can suppress the accumulating errors. 3.4

Elimination Method of False FIX Solutions by Altitude Value

3.4.1 Calculation of Reliable Altitude Value by GNSS In this method, we estimate the altitude values by using the barometer. First, the barometer can acquire height changes of the moving objects. However, we cannot acquire the altitude value only by the barometer because the receiver do not know a absolute altitude value. Therefore, we use altitude values of the following reliable FIX solutions as we refer the absolute altitude value. We acquire the reliable FIX solutions from the integrated result without the elimination method of the false FIX solutions (see Sect. 3.3.3). Ratio value is popular as the confidence measure of FIX solutions. The higher ratio value means that the confidence measure of FIX solutions is higher. However, the confidence measure of FIX solutions depends on the number of positioning satellites greatly. When the number of positioning satellites are low, the confidence measure of the ratio value also is low. Therefore, we acquire the FIX solutions with the ratio value more than rth and the number of positioning satellites more than nsth as reliable FIX solutions. We defined the acquired reliable FIX solutions as the high reliable solutions #2”. We use the altitude value of the high reliable solutions #2 as reliable absolute altitude value. 3.4.2 Derivation of Continuous Altitude Based on Barometer We define a height [m] at epoch t as a[t]. The height a[t] expresses the height changes. We set the height a[0] at epoch t = 0 as a[0] = 0. Then, we derive the height a[t] by (3) from the height a[t − 1]. 

Rγ P [t + 1] g T [t] a[t] = 1− + a[t − 1] (3) γ P [t]

Parallelized Processing in Kinematic Positioning

211

where the variable T [t] is a local temperature [K], the variable γ is a rate of the decreased temperature [K/m], the variable g is a gravitational acceleration [m/s2 ], the variable R is the gas constant of air [J/kgK], the variable P [t] is atmospheric pressure [hPa] at epoch t. The pressure P [t] can be measured by the barometer. We estimate the height a[t] by using acquired the pressure changes and the height a[t − 1]. Next, we explain how to estimate the altitude value h[t] from the height a[t] which is derived by the barometer. Figure 6 shows the example of estimating altitude values of a certain section. First, we calculate the sum of the absolute value of the difference between the derived height a[t] () by the barometer and the altitude value hr [t] (◦) of high reliable solutions #2. Then, we move the derived altitude a[t] () to plots (▲) in parallel as the calculated sum becomes minimum. Further, we perform the polynomial fitting based on the least squares method at each section according to the altitude value hr [t] (◦) of the high reliable solutions #2 and altitude value (▲) which derived by the barometer. In this way, we can acquire the final altitude value h[t] () of moving objects of all epochs.

Fig. 6. Derivation method of the altitude value.

3.4.3 Elimination of False FIX Solutions Based on Altitude Value The FIX solutions which include the large altitude error cannot be trusted. Therefore, we calculate the absolute value of the difference between the final altitude value h[t] and the altitude value of the FIX solutions based on the

212

H. Hatano and A. Ito

parameters of N patterns. Then, the FIX solutions which have the large difference more than hth1 [m] are eliminated. 3.5

Selection Method of the Most Reliable FIX Solutions

After the parallelization, we can acquire maximum N FIX solutions at each epoch. Against the acquired maximum N FIX solutions, we are applying elimination methods of the false FIX solutions based on the Doppler velocity and the altitude value and the false FIX solutions are eliminated. After we were applying the elimination method, we require a method to decide the most reliable FIX solution from remained multiple FIX solutions at each epoch. We select the FIX solution which has the largest ratio value at each FIX epoch. If the FIX solutions have the same ratio value, we select the FIX solution which is estimated by larger number of satellites. Hereby, we can select the most reliable FIX solutions at each epoch finally.

4 4.1

Characteristics Evaluation Experimental Environment

Table 1 shows experimental specification. In our research, we used a car as the moving station. The antenna of the GNSS receiver of the moving station is fixed in front of the roof of the car and the barometer is fixed in the car. We acquired the data by the GNSS receiver and the barometer (iPhone6s) while the car were moving. The acquisition frequency is 1 Hz. Figure 7 shows the moving route which includes urban area in Utsunomiya city, Japan. We used RTKLIB which is the famous base analysis software. Then, we performed the kinematic positioning with the combinations of the parameters in Table 2. The total of the combinations of the parameters N is 540 patterns. Also, Table 3 shows the thresholds in the proposed method. We decided these thresholds empirically by preliminary experiments.

Fig. 7. Moving route.

Parallelized Processing in Kinematic Positioning

213

Table 1. Experimental specification. GNSS receivers

u-blox GNSS Evaluation kit EVK-M8T

Antenna

Tallysman TW2410

Positioning satellite

GPSBeiDouQZSS

Total time

1481 s

Barometer

iPhone6s

Temperature

20 ◦ C

Frequency of acquisition samples 1 Hz Table 2. Parallelization parameters. Elevation mask

from 0◦ to 45◦ by 5◦

Signal strength mask

20 dB-Hz, 30 dB-Hz, 40 dB-Hz

Integer value decision method

Instantaneous Fix and hold Continuous

Analysis direction

Forward Backward Combined

Using BeiDou to estimate integer value ON OFF

4.2

Performance Measure

We use the true FIX rate and the false FIX rate and the horizontal error as performance measures. We defined the positioning results whose ratio values are more than 3 as FIX solutions in this experiment. We defined the FIX solutions whose horizontal errors are less than 2 meters as the true FIX solutions. On the other hand, the FIX solutions with the errors over 2 meters are defined as the false FIX solutions. The true FIX rate and the false FIX rate are defined as follows: (True FIX rate)

=

(False FIXrate) =

(Number of true FIX solutions) (All samples of the moving route(1481 samples))

(Number of false FIX solutions) (All samples of the moving route(1481 samples))

(4)

(5)

Also, the horizontal error is defined as the distance between the horizontal true position and the horizontal estimated position. We acquired the true positions of the horizontal direction based on map information and the video movie during the experiment. Also, we acquired the true altitude value from DEM of the geographical survey institute [16]. We evaluate the following performance:

214

H. Hatano and A. Ito Table 3. Thresholds in the proposed method. Altitude threshold

hth1 = 5 m

Doppler velocity threshold dth = 2 m Separation epoch

M =5

High reliable solution #1

hth2 = 1 m

High reliable solution #2

rth = 999.9 nsth = 12

• Elimination performance. Is evaluated by the performance measures of the true FIX rate and the false FIX rate about 4 methods: without elimination of the false FIX solution”, with elimination of the false FIX solutions by the altitude value”, with elimination of the false FIX solutions by the Doppler velocity” and with elimination of the false FIX solutions by both the altitude value and the Doppler velocity”. • Total positioning performance. Iis evaluated by the true FIX rate, the false FIX rate and the maximum horizontal error.

Table 4. Standard parameter. 15◦

Elevation mask Signal strength mask

40 dB-Hz

Integer value decision method

Fix and hold

Analysis direction

Combined

Using BeiDou to estimate integer value ON

Table 5. Evaluation of fluctuation parameters. Method

Variable parameters (parallel calculation variable)

State

Conventional method

Without elimination of With elimination of the false FIX solutions the false FIX solutions (final proposal)

FIX rate True 75.8% False 16.7%

69.7% 22.8%

78.2% 4.7%

Maximum horizontal error

27.8 m

2.97 m

34.3 m

Parallelized Processing in Kinematic Positioning

Table 6. Evaluation of fixed parameters. Method

Fixed parameters

State

Worst parameter Standard parameter Best parameter

FIX rate True FIX rate False FIX rate

6.6%

38.2%

45.5%

13.7%

4.1%

2.8%

15.6 m

12.9 m

Maximum horizontal error 22.2 m

Fig. 8. Cumulative distribution of the true FIX in four methods.

215

216

H. Hatano and A. Ito

We evaluate the following 6 methods which are different of the positioning parameters: worst parameter”, standard parameter”, best parameter”, conventional method”, without elimination of the false FIX solutions” and with elimination of the false FIX solutions (final proposed method)”. We indicate the positioning result of the worst parameter whose value of the true FIX rate minus the false FIX rate is minimum. We indicate the positioning result of the best parameter whose value of the true FIX rate minus the false FIX rate is maximum. Further, we indicate the positioning result of the standard parameter shown in Table 4. This parameter is popular for quick evaluation in the first time. Moreover, we indicate the conventional method which is introduced as the related work [7]. In the conventional method, the positioning result which cannot be calculated by the best parameter (it has highest FIX rate) is compensated with another result which is calculated by other parameter.

Fig. 9. Cumulative distribution of the false FIX in four methods.

4.3

Evaluation Results

4.3.1 Elimination Performance of False FIX Solutions Figure 8 shows cumulative distributions of the true FIX rate in case of 4 methods which differ in terms of elimination ways. As shown in Fig. 8, we can confirm that the distributions of the true FIX rate are almost same among 4 methods. Figure 9 shows cumulative distributions of the false FIX rate. In case of without elimination of false FIX solutions ()”, half of all 540 patterns have the false FIX rate which is more than 4. In case of elimination by Doppler velocity (Œ)” or elimination by altitude value ()” we can find that the false FIX rate is decreasing. Further, in

Parallelized Processing in Kinematic Positioning

217

case of elimination by altitude value and Doppler velocity ()”, the false FIX rate of all 540 patterns is within 3. The proposed elimination method can reduce the false FIX solutions effectively Therefore, the proposed method can eliminate the false FIX solutions as keeping the true FIX rate high. 4.3.2 Total Positioning Performance of the Proposed Method Table 5 shows the true/false FIX rate and maximum horizontal error performance in our proposal. For comparison, we also shows the performance of the conventional method and the proposal without the process of the elimination of the false FIX solutions. Also, for comparison, Table 6 shows the performance in case of the positioning which uses the stationary fixed parameters. From Table 5 and Table 6, our proposal can achieve highest true FIX rate with keeping small false FIX rate. Also, our proposal can achieve smallest maximum horizontal error. We note that the proposal can have higher true FIX rate compared to the stationary fixed but best parameter. We can confirm that our proposal can improve the true FIX rate by the parallel calculation with variable parameters, and can improve the false FIX rate by the elimination process with information of both altitude and Doppler.

5

Conclusion

In this chapter, the parallelization of the kinematic positioning with the various parameters was presented. Also, in order to eliminate the false FIX solutions, we used the elimination method based on Doppler velocity and altitude value. And we presented the selection of the more reliable FIX solution among multiple FIX solutions. The presented our proposal has novel integration based on the above methods of the parallelization and elimination and selection. From the experimental evaluations, we confirmed the reducement of the false FIX rate and the maximum horizontal error. Furthermore, the proposal can improve the true FIX rate. Thus, the proposal can suppress the false FIX rate and the positioning error as keeping the true FIX rate high. As our future work, we will try eliminating the remaining false FIX solutions. Also, in this chapter, we focused on the positioning by the post processing. However, real time positioning has many valuable applications too. In order to reduce calculation cost of the proposal, we try applying parallel calculation algorithms, cloud calculation services. Acknowledgments. In this chapter, we will introduce our novel method, which was c IEICE 2018, license number 18RB0095. mainly presented on the original journal [3],  Authors would like to express special thanks to Mr. Hiromi In, Dr. Yu Watanabe and Dr. Masahiro Fujii of Utsunomiya University in Japan.

References 1. Harish, S., Kubo, N., Kikuchi, R.: Single frequency multi GNSS RTK positioning for moving platform. Int. Tech. Meet. Inst. Navig. 62(51), 504–511 (2015)

218

H. Hatano and A. Ito

2. In, H., Hatano, H., Fujii, M., Ito, A., Watanabe, Y.: A Study on reliable position estimation in kinematic positioning for single frequency GNSS receiver. In: International Conference of Intelligent Transport Systems Telecommunications (2017) 3. In, H., Hatano, H., Fujii, M., Ito, A., Watanabe, Y.: Reliable position estimation by parallelized processing in kinematic positioning for single frequency GNSS receiver. IEICE Trans. Fundam. E101-A(7), 1083–1091 (2018) 4. Iwanami, K., Arai, I., Tanaka, S.: Evaluation of the positioning system utilizing smartphone’s air pressure sensor and accelerometer in suzuka circuit. Int. Symp. Technol. Sustain. 265, 313–318 (2013) 5. Iwase, T., Suzuki, N., Watanabe, Y.: Estimation and exclusion of multipath range error for robust positioning. GPS Solut. 17(1), 53–62 (2013) 6. Kubo, N.: Advantage of velocity measurements on instantaneous RTK positioning. GPS Solut. 13(4), 271–280 (2009) 7. Kubo, N., Yang, Z.: A study on sub-meter level navigation in urban areas. J. Jpn. Inst. Navig. 124, 111–118 (2011) 8. Kubo, N., Suzuki, T.: Performance improvement of RTKGNSS with IMU and vehicle speed sensors in an urban environment. IEICE Trans. Fundam. E99-A(1), 217–224, (2016) 9. Meguro, J., Kojima, Y., Suzuki, N., Teramoto, E.: Positioning technique based on vehicle trajectory using gps raw data and low-cost IMU. Int. J. Autom. Eng. 3(2), 75–80 (2012) 10. Teunissen, P.: The Least-squares ambiguity decorrelation adjustment a method for fast GPS integer ambiguity estimation. J. Geod. 71(10), 589–602 (1997) 11. Tobita, Y., Nagase, K., Uchida, R., Okamoto, O.: Improvement of fix performance on kinematic positioning. In: IPNTJ National Convention, No. c-1 (2016) 12. Tokura, H., Yamada, H., Kubo, N.: The use of multiple GNSS constellations with strict quality constraints for achieving high accuracy in urban environments. In: International Technical Meeting of The Institute of Navigation, pp. 488–498 (2014) 13. Ward, E., Folkesson, J.: Vehicle localization with low cost radar sensors. In: IEEE Intelligent Vehicles Symposium, pp. 864–870 (2016) 14. European GNSS Agency: GNSS User Technology Report issue 1. https://www. gsa.europa.eu/system/files/reports/gnss user technology report webb.pdf 15. Geospatial Information Authority of Japan: Foundation map information site. https://maps.gsi.go.jp/help/pdf/demapi.pdf 16. Geospatial Information Authority of Japan: Web map which can get altitude value. http://saigai.gsi.go.jp/2012demwork/checkheight/index.html 17. Takasu, T.: RTKLIB ver.2.4.2 Manual. http://www.rtklib.com/prog/manual 2.4. 2.pdf

An Overview of Multi-layer Security System Using Biometrics Zenon Chaczko(B) , Harssh Sethi, and Mohammad Alsawwaf University of Technology Sydney, 15 Broadway, Ultimo, NSW, Australia [email protected], [email protected], [email protected]

Abstract. After years of research on biometrics, still the authentication and verification of a human being is at risk. Many challenges have been faced by the system to authenticate a human on the basis of their biometric trait. The design of this paper is such that it focuses on three main biometric techniques to extract the various features of a human body contour for authentication and verification purposes. This paper presents an approach towards voice recognition patterns, face geometry patterns and gait pattern analysis to increase the accuracy and precision of the system.

Keywords: Multi-layer security verification · Pattern recognition

1

· Biometrics · Authentication and · Machine vision

Introduction

Multi-layer security system using biometrics is a system in which multiple biometric characteristics are used to tackle the problem of security systems. The term biometrics has been derived from medieval Greek words, where bio means life and metric means to measure. According to the biometric institute, biometrics is nothing but an automated recognition of an individual based on their particular behavior and biological traits. In general, biometrics is the study of a human being on the basis of their physiological and behavioral traits. As pointed out in the definition given by the biometric institute and various authors, biometrics is further subdivided in two categories, namely, physiological and behavioral [1]. In this contribution, after several authentication schemes and contrasting the existing technology, a model has been presented, which serves to be a reliable model in terms of security. In the following sub sections, various types of biometric characteristics are explained in brief, explaining about the pros and cons of the particular technologies, followed by a discussion on security on the basis of biometrics and finally, the conclusion.

c Springer Nature Switzerland AG 2020  R. Klempous and J. Nikodem (eds.), Smart Innovations in Engineering and Technology, Topics in Intelligent Engineering and Informatics 15, https://doi.org/10.1007/978-3-030-32861-0_15

220

2

Z. Chaczko et al.

Biometric Characteristics

Face: Face geometry is physical feature of a human body [1]. Face has many characteristics to consider while comparing such as the width of distance between the eyes, width of the nose, length of jawline etc. This trait can be used for the purposes, authentication and verification. For this trait, some selected facial features are selected for verification and authentication purpose. Initially, the features are extracted from the image and compared with other images. Voice Pattern: Voice recognition patterns have been introduced in the recent years and have proved to be a reliable source for security [4]. This biometric technique is a behavioral technique as it considers many factors and no new hardware is required because this technology only needs a microphone to record the words or phrases. Speaker recognition is another technique to identify a human being with the help of their speaking abilities/ characteristics. Gait: Gait analysis is a physiological attribute between the two biometric types [5]. This type of technique focuses on the walking style of a human being. The main advantage of this technique is that it is non-invasive compared to other biometric characteristics. There are various factors to consider while performing a gait analysis, such as the stride length, stride time, the bend in knee etc. this technique involves the walking of a human being, which is converted in to a 2D image and then utilized for further analysis.

3

Methdology

It has been observed that all the biometric techniques are different as they all depend on various factors. For each technique, there are different variables. These variables are used to identify and authenticate the particular person. In this contribution, three main techniques have been utilized. Initially, for any individual to give access, in terms of security, that particular individual has to go through a series of events by authenticating the biometric characteristics. In this paper, voice patterns have been chosen as the first biometric characteristic followed by the face geometry patterns and finally the Gait analysis. 3.1

Voice Recognition

A voice recognition system has four main domains, which are: (1) Extraction of the feature, (2) acoustic modeling, (3) pronunciation modeling and (4) decoding [4]. Initially, the user has to speak in to the microphone creating sound waves. These sound waves are then converted into electrical signals in a digital form in order to be transmitted. These digital signals are transformed so that the system can understand them. Further, these signals are converted into a form of vectors, which only contains the relevant information regarding the users voice. Finally, all the words spoken by the user are transmitted into a digital form and stored in the database with proper classification. However, at times, the information

An Overview of Multi-layer Security System Using Biometrics

221

extracted from these signals can be less discriminative, therefore, an extraction model has been used to provide avoid the discrepancies. This feature extraction model is the Mel Frequency Cepstral Coefficient (MFCC). MFCC is one of the various feature extraction techniques used for the purpose of voice recognition. In this technology, initially, different speech samples are collected from different speakers and converted into a digital form by recording these signals at regular intervals. This data of digital form is then quantized in order to eliminate the noise. And finally, these samples of speech are tested for feature extraction purposes. Feature extraction is a function, in which the signal is reconstructed with the presence of original data. 3.1.1 Decoding This step is considered as the most important step as it is performed to search for the best match for the retrieved speech samples from the speech database. In this step, a decoder is used to make the ultimate decision based on combining and optimizing the data retrieved from the acoustic and language models of an individual. Acoustic modeling has two kinds, namely, word model and phoneme model. HMM (Hidden Markov Model) is the most common form of acoustic modeling, which is used for speech recognition system [4]. There are a few states in HMMs, which vary on the output probabilities with a finite number of states. In HMM, one state is responsible for the modeling of the variability in speech known as the transition probability, whereas, the other processes are more focused on the output formulated by Gaussian mixture. In this model, the previous state is responsible for the probability of being in any state by using the Viterbi algorithm. 3.1.2 Pronunciation Modeling This step is initiated during the recognition process when the sequence generated by HMM is compared with the words of dictionary to formulate the final output containing the information about the words/phrases known to the system. Decoder is then used to recognize the spoken words by combining the information retrieved from acoustic models. 3.1.3 Approaches Made Towards Voice Recognition For voice recognition pattern system, there are three different type of approaches made, namely: Acoustic phonetic, pattern recognition and artificial intelligence approach. Acoustic phonetic approach, as the name suggests, utilizes the information of linguistics and phonetics to guide. This process has a poor performance as it finds difficult to express the rules and to improve the system. This type of approach identifies the words, structure of sentence, meaning or the individual phonemes. The next approach is the pattern recognition approach, which has two steps. The first step involves the training of speech patterns, whereas, the next step involves the recognition of these patterns. A test pattern is created on the input signal, which tests the various other patterns with the reference pattern and test the similarity between the test pattern and the reference pattern.

222

Z. Chaczko et al.

The last approach is the artificial intelligence approach. This type of approach is a skilled system implemented to classify different sounds. It is a combination of both, acoustic approach and pattern recognition approach. The Voice recognition pattern analysis is the initial technique used for the authentication and verification of an individual, which is followed by other techniques. 3.2

Face Geometry Analysis

Face geometry analysis of a human face depends on various factors such as the width of the nose, distance between the eyes etc. In order to distinguish a human being from another, relative location of face objects such as the face length, width, and height are considered, as they are unique for every individual [5]. The most common advantages of using face geometry are: • • • •

Low cost algorithm. Medium cost camera to capture images. Low storage images, as the template size is low. User-friendly, as the system is easy to access compared to other biometric techniques.

In the Fig. 1, a step by step instructions are given as to how the face geometry analysis works, starting from capturing the image to converting the image to a 2D image to compare the features of the face. According to the image captured, first the distance between the eyes is calculated, which is depicted in the image A. After the distance between the eyes is calculated, the distance between the ears is measured in image B. Similarly, in the image C, the distance from the forehead to nose is calculated, while in image D, the leap in the human face is calculated. After all the distances are measured, angles are calculated for further accuracy. These angles are made between the eyes and the nose, which can be seen in image E. Similarly, to increase the efficiency, the angles between the ears and the mouth are measured using a triangle, shown in image F. Both the images, E and F, have a triangle, in which the sum of angles is 180. The main advantage of this technique is that the image captures the human face in any condition, be it dry weather or a rainy weather, the processor focuses on the human face. As there are no harmful effects of using the processor, this technique is considered to be efficient. In the proposed methodology, the image is captured via a digital camera and transformed into a binary image. Since the image obtained is in binary, therefore, it presents itself in a black and white image, as seen in image F. The distance to be measured can be done using MATLAB based on counting the pixel distances. Once the center points from the face areas are captured, the distance is then calculated using the cosine distance, Chebychev distance and the Euclidean distance.

An Overview of Multi-layer Security System Using Biometrics

223

Fig. 1. Face feature analysis.

3.2.1 Mathematical Analysis In order to achieve the maximum efficiency of face geometry analysis, three main metric distance and angle measurement techniques are used. These techniques are: 1. Cosine distance. Once the image is in 2D, cosine distance is calculated using the distance between two points a and b, where p and q have coordinates and cos(p, q) is the distance to be calculated according to the equation shown below. n

cos(W1 , W2 ) = √n

i=1

Pi Qi n

2 i=1 Pi

i=1

Q2i

(1)

Salton and Buckley [5] explain the concept of this equation in detail. In accordance with this technique, the distance between nose, mouth and eyes of a human face can be calculated. 2. Chebychev distance. This technique involves the same parameters as the cosine distance. According to this technique, the Chebyshev distance is D(p, q). The equation is: D(p, q) = maxi (|pi − qi |)

(2)

The Chebyshev distance is an equation, which is induced by uniform norm or supermum norm [4]. Similar to Cosine function, this equation calculates the distance between the eyes and the nose.

224

Z. Chaczko et al.

3. Euclidean distance. The Euclidean distance [2] is the ordinary distance between two points. As we recall the Pythagorean formula, the Euclidean formula is based on it. The Euclidean distance equation is shown below.   n   2 2 2 d(p, q) = (q1 − p1 ) + (q2 − p2 ) + · · · + (qn − pn ) =  (qi − pi )2 (3) i=1

The d(p, q) is the length and in the equation shown above, n is the dimension of feature vector, whereas, pi and qi are the two different components of face. The Euclidean distance is generally used to calculate the distance between two positions of a human face. In this contribution, three different techniques have been used to determine the face geometry of a human being based on the various factors. The factors to consider in measuring the face geometry were the eyes, nose and the mouth of an individual. Three different techniques have been used in order to increase the efficiency of the system as each technique focuses itself on different feature of the face. Face geometry is a technique in which very less equipment is required for the authentication and verification of an individual. 3.3

Gait Analysis

Gait can be defined as the periodic motion of a human body, which can be predicted. According to Murray [3], a humans periodic motion is a total walking cycle. It has been observed that the pattern of the walking style of any individual is similar to the sinusoidal nature of a graph. However, the gait analysis is a system based on the relationship between the body segments and the joint angles [6]. In the recent past, many researches have been carried out on various body segment-links to determine the joint points. In order to extract the body points, position of chest, shoulder, knees, ankles, pelvis and neck are considered. In this technique, there are two parts. First part deals with the upper body region, whereas, the second part focuses on the lower body region. Upper body region includes shoulder, neck, head and chest. For the upper body region, the horizontal coordinate is measured according to the following equation: Xcenter = Xs + (X1 − Xs )/2

(4)

According to the equation, Xs and X1 corresponds to the first and the last position of pixel on scan line. The coordinates of shoulder and chest are responsible for the waist and pelvis coordinates, which are calculated by the interpolation formula shown below.

Xwaist = Xpelvis = Xchest +

(xchest − Xshoulder ) (Ywaist − Ychest ) (Ychest − Yshoulder )

(5)

An Overview of Multi-layer Security System Using Biometrics

225

The upper body region components are much easier to find and the movement of these components is minimal, whereas, the knees and ankles require an algorithm focusing on the leg angles from the body contour by linear regression analysis. In order to extract the data, anatomical data is utilised to measure the position of knees, ankles and pelvis. In the Figs. 2 and 3 shown below, the first shows the position of the joints and the border pixels extracted from the body contour, whereas second shows the extracted data from Fig. 2 with lines as plotting on a graph.

Fig. 2. Gait analysis (A).

Fig. 3. Gait analysis (B). Measurement unit of height and distance in cm.

226

Z. Chaczko et al.

The images used in Figs. 2 and 3 can be utilised to mark the joint positions on a human body contour. Linear regression can also be used to calculate the thigh and shin angles. In order to calculate the angle at a joint in a frame k, the following equation is used:  n n   (yi y)(xi − x) (xi − x)2 (6) θjnt,k = i=1

i=1

According to the above equation, n is assumed to be the number of points and jnt ∈ (shin, thigh, knee). There is a certainty factor for the angle θjnt,k which can be measured by the following formula. In Eq. 7, Yjnt,k is the certainty factor.     n     n  (7) Yjnt,k =  (yi − y)(xi − x)  (yi − y)2 (xi − x)2   i=1  i=1 Any image that is captured can be susceptible to noise, which can lead to spurious pixels and further contaminate the data at hand. Therefore, in order to reduce the noise in the image, a weighted moving average is applied, which can be seen by the following equation. In the equation, q is assumed to be a moving window size, which is set to 2.  n+q n+q   θjnt (n) = (yint,k · θjnt,k ) yint,k (8) k=n−q

k=n−q

The following equation determines the knee and ankle points, where φ is the phase shift, Ls defined as the length of the shin and xi and yi are assumed to be the joint coordinate of pelvis. Xka , Yka = [Xi Ls cos(θjnt + φ)Yi Ls sin(θjnt + φ)]

(9)

In the analysis of gait, the factors to consider are the linear and angular position of the joints of a human body contour. Using these points and factors, results has been calculated. Biometrics has been proved to be a reliable source for decades, but in this contribution, an attempt by utilizing three different techniques to create a hybrid approach is achieved for the better future. Initially, voice recognition pattern to identify a person, followed by the face recognition for authentication and using the same camera to confirm the individuals identity by using gait analysis is used in this contribution.

4

Summerizing the Results

In order to summarize the results for the proposed hybrid approach of combining the three techniques together, each technique have been performed with different

An Overview of Multi-layer Security System Using Biometrics

227

apparatus and different surroundings. Therefore, for each technique, the results formulated are separate. To start with the results, the first technique is the voice recognition pattern analysis. In this technique, the users were asked to speak words out of the list for a few times. Subsequently, the users were asked to speak the same words randomly to recognize the patterns. In the following Table 1, the results have been showed, in which there are 2 male and 2 female speakers. All the speakers have been experimented in front of a computer, human being, robot and a mobile. Table 1. Experiment Results of 4 speakers, 2 male and 2 female. Inaccuracy range − + 0.5%. Speaker1 Robot

90

Speaker 2

Speaker3

Speaker4

80

90

100

Human Being 100

90

100

100

Computer

100

100

100

90

Mobile

100

100

90

100

Average (%)

97.5

92.5

95

97.5

According to the results formulated, it can be observed that the overall efficiency of the speaker identification system is approximately 96%. However, In Table 2 shown below, it is observed that the speech recognition system has an efficiency of approximately 98%. Table 2. Overall efficiency of speaker identification Inaccuracy range − + 0.5%. Recognition (%) Robot 98 Human Being

100

Computer 97 Mobile 97 Average (%) 98

After gathering the results from the voice recognition patterns, we assembled the results from face recognition patterns.

228

Z. Chaczko et al.

In order to perform the analysis, several images of face were taken. Features were extracted in the procedure explained in Sect. 3.2 “Face Geometry Analysis” of this chapter. Once the features are extracted from the face recognition patterns, the image is stored in the database as a template, which could be accessed by the administrator. In this approach, along with the extraction of features of the face, many other things have been considered such as the angle representation technique to increase the efficiency of the system. From past studies, the biometric systems accuracy depends on two metrics, namely, False Rejection Rate (FRR) and False Acceptance Rate (FAR). FRR is basically the rejection of individuals by the system even though they are the correct ones, on the other hand, FAR can be defined as the percentage of unauthorized people getting the access due to an error in the system. Another case, when both, FRR and FAR, have equal values, it is often referred to as Equal Error Rate (ERR). In the following Table 3, the techniques used for face recognition patterns have been observed and the results have been noted for their success and failure of that particular technique. Table 3. FRR and ERR for face recognition patterns. Inaccuracy range − + 0.1%. Process Used

FRR

ERR

Cosine distance

0.0

0.0

Euclidean distance

0.0

0.0

Chebyshev distance

0.0

0.0

Parameter of angles

0.0

0.0

In experimenting, a computer system along with a digital camera was used. The best processes to calculate the face recognition pattern were used with the best FRR, FAR and ERR values, resulting in 100% efficiency of the system as both, FAR and FRR values were observed to be 0%. The techniques were tested in the best way possible with appropriate surroundings. The last biometric technique is the gait pattern analysis. This technique required a lot of analyzing as the technique had many equations to consider. In the results observed for gait pattern analysis, many consecutive images were observed for a sequence in order to analyze the results. From the data acquired, the following figure explains the various results observed while performing the experiment. In Fig. 4, the signatures of gait have been considered for three people during a gait cycle, focusing on the angles of thigh and knee. Similarly, to focus further on the knee and the thigh angles in a gait cycle, Figs. 5 and 6 explain the knee and thigh angles according to the time of a gait cycle.

An Overview of Multi-layer Security System Using Biometrics

229

Fig. 4. Signature of gait for three people overlapping in a gait cycle. Measurement unit of hight and distance is cm.

Fig. 5. Thigh angles.

230

Z. Chaczko et al.

Fig. 6. Knee angles.

In Fig. 7, the angular displacement of a human body contour can be observed, which is periodical in nature. The observed results were predicted using a phasespace portrait. In order to recognize a human, back-propagation algorithm has been implemented, in which only the kinematic features have been considered. Although the experimental data was limited and the results were a 100% success, but with the large database, the system will perform with the desired results. The results in this contribution have provided a meaningful comparison for future and help extend the analysis further.

5

Conclusion

We have described a new hybrid approach for extracting the results from three different biometric techniques in order to try and achieve the maximum level of security. It was challenging to deal with three complex techniques. In this paper, an attempt has been made towards how much the technology has innovated in the recent years. Voice recognition pattern is an interesting area to study as humans recognize people on the basis of their biometric traits. However, in distinguishing between various users for a machine, this approach has been successful. We have explained the authentication process based on utilization of knowledge from hand geometry, KLT (Karhunen Loeve Transform) coefficients to determine the face detection, and recognition patterns. A significant amount of research studied these techniques, which has helped to introduce a hybrid approach of utilizing the three biometric approaches. It can be implemented from the results that the

An Overview of Multi-layer Security System Using Biometrics

231

Fig. 7. Phase-shift portrait.

techniques used to authenticate and verify an individual have been successful to reach an efficiency of approximately 99%, using all the three techniques. In this contribution, one of the main purposes of this was to implement an approach, in which the weakness of one technique is considered as the strength of the other. In addition, to further enhance the performance of the system, various other biometric technologies can be used such as the nose and ear geometry, and minutiae extraction from fingerprint etc.

References 1. Brunelli, R.: Template Matching Techniques in Computer Vision: Theory and Practice. Wiley (2009) 2. Deza, M.M., Deza E.: Encyclopedia of distances. In: Encyclopedia of Distances, pp. 1–583. Springer, Berlin (2009) 3. Murray, M.P., Drought, A.B., Kory, R.C.: Walking patterns of normal men. JBJS 46(2), 335–360 (1964) 4. Saini P., Kaur P.: Automatic speech recognition: a review. Int. J. Eng. Trends Technol. 132–136 (2013) 5. Swamy, S., Ramakrishnan, K.: An efficient speech recognition system. Comput. Sci. Eng. 3(4), 21 (2013) 6. Yoo J.H., Nixon M.S., Harris, C.J.: Extracting gait signatures based on anatomical knowledge. In: Proceedings of BMVA Symposium on Advancing Biometric Technologies, London, UK, pp. 596–606 (2002)

Tracking of Multiple Moving Objects Using Two Dimensional Beamforming Based on Low Cost Crossed Sensor Array Jiajia Shi1 , Robin Braun2 , Zhengyu Yu2(B) , Liu Chu1 , Quan Shi1 , and Zhihuo Xu1 1 Nantong University, Nantong, China {shijj,chuliu,sq,xuzhihuo}@ntu.edu.cn 2 University of Technology, Sydney, Australia [email protected], [email protected]

Abstract. Moving objects tracking is very important in intelligent systems. Two dimensional Beamforming technologies have been applied to create images, with additional information such as ranges and radial velocities. Most radars use two dimensional full array to sense the target. To achieve high resolution, with the increasing sensor number, the sampling and computation cost are large. In order to reduce the overall cost, some methods based on sparse arrays have been proposed to create radar images. The sensor number can be reduced without losing much information. In this paper, a two dimensional beamforming method based on low cost crossed array is proposed. One linear phased array transmitting beamforming is used to steer the angle of beams in one dimension while the other orthogonal linear phased array receiving beamforming is used to detect the angle of arrival in the other direction. The sampled one dimensional beamforming image combines with time of steering direction to create a two dimensional spectrum. The proposed algorithm is simulated and the results of the system is analyzed. Keywords: Beamforming · Radar sensor array · Two dimensions

1

· Multiple moving targets · Crossed

Introduction

Radar has been widely used to track moving objects. Recently there is a big market for radar in the application of surveillance operations, ball and player tracking in sports, augmented reality and medical gait detection. Many types of radar has been designed such as ultra-wide-band (UWB) radar [3] and narrow band pulsed, Doppler [4] and phased array radar. In this stage, most radars are very expensive. For example, the phased array radar [11] requires large number of array elements to get high resolution images. c Springer Nature Switzerland AG 2020  R. Klempous and J. Nikodem (eds.), Smart Innovations in Engineering and Technology, Topics in Intelligent Engineering and Informatics 15, https://doi.org/10.1007/978-3-030-32861-0_16

Tracking of Multiple Moving Objects Using Two Dimensional

233

To track targets in two or three dimensions, some two dimensional sensor arrays have been designed [8]. Without mechanical scanning, a 2-dimensional transducer array needs to be built [1,5]. Both transmit and receive beamforming methods are used to detect the azimuthand elevation angles of targets [2]. This angle information can create an image of the sensed area. Due to the characteristics of beamforming, the way to increase resolution of the image is to increase the sensor array element number. For one dimensional sensor array, to increase the beamforming resolution, the array element number increases linearly. But for a two dimensional sensor array, the element number increases at a rate of the power of two of the resolution increase rate. With the increasing of element number, the sensor manufacturing, sampling and computation cost also increase sharply [10]. In some low cost applications, two perpendicular linear sensor arrays are used [6,7]. Specifically, one horizontal linear sensor array can adopt one dimensional receive beamforming to detect the azimuth angle of arrival, and similarly, the vertical linear sensor array detects the elevation angle of arrival. The position of the target in the image can be gotten by multiplying the results of the beamforming spectrum of both horizontal and vertical directions. The resolution of the multiplied beamforming image in both direction is the same as the original resolution in horizontal and vertical directions. In this method, the number of array elements increases linearly with the resolution. The limitation of this method is that it can only track a single moving object. For more than two objects, for example, if there are three objects, in the beamforming spectrum of both directions, there may be up to three objects. If we multiply the spectrum in two directions, the multiplied image contain 9 targets. The way to remove the ambiguity needs to include more information of the targets. For instance, if the down-ranges of targets are different, the down ranges of the targets in both horizontal and vertical direction should be matched before multiplication. The other method is to introduce Doppler frequency measurement, the radial velocities in both directions should be matched before multiplication to remove ambiguity. Besides the two line multiplication beamforming, there is another way which can save the element number and at the same time avoiding ambiguities. That is to select one linear array to transmit signals in selected direction by transmit beamforming and adopt one dimensional receive beamforming on the other orthogonal linear array. Each time the first linear array steers beam direction, the other linear array creates a linear beamforming spectrum. By knowing the relationship between the time and beam steer direction. The time versus beamforming spectrum is the created picture. In this case, only the signals in the receive side need to be sampled. The sampling cost can be reduced. The benefit is that the number of array elements is proportional to the length of the aperture, while a full two dimensional array aperture is proportional to the power of the number of sensor in one direction. The fabricating of the array and associated electronics is considerably simplified. In Sect. 2, the system structure for implementation of the algorithm is given. Section 3 describes the principle and mathematical model of beamforming. In

234

J. Shi et al.

Sect. 4–6, the principles and simulations of two dimensional beamforming based on crossed array are introduced. Finally, in Sect. 7, the conclusions are given.

2

System Structure

The designed system structure is shown in Fig. 1. Specifically, the system contains the transmitter/receiver array, a field programmable gate array (FPGA) board and a control module. For the transmitter/receiver array, all the array elements are placed in a plane with a crossed array shape. To clarify the function of each array, this paper defines the horizontal array as the receiver array while the vertical array as the transmitter array. To transmit and receive signals, each element in the receiver array contains an analog-to-digital converter (ADC) which each element in the transmit array contains a digital-to-analog converter (DAC). The ADC should have high resolution in voltage measure as with different ranges and propagation media, the attenuation vary different. Usually, for digital beamforming, ADCs with at least 8 bits accuracy are required. With the increasing of rang, 12 bits or even higher accuracy ADCs are required. The resolution requirement of DACs is low, and a 4 bits DAC, which has 16 scales is high enough to form a wave. As the cost of DAC chips are much lower than the ADC chips, the receiver array takes the most part of the expenses. Further, a FPGA board is used to control the ADCs to sample all the data. Then, the data are processed by FPGA and sent to computers or micro-control board for further processing. As FPGA has the benefits of duplicating parallel processing, and the processing algorithms of each sensor are very similar, FPGA is ideal and simple for this application. No matter how many sensors are used as receivers, if there are enough resources in the FPGA, the increasing of sensor number will not significantly affect processing speed. In the stage of research, all the data were transferred from FPGA to computers and the software such as Matlab and Visual C++ on windows were used to process the data. In industrial manufacturing, micro-control board replaces computers and FPGA pre-process the sampled data to alleviate the computation of the micro-controller and communication burden between these devices. PC is not necessary for processing the raw data.

3 3.1

Signal Model Signal Model for Transmit Beamforming

It is assumed that a linear array with NT elements are placed in a line. Therefore, the transmit signal can be written as a NT dimensional vector xT (t) = [x1 (t), x2 (t), . . . , xn (t)]T

(1)

where x1 (t), x2 (t), . . . , xn (t) are the same sinusoidal waves with designed delays. The amplitude of each elements can be the same or with a window function to

Tracking of Multiple Moving Objects Using Two Dimensional

235

scarify the beam width with depressing of side lobe levels. In terms of delays, the values are derived by the beam steering direction. Also, with the second assumption, the xT (t) can be expressed as xT (t) = a(θT )sT (t)

(2)

where a(θT ) = [1, e−j2πd sin θT /λ , e−j2π2d sin θT /λ , . . . , e−j2πd sin θT /λ ]T , which is a NT dimensional delay vector in direction θT . To equally steering the beam in vertical space, the elevation angle of arrival −π/2 to π/2 can be divided into ΓT parts with | sin(θi ) − sin(θi + 1)| = 2/ΓT , and θi can be obtained with i = 1, 2, . . . , ΓT . To avoid ambiguities in the receive beamforming, each time the beam only steer to one direction. Therefore the transform matrix HT for signals to all angle from −π/2 to π/2 can be expressed as HT = [a(θ1 ), a(θ2 ), . . . , a(θΓT )]

(3)

Then the transmit signal can be expressed as xT (t) = HT ST (t)

(4)

where ST (t) = [sT (tθ1 ), . . . , sT (tθi ), . . . , sT (tθΓ )]T . 3.2

Signal Model for Receive Beamforming

It is supposed that K signals are received by the linear receiver array, where the amplitude of kth signals is sRk (t) and the angle of arrival is θRk , with

Fig. 1. System structure of the proposed radar.

236

J. Shi et al.

k = 1, 2, . . . , K. Between them, some of the K signals are the desired signals while the other is noise. Similar to transmit beamforming, the received signal can be expressed as a NR dimensional vector One of these signals us a desired signal, and the others are interference. The received signal can be expressed as the N-dimensional vector xR (t) = [x1 (t), x2 (t), . . . , xN (t)]T

(5)

Without the consideration of the receiver noise, xR (t) can be written as

xR (t) =

K 

sk (t)a(θk )

(6)

k=1

where a(θk ) = [1, ej2πd sin(θk )/λ , ej2π2d sin(θk )/λ , . . . , ej2π(N −1)d sin(θk )/λ ]T , which is the directional vector of θk , with k = 1, 2, . . . , K. Similar to transmit beamforming, the horizontal can also be divided into ΓR parts with | sin(θi ) − sin(θi + 1)| = 2/ΓR , and θi can be obtained with i = 1, 2, . . . , ΓR . Therefore the transformation matrix HR = [a(θ1 ), a(θ2 ), . . . , a(θΓ )]. Then, the received signal X(t) is written as xR (t) = HR SR (t)

(7)

where SR (t) = [0, . . . , s1 (t), 0, . . . , 0, . . . , sK (t), 0, . . . , 0]T . In the case with noise, Eq. 7 can be written as x(t) = HR SR (t) + v(t)

(8)

where v(t) = [v1 (t), v2 (t), . . . , vN (t)]T is the noise vector.

4

Linear Array Beamforming

Many beamforming algorithms have be developed. Among them, delay and sum beamforming with window function is the most initial method. Based on delay and sum beamforming, some adaptive beamforming methods have been developed, which aims to suppress the side lobe amplitude level. The algorithms include orthogonal projection algorithm, LCMV algorithm and so on. The output of beamforming is linear combination of weighted data as follows y(t) =

N  n=1

wnH xn (t)

(9)

Tracking of Multiple Moving Objects Using Two Dimensional

237

which can be written in vector format y(t) = wH x(t) = wH a(t)s(t) = G(θ)s(t)

(10)

where the gain of the beamforming can be defined G(θ) = wH a(θ). The way to recover a desired signal coming from some direction while suppressing noise and other interfering signals is to find the proper weight vector wH . Figure 2 shows the simulation spectrum of linear array beamforming.

Fig. 2. Spectrum of linear array beamforming.

5

Two Line Multiplication Beamforming

The full two dimensional sensor array requires many elements, especially when the resolution requirement is high. One simple method to realize the two dimensional beamforming is to simply multiplying two linear array beamforming spectrum. Specifically, the two lines of sensor array beamforming are processed separately and the outputs are multiplied by the following equation. T (θazi ) · Yele (θele ) Img(θazi , θele ) = Yazi

(11)

where Yazi (θazi ) = [yazi (θ1 ), . . . , yazi (θi ) . . . , yazi (θΓ )], Yele (θele ) = [yele (θ1 ), . . . , yele (θi ) . . . , yele (θΓ )]. where the horizontal linear sensor array detects the azimuth angle of arrival, and the vertical linear sensor array detects the elevation angle of arrival. Two dimensional beamforming can be realized by simply multiplying two linear array beamforming.

238

J. Shi et al.

The advantage of this method is that the side lobe is suppressed compared with other solutions with similar number of elements, therefore the target can be easily subtracted from the background. The disadvantage is that when there is more than one object, the system has ambiguities. 5.1

Simulation of Two Line Multiplication Beamforming

The simulation can be shown in Figs. 3, 4 and 5. In this simulation, the airborne ultrasonic wave is the carrier wave, and the propagation velocity is 340 m/s, the carrier frequency is 40 kHz, the sensor spacing is 0.00425 m, the number of sensors is 30. In this simulation, two objects are supposed to be detected. In both horizontal and vertical direction, there are both two objects in the spectrum. The ambiguities occur when the spectrum is multiplied. The ambiguities can be removed by introduced down-range or velocity detection.

Fig. 3. Spectrum of beamforming in two directions.

6

Transmit and Receive Beamforming

To avoid ambiguity induced by two line multiplication beamforming, transmit and receive beamforming are introduced. In this paper, the elements on vertical direction are used to transmit steering waves while the elements on the horizontal direction are adopted to receive the waves. When the transmit beamforming focuses the signal energy in some certain angles, less energy are spread to other directions. Figure 6 shows the simulation of beam steering in space. In transmit beamforming, the beam can be steered in elevation angle by introducing designed delays, while in receive beamforming, the beam can be

Tracking of Multiple Moving Objects Using Two Dimensional

239

Fig. 4. Spectrum of two line multiplication beamforming.

Fig. 5. The image created by two line multiplication beamforming.

steered in azimuth angle by adding specified phase shift. When these two beams are steered to the same region and a object is found, this region can be marked as a target. To ensure all the region in front of the radar can be scanned. The transmit beamformer waits until the receive beamformer finishes scanning, then steer the beam to next elevation angle. The process can be repeated until the transmit beam finishes scanning from −π/2 to π/2, then a two dimensional signal can be created. The transmit beam angle can be derived from the steering time. The receive beam spectrum expend into two dimensional with time is the desired image.

240

J. Shi et al.

Fig. 6. Transmit beamforming in the vertical direction.

6.1

Simulation of Transmit and Receive Beamforming

The simulation can be shown in Figs. 7 and 8. The setting is the same as the above simulation.

Fig. 7. Spectrum of transmit and receive beamforming.

From the simulation, it can be found that there is no ambiguity in the generated image. If the side lobes whose amplitudes are below −100 dB compared to the main lobe are removed, the image is relatively clear. Each time the transmit beamforming steers the beam in the vertical direction, the other horizontal array creates a linear beamforming spectrum. By knowing the relationship between the time and beam steer direction. The time versus beamforming spectrum is the created picture. In terms of the processing time, the transmitting and receiving

Tracking of Multiple Moving Objects Using Two Dimensional

241

Fig. 8. The created image by transmit and receive beamforming.

beamforming only need to process receiving beamforming which has less sensors than two line multiplication beamforming, therefore the processing time is shorter.

7

Conclusion

This paper proposes a two dimensional beamforming method based on crossed array. Traditional radar uses two dimensional full array to sense the target. But the sampling and computation costs increase quickly when the sensor number increases. In this paper, one linear phased array transmitting beamforming is used to steer the angle of beams in one dimension and the other orthogonal linear phased array receiving beamforming is used to detect the angle of arrival in the other direction. The sampled one dimensional beamforming image combine with time of steering direction to create a two dimensional spectrum. The simulation results show the method can achieve high resolution without ambiguity at a low cost. Recently, some spare array reconstruction methods such as compressed sensing have be researched [9]. In the future, the compressed sensing need be incorporated to further reduce the number of array elements. Acknowledgments. This work is supported by the Startup Research Foundation for Ph.D. from the Nantong University, China (No. 03081080). This research was funded by the National Natural Science Foundation of China Grant Nos. 61801247 and 61901235

References 1. Aamna M., Ammar S., Rameez T., Shabeeb S., Rao N. I. and Safwat I.: 2D beamforming for through-the-wall microwave imaging applications. In: 2010 International Conference on Information and Emerging Technologies, pp. 81-88. (ICIET). IEEE, pp. 1-6 (2010)

242

J. Shi et al.

2. Duly, A.J., Love, D.J., Krogmeier, J.V.: Time-division beamforming for MIMO radar waveform design. IEEE Trans. Aerosp. Electron. Syst. 49(2), 1210–1223 (2013) 3. Ling H., Neikirk D.P., Tanner D.R., Baldick R.: A low-complexity radar for human tracking (2006) 4. Ram, S.S., Li, Y., Lin, A., Ling, H.: Doppler-based detection and tracking of humans in indoor environments. J. Frank. Inst. 345(6), 679–699 (2008) 5. Salem, I., Mtc H. A. H. H. G.: Two-dimensional generalized sidelobe canceller (GSC) with partical adaptivity. In: Eighteenth National Radio Science Conference (2001) 6. Shi, J., Braun, R.: Crossed linear arrays using doppler radar beamforming for detecting single moving targets. Computational Intelligence and Efficiency in Engineering Systems, pp. 229–241. Springer International Publishing, Berlin (2015) 7. Shi, J., Braun, R.: Image construction using low cost airborne beamforming. Computational Intelligence and Efficiency in Engineering Systems, pp. 243–257. Springer International Publishing, Berlin (2015) 8. Wang, J., Sheng, W.X., Han, Y.B., Ma, X.F.: Adaptive beamforming with compressed sensing for sparse receiving array. IEEE Trans. Aerosp. Electron. Syst. 50(2), 823–833 (2014) 9. Whitelonis, N., Ling, H.: High-resolution radar imaging through a pipe via MUSIC and compressed sensing. IEEE Trans. Antennas Propag. 61(6), 3252–3260 (2013) 10. Yeh, C.K., Li, P.C.: Doppler angle estimation using AR modeling. IEEE Trans. Ultrason. Ferroelectr. Freq. Control 49(6), 683–692 (2002) 11. Yen, J.T., Steinberg J.P., Smith, S.W.: Sparse 2-D array design for real time rectilinear volumetric imaging. IEEE Trans. Ultrason. Ferroelectr. Freq. Control 47(1), 93–110 (2000)

A Numerical Approach to Solving the Aerial Inspection Problem Radoslaw Grymin(B) , Wojciech Bo˙zejko, and Jaroslaw Pempera Faculty of Electronics, Department of Control Systems and Mechatronics, Wroclaw University of Science and Technology, Wroclaw, Poland [email protected], [email protected], [email protected]

Abstract. An autonomous aerial inspection using unmanned aerial vehicles (UAVs) requires effective and nearly optimal algorithms for scheduling UAVs. A UAV performing aerial inspection does not need to take photos of inspected objects from exact given points in space. For every inspected object, there is a feasible area (or point) from which clear photos can be taken. The optimization problem is to find points from these areas from which UAV should take photos of objects. These points should be chosen in such a way that the scheduling algorithm, which takes these points as its input, will produce a valuable solution. In this work, for the given feasible areas we find the sequence of visiting these areas and points, to minimize the length of the Hamiltonian cycle consisting of chosen points in a determined sequence. Keywords: TSPN

1

· UAV · Path planning

Introduction

In recent years, Unmanned Aerial Vehicles (UAVs) have become very popular in various fields. Apart from professional and amateur film making, they are commonly used in aerial inspection. Current state-of-the-art UAVs used in aerial inspection can fly between 13 and 38 min until total discharge (depending on battery, equipment and speed) and its charging time is almost 2 h 30 min. Thus, an autonomous aerial inspection using UAVs requires effective and nearly optimal algorithms for planning their schedule. 1.1

The NeuroSpace Project

In 2017 we were involved in a UAV project for the Polish company NEUROSOFT. The aim of the project was to create a UAV that will be capable of autonomously doing aerial inspection of a car park. We developed effective scheduling software that plans aerial inspections and returns to base for charging. We modeled the problem as the distance-constrained vehicle routing problem c Springer Nature Switzerland AG 2020  R. Klempous and J. Nikodem (eds.), Smart Innovations in Engineering and Technology, Topics in Intelligent Engineering and Informatics 15, https://doi.org/10.1007/978-3-030-32861-0_17

244

R. Grymin et al.

(DVRP). We adopted the effective DCVRP algorithms developed by Szymon Jagiello from Wroclaw University of Science and Technology and we provided the ROS module. 1.2

The Generalized Problem of Aerial Inspection

The challenging nature of the NeuroSpace project pushed us to continue further. We observed that aerial vehicles performing aerial inspection do not need to take photos of inspected objects from exactly given points in space. There are given n objects to be inspected {O1 , O2 , O3 , . . . , On }. For every object Oi , i ∈ {1, 2, 3, . . . , n} there is a feasible three-dimensional area Ai from which clear photos can be taken. Areas do not intersect, nor belong to each other. The inspected objects may lie inside the feasible area or outside of it. The optimization problem is to find a path which visits all the areas at least once (to take photos) and a sequence in which these points should be visited, and return to the starting point. An example of the generalized problem of aerial inspection is showed in Fig. 1. Such a problem constitutes a generalization (continuous version) of the Set TSP problem, also known as the generalized TSP, group TSP, one-of-a-set TSP, the covering salesman problem or multiple choice TSP. The problem is NP-hard because it can be reduced to TSP if areas are single points.

O1

P1

A2

A1

O2

P2

P0

O4 A4

P4

O3

P3

A3

Fig. 1. Inspected objects with feasible areas from which photo can be taken and with a UAV base.

The GTSP appears frequently in motion planning problems [6,9,13]. Many heuristic and exact algorithms have been proposed for such a class of problems, e.g. evolutionary algorithms [12], also in parallel [2]. Up to our best knowledge there are no works considering the continuous version of GTSP. In further considerations we will assume that the space of visibility of the inspected object may be approximated by a hemisphere and that the UAV flies at a constant altitude. Then, the inspection area for every inspected object may be described as a circle. This circle will be called visibility circle of an object, whereas a point where the picture is taken, will be called the inspection point.

A Numerical Approach to Solving the Aerial Inspection Problem

2

245

Problem Description

Given n objects from the set N = 1, . . . , n are to be inspected by the unmanned aerial vehicle. For each object i ∈ N , there is a given visibility space described by tuple (Xi , Yi , Ri ), Ri > 0, where Xi and Yi denote the coordinates of the center, whereas Ri denotes the radius of the visibility circle of an object. Before starting a flight, the UAV lies in the point with coordinates (x0 , y0 ). After finishing the inspection, the UAV returns to this point. The goal of optimization is to determine the inspection point for each object and to find the sequence of visiting points in a way that the length of the flight of the UAV is the shortest possible route. Let r = {0, r1 , r2 , . . . , rn , 0}, ri ∈ N denote the sequence of object inspections (number 0 denotes the starting point). Let xi and yi be the coordinates of the inspection point for the visibility circle of the object i. Of course, the point (xi , yi ) must be the point that belongs to the circle described by a tuple (Xi , Yi , Ri ). For a given sequence of the inspection r and given inspection points (xi , yi ), i ∈ N the length of the route is equal to L(r, x, y) =

n+1 

d(xrs−1 , yrs−1 , xrs , yrs ),

(1)

s=1

where x = (x0 , x1 , . . . , xn ), y = (y0 , y1 , . . . , yn ), whereas d(xk , yk , xl , yl ) is euclidean distance on plane between points (xk , yk ) i (xl , yl ). The considered optimization problem can be divided into two levels: • lower level—determination of the optimal inspection points for the given sequence r, • higher level—determination of the optimal sequence r. Each level will be solved by different kinds of algorithms. In the following subsections we will describe algorithms used in the lower and higher level. (x0 , y0 )

α2 α1 (X1 , Y1 )

(X2 , Y2 ) R1

Fig. 2. Example for two circles.

R2

246

2.1

R. Grymin et al.

Lower Level

First, it should be noted that regardless of choice of inspection point in the visibility circle, the route of UAV flight has at least one common point with the circumference of a circle. Let us take one liberally arbitrarily chosen common point of a route and the circumference of a visibility circle. For object i ∈ N that point can be unambiguously determined by the angle αi (Fig. 2). Cartesian coordinates are described by equations: xi (αi ) = Xi + cos(αi )Ri ,

(2)

yi (αi ) = Yi + sin(αi )Ri .

(3)

For α = (α1 , . . . , αn ) the length of the route is equal to L(r, α) = d(x0 , y0 , xr1 (αr1 ), yr1 (αr1 )) n−1 + s=1 d(xrs (αrs ), yrs (αrs ), xrs+1 (αrs+1 ), yrs+1 (αrs+1 ))

(4)

+ d(xrn (αrn ), yrn (αrn ), x0 , y0 ) For a given sequence r, the function L(r, α) is a nonlinear function of n variables. In order to determine the minimal value of function L(r, α), many types of optimization algorithms may be used, e.g. the Limited-memory Broyden–Fletcher– Goldfarb–Shanno (L-BFGS) algorithm [3,14], the Nelder–Mead method [10], the Powell’s conjugate direction method or the Sequential Least Squares Programming (SLSQP) method [8]. Unfortunately, the use of effective continuous optimization algorithms to solve common problems leads to long computational times. In this article we propose an algorithm based on the method of steepest descent. Let us assume that UAV moves from point with the coordinates (xa , ya ) through an inspection point of the object b to the point with the coordinates (xc , yc ). The angle αb describes the optimal inspection point (xb (αb ), yb (αb )) of the object b if d(xa , ya , xb (αb ), yb (αb )) + d(xb (αb ), yb (αb ), xc , yc ) has a minimal value. The point determined in this way will be called a locally optimal point. Due to the continuous character of optimized function, in order to determine the angle αb it is possible to use a well known Powell’s method. The input parameters of an algorithm are the initial route r0 = (0, r10 , . . . , 0 rn , 0) and the initial set of angles α0 = (α10 , . . . , αn0 ). In every iteration, the proposed algorithm for a given α = (α1 , . . . , αn ) and for every object s ∈ N there is determined a locally optimal angle αs and the change of the route length described by the equation: Δ(s, αs , αs ) = (xs¯, ys¯, xs (αs ), ys (αs )) + d(xs (αs ), ys (αs ), xs , ys ) − (xs¯, ys¯, xs (αs ), ys (αs )) − d(xs (αs ), ys (αs ), xs , ys ),

(5)

where s¯ is the direct predecessor, whereas s is the direct follower of the object s in the sequence r. Of course, for s = 0 and s = 0 we have xs¯ = xs = x0 , ys¯ = ys = y0 , in other cases these values are determined by the proper angles from α.

A Numerical Approach to Solving the Aerial Inspection Problem

247

Algorithm returns the best set α, that determines the best inspection points. Algorithm stops its execution, when the length of the route does not shrink in succeeding iterations more than high-handedly chosen value  or after the execution of M axIter iterations. A precise scheme of the proposed method is shown in Algorithm 17.1. α = α0 for iter = 1 to M axIter do for s = 1 to n do determine αs and Δ(s, αs , αs ) end for determine such k that Δ(k, αk , αk ) = maxs∈N Δ(s, αs , αs ) if Δ(k, αk , αk ) <  then return α end if αk = αk end for

Algorithm 17.1: Low level optimization algorithm.

3

Higher Level

It is easy to see, that if we have the method that can determine the optimal route (and its length L(r)), for a given sequence r of visiting inspection areas, the problem comes down to the well known Traveling Salesman Problem (TSP). In the considered problem, the position of the inspection points depends on the sequence of visiting inspection areas, whereas in TSP distances between cities are constant. Such crucial difference prevents employing directly generally known techniques of quick determination of the length with small changes of path. In order to determine the sequence of visiting inspection areas, the 2-Opt algorithm is used, furthermore, an algorithm was developed based on the Simulated Annealing method. 3.1

The 2-Opt Algorithm

The 2-Opt algorithm (Croes [4]) is the most basic local search heuristic for the Traveling Salesman Problem. It is a descending search algorithm based on the 2-Opt neighborhood. In each iteration of the algorithm, for a current tour there are neighborhood tours determined, from which the best one is chosen. The algorithm finishes its execution when in the 2-Opt neighborhood there is no solution better than the current one. The neighborhood tour of the route r is constructed on the basis of the modification described by a pair (a, b). The new tour takes the form of r(a, b) = (r1 , . . . , ra−1 , rb , rb−1 , . . . , ra+1 , ra , rb , . . . , rn ).

(6)

248

R. Grymin et al.

All solution generated in this way establish the neighborhood of the tour r. The 2-Opt algorithm does not guarantee finding the optimal tour or mistake made by the algorithm. But it assures (in Euclidean problem), that the final path will not intersect with itself. Its big advantage is its simplicity and usually fast execution. 3.2

The Simulated Annealing

The Simulated Annealing algorithm (SA) [1] alludes to thermodynamic process of metal annealing, where a sample of metal is subjected to a process of cooling in order to achieve desirable features (hardness, elasticity, etc.). The idea of SA comes down to generating a search trajectory (where every next sequence is chosen randomly from the neighborhood of the current solution) in such a way that guarantees going out from the local minimum or avoiding it. The randomly chosen solution is implicitly accepted (becomes a current solution in the next iteration) when it is not worse than the current one. The acceptance of worse solution with probability dependent from temperature and the difference in fitness function value are also possible. A detailed description of the method can be found in [1]. In the algorithm we used the 2-Opt neighborhood. The algorithm executed M axIter = 2000 iterations. As a result, the search trajectory of SA algorithm is led in a ‘statistically good’ direction. The SA algorithm begins its execution from certain initial solution and successively moves through neighbor solutions. Finally, there were three algorithms developed: 2-OPT(C), 2-OPT and SA. In the algorithm 2-OPT(C), the length of the route is determined based on the localization of the inspection objects i.e. LC(r) = d(x0 , y0 , Xr1 , Yr1 ) +

n−1 

d(Xrs , Yrs , Xrs+1 , Yrs+1 ) + d(Xrn , Yrn , x0 , y0 ).

s=1

(7)

4

Experimental Research

We generated 6 groups of instances with identical number of inspected objects, n ∈ {5, 10, 15, 20, 25, 30}. Each group contains 10 problem instances generated randomly. In every instance, centers of circles were placed randomly on the square with the side length of 1000. Radii were generated from uniform distribution U (a, b), with parameters values characteristic for each group, (a, b) ∈ {(100, 200), (50, 150), (40, 120), (30, 100), (30, 100), (30, 100)}. The instances of greater size had to consist of smaller circles to fulfill the requirement that the circles do not intersect with each other. The metaheuristics 2-OPT(C), 2-OPT and SA were developed in C++ in Visual Studio 10 environment and run on a single core of Intel Core I7 2.6 GHz with 8GB RAM under Windows 8.1 Operating System. The SA algorithm is

A Numerical Approach to Solving the Aerial Inspection Problem

249

designed in the form of automatic self-tuning and adaptive procedure, see [1] for detail, to avoid problem of extensive tunning. There were two measures used in order to evaluate the features of algorithms. The first one is execution time (in seconds) on the previously mentioned computer. The latter measure refers to algorithm’s quality. We use the percentage relative difference between the length of the route rA produced by the tested algorithm A ∈ {2 − OP T (C), 2 − OP T, SA} and the length of the best route found L∗ . The measure is defined by the equation: P RD(A) =

L(rA ) − L∗ · 100%. L∗

(8)

In order to find a shortest flight route of UAV, we created a framework consisting of executions of the described algorithms in the sequence 2-OPT(C) ⇒ 2-OPT ⇒ SA-1 ⇒ SA-2 ⇒ SA-3.

(9)

The 2-OPT(C) algorithm generates in a very short time a tour that is improved by the 2-OPT algorithm and 3 times by the SA algorithm. After finishing of every phase of computation, the length of the shortest tour and the computation time are stored. During the next phase of computations, the best route from the previous route becomes the initial route for the next phase. From the results of the research collected in Table 1 we can see that the length of a tour where UAV reaches the inspected objects is fundamentally longer than the length of the route achieved by the proposed method. It is longer on the average by 35.7%, whereas the mean value fluctuates between 28.3 and 45.3%. Maximally, it is longer by 59.5%. These two facts confirm the high effectiveness of the proposed method of determining the route for UAV. It is worth to see, that the implementation of the proposed method (see section lower level for details) to the sequence generated by 2-OPT(C) (see column 2-OPT(c) L(r)) significantly reduces the length of the route. The average value of PRD is equal to 3.74% and fluctuates between 0.0 and 8.89%. Unfortunately, its effectiveness lowers with the increase the number of the objects. The maximal error is also high and is equal to 24.9%. That error rises with the increasing number of objects. In the next phases, the algorithms operate on routes designated with the use of the lower level method. In case of the 2-OPT algorithm, the average error is 2.0% and ranges from 0.0 to 5.57%. This error increases as the number of objects increases. It follows from the analysis of PRD values determined for consecutive executions of the SA algorithm, that its use allows us to find even better flight routes, whereby the highest shortening is achieved in the first execution of the SA algorithm. The mean value of a PRD is equal to 0.41% and is not greater than 0.9% in each group of instances. The second execution reduces a mean value of PRD to 0.13% (in the last execution there are reference values generated). In Fig. 3 there are routes generated during computations for the example with n = 30 objects presented.

250

R. Grymin et al. Table 1. Relative percentage error of algorithms. n

2-OPT(C) LC(r) 2-OPT(C) L(r) 2-OPT L(r) SA-1 L(r) SA-2 L(r) avg max avg max avg max avg max avg max

5

37.40 58.85

0.00

0.00

0.00 0.00

0.00 0.00 0.00 0.00

10

28.29 47.52

0.93

3.40

0.55 3.27

0.33 3.27 0.33 3.27

15

34.93 46.23

3.74 18.30

0.99 6.11

0.00 0.00 0.00 0.00

20

31.78 40.74

3.32

2.24 8.03

0.62 3.40 0.34 3.40

25

36.47 46.75

5.55 14.99

2.65 13.39

0.59 2.32 0.07 0.61

30

45.34 59.53

8.89 24.92

5.57 24.67

0.90 2.49 0.05 0.44

3.74

2.00

0.41

ave 35.70

8.31

0.13

Table 2. Computation time of algorithms. n 5

2-OPT(C) 2-OPT avg max avg max

SA-1 avg

max 1.39

SA-2 avg

max

SA-3 avg

max

0.00 0.01

0.01

0.03

0.85

10 0.01 0.01

0.15

0.36

4.88 6.18

0.80

1.04

0.76

1.03

4.83

5.81

4.74

5.87

15 0.01 0.01

1.32

2.85

13.89 15.06

14.31

16.37

14.10

16.58

20 0.03 0.05

5.35

12.14

38.32 46.29

37.84

44.60

38.10

44.65

25 0.03 0.04 28.83

60.25

71.75 88.21

69.94

84.80

67.66

86.38

30 0.14 0.27 88.15 233.58 122.21 162.47 120.82 150.32 120.87 162.11

In the Table 2 there are collected times of computation for consecutive phases of the algorithm. As it was expected, the execution time of the 2-OPT(C) algorithm is very short and does not exceed 0.15 second. The use of the proposed method of route determination significantly prolongs the execution time of algorithms. This is visible both for the 2-OPT as for the SA. It is acceptable for practical applications.

5

Summary

We defined a new type of problem that according to our best knowledge has not yet been analyzed. We found the way how to determine a good quality solution for the given set of areas. The two-level algorithm that combines algorithms 2OPT(C), 2-OPT and SA at the higher level and Powell’s algorithm on the lower level resulted in a solution with very good quality. As a future work proposed approaches are planned to be implemented and tested in real-world scenario.

A Numerical Approach to Solving the Aerial Inspection Problem

Fig. 3. Visualization of steps of the heuristic algorithm.

251

252

R. Grymin et al.

Acknowledgments. This work is partially supported by the National Science Centre of Poland, grant OPUS no. DEC 2017/25/B/ST7/02181 and by the grant no. POIR.01. 01.01-00-1176/15.

References 1. Aarts, E.H.L., van Laarhoven, P.J.M.: Simulated annealing: a pedestrian review of the theory and some applications. In: Devijver P.A., Kittler J. (eds.) Pattern Recognition Theory and Applications. NATO ASI Series (Series F: Computer and Systems Sciences), vol. 30. Springer, Berlin (1987) 2. Bo˙zejko, W., Wodecki, M.: Parallel evolutionary algorithm for the traveling salesman problem. J. Numer. Anal. Ind. Appl. Math. 2(3–4), 129–137 (2007) 3. Byrd, R.H., Lu, P., Nocedal, J.: A limited memory algorithm for bound constrained optimization. SIAM J. Sci. Comput. 16(5), 1190–1208 (1995) 4. Croes, G.A.: A method for solving traveling-salesman problems. Oper. Res. 6(6), 791–812 (1958) 5. Englert, M., R¨ oglin, H., V¨ ocking, B.: Worst case and probabilistic analysis of the 2-Opt algorithm for the TSP. Algorithmica 68(1), 190–264 (2014) 6. Imeson, F., Smith, S.L.: Multi-robot task planning and sequencing using the SATTSP language. In: IEEE International Conference on Robotics and Automation, pp. 5397–5402 (2015) 7. Ke-Lin, D., Swamy, M.N.S.: Search and optimization by metaheuristics, pp. 29–36. Springer, New York City (2016) 8. Kraft D.: A software package for sequential quadratic programming. Forschungsbericht- Deutsche Forschungs- und Versuchsanstalt fur Luft- und Raumfahrt (1988) 9. Mathew, N., Smith, S.L., Waslander, S.L.: Multirobot rendezvous planning for recharging in persistent tasks. IEEE Trans. Robot. 31(1), 128–142 (2015) 10. Nelder, J.A., Mead, R.: A simplex method for function minimization. Comput. J. 7(4), 308–313 (1965) 11. Powell, M.J.D.: An efficient method for finding the minimum of a function of several variables without calculating derivatives. Comput. J. 7(2), 155–162 (1964) 12. Snyder, L., Daskin, M.: A random-key genetic algorithm for the generalized traveling salesman problem. Eur. J. Oper. Res. 17(1), 38–53 (2006) 13. Wolff, E.M., Topcu, U., Murray, R.M.: Optimal control of non-deterministic systems for a computationally efficient fragment of temporal logic. In: IEEE Conference on Decision and Control, pp. 3197–3204 (2013) 14. Zhu, C., Byrd, R.H., Lu, P., Nocedal, J.: Algorithm 778: L-BFGS-B: Fortran subroutines for large-scale bound-constrained optimization. ACM Trans. Math. Softw. (TOMS) 23(4), 550–560 (1997)

A Markovian Approach to the Mobility Management for the D2D Communications in 5G Cellular Network System Shouman Barua(B) and Robin Braun University of Technology, 15 Broadway, Sydney, NSW 2007, Australia [email protected], [email protected]

Abstract. Device to Device communication, which is mostly known as D2D communication is considered an integral part of the next generation (5G) telecommunication network system. However, it is still a challenge how to manage the devices while they are in moving condition. Only a few papers highlighted this problem and yet to come up with a reliable solution. We already proposed a unique algorithm of mobility management for the D2D communication system in our previous papers. In this chapter, we will highlight and explain the mobility model mathematically and analytically along with the simulation of the Markovian model. Markov model, which is essentially a simplified approach of describing a system that occupies a discrete state at any point in time. We also make a bridge between our mobility algorithm and Markovian model. Keywords: Markov Chain Mobility management · 5G

1

· Device to Device communication · D2D ·

Introduction

The 5G network requires a massive technological change to meet 1000 times date rate and huge data demand. Device-centric architecture, massive Multiple Input Multiple Output (MIMO), millimeter Wave (mmWave), Machine to Machine (M2M) communications, cloud RAN, flexible spectrum management like cognitive radio, Frequency Division Duplex (FDD)/Time Division Duplex (TDD) joint operation, Multi-Radio Access Technology (Multi-RAT) operation enhancement i.e. Wireless Fidelity (WiFi) interworking, services and enablers of new services i.e. Machine Type Communications (MTC), proximity-based services (ProSe), 3D beamforming are the some prospective technologies for the 5G enabled network [2–4,7,10]. Device to Device (D2D) communication is also a promising technology for the next-generation cellular network system like 5G. It will enhance the data rate, coverage, and quality of the network along with the spectral efficiency. Figure 1 illustrates an overall view of D2D communication in a cellular network. c Springer Nature Switzerland AG 2020  R. Klempous and J. Nikodem (eds.), Smart Innovations in Engineering and Technology, Topics in Intelligent Engineering and Informatics 15, https://doi.org/10.1007/978-3-030-32861-0_18

254

S. Barua and R. Braun

Fig. 1. D2D communication in a cellular system.

We proposed a mobility model for the D2D communications in our previous papers [5,6] where a D2D user is considered moving in different directions from the eNoodeB and another D2D pair. This algorithm proposes the complete handover model to achieve the maximum sum-rate. In those papers, we simulated the proposed model and reached at an optimum time for the D2D operation while data sum-rate was satisfactory. In this chapter, we introduce the Markov Chain model to describe the random mobility of D2D users mathematically and analytically. The Markov Chain model is a great choice to represent discrete space. The movement behavior of D2D users could be described entirely by using the Markov Chain model. The rest of the chapter is structured such as the next section is dedicated to the mathematical analysis of the Markov chain model and section three is for the simulation parameters and results followed by the conclusion.

2

Markov Chain Analysis on Moving D2D Users

The movement of D2D users is completely unpredictable from the network point of view. Any device from a pair can move in any direction from the other device. Initially, I assume that any device can move towards any direction or remain in the same position. We considered a D2D pair located within an area of a cell, as per Fig. 2. We also considered two different states, numbered 1 and 2. The users can move only between these two states. When a user is located at state 1, the probability of moving from state 1 to 2 is a and the likelihood of it remaining at the same position or state is then 1 − a. Similarly, another device from the pair located at position 2 can move towards the position 1 or stay in the same place. The probability of changing the position from 2 to 1 is b and staying at

A Markovian Approach to the Mobility Management for the

255

Fig. 2. Basic Markov state model of D2D communication devices.

the same location is 1 − b. Referring to the books [1,8,9,11,12], we can write the transition matrix as:   a (1) P = 1−a b 1−b . The eigenvalues of this matrix are 1 and (1 − a − b). Then the matrix could be written as:   −1 0 P = U 10 1−a−b U . (2) For the n number of states, this equation will be  −1  0 n P n = U 10 (1−a−b) U .

(3)

Now, we can write pn11 = A + B(1 − a − b)n

(4)

where A and B indicate some values depend on the following equation. A = b/(a + b) and B = a/(a + b).

(5)

From the Eqs. 4 and 5, pn11 = P1 (Xn = 1) =

a b + (1 − a − b)n a+b a+b

(6)

where (Xn )n≥0 is a Markov Chain. Its initial distribution is λ and transition matrix is P for i0 , i1 , . . . , in+1 ∈ I and all n ≥ 0. Similarly, we can compute the

256

S. Barua and R. Braun

other components of P n and finally get transition matrix P for all the states i ∈ I where i is the state and I is the state space. ⎞ ⎛ a a a b + (1−a−b)n − (1−a−b)n ⎟ ⎜ a+b a+b Pn = ⎝ a + b a + b (7) ⎠. b b a b − 1−a−b)n + (1−a−b)n a+b a+b a+b a+b Now, we extend from two positions to seven positions of a D2D user can moves per Fig. 3. To avoid the complexity, we break the model into some smaller positions, each of which is comparatively easy to understand. If i is the initial position and j is the next position to the moving direction where another device is located, we can say that i is leading to j and write i → j provided the condition is that Pi (Xn = j for some n ≥ 0) > 0. If a user communicates with any other users from position i to position j as a part of D2D communication, we write it i ↔ j if i → j and j → i satisfy.

Fig. 3. Seven position Markov Chain model for D2D communication in a cellular system.

Considering the Markov theorem for the distinct states of i and j, we can (n) write equivalents as pij > 0 for some n ≥ 1 and pi0 i1 pi1 i2 pi2 i3 ....pin−1 in > 0 for some states i0 i1 i2 ...in , where n ≥ 1, i0 = i and in = j. We consider another path model as per Fig. 4 to calculate the hitting probabilities and estimated mean hitting times. It is an asymmetric random

A Markovian Approach to the Mobility Management for the

257

Fig. 4. N state model.

walking model for a D2D user from a location to another location. Here, 0, 1, 2, . . . , i − 1, i, i + 1, . . . , N are the integers of locations with absorption at 0 and N . We assume that a + b = 1. From the fig, let hi = Pi (hit 0). Then, h0 = 1, hN = 0 and hi = bhi−1 +ahi+1 for 1 ≤ i ≤ N − 1. Using the boundary conditions, we get finally, hi =

(b/a)i − (b/a)N . 1 − (b/a)N

(8)

For the symmetric random walk where a = b, general solution is hi = 1 − 1/N and Ei (Time to hit {0, N }) = i(N − 1). Considering Markov Chain (Xn )n≥0 with transition matrix P , we can calculate hitting time and first passage time on i as Hi = inf {n ≥ 0 : Xn = i} and

(9)

Ti = inf {n ≥ 1 : Xn = i} .

(10)

If, X0 = i, Hi and Ti can only differ. Now, we can find the number of visits to i, return probability to i and mean return time to i from the following equations respectively. Vi =



1{Xn =i}

(11)

fi = Pi (Ti < ∞)

(12)

mi = Ei (Ti ).

(13)

n=0

If Pi (Vi = ∞) = 1, i is recurrent means the device user is keep coming back to. And if Pi (Vi = ∞) = 0, i is transient means user leave forever eventually. For the n-step transition probabilities, we can calculate the equivalence of transience and summability as per the following equations. ∞

n=0 ∞

n=0

(n)

pii = ∞ ⇔ fi = 1 implies that i is recurrent,

(n)

pii < ∞ ⇔ fi < 1

implies that i is transient.

(14)

(15)

258

2.1

S. Barua and R. Braun

Simple Random Walk on One Dimension Z

Consider a random walk model as per Fig. 5 where 0 < a, b < 1, and a + b = 1. Let hi = Pi (hit 0) and consider f0 = P0 (return to 0).

Fig. 5. Simple random walk model in one dimention.

Using the Markov property f1 = b + ah21 , we get f0 = bh−1 + ah1 .

(16)

The smallest solution for h1 is min{1, b/a}. If we consider a = b = 1/2, then h−1 = h1 = 1 which implies that f0 = 1 and the random walk is recurrent. If b > a, then h−1 < 1 and this is transience. Similarly, if b < a, then h1 < 1 that implies f0 < 1 and this implies also transience. 2.2

Simple Random Walk on Two Dimension Z2

Using the Eqs. (14) and (15), we could also analyse the two dimensional Z2 random walk model as mentioned in Fig. 6. If we start at 0 position, we can not come back to the original position after an odd number of steps. Therefore, (2n+1) = 0 for all n. With the probability of an bn , and considering a sequence of p00 steps of length 2n from 0, i.e., n steps right and n steps left, we get the equation as (2n)

p00

n n = ( 2n n )a b .

(17)

Using Stirling’s approximation, (2n)

p00

=

(2n)! (4ab)n (ab)n ∼ 2 (n!) A n/2

(18)

where A ∈ [1, ∞) and n → ∞. For the symmetric case, 4ab = 1 and the equation becomes √ 2 (2n) p00 = √ . (19) A n So, ∞

n=N

√ (2n)

p00

=

∞ 2 1 √ =∞ A n n=N

(20)

A Markovian Approach to the Mobility Management for the

259

Fig. 6. Simple random walk model in two dimentions.

which can show that the random walk is recurrent. If the a = b, then 4ab = r < 1, and for some N , ∞

(2n) p00

n=N

∞ 1 n ≤ n