Intelligent Algorithms in Software Engineering: Proceedings of the 9th Computer Science On-line Conference 2020, Volume 1 [1st ed.] 9783030519643, 9783030519650

This book gathers the refereed proceedings of the Intelligent Algorithms in Software Engineering Section of the 9th Comp

596 17 65MB

English Pages XV, 621 [635] Year 2020

Report DMCA / Copyright

DOWNLOAD PDF FILE

Table of contents :
Front Matter ....Pages i-xv
A Prescriptive Analytical Logic Model Incorporated with Analytic Hierarchy Process for Software Application Error Analysis (Hoo Meng Wong, Sagaya Sabestinal Amalathas, Tatana Zitkova)....Pages 1-25
Software Requirement in Iterative SDLC Model (Olatunji J. Okesola, Ayodele A. Adebiyi, Ayoade A. Owoade, Oyetunde Adeaga, Oluseyi Adeyemi, Isaac Odun-Ayo)....Pages 26-34
Simplified Framework of Natural Language Processing for Structure Management of Current-Age Data (J. Shruthi, Suma Swamy)....Pages 35-43
Design and Software Implementation of Heuristic and Suboptimal Strategies for the Mancala/Kalah Game (Libor Pekař, Jiří Andrla, Jan Dolinay)....Pages 44-53
Sector-Selective Hybrid Scheme Facilitating Hardware Supportability Over Image Compression (D. R. Premachand, U. Eranna)....Pages 54-62
Performance Evaluation of Joint Rate-Distortion Model of Video Codec (S. K. Veena, K. Mahesh Rao)....Pages 63-72
To Defeat DDoS Attacks in Cloud Computing Environment Using Software Defined Networking (SDN) (B. N. Yuvaraju, M. Narender)....Pages 73-93
Oriented Petri Nets as Means of Describing a Human-Computer Interaction (Kamelia Shoilekova, Desislava Baeva)....Pages 94-102
FPGA Based Transient Fault Generate and Fault Tolerant for Asynchronous and Synchronous Circuits (Y. N. Sharath Kumar, P. Dinesha)....Pages 103-110
Designing an Energy Efficient Routing for Subsystems Sensors in Internet of Things Eco-System Using Distributed Approach (G. N. Anil)....Pages 111-121
The Compare of Solo Programming and Pair Programming Strategies in a Scrum Team: A Multi-agent Simulation (Zhe Wang)....Pages 122-147
Fair Random Access with Track-Based SNR Scheduling for Full-Duplex Wireless Powered Communication Networks (Xiaowa Yong, Inwhee Joe)....Pages 148-155
A DTN Gateway-Based Architecture for Web Access in Space Internet (Mwamba Kasongo Dahouda, Ducsun Lim, Kyungrak Lee, Inwhee Joe)....Pages 156-164
Multi-objective Scheduling Optimization for ETL Tasks in Cluster Environment (Zhenxue Xu, Hui Li, Mei Chen, Zhenyu Dai, Huanjun Li, Ming Zhu)....Pages 165-177
An LSTM-Based Encoder-Decoder Model for State-of-Charge Estimation of Lithium-Ion Batteries (Shengmin Cui, Xiaowa Yong, Sanghwan Kim, Seokjoon Hong, Inwhee Joe)....Pages 178-188
Analysis of Social Engineering Attacks Using Exploit Kits (Tebogo Mokoena, Tranos Zuva, Martin Appiah)....Pages 189-204
Bipolar Disorder: A Pathway Towards Research Progress in Identification and Classification (K. A. Yashaswini, Shreyas Rao)....Pages 205-214
Managing Electronic Waste with Recycling: A Review of Developing and Developed Regions (Ramadile Moletsane)....Pages 215-225
Trajectory Modeling in a Pursuit Problem with Curvature Restrictions (A. A. Dubanov)....Pages 226-232
An Approach to Using Templates for Modeling Exceptions in Terms of Petri Nets (D. V. Leontev, D. I. Kharitonov, D. S. Odyakova, R. V. Parakhin)....Pages 233-247
PeBAO: A Performance Bottleneck Analysis and Optimization Framework in Concurrent Environments (Di Chen, Hui Li, Mei Chen, Zhenyu Dai, Huanjun Li, Ming Zhu et al.)....Pages 248-260
Matlab Code Generation and Consumption (Daniel Kuchár, Martin Bartoň, Peter Schreiber, Pavol Tanuška)....Pages 261-273
The Problem of Preventing the Development of Critical Combinations of Events in Large-Scale Systems (A. S. Bogomolov, A. F. Rezchikov, V. A. Kushnikov, V. A. Ivashchenko, T. E. Shulga, A. A. Samartsev et al.)....Pages 274-280
Using Software Package “Multimeat-Expert” for Modeling and Optimization of Composition Chopped Meat Product with Vegetable Additive (Darya A. Kolpakova, Lilia V. Naimushina, Galina A. Gubanenko, Tatyana V. Korbmakher, Irina D. Zykova, Ekaterina A. Rechkina)....Pages 281-290
Application of Machine Learning for Document Classification and Processing in Adaptive Information Systems (Artem Obukhov, Mikhail Krasnyanskiy)....Pages 291-300
SNR-Based TDMA Scheduling with Continuous Energy Transfer for Wireless Powered Communication Networks (Deukgong Yoon, Inwhee Joe)....Pages 301-309
Comparative Analysis of Software Development Life Cycle Models (SDLC) (Jide E. T. Akinsola, Afolakemi S. Ogunbanwo, Olatunji J. Okesola, Isaac J. Odun-Ayo, Florence D. Ayegbusi, Ayodele A. Adebiyi)....Pages 310-322
Development Quantum Method of Image Recognition Using Boundaries Selection and Transformation of a Quantum State (Sergey Gushanskiy, Maxim Polenov, Viktor Potapov)....Pages 323-330
The Preparation of Graphic Models for a Virtual Reality Application in Unity (Pavel Pokorný, Michal Birošík)....Pages 331-340
An Application for Solving Truth Functions (Pavel Pokorný, Daniel àevčík)....Pages 341-351
Factors Influencing Acceptance of Technology by Senior Citizens: A Systematic Review (Adibah Hanun Abu Seman, Rohiza Ahmad, Hitham Seddig Alhassan Alhussian)....Pages 352-365
Modeling Business Process and Events (Sabah Al-Fedaghi, Majd Makdessi)....Pages 366-379
The Study of Optimization Method for Axisymmetric Aerodynamic Profile in the Gas Flow by Using Evolutionary Algorithms (Nikolay Nikolaevich Chernov, Alexander Viktorovich Palii, Vladimir Vladimirovich Ignatyev, Andrey Vladimirovich Kovalev, Andrey Michailovich Maevskiy, Aleksandr Viktorovich Maksimov)....Pages 380-387
MicroPython as a Development Platform for IoT Applications (Gabriel Gaspar, Peter Fabo, Michal Kuba, Juraj Dudak, Eduard Nemlaha)....Pages 388-394
Cycle-Breaking Approach to Reduce Inconsistency in Pairwise Comparisons (Vladimir Sudakov, Alexey Kurennykh)....Pages 395-400
Statistical Analysis for Customer Product Reviews in Russian Internet Segment Using Text Mining (Polina Tuchkova, Vadim Sufiyanov)....Pages 401-412
Methodology for Job Advertisements Analysis in the Labor Market in Metropolitan Cities: The Case Study of the Capital of Russia (Eugene Pitukhin, Marina Astafyeva, Irina Astafyeva)....Pages 413-429
Constructing a Learner Model Based on the Latent Cognitive Structure of an Online Course (Igor Nekhaev, Ilya Zhuykov, Artyom Illarionov)....Pages 430-449
Coarse-Grained vs. Fine-Grained Lithuanian Dependency Parsing (Jurgita Kapočiūtė-Dzikienė, Robertas Damaševičius)....Pages 450-464
Eye-Tracking Study of Direction Influence of User’s Attention for Intelligence System Design (Veronika Ander, Petr Cihelka, Jan Tyrychtr, Tomáš Benda, Hana Vostrá Vydrová, Dana Klimešová)....Pages 465-473
Parallel Algorithm for K-Means Clustering in Wood Species Classification (P. H. Gunawan, Taufik Fathurahman)....Pages 474-483
Synthesis of Fuzzy Algorithms Controlling the Temperature of the Polymer in the Extruder (V. I. Bozhko, E. V. Naumenko, V. F. Kornyushko, R. R. Biglov)....Pages 484-491
Search-Based Wrapper Feature Selection Methods in Software Defect Prediction: An Empirical Analysis (Abdullateef O. Balogun, Shuib Basri, Said A. Jadid, Saipunidzam Mahamad, Malek A. Al-momani, Amos O. Bajeh et al.)....Pages 492-503
Development of a Method for Modeling Entangled Quantum Computations Applicable in the Simon’s Quantum Algorithm (Gorbunov Alexander, Sergey Gushanskiy, Viktor Potapov)....Pages 504-512
Development of the Architecture of the System for Detecting Objects in Images (Sergey Smagin, Ilya Manzhula)....Pages 513-520
Algorithmic and Software Support for Technological Decision-Making in the Process of Induction Soldering (Anton Milov, Vadim Tynchenko, Vyacheslav Petrenko, Sergei Kurashkin)....Pages 521-530
Automated Extraction of Paradigmatic Relationships from Natural Language Texts on the Basis of the Complex of Heterogeneous Features (V. V. Dikovitsky, M. G. Shishaev)....Pages 531-541
HNM: Hexagonal Network Model for Comprehensive Smart City Management in Internet-of-Things (Eisha Akanksha)....Pages 542-553
Multicriteria Model for Evaluation of Outsourcing Services by Logistics Operators (Marcelo Crispim Salazar, Placido Rogério Pinheiro, Isaura Cardoso Cavalcante de Castro)....Pages 554-566
A Proposal of Kubernetes Scheduler Using Machine-Learning on CPU/GPU Cluster (Ishak Harichane, Sid Ahmed Makhlouf, Ghalem Belalem)....Pages 567-580
Integration of the MATLAB System and the Object-Oriented Programming System C# Based on the Microsoft COM Interface for Solving Computational and Graphic Tasks (Sergey Adadurov, Yulia Fomenko, Anatoly Khomonenko, Alexander Krasnovidov)....Pages 581-589
The Heterogeneities Elimination in the Process of Data Insertion Procedures Creation in Structure-Independent Databases (Andrey Grishchenko, Yury Rogozov, Sergey Kucherov)....Pages 590-596
Paidagogos S.G.: Development and Programming of the Serious Game Application (Marián Hosťovecký, Miroslav Ölvecký, Katarína Pribilová)....Pages 597-604
Some Methods for Constructing Solution Generators of a Search Method in the State Space for Declaring Logical Tasks (Olga N. Polovikova, Alexander V. Zharikov, Larisa L. Smolyakova, Tanya V. Mikheeva)....Pages 605-618
Back Matter ....Pages 619-621
Recommend Papers

Intelligent Algorithms in Software Engineering: Proceedings of the 9th Computer Science On-line Conference 2020, Volume 1 [1st ed.]
 9783030519643, 9783030519650

  • 0 0 0
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up
File loading please wait...
Citation preview

Advances in Intelligent Systems and Computing 1224

Radek Silhavy   Editor

Intelligent Algorithms in Software Engineering Proceedings of the 9th Computer Science On-line Conference 2020, Volume 1

Advances in Intelligent Systems and Computing Volume 1224

Series Editor Janusz Kacprzyk, Systems Research Institute, Polish Academy of Sciences, Warsaw, Poland Advisory Editors Nikhil R. Pal, Indian Statistical Institute, Kolkata, India Rafael Bello Perez, Faculty of Mathematics, Physics and Computing, Universidad Central de Las Villas, Santa Clara, Cuba Emilio S. Corchado, University of Salamanca, Salamanca, Spain Hani Hagras, School of Computer Science and Electronic Engineering, University of Essex, Colchester, UK László T. Kóczy, Department of Automation, Széchenyi István University, Gyor, Hungary Vladik Kreinovich, Department of Computer Science, University of Texas at El Paso, El Paso, TX, USA Chin-Teng Lin, Department of Electrical Engineering, National Chiao Tung University, Hsinchu, Taiwan Jie Lu, Faculty of Engineering and Information Technology, University of Technology Sydney, Sydney, NSW, Australia Patricia Melin, Graduate Program of Computer Science, Tijuana Institute of Technology, Tijuana, Mexico Nadia Nedjah, Department of Electronics Engineering, University of Rio de Janeiro, Rio de Janeiro, Brazil Ngoc Thanh Nguyen , Faculty of Computer Science and Management, Wrocław University of Technology, Wrocław, Poland Jun Wang, Department of Mechanical and Automation Engineering, The Chinese University of Hong Kong, Shatin, Hong Kong

The series “Advances in Intelligent Systems and Computing” contains publications on theory, applications, and design methods of Intelligent Systems and Intelligent Computing. Virtually all disciplines such as engineering, natural sciences, computer and information science, ICT, economics, business, e-commerce, environment, healthcare, life science are covered. The list of topics spans all the areas of modern intelligent systems and computing such as: computational intelligence, soft computing including neural networks, fuzzy systems, evolutionary computing and the fusion of these paradigms, social intelligence, ambient intelligence, computational neuroscience, artificial life, virtual worlds and society, cognitive science and systems, Perception and Vision, DNA and immune based systems, self-organizing and adaptive systems, e-Learning and teaching, human-centered and human-centric computing, recommender systems, intelligent control, robotics and mechatronics including human-machine teaming, knowledge-based paradigms, learning paradigms, machine ethics, intelligent data analysis, knowledge management, intelligent agents, intelligent decision making and support, intelligent network security, trust management, interactive entertainment, Web intelligence and multimedia. The publications within “Advances in Intelligent Systems and Computing” are primarily proceedings of important conferences, symposia and congresses. They cover significant recent developments in the field, both of a foundational and applicable character. An important characteristic feature of the series is the short publication time and world-wide distribution. This permits a rapid and broad dissemination of research results. ** Indexing: The books of this series are submitted to ISI Proceedings, EI-Compendex, DBLP, SCOPUS, Google Scholar and Springerlink **

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

Radek Silhavy Editor

Intelligent Algorithms in Software Engineering Proceedings of the 9th Computer Science On-line Conference 2020, Volume 1

123

Editor Radek Silhavy Faculty of Applied Informatics Tomas Bata University in Zlín Zlín, Czech Republic

ISSN 2194-5357 ISSN 2194-5365 (electronic) Advances in Intelligent Systems and Computing ISBN 978-3-030-51964-3 ISBN 978-3-030-51965-0 (eBook) https://doi.org/10.1007/978-3-030-51965-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

Preface

Software engineering research papers and topics are presented in this proceedings. This proceedings is a Vol. 1 of the Computer Science On-line Conference. Papers in this part discuss intelligent algorithms, application of machine and statistical learning in the software engineering research. This book constitutes the refereed proceedings of the Intelligent Algorithms in Software Engineering section of the 9th Computer Science On-line Conference 2020 (CSOC 2020), held online in April 2020. CSOC 2020 has received (all sections) more than 270 submissions from more than 35 countries. More than 65% of accepted submissions were received from Europe, 21% from Asia, 8% from Africa, 4% from America and 2% from Australia. CSOC 2020 conference intends to provide an international forum for the discussion of the latest high-quality research results in all areas related to computer science. Computer Science On-line Conference is held online, and modern communication technology, which are broadly used, improves the traditional concept of scientific conferences. It brings equal opportunity to participate for all researchers around the world. I believe that you find the following proceedings exciting and useful for your research work. April 2020

Radek Silhavy

v

Organization

Program Committee Program Committee Chairs Petr Silhavy Radek Silhavy Zdenka Prokopova Roman Senkerik Roman Prokop Viacheslav Zelentsov

Roman Tsarev

Tomas Bata University in Zlin, Faculty of Applied Informatics, Czech Republic Tomas Bata University in Zlin, Faculty of Applied Informatics, Czech Republic Tomas Bata University in Zlin, Faculty of Applied Informatics, Czech Republic Tomas Bata University in Zlin, Faculty of Applied Informatics, Czech Republic Tomas Bata University in Zlin, Faculty of Applied Informatics, Czech Republic Doctor of Engineering Sciences, Chief Researcher of St.Petersburg Institute for Informatics and Automation of Russian Academy of Sciences (SPIIRAS), Russia Department of Informatics, Siberian Federal University, Krasnoyarsk, Russia

Program Committee Members Boguslaw Cyganek Krzysztof Okarma

Monika Bakosova

Department of Computer Science, University of Science and Technology, Krakow, Poland Faculty of Electrical Engineering, West Pomeranian University of Technology, Szczecin, Poland Institute of Information Engineering, Automation and Mathematics, Slovak University of Technology, Bratislava, Slovak Republic

vii

viii

Pavel Vaclavek

Miroslaw Ochodek Olga Brovkina

Elarbi Badidi

Luis Alberto Morales Rosales

Mariana Lobato Baes Abdessattar Chaâri

Gopal Sakarkar V. V. Krishna Maddinala Anand N. Khobragade (Scientist) Abdallah Handoura

Organization

Faculty of Electrical Engineering and Communication, Brno University of Technology, Brno, Czech Republic Faculty of Computing, Poznan University of Technology, Poznan, Poland Global Change Research Centre Academy of Science of the Czech Republic, Brno, Czech Republic, and Mendel University of Brno, Czech Republic College of Information Technology, United Arab Emirates University, Al Ain, United Arab Emirates Head of the Master Program in Computer Science, Superior Technological Institute of Misantla, Mexico Superior Technological of Libres, Mexico Laboratory of Sciences and Techniques of Automatic Control and Computer Engineering, University of Sfax, Tunisian Republic Shri. Ramdeobaba College of Engineering and Management, Republic of India GD Rungta College of Engineering & Technology, Republic of India Maharashtra Remote Sensing Applications Centre, Republic of India Computer and Communication Laboratory, Telecom Bretagne, France

Technical Program Committee Members Ivo Bukovsky Maciej Majewski Miroslaw Ochodek Bronislav Chramcov Eric Afful Dazie Michal Bliznak Donald Davendra Radim Farana Martin Kotyrba Erik Kral David Malanik Michal Pluhacek Zdenka Prokopova Martin Sysel

Roman Senkerik Petr Silhavy Radek Silhavy Jiri Vojtesek Eva Volna Janez Brest Ales Zamuda Roman Prokop Boguslaw Cyganek Krzysztof Okarma Monika Bakosova Pavel Vaclavek Olga Brovkina Elarbi Badidi

Organization

ix

Organizing Committee Chair Radek Silhavy

Tomas Bata University in Zlin, Faculty of Applied Informatics, email: [email protected]

Conference Organizer (Production) Silhavy s.r.o. Website: https://www.openpublish.eu Email: [email protected]

Conference Website, Call for Papers https://www.openpublish.eu

Contents

A Prescriptive Analytical Logic Model Incorporated with Analytic Hierarchy Process for Software Application Error Analysis . . . . . . . . . Hoo Meng Wong, Sagaya Sabestinal Amalathas, and Tatana Zitkova Software Requirement in Iterative SDLC Model . . . . . . . . . . . . . . . . . . Olatunji J. Okesola, Ayodele A. Adebiyi, Ayoade A. Owoade, Oyetunde Adeaga, Oluseyi Adeyemi, and Isaac Odun-Ayo

1 26

Simplified Framework of Natural Language Processing for Structure Management of Current-Age Data . . . . . . . . . . . . . . . . . . J. Shruthi and Suma Swamy

35

Design and Software Implementation of Heuristic and Suboptimal Strategies for the Mancala/Kalah Game . . . . . . . . . . . . . . . . . . . . . . . . . Libor Pekař, Jiří Andrla, and Jan Dolinay

44

Sector-Selective Hybrid Scheme Facilitating Hardware Supportability Over Image Compression . . . . . . . . . . . . . . . . . . . . . . . . D. R. Premachand and U. Eranna

54

Performance Evaluation of Joint Rate-Distortion Model of Video Codec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . S. K. Veena and K. Mahesh Rao

63

To Defeat DDoS Attacks in Cloud Computing Environment Using Software Defined Networking (SDN) . . . . . . . . . . . . . . . . . . . . . . . . . . . B. N. Yuvaraju and M. Narender

73

Oriented Petri Nets as Means of Describing a Human-Computer Interaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Kamelia Shoilekova and Desislava Baeva

94

FPGA Based Transient Fault Generate and Fault Tolerant for Asynchronous and Synchronous Circuits . . . . . . . . . . . . . . . . . . . . . 103 Y. N. Sharath Kumar and P. Dinesha xi

xii

Contents

Designing an Energy Efficient Routing for Subsystems Sensors in Internet of Things Eco-System Using Distributed Approach . . . . . . . 111 G. N. Anil The Compare of Solo Programming and Pair Programming Strategies in a Scrum Team: A Multi-agent Simulation . . . . . . . . . . . . . 122 Zhe Wang Fair Random Access with Track-Based SNR Scheduling for Full-Duplex Wireless Powered Communication Networks . . . . . . . . 148 Xiaowa Yong and Inwhee Joe A DTN Gateway-Based Architecture for Web Access in Space Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 Mwamba Kasongo Dahouda, Ducsun Lim, Kyungrak Lee, and Inwhee Joe Multi-objective Scheduling Optimization for ETL Tasks in Cluster Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 Zhenxue Xu, Hui Li, Mei Chen, Zhenyu Dai, Huanjun Li, and Ming Zhu An LSTM-Based Encoder-Decoder Model for State-of-Charge Estimation of Lithium-Ion Batteries . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 Shengmin Cui, Xiaowa Yong, Sanghwan Kim, Seokjoon Hong, and Inwhee Joe Analysis of Social Engineering Attacks Using Exploit Kits . . . . . . . . . . . 189 Tebogo Mokoena, Tranos Zuva, and Martin Appiah Bipolar Disorder: A Pathway Towards Research Progress in Identification and Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 K. A. Yashaswini and Shreyas Rao Managing Electronic Waste with Recycling: A Review of Developing and Developed Regions . . . . . . . . . . . . . . . . . . 215 Ramadile Moletsane Trajectory Modeling in a Pursuit Problem with Curvature Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 A. A. Dubanov An Approach to Using Templates for Modeling Exceptions in Terms of Petri Nets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 D. V. Leontev, D. I. Kharitonov, D. S. Odyakova, and R. V. Parakhin PeBAO: A Performance Bottleneck Analysis and Optimization Framework in Concurrent Environments . . . . . . . . . . . . . . . . . . . . . . . . 248 Di Chen, Hui Li, Mei Chen, Zhenyu Dai, Huanjun Li, Ming Zhu, and Jian Zhang

Contents

xiii

Matlab Code Generation and Consumption . . . . . . . . . . . . . . . . . . . . . . 261 Daniel Kuchár, Martin Bartoň, Peter Schreiber, and Pavol Tanuška The Problem of Preventing the Development of Critical Combinations of Events in Large-Scale Systems . . . . . . . . . . . . . . . . . . 274 A. S. Bogomolov, A. F. Rezchikov, V. A. Kushnikov, V. A. Ivashchenko, T. E. Shulga, A. A. Samartsev, E. V. Kushnikova, E. V. Berdnova, E. Yu. Kalikinskaya, and O. V. Kushnikov Using Software Package “Multimeat-Expert” for Modeling and Optimization of Composition Chopped Meat Product with Vegetable Additive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 Darya A. Kolpakova, Lilia V. Naimushina, Galina A. Gubanenko, Tatyana V. Korbmakher, Irina D. Zykova, and Ekaterina A. Rechkina Application of Machine Learning for Document Classification and Processing in Adaptive Information Systems . . . . . . . . . . . . . . . . . . 291 Artem Obukhov and Mikhail Krasnyanskiy SNR-Based TDMA Scheduling with Continuous Energy Transfer for Wireless Powered Communication Networks . . . . . . . . . . . . . . . . . . 301 Deukgong Yoon and Inwhee Joe Comparative Analysis of Software Development Life Cycle Models (SDLC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310 Jide E. T. Akinsola, Afolakemi S. Ogunbanwo, Olatunji J. Okesola, Isaac J. Odun-Ayo, Florence D. Ayegbusi, and Ayodele A. Adebiyi Development Quantum Method of Image Recognition Using Boundaries Selection and Transformation of a Quantum State . . . . . . . 323 Sergey Gushanskiy, Maxim Polenov, and Viktor Potapov The Preparation of Graphic Models for a Virtual Reality Application in Unity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331 Pavel Pokorný and Michal Birošík An Application for Solving Truth Functions . . . . . . . . . . . . . . . . . . . . . 341 Pavel Pokorný and Daniel Ševčík Factors Influencing Acceptance of Technology by Senior Citizens: A Systematic Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352 Adibah Hanun Abu Seman, Rohiza Ahmad, and Hitham Seddig Alhassan Alhussian Modeling Business Process and Events . . . . . . . . . . . . . . . . . . . . . . . . . . 366 Sabah Al-Fedaghi and Majd Makdessi

xiv

Contents

The Study of Optimization Method for Axisymmetric Aerodynamic Profile in the Gas Flow by Using Evolutionary Algorithms . . . . . . . . . . 380 Nikolay Nikolaevich Chernov, Alexander Viktorovich Palii, Vladimir Vladimirovich Ignatyev, Andrey Vladimirovich Kovalev, Andrey Michailovich Maevskiy, and Aleksandr Viktorovich Maksimov MicroPython as a Development Platform for IoT Applications . . . . . . . 388 Gabriel Gaspar, Peter Fabo, Michal Kuba, Juraj Dudak, and Eduard Nemlaha Cycle-Breaking Approach to Reduce Inconsistency in Pairwise Comparisons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395 Vladimir Sudakov and Alexey Kurennykh Statistical Analysis for Customer Product Reviews in Russian Internet Segment Using Text Mining . . . . . . . . . . . . . . . . . . . . . . . . . . . 401 Polina Tuchkova and Vadim Sufiyanov Methodology for Job Advertisements Analysis in the Labor Market in Metropolitan Cities: The Case Study of the Capital of Russia . . . . . . 413 Eugene Pitukhin, Marina Astafyeva, and Irina Astafyeva Constructing a Learner Model Based on the Latent Cognitive Structure of an Online Course . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430 Igor Nekhaev, Ilya Zhuykov, and Artyom Illarionov Coarse-Grained vs. Fine-Grained Lithuanian Dependency Parsing . . . . 450 Jurgita Kapočiūtė-Dzikienė and Robertas Damaševičius Eye-Tracking Study of Direction Influence of User’s Attention for Intelligence System Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 Veronika Ander, Petr Cihelka, Jan Tyrychtr, Tomáš Benda, Hana Vostrá Vydrová, and Dana Klimešová Parallel Algorithm for K-Means Clustering in Wood Species Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474 P. H. Gunawan and Taufik Fathurahman Synthesis of Fuzzy Algorithms Controlling the Temperature of the Polymer in the Extruder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484 V. I. Bozhko, E. V. Naumenko, V. F. Kornyushko, and R. R. Biglov Search-Based Wrapper Feature Selection Methods in Software Defect Prediction: An Empirical Analysis . . . . . . . . . . . . . . . . . . . . . . . 492 Abdullateef O. Balogun, Shuib Basri, Said A. Jadid, Saipunidzam Mahamad, Malek A. Al-momani, Amos O. Bajeh, and Ammar K. Alazzawi Development of a Method for Modeling Entangled Quantum Computations Applicable in the Simon’s Quantum Algorithm . . . . . . . . 504 Gorbunov Alexander, Sergey Gushanskiy, and Viktor Potapov

Contents

xv

Development of the Architecture of the System for Detecting Objects in Images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513 Sergey Smagin and Ilya Manzhula Algorithmic and Software Support for Technological Decision-Making in the Process of Induction Soldering . . . . . . . . . . . . . 521 Anton Milov, Vadim Tynchenko, Vyacheslav Petrenko, and Sergei Kurashkin Automated Extraction of Paradigmatic Relationships from Natural Language Texts on the Basis of the Complex of Heterogeneous Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531 V. V. Dikovitsky and M. G. Shishaev HNM: Hexagonal Network Model for Comprehensive Smart City Management in Internet-of-Things . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542 Eisha Akanksha Multicriteria Model for Evaluation of Outsourcing Services by Logistics Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554 Marcelo Crispim Salazar, Placido Rogério Pinheiro, and Isaura Cardoso Cavalcante de Castro A Proposal of Kubernetes Scheduler Using Machine-Learning on CPU/GPU Cluster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567 Ishak Harichane, Sid Ahmed Makhlouf, and Ghalem Belalem Integration of the MATLAB System and the Object-Oriented Programming System C# Based on the Microsoft COM Interface for Solving Computational and Graphic Tasks . . . . . . . . . . . . . . . . . . . 581 Sergey Adadurov, Yulia Fomenko, Anatoly Khomonenko, and Alexander Krasnovidov The Heterogeneities Elimination in the Process of Data Insertion Procedures Creation in Structure-Independent Databases . . . . . . . . . . . 590 Andrey Grishchenko, Yury Rogozov, and Sergey Kucherov Paidagogos S.G.: Development and Programming of the Serious Game Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 597 Marián Hosťovecký, Miroslav Ölvecký, and Katarína Pribilová Some Methods for Constructing Solution Generators of a Search Method in the State Space for Declaring Logical Tasks . . . . . . . . . . . . . 605 Olga N. Polovikova, Alexander V. Zharikov, Larisa L. Smolyakova, and Tanya V. Mikheeva Author Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619

A Prescriptive Analytical Logic Model Incorporated with Analytic Hierarchy Process for Software Application Error Analysis Hoo Meng Wong1(B) , Sagaya Sabestinal Amalathas1 , and Tatana Zitkova2 1 Taylor’s University, Subang Jaya, Selangor, Malaysia

[email protected] 2 Prague, Czech Republic

Abstract. Software application is still playing an important role in today’s business operation. However, the software application error can arise either within the software application layer or due to any other factor outside the software application layer. The root cause analysis activity becomes much more time consuming to identify the valid error. With that, it arises the problem statement that the duration of root cause analysis on software application error carries crucial impact to the service restoration. The objective of this proposed logic model is to conduct decision making process to identify the valid software application error. This logic model consists of the algorithm to carry various important processes include the identification of the root cause in a more accurate manner, and shorten the duration of root cause analysis activity. The design of Analytic Hierarchy Process (AHP) hierarchy will depend on the software application errors and other involved errors found from different layers. As these errors become the participants, they can be grouped further based on the error categories. Once the hierarchy is constructed, the participants analyze it through a series of pairwise comparisons that derive numerical scales of measurement for the nodes. The priorities are associated with the nodes, and the nodes carry weights of the criteria or alternatives. By the priority, the valid error and the preferred resolution can be decided. Indeed many past researches in AHP had been published, however there is a knowledge gap of AHP in software application error analysis. Therefore this Prescriptive Analytical Logic Model (PAL) incorporates with AHP into the proposed algorithm is required. At the end this logic model contributes a new knowledge in the area of log file analysis to shorten the total time spent on root cause analysis activity. Keywords: Analytic hierarchy process · Application log file analysis · Application log file debugging · Machine learning

1 Introduction Business companies adopt Information Technology (IT) as a strategic enabler to sustain their business operations. When the software application becomes crucial for processing the business transactions, it has lower toleration for downtime expected by the company © Springer Nature Switzerland AG 2020 R. Silhavy (Ed.): CSOC 2020, AISC 1224, pp. 1–25, 2020. https://doi.org/10.1007/978-3-030-51965-0_1

2

H. M. Wong et al.

management. This was clearly supported by Labels: Data Center, Downtime, www. evolven.com (2014), and indeed software application downtime can cause the business operation ceased. Business company has option that it can run an IT production support team to provide support service to whichever business-as-usual (BAU) system running in the organization. Another option is that it can engage service provider to provide the same IT support service. Regardless whichever option is chosen, the time spent on conducting root cause analysis on software application error is crucial. Without accurately identifying the valid error, it creates impact to the service restoration to the software application. As of the fact, identifying the root cause of the software application error is crucial before the resolution is decided and deployed into production environment. There are several required actions in the root cause analysis activity. These actions are:i. Collecting related information from different log files. ii. Selecting the related log events based on the time event when software application error occurred. Most of the time, collecting input information for root cause analysis is time consuming. This statement is supported by Management Logic (2012) stated that “The most time consuming aspect of Root Cause Analysis (RCA). Practitioners must gather the all the evidence to fully understand the incident or failure.”. On the other hand, Horvath (2015) had also pointed out that “While the analysis itself can be time-consuming, the chance to mitigate or eliminate the root causes of several recurring problems/ problem patterns is definitely worth the effort.”. Hence, it is crucial to look for an efficient method to reduce the prolonging time at the root cause analysis activity. Generally, each software application has its built-in event logging ability. The purpose of this event logging records the information of what activity is carried out or even what incident is occurred at that exact time. This information includes appropriate debugging information, and later the same information can be analyzed for software application root cause analysis purpose. The concern raised to the required information logging is that how much logging information is accepted as sufficient for software application root cause analysis. In addition, what is the appropriate category for the logging event such as information, error, debug, and fatal should be fetched as the input information to the root cause analysis activity. In the situation that if the extensive event logging level is enabled, this can lead to excessive logging information generated. With that, there are two issues raised. i. The first issue is that, the performance of software application is reduced by comparing with before and after extensive event logging option is enabled. ii. The second issue is that, the manual analysis activity is becoming much more difficult and even tedious to identify the root cause of the software application error. Therefore, in the software application development process, it is a great concern on how much detail event logging should be logged into the log file. At the same time, the event logging must mitigate the performance impact created to the software application. These mentioned concerns had also been highlighted by Loggly (2017) and Panda (2011).

A Prescriptive Analytical Logic Model Incorporated

3

As per the following Fig. 1, Operating System communicates between software application and assigned resources (such as CPU, Memory, Network, and Hard Disk) on the virtual machine. Software application has to interact with Operating System to obtain allocated server resources to handle software application processing. This is because software application has high dependency on server resources to carry out its execution. Without the server resources, software application cannot execute itself at the software application layer. Further more, software application requires to communicate to its database server through the Local Area Network (LAN) for retrieving and updating software application data.

Fig. 1. Software Application is required sufficient server resources to execute all its functionality.

To identify the root cause of software application error, it can be prolong under the following challenges. i. Software application log is hard to be understand. ii. Error is occurred beyond software application layer, such as Operating System, Network, and Database layers. Software application log alone is insufficient to identify the actual error. iii. IT support personnel has insufficient knowledge and experience in performing analysis. iv. Root cause analysis is conducted manually, crucial information is overlooked. v. Historical error events are taking even longer time to be located. With all the mentioned concerns and scenarios, by depending software application log file alone is not sufficient to conduct software application root cause analysis whenever error is occurred beyond the software application layer. Hence a proposed research is required for establishing a prescriptive analytical logic model. This proposed logic

4

H. M. Wong et al.

model incorporated the proposed algorithm to conduct the root cause analysis activity. It must target to increase the accuracy for error identification, and to reduce the prolonging time spent on the duration of root cause analysis. Therefore, this is a good potential to contribute new knowledge to the software application analysis.

2 Significant of the Study The proposed research is not focusing on the time spent of developing the resolution. This is because if the valid error is not identified accurately, then it is very high chances that the resolution may not resolve the real issue. Therefore, the ultimate focus must fall on the root cause analysis and how fast the valid can be identified during the analysis activity is crucial. By reducing the prolonging time spent on root cause analysis, and improving the accuracy of identifying valid software application error. It can resume the software application service to the users in a shorter total time taken. This is because with today’s rapid business competitive world, time consuming on analysis and trouble-shooting activities is unacceptable. Furthermore, it is a continuous battle for the IT support to face day-to-day software application error challenge in order to provide reliable up-time for the software application utilized in the business organization. On the other hand, business companies must still continue to utilize their existing software applications (without incur any additional operation budget). At the same time, it must continue to allow the companies to save the investment budget on spending the capital amount to replace all or partial of the software applications. Without introduces any new software application, companies can avoid to re-train their users on using the new software applications. This propose logic model brings the above benefits to business companies which are using software application for their daily operations crucially. The objective is to get the valid error fixed and to mitigate any same error re-occurrence in the near future. Over the years there were various researches had been done at this area such as consolidate the logs or integrate the logs for analysis. In fact, there had been very few attempts to propose an algorithm on root cause analysis beyond the software application layer. To support this, Valdman (2001) had showed more detailed log file analysis by comparing the past published techniques whereas other studies were only indicated intentions or suggestions. Moreover, there is no attempt to incorporate Analytic Hierarchy Process (AHP) for decision making on valid software application error. This can be supported by Vaidya and Kumar (2004) that they had reviewed Analytic Hierarchy Process (AHP) with 150 application papers in total. There is no knowledge in applying AHP on identifying valid error. Hence, this is a great potential in this research which brings contribution to business intelligent studies.

3 Motivations There are three major motivations trigger the statement of problem. The 1st Motivation With the software application error log file alone, it may not be adequate for analysis to identify the root cause of software application error if the cause is outside the software application layer. The impacts are shown along with the involved components.

A Prescriptive Analytical Logic Model Incorporated

5

Environment Impact Infrastructure Layer. i. Operating System fails and running unstable. ii. Network Communication fails. Software Application Layer. i. ii. iii. iv. v.

Software Application Defect. Web Service fails. Messaging Queue is full. Backend agents are not processing the data in the Messaging Queue. Database is not responding.

Equipment Impact Insufficient of server resources such as CPU, Memory, Disk, Network Card Bandwidth. The 2nd Motivation Time consuming to read through the software application log file manually during root cause analysis activity. The impacts are shown along with the supporting points. Management Impact i. Software applications cannot afford to have downtime as it can impact the business operation. ii. High expectation on software application support team by the management to resume software application service when software application service or certain functions are unavailable. People Impact The time spent on analyzing the software application error manually will be longer if the input information is taking longer time to analyze before the valid root cause is identified. The 3rd Motivation The root cause analysis activity is conducted by human, it is very subjective to the person would make a right or wrong judgment on the software application error. The impact is shown along with the supporting point. People Impact (Different from the 2nd Motivation) Experience, Knowledge, Skill - Any wrong judgment on the valid software application error would lead to a wrong direction to create a useless resolution and eventually end up with wasting effort and time to fix a wrong software application error. This has derived the following fish bone diagram to illustrate all the involved impacts (Fig. 2). The fish bone diagram illustrates that it has four major impacts contributed to the statement of problem. These impacts are Management, People, Environment and Equipment.

6

H. M. Wong et al.

Fig. 2. Fish bone diagram to illustrate issues contributed to the software application malfunctioning.

• Management is always looking for effective outcome as they have sat a big amount as part of the yearly budge of the year to the software application support team department. • People is mainly referring to the support team member’s capability whether the person is capable to analyze the software application error, or even whether the person is able to work under pressure. • Environment consists of infrastructure and software application layers. The issues happened in Environment can lead to the statement of problem would be far more complicated and hard to identify the root cause of the error, because of the complexity of the software application running in a multiple tier environment. • Lastly is the Equipment that is referring to insufficient of server resources will also lead to the statement of problem.

4 Statement of Problem The time duration of root cause analysis conducted on software application error carries crucial impact to the service restoration of business operation. Explanation: The total time taken to resolve the software application error consists of the duration for conducting the root cause analysis activity, and the duration for applying the resolution. The solution may or may not involve the Software Development Life Cycle (SDLC) activity for developing the fix by depending on the requirements of the fix. The proposed resolution is focusing on shorten the time consumption on conducting the root cause analysis activity.

A Prescriptive Analytical Logic Model Incorporated

7

5 Research Objectives (1) To mitigate prolonging time duration on conducting root cause analysis activity. (2) To improve accuracy on identifying the root cause whenever error is occurred. There are different perspectives derived from the two primary objectives and it is required to be listed down for determination. The points from the three different perspective are shown as follows:Business Perspective i.

To reduce the entire duration of software application downtime by efficiently identifying the software application root cause. ii. To mitigate the possibility of re-occurrence on the same software application error. iii. To bring down the total software application downtime percentage in a financial year. Technical Perspective i. To mitigate prolonging on conducting root cause analysis activity. ii. To improve accuracy on identifying the software application error’s root cause. iii. To build experience based on past analyzed result and resolution activities stored. Knowledge Contribution Perspective i. To contribute new knowledge on software application error analysis by using Analytic Hierarchy Process (AHP).

6 Literature Review According to the past research, Stewart (2012) is focusing on debugging real-time software application error using logic analyzer debug macros, whereby Eick et al. (1994) they are focusing on presenting the error logs in a readable manner. Moreover, Wendy and Dolores (1993) suggested to focus on error detection in software application at the time of software development and maintenance. However, Salfner and Tschirpke (2015) are focusing on analyzing error logs by applying the proposed algorithms in order to predict future failure. Their software application error analysis approaches focus on software application error log obtained from software application database. Some literature suggested that the software application error analysis would be better if it is built in during the software development process. This approach is still within the same application development boundary without factoring in any other area of concerns. It can cause the software application failure. In another way of explanation, whenever hardware CPU and memory utilization is running high, or even storage disk space is running low, software application logging may not be accurate anymore. Hence, the root cause analysis would not be accurate to identify the real issue to understand the main reason to cause the software application failure. Murínová (2015) had attempted to integrate multiple log files

8

H. M. Wong et al.

from various software monitoring tool and network devices for better root cause analysis on Web application error. However, there is no proposed model stated in the research. Even until Landauer et al. (2018), they introduced an unsupervised cluster evolution approach that is a self-learning algorithm that detects anomalies in terms of conducting log file analysis. However, this approach is under machine learning rather than AHP. From a different point of view, this approach is good because it can be adopted into the proposed model to detect the software application error. Hence, this is a great potential to propose a logic model to research a new approach towards developing an algorithm for software application error analysis. At the same time to contribute new knowledge in the area of software application root cause analysis using AHP. By comparing the above secondary data with the proposed logic model, it can be noticed that the focus boundary on software application analysis. The technique to identify the root cause of software application is different. They focus on software application boundary whereby the proposed model focuses horizontally on all possible boundaries. In addition, due to the focus boundary is different, it leads to the technique to identify the root cause of software application also different. On the other hand, there is a valid question such that why the PAL does not incorporate Machine Learning instead. According to Klass (2018), the simple definition of Machine Learning is that the algorithm in an IT system has the ability to independently find solutions to problems by recognizing patterns in databases. Which means, the required data must be fed into the IT system and processed under the algorithm in advance in order to recognize the patterns in the data stock with the predefined definitions. Lastly, the IT system must also contain the following unique abilities as the requirements, which are:i. ii. iii. iv. v.

To find, to extract and to summarize the relevant data. To make predictions based on the analysis data. To calculate probabilities for specific results. To adapt to certain developments autonomously. To optimize processes based on recognized patterns.

By referencing to the definition and requirements of Machine Learning, and comparing to PAL. PAL does not have the full abilities like Machine Learning but it has only partial unique abilities. Such as i and v. PAL has the algorithm to make decision over the valid error and preferred resolution targeted to the valid error. On the other hand, PAL has the ability to pick up the uncommon error, and provide suggested actions based on the analysis result across multiple log files at the time of software application error occurred. Although at the beginning stage, human is involved to respond to the uncommon error. Even the human may require to perform fine tuning to the configuration file of the PAL for better handling the uncommon error. PAL will still improve itself from event by event to recognize the uncommon errors and turn them to become known errors to PAL. The following table provides the feature comparison between Machine Learning and PAL (Table 1). Machine Learning is required to scan through the entire database and pick up the data based on the recognized patterns. With the recognized patterns, it then applies its

A Prescriptive Analytical Logic Model Incorporated

9

Table 1. The feature comparison between Machine Learning and PAL. Activity no. Machine learning

PAL

1

Defined algorithm

Defined algorithm

2

Recognizing patterns in databases

Recognizing patterns in log files

3

To find, to extract and to summarize the To find, to extract and to summarize the relevant data relevant log events based on error event occurring timing

4

To make predictions based on the analysis data

Optional feature for future works

5

To calculate probabilities for specific results

Not available

6

To adapt to certain developments autonomously

Not available

7

To optimize processes based on recognized patterns

To optimize root cause analysis after successfully recognizing uncommon error becoming known error along with preferred resolution

unique abilities. However, by comparing Machine Learning with PAL, there are certainly differences. The primary objective of PAL is to mitigate prolonging on conducting root cause analysis activity. Hence, to eliminate unnecessary log scanning activities must be avoidable during the root cause analysis. Indeed to fulfill the primary objective, the following approaches of PAL are proposed as follows:• Using the “time” of software application error event when it occurred as the key to extract out log events from all the related logs. • Extract only the exact amount of input information is important. Then, scan the error only from the extracted amount of log rows. • Standard error events are easily classified based on keyword, except for those unknown error events. • The PAL’s standard analysis module does the specific action based on the specific error event occurred. • The PAL’s analysis activity is based on the configurations of “Standard” and “Complex” analysis modules together with the studies of past analysis and applied resolution retrieved from the proposed model’s knowledge-based database. • The situation can be happened such as more than one possible resolution is applicable to resolve the identified root cause. Decision making is required. • All the current analysis activities and resolution steps will be stored into a knowledgebased database for the future reference. • PAL is trained by the real data sponsored by SRM, IBM.

10

H. M. Wong et al.

Based on the given primary objective of PAL, and along with the proposed approaches. The detail feature differences between Machine Learning and PAL can be further compared into the following Table 2. With the comparisons, although PAL has certain similarities comparing with Machine Learning. However, the primary objective and approaches are different. Therefore, PAL cannot be categorized to have Machine Learning intelligent, but it has the ability to make decision using AHP approach to fulfill the research objective, i.e. to mitigate prolonging on conducting root cause analysis activity. Indeed, the proposed algorithm in PAL is aiming to handle ad-hoc error with immediate action rather than spending longer time to recognize the error pattern or to perform error prediction.

7 Research Proposed With a server (regardless it is physical or virtual) box, you have multiple layers. Most common logs that are required is:i.

System monitoring log for server resources such as CPU, Memory and Hard Disk usage. ii. Network monitoring log for the server such as network communication within the Local Area Network (LAN). iii. Operating System event log for server. The illustration of multiple layers for a server can be referred to Fig. 1. On the other hand, the software application especially for those that are rated at enterprise level category, it involves multiple tiers such as Web Client tier, Web Container tier, Application Container tier, and Database tier. Beside the Wen Client tier, each tier has its own log file. Certain tiers are even having multiple log files based on the software application design. Hence, the proposed research is to develop an algorithm towards to a prescriptive analytical logic model for analyzing software application error. The analysis is based on the logs retrieved from various software applications by referring to the following figure. 7.1 Proposed Research Scope The proposed scope of this research is to define the algorithm. The algorithm consists of simple and complex analysis inside the prescriptive analytical logic model for software application error analysis. Therefore, by having the proposed logic model in the production environment, the logic model is required to react to software application error when the error is detected in the software application log file. With this logic model, it is also required to retrieve other related log files through various software applications shown as Fig. 3. The proposed algorithm mainly consists of two analysis areas, which are simple and complex analysis to form a prescriptive analytical logic.

A Prescriptive Analytical Logic Model Incorporated

11

Table 2. The detail feature differences between Machine Learning and PAL. Activity no. Machine learning

PAL

1

Scan the entire database and pick up the a. Use exact “time” of software data based on the recognized patterns application error event when it occurred as the key to extract out log events from all the related logs based on 5-min-before-and-after rule b. Extract only the exact amount of input information is important. Then, scan the error only from the extracted amount of log rowsc. c. Standard error events are easily classified based on keyword stored in the configuration file, except for those unknown error events

2

To find, to extract and to summarize the d. Root cause analysis is conducted relevant data based on the configurations of “Standard” and “Complex” analysis modules together with the studies of past analysis and applied resolution retrieved from the proposed model’s knowledge-based database e. For “Standard” error first time occurrence, resolution steps are applied based on the “Standard” analysis module f. For “Standard” error re-occurrence, resolution steps are applied based on the “Complex” analysis module g. For “Complex” error (or undetermined error), the decision of either applying resolution steps or producing analysis report are carried out based on the predefined configurations stored in the configuration file

3

To optimize processes based on recognized patterns

h. All the current analysis activities and resolution steps will be stored into a knowledge-based database for the future reference i. The information stored inside the knowledge-based database is served as one of the input information of “Complex” analysis module

12

H. M. Wong et al.

Fig. 3. The proposed software application analysis algorithm will analyze across multiple databases.

7.2 Proposed Simple Analysis For simple analysis area, it is required to build the predefined logic to handle the common software application error, whereby this model is to guide the system builder on answering a set of predefined questions on common software application errors and carry out the predefined activities only react to these common software application error, for example, restarting the software application process if it is stopped. 7.3 Proposed Complex Analysis For complex analysis area, it is required to build a logic which collects necessary log events as data from the involved software applications. The collected data will serve as input information at the initial stage. With the collected data, this model will base on the past incidents determined as the system behavior. By combined with the predefined templates, the automated analysis activities will be triggered and finally generate the analysis outcome along with the suggested resolution steps and action to the IT support team. This complex analysis would have three different modes which are “manual”, “semi-auto” and “fully-auto” offered to the IT support team. As for the complex analysis

A Prescriptive Analytical Logic Model Incorporated

13

area, by predicting the software application behavior, it performs the suggested steps and carry out the action against the software application error based on the analysis. This will prevent future application failure based on the permission given to the offered mode by the IT support team. By focusing into the re-occur software application errors, these errors occur in a specific pattern or feature, and the solution is often straight forward (can be applied after validating the specific pattern or feature) to resolve the incidents. The human involvement on this type of incidents would require less analysis but more on validating activities. Hence if the validating activities can be predefined into a checklist, the logic model can pick up the ultimate predefined solution and react to the incident automatically. This can be achieved by the combination of the answers (yield from the validating activities in the checklist). This would be the preferred method in the logic model that handles the common software application incidents. We call this logic as simple analysis. The same simple analysis logic can be applied to manage Server (a physical or virtual box running a vendor Operating System) or even Networking devices (such as switch or router) if they have incidents occur in the specific pattern or feature. The software application errors which have no uniform pattern or feature, for this type of software application errors. The percentage of human involvement is high. This is because the person who handles the incident requires to obtain the software application log files and to search any similar error logged in the past. We call these files and records as input information. With the input information obtained, the person conducts the analysis activities before the person can identify the software application error root cause. Only the preferred resolution steps is agreed then it is applied to resolve the software application error. For the first time occurring software application error. If both yielding input information activities and analysis activities can be automated. Base on the outcome of the analysis activities, human expects to see a list down of each possible root cause along with the proposed resolution steps in a complete list. Then, the decision is on the person to choose which is the preferred option. If the person chooses to proceed with the suggested resolution steps, then the person will receive the final question. The question is expecting the response from the person, whether agrees to let the automated activities execute the same suggested resolution steps automatically in the future if the same incident occurs again. Of course, this logic has the ability to handle unpredictable software application errors by performing simulated analysis activities comparing with human, we call this logic as complex analysis. Whenever the complex analysis is triggered. It will pull the related logs based on specific time frame (duration) before and during the software application failure from various application logs. These logs are:i. Software Application logs is the beginning to trigger the root cause analysis, ii. Configuration management logs is for understanding any recent applied software application patches or Operating System patches, iii. Performing and capacity monitoring logs is for identifying any hardware resources running insufficient, and iv. Production support ticketing tool logs is for cross-checking any related issue recently occurred under the predefined database scheme.

14

H. M. Wong et al.

These above logs as input information will be utilized crucially for root cause analysis to resolve the software application issue. Indeed, the simple analysis can be existed independently at the initial stage. However, when the specific number of reoccur incidents hits. The complex analysis will be activated to perform the required analysis activities automatically. It will produce the complete analysis report and suggestion(s). Base on this suggested design, the complex analysis would have a loosely but it is fairly important relationship with the simple analysis. This is because the complex analysis needs to understand how many times the simple analysis has handled the same incidents in the past. This information is crucial to make a decision on suggesting the reasonable resolution steps to the human after the complex analysis produces the analysis report. 7.4 Proposed Algorithm, Architecture Design, and Solution Modeling The proposed algorithm under the Prescriptive Analytical Logic Model includes the crucial activities in the following Table 3. Table 3. The proposed process activity under proposed algorithm. No.

Algorithm

1

with the granted permission, retrieve and/or integrate various log files obtained from all involved software application log files/databases

2

Identify whether the newly reported software application error is first time occurrence or re-occurrence by cross-checking the database which is associated to the prescriptive analytical logic

3

Identify possible log data and select the necessary log data for analysis under the defined software application error classification

4

Allocate weight to each possible software application error based on Analytic hierarchy process (AHP)

5

Shortlist the software application error under the highest weight

6

Analyze the selected log data for shortlisted software application errors and define possible resolution option

7

Allocate weight to each possible resolution option based on AHP

8

Shortlist the preferred resolution option under the highest weight

9

Deploy the preferred resolution option to fix the software application error under the predefined condition

10

Store the analysis result and resolution action into a database which is associated to the prescriptive analytical logic for future reference and knowledge base activities

The architectural design of the PAL is derived from the proposed algorithm and the Fig. 4 is shown as follows:The PAL algorithm design consists of simple and complex analysis design, proposed analytic hierarchy process design and knowledge based database design. From the simple

A Prescriptive Analytical Logic Model Incorporated

15

Fig. 4. The architecture design of prescriptive analytical logic model.

and complex analysis design, it further derives to top-down and bottom up design. All of these designs will form PAL algorithm design as the complete model design. The PAL consists of two configuration files that are the brain of the PAL to identify the known errors and the action of the preferred resolution. This can be explained bu using the process flow design of PAL (Fig. 5). The process flow design of PAL:The Process Flow Design explains the use of the configuration files (first and second) during the execution of the PAL. First configuration file is for error cross-reference and the second configuration file is for carrying out the preferred action based on the recognized error. The entire flow is explained as follows:Process 1 Use any existing market approach to detect Software Application error. This is because the PAL should not re-invent the wheel. It should utilize the existing available approach from the market for software application detection. Process 2 Validate the new found Software Application error (Cross check with the first Configuration file). The first configuration file contains the information regarding to the involved software application, databases, and the knowledge based database. • Based on the date and time of the new found Software Application error, PAL extracts the events from the involved software application and databases to form a dataset. • Then, based on the new found software application error as well as any error found in the dataset as per the given date and time, PAL can cross-reference from the first configuration file to identify out whether it is a new error or known error. Which means, PAL will require to map out any error defined in the first configuration file. • Based on the defined error to identify the new found error is actually a known error in either an Alert, Warning or Valid Error category, or it is unidentified and really a new found error.

16

H. M. Wong et al.

Fig. 5. The solution modeling for the process flow design.

• If it is a new found error, retrieve the last index number stored in the first configuration file, and load into the variable identification_number. Then, increase the index number count by 1 in the variable identification_number, to prepare for the unique identification number for the new found error. Later this identification number will be appended into first and second configuration files for linkage used for information fetching. • If this error is identified as known error, then a value (−1) to represent known error stored in a variable. At the same time, addition validation is to ensure that whether it is a re-occurrence error after validating from the knowledge based. • Another value to represent re-occurrence error (−2) will be stored into another variable. Process 3 Evaluate and identify the suitable weighting to the new found Software Application error. In this process, only a weight value is assigned to a known error based on the error type, and no weight value is assigned to a new found error.

A Prescriptive Analytical Logic Model Incorporated

17

Process 4 Append the new found error into the first Configuration file, and flag it as “Pending AHP Process”. The PAL needs to recognize the new found error to become a known error however at this stage the AHP process has not been conducted yet. Therefore, the new found error must be flagged as “Pending AHP Process” at this moment. Process 5 Construct AHP metric table with metric variables (each with weight) for decision making for new found error. In this process, a metric table under AHP will be constructed. The detail on how to construct the AHP table will be explained later in this chapter. Process 6 Analyze and decide whether the new found error is either Alert, Warning or Valid Error. In this process, it is required to decide which is the final valid error with the highest priority should be fixed. Process 7 Validate the possible resolution option for the new found error (Cross check with the second Configuration file for any related resolution). Which means, the second configuration file will be referenced to retrieve the predefined resolution after the final valid error is decided by the previous process. • In the situation that the predefined resolution is clear cut (which has the only option), the next process will be bypassed. • However, in the situation that more than one options of the predefined resolution are available, the next process is crucial. Process 8 Construct AHP metric table with metric variables (each with weight) for decision making – Preferred Resolution. This process is to construct a metric table under AHP if the predefined resolution is more than one option. • The weight for each option is already predefined during the time of the second configuration file is built. Hence, the highest weight of the predefined resolution will be picked up. • In the situation that both options are having the same weight, then the decision making of the preferred resolution is to produce an analysis report to include both preferred resolutions. • An advise statement is required to revise the second configuration file stated on the analysis report, if there are more than one option is carrying the same weight. Process 9 The action of Preferred Resolution (whether deploys directly or produces analysis report) is based on the second Configuration file. • In this process, if the only option of the preferred resolution is available, proceed to deploy the resolution steps (whether deploys the resolution directly or produces analysis report).

18

H. M. Wong et al.

• Otherwise, proceed to produce an analysis report to include both preferred resolutions. An advise statement is required to revise the second configuration file. Process 10 Interact with user and obtain what is the preferred action when this error reoccurs. • In this process, a dialog box will be popped up to ask for proceed or not to proceed the preferred resolution if the variable is having the value (−2). • However, if the variable has no (−2) value but another variable is having (−1) value. Then another dialog box will be popped up, and user needs to fill up the fields to make the new found error become known error under the correct error category, as well as the suggested action for this new found error. Process 11 Update the flag in the first Configuration file for the new found error (now the new found error becomes a known error). • In this process, the target is to make the new found error to become a known error. Therefore, the first configuration is updated with the identification_number and the required information for the new found error. • Update the flag “Pending AHP Process” to become “Known Error” in the first Configuration file. • Then, proceed to store the value of the variable identification_number in the first Configuration file for the use of next complete process flow. Process 12 Append the associated action into the second Configuration file (now new error is having the preferred action). In this process, the second configuration is updated with the identification_number and the associated preferred action for the new found error. With that process flow design, the PAL can recognize this specific error (new found error) on the next round of error cross-reference.

8 Analytic Hierarchy Process (AHP) AHP was developed by Thomas L. Saaty stated in Wikipedia (2015). The proposed algorithm of the prescriptive analytical logic can adopt the decision making process of AHP to decide the valid software application. Then, followed by using the same decision making process to shortlist the best resolution. This is because by referring to Saaty (1987b), the three principles which are the decomposition principle, the comparative judgments, and the synthesizing priorities. In addition, Vaidya and Kumar (2004) had provided the discussion on how to apply AHP under the analytic hierarchy process. This helps to understand how the proposed algorithm applies in the scenario after the valid software application error, and preferred resolution are identified during the root cause analysis activity. Based on those past researches or similar area of researches in the area of software application log file analysis. The AHP was not introduced or applied for handling the

A Prescriptive Analytical Logic Model Incorporated

19

activities such as shortlisting the valid software and shortlisting the preferred resolution. In order to have further understanding on why AHP is introduced in this proposed PAL, and how it plays the important role. The proposed algorithm should consider if there is a scenario that multiple software application errors, and warnings occur almost at the same time at a software application execution. Remember that there will be two required activities and one situation: First activity is to identify the valid software application error among multiple software application errors and warnings. Explanation: When the PAL extracts the software application errors from various software applications for analysis, there must be a technique or process required to filter out software application errors which are determined as low priority or invalid errors, leaving the crucial software application error for conducting root cause analysis activity. The proposed algorithm requires AHP to shortlist the valid software application error. Second activity is to identify the preferred resolution to fix the software application error after the analysis activity is completed, if multiple resolution options are available. In this case, the fix is focusing only on the resolution action which is not involved in SDLC. Explanation: Whenever the root cause is identified for the crucial software application error after conducting the root cause analysis activity. The proposed algorithm is required to consider the possible circumstance that it may have several resolutions which are applicable to the crucial software application error. Hence the proposed algorithm is required AHP to shortlist the preferred resolution under this circumstance. This has given an opportunity to conduct research in the area of AHP to bring the added value of information in the analytic area. Situation: In the case that resolution is involved in SDLC, the PAL will provide a detail analysis result as a report to show what root cause is identified and what is the proposed resolution. Explanation: This is because if the fix (resolution) involved the activity of SDLC, it is out of scope on this proposed research. However, if the fix is straight forward such as restarting the software application service or network connection as the examples, it can be decided by the AHP when the defined impact level stated in the configuration file. The approach of applying AHP in this proposed research is for decision making activity although AHP has been used in other areas. By comparing with the published articles, the differentiation in this PAL is that AHP is utilized on log file analysis activity for decision making on valid software application error as well as identifying the preferred resolution to the error if possible. On the other hand, the log file analysis area of knowledge currently has no AHP knowledge involved yet. As the result, AHP is utilized in the PAL is a new knowledge contribution. As per the understanding of AHP, it is a decision making process as a tool which can be utilized to weight the both the possible root causes and possible resolutions under a hierarchical structure. Then, narrow down to the final root cause, and decide the best resolution among the shortlisted resolutions. Ideally, the AHP will be utilized at the

20

H. M. Wong et al.

following two (highlighted) specific proposed activity under the PAL, which are at the row 4, 5, 7 and 8 in the following Table 4. Table 4. The proposed activities must be incorporated into the above proposed algorithm. No. AHP Proposed algorithm 1

With the granted software application access, use “time” field as the linkage to retrieve and to relate all the necessary log data across multiple databases

2

Identify whether the newly reported software application error is first time occurrence or re-occurrence by cross-checking the database which is associated to the PAL

4

*

Allocate weight to each possible software application error based on Analytic hierarchy process(AHP)

5

*

Shortlist the software application error under the highest weight

6

Analyze the selected log data for shortlisted software application errors and define possible resolution option

7

*

Allocate weight to each possible resolution option based on AHP

8

*

Shortlist the preferred resolution option under the highest weight

9

Deploy the preferred resolution option to fix the software application error under the predefined condition

10

Store the analysis result and resolution action into a database which is associated to the PAL for future reference and knowledge base activities

By referring to the proposed activities that are activity number 4, 5, 7 and 8 (with the Note *) in the above table. These proposed activities in the algorithm play an important role of AHP process. The activity details are explained respectively as follows: • The activity number 4 helps to identify the possible software application errors and to filter out all the false alarms. On those possible software application errors, each error will be further identified by the its error characteristic and categorized into specific error category under a predefined software application error category list. • The activity number 5 will perform assigning the weight to each possible software application error based on the error category the impact level of each error within the category. With the assigned weight on each error, it would easily shortlist the highest priority of software application error as the crucial error to be fixed. • The activity number 7 handles the process of assigning weight on each possible resolution after the analysis activities has been conducted at Sect. 6. This is because possible circumstance can be happened when two similar resolutions are selected, but we need to identify which is the most suitable resolution can be applied to resolve the software application error. • The activity number 8 helps to identify the final preferred resolution to be applied for the crucial error after evaluating the weight, and this action will isolate multiple resolution actions to be applied to the crucial error to be fixed.

A Prescriptive Analytical Logic Model Incorporated

21

With the PAL, it carries high potential on knowledge contribution as the new logic model has the algorithm to be able to identify the root cause of the software application error more accurately under the AHP processing approach, and deliver the outcome to shorten the analysis duration of conducting root cause analysis activity during the software application downtime.

9 Proposed Prerequisites of PAL 9.1 Multiple Tiers Environment In this proposed research, it is required to run on a multiple-tier environment which involves Client tier, Web Container tier, Application Container tier, and Database tier. The proposed algorithm will be implemented into a software plug-in component sitting at the logic tier to integrate all the required log event as input data from various software applications and store in a separate location for information retrieval later. A new standard database schema may be required on this research, and it will be applied across all the required databases of the involved software applications. This will help on retrieving log events as data from various databases when the root cause analysis activity is triggered at the logic tier whenever software application error is detected in the main software application log file. Otherwise, by granting necessary permission to retrieve log events as data from the involved software applications should be sufficient. 9.2 Network Time Protocol (NTP) Server Whenever a software application involves in a multiple-tier environment, it is good to standardize the server time across all the involved servers. The supporting reason is that the proposed Prescriptive Analytical Logic Model is required to collect log data from different software applications based on the specific given time as the primary key, and therefore the server time on all the involved servers are required to have the network time synchronization. As per Masterclock (2016), “Accurate time stamping is key to root-cause analysis, determining when problems occurred and finding correlations. If network devices are out of sync by a few milliseconds or, in extreme cases a few seconds, it can be very difficult for network administrators to determine the sequence of events.”. 9.3 Technologies The proposed prototype will be designed as a software application plug-in component. It can be coded by using either Java Programming or Python. The Java Programming is the preferred programming language as it is a platform independent programming language. Therefore, at the Operating System platform, it required to install Java Runtime Environment (JRE). Then, proceed to configure the Java home path and memory allocation for the Java Virtual Machine (JVM) will do.

22

H. M. Wong et al.

10 Conclusion Software application comes along with its event logging feature. However this feature is mostly embedded into the software application, which means it is developed during the software development process. There are third party tools available in the market which is used for analyzing the software application error log files (which are produced during the software application execution). These tools mainly analyze based on the collected software application error logs which is reasonable if the hardware resources of the system are under a healthy stage. Whenever the hardware memory is running low, or the central processing unit (CPU) resource is saturated, or even hard disk space is running low, all these causes would lead to the software application may not log its error correctly into the error log files. Indeed if the root cause analysis is solely depending on software application error log file, it is definitely insufficient to identify the software application error accurately whenever the software application error occurred under the circumstance which it is outside the boundary of software application layer. With the explanation given to a high expectation from the business or even the company management, it is reasonable to have a new method to conduct root cause analysis activity on software application errors. Therefore, the PAL incorporated with AHP targets to reduce the duration of the root cause analysis is required.

References Andrews, J.H.: Theory and practice of log file analysis. Department of Computer Science, University of Western Ontario, London, Ontario, Canada (1998). http://citeseerx.ist.psu.edu/viewdoc/ download?doi=10.1.1.44.292&rep=rep1&type=pdf. Accessed 28 Nov 2015 Atwood, J.: The Problem With Logging (2008). https://blog.codinghorror.com/the-problem-withlogging/. Accessed 28 Nov 2015 Bloom, A.: The Cost of Application Downtime is Priceless. StatusCast (2014). http://www.status cast.com/cost-application-downtime-pricess/. Accessed 28 Nov 2015 Error Handling: Auditing and Logging (2015). https://www.owasp.org/index.php/Error_Handli ng,_Auditing_and_Logging. Accessed 28 Nov 2015 Andrews, J.H.: A Framework for Log File Analysis. Department of Computer Science, University of Western Ontario, London, Ontario, Canada (2017). https://pdfs.semanticscholar.org/9d1a/ 97988d8b41354cd4bf85ace96648d1684555.pdf. Accessed 28 Nov 2015 Hasan, M.K.: A Framework for Intelligent Decision Support System for Traffic Congestion Management System. Kuwait city, Kuwait (2010). http://www.umsl.edu/divisions/business/pdfs/ Mohamad%20Hasan%20IDSS.pdf. Accessed 13 Nov 2015 Horvath, K.: Using Root Cause Analysis to Drive Process Improvement. Intland Software (2015). http://intland.com/blog/safety-engineering/using-root-cause-analysis-to-driveprocess-improvement/. Accessed 28 Nov 2015 Loggly Inc. (2017). https://www.loggly.com/blog/measuring-the-impact-of-logging-on-your-app lication/. Accessed 28 Nov 2015 Management Logic. Root-Cause Analysis (2012). http://www.management-logic.com/toolbox/ sales/Root-Cause%20Analysis/Index.html. Accessed 28 Nov 2015 Margulius, D.: Tech Jobs Take Stress to Whole New Levels. InfoWorld, Inc. (2006). http://www. infoworld.com/article/2655363/techology-business/tech-jobs-take-stress-to-whole-new-lev els.html. Accessed 13 Nov 2015

A Prescriptive Analytical Logic Model Incorporated

23

Mercer, E.: How Technology Affects Business Operations. OpposingViews.com (2015). http:// science.opposingviews.com/technology-affects-business-operations-1659.html. Accessed 28 Nov 2015 Murínová, J.: Application Log Analysis (2015). http://is.muni.cz/th/374567/fi_m/thesis_mur inova.pdf. Accessed 28 Nov 2015 Ornelas, L.V.: Important of Event Logging. SANS Institute (2003). https://www.giac.org/paper/ gsec/3297/importance-event-logging/105437. Accessed 28 Nov 2015 Panda, A.: High Performance and Smarter Logging. DZone (2011). https://dzone.com/articles/ high-performance-and-smarter. Accessed 12 Dec 2015 REDDIT: Experienced Dev’s: How Much of Your Time Do You Spend Troubleshooting? (2015). https://www.reddit.com/r/webdev/comments/3sldcc/experienced_devs_how_much_of_your_ time_do_you/. Accessed 14 Nov 2015 Salfner, F., Tschirpke, S.: Error Log Processing for Accurate Failure Prediction www.use nix.org (2015). https://www.usenix.org/legacy/event/wasl08/tech/full_papers/salfner/salfner_h tml/. Accessed 12 Dec 2015 StackOverflow. How Much Time Do You Spend in Production Troubleshooting? (2015). http:// stackoverflow.com/questions/1425069/how-much-time-do-you-spend-in-production-troubl eshooting Accessed 14 Nov 2015 Eick, S.G., Nelson, M.C., Schmidt, J.D.: Graphical analysis of computer log files. Commun. ACM 37(12), 50–56 (1994). http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1. 43.4832&rep=rep1&type=pdf. Accessed 12 Dec 2015 Rinnan, R.: Benefits of Centralized Log File Correlation. Gjøvik University College (2005). http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.121.8787&rep=rep1& type=pdf. Accessed 16 Mar 2017 Stewart, D.B.: Troubleshooting Real-Time Software Issues Using a Logic Analyzer. InHand Electronics, Inc. (2012). http://www.embedded.com/design/debug-and-optimization/4236800/Tro ubleshooting-real-time-software-issues-using-a-logic-analyzer. Accessed 12 Dec 2015 SuccessFactors. Using Technology to Increase Your Business Productivity (2015). https://www. successfactors.com/en_us/lp/articles/using-technology-to-increase-your-business-productiv ity.html. Accessed 28 Nov 2015 www.evolven.com, Labels: Data Center, Downtime. Downtime, Outages And Failures - Understanding Their True Costs. Evolven Software (2014). http://www.evolven.com/blog/downtimeoutages-and-failures-understanding-their-true-costs.html. Accessed 13 Nov 2015 Wikimedia Foundation, Inc.: Application Server (2017a). https://en.wikipedia.org/wiki/Applic ation_server. Accessed 28 June 2017 Wikimedia Foundation Inc.: Logfile (2017b). https://en.wikipedia.org/wiki/Logfile. Accessed 28 May 2017 Wikipedia: Analytic Hierarchy Process. Wikimedia Foundation, Inc. (2015). https://en.wikipedia. org/wiki/Analytic_hierarchy_process. Accessed 13 Nov 2015 Peng, W.W., Wallace, D.R. Software Error Analysis. NIST Special Publication (1993). http:// www.geocities.ws/itopsmat/SoftwareErrorAnalysis.pdf. Accessed 12 Dec 2015 Masterclock. Network Time Synchronization - Why You Need An NTP Server. Masterclock, Inc. (2016). https://www.masterclock.com/company/masterclock-inc-blog/network-time-syn chronization-why-you-need-an-ntp-server. Accessed 4 Sep 2018 Saaty, R.W.: The Analytic Hierarchy Process – What It Is and how It Is Used. Pergamon Journals Ltd. (1987a). https://core.ac.uk/download/pdf/82000104.pdf. Accessed 9th April 2018 Valdman, J.: Log File Analysis (2001). https://www.kiv.zcu.cz/site/documents/verejne/vyzkum/ publikace/technicke-zpravy/2001/tr-2001-04.pdf. Accessed 18 Jan 2017

24

H. M. Wong et al.

Vaidya, O.S., Kumar, S.: Analytic Hierarchy Process: An Overview of Applications. Department of Mechanical Engineering, Army Institute of Technology, Pune 411 015, India. National Institute of Industrial Engineering (NITIE), Vihar Lake, Mumbai 400 087, India (2004). http://ac.els-cdn.com/S0377221704003054/1-s2.0-S0377221704003054-main.pdf?_tid=398 50adc-5d78-11e7-b5bf-00000aab0f26&acdnat=1498815840_e0c9a10c99c46ad30db8da4ef 17e817b. Accessed 12 Sep 2018 Saaty, R.W.: The analytic hierarchy process—What it is and how it is used. Math. Model. 9, 161–176 (1987b). http://dx.doi.org/10.1016/0270-0255(87)90473-8. Accessed 12 Sep 2018 Landauer, M., Wurzenberger, M., Skopik, F., Settanni, G., Filzmoser, P.: Dynamic log file analysis: an unsupervised cluster evolution approach for anomaly detection. ScienceDirect (2018). www.sciencedirect.com. https://www.sciencedirect.com/science/article/pii/S01674 04818306333/pdfft?md5=e114106f24719a22492bdc5df17f2742&pid=1-s2.0-S01674048183 06333-main.pdf. Accessed 2 April 2019 Serbu, R., Marza, B., Borza, S.: A Spatial Analytic Hierarchy Process for Identification of Water Pollution with GIS Software in an Eco-Economy Environment. MDPI (2016). https://www.goo gle.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=8&ved=0ahUKEwjTk9bz-cLbAhU FupQKHcXaCmAQFghkMAc&url=http%3A%2F%2Fwww.mdpi.com%2F2071-1050% 2F8%2F11%2F1208%2Fpdf&usg=AOvVaw3k7wSGKCoC_Exqr0vJKHK7. Accessed 12 Sep 2018 Gerdsri, N., Kocaoglu, D.F.: Applying the Analytic Hierarchy Process (AHP) to build a strategic framework for technology roadmapping. ScienceDirect. Elsevier (2007). http://ac.elscdn.com/S0895717707001069/1-s2.0-S0895717707001069-main.pdf?_tid=e0165298-5d7811e7-9000-00000aab0f6b&acdnat=1498816119_34b7b92d988eea0c318b8d23810e293a. Accessed 21 Feb 2019 Chang, D.-Y.: Applications of the Extent Analysis Method on Fuzzy AHP. Elsevier (1996). http://ac.els-cdn.com/0377221795003002/1-s2.0-0377221795003002-main.pdf?_tid=e25 1d09a-7732-11e7-b173-00000aacb35d&acdnat=1501644789_e6ae23503d2e2f883d2413693 f63275a. Accessed 12 Sep 2018 Saaty, T.L.: Decision making with the analytic hierarchy process. Int. J. Serv. Sci. 1(1) (2008). http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.409.3124&rep=rep1& type=pdf. Accessed 12 Sep 2018 Teehankee, B.L., De La Salle University: The Analytic Hierarchy Process: Capturing Quantitative and Qualitative Criteria for Balanced Decision-Making. ResearchGate (2009). https://www. researchgate.net/publication/256009323_The_Analytic_Hierarchy_Process_Capturing_Qua ntitative_and_Qualitative_Criteria_for_Balanced_Decision-Making. Accessed 12 Sep 2018 Triantaphyllou, E., Mann, S.H.: Using the Analytic Hierarchy Process for Decision Making in Engineering Applications: Some Challenges (1995). http://s3.amazonaws.com/academia.edu. documents/31754775/AHPapls1.pdf?AWSAccessKeyId=AKIAIWOWYYGZ2Y53UL3A& Expires=1498819440&Signature=iIMAp3tvmRbBTX8k6rUvRIorb7o%3D&response-con tent-disposition=inline%3B%20filename%3DUSING_THE_ANALYTIC_HIERARCHY_ PROCESS_FOR.pdf. Accessed 12 Sep 2018 Krejˇcí, J., Stoklasa, J.: Aggregation in the analytic hierarchy process: why weighted geometric mean should be used instead of weighted arithmetic mean. Expert Syst. Appl. 114, 97–106 (2018). https://www-sciencedirect-com.ezproxy.taylors.edu.my/science/article/pii/S09574174 18303981. Accessed 12 Mar 2019 Klass, L.: Machine Learning - Definition and Application Examples. MM International (2018). https://www.spotlightmetal.com/machine-learning–definition-and-application-examples-a746226/?cmp=go-aw-art-trf-SLM_DSA-20180820&gclid=Cj0KCQjwxYLoBRCxARIsA Ef16-vBblTDXGp3-EuK0AsxQu90ckOqGbTyXEvjQBWSA3D3MHB51TxDhqUaAlPDE ALw_wcB. Accessed 12 Sep 2018

A Prescriptive Analytical Logic Model Incorporated

25

Wong, H.M., Amalathas, S.S.: A new approach towards developing a prescriptive analytical logic model for software application error analysis. In: Silhavy, R., Silhavy, P., Prokopova, Z. (eds.) Intelligent Systems Applications in Software Engineering. CoMeSySo 2019. AISC, vol. 1046, pp. 256–274. Springer, Cham (2019a). https://doi.org/10.1007/978-3-030-30329-7_24. ISBN: 978-3-030-30328-0 Wong, H.M., Amalathas, S.S.: An Approach Towards Developing an Algorithm for Software Application Error Analysis. David Publishing Company (2019b). https://doi.org/10.17265/ 2328-2185/2019.04.006 Wong, H.M., Amalathas, S., Zitkova, T.: A prescriptive logic model for software application root cause analysis. Eur. J. Electr. Eng. Comput. Sci. 3(5) (2019c). https://doi.org/10.24018/ejece. 2019.3.5.133 Wong, H.M., Amalathas, S.S., Zitkova, T.: A Business Operation Stability by Improving the Speed of Restoration on Software Application Service. David Publishing Company (2020). https:// doi.org/10.17265/2328-2185/2020.01.008 Wong, H.M., Amalathas, S.S., Zitkova, T.: An approach towards designing a prescriptive analytical logic model for software application root cause analysis. Int. J. Adv. Res. Publ. (IJARP) (2019). http://www.ijarp.org/published-research-papers/nov2019/An-Approach-Towards-Des igning-A-Prescriptive-Analytical-Logic-Model-For-Software-Application-Root-Cause-Ana lysis.pdf Wong, H.M., Amalathas, S.: A new analysis approach incorporated with analytic hierarchy process for the software application in a multiple tiers environment. Eur. J. Electr. Eng. Comput. Sci. 3(6) (2019). https://doi.org/10.24018/ejece.2019.3.6.160 Wong, H.M., Amalathas, S.: The root cause analysis algorithm design incorporated with analytic hierarchy process for software application error. Eur. J. Electr. Eng. Comput. Sci. 4(1) (2020). https://doi.org/10.24018/ejece.2020.4.1.166

Software Requirement in Iterative SDLC Model Olatunji J. Okesola1(B) , Ayodele A. Adebiyi2,3 , Ayoade A. Owoade4 , Oyetunde Adeaga5 , Oluseyi Adeyemi5 , and Isaac Odun-Ayo3 1 Department of Mathematics and Computer Sciences,

First Technical University, Ibadan, Nigeria [email protected] 2 Department of Computer and Information Sciences, Land Mark University, Omu-Aran, Nigeria [email protected] 3 Department of Computer and Information Sciences, Covenant University, Ota, Nigeria {ayo.adebiyi,isaac.odun-ayo}@covenantuniversity.edu.ng 4 Department of Computer Science, Tai Solarin University, Ijebu-Ode, Nigeria [email protected] 5 Department of Mechanical Engineering, First Technical University, Ibadan, Nigeria {oyeadeaga,oaadeyemi}@tech-u.edu.ng

Abstract. Software development life cycle (SDLC) is critical and remains the most significant part of software development in requirement engineering. There exists several SDLC each designed for specific needs to accommodate available resources and skills; they are compatible with certain programming languages and toolkits, and are of immense benefits to the software engineers. Despite its popularity and strengths over major weaknesses of other models, Iterative model is less acceptable by programmers and not widely in use in industry. This study examines the concepts of Iterative models and presents its real time examples to make the SDLC more understood to software developers. The practical application of the model is exemplified, motivation for its use are highlighted, and the requirement as well as requirement activities in each phase are tabulated. This will raise users’ awareness on the Agile Software Development Model and attract software developers to appreciate the Iterative Model and make a better use. Keywords: Iterative model · Practical application · Requirement activities · Requirement engineering · Software development life cycle · Software engineering

1 Introduction Software Development Lifecycle (SDLC) is the process of developing information system with proper analysis, design, implementation and maintenance. It crucial in system development as it breaks down the entire life cycle of software development thus making it easier to evaluate each part of software development while providing some levels of comforts for programmers to work concurrently on each phase. © Springer Nature Switzerland AG 2020 R. Silhavy (Ed.): CSOC 2020, AISC 1224, pp. 26–34, 2020. https://doi.org/10.1007/978-3-030-51965-0_2

Software Requirement in Iterative SDLC Model

27

A typical SDLC as illustrated in Fig. 1 is an abstract representation of a software process and defines the phases, steps, activities, methods, tools as well as expected deliverables, of a software development project [1]. It is a process that guides a software team through a set of framework activities which are organized into a process flow that may be linear, incremental, or evolutionary [2]. The Phases in a Software lifecycle are well-defined and are aimed at helping the developer deliver an elite system which fits or surpasses the stakeholder’s prospects, established on stakeholder’s requirements [3].

Fig. 1. A typical SDLC [3].

Different approaches to software development may carry out these stages in different orders, or devote more or less time to different stages; the details of the documentation produced at each stage of software development may also be at diverge [4]. Hence, emphasis are not being placed on the timing and order in which the activities takes place. However, depending on development approaches deployed, a stage may attract more or less attention, and may not necessarily come in a particular order. The details of the documentations at each stage may also be at diverge [4]. Hence, emphasis are not being placed on the timing and order in which the activities takes place. Activities in SDLC occur in many ways and at a rigid sequence, with activities running concurrently, or one complete before the other begins. This gives rise to several SDLC models including Waterfall Model, Iterative Model, Spiral Model, V-Model, and Big Bang Model. In this study, only iterative model is considered extensively and its application in the real life discussed.

28

O. J. Okesola et al.

2 The Iterative Model Iterative development is a rework scheduling strategy in which time is set aside to revise and improve parts of the system [5]. In this case, feature code is designed, developed and tested in repeated cycles. A detailed requirement is not required to start with as improvement starts by indicating and executing parts of the software. This procedure is then rehashed to create another rendition of the software toward the finish of every cycle of the model. Iterative development model (Fig. 2) separates the product advancement of an expansive application into little pieces. It is therefore regarded as the process of breaking down the software development of a large application into smaller chunks.

Fig. 2. An Iterative model (adapted from Motea, 2015)

2.1 The Advantages A significant feature of the iterative model is that there is a working model of the entire system at the start of the development exercise, making it easier to promptly discover configuration errors towards taking restorative measures in planning cost. Some other notable strength of the model include the following: Inborn Variation: It is fairly clear that most software development life cycles will incorporate some type of variations, demonstrating the deployment phase of the product at a specific stage. Nonetheless, the iterative model makes this considerably less demanding by guaranteeing that there is a more current emphases are incrementally enhanced renditions of past cycles [7].

Software Requirement in Iterative SDLC Model

29

Fast Turnaround: While it might appear like each phase of the iterative model isn’t too not quite the same as the phases of a more conventional model like the waterfall model—and consequently the procedure will take a lot of time—the magnificence of the iterative procedure is that each stage can successfully be thinned down into smaller time allotments; whatever is important to suit the requirements of the task or association [8]. Suited for Agile Associations: While a well ordered process like the waterfall model may function admirably for extensive associations with several colleagues, the iterative model truly begins to sparkle when it’s in the hands of a littler, more nimble group. Especially when joined with the energy of current form control frameworks, a full “cycle process” can adequately be performed by various individual colleagues, from arranging and plan through to execution and testing, with next to zero requirement for outside input or help [9]. Easy Adaptability: An essential preferred standpoint of the iterative model is the capacity to quickly adjust to the regularly changing requirements of both the undertaking or the impulses of the customer. Indeed, even essential changes to the hidden code structure or usage [10]. Enables Risk Analysis: This is also called “Project Impact Analysis” and it is conducted at the analysis phase of the SDLC to identify irregularities in the systems requirements [11]. The Iterative model accommodates a process that identifies and assesses success factors of a project/goal. Progress Measurement: The Iterative model also accommodates progress measurement. After each iteration, stakeholders can see a tangible system development and the development team can monitor progress after each build. This minimises project stagnation and provides a motivation for the team [12].

2.2 The Disadvantages The major demerit of the Iterative SDLC Model is that it is only appropriate for massive system or software development project only; it is difficult to break a small programming framework into assist little serviceable augmentations/modules. The weaknesses are very common. Costly Late-Stage Issues: While not really an issue for all activities, because of the insignificant introductory arranging before coding and usage start, while using an iterative model, it is conceivable that an unanticipated issue in plan or hidden framework design will emerge late into the task. Settling this could have conceivably destroying impacts on the time period and expenses of the task all in all, requiring a lot of future cycles just to determine one issue [13]. Increased Pressure on User Engagement: Weight on Not at all like the waterfall demonstrate, which accentuates almost all client/customer engagement inside the underlying phases of the venture amid a short time to get down to business period, the iterative

30

O. J. Okesola et al.

model regularly requires client engagement all through the whole of the procedure. This is now and again an appalling commitment, since each new emphasis will probably require testing and input from clients with a specific end goal to legitimately assess any vital changes [14]. Feature Creep: Not exclusively does the iterative model require client criticism all through the procedure, yet this likewise characteristically implies the task might be liable to undesired element crawl, whereby clients encounter the adjustments in every cycle, and are slanted to continually advance new demands for extra highlights to be added to future forms [1]. Management Complexity: Complexity management as a disadvantage, its methodology deals with the analysis and optimization of complexity in enterprises. Effects of complexity pertain to all business processes along the value chain and hence complexity management requires a holistic approach and due to iteration on each build or development, management will be very difficult [15].

3 Motivation for Iterative Model The use of an SDLC often depends on several unrelated internal and external factors. For instance, iteration model is better used to smartly handle problems in the following circumstances [16]: • When the systems requirements are clearly understood by the experts. • Major systems requirements are initially defined even though, there is a possibility of functional enhancements from time to time. • Unavailable resources with required skill set are scheduled for use on contract basis for specific iterations. • The development team is just learning the new technology in use. • Some goals and high risk features may change with time. • There is no much time to the market constraint.

4 Practical Applications of Iterative Model Wiki: This is the iterative design natural repository with a ‘Page History’ facility that allows prior versions to be tracked. Wiki encourages incremental modifications while living the major parts of the text unchanged [17]. Common Law: This is a principle based on legal precedent and past experience [18]. It is particular about law being an iterative design with a clear audit trail of a legal thought. Evolution: This is where both theories of iterations and that of Natural Selection are at parallel as their processes are mere trial and error where only the most suitable design is allowed to advance and the unstable ones are disallowed from the next generation [19]. Subsequent versions of a product also get progressively better as its producers learn what works and what doesn’t in a process of refinement and continuous improvement [17]. This refinement process produces a continuous improvement in the subsequent versions of a product as the producers tend to appreciate factors that work and those that fail.

Software Requirement in Iterative SDLC Model

31

5 Requirement in Each Stage of the SDLC The Requirement Engineering (RE) phase is most crucial to SDLC as it is a place where potential users’ incomplete software needs or requirements are made complete and translated into formal specifications [13]. Since RE processes are very significant (Fig. 3) at every SDLC phase, it’s thought in software development will always remain vital.

Fig. 3. Importance of requirement in the Iterative SDLC model [6]

In each iteration of Iterative model, the requirement specification document is revised to give room for system’s conformity. This is the document used to build requirements at each iteration as well especially during requirement change management. Table 1 depicts some requirements against requirement activities in Iterative model, confirming that requirement activities take place at every stage of SDLC.

32

O. J. Okesola et al. Table 1. Some requirements and requirements activities in Iterative model

Stage

Requirements involved

Requirement activities

Requirement

• General Stakeholder’s requirements [20]

Stakeholder’s requirement gathering Planning

• Legislative requirements Analyzing the legislative and • Ethical requirements standard requirements [21] Deriving requirements Outlining the requirements process

Design and development

Testing

Privacy requirements [22]

Clarifying and restating the requirements

• Space requirements • External requirements • Organizational Requirements [23]

Defining the requirements in a way that means the same thing to all of the stakeholders [24]

• Standards requirements [25, 26]

Specifying the requirements according to the given standards

• Portability requirements • Design requirements [27]

Prioritizing the requirements. Partitioning requirements

• Safety requirements • Architectural requirements • Domain requirements • Efficiency requirements [9]

Ironing out any disagreements between customers, developers, and other stakeholders Allocating requirements

• Delivery requirements • Usability requirements • Performance requirements [28, 29]

Managing requirements changes; Conducting periodic requirements reviews Validating requirements

• Compatibility requirements • General Security requirements [30]

Testing and verifying requirements

• Interoperability requirements • Delivery requirements [31] • Reliability requirements [8] • Implementation requirements [23] • Performance requirements

Tracking the progress Tracking requirements

Software Requirement in Iterative SDLC Model

33

6 Conclusion The iterative SDLC can be likened to using successive approximation for software production. However, considering the mathematical methods where successive approximation is used to arrive at an answer, the significance of such methods is a function of how soon they are able to agree on a result. Requirements validation and verification in the Iterative SDLC model must therefore be done after each iteration in order to check for conformity thereby ensuring the system is on track with its main stakeholder’s requirements.

References 1. Leszek Maciaszek, B.L.: Practical Software Engineering A Case-Study Approach (2004) 2. Pressman, R.S.: Software Engineering A Practitioner’s Approach, 7th edn. Roger S. Pressman (2009) 3. Okesola, O.J., Okokpuji, K., Oyom, P.R.O., Kalesanwo, O., Awodele, O.: Structuring challenges in requirement engineering techniques. In: International MultiConference of Engineers and Computer Scientists, IMECS 2018, London (2018) 4. Nayab, N.: Introduction to Requirements Engineering (2009) 5. Hans-Petter, H.: Software Development (2016) 6. Motea, A.: Software delopment lifecycle (2015) 7. Half, R.: Basic SDLC Methodologies. Robert Half Website (2014) 8. Bayshore, S.: High Quality Software Development vs. Quick Turn-Around Software Development (2016) 9. Schwaber, K., Beedle, M.: Agile Software Development with Scrum, vol. 18 (2001) 10. Aleem, S., Capretz, L.F., Ahmed, F.: Game development software engineering process life cycle: a systematic review. J. Softw. Eng. Res. Dev. 4(1), 6 (2016) 11. Peterson, G., Steven, H., Lavenhar, P.: Architectural Risk Analysis. US-Dept (2013) 12. Mahalakshmi, M., Sundararajan, M.: Traditional SDLC vs scrum methodology – a comparative study. Int. J. Emerg. Technol. Adv. Eng. 3(6), 2–6 (2013) 13. Ruparelia, Nayan B.: Software development lifecycle models. ACM SIGSOFT Softw. Eng. Notes 35(3), 8–13 (2010) 14. Nuseibeh, B., Easterbrook, S.: Requirements engineering: a roadmap. In: Proceedings of the Conference on Future Software Engineering - ICSE 2000, vol. 1, pp. 35–46 (2000) 15. Suryn, W.: Software Quality Engineering: A Practitioner’s Approach (2014) 16. Herodotou, C., Winters, N., Kambouri, M.: An iterative, multidisciplinary approach to studying digital play motivation: The model of game motivation. Games Cult. 10(3), 249–268 (2015) 17. Tanwar, D.: Software development models and their real aspects. Int. J. Adv. Res. Sci. Eng. Technol. 5(3), 412–421 (2016) 18. Richard, C.: Iterative Design Paractical Application (2013) 19. Noma-Osaghae, E., Okonigene, R., Chinonso, O., Okesola, O.J., Okokpujie, K.O.: Design and implementation of an iris biometric door access control system. In: International Conference on Computational Science and Computational Intelligence (CSCI-ISPC), Las Vegas, Nevada, USA, pp. 590–593 (2017) 20. Shukla, V., Pandey, D., Shree, R.: Requirements engineering: a survey. Requir. Eng. 3(5), 28–31 (2015) 21. Franch, X.: Software requirement patterns. In: Proceedings of the International Conference on Software Engineering, pp. 1499–1501 (2013)

34

O. J. Okesola et al.

22. Jones, C.: Software Requirements and the Ethics of Software Engineering, pp. 1–16 (2015) 23. Dvir, D., Raz, T., Shenhar, A.J.: An empirical analysis of the relationship between project planning and project success. Int. J. Proj. Manag. 21(2), 89–95 (2003) 24. Okesola, J., et al.: A systematic review of requirement engineering practices in agile model. Int. J. Mech. Eng. Technol. 10(02), 671–687 (2019) 25. Zarrabi, F., Mouratidis, H., Preston, D., Islam, S.: To comply software and IT system development with related laws. In: CEUR Workshop Proceedings, vol. 731 (2011) 26. Okesola, J.O., Okokpujie, K.O., Adebiyi, A.A., Ayo, C.K.: Qualitative assessment of systematic literatures in software engineering. J. Theor. Appl. Inf. Technol. 96(18), 6018–6027 (2018) 27. Mishra, A., Dubey, D.: A comparative study of different software development life cycle models in different scenarios. Int. J. Adv. Res. Comput. Sci. Manag. Stud. 1(5), 2321–7782 (2013) 28. Fowler, M.: Put your process on a diet. Softw. Dev. 8(12), 32 (2000) 29. Okesola, O.J., Okokpujie, K., Goddy-worlu, R., Ogunbanwo, A., Iheanetu, O.: Qualitative comparisons of elicitation techniques in requirement engineering. ARPN J. Eng. Appl. Sci. 14(2), 565–570 (2019) 30. ur Rehman, T., Khan, M.N.A., Riaz, N.: Analysis of requirement engineering processes, tools/techniques and methodologies. Int. J. Inf. Technol. Comput. Sci. 5(3), 40–48 (2013) 31. Powell-Morse, A.: Iterative Model: What Is It And When Should You Use It? (2016)

Simplified Framework of Natural Language Processing for Structure Management of Current-Age Data J. Shruthi1(B) and Suma Swamy2 1 Department of Computer Science and Engineering, BMSITM, Bengaluru, India

[email protected] 2 Department of Computer Science and Engineering, Sir MVIT, Bengaluru, India

Abstract. The adoption of natural language processing has become one of the essential part of artificial intelligence. Although, the conventional concept of natural language processing has been researched from more than a decade but still the better results are yet to arrive. Review of existing literatures shows the cases where case specific studies are carried out which still doesn’t address the problem associated with lightweight computational model. Therefore, the proposed study introduces a simplified modeling of natural language processing which is capable of handling the unstructured data unlike existing system without scoring any dependencies on extra resources or cost. The study also introduces an integrated syntactical-based and semantic-based which is quite novel and simplified in its form. The study outcome shows that it offers almost instantaneous response time for all the internal processes. Keywords: Natural language processing · Text mining · Unstructured data · Linguistic · Knowledge extraction

1 Introduction Natural language processing is one of the essential concept in artificial intelligence and it bears the entire potential concept associated with computer science as well as computational linguistic too [1, 2]. Therefore, it is a domain of engineering process with capability to infer the information just like human-based language by a computer system [3]. It is quite a challenging aspect to work on natural language processing as the conventional computer system is highly dependent on languages that are highly structured while natural languages are characterized by dependencies on various complex attributes associated to a specific language (e.g. dialects of specific region, frequent usage of slangs and social context [4]. At present, there is an exponential growth of data owing to outcome of mobile network and social network usage. This abnormal rise of data also gives rise to highly unstructured data which is computationally challenging task to organize and then process [5]. Machine-based translation system is one of the frequently used applications in natural language processing. The efficiency of performing © Springer Nature Switzerland AG 2020 R. Silhavy (Ed.): CSOC 2020, AISC 1224, pp. 35–43, 2020. https://doi.org/10.1007/978-3-030-51965-0_3

36

J. Shruthi and S. Swamy

this translational task is basically assisted by natural language processing [6]. Sentiment analysis is another frequently used application where natural language processing is utilized [7]. This approach assists in extracting the level of standard emotions that resides within every terms present in corpus of feedback or opinion shared by customers [8]. All these application are developed using various available libraries e.g. Apache OpenNLP, Natural Language Toolkit, Stanford NLP suite etc [9]. However, the domain of natural language processing is yet to see its superior accuracy. Therefore, this paper presents a simplified model of natural language processing using text mining approach. Section 2 discusses about the existing research work followed by problem identification in Sect. 3. Section 4 discusses about proposed methodology followed by elaborated discussion of algorithm implementation in Sect. 5. Comparative analysis of accomplished result is discussed under Sect. 6 followed by conclusion in Sect. 7.

2 Related Work This section is the continuation of our prior review work towards natural language processing approaches [10]. In existing system, a table-based generative model has been presented by Bao et al. [11] for improving the usage of the semantics. Chen et al. [12] have presented linguistic-specific natural language processing over medical dataset using a structured model for better analysis. The work of Heppner et al. [13] has introduced a partial automated natural language processing for investigation specific traits over a domain. A unique approach to draw inference has been presented by Huang et al. [14] where a semantic-based network system has been constructed for correlating text with an image. Al-Khalifa [15] has a unique coding system for specific language on the basis of morphological structure of the corpus. The impact of using natural language processing over summarization has been discussed by Li et al. [16] considering contents with multi-modalities. The challenges associated with word embedding is discussed by Liang et al. [17] where prime filtering operation is carried out towards extracting the logical inference. Consideration of the medical dataset along with domain specific study is carried out by Lu et al. [18]. The work of Ludwig et al. [19] have presented a mechanism to extract specific action from a given textual contents using Bayesian network. Park et al. [20] have presented a visual analytical system where a bipolar concept has been introduced in modeling. Peng et al. [21] have presented a deep semantic approach over multiple perspectives in order to extract the correlation between two sentences. Prakash and Murthy [22] have presented a language specific approach for improving the performance of text-to-speech application. Quan et al. [23] have used a tree-based integrated structure in order to find similarity between two given sentences. Adoption of annotation-based approach over article is seen in work of Ramisa et al. [24] where canonicalcorrelation is used for analyzing the given article. Neural network is reportedly used by Ren et al. [25, 26] in order to perform text detection; however, the work is language specific. Most recently, a unique parsing scheme has been presented by Song et al. [27] using neural network. Apart from this, unique formulation of natural language processing is also carried out by Whitehead et al. [28], Zhao and Mao [29], and Zhuang et al. [30]. The next section discusses about the problems associated with existing approaches.

Simplified Framework of Natural Language Processing

37

3 Problem Description A closer look into the existing approach shows that there are diversified approaches to enhance the operability of natural language processing system. However, majority of the existing studies are carried out focusing on the linguistic aspect as well as application aspect of it. Existing approaches of using semantics are totally constructed on the basis of present day lexical database system which could affect the accuracy if the presented model is exposed to different dataset. Apart from this, majority of the studies are quite domain specific, where the flexibility of the approaches are not well defined. Therefore, it is really a challenging task to develop a simplified approach for natural language processing that is targeted to perform better form of processing of unstructured data being generated in present time. The next section discusses about proposed solution.

4 Proposed Methodology The proposed study aims at developing an integrated framework that introduces unique mechanism of natural language processing for the purpose of addressing data complexity over bigger data stream thereby facilitating an effective knowledge extraction process (Fig. 1).

Raw Data

Modeling Data Complexity

unstructured Modeling Data Unstructuredness

SemiStructured

Developing Natural Language Processing Structured Syntactical Approach

Semanticbased Approach

Mined Data

Fig. 1. Proposed methodology for natural language processing

The prime contribution of the proposed system is that it is capable of performing the transformation using a unique pattern of applying natural language processing where the unstructured data is converted to semi-structured data and finally structured data s obtained that is stored over the cloud storage unit. The study uniquely utilizes semantics in order to perform effective extraction of logic inference. The next section discusses about the system implementation.

38

J. Shruthi and S. Swamy

5 System Implementation This section discusses about the system being designed and implemented towards evolving up with a novel and simplified model of natural language processing that is explicitly designed for managing the complex forms of current data. The prime focus of the implementation is mainly towards its flexibility of supporting maximum degree of heterogeneity in the incoming stream of data. The discussion of this section is carried out with respect to i) core basis of implementation, ii) assumptions and dependencies, and iii) implementation strategy. 5.1 Core Basis of Implementation It is essential to acknowledge that a better design form of natural language processing will always demand a robust analysis of its semantics as well as adherence to the syntax. For a textual content to offer better logical inference, it is important that there should be proper arrangement of the words in order to formulate an effective syntax. Therefore, a precise formulation of syntax is required in order to construct a model of natural language processing approach for evaluating the logical inference to be carried out on the basis of linguistic-oriented protocols of grammar. In order to perform proper syntactical implementation, the standard techniques of natural language processing involves various operation viz. i) performing parsing operation where the target sentence is subjected to the grammatical analysis, ii) segmentation of the terms that performs classification of the bigger sets of the textual term in the form of one term, iii) breaking of the sentence that performs positioning of the sentences with respect to the specific boundaries, iv) segmentation of the morphological aspect of the sentence that performs classification of specific terms with respect to defined groups, v) stemming operation that performs classification of the words with the specific variation in them. Apart from the syntax, the next important thing is to maintain a proper semantics that is responsible for extracting the latent meaning of the targeted terms that further assists in formation of defined structure. The primary approach used in natural language processing for effective semantic formation is to find the clarity in the logical meaning for a given sentence with respect to its context. The secondary approach will be to perform recognition of the specific entity that assess the terms with respect to specific groups and categories. The tertiary approach will be to generate the natural language that mechanizes database in order to find out the semantics. 5.2 Assumptions and Dependencies The primary assumption of the proposed system is that data are in the form of textual content and in English. The secondary assumption is that data are originated from multiple sources and it is also assumed to be generated concurrently. The tertiary assumption is that they are highly unstructured in its form prior to entering the database. The core dependency of the proposed study is to construct manually unstructured data in order to perform assessment of the capability of the proposed system. There is a need of a module that can intentionally generate unstructured data in order to check the scope of applicability of proposed system in realistic manner.

Simplified Framework of Natural Language Processing

39

5.3 Implementation Strategy The implementation of the proposed system is strategically carried out in the form of an effective computational modeling where preferences are rendered to model the complexities of the data. The complete discussion of the implementation strategy is sequentially briefed as below: • Modeling Data Complexity: The complexity of the data is associated with the format as well as size of the textual content as the input to proposed system. The proposed system consider 4 different types of data format in order to model the heterogeneity in the heterogeneous data viz. i) plain text file format (.txt), ii) portable document format (.pdf), iii) web-script formats (.html), iv) frequently used office format (.doc, .docx), and v) spreadsheet format (.xls, .csv). The proposed system considers a challenging situation of presence of similar textual object in two data of different formats. Owing to usage of different file-formats, the biggest challenges in i) increasing dependencies of reader application and ii) chances of redundant data extraction without possessing proper knowledge. The biggest complexity in performing text analysis is to extract the correct text from all these format that are frequently used. The proposed study develops an explicit function that performs the generalized reading operation for all the different forms of data that can further assists in data aggregation in one place where analysis can be carried out (Fig. 2). Modelling Data complexity

plain text file format

portable document format

web-script formats

frequently used office format

spreadsheet format

Fig. 2. Modeling data complexity

• Modeling Data Unstructuredness: It is quite a difficult task to consider the input of the data in the form of data stream which is the original demand of the model to process input data. Considering the data being originated from different sources and is of heterogeneous file formats, the proposed system performs constructs an explicit reader function to extract text from different sources and aggregates the data in such a way that it results in unstructured data in the form of data stream. This unstructured data are reposited on one dynamic buffer system in order to subject it for next round of analysis (Fig. 3). • Developing Natural Language Processing: This is the core part of the implementation strategy that implements a strategic transformation scheme of natural language processing using both syntactical approach and semantic-based approach. However, different from any existing approach, the proposed system performs sequential implementation where syntactical approach is implemented first followed by implementing semantic-based approach.

40

J. Shruthi and S. Swamy

d1 d2 -

Comprehensive Reader

Extract Text

Data Aggregation

Unstructured Data

dn Fig. 3. Modeling data unstructuredness

– Syntactical Approach: A novel syntactical-based approach is adopted in the proposed system which is mainly associated with the structurization of the data. This is carried out as a part of transformation to semi-structured data. The proposed system constructs three-layers of the data reposition scheme which is in adherence of proposed syntactical approach. The bottom layer is meant for repositing all the essential header fields while the intermediate layer is meant for repositing the separator. The top layer is meant for repositing the original value of the data. Hence, the bottom and intermediate layer is meant for repositing uniform data while the top layer is meant for repositing only original values of data which is basically called as moving data. For better optimization practices, the proposed system store the uniform data in cloud and indexed them to moving data that is stored in dynamic buffer system. This mechanism is further followed by applying scripting tags to further extract all the metadata and is then updated back dynamic buffer which results in semi-structured data. Hence, indexing plays a contributory role in this system (Fig. 4).

Dynamic buffer Layer-3

Moving data

indexing

Layer-2 Cloud-storage

Layer-1

Uniform data

Fig. 4. Syntactical approach for structurization

– Semantic-based Approach: After the semi-structure data is obtained, the next turn is to extract the logical inference of the semi-structured textual data. For this purpose, the proposed system constructs a flexible tokenization scheme that is compared with the moving data in order to extract the real-inference. The finally extracted knowledge is then stored in the form of structured data and therefore the proposed system reposit quality mined data for better storage optimization too (Fig. 5).

6 Results Discussion A closer look into the proposed system shows that it is basically meant for performing transformation of the complex stream of the textual data to the simplified form. The process results in highly semi-structured data. Therefore, the evaluation is carried out considering sequence of data with increasing size. The proposed system considers 5 sets

Simplified Framework of Natural Language Processing

Semi-Structured Data

Flexible Tokenization

41

Extract Mined Data

Reposit in Storage Unit Fig. 5. Semantic-based for structurization

of data viz. i) Data-I (size = 5 GB), ii) Data-II (size = 10 GB), iii) Data-III (size = 15 GB), iv) Data-IV (size = 20 GB), and v) Data-V (size = 25 GB). The analysis has been carried out considering time consumed for all the 5 prominent internal processing i.e. i) time for extracting all essential fields, ii) time for converting unstructured to semistructure data, iii) time for performing tokenization, iv) time for tagging the grammar syntax, v) time for extracting knowledge (Table 1). Table 1. Numerical analysis of internal processes Test data

Operations Field extraction

Semi-stucture

Tokenization

Tag grammer syntax

Knowledge extraction

Data-I

0.034059

0.008732

0.008976

0.011949

0.000879

Data-II

0.001945

0.011595

0.012493

0.015498

0.000740

Data-III

0.002132

0.019508

0.018173

0.021808

0.000517

Data-IV

0.000903

0.024281

0.024360

0.026989

0.000522

Data-V

0.002410

0.034909

0.029012

0.037828

0.000560

The inference of the numerical outcome is as following:- A closer look at the extraction of the field derivative shows that there is a prominent reduction of the time for field extraction. For initial data, the time for field extraction has to be higher (for Data-I) as it is just one time operation; however once the matrix are stored in cloud storage system, extraction is not carried out for second stream of data (i.e. Data-II to Data-V). On the other hand, the time for converting the unstructured to semi-structured data has witnessed a growth and the similar increment level of time duration was also found for time for performing tokenization and time for tagging grammar syntax. However, the time for performing knowledge extraction is found to be significantly controlled over increasing the size of the dataset. The time for knowledge extraction is found to be decreasing for Data-I as well as Data-II but the time consumption for the Data-III to Data-V is found to be quite static in order. This outcome significantly shows that the proposed system offers the capability to perform better transformation process. Apart from this, the overall transformation time for maximized size of the data is found approximately to be 1.043 s, which is almost instantaneous. In order to show an effective transformation process, it is necessary to showcase that the transformation scheme offers faster response time and the proposed system showcase that it is possible to attain a faster transformation time by adopting some simplified changes in its internal operation. It is anticipated that the

42

J. Shruthi and S. Swamy

performance of faster response time do not have much adverse effect even if the data size has been further increased to next level.

7 Conclusion This paper has presented a unique mechanism of natural language processing which is claimed to offer simplified operational of text mining. Following are the contribution of the proposed system viz. i) the proposed system is absolutely free from any form of lexical database system unlike any existing system of text mining, ii) the proposed system offers higher accuracy and faster response time compared to existing frequently used text mining algorithm, iii) the proposed system has a unique adoption of integrated version of both syntactical and semantic-based approach that gives an edge to the information being mined as an outcome, and iv) proposed system also offers storage optimization as the actual value of data are not directly stored in storage units but rather its mined outcome are stored. Hence a good data quality and storage optimization is an added novelty factor of proposed natural language processing approach.

References 1. Tunning, B.R., Gridley, E.J.: Natural language personal information management. U.S. Patent 8,423,347, 16 April 2013 2. Kudo, T., Richardson, J.: Sentencepiece: a simple and language independent subword tokenizer and detokenizer for neural text processing. arXiv preprint arXiv:1808.06226 (2018) 3. Woitsch, R., Karagiannis, D.: Process-oriented knowledge management systems based on KM-services: the PROMOTE® approach. Intell. Syst. Account. Financ. Manag. 11(4), 253– 267 (2002) 4. Zong, C., Nie, J.-Y., Zhao, D., Feng, Y. (eds.): Natural Language Processing and Chinese Computing. CCIS, vol. 496. Springer, Heidelberg (2014) 5. Windham, M.: Unstructured Data Analysis: Entity Resolution and Regular Expressions in SAS. SAS Institute, Cary (2018) 6. Williams, P., Sennrich, R., Post, M., Koehn, P.: Syntax-based statistical machine translation. Synth. Lect. Hum. Lang. Technol. 9(4), 1–208 (2016) 7. Pang, B., Lee, L.: Opinion mining and sentiment analysis. Found. Trends® Inf. Retriev. 2(1–2), 1–135 (2008) 8. Verhaeghen, P., Hertzog, C. (eds.) The Oxford Handbook of Emotion, Social Cognition, And Problem Solving in Adulthood. Oxford University Press, Oxford (2014) 9. Rodrigues, M., Teixeira, A.: Advanced Applications of Natural Language Processing for Performing Information Extraction. Springer, Cham (2015) 10. Shruthi, J., Swamy, S.: Effectiveness of recent research approaches in natural language processing on data science-an insight. In: Silhavy, R., Silhavy, P., Prokopova, Z. (eds.) CoMeSySo 2018. AISC, vol. 859, pp. 172–182. Springer, Cham (2019) 11. Bao, J., Tang, D., Duan, N., Yan, Z., Zhou, M., Zhao, T.: Text generation from tables. IEEE/ACM Trans. Audio Speech Lang. Process. 27(2), 311–320 (2019) 12. Chen, P., et al.: Automatically structuring on Chinese ultrasound report of cerebrovascular diseases via natural language processing. IEEE Access 7, 89043–89050 (2019) 13. Heppner, A., Pawar, A., Kivi, D., Mago, V.: Automating articulation: applying natural language processing to post-secondary credit transfer. IEEE Access 7, 48295–48306 (2019)

Simplified Framework of Natural Language Processing

43

14. Huang, F., Zhang, X., Zhao, Z., Li, Z.: Bi-directional spatial-semantic attention networks for image-text matching. IEEE Trans. Image Process. 28(4), 2008–2020 (2019) 15. Al-Khalifa, H.S.: A system for decoding and coloring arabic text for language learners. IEEE Access 7, 104810–104822 (2019) 16. Li, H., Zhu, J., Ma, C., Zhang, J., Zong, C.: Read, watch, listen, and summarize: multi-modal summarization for asynchronous text, image, audio and video. IEEE Trans. Knowl. Data Eng. 31(5), 996–1009 (2019) 17. Liang, W., Feng, R., Liu, X., Li, Y., Zhang, X.: GLTM: a global and local word embeddingbased topic model for short texts. IEEE Access 6, 43612–43621 (2018) 18. Lu, M., Fang, Y., Yan, F., Li, M.: Incorporating domain knowledge into natural language inference on clinical texts. IEEE Access 7, 57623–57632 (2019) 19. Ludwig, O., Do, Q.N.T., Smith, C., Cavazza, M., Moens, M.: Learning to extract action descriptions from narrative text. IEEE Trans. Games 10(1), 15–28 (2018) 20. Park, D., Kim, S., Lee, J., Choo, J., Diakopoulos, N., Elmqvist, N.: ConceptVector: text visual analytics via interactive lexicon building using word embedding. IEEE Trans. Vis. Comput. Graph. 24(1), 361–370 (2018) 21. Peng, D., Wu, S., Liu, C.: MPSC: a multiple-perspective semantics-crossover model for matching sentences. IEEE Access 7, 61320–61330 (2019) 22. Prakash, J.J., Murthy, H.A.: Analysis of inter-pausal units in indian languages and its application to text-to-speech synthesis. IEEE/ACM Trans. Audio Speech Lang. Process. 27(10), 1616–1628 (2019) 23. Quan, Z., Wang, Z., Le, Y., Yao, B., Li, K., Yin, J.: An efficient framework for sentence similarity modeling. IEEE/ACM Trans. Audio Speech Lang. Process. 27(4), 853–865 (2019) 24. Ramisa, A., Yan, F., Moreno-Noguer, F., Mikolajczyk, K.: BreakingNews: article annotation by image and text processing. IEEE Trans. Pattern Anal. Mach. Intell. 40(5), 1072–1085 (2018) 25. Ren, X., Zhou, Y., He, J., Chen, K., Yang, X., Sun, J.: A convolutional neural network-based Chinese text detection algorithm via text structure modeling. IEEE Trans. Multimedia 19(3), 506–518 (2017) 26. Ren, X., Zhou, Y., Huang, Z., Sun, J., Yang, X., Chen, K.: A Novel text structure feature extractor for Chinese scene text detection and recognition. IEEE Access 5, 3193–3204 (2017) 27. Song, M., Zhan, Z., Haihong, E.: Hierarchical schema representation for text-to-SQL parsing with decomposing decoding. IEEE Access 7, 103706–103715 (2019) 28. Whitehead, N.P., Scherer, W.T., Smith, M.C.: Use of natural language processing to discover evidence of systems thinking. IEEE Syst. J. 11(4), 2140–2149 (2017) 29. Zhao, R., Mao, K.: Topic-aware deep compositional models for sentence classification. IEEE/ACM Trans. Audio Speech Language Process. 25(2), 248–260 (2017) 30. Zhuang, H., Wang, C., Li, C., Li, Y., Wang, Q., Zhou, X.: Chinese language processing based on stroke representation and multidimensional representation. IEEE Access 6, 41928–41941 (2018)

Design and Software Implementation of Heuristic and Suboptimal Strategies for the Mancala/Kalah Game Libor Pekaˇr(B) , Jiˇrí Andrla, and Jan Dolinay Faculty of Applied Informatics, Tomas Bata University in Zlín, Nad Stránˇemi 4511, 76005 Zlín, Czech Republic [email protected]

Abstract. One of the oldest games worldwide – the Mancala game – is focused on in this preliminary study. Namely, its the most popular version – the Kalah game – is considered. This contribution is aimed at the analysis of Kalah rules first. Further, based on these rules, some novel deterministic and suboptimal strategies are proposed. It is proved that the order of playing has a decisive impact on winning. The proposed strategies have been implemented via a simple C++/Qt application. By experiments, a human player, when playing as the second one, cannot defend the designed strategies in general. However, the same applies in reverse – when a human player begins, he/she can nearly always win. To sum up, the proposed software-based strategies are comparable to human opponents. Keywords: Game theory · C++ · Kalah · Mancala · Suboptimal strategy · Implementation

1 Introduction Mancala games represent a wide family of strategic board games with a variety of rules yet with common characteristics [1, 2]. They are included among the oldest board games worldwide ever [3]. Players need to have a board with one or more rows of holes (or pits, houses) in which a defined number of counters (or seeds) are placed. Often there are two or four additional holes (also called stores or end-zones) with a special meaning. The games are usually played by two players. The game starts with a certain distribution of the counters over the pits. A move consists of selecting one of the holes and putting all counters inside the hole one-by-one in adjacent holes in a certain direction. This procedure is called sowing. The goal is to capture as many counters as possible. The captured counters remain in the stores. According to the position and state of the last hole to which a counter is placed), some types of Mancala games continue in the move. Sometimes the player is allowed to do another move [4]. Kalah is a game from the Mancala family introduced in the 40s [5] or 50s [4] of the last century. It has become very high popularity in the Western world. The game has two players who own 6 holes on each side of the board. These sides are usually called South and North. In each hole, 2 to 6 counters can be distributed at the beginning of the game. © Springer Nature Switzerland AG 2020 R. Silhavy (Ed.): CSOC 2020, AISC 1224, pp. 44–53, 2020. https://doi.org/10.1007/978-3-030-51965-0_4

Design and Software Implementation of Heuristic

45

Moreover, the board is equipped with two stores for each side (player). Detailed game rules are given to the reader in Sect. 2 (along with their analysis). In this preliminary study, we consider the game with 4 counters in each hole and we attempt to provide the reader with a combination of a heuristic and a weak solution of the game [6, 7], i.e., we suggest a behavior using which the Player 1 (= South) wins or draws from the initial (and every possible) position when playing first, given arbitrary play [8] on North side (= Player 2). On the other hand, if South starts as the second one, it may lose. As mentioned above, Kalah rules and their analysis are given in Sect. 2. Section 3 introduces selected existing software solutions and briefly describes the authors’ implementation in C++ and Qt. The evaluation of the proposed solution can be found in Sect. 4.

2 Kalah Analysis 2.1 Kalah Rules Let us describe the most common rules for the Kalah game [4, 5]. The two players (North and South) sit at each side of the board (see Fig. 1). Each player has a row of 6 holes and one store on his/her right-hand side. It is assumed that South is Player 1, yet not playing as first in general. • At the beginning of the game, a given number of counters are placed in each house (usually 4). • Players take turns sowing their counters. A player removes all counters from one of the holes and, moving counter-clockwise, drops the counters one-by-one in each house in turn, including the player’s own store but not the opponent’s one. • If the last sown counter lands into an empty hole owned by the player, and the opposite hole contains any counter, the sown and the opposite counter are captured and placed into the player’s store. • If the last sown counter lands into the player’s store, the player do an additional move (this step can be repeated). • If any player has no counter in any of his/her houses, the opponent moves all remaining counters to his/her store and the game ends. • The player with the most counters in his/her store wins. The usual Kalah game notation is Kalah(m, n) where m stands for the number of holes for each player and n means the number of counters inside every single hole at the beginning of the game. As introduced above, the most common case is Kalah(6, n) with n = 4; however, a different n is possible. In this contribution, we consider Kalah(6, 4). Note that the so-called empty capture rule is not assumed here. This rule means that if the player inserts the last counter into an empty hole and, simultaneously, the opposite hole is empty, the counter goes to the store (i.e., it does not remain in the hole).

46

L. Pekaˇr et al.

Fig. 1. The Kalah (6-counter) game board [9].

2.2 Rules Analysis Various theoretical, as well as computer-aided analytic results on Kalah game complexity, have been obtained. Strong solutions based on a computer program that exhaustively compute all possible positions were obtained by Mark Rowlings in 2015 [8]. Kalah(6, 4) was proven win by 8, Kalah(6, 5) win by 10, and Kalah(6, 6) a win by 4 for the first player. By playing 100 games [7], it was shown that Kalah(6, 4) has an average game length of 30.75 with the average branching factor 4.08. However, full-depth game-tree searching strategies are time-consumptive. Many research results refer to the advantage for the first player. Some heuristic (experience-based) suggestions can also be found [10]. We do let provide the reader with a simple heuristic analysis that will be used for our suggested player’s behavior combining heuristic and weak (low-depth game-tree search) strategies. Ordinary (Unrepeated) Move. The goal is to save at least 25 counters. Counters can be saved only by sowing through the player’s store. Usually, only one counter can be placed at the store; however, if the emptied hole includes more than 14 counters, two of them land to the store. Repeated Move. Repeated moves mostly bring advantage for the player because of the increasing number of counters inside the store. Another positive impact is that the opponent’s holes remain unaffected. It has been proved that the longest possible chain on such moves for the 6-hole board is 17 [5]. We have, however, found another (different from the cited source) chain of moves of the same length as follows: • Let the holes be numbered consecutively from the left to the right (1 to 6). Assume that the numbers of counters inside them are 6, 5, …, 2, 1. • The player starts the sowing by emptying hole 6. The only counter lands into the store. • The player removes two counters from hole 2. Again, one counter is left in the store. • As a third, hole 6 is to be emptied. • Etc. Such a scheme leads to 17 counters left inside the store and 4 counters remaining inside board holes within a single move. However, it is difficult to reach the initial

Design and Software Implementation of Heuristic

47

scenario in practice. A good (even a partial) scenario is when there is the ascending (+1) number of counters inside holes 6, 5, 4, etc. starting from 1, on the board. Or, the same advantage appears when there is the descending (−1) scheme on the boar, starting from 6 counters inside hole 1. Then, the player should start the sowing from the right (i.e., from hole 6) or from the last possible hole when going through holes from the left. Capturing the Counters. This rule enables the player to gain more counters then when starting the game. Recall that the empty capture rule is not applied herein. On the other hand, the player should be aware of capturing his/her own counters as well.

2.3 Eventual Recommendations Based on the preceding subsection, we can conclude the following rational suggestions (to be implemented in the software application): • A repeated move is preferable. However, its advantage decreases with the distance of the particular hole from the store. If there are some empty holes near the store and there is a hole of a small number (i.e., on player’s the left-hand side), the counters of which can ensure a repeated move, one has to be careful – If the player inserts a counter into the empty hole, he/she loses a chance to capture the opponent’s counters. • The player has to check a possible existence of empty opponent’s holes, into which the last counter can land within the current move. This induces the necessity to analyze the opponent’s move simultaneously. On the other hand, capturing represents the only possibility how to increase the number of player’s counters.

3 Software Implementation 3.1 Existing Solutions There can be found a lot of software solutions for the game on internet. Let us name just a few. Regarding mobile applications, the well-known Google Play service suggests AppOn Innovate Mancala [11] that enables to play the Mancala game in the on-line or the off-line modes and against a real or an artificial player. MobileFusion Apps Ltd Mancala Ultimate [12] has three modes – man-to-computer, man-to-man played on a single machine or via the internet. It enables to give the players names. Mancala by L. Priebe [13] has a stand-alone man-to-man or a man-to-machine mode. A short game statistics are displayed when the game is over. A very sophisticated and smart algorithm can be found at Mathplayground [14]. Its Kalah game can be played on-line only in the man-to-machine mode. Most of the above-referred implementations do not enable to determine the first player – which can, however, a crucial option [7, 8]. 3.2 Used Tools The well-known universal and object-oriented C++ language, one of the most prevelant programming languages worldwide [15], is used herein. Since one of the main

48

L. Pekaˇr et al.

goals is to design a graphical user interface (GUI) application, it is desirable to use an appropriate framework (i.e., a set of library modules and other programming tools) or a software development kit (SDK). Our software application of proposed Kalah strategies is designed in Qt [16], which is a complex SDK that includes all the necessary tools for application design and deployment. It is characterized by the usage of signals and slots. Roughly speaking, a signal is sent by an object (e.g., a widget) when some event appears, whereas a slot represents a function (e.g., of the C++ language) that returns a reaction to the signal. 3.3 Important Programmed Methods Prior to a concise description of the proposed game strategy behavior and corresponding C++ methods (functions), we do let introduce key user-defined management (handling) functions. sowing - This method performs a single move of the game for the given combination of a player and a hole. It returns true if the last counter lands to the store. If the opponent’s counters should be captured, the lostStones function is called. lostStones – It has the same parameters as sowing, i.e., the player number and the number of the hole. If the opposite hole is not empty as well, all the counters are placed into the store. The application enables us to choose if Player 1 (a human being) or Player 2 (the computer) starts to play. The Player 1 move is handled by the sowing member function by using signal&slot tools. 3.4 Suggested Strategies As introduced above, heuristic (deterministic) and weak (tree-search) strategies are proposed herein. Deterministic Strategy. Based on the game rules analysis and given recommendations (see Subsects. 2.2 and 2.3), a heuristic and deterministic player’s behavior can be designed. This strategy simply repeats a finite set of methods with a given hierarchy based on the current game state. If the game move – as a result of the member function on a particular level – is evaluated as a preferable one, it is made. The code for the hierarchic order of conditions and methods inside method PCplayer is as follows:

Design and Software Implementation of Heuristic

49

bool mancala::PCplayer(unsigned short pl){ if (whichLastStoneMancala(pl)){ return true; }else if(stoneToEmptyHouse(pl)){ return false; }else if (defense(pl)){ return false; }else if(firstHouse(pl)){ return false; }

As can be seen, all the member functions inside PCplayer have the same argument pl that means the player number. Their concise description follows. whichLastStoneMancala – This function checks whether it is possible to place the last counter from a hole into the store. In the positive case, it returns true. stoneToEmptyHouse – It checks whether there exists a hole with the given number of counters inside, such that sowing ensures that some opponent’s counters can be captured. In other words, an empty hole with a non-empty number of counters in the opposite hole must exist. Besides a simple move within the single row, a possible roundabout move finishing in the starting or another empty move is tested. defense – It works similarly to stoneToEmptyHouse, yet from the opponent’s point of view. It means that a hole which is the most threatened by the capturing is sowed. However, such a move may lead to a loss of the player’s chance to capture the opponent’s counters during the next round. firstHouse – This method search for the first non-empty hole (from the right). Tree-Search Strategy. The second strategy implements a modified game-tree search for a given number STOP_ITERATION of layers. Note that the completed (full) tree search – that represents a brute force procedure – is not evaluated herein. Such a strategy or game solution is included in the family of weak solutions of a game [7, 8]. Apparently, the higher the value of STOP_ITERATION is, the slower the move calculation for Player 2 is. It is worth noting that the so-called game-tree pathology can appear [17]. It means that a deeper game-tree search may lead to worse play. Our strategy, however, combines a “slavish” searching with a heuristic behavior that prefers such a player’s move that does not cause any loss for the player. The algorithm for this combined strategy and a single move can simply be expressed as follows.

50

L. Pekaˇr et al.

Algorithm: Modified tree-search (current state of the game, player number, depth of the tree-search, moves made from the initial state) If the player has any counters for the state For all holes of the player If it is possible to do a strictly positive move Do the move and update the moves If the move can be repeated Update the state and Modified tree-search (state, player, depth, moves) Else Return the saved moves Else Return the saved moves If a strictly positive move has not been indicated for any of the holes (= moves is the empty set) Standard tree search (state, player, depth, moves) Return the saved moves where Standard tree search (state, player, depth, moves) If depth >= STOP_ITERATION or any of the players has no counters Evaluate the reached state and return the moves Else For all holes of the player Sow the hole, update the moves and the state for this branch, change the player, and increase the depth Standard tree search (state, player, depth, moves)

Let us now introduce some important steps of the algorithm in detail. The meaning of the strictly positive moves is that such moves can be done by the player without any fear of loss. Namely, this situation primarily appears when the move ensures a repeated move (i.e., it is similar to whichLastStoneMancala). However, a capturing of the opponent’s counters is positive as well (see stoneToEmptyHouse); therefore, it is further tested whether the player can do such a move. If none of these two cases suggests itself, the standard tree search is performed. This function saves the computation time by avoiding the computation of less valuable moves. The standard (raw) tree search implements the habitual iterative approach. Every single turn can be evaluated after moves are finished for both the players. The evaluation can be made when the maximum prescribed depth is reached or the game is over (i.e., in the leaf nodes). Sowing is naturally not possible for empty holes. A repeated move is checked by sowing function. If Modified tree-search is called for Player 1, the evaluation seeks the maximum number of stored counters for this player and the minimum of them for Player 2. Hence, the basic criterion for the move quality is the difference between the changes in positions of the stores for Player 1 and Player 2.

Design and Software Implementation of Heuristic

51

However, a repeated move ought to be benefited as well. Moreover, if the hole nearest to the store is empty, this state implies an advantage for the next moves (due to a very high chance of a future repeated move). Hence, we have suggested the following cost function for Player 1 (p1 )     (1) Fc (p1 ) = a S1,end − S1,start − S2,end − S2,start + b + c where S1,end , S1,start are the final and the initial number of stored counters for Player 1, respectively, and S2,end , S2,start are those for Player 2. The indicated difference is multiplied by the scaling factor a. The value of b represents the number of repeated moves during the computed turn for Player 1. The value of c is non-zero if hole 6 is empty at the final state; otherwise, it is zero. The nominal values have been set to a = 10, b = 1, c = 5. 3.5 GUI We do let concisely introduce the simple GUI programmed for verification of the designed algorithms. When starting the application, a window enabling the decision whether a human-being or the computer starts is released. This is very important feature that may significantly contribute to the game result. Then, the player can decide what strategy is to be used. There are 5 options here; namely, the deterministic algorithm or the modified tree-search strategy with the value of STOP_ITERATION from 1 to 4. After this selection, the main window (see Fig. 2). The human-being player (Player 1) is always situated on the Southside. When the game is over, a short summary of the game is displayed (who won, the eventual numbers of stored counters).

Fig. 2. The application GUI main window.

4 Evaluation This subsection is aimed at a concise evaluation of both the proposed algorithms. Besides the cost function (1), the total running time (speed) of computer moves is taken as the quality measure.

52

L. Pekaˇr et al.

All 5 above-mentioned options were evaluated by playing against an experienced human player. Let the human being be Player 1, whereas the computer be Player 2. The number of ten games have been played for every single strategy, except for the treesearch algorithm with STOP_ITERATION = 4 due to its slow computation speed. All the results are given to the reader in Table 1. Table 1. Computer vs. Human Player Scores Algorithm Deterministic

Tree (depth 1)

Starting

Tree (depth 3)

2

3

4

Player 1

41

27

39

Player 2

7

21

9

Player 2

Player 1

19

13

19

Player 2

29

35

29

29

29

33

28

32

25

32

Player 1

Player 1

35

34

22

32

20

29

35

22

16

35

Player 2

13

14

26

16

28

19

13

26

32

13

Player 1

18

16

7

16

12

15

10

25

22

26

Player 2

30

32

41

32

36

33

38

23

26

22

Player 1

Player 1

23

23

28

25

25

25

10

29

24

32

Player 2

25

25

20

23

23

23

38

19

24

16

Player 2

Player 1

17

18

12

13

23

19

13

15

7

13

Player 2

31

30

36

35

25

29

35

33

41

34

Player 1

Player 1

35

26

27

28

21

20

27

26

21

26

Player 2

12

22

21

20

27

28

21

22

27

22

Player 1

13

13

18

23

23

18

15

12

18

16

Player 2

35

35

30

25

25

30

33

26

30

32

Player 1

Player 1

22

16

31

19

20

x

x

x

x

x

Player 2

26

32

17

29

28

x

x

x

x

x

Player 2

Player 1

5

9

6

5

5

x

x

x

x

x

Player 2

40

39

41

35

33

x

x

x

x

x

Player 1

Player 2 Tree (depth 4)

Number of the game 1

Player 2 Tree (depth 2)

Score

5

6

7

8

9

10

41

36

40

26

40

31

35

7

12

8

22

8

17

12

19

19

15

20

16

23

16

As can be seen from the table, the starting position has a decisive impact to the game result. This fact has already been reported by some studies [5, 7, 8]. For the deterministic behavior strategy, a human opponent can always win when playing first. However, in some cases, he/she can win even if starting as second. As expected, the success of the tree-search strategy increases as the depth of the search increases. On the other hand, an increasing computation time can be observed. The computer managed to win when starting as second for a small number of games. To sum up, we can conclude that the proposed strategies are comparable to the behavior of a mid-experienced human player.

Design and Software Implementation of Heuristic

53

5 Conclusion In this contribution, two computer game suboptimal strategies for the Kalah game have been proposed; namely, a deterministic and a modified tree-search one. The proposed algorithms have been verified by using a simple GUI application. It has been proofed by experiments that the programmed player behaviors give similar winning success to human-player movement decisions. However, the order of player is crucial. Acknowledgments. We do have to express our gratitude to Dr. Petr Dostálek for his patience during preparing this contribution.

References 1. Murray, H.J.R.: A History of Board Games other than Chess. Oxford at the Clarendon Press, London (1952) 2. Russ, L.: The Complete Mancala Games Book. Marlow & Company, New York (2000) 3. Pankhurst, R.: Gäbät.a. In: Uhlig, S. (ed.) Encyclopaedia Aethiopica: D-Ha. Harrassowitz Verlag, Wiesbaden (2005) 4. Irving, G., Donkers, J., Uiterwijk, J.W.H.M.: Solving Kalah. ICGA J. 23(3), 139–147 (2003) 5. Kalah. Wikipedia: A Free Encyclopedia. https://en.wikipedia.org/wiki/Kalah/. Accessed 24 Oct 2019 6. Allis, L.V.: Searching for Solutions in Games and Artificial Intelligence. Ph.D. thesis, Department of Computer Science, Rijksuniversiteit Limburg, Maastricht, The Netherlands (1994) 7. van den Herik, H.J., Uiterwijk, J.W.H.M., van Rijswijck, J.: Games solved: now and in the future. Artif. Intel. 134, 277–311 (2002) 8. Solved Game. Wikipedia: A Free Encyclopedia. https://en.m.wikipedi0.org/wiki/Solved_ game/. Accessed 24 Oct 2019 9. Carstensen, A.K.: Solving (6,6)-Kalaha (2011). http://kalaha.krus.dk/ 10. Brown, S.: Basic Strategy for Mancala. https://www.thesprucecrafts.com/. Accessed 29 Oct 2019 11. AppOn Innovate: Mancala [Mobile application software]. https://play.google.com/store/apps/ details. Accessed 1 Nov 2019 12. MobileFusion Apps Ltd.: Mancala Ultimate [Mobile application software]. http://mobilefus ionapps.com/. Accessed 1 Nov 2019 13. Priebe, L.: Mancala [Computer software]. https://www.superhry.cz/games/240/. Accessed 1 Nov 2019 14. Math Playground LLC: Mancala [Java-based game]. https://www.mathplayground.com/man cala.html. Accessed 1 Nov 2019 15. Stroustroup, B.: Programming: Principles and Practice Using C++, 2nd edn. Addison-Wesley Professional, Boston (2014) 16. Eng, L.Z.: Qt5 C++ GUI Programming Cookbook: Design and Build a Functional, Appealing, and User-Friendly Graphical User Interface. Packt, Birmingham (2016) 17. Zuckerman, I., Wilson, B., Nau, D.S.: Avoiding game-tree pathology in 2-player adversarial search. Comput. Intell. 34(2), 542–561 (2018)

Sector-Selective Hybrid Scheme Facilitating Hardware Supportability Over Image Compression D. R. Premachand(B) and U. Eranna Department of ECE, BITM, Ballari, India [email protected]

Abstract. Image compression is one of the inevitable operation demands for any form of transmission as well as storage optimization services. Review of existing literatures towards the compression scheme shows that there are further scope of improvement to be carried out to ensure an effective realization of hardware implementation of the cost effective image compression. Therefore, this paper presents a computational model that is constructed for facilitating an effective hardware realization of an effective hybrid compression operation. The proposed system introduces a selective sector of an image to be subjected to the lossless image compression while the other parts of the image are subjected to the lossy image compression scheme. Adopting analytical research based scheme, the outcome of the study is found to offer a better signal quality for the reconstructed image and effective compression performance. Keywords: Image compression · Hybrid compression · VLSI · Hardware realization · Segmentation · Contour

1 Introduction Basically image compression deals with the techniques that where targets for better storage optimization as well as make the image transmission quite smoother [1]. It also deals with mitigating the presence of any form of artifacts that could be inevitable in the wireless transmission process [2]. However, this theoretical concept is quite challenging to deal with over the devices owing to constraints that are related to either energy or the area [3]. With the proliferated usage of the Internet-of-Things, there are massive increases of utilization of various forms of resource constraint devices which are inter-connected with each other using various forms of networks [4]. Normally the process of image compression is carried out either using software based methodology or it uses hardware-based methodology [5–7]. Majority of the software-based approach deals with using forward steps of transformation offering more dependencies over the multiplication operation of the vector matrix as well as various other operations associated with the matrix transposition [8]. Unfortunately, these operations are found to be not appropriate with the resource-constraint devices used in existing times owing to © Springer Nature Switzerland AG 2020 R. Silhavy (Ed.): CSOC 2020, AISC 1224, pp. 54–62, 2020. https://doi.org/10.1007/978-3-030-51965-0_5

Sector-Selective Hybrid Scheme Facilitating Hardware

55

inclusion of higher degree of computational burden with respect to memory as well as computational factor. Existing schemes of handling this problem is highly symptomatic and deals with only few set of problems that doesn’t offer full fledge solution towards a cost effective hardware and computational realization of the compression scheme [9, 10]. Therefore, this paper introduces a cost effective hybrid compression operation that make use of a unique series of cost effective operation that leads to good balance between compression and signal quality. Hence, this paper presents a novel optimization technique towards leveraging the clustering process in wireless sensor network. Section 2 discusses about the existing research work followed by problem identification in Sect. 3. Section 4 discusses about proposed methodology followed by elaborated discussion of algorithm implementation in Sect. 5. Comparative analysis of accomplished result is discussed under Sect. 6 followed by conclusion in Sect. 7.

2 Related Work At present, there has been various form of work carried out towards the compression operation for the digital images. The most recent work of Wang et al. [11] has presented a line-buffer based mechanism to perform compression over the processing circuits. The work of Amirjanov and Dimililer [12] have applied subjective optimization where supervised learning algorithms has been used taking the case study of medical image processing. Chen et al. [13] have used color filter array along with an improved GolombRice code for supporting an effective on-chip compression. Hybrid compression scheme has been implemented by Cabronero et al. [14] where a transformation-operation is carried out considering colored mosaic image. The works of Halawani et al. [15] have developed a hardware acceleration approach for an effective compression scheme over integrated circuits. Similar line of research work has also been carried out by Choi et al. [16] where hardware with high throughput has been designed over FPGA. A comprehensive architecture of the VLSI towards image encoder involvement in the compression is carried out by Hsieh et al. [17] using tree-based approach. The works of the Kaur et al. [18] have presented a compression scheme considering image sensors over the on-chip hardware design using interpolation operation. Onishi et al. [19] have presented a design of the multimedia encoder over single-chip design where scalability is achieved for compression process. Zhu et al. [20] have used transform-based compression scheme where the block coding is used. Gradient-based approach towards improving compression performance is seen in the work of Kim et al. [21]. Study connecting energy efficiency over the VLSI architecture for image compression is carried out by Chen et al. [22] considering ultra-high definition frame. Lucas et al. [23] have used predictive-based scheme for the purpose of performing lossless compression scheme. Parikh et al. [24] have used latest encoders for performing maximized compression performance for the complex form of an image. Apart from this, various other approaches used in compression are histogram-based (Yin et al. [25]), diffusion-based (Peter et al. [26]), color-filter array based (Chen et al. [27]), compression using static ratio (Kim et al. [28]), energy-efficient circuit based (Zeinolabedin et al. [29]), integrated architecture-based (Zhang et al. [30]). The next section outlines the problems in existing system.

56

D. R. Premachand and U. Eranna

3 Problem Description After reviewing the existing approach, it was seen that there are various pitfalls associated with the compression scheme to be adopted for an effective VLSI architecture. Following are the problems viz. (i) existing approaches doesn’t offer computationally intensive process which suits well along with the hardware architecture, (ii) less involvement of the filtering process while performing compression is another problem resulting in subjecting low-quality image for compression, (iii) selection of the complete signal for processing which is not always required has not been emphasized much in existing system, (iv) lack of emphasis of an effective feature selection process considering the cost effectiveness of implementation strategy is also not much involved in existing study.

4 Proposed Methodology The core target of the proposed system is to evolve up with a novel approach that is capable of performing compression of an image focusing on retaining maximum balance between computational complexity as well as better signal quality of the reconstructed image. Figure 1 highlights the process flow of the proposed compression scheme. Processing Input Image

Performing Filtering Operation Sector-Selective Compression

Input Image Contour Detection

SegmentationOperation

Applying Optimized Contours Detection

Wavelet-based Compression

Compressed Image

Fig. 1. Schematic architecture

According to the flow shown in Fig. 1, the proposed system uses analytical research methodology and takes an input image and subjects it to series of cost effective internal processing which leads to better version of compression. The proposed system uses hybrid compression technique that performs lossless compression over selected sector of an image that is considered to be the significant followed by applying lossy compression scheme over other regions of the image. The proposed system make use of the contours detections that basically acts as an implicit features to be used for carrying out compression scheme. Apart from this, the proposed study also performs optimization of the proposed compression scheme. The next section discussion of the all the essential process blocks shown in Fig. 1.

Sector-Selective Hybrid Scheme Facilitating Hardware

57

5 System Design This section discusses about the strategies that are adopted to develop the proposed concept of image compression considering the case study of complex form of an image i.e. medical image. The idea is to evolve up with a novel form of image compression technique that can perform more effective mode of compressive operation which is capable of maintaining balance between the qualities of the reconstructed image as well as computational complexity associated with the operation. This section discusses about the assumptions being carried out towards implementation of proposed compressive scheme followed by briefing of implementation strategy and brief highlights of flow of algorithm. 5.1 Assumptions Carried Out The primary assumption of the proposed scheme is that image is transmitted in its purest form where its quality is affected while attempting to perform transmission over a communication media that is characterized by artifacts. This assumption will lead to implement standard model of artifacts incorporation for clarity in studying effectiveness over test images. The secondary assumption of the proposed study is that artifacts introduced in the communication environment are not influenced by any form of intrusion threats. This assumption will lead to un-deviated focus on implementation towards upgrading communication performance owing to new compression operation only. The tertiary assumption of the proposed system is that the complete image consists of specific a region which offers higher significance which demands lossless compression performance. 5.2 Implementation Strategy The prime strategy of the proposed system is to offer better form of compression performance prioritizing the cost effectiveness in its operation as well as quality of the image obtained while performing decompression. In order to achieve this compression scheme towards boosting the complexity in operation, the proposed system considers that complete image is not required to be compressed. As in all the images, there are certain regions which are critically important while the other part is not that important. Therefore, the logic of the proposed implementation is that inspite of offering complete compression algorithm over the complete image, only the essential sector of the image could be compressed. This selective compression scheme will offer potential control over the resources involved in operation which is extremely important from hardwarebased application viewpoint. Hence, segmentation-based scheme is highly helpful in performing this implementation strategy that targets for better hardware-realization supportive platform at the end. It is because the memory allocations over the hardware to perform the compression operation over images are quite limited and performing full fledges compression will only increase the complexity.

58

D. R. Premachand and U. Eranna

5.3 Execution Flow The core part of the implementation of the proposed system is to perform compression over the selective sector that takes the input of the image to be compressed while the algorithm generates an outcome of compressed image. The significant steps of the proposed system are as follows: Algorithm for Sector-Selective Compression Scheme Input: I (Input Image) Output: φ (Compressed image) Start 1. init I 2. K=f 1 (I) 3. I4 =f 2 (I) 4. BW→f 3 (I4 ) 5. R→concat(r1 g1 b1 ) 6. Cr→ concat(r g b) 7. Cp→ concat(R G B) 8. φ→f 4 (Cp) End

The descriptions of the proposed algorithmic steps are as follows: • Processing Input Image: The input image is initially digitized in order to generate an image matrix I (Line-1). Apart from this, the proposed system ensure that if the input image is colored one than it converts the image into grayscale image I. Hence, the complete algorithm proceeds ahead with the grayscale image I. • Performing Filtering Operation: The proposed system performs filtering operation in order to deal with any residual of artifacts present prior to performing image compression. For this purpose, a function f 1 (x) is constructed that performs non-linear filtering operation is carried out which also incorporates better improvement in later phase of image processing (Line-2). • Sector-Selective Compression: The compression operation is based on the fact that a specific sector within a given image I is required to undergo lossless compression scheme while the rest other part can be subjected to lossy compression scheme. This binds the advantageous features of both the form of standard compression scheme to tackle the complexity problem associated with the compression operation. However, manual selection of such essential and critical sector is not always possible and becomes a tedious task. Therefore, the proposed system formulates a function f 2 (x) that performs automated selection of such critical sector using three embedded operation (Line-3). The algorithm initially performs involuntary thresholding over an image I followed by converting the image into binary form from threshold image. This operation finally performs multiplication of threshold image with the binary image that finally generates an image I4 with selected sector to be subjected for lossless compression in later phases of implementation. • Segmentation-Operation: The proposed system now applies a unique segmentation process over the selected sector of an image I4 (Line-4) using an explicit function

Sector-Selective Hybrid Scheme Facilitating Hardware

59

f 3 (x). The operation of f 3 (x) is targeted towards achieving multi-scale segmentation operation. The function applies fuzzy c-means clustering over the reshaped binarized image I4 . It then computes the summation of all the labels of the pixels which are obtained from logical value of the reshaped value of the index obtained from maximum arguments of the probability of outcomes obtained from fuzzy c-means clustering. All the components of the segmented parts are now connected followedby multiplying the binarized image I4 with the binarized image. This process leads to generation of the segmented image BW. • Contour Detection: The next part of the implementation is to carry out contour-based detection process (Line-5). In this process, initially a matrix is constructed that retains the corner metric extracted from the input image, which is actually used for feature extraction. Upon finding all the positive set of corners, an index is constructed followed by matching the inputs to the outputs which leads to the formation of red (r1 ), green (g1 ), and blue (b1 ) components. Only the red components are initialized with 255 while green and blue components are initialized with 0. Finally, concatenation is carried out for all the components in order to obtain actual corner points R. In the consecutive part of the implementation, the proposed system performs identification of the maximum image regions in order to obtain peaks of corners followed by indexing the corners. The similar input and output is matched while similar concatenation operation is carried out for newly indexed corner points corresponding to red component r, green component g, and blue component b which finally generates suppressed corner point Cr (Line-6). The algorithm also performs multiplication of the grayscale image with the contour index that finally generates contours of the complete image given. • Applying Optimized Contours Detection: This part of the implementation is basically intended for optimizing the performance of the contour detection scheme. For this purpose, the entire prior contours information matrix is accessed. An explicit function of S-shaped curve membership function is used for generating individual matrix. Only the values that lies between the probability limit is considered for final contours using similar concatenation leading to generation of optimized contour points Cp (Line-7). • Wavelet-based Compression: This is the final step of proposed algorithm where a function f 4 (x) is used for applying wavelets for performing compression over the image with contours Cp from prior steps. This operation leads to generation of the finally compressed image φ (Line-8).

6 Results Discussion The analysis of the proposed study has been carried out with various forms of the images. The study deals with specific selection of sector within an image to undergo lossless compression; therefore, the outcome is testified visually and graphically. The visual outcomes shows image after subjecting to non-linear filter, image with sector, multi-scale segmentation, contour detection, and optimized contours as shown in Fig. 2. The numerical outcome of the proposed study has been testified using Peak Signal-toNoise Ratio (PSNR) and Compression Ratio (C-Ratio) as shown in Fig. 3. The analysis is carried out with respect to Selective Region (SR) and Full Image (FI).

60

D. R. Premachand and U. Eranna

Fig. 2. Visual outcomes of sample image

(a) PSNR Performance

(b) Compression Ratio

Fig. 3. Graphical outcomes

As per the analyzed outcome shown in Fig. 3, it can be seen that proposed system offers enhanced PSNR performance for SR in comparison to FI, which proves that proposed system could offer better signal quality as well as significant dimensional reduction at same time. The overall response time of proposed algorithm is approximately 0.9877 s which is almost instantaneous, proving that proposed algorithm offers better cost effective performance for selective sector based compression operation.

7 Conclusion Although there has been various scheme of compression being carried out in existing system, but more schemes are inclined towards software-based modeling and less schemes are focused on hardware-based modeling. This trade-off leads to gap in the computational and the VLSI based architecture design improvement when it comes to the compression scheme. The proposed system offers a significant cost effective solution

Sector-Selective Hybrid Scheme Facilitating Hardware

61

towards this problem where following are the contribution of the proposed system viz. (i) the proposed system offers a cost effective solution by introducing a series of fast and cost effective operation that doesn’t offer a potential resource dependencies, (ii) there is a significant cost saving towards memory-based resources of the hardware to perform compression as it is based on simplified features detection policy which are negligible in the form of memory saturation, (iii) the proposed system offers significant improvement in signal quality as well as compression ratio, (iv) another contribution is that only the selected sector of the image is subjected to compression which significantly reduces the level of hardware resources while performing compression.

References 1. Bouchemel, A., Abed, D., Moussaoui, A.: Enhancement of compressed image transmission in WMSNs using modified µ-nonlinear transformation. IEEE Commun. Lett. 22(5), 934–937 (2018) 2. Paek, J., Ko, J.: K-means clustering-based data compression scheme for wireless imaging sensor networks. IEEE Syst. J. 11(4), 2652–2662 (2017) 3. Heng, S., So-In, C., Nguyen, T.G.: Distributed image compression architecture over wireless multimedia sensor networks. Wirel. Commun. Mob. Comput. 2017 (2017) 4. Makkaoui, L., Lecuire, V., Moureaux, J.: Fast zonal DCT-based image compression for Wireless Camera Sensor Networks. In: 2010 2nd International Conference on Image Processing Theory, Tools and Applications, Paris, pp. 126–129 (2010) 5. John Moses, C., Selvathi, D., Anne Sophia, V.M.: VLSI architectures for image interpolation: a survey. VLSI Des. 2014 (2014) 6. Yin, H., Jia, H., Zhou, J., Gao, Z.: Survey on algorithm and VLSI architecture for MPEGLike video coder. J. Sig. Process. Syst. 88(3), 357–410 (2016). https://doi.org/10.1007/s11 265-016-1160-3 7. Hasan, K.K., Dham, M.A.A., Nawaf, S.F.: Low complexity hardware architectures for wavelet transforms: a survey. In: International Conference on Materials Engineering and Science (2018) 8. Kidav, J.U., Ajeesh, P.A., Vasudev, D., Deepak, V.S., Menon, A.: A VLSI architecture for wavelet based image compression. In: Meghanathan, N., Nagamalai, D., Chaki, N. (eds.) Advances in Computing and Information Technology. AISC, vol. 178, pp. 603–614. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-31600-5_59 9. Ba˘gbaba, A.Ç., Örs, B.: Hardware implementation of novel image compression-encryption system on a FPGA. In: 2015 9th International Conference on Electrical and Electronics Engineering (ELECO), Bursa, pp. 1159–1163 (2015) 10. Li, S., Yin, H., Fang, X., Lu, H.: Lossless image compression algorithm and hardware architecture for bandwidth reduction of external memory. IET Image Process. 11(6), 379–388, (2017) 11. Wang, H., Wang, T., Liu, L,. Sun, H., Zheng, N.: Efficient compression-based line buffer design for image/video processing circuits. IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 27(10), 2423–2433 (2019) 12. Dimililer, K., Amircanov, A.: Image compression system with an optimisation of compression ratio. IET Image Process. 13 (2019) https://doi.org/10.1049/iet-ipr.2019.0114 13. Chen, C., Chen, S., Lioa, C., Abu, P.A.R.: Lossless CFA image compression chip design for wireless capsule endoscopy. IEEE Access 7, 107047–107057 (2019)

62

D. R. Premachand and U. Eranna

14. Hernández-Cabronero, M., Sanchez, V., Blanes, I., Aulí-Llinàs, F., Marcellin, M.W., SerraSagristà, J.: Mosaic-based color-transform optimization for lossy and lossy-to-lossless compression of pathology whole-slide images. IEEE Trans. Med. Imaging 38(1), 21–32 (2019) 15. Halawani, Y., Mohammad, B., Al-Qutayri, M., Al-Sarawi, S.F.: Memristor-based hardware accelerator for image compression. IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 26(12), 2749–2758 (2018) 16. Choi, J., Kim, B., Kim, H., Lee, H.: A high-throughput hardware accelerator for lossless compression of a DDR4 command trace. IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 27(1), 92–102 (2019) 17. Hsieh, J., Shih, M., Huang, X.: Algorithm and VLSI architecture design of low-power SPIHT decoder for mHealth applications. IEEE Trans. Biomed. Circ. Syst. 12(6), 1450–1457 (2018) 18. Kaur, A., Mishra, D., Jain, S., Sarkar, M.: Content driven on-chip compression and time efficient reconstruction for image sensor applications. IEEE Sensors J. 18(22), 9169–9179 (2018) 19. Onishi, T., et al.: A single-chip 4 K 60-fps 4:2:2 HEVC video encoder LSI employing efficient motion estimation and mode decision framework with scalability to 8 K. IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 26(10), 1930–1938 (2018) 20. Zhu, S., He, Z., Meng, X., Zhou, J., Zeng, B.: Compression-dependent transform-domain downward conversion for block-based image coding. IEEE Trans. Image Process. 27(6), 2635–2649 (2018) 21. Kim, K., Lee, C., Lee, H.: A sub-pixel gradient compression algorithm for text image display on a smart device. IEEE Trans. Consum. Electron. 64(2), 231–239 (2018) 22. Chen, Q., Sun, H., Zheng, N.: Worst case driven display frame compression for energyefficient ultra-HD display processing. IEEE Trans. Multimedia 20(5), 1113–1125 (2018) 23. Lucas, L.F.R., Rodrigues, N.M.M., da Silva Cruz, L.A., de Faria, S.M.M.: Lossless compression of medical images using 3-D predictors. IEEE Trans. Med. Imaging 36(11), 2250–2260 (2017) 24. Parikh, S.S., Ruiz, D., Kalva, H., Fernández-Escribano, G., Adzic, V.: High bit-depth medical image compression with HEVC. IEEE J. Biomed. Health Inform. 22(2), 552–560 (2018) 25. Yin, S., Ouyang, P., Chen, T., Liu, L., Wei, S.: A configurable parallel hardware architecture for efficient integral histogram image computing. IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 24(4), 1305–1318 (2016) 26. Peter, P., Kaufhold, L., Weickert, J.: Turning diffusion-based image colorization into efficient color compression. IEEE Trans. Image Process. 26(2), 860–869 (2017) 27. Chen, S., Liu, T., Shen, C., Tuan, M.: VLSI implementation of a cost-efficient near-lossless CFA image compressor for wireless capsule endoscopy. IEEE Access 4, 10235–10245 (2016) 28. Kim, S., Kim, M., Kim, J., Lee, H.: Fixed-Ratio Compression of an RGBW Image and Its Hardware Implementation. IEEE J. Emerg. Sel. Topics Circ. Syst. 6(4), 484–496 (2016) 29. Zeinolabedin, S.M.A., Zhou, J., Liu, X., Kim, T.T.: An area- and energy-efficient FIFO design using error-reduced data compression and near-threshold operation for image/video applications. IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 23(11), 2408–2416 (2015) 30. Zhang, S., Tian, X., Xiong, C., Tian, J.: Unified VLSI architecture for photo core transform used in JPEG XR. Electron. Lett. 51(8), 628–630 (2015)

Performance Evaluation of Joint Rate-Distortion Model of Video Codec S. K. Veena1(B) and K. Mahesh Rao1,2 1 Department of ECE, MITM, Mysuru, India

{veenask_ece,maheshkrao_ece}@mitmysore.in 2 Department of ECE„ MITM, Mysuru and affiliated to Visvesvaraya Technological University,

Mysuru, Belagavi, Karnataka, India

Abstract. The future advanced systems depend on real-time video bitstream transmission. The traditional video codecs offer advantages of storage optimization. In contrast, the futuristic systems require an efficient and robust video codec to provide an optimal balance between storage, visual quality, and time along with minimization of computational complexity. This paper proposes a model framework for coding QCIF more suitable for the data transmission rate, quality of reconstruction of the codecs, and time complexity. The framework model evaluates the joint rate-distortion method for the prediction of principal blocks of features between one frames to another. The proposed framework model exhibits significant improvement in data transmission rate, along with Peak-Signal to Noise Ratio and reduced time complexity, which makes it applicable for the future generation compressed video transmission over the network. Keywords: CIF · QCIF · Video compression · Codec · Block prediction · PSNR

1 Introduction The underlying construct of video transmission across various communications channels is to transmit critical information correlated with visual features from the transmitter to the receiver. In the past decade, it is seen that video information storage into the various forms of video cassette recorder (VCR), digital versatile disc (DVD), and various broadcasting systems, including cable TV, Satellite Systems or Internet. There is a paradigm shift in the video formats from analog to digital. In the initial stage of video technology, the constitute information was stored as a grayscale popularly named as black and white video; further red, blue, and green data were broadcasted as a color video that consumes higher bandwidth as compared to black and white video. The evolution of various alternative methods for video information includes Y, R-Y, G-Y, NTSC, PAL, SECAM, S-Video, S-VHS, YPbPr, etc. took place [1]. The accessible format for a digital video signal is RGB and YCbCr. The HDMI based on digital YCbCr and HDMI based on digital RGB is the most standardized connection method. The advance technological evidences of modern devices including smart TV, smart cameras and surveillance system, multi-party video conferences, vehicular infotainment system, web assembly, multi-party video games etc., are the outcome due to © Springer Nature Switzerland AG 2020 R. Silhavy (Ed.): CSOC 2020, AISC 1224, pp. 63–72, 2020. https://doi.org/10.1007/978-3-030-51965-0_6

64

S. K. Veena and K. Mahesh Rao

rapid development of video codecs family from MPEG-1, MPEG-2, MPEG-3, MPEG-4, H.264 and latest H.265, a high efficiency video coding (HEVC) [2]. The modern and advanced visual data-based systems over IP-network take either of CIF or Quarter-CIF (Common Intermediate Format) dues to its advantages into all domains of codec either in DCT or pixel domain [3, 4]. Section 2 discusses the related work for the video codec to understand its research direction. Section 3 describes in detail the system model of the codec framework and associated algorithms, and further Sect. 4 discusses the results and analysis of the performance metrics followed by a conclusion and future research direction in Sect. 5.

2 Review of Literature The unique and additional features of H.264 by JVT(Joint-video-team) exhibits better performance, primarily due to the mechanism of intra-frame prediction (IFP). In the domain of data transfer in a secure manner, along with the media coding having an impact on the erroneous communication minimization in the intraframes [5]. The bilateral filters for transformation and later for the reconstruction is used as a mechanism of the compression of the videos. In the work of Wennersten et al. (2017), this mechanism is used for both still images as well as for the intraframes to optimize the bitrate and complexity [6]. The problem of finding the exact matching pair of the frame poses performance issues into the traditional method of the media codecs that are overcome with the use of the structure form motion (SFM). In the work of Yang et al. (2018), encodes with the intraframe approach by optimizing the pixel prediction by modeling it as linear programming and validate it to perform better as compared to the baseline H.264 [7]. Though the performance gain of H.264/HEVC in terms of compression capacity is higher for future generation media formats, whereas the coding of the Intra frame may pose higher computational complexities. In order to overcome these challenges, Wei et al. propose an algorithm that makes a very efficient decision for depth computation and ensures a reduction in complexity [8]. The objective of modern video codecs is not only limited to just synchronization of the real-time matching of the bit-stream as per the network capability and balancing the visual perception, whereas in many future applications require to perform retrieval of the videos from the large databases. The work of Liang et al. (2015) proposes a method to extract significant features out of the intraframe and used for the encoding process, which uses the resources optimally on the latest datasets [9]. In the future, due to mobility, the video content based mobile application demands energy minimization process for the encoding, in the work of Mallikarachchi et al. (2016) used the intra-frame for the decoding of the with the prediction of energy requires [10]. The distortions into distinguished camera does not get controlled by the traditional approaches of the inter or intraframe predictions, in the work of Eichenseer et al. (2014) have critically studied and analyzed the method efficiency of the coding schemes with H.264/H.265 and found that the maximum PSNR is in the mechanism used for encoding using intraframe as compared to the inter-frame [11]. The approach of the rate-distortion promises higher efficiency but at a very higher time of encoding in HEVC as compared to the H.264. The time complexity found is due to the various sizes of the blocks along with the variations in the prediction modes. In

Performance Evaluation of Joint Rate-Distortion Model

65

this direction, Shan et al. (2017), in their work, introduces an intra coding method to minimize the computational complexity during the intraframe coding, so that the time of encoding reduces. The use of SVM as a machine learning approach is introduced to predict the coding blocks to speed up the process [12]. The limitations of having higher complexities in HEVC as compare to its predecessor H.264 open up an issue of optimizing the resources, Radosavljevi´c et al. (2015) introduces an intra frames manipulations based on the local image features and claims minimization of the encoding time concerning the base reference software [13]. The correlation among the rate control and choosing out of the interframe and intra frames is always a critical issue for the researchers. In the work of Li et al. (2017), an approach of the neural network of type convolution is adopted for the prediction and claims to exhibit better results as compared to the traditional rate control methods [14]. The Table 1 below is the list of few archival works of use of the intraframe approaches for the prediction, and its impact of the performance are listed. Table 1. Research on intraframe, methods, and impact on performance Citation

Approach

Impact on performance

[15], Sanchez et al. (2018)

depth maps intra-prediction,

BD-rate increase of 0.03%

[16] Sanchez et al. (2017)

fewer best-ranked modes in RD-list

23.9% of complexity reduction

[17] Said et al. (2016)

non-filtered and filtered) reference

2.0%-bit rate average reduction

[18] Fernandes et al. (2018)

Least-Squares Approximation

high intra-frame prediction quality

[19] Storch et al. (2019)

360 Degree video coding using fast intraframe

Futuristic compression needs

It is inferred as a gap and concluded that the use of intraframe prediction might provide all the benefits of future coding standards and minimize the complexities in terms of computation and time.

3 Framework Model The video sequence formed on the special rate, namely frames per second (fps), basically constitutes two types of the frame as I-frame and P-frame from the significance of the codec process. The P-frame requires an approach of taking only the principal components that makes compression optimization. The intra-mode-prediction (IMP) or intra-frameprediction (IFP) predicts a block -P with the help of the encoded block along with reconstructed block by subtracting it from the current block.

66

S. K. Veena and K. Mahesh Rao

Algorithm-1: YCbCr transformation to numerical movie Input : YCbCr format file with extension. Y4u Output: movie (compatible with numerical computing) Start: M

B f(Obj) [H,Hp] f(Obj.ID) Call headerReader() Cs ’C420’ If H(1)= = YUV4MPEG2 [FW,FH,fpsF,PARF,I] H[2,3,4,5,6] fps fpsF(1)/fpsF(2) PARF PARF(1)/PARF(2) Check S(H/2)>6&&H(7) String(C) and CS H[7] Fields: [FW,FH,fps,I,PAR,CS] End Fl = F W x F H Check for color specification: if CS==C420 Fl (3 x Fl)/2 [FW,FH] 0.5 elseif CS==C422 Fl 2xFl fW 0.5,fH 1.0 elseif CS==C444 Fl 3xFl [FW,FH] 1.0 [(B-Hp)/(6+Fl)] FC End For each frame of FC YUV data(B), RGB YCbCr RGB(YUV) Update:( )and ( End

)

The input video in YUV4Mpeg format that carries YCbCr uncompressed frames sequence from the standard dataset maintained by the xiph foundation for media research on the internet. The YCbCr is transformed from the 8-bit RGB. The transformation of the YCbCr to the numerical format takes place using the Algorithm -1.  and color map (C  M ) is created, and the Initially, an empty structure for the data (C) total byte (B) is computed for the media object. The header and the end of the header position I evaluated from the media object ID for uncorrupted data. The function of reading header is called and the parameters like frame width(FW),frame height(FH),frame per second(fps),interlacing(I),pixel aspect ratio(PAR) and,color space(CS) is computed.

Performance Evaluation of Joint Rate-Distortion Model

67

The frame length (Fl) is computed based on the width (FW), frame height (FH) using Eq. (1). Fl = FW × FH

(1)

The values of color specification as C420, C422, and C444 decides the final frame length (Fl ) along with the frame height (FH ) as described in the algorithm, and finally, frame count is computed using Eq. (2)     FC ← B − Hp /(6 + Fl ) (2) Further, for each frame, the data is read from the binary file, to get YUV, and then  and color map (C  M ) is updated to be used for further comusing YCbCr to RGB data (C) putation. Table 2 shows the different input stream frames along with the reconstructed frame. Table 2. Different Input Stream frames

No. of Frames

I-Frame

QCIF-I YCbCr frame

QCIF-P YCbCr frame

QCIFIFrame

Reconstructed

No. of frames

QCIF-I

YCbCr frame

I-Frame

QCIF-P YCbCr frame

QCIF-IFrame

Reconstructed

The framework further takes the number of frames, and the visual parameters (Vp) as a measurement parameter for the quality threshold and the coding process initiates with these independent variables. The joint rate-distortion based intraframe prediction takes the video frame sequence and visual perception as an input parameter. The value of the frame size and height is computed from the input frames. The sequence of frames further goes to the 4x 4 block of the intraframe prediction module, where the macroblocks headers are prepared for each width and height using code block operations. Subsequently, horizontal and vertical predictions take place. The transformation, quantization, and entropy coding take place under the signature block for the error coding using integer transformation, quantization as per H.264. The Fig. 1, below illustrates a process flow of the building blocks of the operations for video frames with the defined visual perception values to each phase of the process of intraframe prediction in the subsequent frames, macroblock

68

S. K. Veena and K. Mahesh Rao

Fig. 1. Joint rate-distortion Intraframe prediction-based encoding framework

header computation along with horizontal and vertical predictions to get final bit frames adjusting all the errors. The next Sect. 4.0, describes all the performance evaluation on the different video sequences for its performance metrics of data transfer rate(Dr), PSNR, and time.

4 Results and Discussion In order to check the robustness of the encoding process using the feature prediction model, four different input videos are tested with a const value of visual parameters (Vp) = 5 for five frames of each input video. Table 3 lists the benefits of the performance’s matrices for data transfer rate, PSNR, and coding time. It is found that for the encoding time and the PSNR is consistent for the different data transfer rates that validate the robustness of the codec framework model. Further, the model is evaluated with varying the value of the visual parameters (Vp) as 5, 10, 15,20,25,30 for the five numbers of frames. These results are tabulated in Table 4 Further, the evaluation of a single, uncompressed video is performed, namely Stefan_qcif, for the parameters like data transfer rate(Dr) measuring in bits, “peak signal

Performance Evaluation of Joint Rate-Distortion Model

69

Table 3. Performance comparison of various input video file at visual parameters (Vp ) = 5 and No. of Frames = 5 Video-Input file

Data Transfer Rate (Dr ) in Bits

PSNR

Coding time

stefan_qcif

498132

57.1259

5.334

akiyo_qcif

108114

56.3766

1.4292

foreman_qcif

130878

57.2815

1.3752

bus_qcif_15fps

166474

57.1466

1.4398

Table 4. Performance comparison of single input video file at visual parameters (Vp ) = 5, 10,15,20,25 and 30 for No. of Frames = 5, for stefan_qcif Vp

Dr

PSNR

Coding time

5

498132

57.1259

5.0678

10

411477

52.0297

4.5662

15

3201180

47.9392

4.233

20

246267

43.7751

3.9481

25

191016

39.9185

3.7466

30

139768

35.8459

3.4247

to noise ratio”(PSNR) and coding time in ms with different discrete values of the visual perception(Vp) = {5,10,15,20,25,30}. The highest value of the data rate transfer is found in 3201180 bits with the visual perception values (Vp) = 15. In contrast, the PSNR is best, which is equal to 57.1259 visual perceptions at the value of 5, and the processing time is lowest at the visual perception rate of 30. It is being observed in the Fig. 2 that the data transfer rate is reducing with the higher values of the visual perceptions. Figure 3 illustrates the coding time performance with respect to the varying values of Vp = {5, 10, 15, 20, 25, 30}, and it continuously decreases with increasing values of the Vp. Whereas, when the values of the PSNR shown in Fig. 4, continuously decreases with the increasing values of the visual perception Vp. The consistency into time to code and PSNR is maintaining with the different values of the visual perception parameter. In contrast, the rate of data transfer abruptly changes or a specific amount of the Vp. With this, Vp can be taken as the threshold to decide the best-suited choice, whereas it is a problem of furthermore suitable to handle the trade-off between the Vp, Dr, PSNR, coding time depending upon the application requirements to well suit with it.

70

S. K. Veena and K. Mahesh Rao

Fig. 2. Performance evaluation of Data Transfer Rate with varying Vp

Fig. 3. Performance evaluation of Data Transfer Rate with varying Vp

Fig. 4. Performance evaluation of PSNR with varying Vp

Performance Evaluation of Joint Rate-Distortion Model

71

5 Conclusion and Future Research Direction The intraframe prediction using joint rate-distortion framework proposed in this paper is evaluated for the various quarter common intermediate format(qcif) uncompressed video from the standard dataset to establish its behavior at the different values of the visual perception parameters to measure its impact on the data transfer rate, PSNR and time of coding. The observation behaviors of this model conclude that the intra-prediction model is more productive using the joint rate-distortion. Still, in the future, it needs to be optimized for getting effectiveness, consistency, and robustness, which is the target of our future research direction. Acknowledgment. : We gratefully thank the Maharaja Research foundation and Visvesvaraya Technological University, Jnana Sangama, Belagavi for the support extended to this research work.

References 1. Jack, K.: Video Demystified, A Handbook for the Digital Engineer, 5th edn. Elsevier (2011) 2. Richerdson, I.E.G.: Video Codec Design, Developing Image and Video Compression Systems. Wiley (2002). ISBN 0 41 1 48553 5 3. Zhu, W., Yang, K.H., Beacken, M.J.: CIF-to-QCIF video bitstream down-conversion in the DCT domain. Bell Labs Techn. J. 3(3), 21–29 (1998) 4. Ong, E., Lin, W., Lu, Z., Yao, S.: Colour perceptual video quality metric. In: IEEE International Conference on Image Processing 2005, Genova, p. III-1172 (2005) 5. Cai, C., Feng, G., Wang, C., Han, X.: A reversible watermarking algorithm for high efficiency video coding. In: 2017 10th International Congress on Image and Signal Processing, BioMedical Engineering and Informatics (CISP-BMEI), Shanghai, pp. 1–6 (2017) 6. Wennersten, P., Strom, J., Wang, Y., Andersson, K., Sjoberg, R., Enhorn, J.: Bilateral filtering for video coding. In: 2017 IEEE Visual Communications and Image Processing (VCIP), St. Petersburg, FL, pp. 1–4 (2017) 7. Yang, C., Cheung, G., Takamura, S.: RD-optimized 3D planar model reconstruction & encoding for video compression. In: 2018 25th IEEE International Conference on Image Processing (ICIP), Athens, pp. 3613–3617 (2018) 8. Wei, R., Xie, R., Zhang, L., Song, L.: Fast depth decision with enlarged coding block sizes for HEVC intra coding of 4 K ultra-HD video. In: 2015 IEEE Workshop on Signal Processing Systems (SiPS), Hangzhou, pp. 1–6 (2015) 9. Liang, K., Hsu, S., Chang, P.: Content based image retrieval utilizing HEVC intra coding features. In: 2015 IEEE 4th Global Conference on Consumer Electronics (GCCE), Osaka, pp. 302–303 (2015) 10. Mallikarachchi, T., Talagala, D.S., Arachchi, H.K., Fernando, A.: Decoder energy-aware intracoded HEVC bit stream generation. In: 2016 IEEE International Conference on Multimedia and Expo (ICME), Seattle, WA, pp. 1–6 (2016) 11. Eichenseer, Kaup, A.: Coding of distortion-corrected fisheye video sequences using H.265/HEVC. In: 2014 IEEE International Conference on Image Processing (ICIP), Paris, pp. 4132–4136 (2014) 12. Shan, Y., Yang, E.: Fast HEVC intra coding algorithm based on machine learning and Laplacian Transparent Composite Model. In: 2017 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), New Orleans, LA, pp. 2642–2646 (2017)

72

S. K. Veena and K. Mahesh Rao

13. Radosavljevi´c, M., Georgakarakos, G., Lafond, S., Vukobratovi´c, D.: Fast coding unit selection based on local texture characteristics for HEVC intra frame. In: 2015 IEEE Global Conference on Signal and Information Processing (GlobalSIP), Orlando, FL, pp. 1377–1381 (2015) 14. Li, Y., Li, B., Liu, D., Chen, Z.: A convolutional neural network-based approach to rate control in HEVC intra coding. In: 2017 IEEE Visual Communications and Image Processing (VCIP), St. Petersburg, FL, pp. 1–4 (2017) 15. Sanchez, G., Fernandes, R., Agostini, L., Marcon, C.: DCDM-intra: dynamically configurable 3D-HEVC depth maps intra-frame prediction algorithm. In: 2018 25th IEEE International Conference on Image Processing (ICIP), Athens, pp. 1782–1786 (2018) 16. Sanchez, G., Agostini, L., Marcon, C.: Complexity reduction by modes reduction in RD-list for intra-frame prediction in 3D-HEVC depth maps. In: 2017 IEEE International Symposium on Circuits and Systems (ISCAS), Baltimore, MD, pp. 1–4 (2017) 17. Said, A., Zhao, X., Karczewicz, M., Chen, J., Zou, F.: Position dependent prediction combination for intra-frame video coding. In: 2016 IEEE International Conference on Image Processing (ICIP), Phoenix, AZ, pp. 534–538 (2016) 18. Fernandes, R., Sanchez, G., Cataldo, R., Agostini, L., Marcon, C.: Least-squares approximation surfaces for high quality intra-frame prediction in future video standards. In: 2018 25th IEEE International Conference on Electronics, Circuits and Systems (ICECS), Bordeaux, pp. 205–208 (2018) 19. Storch, I., Zatt, B., Agostini, L., da Silva Cruz, L.A., Palomino, D.: FastIntra360: a fast intraprediction technique for 360-degrees video coding. In: 2019 Data Compression Conference (DCC), Snowbird, UT, USA, p. 605 (2019)

To Defeat DDoS Attacks in Cloud Computing Environment Using Software Defined Networking (SDN) B. N. Yuvaraju and M. Narender(B) Department of Computer Science and Engineering, The National Institute of Engineering, Mysuru, Karnataka, India, Affiliated to Visvesvaraya Technological University, Belagavi, Karnataka, India {yuvarajubn,narender}@nie.ac.in

Abstract. At present cloud computing environment, DDoS attacks have become a weapon for the illegitimate user’s as well as for the cyber terrorists. These attacks have the capability to disrupt large scale network infrastructure. Despite the various traditional DDoS mitigation techniques that exist present, DDoS attacks are rapidly growing in volume, frequency, and severity. This entitles for advance network architecture to represent the requirements of the present security challenge. Software-defined networking (SDN) is the new cloud-based networking paradigm which is rapidly gaining attention to the researchers to address the need of today’s data-centers—considering of functionalities of SDN-based platform, the proposed survey study providing comprehensive knowledge on prior SDN-based DDoS attack detection and mitigation strategies. This paper classifies solution strategies based on DDoS detection and mitigation techniques. Also, discussing current technologies to defend the DDoS attacks followed by future research direction to address the certain challenges identified in the research gap from existing studies. This paper is meant to brief about the existing system and practical approaches to solving such problems. Keywords: Distributed denial of service attacks · DDoS mitigation · Software Defined Network (SDN) · Security

1 Introduction Cyber threat occurrence is gradually increasing with changing attack strategies. According to the report [1], among from all attacks, distributed denial of service (DDoS) attack is the most prominent attack, which has several affecting organizations in the IT world. That is, these attacks are able to cause any ICT (information communication technology) infrastructure [2]. There could be several reasons for occurring DDoS attacks, for example, political gains, financial gains [3], and disruption [4, 5]. DDoS attacks may break down the networks and corresponding services by overwhelming network connections, servers, and network devices with illegitimate network traffic. They may cause service degradation or a complete denial of service (DoS), resulting in huge losses. However, © Springer Nature Switzerland AG 2020 R. Silhavy (Ed.): CSOC 2020, AISC 1224, pp. 73–93, 2020. https://doi.org/10.1007/978-3-030-51965-0_7

74

B. N. Yuvaraju and M. Narender

there are numerous resource solutions exist for detection and mitigation of DDoS attacks. Rapid detection and mitigation of these attacks have become a challenging factor for the attackers to continue to utilize a method to release DDoS attacks [6]. Highly increasing of DDoS attacks, along with growing range in their types, has made DDoS detection, mitigation, and prevention of cloud infrastructure are the most priority. According to [7], most leading DDoS threat prevention solutions provider recently accounted for a 334 Gbps attack targeting a network operator in Asia. Also, in [8], accounted for several DDoS attacks larger than 100 Gbps universally in 2015. Such incident notifies that current networking system needs an advanced technique to solve the DDoS attack problem. These advanced techniques must be developed to meet the scalability and performance requirements of current computing systems and offer a high level of security against such type of emerging attacks. With new advancements in software-defined networking system (i.e., SDN) and its increasing and high scale acceptance in the ICT [9], many authors have been vigorously trying to develop a new SDN based cloud security system. These systems have to attract more attention because of their acceptance and utilization in large-scale distributed networking system [10]. The advanced technology allows the researchers to design, control, and manage the network resources from the SDN controller. From the prior study of SDN based network solutions, have found that there have been several traditional approaches for DDoS attack detection and mitigation. Based on the prior study, have categorizing the traditional approaches according to their anomaly detection methods. Additionally, it can recognize that there is a high requirement to protect the network infrastructure from DDoS attacks. Cloud data-centers have also required for large-scale and distributed networks owing to enhance the reliability and load balancing in data-centers. The motive of the present research study is to provide an extensive review of SDN based DDoS attacks detection and mitigation techniques. The paper classifies DDoS attacks and techniques based on detection methods. Also provides the best practice solutions to mitigate these attacks. This research study provides a significant with several benefits. This work also benefits the research community in understanding the pros and cons of existing solutions. The rest of the paper structure is organized in multiple folds; Sect. 2 provides an analysis of threats in the cloud environment. We classify the DDoS attacks based on their techniques in Sect. 3. This is followed by the illustration of DDoS attacks detection and mitigation solution strategies in Sect. 4. Further, Sect. 5 overviews the prior research studies in state of the art. Section 6 discusses the current research trends in the DDoS attack detection & mitigation process. Section 7 highlights certain open research challenges. Section 8 defines the conclusion of this paper study.

2 Threats Analysis in the Cloud Environment The cloud computing system involves three service models (PaaS, SaaS, and IaaS), which not only offer multiple services to the cloud users even also disclose the data security challenges. However, there are several threats involved in cloud security. Information preservation in the cloud might be like as safe-bet. However, threats will always exist. This section discusses the major security threats in the cloud environment.

To Defeat DDoS Attacks in Cloud Computing Environment

75

2.1 Data Breaches A data breach is an event by which a confidential or sensitive data may lose, stolen, or accessed from unauthorized person. As per the cloud security alliance (CSA), a data breach may be the primary intention of the targeted attack, application vulnerabilities. It may contain any confidential information which is not disclosed as publicly, e.g., financial information, trade secrets, personal health information, and intellectual property, etc. The threats of the data breach are not common to the cloud system, but it consistently arranges at the top level for cloud users. In 2017, a significant data breach which hit “single login” was explored. It offers identity management and single log-in capabilities for the cloud services over ~2,000 IT organizations globally [11]. 2.2 Inadequate Access Management Insufficient key management may allow unauthorized users to access the credential information and damage the organizations. A robust security system must scale to manage access management for the millions of cloud users. These are widely interconnected and integrating credentials with cloud service providers, also becoming more prevalent to easiness the burden of service maintenance. Thus, global information technology system planning to gather identity with service provider requires understanding and managing the security solutions, involving infrastructure, processes, and segmentation among the cloud users with service providers. 2.3 Insider and Outsider Attacks Insider threats to cloud security also underestimated. Most of the cloud users may not be aware of security and privacy standards, which are being practiced preserving, access to process the data. Usually, there are chances of stealing secrete or sensitive data to the competitors or hackers’ benefits. Similarly, the outsider attacks are the most noticeable security challenges to the organizations which rely on the cloud infrastructure. Outside attackers use the security loopholes from the cloud example: poor network connections, non-secure cloud API’s, etc. This becoming more tenacious challenge as a cloud system has multiple interfaces. 2.4 Account Hacking Account hacking is the traditional technique, and it is considered a new threat in the cloud landscape. In this, the hacker tries to access the user’s credentials, eavesdrop the transactions, manipulates the data, return falsified information, and redirects with illegitimate sites. Account disruption is caused owing to the occurrence of DoS and DDoS attacks. Attacker’s exploits the IP spoofing for launching attacks against any organization to exploit the resources (e.g., bandwidth, processor, storage). The insecure connected systems are grouped and form a botnet to demonstrate the overwhelming attack against cloud services. CSA provides a robust system authentication mechanism; proactively monitors the user’s credentials, practicing security policies in the cloud [12].

76

B. N. Yuvaraju and M. Narender

2.5 Privacy In cloud security, data privacy is the most concerning issue. The privacy and security strategies [13] vary across the organizations and offering the list of security practices for addressing the complex problems. Therefore, data preservation in multiple locations has raised serious questions for cloud users. Salesforce reported major privacy problems when the user’s information was revealed due to phishing [14]. Another security problem that let Google doc to share the user’s data [15]. In order to address this kind of system with multi-level, security policies are required. 2.6 Distributed Technology Vulnerabilities Cloud computing model provides multiple services (e.g., Software, Platform, and Infrastructure) to the cloud users with shared resources in a distributed manner. This distributed technology itself addresses the multiple vulnerabilities in the cloud environment. Any threat or misbehavior at any node in the cloud might span over the connected network infecting all the systems. Also, it affects the active applications, resources are distributed, and therefore, any resource in the cloud is vulnerable if the software is not covered by security policies. 2.7 DDoS Attacks The DDoS attack is a type of DoS attacks are primarily designed to access the user’s sensitive data where multiple distributed machines are compromised or affected by malicious activities. The primary goal is to disrupt the functioning of the cloud server. The disadvantages of this attack are data-loss, service hijacking, financial loss, and many more. Nowadays, all the worldwide organizations are completely based on internet domain for their daily activities, and their services are available in the cloud environment. If their websites are infected from DDoS attacks, then, it disturbs on their financial service, which may lose millions of money in a very short time.

3 DDoS Attacks in SDN Based Cloud As per the research study, DDoS attacks are the most common and stronger type of threats occurring globally. According to the report published in VeriSign DDoS trends reports, DDoS activities are the highly scaled it’s ever been, at the end of 2015 notice that 85% of instances double the level of attacks when compared within the previous year 2014 [16]. On the other hand, from the “Akamai’s” latest report, web and internet attacks are continuously increasing there has been more than 120% increment in DDoS attacks over the year. However, DDoS attacks are not always the same type. These are broadly classified based on the type, and quality level of traffic used for the attack and are grouped into 3 major categories; i) Volumetric attacks, ii) Protocol attacks and iii) Application layer attacks. The Table 1 highlights the different classification of DDoS attacks with an example.

To Defeat DDoS Attacks in Cloud Computing Environment

77

3.1 Volumetric Based DDoS Attacks (Connectionless) These are the most common DDoS attacks are also known as “Floods.” As per the “Arob Networks,” more than 50% of DDoS attacks are the volumetric based attacks. The attacks aim is to saturate the bandwidth of the site, which has to be hacked and forward the more traffic that it overwhelms the attacked site. Even though these kinds of attacks are characterized by an increasing level of network traffic. The volumetric based DDoS attacks target a network/system by forwarding the legitimate request to the DNS/NTP server using spoofed IP-address [17, 18]. Additionally, typically, these attacks are implemented using botnets, a set of computer systems contaminated with malicious software and handled by hackers. 3.2 Protocol-Based Attacks These attacks are mainly targets on web-servers, firewalls, load-balancer to interrupt the network links, as well as consume the server resources. Example: SYN-floods, Smurf DDoS [19] and many more. 3.3 Application Layer Based DDoS Attacks (Connection Based) These attacks intend to crash the web server with establishing of connection and exhausting it by transactions and controlling processes. These attacks are difficult to identify because it occurs only on the target machine instead of several machines, also generate low rate traffic, which emerges to be legitimate. Example: HTTP flood [20] and DNS service attacks [17]. A primary focus of the present research community system is to prevent the cloud servers against DDoS attacks. Since these attacks are becoming frequent, the major intention is to develop an efficient solution which able to detect and mitigate the DDoS attacks proactively. This survey study has investigated the major requirements for the development of the effective DDoS scheme. i. ii. iii. iv. v. vi. vii.

DDoS attack prevention scheme must not disrupt the legitimate server’s activities. The attack detection mechanism can able to prevent the DDoS from inside and outside the network. The DDoS prevention scheme should meet the demand for scalability and performance factors for new data centers. Prevention mechanism should be low cost with high overhead. It should be adaptive, flexible, and robust. DDoS attack mitigation should be supportive. The mechanism should desirable with low false positive and high DDoS detection rates.

4 SDN-Based Solution Strategies Software-defined network (SDN) has several characteristics, which are the key solutions in the detection and mitigation of DDoS attacks. Such characteristics are i) centralized

78

B. N. Yuvaraju and M. Narender Table 1. Classification based DDoS attacks

Type of attack

Description

Example

How does it crash the target machine?

Volumetric based DDoS attack

To saturate the target server bandwidth using a large amount of traffic

NTP, DNS amplification, UDP, and TCP flood attacks

Using botnets and malicious software’s

Protocol-based DDoS attacks

Exploit weaknesses of L-3 and L-4 of OSI and consumes the server resources or intermediate the communication equipment

SYN floods, Smurf attacks

The request sends to the target machine overwhelm the target and make it legitimate

An application layer based DDoS attacks

Occurs on Layer-7, HTTP flood and DNS targets on the weaker service attacks server to create a link and crash web services

Establishing a connection and exhausting it by transactions and controlling processes

control plane, network programmability by an external application, traffic analysis by software, dynamic updation packet forwarding policies [21]. This section describes the detection and mitigation strategies of DDoS attacks using SDN based approach. 4.1 DDoS Detection Techniques • Entropy-based Approach: In the DDoS attack detection mechanism, entropy-based methods have significant advantages. Through this approach can maximize the detection frequency to uncover the anomaly incidents. Although, still this technique requires more accuracy in the algorithmic approach, which capable of reducing the processing time as well as more storage space with a high-speed network. In the study of J. Zhang et al. [22] proposed a new entropy-based DDoS attack detection mechanism, which has several advantages like; Simple computation, higher sensitivity factor, less false positive rate, zero requirements of external network resources. Another research study, David and Thomas [23] have developed fast entropy method for DDoS detection by packet calculation. A distributed algorithmic approach for entropy-based DDoS detection method was introduced by Wang et al. [24]. In this experiment, detection of flooding attack module runs on the open-flow edge switch that reduces the flow overload on the control plane and also calculated the entropy by the IP address of each edge switch. Once the attack detected, the system alerts the information by sending to the control plane. While some entropy based DDoS detection methods suffer from few limitations. For example, the feature distribution of probabilistic approach is defined by single-value as entropy is calculated. However, significant information about the distribution of

To Defeat DDoS Attacks in Cloud Computing Environment

79

analyzed information is lost. This results in creating anomaly effects in few cases [25]. Similar way, the multiple distributions with an equal amount of uncertainty can’t be differentiated by entropy values [26]. • Machine Learning Approach: The problem of DDoS attack detection using machine learning approach is not new, is proposed by several researchers; example; In [27], authors introduced an anomaly based DDoS detection technique by analyzing different features of attacks using RBF neural network approach. A DDoS detection model using a data mining algorithm is proposed in [28]. A decision tree and grey relational analytical approach are utilized for the detection of DDoS attacks in [29]. The decision tree approach was adopted for testing and detecting abnormal traffic activities. J. Hao et al. [30] applied an AAN method to detect the DDoS attacks and compared the results with a decision tree, entropy, and Bayesian approach. In [31], the author utilized a neural network approach for DDoS detection. In this study, pattern recognition, multi-classification method, and data compression methods were proposed. Another research study [32] proposed a probabilistic neural network based DDoS detection method by classifying the attack traffic and normal traffic. While in the [33] Li et al. introduced an intelligent model for the prevention of network intrusion with SVM classification and shown the accuracy improvement in the intrusion prevention process. Machine-learning based approaches are preferred to detect anomalies based on abnormality changes in network behavior. The overall performance of these approaches is usually dependent upon data collection, which has been utilized for the training phase. • Traffic Pattern-Analysis: This approach works on the hypothesis that affected hosts exhibit the same behavior patterns which are distinct from actual hosts. Typically, in the case of botnet attacks, infected devices are normally controlled by the single master node and traffic patterns are noticed in results commands that are transferred to multiple members of the same botnet [34]. By seeing the benefits of SDN platforms in providing authentication solutions, in [35], Shin et al. proposed a “FRESO” framework for open-flow based security systems. Wang and Jin [36], have introduced another framework to detect mobile malware by recognizing abnormal network activities via real-time traffic analysis. • Signature-based Approach: This approach is also called as pattern detection, knowledge, or rule-based anomaly detection method. In this, the system captures the required information from stored datasets and collects the behavioral information about different attacks. Agarwal and Mittal [37], introduced a signature or pattern based attack detection model and measured the incoming traffic patterns with collected patterns to identify the malicious instances. Fault conditions may increase owing to the availability of open TCP connections, excessive bandwidth utilization, and exceeded throughput. SNORTS, BRO [38], are the signature based anomaly detection methods. Wu et al. [29] have presented another approach of attack detection, which involves two algorithmic approaches like tree-based classification method and pattern based traffic matching approach. The tree-based classification approach separates the DDoS attacks from normal traffic and analyzes both incoming and outgoing data transmission rate, packet rate, SYN, TCP, and ACK rate. While pattern matching approach is adapted to detect the traffic pattern that is similar to DDoS traffic and finds the origin

80

B. N. Yuvaraju and M. Narender

of the attack. In [39], Thapngam et al. introduced a traffic attack recognition method by using the transmission rate. They show high attack traffic rate as compared with the normal traffic rate. 4.2 SDN Based DDoS Mitigation Techniques This research study mainly covers the two areas- DDoS detection techniques and SDN-based DDoS mitigation techniques. The previous section described the different approaches involved in the detection of DDoS attacks, and this section mainly focuses on SDN based DDoS attack mitigation techniques. A typical DDoS mitigation process can be generally defined in four steps; is shown in below Fig. 1.

DDoS Mitigation Stages

Detection Filtering Diversion Analysis Abnormal Traffic Traffic is Redirected DDoS Traffic Weeded Flows are Identified (BGP/DNS Routing) out while Clean Traffic Security Logs are Used to Improve Resilience is Passed on

Fig. 1. A typical process of DDoS Mitigation

However, SDN has the capability to improve the flexibility of the network resources. It allows the networks to react in order to change the network configuration as per the requirements through the control panel. The SDN control panel offers centralized control management system which provides a reliable configuration all over the network. Since every network protocols are defined at the centralized control panel, it not only detects the anomalies even as provides efficient mitigation strategy [40]. Example: after the detection of DDoS, attack mitigation technique may successfully reprogram to stop the malicious traffic. Several SDN based DDoS mitigation techniques offer different solution strategies to defend the DDoS. Packet dropping method, blocking ports, and traffic redirecting strategy is most commonly utilized mitigation techniques that are widely deployed in SDN [41–44]. Additionally, other DDoS mitigation techniques like deep-packet recognition, modifications in MAC and IP addresses, traffic isolation methods are deployed in DDoS defense schemes [45, 46]. The various analytical and practical approaches are proposed by different researches that are briefly discussed in the Table 2. This table provides a comparative analysis of DDoS detection and mitigation approaches. The existing packet dropping and ports blocking techniques are potential to mitigate the DDoS attacks. And these techniques may provide effective results. Similarly, in the false attack detection approach, authenticated users are able to access the information.

To Defeat DDoS Attacks in Cloud Computing Environment

81

Table 2. Summary of the various DDoS attack detection and mitigation strategies Authors

Detection technique

Mitigation technique

Affects data Effects plane DDoS controller DDoS

Affects application plane DDoS

[47, 48]

Defense flow module to detects the DDoS

Defense-pro module reduces the traffic and redirects to destination

No

Yes

No

[49]

Statistical analysis Mitigation with SFlow approach decides method the action

Yes

Yes

No

[50, 51]

SFlow statistical analysis

Pre-defined actions

Yes

Yes

No

[52]

Entropy-based DDoS detection

No

No

Yes

No

[53]

Standard deviation Open flow DDoS No method mitigation approach

Yes

No

[54]

Threshold-based Off-guard

No

No

Yes

No

[55]

Nil

Autonomic attack Yes mitigation by SDN

Yes

No

[56]

Traffic blocking application

Packet dropping flow method

No

Yes

Yes

[41]

Entropy-based computation

OpenFlow and Yes Sflow monitoring

Yes

No

[57]

Statistical approach

Blocking method

Yes

Yes

No

[58]

Clustering method Reduce the service rate to find the attack request

Yes

No

No

[59]

Entropy computation

Yes

Yes

Yes

Anomaly-based dropping method

5 Related Work Alcorn et al. [60], presented a large-scale modeling and simulation framework to prevent the DoS attacks over software denied network. For the support author utilized modeling and simulation tools for the deployment of both small and large scale modeling experiments, and they evaluated the performance parameters in terms of flooding of

82

B. N. Yuvaraju and M. Narender

DoS attack. A. Kalliola et al. [61], implemented the largely automated traffic management system which mitigates the DDoS attacks on SDN networking. In this scheme, the author integrates an automated hierarchical clustering system, dynamic blacklist integration, and distributed services. The designed framework was efficient against packet and bandwidth flooding attacks. The performance parameters are evaluated in terms of measurements of normal traffic served with DoS/DDoS attacks. Chin et al. [62], proposed an SDN-based collaborative mechanism to detect and prevent the different networking attacks. They applied the distributed sensory nodes over the network, and a sensor node is lightweight capable of finding out the anomalies in the network traffic quickly. In other hands, a system controller verifies the attack signatures and coordinates further actions to update the traffic profiles and avoid the future false alerts along with mitigating the effects of network attack. The overall author presented a collaborative approach to detect the TCP-SYN flood attacks on a cloud environment for network innovations. The experimental evaluation was done by considering the number of attackers versus time in sec. Another author Giotis et al. [63] also investigated the collaborative mechanism to mitigate the DDoS attacks in multi-domain networks (SDNs). The author proposed a modular approach that leverages the SDN interface protocol and enhanced this protocol by exchanging pointers to incident reports, and the aim is to mitigate malicious attacks efficiently in a distributed manner. Furdek et al. [64] addressed some security challenges and mainly focused on security vulnerabilities and management methods to secure the optical layer from attacks. In this paper “RECODIS WG-4” group intended the human-made attacks which gain unauthorized access to the network or services. Authors mainly focused on securityrelated issues and various attack methods which exploit the communication system and also introduced the capabilities and shortcoming of existing security mechanisms. Sattar et al. [65] introduced the adaptive bubble burst approach that mitigates the DDoS attacks in SDN networks. The proposed approach facilitates mitigation against DDOS attacks, which are targeted towards the specific network. An adaptive bubble burst approach provides two layers of security system i) it hides the identification of protected service by the advertising of multiple services utilizing a single virtual IP address. ii) It will mitigate the attacks by spreading of multiple replicas of resources in the network. Passito et al. [66], designed an agent-based architecture which manages and control the large scale of internet services. From this architecture, the author integrates SDN and autonomous networks. Also, authors surveyed on important open research issues of internetworking; i.e., mitigation problem of DDoS attacks when the lacks of attackers perform malicious packet flooding and SDN cooperate with packet filtering in the resource. Mowla et al. [67], proposed a framework for SDN based content delivery interconnected network to safely deliver the services with a multi-defense strategy against DDOS attacks. Additionally, the author introduced the “ALTO” like servers, which maps the very large network and traces the packet requests. The management information base is also introduced in the SDN controller, which compares and assesses the traffic request coming towards the protection switches. In [68], Wang et al. addressed the integrated mechanism of cloud computing and SDN, which mainly examined the security impact factors, especially impact on DDOS attack defense mechanism. Authors found that SDN scheme can help the enterprise to defend the networking system against DDoS attacks.

To Defeat DDoS Attacks in Cloud Computing Environment

83

However, based on analysis results, authors conclude that the proposed integration of SDN and cloud computing gives an opportunity to extend the DDOS attack defense for an enterprise network environment. Giotis et al. [69] investigated applicability of SDN based service and proposed the enhanced version of black hole routing mechanism towards the mitigation of DDOS attacks. The author also exploited open flow network programmability to handle the network traffic on the per-flow level, which conserves the normal victim operations. The evaluation was carried out by comparing the collection of a real DDOS attack with normal background traffic from an operational organization network. Detection and Mitigation of DDOS attacks in the SDN network using the ML approach are discussed in [70]. Here the author analyzed the different machine learning methods which are useful for handling the several issues of intrusion and DDOS attacks in SDNs. Krylov et al. [71] introduced a defense mechanism against DDOS attacks. The prime goal is too exhausting of servers systems initiated by hackers and prevent legitimate network traffic filtering. Therefore, to achieve these aims, the author proposed a method called IP-fast hopping method. This method can change the servers IP address according to time, which is available only for authorized persons. Unauthorized users can’t access any information, or they can’t send requests to the correct IP-address. The proposed method is distributed, which splits the network traffic from legitimate clients and botnets into the number of substreams. Mihai-Gabriel et al. [72] present the mitigation of DDOS attacks in the SDN environment through neural networks and Biological danger theory. Neural network (NN) is an information processing paradigm which is inspired by the Human nervous system (Brain process information). This mechanism is especially used for pattern extraction and detection, which are more complicated to be noticed by computer techniques since NN paradigm is best for identifying pattern or trends in data, which is best suited for data prediction (i.e., data validation). In other hands, the inside view of Danger theory is that the immune system will not respond to non-self but to danger. This theory invented from the unknown observation attack, which is a danger for future networking paradigm. Here the danger is calculated in terms of device damage, which is recognized by distress signals which are sent out when the device damaged. The prime application of this theory is to detect the anomalies (ex: computer viruses, hardware faults…etc). The “Feed Forward Back-Propagating NN” technique was used in designing the architecture. Tri et al. [73], explored the impact of resource attack in SDN network in the aspect of bandwidth and power delays. From a series of extensive resource attacks, the author investigated how SDN properties like network size, the delay between controller and a switch are related to the effect of resource attack. Yan and Yu [21], discussed the important characteristics of DDoS attacks in a cloud computing system. They have also reviewed on DDOS attacks in SDN and important methods against DDoS attacks. Moreover, the author discussed the challenges that address to mitigate the DDoS attacks in SDN with the cloud environment. Kokila et al. [74], DDOS detection is carried out by analyzing the pattern of the incoming traffic flow. The machine learning algorithm will be implemented in the IDS of the SDN. The authors here used the SVM classifier as the machine learning algorithm for DDOS detection as it posses less FPR. The Multi-valued traffic data conversion to binary is done; first, the normalization process is carried out,

84

B. N. Yuvaraju and M. Narender

and then a trained SVM model is used to classify whether the traffic data is an attack or normal traffic. Dharma et al. [75], introduced a new mechanism to detect and mitigate the DDOS attacks for SDN controller through a time-based approach. The author addressed the basic functions of the SDN controller and analyzed the potential vulnerabilities in the SDN controller. They showed that the proposed method not only detects the DDoS attack also detect the time pattern of DDoS attack, which prevents the network resources form DDoS attack in the future. X. Wang et al. [76] introduced a model design to defend the DDoS attacks from the viewpoint of network architecture. Additionally, with the help of cloud computing and open flow technologies, the author designed a new SDN based security mechanism which can be efficiently implemented in the current IP network. The experimental analysis of this mechanism showed that the proposed network security mechanism able to restrict the DDoS attacks under access control and can find out the attacker performance under loose access control. Therefore, this mechanism can mitigate the issues of network security with SDN model. Luo et al. [77], proposed a defensive mechanism for DDoS attacks on SDN network. In this survey study, the author analyzed the different types of DDoS attacks and defined the important properties of SDN scheme and find the SDN advantages to build a defense mechanism for DDoS attacks. Wang et al. [78], an entropy-based distributed mechanism was introduced to detect and mitigate the DDoS attacks in software-defined networking. Unlike existing studies, the proposed DDoS algorithm was implemented on OpenFlow edge switch and from the statistical analysis shows that from this mechanism can highly detect the local attacks on SDN network with the low false positive rate. Seeber et al. [79]; a new approach was introduced to detect and manage the attacks in large speed environments that prevent the underlying network access lines. From this mechanism, the author able to directly identify the suspicious network traffic with different IDSs for further investigation adaptively and dynamically. Additionally, the system also able to cope with privacy concerns. Kim et al. [80], established a framework design for security services using SDN and interface to network security operations. In this study, the author described the two security systems, as 1) centralized security system and 2) a system to reduce the DDoS attack, i.e., this paper introduced a case study on mitigation of DDoS attacks in SDN network to provide an autonomous and punctual configuration for suspicious network attacks. Arins [81], introduced a firewall system as a security service for Internet Service Providers (ISP), which allow the end users for requesting and install match action operation in ISPs edge routers. In this, ISP runs on SDN environment where the control plane is disparate from data plane using OpenFlow and controller. For the communication between the users and the SDN controller system uses the application programming interface over a secure SSL connection. In this framework, the controller is utilized for high-level forwarding logic to the low level in open flow protocols. The experimental analysis is carried out open flow test bed to discard the packets on ISP routers, which reduce their uplink saturation. Van et al. [82], proposed SDN architecture to detect and prevent the DDoS attacks based on statistical constraints of incoming traffic using of both hard thresholds and

To Defeat DDoS Attacks in Cloud Computing Environment

85

Fuzzy logic called as SDN based hybrid mechanism. Also, the study analyzed the characteristics of traffic flows traveling to a Vietnamese ISP-server, during both states of regular and DDoS attack traffic. Hence author designed network architecture based on traffic analysis which capable of capturing and measuring the incoming flows on the fly. Hussein et al. [83], designed a new SDN based security model which highly balance between network switches and the SDN controller and allows the controller to block the suspicious attacks in real time without handling of any processing load. Also proposed a DDoS attack prevention method based on proposed network architecture. The prime objective of this study is to detect and mitigate the DDoS attacks very fast and efficient manner. Machado et al. [84], introduced an integrated network architecture of Virtual Network Function (VNF) and SDN features to create a set of strategies for network flexibility. This architecture aims to regularly monitor and analyzes the behavior of network resources and their services. The VNF contains a set of dynamic counteractive actions which is responsible for the forwarding of traffic to a particular virtual network. On the other hand, the SDN features are utilized for monitoring purpose and notify the occurrence of anomalies, such as overload of network traffic and service disruption. Sahri and Koji [85], proposed a collaborative authentication (CAuth) mechanisms which will independently block the spoofing-packet even as validate the legitimate query. Also introduced a collaborative scheme among client and server network. When a server controller accepts the query packet, it will forward an authentication packet back to the user node and later user controller also reply to the server controller. According to this scheme, the server controller only sends the query message to the respective server if it accepts the replied confirmation packet from the user node.

6 Technologies to Defend the DDoS With the increasing level of DDoS attacks, complexities in the mitigation process are also incrassating. There is a high requirement to design an effective DDoS protection or mitigation service model with robust network services and type of mitigation technologies to thwart any attacks targeted at your website. Hence, this section provides recent technologies specially developed with the intention of DDoS mitigation or prevention. 1. Anthena Shield: This is one of the best and effective DDoS mitigation systems that manage the 3-Layer and 4-Layer filtering process. Also, it can detect and filters the high-level network protocols across the packet boundaries [86]. 2. “Kona” DDoS Defender: Akmai is providing an effective DDoS security solution which able to stop the DDoS attacks. The “Kona” defender assures that companies can continue to offer the best online services to the customers even when the business in the attack. Akmai is the best intelligent platform which effectively prevents the DDoS attacks; also, it has the processing capacity of about 30%, which handles the global network traffics on a regular basis [87]. Additionally, it extends the security level beyond the data-centers and can detect and mitigate the DDoS before they reach the target.

86

B. N. Yuvaraju and M. Narender

3. Forti-DDoS: The main goal is to provide effective and faster protection against DDoS. It helps to prevent internet resources from the threats and network interference by removing the network and application layer DDoS attacks. This technology uses an adaptive behavioral-based approach to detect malicious threats. It learns the normal traffic network activities and then compares them with application layer based activities. From this analysis, Forti-DDoS mechanism finds the anomalies and applies the significant solution to mitigate the DDoS [88]. Fortinet is the only company that allows large-scale and parallel processing up to 1000’s of traffic parameters at minimum cost with energy requirements. Additionally, the new version of FortDDoS method provides both detection as well as mitigation of DDoS in all L-3, L-4, and L-7 layers and handles both inbound and outbound traffic. 4. Storm Wall: This is the unique technology which able to achieve the 100% mitigation of all type of DDoS. The goal is not just the size of the attack or type but its complexity [89]. According to the Host-Advice experiment, it reached up to 99.9% of accuracy in mitigation of DDoS; also, this technology provides high-quality services to the users. One of the applications of this approach is to automatically detect the attacks and keep away from legitimate users without influencing regular work.

7 Open Research Challenges Software-defined network (SDN) provides a centralized controlling system as well as programmability that enable an adaptive and well-organized network infrastructure. SDN contains significant characteristics and functionalities which prominently helpful for the future network design. However, there are several issues which are required to be provided. This section illustrates some important open research challenges where SDN based approach need to be developing its research potential. 7.1 Deployment of SDN Based Hardware Adoption of the SDN-based cloud is one of the leading challenges that are considered for the future networking system. The primary requirement is the placement of SDN based infrastructure, which closely follow the external cost. Additionally, management of SDN may need an advanced methodology to design, operate, and manage the networking systems. Another significant challenge is the network scalability [90]. With the continuous enhancement in the data, utilization makes scalability, which is becoming a challenging factor for any networking system. However, the traditional SDN based centralized controller does not have the scalability feature for wide area networks because it is a single centralized system. This represents the noticeable factor for network failure, which would become dangerous if the centralized controller fails. There are certain limitations to this problem, but research is still in progress. SDN based network reconfiguration; maintaining and debugging problems have been addressed by adopting SDN based hybrid approach [91]. Other than data transition from conventional networks to

To Defeat DDoS Attacks in Cloud Computing Environment

87

SDN networks remains an open research challenge that requires more effective work from the research community. 7.2 Distributed SDN-Based Controller Designing an SDN based distributed controller architecture fulfilling the requirements of availability, scalability, and reliability of large data-center is also a challenging factor which needs to give more attention from the researchers. In the distributed architecture, the number of SDN controllers are deployed which enable automatic failure, and loadbalancing needs consistent modifications throughout the networks. Although the scalability and reliability of the SDN controller is another challenge [91]. In spite of the fastest growth as well as technology advancements to design more effective SDN controlling system. The research community has to give more attention towards the development of effective SDN controllers that provides high performance as compared to traditional systems in terms of availability, security, maintainability, and reliability. 7.3 Security for SDN Control Plane Security is an essential factor for any networking system. While in SDN architecture controller or control plane is the primary target for the attackers, since it is the centralized control unit for handling or maintaining the entire network services and core point of failure. In this, attackers may try to access network control by breaking into security policies. Once a centralized control unit is compromised, an attacker can get complete controlling power over the network. This challenge is considered an extreme scenario, and it can be solved by continues enhancement in SDN architecture development. The controller needs to fulfill some security requirements; example- authentication, authorization, isolation, etc. More additional security features are essential for the present and future SDN controller to be secure and robust. In this regards, Imran [92] have recommended certain improvement in SDN controller security, i.e., network architecture based on software security policies, default settings for secure SDN controller, and future security proofing. 7.4 Monitoring Real-Time Network Traffic Monitoring of regular network traffic is a vital process for any network management system. Also, it provides the foundation for security solutions. Particularly, DDoS security mechanisms require a real-time traffic monitoring system to obtain security alarm leading to mitigate the DDoS attacks periodically. Existing traffic monitoring approaches like Sflow [41] provides an important mechanism which reduces the security complexities in wide area networks. 7.5 Identifying Illegitimate Traffic Most of the traditional approaches are able to detect DDoS attacks based on threshold values. The attack alarm will generate when the malicious traffic crosses the high

88

B. N. Yuvaraju and M. Narender

threshold value. Hence, if illegitimate network traffic is lower than the threshold, it shows undetected. DDoS attacks that resemble the legitimate user’s traffic patterns are also sophisticated to detect. Example the “flash crowd based attacks” [93] can able to copy the legitimate user’s behavior to pass the defense information easily. The typical existing threshold-based mechanisms are able to mitigate the sophisticated attacks when the network traffic crosses a specific threshold value. This may result in degradation or blocking of services to legitimate users. Therefore, more effective and reliable techniques are needed to compare the difference between illegitimate and legitimate traffic; as a result, user can easily identify and blocks the malicious traffic. Saravanan et al. [94] have demonstrated a novel structure to reduce DDoS vulnerabities into the cloud environment. Hertiana et al. [95] have presented constructive router helped congestion control for the Software defined networking (SDN). Ali et al. [96] have focused on Load balancing in to the data center for Software defined networking. The above mentioned key points highlight the few significant research challenges in the adoption of secure SDN based cloud platform. By solving these, all problems can develop a significant cost-effective SDN based security mechanism which helpful for global adoption of SDN platform. The research community system should play an essential role to fulfill these requirements.

8 Conclusion This survey study has discussed the primary requirements and major challenges in meeting the task of mitigation and security against DDoS. There is a need for an effective and robust DDoS attack detection and mitigation system which gives the alert while increasing the value of malicious traffic. Furthermore, this study classified the existing SDN based security solutions based on different detection and mitigation approaches and provided advantages and limitations of each study. This analytical study revealed that prior SDN based mechanisms for DDoS attack detection and prevention failed to fulfill the application specific requirements for the DDoS detection. Despite this, existing techniques exploiting SDN platform for DDoS detection as well as mitigation, including a single controlling unit. Although, SDN platform can also incorporate distributed mechanism prior SDN solutions have not recognized it to use potentially. In the last, have highlighted open research challenges and recommendations related to DDoS attack detection and mitigation techniques using SDN platform that is essential for future work.

References 1. Arbor Networks: Worldwide Infrastructure Security Report Volume XI (2015) 2. Ottis, R.: Analysis of the 2007 cyber attacks against Estonia from the information warfare perspective. In: Proceedings of the 7th European Conference on Information Warfare, p. 163 (2008) 3. Bangladesh Bank Heist (2016). https://en.wikipedia.org/wiki/2016_Bangladesh_Bank_heist 4. European renewable power grid rocked by cyber-attack. EurActiv (2012). https://www.eur activ.com/section/energy/news/European-renewable-power-grid-rocked-by-cyber-attack/ 5. Musil, S.: Record-breaking DDoS attack in Europe hits ps. CNET (2014). http://www.cnet. com/news/recordbreakingDDoS-attack-in-Europe-hits-400gbps/

To Defeat DDoS Attacks in Cloud Computing Environment

89

6. Hoque, N., Bhattacharyya, D., Kalita, J.: Botnet in DDoS attacks: trends and challenges. IEEE Commun. Surv. Tutor. 99, 1 (2015) 7. Arbor Networks Inc. http://www.arbornetworks.com 8. Arbor networks detect largest ever DDoS attack in Q1 2015 DDoS report. In: Arbor Networks (2015). http://www.bornetworks.com/arbor-networks-detects-largest-ever-ddosattack-in-q12015-ddos-report 9. Jain, S., et al.: B4: experience with a globally-deployed software defined WA. ACM SIGCOMM Comput. Commun. Rev. 43(4), 3–14 (2013) 10. Technol, I.: Secure and Dependable SDNs, February 2016 (2015) 11. The State of Security. https://www.tripwire.com/state-of-security/security-data-protection/ cloud/top-cloud-security-threats/. Accessed 20 Sept 2018 12. Archer, J., Boehme, A., Cullinane, D., Kurtz, P., Puhlmann, N., Reavis, J.: Top Threats to cloud computing, Version 1.0. cloud security alliance (2010) 13. Kulkarni, G., Gambhir, J., Patil, T., Dongare, A.: A security aspects in cloud computing. In: IEEE 3rd International Conference on Software Engineering and Service Science (ICSESS), pp. 547–550 (2012) 14. Zhou, M., Zhang, R., Xie, W., Qian, W., Zhou, A.: Security and privacy in cloud computing a survey. In: International Conference on Semantics Knowledge and Grid (SKG), pp. 105–112 (2010) 15. Bhardwaj, A., Kumar, V.: Cloud security assessment and identity management. In: 14th International Conference on Computer and Information Technology, pp. 387–392 (2011) 16. Bisson, D.: DDoS attacks increased by 180% compared to 2014, reveals Akamai report. The State of Security, 14 January 2016 17. Peng, T., Leckie, C., Ramamohanarao, K.: Survey of network-based defense mechanisms countering the DoS and DDoS problems. ACM Comput. Surv. 39(1), 3-es (2007) 18. Czyz, J., Kallitsis, M., Papadopoulos, C., Bailey, M.: Taming the 800 Pound Gorilla: the rise and decline of NTP DDoS attacks. In: IMC, pp. 435–448 (2014) 19. Zargar, S.T., Joshi, J., Tipper, D., Member, S.: Asurvey of defense mechanisms against distributed denial of service (DDoS). IEEE Commun. Surv. Tutor. 15(4), 2046–2069 (2013) 20. Kaufman, C., Perlman, R., Sommerfeld, B.: DoS protection for UDP-based protocols. In: Proceedings of the 10th ACM Conference on Computer and Communication Security, CCS 2003, p. 2 (2003) 21. Yan, Q., Yu, F.R.: Distributed denial of service attacks in softwaredefined networking with cloud computing. IEEE Commun. Mag. 53(4), 52–59 (2015) 22. Zhang, J., Qin, Z., Ou, L., Jiang, P., Liu, J., Liu, A.X.: An advanced entropy-based DDoS detection scheme. In: 2010 International Conference on Information, Networking and Automation (ICINA), Kunming, pp. V2-67–V2-71 (2010) 23. David, J., Thomas, C.: DDoS attack detection using fast entropy approach on flow-based network traffic. Procedia Comput. Sci. 50, 30–36 (2015) 24. Wang, R., Jia, Z., Ju, L.: An entropy-based distributed DDoS detection mechanism in softwaredefined networking. In: 2015 IEEE Trustcom/BigDataSE/ISPA, pp. 310–317 (2015) 25. Fiadino, P., Alconzo, A.D., Schiavone, M., Casas, P.: Challenging entropy-based anomaly detection and diagnosis in cellular networks. In: Proceedings of the 2015 ACM Conference on Special Interest Group on Data Communication (2015) 26. Javed, M., Ashfaq, A.B., Shafiq, M.Z., Khayam, S.A.: On the inefficient use of entropy for anomaly detection. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics). LNCS, vol. 5758, pp. 369–370 (2009) 27. Karimazad, R., Faraahi, A.: An anomaly-based method for DDoS attacks detection using RBF neural networks. In: Proceedings of the International Conference on Network and Electronics Engineering, pp. 16–18 (2011)

90

B. N. Yuvaraju and M. Narender

28. Zhong, R., Yue, G.: DDoS detection system based on data mining. In: Proceedings of the 2nd International Symposium on Networking and Network Security, Jinggangshan, China, pp. 2–4 (2010) 29. Wu, Y.-C., Tseng, H.-R., Yang, W., Jan, R.-H.: DDoS detection and traceback with decision tree and grey relational analysis. Int. J. Ad Hoc Ubiquit. Comput. 7(2), 121–136 (2011) 30. Li, J., Liu, Y., Gu, L.: DDoS attack detection based on neural network. In: 2nd International Symposium on Aware Computing (ISAC), pp. 196–199. IEEE (2010) 31. Akilandeswari, V., Shalinie, S.M.: Probabilistic neural network based attack traffic classification. In: Fourth International Conference on Advanced Computing (ICoAC), pp. 1–8. IEEE (2012) 32. Chen, J.-H., Zhong, M., Chen, F.-J., Zhang, A.-D.: DDoS defense system with turing test and neural network. In: IEEE International Conference on Granular Computing (GrC), pp. 38–43. IEEE (2012) 33. Li, H., Liu, D.: Research on intelligent intrusion prevention system based on snort. In: International Conference on Computer, Mechatronics, Control and Electronic Engineering (CMCE), vol. 1, pp. 251–253. IEEE (2010) 34. Yen, T.-F., Reiter, M.K.: Traffic aggregation for malware detection. In: International Conference on Detection of Intrusions and Malware, and Vulnerability Assessment, pp. 207–227. Springer, Heidelberg (2008) 35. Shin, S., Porras, P., Yegneswaran, V., Fong, M., Gu, G., Tyson, M., Texas, A., Station, C., Park, M.: Fresco: modular composable security services for software-defined networks. In: Network and Distributed System Security Symposium, pp. 1–16 (2013) 36. Jin, R., Wang, B.: Malware detection for mobile devices using software-defined networking. In: Proceedings of the 2013 Second GENI Research and Educational Experiment Workshop, GREE 2013, pp. 81–88. IEEE, Washington (2013) 37. Agarwal, B., Mittal, N.: Hybrid approach for detection of anomaly network traffic using data mining techniques. Procedia Technol. 6, 996–1003 (2012) 38. Gupta, B., Misra, M., Joshi, R.C.: An ISP level solution to combat DDoS attacks using combined statistical based approach. arXiv preprint arXiv:1203.2400 (2012) 39. Thapngam, T., Yu, S., Zhou, W., Beliakov, G.: Discriminating DDoS attack traffic from flash crowd through packet arrival patterns. In: IEEE Conference on Computer Communications Workshops, Shanghai, China, 10–15 April. IEEE (2011) 40. Ali, S.T., Sivaraman, V., Radford, A., Jha, S.: Asurvey of securing networks using software defined networking. IEEE Trans. Reliab. 64(3), 1086–1097 (2015) 41. Giotis, K., Argyropoulos, C., Androulidakis, G., Kalogeras, D., Maglaris, V.: Combining OpenFlow and sFlow for an effective and scalable anomaly detection and mitigation mechanism on SDN environments. Comput. Netw. 62, 122–136 (2014) 42. Dillon, C., Berkelaar, M.: OpenFlow (D) DoS Mitigation. Technical Report, February 2014. http://www.delaat.net/rp/2013-2014/p42/report.pdf 43. Lim, S., Ha, J., Kim, H., Kim, Y., Yang, S.: ASDN-oriented DDoS blocking scheme for botnet-based attacks. In: Sixth International Conference on Ubiquitous and Future Networks (ICUFN), pp. 63–68. IEEE (2014) 44. Chin, T., Mountrouidou, X., Li, X., Xiong, K.: Selective packet inspection to detect DoS flooding using software defined networking (SDN). In: 2015 IEEE 35th International Conference on Distributed Computing Systems Workshops (ICDCSW), pp. 95–99. IEEE (2015) 45. Chung, C.-J., Khatkar, P., Xing, T., Lee, J., Huang, D.: NICE: Network intrusion detection and countermeasure. IEEE Trans. Dependable Secure Comput. 10(4), 198–211 (2013) 46. Xing, T., Huang, D., Xu, L., Chung, C.J., Khatkar, P.: SnortFlow: a OpenFlow-based intrusion prevention system in cloud environment. In: Proceedings of the 2013 2nd GENI Research and Educational Experiment Workshop, GREE 2013, pp. 89–92 (2013)

To Defeat DDoS Attacks in Cloud Computing Environment

91

47. Denial-of-Service (DoS) Secured Virtual Tenant Networks (VTN). As Whitepaper by Radware and NEC Corporation (2012) 48. Real-time DDoS Protection. As HP and Radware solution brief (2014) 49. SDN Analytics for DDoS Mititgation—Solving Real World Enterprise Problem Today. As Application note by Alcatel Lucent Enterprise (2013) 50. Real-time SDN and NFV Analystics for DDoS Mitigation. by Brocade Communication System (2014) 51. Krishnan, R., Durrani, M., Pal, P.: Real-time SDN Analytics for DDoS Mitigation. As Article by Brocade Communications (2014) 52. Mousavi, S.M.: Early Detection of DDoS Attacks in Software Defined Networks Controller. As Thesis Report (2014) 53. Dillon, C., Berkelaar, M.: OpenFlow DDoS Mitigation 2014. Technical report, February 2014. http://www.delaat.net/rp/2013-2014 54. Wang, H., Xu, L., Gu, G.: OF-GUARD: a DoS attack prevention extension in software-defined networks. Open Network Summit, USENIX (2014) 55. Sahay, R., Blanc, G., Zhang, Z., Debar, H.: Towards autonomic DDoS mitigation using software defined networking. In: NDSS Workshop on Security of Emerging Networking (SENT) (2015) 56. Lim, S., Ha, J., Kim, H., Kim, Y., Yang, S.: A SDN-oriented DDoS blocking scheme for botnet-based attacks. In: Sixth International Conference on Ubiquitous and Future Networks (ICUFN), pp. 63–68. IEEE (2014) 57. Oktian, Y.E., Lee, S., Lee, H.: Mitigating denial of service (DoS) attacks in OpenFlow networks. In: ICTC. IEEE (2014) 58. Kalliola, A., Lee, K., Lee, H., Aura, T.: Flooding DDoS mitigation and traffic management with software defined networking. In: 4th International Conference on Cloud Networking (CloudNet), pp. 248–254. IEEE (2015) 59. Wang, R., Jia, Z., Ju, L.: An entropy-based distributed DDoS detection mechanism in softwaredefined networking. In: Trustcom/BigDataSE/ISPA. IEEE (2015) 60. Alcorn, J.A., Chow, C.E.: A framework for large-scale modeling and simulation of attacks on an OpenFlow network. In: 2014 23rd International Conference on Computer Communication and Networks (ICCCN), Shanghai, pp. 1–6 (2014) 61. Kalliola, A., Lee, K., Lee, H., Aura, T.: Flooding DDoS mitigation and traffic management with software defined networking. In: 2015 IEEE 4th International Conference on Cloud Networking (CloudNet), Niagara Falls, ON, pp. 248–254 (2015) 62. Chin, T., Mountrouidou, X., Li, X., Xiong, K.: An SDN-supported collaborative approach for DDoS flooding detection and containment. In: 2015 IEEE Military Communications Conference, MILCOM 2015, Tampa, FL, pp. 659–664 (2015) 63. Giotis, K., Apostolaki, M., Maglaris, V.: A reputation-based collaborative schema for the mitigation of distributed attacks in SDN domains. In: 2016 IEEE/IFIP Network Operations and Management Symposium, NOMS 2016, Istanbul, pp. 495–501 (2016) 64. Furdek, M., et al.: An overview of security challenges in communication networks. In: 2016 8th International Workshop on Resilient Networks Design and Modeling (RNDM), Halmstad, pp. 43–50 (2016) 65. Sattar, D., Matrawy, A., Adeojo, O.: Adaptive bubble burst (ABB): mitigating DDoS attacks in software-defined networks. In: 2016 17th International Telecommunications Network Strategy and Planning Symposium (Networks), Montreal, QC, 2016, pp. 50–55 (2016) 66. Passito, A., Mota, E., Bennesby, R., Fonseca, P.: AgNOS: a framework for autonomous control of software-defined networks. In: 2014 IEEE 28th International Conference on Advanced Information Networking and Applications, Victoria, BC, pp. 405–412 (2014)

92

B. N. Yuvaraju and M. Narender

67. Mowla, N.I., Doh, I., Chae, K.: Multi-defense mechanism against DDoS in SDN based CDNi. In: 2014 Eighth International Conference on Innovative Mobile and Internet Services in Ubiquitous Computing, Birmingham, pp. 447–451 (2014) 68. Wang, B., Zheng, Y., Lou, W., Hou, Y.T.: DDoS attack protection in the era of cloud computing and software-defined networking. In: 2014 IEEE 22nd International Conference on Network Protocols, Raleigh, NC, pp. 624–629 (2014) 69. Giotis, K., Androulidakis, G., Maglaris, V.: Leveraging SDN for efficient anomaly detection and mitigation on legacy networks. In: 2014 Third European Workshop on Software Defined Networks, Budapest, pp. 85–90 (2014) 70. Ashraf, J., Latif, S.: Handling intrusion and DDoS attacks in Software Defined Networks using machine learning techniques. In: 2014 National Software Engineering Conference, Rawalpindi, pp. 55–60 (2014) 71. Krylov, V., Kravtsov, K., Sokolova, E., Lyakhmanov, D.: SDI defense against DDoS attacks based on IP Fast Hopping method. In: 2014 International Science and Technology Conference (Modern Networking Technologies) (MoNeTeC), Moscow, pp. 1–5 (2014) 72. Mihai-Gabriel, I., Victor-Valeriu, P.: Achieving DDoS resiliency in a software defined network by intelligent risk assessment based on neural networks and danger theory. In: 2014 IEEE 15th International Symposium on Computational Intelligence and Informatics (CINTI), Budapest, pp. 319–324 (2014) 73. Nguyen Tri, H.T., Kim, K.: Assessing the impact of resource attack in Software Defined Network. In: 2015 International Conference on Information Networking (ICOIN), Cambodia, pp. 420–425 (2015) 74. Kokila, R.T., Thamarai Selvi, S., Govindarajan, K.: DDoS detection and analysis in SDNbased environment using support vector machine classifier. In: 2014 Sixth International Conference on Advanced Computing (ICoAC), Chennai, pp. 205–210 (2014) 75. Dharma, N.I.G., Muthohar, M.F., Prayuda, J.D.A., Priagung, K., Choi, D.: Time-based DDoS detection and mitigation for SDN controller. In: 2015 17th Asia-Pacific Network Operations and Management Symposium (APNOMS), Busan, pp. 550–553 (2015) 76. Wang, X., Chen, M., Xing, C.: SDSNM: a software-defined security networking mechanism to defend against DDoS attacks. In: 2015 Ninth International Conference on Frontier of Computer Science and Technology, Dalian, pp. 115–121 (2015) 77. Luo, S., Wu, J., Li, J., Pei, B.: A defense mechanism for distributed denial of service attack in software-defined networks. In: 2015 Ninth International Conference on Frontier of Computer Science and Technology, Dalian, pp. 325–329 (2015) 78. Wang, R., Jia, Z., Ju, L.: An entropy-based distributed DDoS detection mechanism in softwaredefined networking. In: 2015 IEEE Trustcom/BigDataSE/ISPA, Helsinki, pp. 310–317 (2015) 79. Seeber, S., Stiemert, L., Rodosek, G.D.: Towards an SDN-enabled IDS environment. In: 2015 IEEE Conference on Communications and Network Security (CNS), Florence, pp. 751–752 (2015) 80. Kim, J., Daghmehchi Firoozjaei, M., Jeong, J.P., Kim, H., Park, J.S.: SDN-based security services using interface to network security functions. In: 2015 International Conference on Information and Communication Technology Convergence (ICTC), Jeju, pp. 526–529 (2015) 81. Arins, A.: Firewall as a service in SDN Open Flow network. In: 2015 IEEE 3rd Workshop on Advances in Information, Electronic and Electrical Engineering (AIEEE), Riga, pp. 1–5 (2015) 82. Van Trung, P., Huong, T.T., Van Tuyen, D., Duc, D.M., Thanh, N.H., Marshall, A.: A multicriteria-based DDoS-attack prevention solution using software defined networking. In: 2015 International Conference on Advanced Technologies for Communications (ATC), Ho Chi Minh City, pp. 308–313 (2015)

To Defeat DDoS Attacks in Cloud Computing Environment

93

83. Hussein, A., Elhajj, I.H., Chehab, A., Kayssi, A.: SDN security plane: an architecture for resilient security services. In: 2016 IEEE International Conference on Cloud Engineering Workshop (IC2EW), Berlin, pp. 54–59 (2016) 84. Machado, C.C., Granville, L.Z., Schaeffer-Filho, A.: ANSwer: combining NFV and SDN features for network resilience strategies. In: 2016 IEEE Symposium on Computers and Communication (ISCC), Messina, pp. 391–396 (2016) 85. Sahri, N., Okamura, K.: Collaborative spoofing detection and mitigation – SDN based looping authentication for DNS services. In: 2016 IEEE 40th Annual Computer Software and Applications Conference (COMPSAC), Atlanta, GA, pp. 565–570 (2016) 86. DDoS Mitigation. https://www.incapsula.com/ddos/ddos-mitigation-services.html. Accessed 20 Sept 2018 87. DDoS Mitigation Techniques. https://www.verisign.com/en_IN/security-services/ddos-pro tection/athena/ddos-mitigation-techniques/index.xhtml. Accessed 20 Sept 2018 88. DDoS Mitigation. https://www.akamai.com/uk/en/resources/ddos-mitigation.jsp. Accessed 20 Sept 2018 89. StormWall. https://stormwall.pro/en?utm_source=google&utm_medium=cpc&utm_cam paign=ENG_other&network=g&placement=&adposition=1o1&utm_term=ddos%20miti gation&gclid=EAIaIQobChMI4K-I5dHG3QIViZOPCh09Bw7lEAMYASAAEgKoRPD _BwE. Accessed 20 Sept 2018 90. Challenges of Software-Defined Networking. https://yourdailytech.com/networking/challe nges-of-software-defined-networking/. Accessed 20 Sept 2018 91. Vissicchio, S., Vanbever, L., Bonaventure, O.: Opportunities and research challenges of hybrid software defined network’s. ACM SIGCOMM Comput. Commun. 44(2), 70–75 (2014) 92. Imran, A.: SDN controllers security issues (2017) 93. Yu, S., Zhou, W., Jia, W., Guo, S., Xiang, Y., Tang, F.: Discriminating DDoS attacks from flash crowds using flow correlation coefficient. IEEE Trans. Parallel Distrib. Syst. 23(6), 1073–1080 (2012) 94. Saravanan, A., Bama, S.S., Kadry, S., Ramasamy, L.K.: A new framework to alleviate DDoS vulnerabilities in cloud computing. Int. J. Electr. Comput. Eng. (IJECE) 9(5), 4163–4175 (2019) 95. Hertiana, S.N., Kurniawan, A., Pasaribu, U.S.: Effective router assisted congestion control for SDN. Int. J. Electr. Comput. Eng. (IJECE) 8(6), 4467–4476 (2018) 96. Ali, T.E., Morad, A.H., Abdala, M.A.: Load balance in data center SDN networks. Int. J. Electr. Comput. Eng. (IJECE) 8(5), 3084–3091 (2018)

Oriented Petri Nets as Means of Describing a Human-Computer Interaction Kamelia Shoilekova and Desislava Baeva(B) Department of Informatics and Information Technologies, Angel Kanchev University of Ruse, 8 Studentska Street, 7017 Ruse, Bulgaria {kshoylekova,dbaeva}@uni-ruse.bg

Abstract. The goal of this paper is to propose a methodology developed on a clear theoretical base and provided with an easy, comprehensive graphic representation of business models. It is the reason to choose Petri nets as a method for the formal specification of human-computer interaction. Using the resources provided by this method, an attempt shall be made within the frames of this paper to build a model of interactions between different participants; unification of models obtained as per the foregoing item for describing the business process and/or the complex (constituent) business processes; analysis of the built-up models. Keywords: Petri nets · Formal specification · Human-computer interaction

1 Introduction The focus laid on business processes led to the emergence of a large number of methodologies for business process modeling, analysis and designing. Regretfully, none of them is effective to 100%, considering that some methodologies provide an apprehensible conceptual model but they lack a notation for model construction and graphical representation while the remaining part of methodologies does not have a clear theoretical base. The foregoing circumstance brings about numerous difficulties related to the choice of methodology that would be appropriate for a specific entity and could facilitate the analysis and communication of the parties involved. The goal of this paper is to propose a methodology developed on a clear theoretical base and provided with an easy, comprehensive graphic representation of business models. It is the reason to choose Petri nets as a method for the formal specification of business processes. Using the resources provided by this method, an attempt shall be made within the frames of this paper to build: 1) A model of interactions between different participants; 2) Unification of models obtained as per the foregoing item for describing the business process and/or the complex (constituent) business processes; 3) Analysis of the built-up models.

© Springer Nature Switzerland AG 2020 R. Silhavy (Ed.): CSOC 2020, AISC 1224, pp. 94–102, 2020. https://doi.org/10.1007/978-3-030-51965-0_8

Oriented Petri Nets as Means of Describing a Human-Computer Interaction

95

In other words, the elaborated concept shall help to build a model of interaction between the data administrator and an information system in the business processes of an human-computer interaction and based on it, the business processes themselves shall be described and presented. This approach shall be for the benefit of the formal actions, as they shall give rise to better results and meeting the set up goals.

2 Business Transactions In general, business processes within every human-computer interaction entangle so that the result from one process provokes the activation of one or several business processes. Every business process has a start and an end, and every business transaction has two actors, i.e. two interacting parties performing the roles respectively of – an actor who initiates the transaction, and – an actor who executes the transaction. Actors may correspond to human resources, software agents, and/or machines. To understand the meaning of the above stated it is necessary to define the term business transaction. The term transaction is widely used in the world of business. The word transaction originates from the Latin transactio meaning “an agreement”. In Bulgarian language, the term has several explanations depending on the sphere of application. To formulate the term precisely and clearly enough for the purpose of using “business transactions” in the business process modeling, the following definitions are given: Definition 1: A business transaction is a model of activity conducted between two actors, i.e. an initiator and a performer. The activity is executed in three phases (OER): – phase of orders, – phase of execution, – phase of results. Definition 2: A business transaction comprises two types of actions: – communicative, and – productive action. Definition 3: A business transaction is well-structured if it includes additional transactions, i.e. there is one main (core) transaction, and several nested transactions. Definition 4: A business transaction has a starting and a final point. The transaction begins with an actor’s request and ends with the result accepted by the same actor. Considering the foregoing definitions, it is necessary to define also the term “business process” aiming to show the relation between a business transaction and a business process. Definition: A business process is a network of interrelated business transactions that deliver value to an external agent via a product and/or service. In [3] the author focuses on the INVITE transaction of Session Initiation Protocol (SIP), which is used to initiate a session. SIP is designed to operate over a transport

96

K. Shoilekova and D. Baeva

protocol that can be responsible or irresponsible. The author use CPNs to model and analyze SIP INVITE the transaction when the medium is irresponsible. The verification reveals a similar problem as that in the case of a responsible medium. In the nowadays, various Object-Oriented Petri nets (OO-nets) are proposed. OO-nets realizes nets-within-nets paradigm by considering a net as an object. Such a hierarchization is suitable for modeling multi-agent systems having various decision making layers [6].

3 Transaction – Oriented Petri Nets Petri nets offer a graphical representation of stepwise processes including choice, iteration and concurrent execution. They are distinguished with an exact mathematical definition of their execution semantics, and a well-developed mathematical theory for process analysis. Petri nets are one of the known techniques for describing business processes in a formal and abstract way [5, 7, 9]. A Petri net is a directed bipartite graph with two types of nodes - for transitions (Fig. 1 b) and places (Fig. 1 a). Transitions are discrete events that may occur, while places are pre-, or post-conditions of events, depending on arcs’ directions (Fig. 1 c). Places are input, output or internal. A Petri net consists of dynamic elements (tokens) (Fig. 1 d), which pass along graph arcs via transitions and run from one place to another. Tokens are removed from input to output places of transitions, if at the moment of verification the conditions’ predicates, which correspond to the input places where the tokens are, and the output places where these tokens go, have the probable value of “true”. If conditions’ predicates have the probable value of “false”, tokens remain in the transitions’ input places where they were before the verification. Tokens’ distribution in net places is called marking. It reflects the system’s state at a fixed moment of time and changes at any next moment in result of enabling one transition at least. A transition in Petri net is enabled when a token appears in one of its input places. When that transition is enabled, the tokens from its input places are fired to its output places, as the passage of tokens via transitions is executed within one indivisible step. Therefore, a transition execution is an instance of action. Every instance of process is represented at least by one token, and because of splits and joins, the number of tokens in a given process may vary during its execution [1, 4, 8, 10–12].

Fig. 1. Petri nets main elements

Early attempts of mapping business processes and/or business transactions were made with Petri nets, as listed below:

Oriented Petri Nets as Means of Describing a Human-Computer Interaction

97

– classical Petri nets, and – hierarchical Petri nets.

4 Extension to Transaction – Oriented Petri Nets Nevertheless that Petri nets are suitable for business processes modeling, it is necessary to make some extensions to them. The basic extension is needed because classical Petri nets do not allow modeling the fact that different parts of the modeled business process are realized in specific entities that may somehow differ. Clear distinction of these entities within the business organization is not of great significance for process modeling. It would rather enable the user distinguish the departments and the whole organization, which participate in one and the same business process [2] (Fig. 2).

Fig. 2. OER diagram based on elements of transaction - oriented Petri nets

The second extension to Petri nets has been imposed in order to differentiate an interaction (communicative act) from an action (data editing). The third extension to Petri nets includes a border element. This element enables to distinguish the internal organizational processes from the external ones. It helps the analyst to model the interactions between processes within an information system. The last extension refers to the inclusion of a relationship. The relationship objective is to avoid the permanent monitoring of the tokens’ number in the input places, considering that for classical Petri nets a transition is possible if any one of its input places has at least as many tokens as the multilateralism of the corresponding input arch is.

98

K. Shoilekova and D. Baeva

5 Examples of Transaction – Oriented Petri Nets A partial model of data editing in a process of different operations with data in an information system shall illustrate the application of transaction - oriented Petri nets. Figure 4 presents the process of data input by actor “Data Administrator” (DA). That process has a starting and ending place, and it is carried out within a information system as far as the initiator is concerned (Fig. 3).

Fig. 3. Model of “data editing” process

The data editing is a combined transaction as it includes additional transactions. The analysis of the process is quite simplified. The business process starts with the input of information from the actor and ends at the moment when the administrator has approved the entered information and it is displayed in the information system. Because approval is done in the system, the approval is an action initiated by the administrator that requires a change to be made by the DA on the system. Therefore, there are two transactions: Transaction 1: Data Input Initiator: DA of the information system Performer: Administrator Action: Edit information Transaction 2: Approval Initiator: Administrator Performer: DA of the information system Action: Editing is done

Oriented Petri Nets as Means of Describing a Human-Computer Interaction

99

Since the second transaction is activated while the first transaction is proceeding, it is necessary to extend the representation of the first transaction so that the activity is carried out through the three phases (OER) shown in Fig. 4.

Fig. 4. Model of Data Input process implemented with the help of transaction - oriented Petri nets

At first sight, the model in Fig. 4 may look incorrect, as it does not present the actions in a clear sequence. To end successfully the business process of data editing, transaction 2 must finish before completing the transition T1/E. Therefore, if any transition imposes the usage of nested transaction and the result from the nested transaction is needed for completing the basic transaction, then the nested transaction must finish before the last transition of the basic transaction. This process is illustrated in Fig. 6. It shows that the phase T1/E starts immediately after phase T1/O is being completed. To end the phase T1/E it is required transaction T1/E to be completely finished (Fig. 5). Let us make the process a little complicated. For example, an administrator must remove one of the edits made because it was re-entered before authorizing the edit. In order to eliminate the repetition of information, the administrator must interact with the system. This will change the in transactions involved in the data editing process.

100

K. Shoilekova and D. Baeva

Fig. 5. Detailed model of data editing process implemented with the help of elements of transaction - oriented Petri nets

Transaction 1: Data entry Initiator: DA Performer: Administrator Action: Edit information Transaction 2: Remove duplicate information Initiator: Administrator Performer: Database Action: Confirmation of removal Transaction 3: Approval Initiator: Administrator Performer: Editor of the information system Action: Editing is done Figure 6 presents the modified model of the data editing process including the new transaction as well.

Oriented Petri Nets as Means of Describing a Human-Computer Interaction

101

Fig. 6. Modified model of “Data entry” process implemented with the help of elements of transaction - oriented Petri nets

The process itself can be modified a little more, i.e. the two transactions of nullifying and payment can be concurrently executed (Fig. 7).

Fig. 7. Two transactions running concurrently

102

K. Shoilekova and D. Baeva

6 Conclusion This paper reveals a new notion about business processes modeling via transaction oriented Petri nets. The advantages presented herein can be listed as follows: – Applying one of the well-known and accessible method for business processes modeling, namely, the Petri nets; – Petri nets are provided with a clear theoretical base; – Petri nets can be oriented to transactions.

Acknowledgements. This research was supported by the Bulgarian Science Fund, with the grant for financial support for projects of junior researchers and postdocs, agreement DM12.1/2017 “Develop and explore a modern approach to conceptual software presentation of the semantic information stored in the Bulgarian national embroidery”.

References 1. Wang, J.: Petri Nets for Dynamic Event-Driven System Modeling. http://bluehawk.mon mouth.edu/~jwang/Ch024.pdf 2. van der Aalst, W., van Hee, K.: Workflow Management: Models, Methods, and Systems. MIT Press, Cambridge (2002) 3. Liu, L.: Verification of the SIP Transaction Using Coloured Petri Nets. http://search.ror.unisa. edu.au/media/researcharchive/open/9915910937801831 4. Christensen, S., Hansen, H.: Coloured Petri nets extended with channels for synchronous communication. Technical Report, DAIMI PB-390, Aarhus University (1992) 5. Murata, T.: Petri nets: properties, analysis and applications. Proc. IEEE 77(4), 541–580 (1989) 6. Miyamoto, T., Kumagai, S.: A Survey of Object – Oriented Petri nets and Analysis Methods. https://www.researchgate.net/publication/31307320_A_Survey_of_Object-Ori ented_Petri_Nets_and_Analysis_Methods 7. Reisig, W.: Petri Nets: An Introduction. Springer, Berlin (2012) 8. Angeli, D., de Leenheer, P., Sontag, E.D.: Persistence results for chemical reaction networks with time-dependent kinetics and no global conservation laws. SIAM J. Appl. Math. 71, 128–146 (2011) 9. Angeli, D., de Leenheer, P., Sontag, E.D.: Petri nets tools for the analysis of persistence in chemical networks. In: Proceedings of the 7th IFAC Symposium on Nonlinear Control Systems (NOLCOS 2007), Pretoria, South Africa, 22–24 August 2007 (2007) 10. Grigorova, K., Kamenarov, I.: Intelligent Business Process Repository, Knowledge Based Automated Software Engineering, no. 1 (2012). ISSN 978-1-4438-3771-2 11. Grigorova, K., Kamenarov, I.: Object oriented business process repository. In: ComSysTech 2012, Ruse, pp. 72–78 (2012). ISBN 978-1-4503-1193-9 12. Grigorova, K.: Process modelling using petri nets. In: CompSysTech 2003, Sofia (2003)

FPGA Based Transient Fault Generate and Fault Tolerant for Asynchronous and Synchronous Circuits Y. N. Sharath Kumar1(B) and P. Dinesha2 1 Department of Electrical and Electronics Engineering,

Dayananda Sagar College of Engineering, Bengaluru, India [email protected] 2 Department of Electronics and Communication Engineering, Dayananda Sagar College of Engineering, Bengaluru, India

Abstract. In recent years, it is a challenging task to design and test VLSI circuits because of its complexity. The manufacturing of the digital integrated circuits with defects, affects the productivity and reliability of the system. If the defects are more in the systems, then it results faults. To resolve the faults in digital circuits, an active fault tolerant system is required. In this paper, efficient hardware architecture of transient fault injection and tolerant system (TFI-FTS) for synchronous and asynchronous circuits is designed. The TFI system is designed using Berlekamp Massey Algorithm (BMA) based Linear-feedback Shift Register (LFSR) with fault logic and one-hot encoder followed by data register. The FTS is designed using Triple modular redundancy (TMR) with majority logic. The asynchronous and synchronous circuits are considered from the 74X-Series and ISCAS’89 benchmark circuits respectively. The overall work is synthesized and implemented on prototyped FPGA-Artix-7. The fault coverage is analyzed with the simulation environment on Modelsim simulator. Keywords: Fault tolerant · Fault detection · Berlekamp Massey Algorithm · Linear-feedback Shift Register · Triple modular redundancy · Field programmable gate array

1 Introduction The development of the integrated circuits for different functional requirements is increasing day-by-day drastically in today’s world. VLSI technology is promising to make these things simple and cost-effective using digital devices consisting of synchronous and asynchronous circuits. As technology improves, the devices are more complex every day to fulfill the user’s requirements. So testing the devices which include synchronous and asynchronous circuits are also complicated because of its complexity. The testing and verification are essential to factor in digital devices when the system complexities increase. The overall test cost increases if the testing time increases. To minimize the test cost finds the solution which minimizes the testing time of the device. © Springer Nature Switzerland AG 2020 R. Silhavy (Ed.): CSOC 2020, AISC 1224, pp. 103–110, 2020. https://doi.org/10.1007/978-3-030-51965-0_9

104

Y. N. Sharath Kumar and P. Dinesha

All the manufactured IC’s are tested to find the defects, and it is challenging to test defects in a single chip. The defects are considered as faults in the testing process because of imperfection occur within the software or hardware part. The faults are categorized into hardware or physical fault, which includes permanent fault, transient fault, intermittent faults, and software faults which includes algorithm fault, function fault, assignment fault, timing, and checking faults. The fault injection system is used to analyze the behavior of the devices with validation when the fault occurs. In general, there are five fault injection techniques are available, which includes hardware-based, software-based, simulation-based, emulation-based, and hybrid-based fault injection [1, 2]. There are different fault detection mechanism is available for digital circuits which include fault table method, heuristic, path sensitizing, multi-level circuit, genetic algorithm, Boolean difference, and equivalent normal-form fault detection method [3]. The fault injection system is used to generate the faults and tolerant system is designed to tolerate the faults using different approaches for combinational and sequential logic circuits using concurrent error detection (CED) [4]. Soft errors or transient faults are tolerated using logical circuit testing with probabilistic transfer matrices (PTM) and online testing [5, 6]. The self-checking tree checker is designed for on-line testing of asynchronous circuits [7]. The Quasi Delay Insensitive (QDI) circuits with asynchronous logic for transient faults are evaluated with sensitivity validation [8, 9]. The transient faults are tolerated using control flow checking for modern processor [10]. The related work of fault tolerant system and its approaches for different applications are elaborated with findings. The proposed hardware architecture of transient fault injection and tolerant system for synchronous and asynchronous circuits is explained in Sect. 2. The results and discussion are represented in Sect. 3 for the proposed work. The conclusion of the work with improvements and future suggestions are expressed in Sect. 4. The current work of the different fault injection and tolerant systems are analyzed with findings. Lala et al. [11] present the permanent and transient fault injection mechanism for digital circuits using VHDL, and offline testing environment is set up for permanent faults. The Matrosova et al. [12, 13] presents the Struck-at-fault (SAF) and path delay fault (PAF) tolerating system for sequential circuits using self-checking scheme based on software approaches. The fault tolerant system includes fault secured circuit, standard circuit, XOR unit, and Multiplexor module. Kwak et al. [14] describe the simple static corrective controller for fault tolerant in asynchronous sequential circuits with the help of finite state transitions. The static corrective controller works based on the deterministic operations along with the closed-loop system. Arya et al. [15] present the fault tolerant system using static redundancy and dynamic redundancy approaches for digital circuits. Kamenskih et al. [16] explain about complexity, energy consumption, and reliability in the fault tolerant system and its principles, modeling are analyzed in the software environment. The static and analytical fault diagnosis of digital circuits is analyzed for system-on-chip (SoC) in Lee et al. [17]. The gate level fault modeling and error propagation analysis is done using combination logic. The Mao et al. [18] explains about the automated fault injection system on FPGA for fault tolerant–FFT system. The fault injection is deployed from the C++ environment, and fault tolerant is achieved for FFT using reduced precision redundancy (RPR) method. Anwer et al.

FPGA Based Transient Fault Generate and Fault Tolerant

105

[19] present the error probabilistic Boolean difference error calculator based hardware model is designed fault tolerant system and analyze the output reliability against error probability for benchmarked circuits. From the existing approaches for fault injection and fault tolerant system, most of them are software based approaches and few are hardware-based approaches for fault injection and tolerant digital circuits. The hardware-based fault-tolerant approaches are conventional and lack with system performance and hardware constraints improvements on FPGA. The proposed TFI system generates random data sequence using algorithm known as Berlekamp Massey Algorithm which has advantages of faster processing of polynomial than standard LFSR method.

2 Proposed Design-TFI-FTS Module The hardware architecture of transient fault injection and tolerant system for synchronous and asynchronous circuits is represented in Fig. 1. The TFI system mainly consists of Berlekamp Massey Algorithm based two LFSR’s, fault logic, and one hot encoder followed by data register. The FTS mainly have synchronous and asynchronous circuits with input and out functionality, followed by majority vote logic. Transient Fault Injection (TFI) System Fault Logic

4

BMA Based LFSR-1

4

XOR Module

Control unit

Logic-1

Logic-0

Inputs

4

Data Register

4

BMA Based LFSR-2

Faults Inputs

One-hot Encoder

4

User Data

4

Fault Output

Majority Voter circuit - 1

c1

circuit - 2

c2 Outputs

circuit- 3

c3 Fault tolerant system (FTS)

Fig. 1. Hardware architecture of proposed TFI-FTS

The TFI system generates the random data sequences using BMA based LFSR’s, and the BMA based LFSR is capable of processing the long sequence polynomial in short duration than standard LFSR and utilizes the less chip area and power. The two 4-bit random data sequences are input to the fault logic module. The XOR of the two

106

Y. N. Sharath Kumar and P. Dinesha

random sequences are fed to control logic unit. The control unit generates the control logic signal either set to ‘0’ or ‘1’. If the logic ‘1’ is set, the random sequence data is stored in data register using one-hot encoder. The one-hot encoder shifts the data with flipping, which creates more random patterns as a 4-bit transient fault. If the logic ‘0’ is set, the user data is stored in the data register, and no fault is generated in the TFI system. The TFI system faults are injected to Triple-Modular-Redundancy based FTS. The FTS is designed using TMR with majority logic. The synchronous and asynchronous circuits are considered to validate the TFI-FTS module. The asynchronous circuits [20] are considered from benchmark 74X series circuits with high-level modules. Similarly, the synchronous circuits [21] are considered from benchmarked ISCAS’89 circuits. The benchmarked 74X series asynchronous circuits and benchmarked ISCAS’89 synchronous circuits with its function, the number of input-outputs and usage of basic gates are tabulated in Table 1 and Table 2 respectively. Table 1. Benchmarked 74x Series asynchronous circuits Circuit name

Function

No. of inputs

No. of outputs

No. of basic gates

74283

4-bit Fast adder

74182

4-bit CLA

9

5

40

9

5

19

74181

4-bit ALU

14

8

62

74L85

4-bit magnitude comparator

11

3

35

Table 2. Benchmarked ISCAS’89 synchronous circuits Circuit name

Function

No. of inputs

No. of outputs

No. of D-FF’s

No. of basic gates

S27

Simple sequential circuit

4

1

3

10

S386

Simple controller

7

7

6

159

S400

Traffic light controller

3

6

21

164

S420

Digital fractional multiplier

18

1

16

218

The FTS module works by considering any of the three same synchronous or asynchronous circuits, and injects the fault to the first circuit as one of the input and considers user data as other inputs to the circuits. After performing each circuit functions C1 , C2 ,

FPGA Based Transient Fault Generate and Fault Tolerant

107

C3 outputs are generated. Apply the majority voter logic to generate the final output. The voter logic has simple three AND gates and one OR gate to generate the final results. The final output is C1 C2 + C2 C3 + C1 C3 . The voter logic works based on the majority of the two out of three circuits with correct output, and if it fails, the FTS is not tolerating the faults. The TMR based FTS is a simple and cost-effective system to tolerate the faults in any digital circuits and also improves the system performance with good fault coverage. The proposed design results for digital circuits are analyzed with hardware constraints tabulation along with performance realization in the next section.

3 Results and Analysis The transient fault injection and tolerant system for digital circuits are designed and synthesized on Xilinx ISE using Verilog-HDL and implemented on FPGA Artix-7 with prototyping. The TFI-FTS for 4-bit Carry Look Ahead adder circuit (74182) simulation results is represented in Fig. 2. The global clock (clk) signal is activated with the positive edge along with active low reset (rst). The load signal is active high to initiate the LFSR’s and become low to process the polynomial operations. The 2-bit mode decides the control signal, which leads the faults in TFI. The user data set to 4-bit “0011”. Set the 4-bit data inputs (x and y) with different values along with carry ci. The TFI-FTS process starts, the 4-bit faults (fault_inject) are generated based on BMA and which is injected to the carry look ahead adder as one input. The TMR based FTS tolerate the faults and generate the correct carry look ahead adder outputs. This simulation result indicates that the TFI-FTS works effectively.

Fig. 2. An example of TFI-FTS based 4-bit Carry Look Ahead adder circuit simulation results

Similarly, the TFI-FTS for Digital Fractional Multiplier (S420) simulation results is represented in Fig. 3. The global clock (clk) signal is activated with the positive edge along with active low reset (rst). The load signal is active high to initiate the LFSR’s and become low to process the polynomial operations. The 2-bit mode decides the control signal, which leads the faults in TFI. The user data set to 4-bit “0011”. The TFI-FTS Process starts, the 4-bit faults (fault_inject) are generated based on BMA and are injected to the Digital Fractional Multiplier as one input. The TMR based FTS tolerate the faults and generate the correct output. This simulation result indicates that the TFI-FTS works effectively and applicable to any benchmarked synchronous circuits.

108

Y. N. Sharath Kumar and P. Dinesha

Fig. 3. An example of TFI-FTS based Digital Fractional Multiplier simulation results

The proposed TFI-FTS are applied to the benchmarked synchronous and asynchronous circuits on the hardware platform and obtain the hardware constraints in terms of area, time, and power area tabulated in Table 3. The area resources include Slice registers, slice-LUT’s and bonded input-output ports. The 74182 circuit utilizes only the 31 slice-LUT’s than other three asynchronous circuits. The simple sequential circuit- S27 utilizes 29 slices-LUT’s than other three synchronous circuits. The proposed design for asynchronous and synchronous circuits operates at an average of 606 MHz and 594 MHz respectively. The combinational delay for both FTS based asynchronous-74182 and synchronous-S27 circuits generates the 1.467 ns and 0.948 ns, respectively. Table 3. Hardware resource utilization for synchronous and asynchronous circuits on Artix-7 Hardware resources

Asynchronous circuits

Synchronous circuits

FTS-74283 FTS-74182 FTS-74181 FTS-74L85 S27

S386

S400

S420

Slice registers

26

26

26

26

29

32

47

42

Slice LUTs

32

31

45

32

29

59

61

61

Bonded IOBs

27

27

35

27

18

27

22

32

1.467

3.709

2.208

0.948

1.793

NA

2.621

Area

Time Combinational 1.907 delay (ns) Power Dynamic power (W)

0.009

0.007

0.011

0.006

0.005

0.007

0.06

0.007

Total power (W)

0.091

0.089

0.093

0.088

0.087

0.089

0.088

0.089

The power consumption of the TFI-FTS based both circuits is analyzed on Xilinx XPower analyzer at 100 MHz device frequency. The total power includes the combination of static and dynamic power. The 74L85 circuit utilizes 0.088 W and S27 utilizes 0.087 W which are less than other three asynchronous and synchronous circuits respectively. The fault coverage is finding out based on the number of fault injects and execution time in simulation environments. The TMR based fault-tolerant systems for both synchronous and asynchronous circuits inject the faults from the transient fault injection system. The

FPGA Based Transient Fault Generate and Fault Tolerant

109

TFI injects faults to FTS for each clock cycle. For experimental purpose, 100 faults are injected to the FTS and find no changes in the simulation results (except original results) for both synchronous and asynchronous circuits. The 100% fault coverage is achieved for both benchmarked synchronous and asynchronous circuits, and it is tabulated in Table 4. Table 4. Fault coverage of synchronous and asynchronous circuits TMR based FTS

Fault injects Fault coverage

FTS- 74283,74182,74181,74L85 100

100%

FTS- S27, S349, S400, S420

100%

100

4 Conclusion and Future Work The transient Fault injection and tolerant system for digital circuits are designed and implemented on Artix-7 FPGA. The TFI system mainly consists of BMA based LFSR’s, fault logic, and one hot encoder. The FTS consists of benchmarked three synchronous or asynchronous circuits and TMR based majority voter logic. The proposed work is synthesized on Xilinx platform and simulated on modelsim with FPGA prototyping. The hardware constraints like area, time, and power are analyzed for both benchmarked synchronous and asynchronous circuits. The FTS is working with 606 MHz for asynchronous circuits and 593 MHz for synchronous circuits. The proposed system achieves 100% fault coverage with the 100 fault injection to the FTS. In the future, the hybrid approach based redundancy method is used for FTS to improve the fault coverage for standard synchronous and asynchronous circuits and also to optimize the hardware constraints for low-cost FPGA.

References 1. Ziade, H., Ayoubi, R.A., Velazco, R.: A survey on fault injection techniques. Int. Arab J. Inf. Technol. 1(2), 171–186 (2004) 2. Bastos, R.P., et al.: Evaluating transient-fault effects on traditional C-elements implementations. In: 2010 IEEE 16th International On-Line Testing Symposium (IOLTS). IEEE (2010) 3. Thamarai, S.M., Kuppusamy, K., Meyyappan, T.: Fault detection and test minimization methods for a combinational circuits-a survey. Int. J. Comput. Trends Technol. 2(2), 140–146 (2011) 4. Almukhaizim, S., Makris, Y.: Fault-tolerant design of combinational and sequential logic based on a parity check code. In: Proceedings of the 18th IEEE International Symposium on Defect and Fault Tolerance in VLSI Systems. IEEE (2003) 5. Krishnaswamy, S., Markov, I.L., Hayes, J.P.: Logic circuit testing for transient faults. In: European Test Symposium. IEEE (2005)

110

Y. N. Sharath Kumar and P. Dinesha

6. Metra, C., Di Francescantonio, S., Marrale, G.: On-line testing of transient faults affecting functional blocks of FCMOS, domino and FPGA-implemented self-checking circuits. In: Proceedings of the 17th IEEE International Symposium on Defect and Fault Tolerance in VLSI Systems, DFT 2002. IEEE (2002) 7. Shang, D., et al.: On-line testing of globally asynchronous circuits. IEEE (2005) 8. Monnet, Y., Renaudin, M., Leveugle, R.: Asynchronous circuits sensitivity to fault injection. In: Proceedings of the 10th IEEE International On-Line Testing Symposium, IOLTS 2004. IEEE (2004) 9. Monnet, Y., Renaudin, M., Leveugle, R.: Asynchronous circuits transient faults sensitivity evaluation. In: Proceedings of the 42nd Design Automation Conference. IEEE (2005) 10. Li, X., Gaudiot, J.-L.: Tolerating radiation-induced transient faults in modern processors. Int. J. Parallel Prog. 38(2), 85–116 (2010) 11. Lala, P.K.: Transient and permanent fault injection in VHDL description of digital circuits. Circ. Syst. 3(02), 192 (2012) 12. Matrosova, A., et al.: A fault-tolerant sequential circuit design for SAFs and PDFs soft errors. In: 2016 IEEE 22nd International Symposium on Online Testing and Robust System Design (IOLTS). IEEE (2016) 13. Ostanin, S., et al.: A fault-tolerant sequential circuit design for soft errors based on the fault-secure circuit. In: 2016 IEEE East-West Design & Test Symposium (EWDTS). IEEE (2016) 14. Kwak, S.W., Yang, J.-M.: Simple corrective control for tolerating state transition faults in asynchronous circuits. In: 2016 IEEE International Conference on Intelligent Transportation Engineering (ICITE). IEEE (2016) 15. Arya, N., Singh, A.P.: Fault-tolerant design of digital systems. In: 3rd International Conference on Electrical, Electronics, Engineering Trends, Communication, Optimization and Sciences (EEECOS 2016), Tadepalligudem, pp. 1–7 (2016) 16. Kamenskih, A.N.: The decrease of energy-consumption in fault-tolerant digital devices: principles, models and algorithms. In: 2017 IEEE Conference of Russian Young Researchers in Electrical and Electronic Engineering (EIConRus). IEEE (2017) 17. Lee, S.M., Lee, S.E.: Static fault analysis for resilient System-on-Chip design. In: 2015 International SoC Design Conference (ISOCC). IEEE (2015) 18. Mao, C.-A., et al.: An automated fault injection platform for fault-tolerant FFT implemented in SRAM-based FPGA. In: 2018 31st IEEE International System-on-Chip Conference (SOCC). IEEE (2018) 19. Anwer, J., Platzner, M.: Analytic reliability evaluation for fault-tolerant circuit structures on FPGAs. In: 2014 IEEE International Symposium on Defect and Fault Tolerance in VLSI and Nanotechnology Systems (DFT). IEEE (2014) 20. PLD. http://pld.ttu.ee/~maksim/benchmarks/. Accessed 06 Dec 2019 21. Brglez, F., Bryan, D., Kozminski, K.: Combinational profiles of sequential benchmark circuits. In: Proceedings of the International Symposium on Circuits and Systems, pp. 1929–1934 (1989)

Designing an Energy Efficient Routing for Subsystems Sensors in Internet of Things Eco-System Using Distributed Approach G. N. Anil(B) Department of Computer Science and Engineering, BMSIT&M, Bengaluru, India [email protected]

Abstract. This research study has realized the essentiality of energy conservation in the ecosystem of wireless sensor networks (WSN) driven Internet of Things (IoT). It introduces a novel energy-aware routing mechanism. The strategy is designed and conceptualized in a way where it utilizes power derivation by IoT devices from external objects to make the networks more sustainable and operational. This energy-aware routing mechanism is designed taking the PHY/MAC layer optimization of IEEE 802.15.4 and combines the radio scheduling with enhanced Dijekstra’s routing algorithm. The cost factor derived based on the proposed approach offers a better selection of energy-optimized route from source to target nodes though link optimization under variable traffic load of IoT. The extensive simulation outcome shows that the formulated approach attains the promising outcome of Energy while meeting the QoS requirements. Keywords: Internet-of-Things · Transmission-cost optimization · Energy derivation · Dijkstra algorithm

1 Introduction Internet-of-Things has emerged as a new era of distributed embedded computing and communication technology and also enabled various opportunities to realize potential smart applications such as smart home, smart health monitoring systems, smart transportations, etc. The IoT enabled wireless sensor-driven collaborative networks considers intelligent modeling of network infrastructures where human and machine (more specifically things or objects) can easily interact with the ease synchronized operating environments [1–5]. The architecture of WSN based IoT targets, executional models, to execute complex application tasks by simplifying them at the cooperative level. The heterogeneous model of communication and critical deployment of sensor-driven IoT objects makes the computation and communication in architecture level operationally expensive due to higher dependency on energy resources. Thereby the energy constraints confine its deployment in large-scale and essentiality arises here to balance the energy performance with authoritative power management at the sensor layer of IoT [6]. There has been extensive research effort devoted towards power management in IoT considering its key-players, such as the physical layer/sensing layer, data link layer, and network © Springer Nature Switzerland AG 2020 R. Silhavy (Ed.): CSOC 2020, AISC 1224, pp. 111–121, 2020. https://doi.org/10.1007/978-3-030-51965-0_10

112

G. N. Anil

layers. There exist various strategies which have applied MAC optimization through efficient routing. However, still, most of the energy-aware protocols are found shrouded with design issues and do not meet the communication requirements to a significant extent. It is also realized that the traditional energy-aware routing protocols inhomogeneous sensor networks fail to cope up with the flexibility routing requirements in heterogeneous IoT [7, 8]. The study thereby realizes that there is a better scope of energy optimization if power is derived from various external sources or things in the ecosystem of WSN based IoT. The IoT objects deployed for different application-specific operations can easily perform extraction of energy attributes from different renewable power sources during the routing operations, and this approach can make the network sustainable for a longer period of time [5, 9]. The study also realized how Dijekstra’s approach of routing could also enhance the communication performance while balancing the energy requirements as it is frequently cited in many routing algorithms to derive a minimum cost route for forwarding data packets(msg) [10, 11]. The study thereby jointly addresses the energy and QoS problem in existing routing approaches of the WSN based IoT model and come up with robust modeling of the cost-effective, diverse mode of routing solution which considers metric cost derivation to attain significant routes for network lifetime enhancement. The entire manuscript is subsequently patterned with different segments such as Sect. 2 talks about the existing literature pertaining to Energy-efficient routing approaches in WSN based IoT. Whereas Sect. 3 talks about the overall research problem derived, followed by detailed analytical modeling of the formulated design in Sect. 4. Section 5 further illustrates the result obtained after simulating the modeling, and finally, Sect. 5 concludes the influential aspects of this research study.

2 Review of Literature The traditional approach of sensor node deployment in the sensor layer of Internetof-Things (IoT) is realized operationally expensive. And also, the dense deployment of nodes within an inaccessible human region makes it computationally resourceconstrained. Thereby it is quite a challenging scenario where the energy and data delivery performance of a typical WSN could be balanced to a higher extent. It is essential that to achieve reliable data transmission and probation of information; traditional routing approaches should operate Energy efficiently were within a very minimum interval of time recognition of optimized and reliable selection of routes should take place. The study of (C. Xu, Z. Xiong, G. Zhao, and S. Yu, 2019) presented an energyaware routing policy that is subjected to perform a distributed computational algorithm to maximize the network lifetime with minimal energy consumption [13]. The design goal of this solution approach employs a dynamic paradigm for computing the maximum remnant energy (E) to elect the source routing sensors (Sr ). The entire paradigm is designed in the following way: • • • •

Process → Election of S r based on Max(E) Compute (Optimal Routing Path) → for each S r Enable: partial nodes in the routing Conserve Energy

Designing an Energy Efficient Routing for Subsystems Sensors

113

The optimization algorithm inherited the features of bio-inspired collective intelligence to derive the global transmission route for each node. The outcome of the study shows significant improvement in network lifetime, packet delivery ratio, and delay performance in contrast with the state-of-the-art protocols. Mobility management assisted routing policy is studied by (J. Cao, X. Wang, M. Huang, and X. Zhou, 2019) [14] targeting the potential applications in the context of industrial IoT. The prime motive of the study lies in making the system more scalable in terms of packet forwarding and flexibility, triggering probabilistic event-oriented schema. Over-loaded link management in heavy traffic conditions is an add-on feature. The validation outcome shows the effectiveness of this system. The ecosystem of IoT collaborates with social media platforms and offers information sharing interactively between human to machine (H2M). Due to this diversified operations and information flow, potential security threats are in existence and promote intrinsic vulnerabilities in different IoT devices. (M. Frustaci, P. Pace, G. Aloi, and G. Fortino, 2018), reviewed potential threats in key layers of IoT-1) perception, 2) transportation, and 3) application layers and presented a taxonomy based analysis from the perspective of highlighting the core problem in IoT security research [15]. Since the last many years, the concept of IoT has become an enabler of various next-generation smart applications and also shrouded with different sorts of operational challenges. RPL protocol is one of the key protocols, which is design and standardized with RFC6550 in 2012, aiming for a better scope of low-power operations in lossy networks. (H. Kharrufa, H. A. A. Al-Kashoash, and A. H. Kemp, 2019) [16], explored the potential features of the RPL protocol and studied whether these features are suitable for low-cost sensor operations in IoT. The validation of RPL protocols in the context of its applicability into futuristic collaborative networks is presented in terms of flexibility, energy efficiency, security, and robustness. The remark shows that RPL is reviewed, and its possibility of being operational in futuristic IoT applications is also illustrated. The scheduling of radio-resources is one of the most crucial challenges in the design context of IoT operations. (Y. Jin, U. Raza, A. Aijaz, M. Sooriyabandara, and S. Gormus, 2018) Studied the latest design features of the 6TiSCH standard and realized its computational algorithms applicability over MAC layer scheduling. The study objective is designed by taking the MAC layer reference for optimal routing. And further introduces a novel cross-layer based scheduling approach to control the data traffic in MAC in the context of the IoT ecosystem. The result obtained shows that the approach successfully minimized the network overload by 65%, with a reduction in delay constraints up to 50%. The optimization approach also attains better throughput and effective scheduling of resources. The following Table 1 shows a few of the significant relevant studies which have talked about the problem of cross-layer scheduling and network overhead in the context of WSN and IoT [17]. A similar approach of scheduling with the incorporation of centralized routing paradigm for IoT is realized in the study of (T. A. Al-Janabi and H. S. Al-Raweshidy, 2018) [18], where it undertakes the scheduling problem and attempts to solve it through intelligent energy-aware load-balancing policy. The study introduced a mobile sink (M.S.) based dynamic routing paradigm, which has prolonged the network lifetime

114

G. N. Anil

Table 1. Studies on different aspects of problems in sensor-driven collaborative networks Authors

Problem studied

Solution model

(J. Wang, R. Zhang, J. Yuan and X. Du, 2018) [19]

Energy-aware low-cost operations/routing in satellites networks

Power-efficient routing Network lifetime prolonged significantly

(R. H. Jhaveri, N. M. Patel, Y. Zhong, and A. K. Sangaiah, 2018) [20]

Different types of Security threats in IoT networks

A trusted attack model Correct choices of to study different parameterized attack pattern attributes to identify different attacks during a simulation

Y. Tahir, S. Yang and J. Effective routing in McCann [21] IoT-ecosystem

(L. Farhan, O. Kaiwartya, L. Alzubaidi, W. Gheth, E. Dimla, and R. Kharel, 2019 [22])

Remarks

Extensive evaluation of Obtained minimal integrated RPL model packet loss (60–1000) in extreme scenarios

Routing Interference An efficient routing Attained lower model to minimize the energy consumption load on the sensor with minimal interference

(S. Taghizadeh, H. Efficient resource Bobarshad, and H. scheduling in RPL: Elbiaze, 2018) [23] IPV6 routing protocols in the context of IoT

Context efficient routing paradigm

Enhances network lifespan along with the reduction in packet loss

~54%, and another quantified outcome from the computational model shows cumulative delay reduced by ~61% and data aggregated by sink ~93%. (A. Raoof, A. Matrawy and C. Lung, 2019) [24] studied secure routing by considering the potential features of low-powered lossy network operational attributes that are also known as RPL. The study explored its power-efficient routing schema and applied the outcome to review mitigation strategies for various possible routing attacks in IoT. The classification analogy also discusses the various mode of intrusion detection based on RPL. Similar sort of studies on potential routing also found in the studies of (N. Kumar and D. P. Vidyarthi, 2018) [25], (Z. Zhao, Y. Shi, B. Diao, and B. Wu, 2019) [26], (Y. Sun et al., 2019 [27]).

3 Research Problem The significant research problems in the context of Energy-aware routing are outlined after a thorough analysis during the review of the literature. Significant research problems can be outlined as follows:

Designing an Energy Efficient Routing for Subsystems Sensors

115

• It is found that various existing approaches applied energy-aware protocols operating at the network layer with the cost-metric evaluation based Dijekstra’s routing policy and also attained better energy outcomes in the context of homogeneous routing environment. The problem arose when different IoT applications generate the variable traffic load. • Very lesser approaches are modeled based on predictive analysis, and derivation of energy attributes from different renewable computing resources is not much explored considering different stochastic characteristics. • Very few routing approaches applied cost metric attributes such as Energy, hop-count, delay, and throughput to build the routing table where the integration of CSMA/CA scheduling can offer a better scope of energy optimization. 3.1 Formulated Problem Statement Thereby, it is a computationally exhaustive and challenging task to achieve better Energy and QoS performance in WSN based IoT networks in the presence of variable traffic load and communication entities.

4 Analytical System Modeling The study introduces a routing paradigm that can jointly balance the energy and communication performance in WSN based IoT by introducing a schema of energy derivation from renewable resources. The theme of the research study formulates the core backbone of the system by considering heterogeneity among different IoT objects I ob . The routing schema incorporates a cost-metric evaluation scheme which assists the routing protocol in establishing an energy-aware minimum cost route. The prime novelty of this approach is that it applies a prediction modeling of traffic analysis in the ecosystem of IoT, where computational modeling has become adaptable to variable traffic load during the route establishment process. The cost attribute Bcost based buffer mechanism updates the routing structure, which eventually offers better route selection for forwarding msg from source (S) to target node (T). The following Fig. 1 shows the architectural over of the block-oriented representation of the formulated concept. 4.1 Core Model of IoT Network Devices The computational process is hypothetically designed in a way where initially considers a set of WSN based IoT nodes (I ob ). The distributed modeling of network components mimics the exact scenario of where smart devices get connected within an IoT ecosystem. The design is numerically modeled in a way where the core-aggregator node is supplied with unlimited power. In contrast, the member Lab gets renewable energy sources Re from where it can extract sufficient power. The infrastructure of IoT architecture here describes a node as either a sensor-driven I ob or a router. The IoT architectural design from the distributed viewpoint is modeled in a way where, after triggering an event, I ob

116

G. N. Anil

Distributed Approach of Energy Efficient Routing IoT Network Layer Modeling

PHY/MAC (IEEE 802.15.4)

Stochastic Analysis (Immediate surrounding energy source) Construction of cost buffer

Power Derivation from Renewable resources

Apply Enhanced Djkstra’s algo Energy/QoS Performanc Validation

Fig. 1. Architectural modeling of core-backbone of the system

collects the data attributes and transmits to the sink. The incorporation of router here assists in selecting the best possible cost-effective route which can forward the msg to sink through single or multi-hop links. Being the IoT gateway system, the sinking process and fuse the data attributes and further transmit to the physical/virtualized storage. This computational module φ(N /W )1 (X ) takes IEEE 802.14.4 reference architecture of lowpowered microcontroller systems along with renewable energy source units and devices to accumulate energy factors. A rate of power derivation is also considered during the modeling of the formulated system where it is said that if the rate of power derivation in I ob is higher than the power-stored-node (p-store), which supply power, then additional power attributes will use in the prospect. The study here also introduced a conceptual attribute of time interval (Td ) for energy derivation, which extends the interval of energy derivation from renewable resources in traditional IEEE 802.15.4 architectural reference design. It introduces a time interval where a node will have enough time to feed itself from the surrounding of renewable power resource units. This introduces much delay in the system, and it is handled by introducing CSMA/CA radio resource scheduling model [17]. The module φ(N /W )1 (X ) evaluates the metric cost structure. The metric cost structure is evaluated based on the routing policy of Dijkstra, which computes two different cost buffer attributes, as shown in the following mathematical equations.  Bcost (m, k) = l(m, k) × (pc (m)/pc (k)) (1) In level-1 of the computation paradigm, the cost evaluation for an effective routing paradigm is performed Eq. (1) Where m, k represents the source and target nodes,

Designing an Energy Efficient Routing for Subsystems Sensors

117

respectively. Here l represents the distance factor between m and k, and Pc denotes power consumed by m node and k nodes respectively during the channel accessing and radio-transmission.    Td (2) Bcost (m, k) = l(m, k) × (Pc (m))/Pc (k) + log2 ∈ The level-2 Eq. 2 is updated with the Td interval of time required to compute the cost metric for the formulated system, and here is a constant attribute ∈ = 340 µs. The system formulation also considers two different prime paradigms during the Energy-efficient routing process i) Energy-aware link establishment and ii) Election of relay router/Iob The primary objective of the problem formulation is derived as follows: Min → Bcost [(m, k), (m, i)]∀m, k, i ∈ V → vertices

(3)

By performing the comparative analysis of cost factors, the routing operates to decide whether to select i as an intermediate relay node. It also determines whether the derivation of Energy from other resources is required or node. • Requirements of QoS attributes: The overall model is designed considering end-toend delay, throughput metric, and packet-loss ratio factors so that along with Energy, these factors also could be adequately balanced. Formulated Algorithm for Energy-efficient routing in the IoT ecosystem Input: η (I ob ) // number of WSN based IoT objects Output: Ec //cost-effective Energy aware routing Start: Process 1. Deploy g

(

ob

∪ , Re )

// deploy graph of IoT objects with sink

2. IoT Network Layer Modeling with the configuration of IEEE 802.15.4 3. Initialize: stochastic analysis 4. Enable Re X)

5. 6. 7. Dijkstra's Algorithm- [ 8. Objective function: Eq (3) 9. End End

X) l2 //Level-1 and Level-2 (eq.1 and eq.3)

After realizing the algorithm, the performance analysis further checked the energy metric and the throughput to justify the QoS requirements. The extensive analysis of the outcome obtained is further illustrated in the next section. • Experimental Outcome The numerical analysis validates the proposed model with respect to the existing baseline approach of the Cao [14] approach. The outcome of the approach is evaluated with respect to average energy utilization, throughput, and overall delay metric.

118

G. N. Anil

Figure 2 shows that the formulated concept attains better energy performance by optimizing the cost of the route and also conserve a significant amount of energy in contrast with the existing system (Fig. 3).

Fig. 2. Analysis of energy

Fig. 3. Analysis of throughput (Pkt/sec)

Designing an Energy Efficient Routing for Subsystems Sensors

119

The analysis of the throughput performance is evaluated to justify the QoS performance of the formulated approach. It clearly shows that the potential link establishment and CSMA scheduling ensure better radio-scheduling and also ensure better data delivery performance where packet drops are minimal as compared to the existing approach (Fig. 4).

Fig. 4. Analysis of overall delay

The cost optimization metric reduced the delay in the formulated approach, which is quite higher in the case of the existing system.

5 Conclusion The study explored the loop-holes of WSN based IoT networks, which makes the energy and QoS performance degraded. Further introduced a potential approach of Energyaware routing, which considers energy derivation from renewable Re . The novelty of the study is it not only addressed the energy problem in the PHY/MAC layer but also optimized the energy performance in sensor layer architecture considering a stochastic approach under variable traffic conditions. The experimental outcome shows that the formulated routing approach significantly balances the Energy and QoS performance in WSN based IoT networks.

References 1. Anil, G.N.: RF-IoT: a robust framework to optimize Internet of Things (IoT) security performance. In: Computer Science On-line Conference, pp. 213–222. Springer, Cham (2019) 2. Zanella, A., Bui, N., Castellani, A., Vangelista, L., Zorzi, M.: Internet of Things for smart cities, vol. 1, no. 1, pp. 22–32, February 2014

120

G. N. Anil

3. Kamalinejad, P., Mahapatra, C., Sheng, Z., Mirabbasi, S., Leung, V., Guan, Y.L.: Wireless energy harvesting for the Internet of Things. IEEE Commun. Mag. 53(6), 102–108 (2015) 4. Nguyen, T.D., Khan, J.Y., Ngo, D.T.: Energy harvested roadside IEEE 802.15.4 wireless sensor networks for IoT applications. Ad Hoc Netw. 56, 109–121 (2017) 5. Chen, H., Li, Y., Rebelatto, J., UchoaFilho, B., Vucetic, B.: Harvestthen-cooperate: wirelesspowered cooperative communications. IEEE Trans. Signal Process. 63(7), 1700–1711 (2015) 6. Sobral, J.V.V., Rodrigues, J.J.P.C., Rabêlo, R.A.L., Saleem, K., Kozlov, S.A.: Improving the performance of LOADng routing protocol in mobile IoT scenarios. IEEE Access 7, 107032– 107046 (2019) 7. Lin, J., Chelliah, P.R., Hsu, M., Hou, J.: Efficient fault-tolerant routing in IoT wireless sensor networks based on bipartite-flow graph modeling. IEEE Access 7, 14022–14034 (2019) 8. Lenka, R.K., et al.: Building scalable cyber-physical-social networking infrastructure using IoT and low power sensors. IEEE Access 6, 30162–30173 (2018) 9. Anil, G.N.: FAN: framework for authentication of nodes in mobile adhoc environment of Internet-of-Things. In: Computer Science On-line Conference, pp. 56–65. Springer, Cham (2018) 10. Dijkstra, E.W.: A note on two problems in connexion with graphs. Numerische Mathematik 1(1), 269–271 (1959) 11. Ye, F., Chen, A., Lu, S., Zhang, L.: A scalable solution to minimum cost forwarding in large sensor networks. In: Proceedings of 10th International Conference on Computer Communication and Networks, 2001, pp. 304–309 (2001) 12. IEEE Draft Standard for Local and Metropolitan Area Networks Part 15.4: Low Rate Wireless Personal Area Networks (LR-WPANs) Amendment to the MAC sub-layer. IEEE P802.15.4e/D 6.0 (Revision of IEEE Std 802.15.4-2006), pp. 1–200, August 2011 13. Xu, C., Xiong, Z., Zhao, G., Yu, S.: An energy-efficient region source routing protocol for lifetime maximization in WSN. IEEE Access 7, 135277–135289 (2019) 14. Cao, J., Wang, X., Huang, M., Zhou, X.: A mobility-supported routing mechanism in industrial IoT networks. IEEE Access 7, 25603–25615 (2019) 15. Frustaci, M., Pace, P., Aloi, G., Fortino, G.: Evaluating critical security issues of the IoT world: present and future challenges. IEEE Internet of Things J. 5(4), 2483–2495 (2018) 16. Kharrufa, H., Al-Kashoash, H.A.A., Kemp, A.H.: RPL-based routing protocols in IoT applications: a review. IEEE Sens. J. 19(15), 5952–5967 (2019) 17. Jin, Y., Raza, U., Aijaz, A., Sooriyabandara, M., Gormus, S.: Content centric cross-layer scheduling for industrial IoT applications using 6TiSCH. IEEE Access 6, 234–244 (2018) 18. Al-Janabi, T.A., Al-Raweshidy, H.S.: A centralized routing protocol with a scheduled mobile sink-based AI for large scale I-IoT. IEEE Sens. J. 18(24), 10248–10261 (2018) 19. Wang, J., Zhang, R., Yuan, J., Du, X.: A 3-D energy-harvesting-aware routing scheme for space nanosatellite networks. IEEE Internet of Things J. 5(4), 2729–2740 (2018) 20. Jhaveri, R.H., Patel, N.M., Zhong, Y., Sangaiah, A.K.: Sensitivity analysis of an attack-pattern discovery based trusted routing scheme for mobile ad-hoc networks in industrial IoT. IEEE Access 6, 20085–20103 (2018) 21. Tahir, Y., Yang, S., McCann, J.: BRPL: backpressure RPL for high-throughput and mobile IoTs. IEEE Trans. Mob. Comput. 17(1), 29–43 (2018) 22. Farhan, L., Kaiwartya, O., Alzubaidi, L., Gheth, W., Dimla, E., Kharel, R.: Toward interference aware IoT framework: energy and geo-location-based-modeling. IEEE Access 7, 56617– 56630 (2019) 23. Taghizadeh, S., Bobarshad, H., Elbiaze, H.: CLRPL: context-aware and load balancing RPL for IoT networks under heavy and highly dynamic load. IEEE Access 6, 23277–23291 (2018) 24. Raoof, A., Matrawy, A., Lung, C.: Routing attacks and mitigation methods for RPL-based Internet of Things. IEEE Commun. Surv. Tutor. 21(2), 1582–1606 (2019). Secondquarter

Designing an Energy Efficient Routing for Subsystems Sensors

121

25. Kumar, N., Vidyarthi, D.P.: A green routing algorithm for IoT-enabled software defined wireless sensor network. IEEE Sens. J. 18(22), 9449–9460 (2018) 26. Zhao, Z., Shi, Y., Diao, B., Wu, B.: Optimal data caching and forwarding in industrial IoT with diverse connectivity. IEEE Trans. Ind. Inf. 15(4), 2288–2296 (2019) 27. Sun, Y., et al.: Lightweight anonymous geometric routing for Internet of Things. IEEE Access 7, 29754–29762 (2019)

The Compare of Solo Programming and Pair Programming Strategies in a Scrum Team: A Multi-agent Simulation Zhe Wang(B) Lincoln University, Lincoln, New Zealand [email protected]

Abstract. Scrum is a popular software development process that addressed the complex software delivery through multi-sprint. However, the scrum team working strategy remain undefined, such as how-to delivery the software at each sprint by optimized task allocation for various team composition is a complex problem. This paper proposed a multi-agent based simulation methods to model scrum team and the proposed innovative team working strategy, in order to verify the performance of the team under different working strategies. A solo strategy and pair programming strategies for the scrum team are designed. Criteria such as completion time, effort time and idle time are considered into the evaluation of the designed team strategies. The testing experiment shows that the adoption of pair programming to scrum team can help the team to improve its performance under specific context. Keywords: Scrum · Multi-agent · Team dynamics · Strategy · Pair programming · Solo programming

1 Introduction Scrum guide [1] is an online resource that provide to help all software team to improve their software delivery efficiency, the scrum guide advocates the self-organize of the team which mean team are self-decision on what kind of working manner they are going to take. So that the scrum guide doesn’t indicate how to design the working strategy for the scrum team, which remain research needed. A scrum strategy should consider the team and its task allocation that could maximum the performance of the team. In real world, the team is very dynamic, it is hard to predict which team would be chosen to work on a project. This could result in no general strategy could be applied and tested for the scrum guide. However, this research is going to tackle this research problem to provide a solo strategy and a pair strategy to enhance the scrum team performance.

© Springer Nature Switzerland AG 2020 R. Silhavy (Ed.): CSOC 2020, AISC 1224, pp. 122–147, 2020. https://doi.org/10.1007/978-3-030-51965-0_11

The Compare of Solo Programming and Pair Programming Strategies

123

Fig. 1. [2] the scrum framework

Above Fig. 1 [2] is the scrum diagram that shows how scrum works, a scrum process is composed by the roles, events and artefacts. I the roles there are product owner, scrum master and team. The events there are Sprint, Sprint planning, Daily Scrum, Sprint review and Retrospective. IN the artefacts there are Product Backlog, Sprint Backlog and Product Increment. A scrum process is always composed by those three parts and interact between those parts. The developer team will take tasks from the product backlog into the sprint backlog and complete those tasks in a defined sprint length, such as a week to a month. Those complete task will be verified by product owner in the sprint review and if everything is all right, then those work will be regarded as the product increment. A sprint is repeatedly organized until all tasks in the product backlog is completed. The product owner is the one who prepare the product backlog, however it is the team themselves define the sprint backlog. [17, 21] used the user story estimation to estimate the complete time of the task, this is widely adopted in scrum team, the user story size is estimate by the scrum team and indicated how much longer time the task would cost the developer to complete the task. 1.1 Scrum Team Research [20] shows the team’s behavior is very important for the success of Scrum, such as the team leadership, the team backup behavior and mutual trust. However how-to guidance the team to work in the scrum framework is remain unknown. We should provide a strategy that can help the team do complete the task as effective as possible. [9] shows

124

Z. Wang

the team in agile is self-organized, which provide flexibility and complexity for the team to address its problems. Those problems indicated by the research are including delayed or changing requirements, lack of senior management at the project level, the challenge of achieving cross-functionality at individual team member, and task dependency which challenge the estimation of task delivery. Those problems are preventing the team to maximum its performance in the agile approach. The proposed four problems in the research are distributed in the project level, team level, individual level and task level. There is no good strategy that can consider the four factors and propose a good solution. [19] analyzed the Dickinson and McIntyre teamwork model which make made a definition of teamwork components, there are those factors included in: Team orientation, team leadership, Monitoring, Feedback, Backup, Coordination, Communication. Those factors are critical for organize the agile team. [15] indicated the problems during adoption the scrum approach. Those problems are distributed in team aspect, project aspect and scrum process aspect. The team aspect including the people attitude, communication, training, efficiency, features, customer, collaboration, work place, involve the customer, experience, ability to response, team size, external resource, team diversity and team commitment. The project aspect including rules, customer, satisfaction, cost, duration, size and complexity. The scrum process aspect including results, methodology, simplicity and organization. 1.2 Task Allocation Research [18] analyzed real case in software companies, it found that majority developer in the software team consider their own skills and matching with task allocated, the whole team’s goal is much neglected by the team, which prevent the other team member to shows its option and make influence on each other in a positive way. [12] proposed a task allocation algorithm for the scrum team based on context aware methods, this method balance the workload of task and agent status, such as the requirement of task quality, completion efficiency and agent’s psychology and pressure. [13, 14] proposed a surveybased research on the developer’s self-assessment on the confidence in completion the task. In order to find whether the correlation between the confidence and completion time of the task is correct or not for its task allocation decision making adjustment. The confidence is scale from 0 to 11 points so as to indicate no confidence and very confidence. [13] analysis the task allocation in scrum context by consider the developer’s morale. 1.3 Simulation Research [25] proposed a reference model that what should be model from the agile process into the simulation. It indicates that the agent which used to model the developer should simulate the developer’s knowledge skills, such as testing is level 5, java7 is level 3, jUnit4 is level 4, androidSDK is level 2. The product should be simulated as the skills required to complete it, such as java7, adnroidSDK skills are required to do the task. The simulation of a agile process can based on the scrum model, such as product backlog, sprint backlog, sprint, role of scrum, activities of scrum. [4, 5, 8, 11, 35–37] indicate the important of apply software process simulation into software process investigation and research. It specifies the benefit of why we

The Compare of Solo Programming and Pair Programming Strategies

125

need software process modelling and simulation and how to apply it. this including the operational research and optimization on the current software process by measure the team size, project cost, task quality, time and budget. 1.4 Agent Theory and Practice [3, 5, 10, 23, 27–30, 33] indicated that using agent-based modelling to simulate scrum process is a good practice. Agent based modelling can capture the interaction and communication between developer agent in the scrum team, which is very important and critical to analysis the agent behavior and its impact on the team performance. [27–30] has developed several strategies for scrum team working, including the estimation and evaluation on pair programming. This paper will use agent-based modelling to carry on the modeling and simulation of scrum team strategies design and implementation. The whole paper is composed by introduction, literature review, methods, experiments and conclusion.

2 Related Work on Pair Programming Based on the literature so far, those factors are the major factors people will considerate during pair programming, pair programming is defined as: [32] “Pair programming – two programmers working side-by-side at one computer collaborating on the same design, algorithm, code or test – has been practiced in industry with great success for years. Higher quality products are produced faster. Yet, most who have not tried, and tested pair programming reject the idea immediately as an overtly redundant, wasteful use of programming resources. The purpose of this article is to demonstrate through anecdotal, qualitative and quantitative evidence, that incorporating pair-programming into a software development process will help yield software products of better quality in less time with happier, more confident programmers. Supportive evidence comes from professional programmers and from the results of a structured experiment run with advanced undergraduate students at the University of Utah.” The work [16] investigate that the performance of combine two novices together is better than one novice, however the combine of two expert together is no better than one expert. This is a little beyond other research such as the work [6] and the work [26]. The work [16] shows an important ideal that individual can performance better than pair programming. The author designs the experiment that repeatedly assign the same task to the individual and pair, to let them repeatedly working on the same tasks and observe how much time was needed. Based on the times that repeated, they all become expertise in that task. This was how expert defined in this paper. In such circumstance, the author finds that the paired performance better than solo at the beginning, however, after everyone becomes expert, then the research found that solo performance better than pair and solo learns quickly than pair. The research also found that we should not pair two experts together, because their performance will be no better than one expert. The reason can be various, such as two experts may rise more conflict than expert-novice pair. However, two novice-novice as a pair will not rise too much conflict but support each other to do the task.

126

Z. Wang

In the work [26], the research also shows that PG-PHD pair is the best pair compare with PHD-PHD, and UG-UG is the lowest pair. Which means the combine of two very high skilled persona together is not the best choice. The research suggest that pair programming should only focus on complex tasks, this is supported by the work [16]. If developers are novice compare with the level required by some tasks, it’s better to pair them together. If developers are expertise compare to the task required, then it’s better not to use pair programming. The work [7] provides the similar research outcome shows in the Table 1 below. Table 1. [7] when to use pair programming? Guidelines for when to use PP Programmer Task Use PP? expertise complexity Junior

Easy

Yes

Provide that increased quality is the main goal

Complex

Yes

Provide that increased quality is the main goal

Intermediate Easy Senior

No

Complex

Yes

Easy

No

Complex

No

Provide that increased quality is the main goal Unless you are sure the task is too complex to be solved satisfactorily by an individual senior programmer

[22, 24, 31, 34, 38] also indicated that pair programming is good when task complexity than the paired team level, at this moment the pair programming will enhance the team performance than the solo programming. Otherwise it could even reduce the team performance, when the pair team’s level is higher than the task required. the pair programming using effort time and elapsed time to evaluate the benefit of pair programming. the effort time is sum of the two developers’ working time, while the elapsed time the paired team used to complete the task from start to end.

3 The Multi-agent System Design for Scrum Team Dynamics Simulation I have previously published the paper [29], that paper is more focus on the initial testing of the developed simulation system and simple solo strategies. That paper does not introduce complex strategy design and complex experiment. However, this advanced paper provides the possibility of creating more complex agent interactions strategies, such as pair programming. Such pair strategies will need agents to choose its partner and form a team to work on a task. Those preference on choosing its partners are very strategic and motivate for completion the tasks.

The Compare of Solo Programming and Pair Programming Strategies

127

3.1 The Advanced Design in This Paper Are • Design complex task allocation framework for pair programming • Further designed complex pair programming strategy • Design very complex experiments that can compare the performance of pair and solo [29] developed an advanced simulation system for scrum team modelling and simulation purpose, particular for team strategy investigation, this tool has been further evolved to simulate the behavior of pair programming, which allows two developer working on the task at the same time.

Fig. 2. Abstract modelling on scrum

[27–30] the developed software simulation system can be further described as the above diagram Fig. 2, which capture the scrum factors, such as the scrum team, task in the backlog, time and effort needed to complete the task and the delivered software products. The delivered software can be affected by how to work and producing software iteratively through various designed scrum team working strategies that to be put into the center box. The designed strategies can be tested through measurement on the factors in Scrum model. Those factors about scrum team composition and task distribution can be measured. In order test the strategy performance under such context. The developed system has the following diagrams below as show in Fig. 3 and Fig. 4. Based on the design of [29] the simulation system can be extended by adding new strategies without changing the architecture of the simulation system. The scrum board remains the same surface as it is simulated the real-world situation.

128

Z. Wang

Fig. 3. [29] system control panel

Fig. 4. [29] simulated scrum board

3.2 New Designed Task Allocation Framework for Pair Programming Figure 5 shows the three steps of how task allocation and pair programming team is decided by the scrum team in the most effective way.

The Compare of Solo Programming and Pair Programming Strategies

129

Fig. 5. Task allocation steps

3.2.1 Each Task Allocation Strategy is Designed in Three Steps • Firstly, each agent shows its own preference on tasks, which indicates its own preference value on the task it would like to work on. • Secondly, all the agents share its information on the scrum board (the scrum board is hold by the scrum agent) • Thirdly, each agent gets the task allocation and pair result. The multi-agent system only runs effectively based on the above design, it aims to avoided individual talking between each agent, but gathering all the information to the scrum board, which the same as how the real world runs scrum. There should not be any private talking on task selection, but all agent put information on the board, then each one gets the result automatically without individual talking, but public talking in transparent on board. The board give the result based on the strategy designed, it is not scrum agent decide all the things, the team decide based on the strategy by support of the scrum board. The scrum guide indicated everything must be transparent, why we need scrum board? To keep information transparent, including the task allocation. The tasks are hold on the scrum board as well, all the tasks are there, so agents should use scrum board as the tool to do task allocation. In the simulation, the scrum agent holds the scrum board. 3.2.2 Purpose of Task Allocation Framework Design • Scrum master must be simulated as part of the team Each team member doesn’t know the whole scrum framework running, the selforganize is under the framework of scrum, scrum rules taken by the scrum master only, the scrum agent is behavior as the scrum master, product owner can be ignored, but without scrum master agent, there will be no scrum framework. • Self-organize team is not self-organize individual

130

Z. Wang

Scrum team is self-organizing team, not self-organize individual, the team make decision, not the individual make decision. If only use individual make decision, conflict will happen at every time. The team’s goal is to complete the sprint, the individual must obey the decision of the whole team to avoid conflict. The team discussion whatever sprint planning or daily stand-up are based on the scrum board. That’s why we need scrum board in scrum. This designed strategy never allowed individual to do final decision, the team’s goal is the highest value. • Individual cannot make decision on confirmation get the task, only the team can do for everyone, Team discussion on scrum board to get the task, only the scrum board can gather all the information needed In the simulation, the individual shows its preference value on whether it want the task or not, however, the team use scrum board to view all agent’s preference value and make decision on whether he/she should do the task based on the team’s strategy, not individual’s strategy only, the individual should not conflict with the team. That’s guarantee the pair as well, such as an expert must take a novice to work on the complex task, if the novice is idle. This is the team’s decision, even the expert can work solo. Team’s strategy is the priority. That’s why we need scrum board to talk and make it transparent. This is not private talk but a public talk base on the scrum board. (I observe this in JADE company). • Scrum board is hold by the scrum agent In this simulation, scrum board is hold by the scrum agent, that’ why all the agent interaction with the scrum agent, it is not the scrum agent make all the decision, but it hold the scrum board, so that all information comes out through the scrum agent and let all the agent know who should take the task because all team’s information are gathered in the scrum board and automatically get the task allocation result. • Task must be allocated one by one based on the priority For the reason in scrum, task has priority, so that all task allocation, must be allocated based on the scrum board information, to see which task is higher in the priority. The task allocation is the combination of individual preference and team information which is another agent’s preference. • Pair must be based on the task The team have task first then the team decide the pair for the task. All pair literature says the pair must be based on the task allocated, pair is not existing if there is no task to allocate, the evaluation on pair is based on the task level. This strategy is designed working in this way as the algorithm. • Multi-agent system can be designed as centralized or distributed

The Compare of Solo Programming and Pair Programming Strategies

131

Multi-agent has two type architecture, centralized or distributed, any of those type is multi-agent working, only if there are many agents in the system. Normally, before we design a software system, the system architecture is designed to fit with the purpose of the system requirement, such as real time, run time, distributed time, etc. the system architecture should provide maximum capability to support the feature of the system requirement. In this modelling and simulation system through agent-based architecture, the main purpose of this simulation is to verify the team working strategies under scrum context, which is very innovation. The team working strategy is designed as capture the individual agent motivation and organize all the agent into a united strategy that everyone must obey the rules of that strategy. Under such requirement, we must provide flexibility for each agent can make individual decision making, and we should then also gather all the group information and make team level decision making to avoid the conflict of individual. For example, we have agent a and agent b both want to work on the same task, but only an agent can do, then the coordinate agent which has all the team information should tell both agent a and agent b that who is more fit with the task. Agent a and agent b can directly talking with each other, however, if the team size is big such there are more than 10 agent in the team (normally for a scrum team is just 4–8 member), it will be very low efficient to use individual based talking and negation, as it needs each agent to talk with each agent and make each argument with each argument, to be confirmed by every agent. This is not the case run in the real world. In real world, if we need to make group decision, we will set together in the room and share all the information on board and make final decision. In order to realize the above unique feature, we simulation the individual agent and the scrum agent. The scrum agent can share all the information with all the agents and make task allocation based on each individual agent’s preference to avoid conflict. The scrum agent can be regard as the scrum context that all the agent is cooperate with. The scrum agent aware the agent status, task delivery, task sending, time tick sending, sprint backlog organization, product backlog organization and all the activities that scrum should have. The team members are self-controlled, but all needs to collaboration with the scrum agent, in order to form the team as an integrated organization. When apply any team strategy, all the agents will obey the rules of the strategy designed, there is no conflict of perception when all agents obey the rule of the strategy. All individual developer agents obey the order that the scrum agent decided, even they can have their own preferred decision. However, as a team work, all the agents are finally organized together and admit that the scrum agent decided is all based on the strategy that all team members support. Which makes the directly talking between each individual developer agents are not very useful in applying a team working strategy, as they all need to admit the decision of the scrum agent. However, the scrum agent also needs to collect all the individual agents preferred decision before making the final decision, such as the task allocation. The scrum agent needs to know each agent’s own preferred tasks to work, and then do the overall consideration on the whole team dynamics. That will guarantee the strategy is corrected

132

Z. Wang

applied and optimized task allocation is decided based on overall consideration by the scrum agent. And there are many problems in the totally individual developer agent decision if we do not introduce the scrum agent to make the final decision, because each individual agent do not percept the overall team dynamics, each of the agent only know about itself, it is impossible under this context to apply the designed team strategy, which there is no agent know the overall context of the team dynamics. further reasons on why this mixed distributed and centralize architecture works for scrum team dynamics modelling is because, based on the scrum guide, the scrum team is cross functional and self-managed, but they are organized to achieve the same sprint goal. The same sprint goal has higher priority than their own decision, as the sprint delivery is the main goal for the team. The scrum guide keeps maximum freedom for the team to make their own decisions, as long as they can cooperate and complete the committee of each sprint delivery. • Hypothesis The hypothesis is can pair programming enhance the scrum team performance? Such as the time used to complete the tasks in the product backlog are less than solo programming?

4 Strategies Design and Analysis 4.1 Solo Programming Strategy Advanced Explain [29] Agent in this simulation are classified into three level based on the pair programming literature review, there are novice agent, intermediate agent and expert agent. Task are classified into easy task, intermediate task and complex task. 10 points are used to describe the gap between each level agent and task (Table 2). Table 2. Category on agent and task

Task size, task complexity and agent capability scale points 1

2

3

4

5

6

7

8

9

Novice agents

Intermediate agents

Expert agents

Easy task

Intermediate tasks

Complex tasks

10

Preference value is used in this research as previously developed by [29] which used to calculate the gap between the task complexity and agent level. In this simulation we

The Compare of Solo Programming and Pair Programming Strategies

133

assume that the task complexity and task size are equal, the agent whose preference value is positive means it is fully capable to complete the task on time, which exactly the same as the task size defined. However, if the agent whose preference value is negative means it is not fully capable to complete the task on time but will cause delay in delivering the task by using more effort time than the task size defined (Table 3). Table 3. Preference value calculation

Task

Size / time tick needed to complete the task

Complexity of the task

Agent level and its capability

Agent Preference value= agent level and its capability complexity of the task

Task1

5

5

7

2

Task2

4

4

3

-1

Task3

9

9

10

1

The strategy design for solo programming remain the same as the work in [29] which the agent is only allowed to take the task when its capability is not lower than 3 gap than the task required and whose capability is most closed to the task required, then that agent will get the task allocated first than other agents. Table 4. Preference value comparisons

Tea m and task

Agent 8

Agent 7

Agent 6

Pref erence valu e

-3

-2

-1

tas k

Agent 1

Agent 2

Agent 3

Agent 4

Agent 5

1

2

3

4

5

In the Table 4 above, it shows the relatively comparison between the team and task. Agent 1 will always get the task allocated first than other agents, because its preference value is 1 which is the most closed to take task. And the Agent 8 whose preference for the task is −3, it will be the last agent to get the task allocated, if all the other agents are

134

Z. Wang

busy and not able to take the task. So that the sequence of those agents to take the task is shown in the Table 5: Table 5. Team decision choice

Agent1

Agent2

Agent3

Agent4

Agent5

Agent 6

Agent 7

Agent 8

First choice

Second Choice

Third Choice

Fourth Choice

Fifth Choice

Sixth Choice

Seventh Choice

Eighth Choice

Least positive

positive

positive

positive

positive

Strongest negative

negative

negative

Based on the solo algorithm, the agent 1 and agent 6 should be mostly concerned during task allocation, because agent 1 is the least positive agent that should be selected first, and agent 6 is the strongest negative agent that should be selected if there is no positive agent at all. The task allocation algorithm in the solo strategy should be able to find if there are positive agents in the first place, then also prepared the stronger negative agents. The task allocation process is very dynamics as those agents’ preference value for the task can be very variance. The solo strategy should be very intelligently taking the best choice based on the circumstance. The agent’s availability is the first factor to considerate as there is no task can be allocated to busy agents, only idle agents can get task allocated. This is how solo programming strategy works for the scrum team performance and its task allocation algorithm based on the preference value method. 4.2 New Must Pair Programming Strategy Design The scrum team working strategy is very innovate design in this paper as it aimed at the team goal and individual goal as well. In the paper [29] the research proposed the preference value method, which calculate the agent’s preference value on the task, this shows the individual view on the task from the perspective of single agent, however, as a team strategy should thinking the team performance as the goal. This goal is to deliver the software in the sprint backlog as effectively as possible by using the minimum sprint time. In the must pair programming strategy design, all the agents must pair to work on any task, during the pairing and task allocation, the strategy is much more complex than the solo strategy. This strategy considers the pairing rules that acquired from the literature review, which always want to find the best pair first. However, if there is no best pair available, then any agent pair may also be formed. The best pair is a definition that such pair is very suitable in working on a particular task. For example, if the task is complex task, then the best pair in working on this task

The Compare of Solo Programming and Pair Programming Strategies

135

should be expert-novice pair or expert-intermediate pair, however, if there is no such pair, then the expert can find any agent to pair, even the expert-expert pair. 4.2.1 Agent Pair Decision Strategy Each agent has its own motivate of paring in order to complete the task. The novice agent would like to pair with novice if the task is easy, to pair with intermediate if the task is intermediate and to pair with expert if the task is complex as its first choice. However, in a scrum team, everyone is not always available, some agents may busy as the moment. So that the second choice is also feasible in order to keep all the agent busy and effective in delivering those tasks. Some agent may also have third choice in order to complete a task. If all the choice is not available for the current agent, then that agent will be idle at the moment and waiting for next chance to work. Only paired agent can work on the task, solo programming is not allowed in this strategy. The strategy design as shown in Table 6. Table 6. Agents self-decision making

Agent

task

Best choice

Second choice

Novice

easy

Novice-novice pair Intermediatenovice pair Expert-novice pair Intermediate novice pair Intermediate novice pair Expert-intermediate pair

Novice-any agent pair Expert-novice pair Intermediatenovice pair IntermediateAny Agent Pair IntermediateAny Agent Pair Intermediate-intermediate pair

Expert- novice pair Expert-novice pair Expert-intermediate pair

Expert-any agent pair Expert-any agent pair Expert-novice pair

intermediate complex Intermediate

easy intermediate complex

expert

easy intermediate complex

Third choice no no no no no Intermediate-Any Agent Pair no no Expert-Any Agent Pair

4.2.2 Task Allocation The task allocation as show in Table 7 in this process is based on choose the first agent to work on the task first based on the comparisons of the preference value. We will still be allowed novice to work on easy task first. Intermediate to work on intermediate task

136

Z. Wang

first and expert to work on complex task first. However, as this is a must pair strategy, after the first agent has been decided then that agent must choose an agent to pair with and work on the task, there is no solo working under this strategy. The first agent is still trying to get the best benefit of pairing as the priority, however, if it cannot find such good way of pairing, then any pair will be the only choose to get any available agent as a random selection from those idle agents. We will set each harmful pairing and negative impact on the team, but still set positive pair impact on benefit pairing. Table 7. Pair programming strategy

Task

First choice

Second choice

easy

Any Agent

Any Agent

Novice

Any agent

Intermediate

intermediate

complex

Third choice

Forth choice

Intermediate

Expert

Expert

Novice

Any agent

Novice

Any agent

Expert

expert

Expert

Intermediate

Intermediate

Novice

Any agent

Intermediate

4.2.3 Penalty on the Pair As this strategy only allows paired agent to work on the task, so that sometimes the object agent must pair with any agent in order to get the task. Based on the pair programming literature, some type of pairs will cause problems, as it is inevitable in the must pair strategy, so that penalty is added for such pair: • if two experts working together

The Compare of Solo Programming and Pair Programming Strategies

• • • •

137

if two intermediate working on intermediate task if expert and intermediate working on intermediate task if intermediate and expert working on easy task. If two intermediate working on easy task each will get −15% impact on the team performance when pair.

4.2.4 Metrics • task size = task size − 1(if agent capability ≥ task complexity, each time tick, the task size reduced by 1) Above formula means, the task size is always reduced by 1 if the agent is more capable to work on this task, for example, if the task size is 10 and its complexity is 10, then the agent with capability of 10 will need to complete the task by using 10-time tick. agent capbility task complexity , if (agent capability reduce by agent task complexity )

• task size = task size − time tick the task size

capability < task complexity, each

agentcapbility if the agent Above formula means, the task size is always reduced by taskcomplexity not capable to work on this task, for example, if the task size is 10 and its complexity is 10, then the agent with capability of 1 will need to complete the task by using 100 time tick.

• paired team capability = max (agent one capability, agent two capbaility) the paired team’s capability is the strongest agent in the pair •

paired team capability = paired team capability − 0.15∗ paired team capability (if not good pair, then add penalty)

0.15 mean 15% penalty on the team capability, which reduce the team capability by 15%, for example two agent A and agent b, agent an ability is 10, agent B capability is 8, which means the team capability is 10, but as two experts cannot paired together, so that the team capability is 10–15%*10 = 8.5 • A paired Team is regards as a composite single person in the pair A paired Team will use half of the elapsed time to complete the task, but the effort time would be the same compared to the same level solo agent that performance on the task. For example, if the paired team level is 10 and the task complexity and size is 10, so that this paired team will use 5-time tick to complete the task, however, if the task is worked by the solo agent which its level is 10 as well, it will use 10-time tick to complete the task. The effort time remain the same for either solo or pair, there are both using

138

Z. Wang

10-time tick effort time to complete the task, but the elapsed time is different. In the pair the effort time is 5(elapsed time) * 2(agents) = 10-time tick. • Task size are equal to task complexity in all those experiments. 4.2.5 Experiment Example Demo There is initial demo to show how this strategy works, the initial setup for the task and team are shown in Table 8. Table 8. Team and task distribution

1

2 A6

3 A4

4

5 A3

6 A1 Task5

Task10

7 Task3 Task4 Task8 Task9

8 A5 Task2 Task7

9 A2

Must Pair Strategy Two people do verification together. The sprint process is shown in Table 9 for each time tick progress. Table 9. Time tick for scrum team task completion

10 Task1 Task6

The Compare of Solo Programming and Pair Programming Strategies

139

5 Experiments 5.1 Solo and Pair Evaluation Criteria • Completion time: It indicates the amount of time tick used by the team to complete the task set through solo or pair strategy respectively. It calculates from the start of the project and end when all task completed, it is the elapsed time. At each run time, the team can only apply one of the Strategy, either solo or pair. • Effort time It indicates the amount of busy time that all agent used for completing the task. It is the effort time tick that accumulated for the entire team members. It shows how much effort the team spend on the project. At each run time, the team can only apply one of the Strategy, either solo or pair. • Idle time It indicates the amount of free time that all agent used for completing the task. It is the free time tick that accumulated for the entire team members. It shows how much idle the team spend on the project. At each run time, the team can only apply one of the Strategy, either solo or pair. the idle time is also affected by scrum process as well, because in scrum, each sprint backlog is prepared before starting the sprint, so that tasks in the sprint backlog are expected to be complete within the sprint, some tasks in the sprint backlog may not allowed to be allocated to some agents in the current sprint, this could cause idle time for the agent. 5.2 Fixed Testing The next Section is about using the fixed team composition to work on various task distribution through solo or pair strategy, to observe the performance of those strategies. Each task set forms a scrum project, each project runs for 10 repeated times to get more diversity of the testing result by solo or pair working strategy. Each run time those data is collected by the simulation system, there are: 6 Agent as Team for Strategies Compare Test Case One The tasks set in this case more distributed in intermediate task and complex task. And some complex task is 10 level, which is very complex for the whole team to complete on time. The task and agent distribution are shown in Table 10. The testing result in Table 11 shows the solo strategy is not better than must pair Strategy, the solo using average 90.6-time tick to complete the scrum project, however, the must pair only using 87-time tick to complete it.

140

Z. Wang Table 10. Team and task distribution

1

2 A6 Taks5 Task10 Task15 Task20 Task25 Task30 Task35 Task40 Task45 Task50

3 A4

4

5 A3 Task4 Task9 Task14 Task19 Task24 Task29 Task34 Task39 Task44 Task49

6 A1 Task3 Task8 Task13 Task18 Task23 Task28 Task33 Task38 Task43 Task48

7

8 A5 Task2 Task7 Task12 Task17 Task22 Task27 Task32 Task37 Task42 Task47

9 A2

10 Task1 Task6 Task11 Task16 Task21 Task26 Task31 Task36 Task41 Task46

Table 11. Experiment result

Average complete time Maximum complete time Minimum complete time Average effort time Average idle time

Solo 90.6 96 86 490.1 18.9

Must Pair 87 96 83 412.6 93.2

Test Case Two In this case, the task set is still complex, there are level 10 tasks, however, the easy task number increased, which makes the novice can have more opportunity to work (Table 12). The result in Table 13 shows the must pair only need 82.4-time tick to complete all the task in average, however, the solo need 85.7-time tick to complete all the task in average, the must pair strategy still performance better than the solo. Test Case Three The task set in this case has reduced its complexity further, because there are more tasks moved into the intermediate level, even the task set still hold the level 10 tasks. However, intermediate agent has more opportunity to work at the case. The task and agent distribution are shown in Table 14.

The Compare of Solo Programming and Pair Programming Strategies Table 12. Team and task distribution

1

2 A6 Taks5 Task10 Task15 Task20 Task25 Task30 Task35 Task40 Task45 Task50

3 A4 Task4 Task9 Task14 Task19 Task24 Task29 Task34 Task39 Task44 Task49

4

5 A3

6 A1 Task3 Task8 Task13 Task18 Task23 Task28 Task33 Task38 Task43 Task48

7

8 A5 Task2 Task7 Task12 Task17 Task22 Task27 Task32 Task37 Task42 Task47

9 A2

10 Task1 Task6 Task11 Task16 Task21 Task26 Task31 Task36 Task41 Task46

Table 13. Experiment result

Solo 85.7 88 81 443.6 22.3

Average complete time Maximum complete time Minimum complete time Average effort time Average idle time

Must Pair 82.4 91 76 393.6 85

Table 14. Team and task distribution

1

2 A6 Taks5 Task10 Task15 Task20 Task25 Task30 Task35 Task40 Task45 Task50

3 A4 Task4 Task9 Task14 Task19 Task24 Task29 Task34 Task39 Task44 Task49

4

5 A3 Task3 Task8 Task13 Task18 Task23 Task28 Task33 Task38 Task43 Task48

6 A1

7 Task2 Task7 Task12 Task17 Task22 Task27 Task32 Task37 Task42 Task47

8 A5

9 A2

10 Task1 Task6 Task11 Task16 Task21 Task26 Task31 Task36 Task41 Task46

141

142

Z. Wang

In this case, Table 15 shows the solo and must pair performance almost the same. The solo use 81.8-time tick to complete the project in average, however, the must pair use 81.9-time tick to complete the project. Table 15. Experiment result

Average complete time Maximum complete time Minimum complete time Average effort time Average idle time

Solo 81.8 86 79 405.4 29.7

Must Pair 81.9 85 79 395.2 76.8

Test Case Four In this case, the task set is even easier, which the most complex task is about level 8, the whole project is much easier compare to the team’ level which is level 9. The task and agent distribution are shown in Table 16. Table 16. Team and task distribution

1 Taks5 Task10 Task15 Task20 Task25 Task30 Task35 Task40 Task45 Task50

2 A6 Task4 Task9 Task14 Task19 Task24 Task29 Task34 Task39 Task44 Task49

3 A4

4

5 A3 Task3 Task8 Task13 Task18 Task23 Task28 Task33 Task38 Task43 Task48

6 A1 Task2 Task7 Task12 Task17 Task22 Task27 Task32 Task37 Task42 Task47

7

8 A5 Task1 Task6 Task11 Task16 Task21 Task26 Task31 Task36 Task41 Task46

9 A2

10

In this case, the result in Table 17 shows the solo strategy performance much better than the must pair strategy. 5.3 Random Testing In the random testing, the team composition is still fixed, however, the task distribution is randomly generated, each random testing has a mean value on the task, which is level 4 task as the majority, level 6 task as the majority or level 8 task as the majority.

The Compare of Solo Programming and Pair Programming Strategies

143

Table 17. Experiment result

Average complete time Maximum complete time Minimum complete time Average effort time Average idle time

Solo 60.4 64 58 326.8 11.5

Must Pair 64.4 67 62 303.4 70.8

8 Agent with Tasks Mean 4 SD = 2 In this case, the task distribution is level 4 as the mean value, so that the task set is much easier for the team to do. The team composition is shown in Table 18. Table 18. Team distribution

1

2 A6

3 A4

4

5 A3 A8

6 A1

7 A7

8 A5

9 A2

10

The testing results shows that the solo strategy performance better than the must pair. the solo only used 38.1 time tick to complete the task set in average, while the must pair used 46.1 to complete the task set in average. The result is shown in Table 19. Table 19. Experiment result

Average complete time Maximum complete time Minimum complete time Average effort time Average idle time

Solo 38.1 42 34 254.2 20.2

Must Pair 46.1 49 44 289.6 60.8

8 Agent with Tasks Mean 6 SD = 2 In this case the task set mean value is level 6, which majority of tasks are intermediate tasks. The team composition is shown in Table 20. The testing result shows the solo strategy used 57.2-time tick to complete the task set while the must pair used 57.4-time tick to complete the task, which is almost the same. The result is shown in Table 21.

144

Z. Wang Table 20. Team distribution

1

2 A6

3 A4

4

5 A3 A8

6 A1

7 A7

8 A5

9 A2

10

Table 21. Experiment result

Average complete time Maximum complete time Minimum complete time Average effort time Average idle time

Solo 57.2 63 50 391.4 23.9

Must Pair 57.4 61 55 371.8 65.8

8 Agent with Tasks Mean 8 SD = 2 In this case, the task set mean value is level 8, which is the complex task as the majority. The team composition is shown in Table 22. Table 22. Team distribution

1

2 A6

3 A4

4

5 A3 A8

6 A1

7 A7

8 A5

9 A2

10

The testing result shows the must pair strategy only used 80-time tick to complete all the task set, while the solo strategy used 84-time tick to complete all the task set, the must pair performance better than the solo. The result is shown in Table 23. Table 23. Experiment result

Average complete time Maximum complete time Minimum complete time Average effort time Average idle time

Solo 84 92 77 559.5 67.5

Must Pair 80 89 74 512.8 100.8

The Compare of Solo Programming and Pair Programming Strategies

145

6 Conclusion The experiment result shows that the pair programming strategy only works when the task distribution level is difficult for the team, especially when the majority task level is higher than the team capability level. In such context, pair programming is recommended for the team strategy. However, if the team’s capability level is equal to the task distribution level, then there is no different while apply solo strategy or pair strategy in the perspective of completion time. While the team’s capability is higher than the task distribution level, then it is better to use the solo strategy, because the solo strategy will take less time to complete the task set under this context. Acknowledgement. Sincerely, Thanks for Dr Patricia Anthony and Dr. Stuart Charter at Lincoln University, New Zealand to support this PhD research, also thanks for University of Technology Sydney provides funding in the related data analysis and machine learning research which I was doing my invited research at UTS, Australia. I also thanks to Edinburgh Napier University, United Kingdom where I get my MSc in Advanced Software Engineering. They are all my best Supervisors support me to growth and become more and more professional.

References 1. Scrum guide. https://www.scrum.org/resources/scrum-guide 2. Scrum diagram online. https://www.scruminc.com/the-3-5-3-of-scrum/ 3. Agarwal, R.: A Flexible Model for Multi-agent Based Simulation of Software Development Process. Auburn University (2007) 4. Ali, N.B., Petersen, K., Wohlin, C.: A systematic literature review on the industrial use of software process simulation. J. Syst. Softw. 97(C), 65–85 (2014). https://doi.org/10.1016/j. jss.2014.06.059 5. Cherif, R., Davidsson, P.: Software Development Process Simulation: Multi Agent-Based Simulation versus System Dynamics, Berlin, Heidelberg (2010) 6. Cockburn, A., Williams, L.: The costs and benefits of pair programming. In: Extreme Programming Examined, pp. 223–243. Addison-Wesley Longman Publishing Co., Inc. (2001) 7. Dybå, T., Arisholm, E., Sjøberg, D.I.K., Hannay, J.E., Shull, F.: Are two heads better than one? On the effectiveness of pair programming. IEEE Softw. 24(6), 12–15 (2007). https:// doi.org/10.1109/MS.2007.158 8. Hanakawa, N., Matsumoto, K.-I., Torii, K.: A knowledge-based software process simulation model. Ann. Softw. Eng. 14(1), 383–406 (2002). https://doi.org/10.1023/a:1020574228799 9. Hoda, R., Murugesan, L.K.: Multi-level agile project management challenges: a selforganizing team perspective. J. Syst. Softw. 117, 245–257 (2016). https://doi.org/10.1016/ j.jss.2016.02.049 10. Joslin, D., Poole, W.: Agent-based simulation for software project planning. Paper Presented at the Proceedings of the Winter Simulation Conference (2005) 11. Kellner, M.I., Madachy, R.J., Raffo, D.M.: Software process simulation modeling: Why? What? How? J. Syst. Softw. 46(2), 91–105 (1999). https://doi.org/10.1016/S0164-121 2(99)00003-5 12. Lin, J.: Context-aware task allocation for distributed agile team. Paper Presented at the Proceedings of the 28th IEEE/ACM International Conference on Automated Software Engineering, Silicon Valley, CA, USA (2013)

146

Z. Wang

13. Lin, J., Yu, H., Shen, Z.: An Empirical Analysis of Task Allocation in Scrum-based Agile Programming. arXiv, abs/1411.6201 (2014) 14. Lin, J., Yu, H., Shen, Z., Miao, C.: Studying task allocation decisions of novice agile teams with data from agile project management tools. Paper Presented at the Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering, Vasteras, Sweden (2014) 15. López-Martínez, J., Juárez-Ramírez, R., Huertas, C., Jiménez, S., Guerra-García, C.: Problems in the adoption of agile-scrum methodologies: a systematic literature review. Paper Presented at the 2016 4th International Conference in Software Engineering Research and Innovation (CONISOFT) (2016) 16. Lui, K.M., Chan, K.C.C.: Pair programming productivity: novice–novice vs. expert–expert. Int. J. Hum.-Comput. Stud. 64(9), 915–925 (2006). https://doi.org/10.1016/j.ijhcs.2006. 04.010 17. Mahniˇc, V., Hovelja, T.: On using planning poker for estimating user stories. J. Syst. Softw. 85(9), 2086–2095 (2012). https://doi.org/10.1016/j.jss.2012.04.005 18. Masood, Z., Hoda, R., Blincoe, K.: Motivation for self-assignment: factors agile software developers consider. Paper Presented at the 2017 IEEE/ACM 10th International Workshop on Cooperative and Human Aspects of Software Engineering (CHASE) (2017) 19. Moe, N.B., Dings, T., Dyb, T.: A teamwork model for understanding an agile team: a case study of a Scrum project. Inf. Softw. Technol. 52(5), 480–491 (2010). https://doi.org/10.1016/ j.infsof.2009.11.004 20. Moe, N.B., Dingsøyr, T.: Scrum and Team Effectiveness: Theory and Practice, Berlin, Heidelberg (2008) 21. Moløkken-Østvold, K., Haugen, N.C., Benestad, H.C.: Using planning poker for combining expert estimates in software projects. J. Syst. Softw. 81(12), 2106–2117 (2008). https://doi. org/10.1016/j.jss.2008.03.058 22. Nilsson, K.: Increasing Quality with Pair Programming - An Investigation of Using Pair Programming as a Quality Tool (2003) 23. Noori, F., Kazemifard, M.: Simulation of pair programming using multi-agent and MBTI personality model. Paper Presented at the 2015 Sixth International Conference of Cognitive Science (ICCS) (2015) 24. Plonka, L., Sharp, H., van der Linden, J., Dittrich, Y.: Knowledge transfer in pair programming: an in-depth analysis. Int. J. Hum. Comput. Stud. 73, 66–78 (2015). https://doi.org/10.1016/j. ijhcs.2014.09.001 25. Silva, I.J.D., Rayadurgam, S., Heimdahl, M.P.E.: A reference model for simulating agile processes. Paper Presented at the Proceedings of the 2015 International Conference on Software and System Process, Tallinn, Estonia (2015) 26. Vinod, V., Padmanabhuni, K., Tadiparthi, H.P., Yanamadala, M., Madina, S.: Effective Pair Programming Practice - An Experimental Study (2012) 27. Wang, Z.: The impact of expertise on pair programming productivity in a scrum team: a multi-agent simulation. Paper Presented at the 2018 IEEE 9th International Conference on Software Engineering and Service Science (ICSESS) (2018) 28. Wang, Z.: Teamworking strategies of scrum team: a multi-agent based simulation. Paper Presented at the Proceedings of the 2018 2nd International Conference on Computer Science and Artificial Intelligence, Shenzhen, China (2018) 29. Wang, Z.: The Compare of Solo Programming Strategies in a Scrum Team: A Multi-agent Simulation Tool for Scrum Team Dynamics, Cham (2019) 30. Wang, Z.: Estimating productivity in a scrum team: a multi-agent simulation. Paper Presented at the Proceedings of the 11th International Conference on Computer Modeling and Simulation, North Rockhampton, QLD, Australia (2019)

The Compare of Solo Programming and Pair Programming Strategies

147

31. Williams, L., Kessler, R.: Pair Programming Illuminated: Addison-Wesley Longman Publishing Co., Inc. (2002) 32. Williams, L., Kessler, R.R., Cunningham, W., Jeffries, R.: Strengthening the case for pair programming. IEEE Softw. 17(4), 19–25 (2000). https://doi.org/10.1109/52.854064 33. Wooldridge, M., Jennings, N.R.: Agent Theories, Architectures, and Languages: A Survey, Berlin, Heidelberg (1995) 34. Wray, S.: How pair programming really works. IEEE Softw. 27(1), 50–55 (2010). https://doi. org/10.1109/ms.2009.199 35. Zhang, H., Kitchenham, B., Jeffery, R.: Qualitative vs. quantitative software process simulation modeling: conversion and comparison. Paper Presented at the 2009 Australian Software Engineering Conference (2009) 36. Zhang, H., Kitchenham, B., Pfahl, D.: Software process simulation modeling: facts, trends and directions. Paper Presented at the 2008 15th Asia-Pacific Software Engineering Conference (2008) 37. Zhang, H., Kitchenham, B., Pfahl, D.: Software process simulation modeling: an extended systematic review. Paper Presented at the Proceedings of the 2010 International Conference on New Modeling Concepts for Today’s Software Processes: Software Process, Paderborn, Germany (2010) 38. Zieris, F., Prechelt, L.: On knowledge transfer skill in pair programming. Paper Presented at the Proceedings of the 8th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, Torino, Italy (2014)

Fair Random Access with Track-Based SNR Scheduling for Full-Duplex Wireless Powered Communication Networks Xiaowa Yong and Inwhee Joe(B) Hanyang University, Seoul, South Korea {yongxiaowa,iwjoe}@hanyang.ac.kr

Abstract. In this paper, we propose fair random access with trackbased SNR scheduling for a full-duplex wireless powered communication network (FD-WPCN) which consists of one Hybrid-Access point (H-AP) operating in the FD mode through two antennas and multiple singleantenna Wireless Devices (WDs). As the number of WDs increases due to the rapid growth of Internet of Thing (IoT), the random access-based WPCN needs to be investigated. In practice, the WD state and SNR values have great influence on network performance. Not all of WDs are always active so that we consider the WD state in terms of the active probability. Also, since WDs have different SNR values in different locations, they are placed in track-based descending order from the SNR values. Hence, WDs with high SNR acquire random access (RA) slots before the WDs with low SNR so that low SNR WDs can harvest more energy in total. According to the comparison results, the proposed method alleviates the doubly near-far problem to enhance the user fairness. Keywords: FD-WPCN Fairness

1

· Random access · Track · SNR scheduling ·

Introduction

With the energy harvesting (EH) technology development and need of applications, the wireless powered communication networks (WPCNs) has been studied widely, which can provide wireless devices (WDs) with the sustainable energy harvested from the radio frequency (RF) signals and WDs use the harvested energy for wireless information transmission (WIT) [1]. Conventionally, the WDs are usually powered by batteries. However, regularly replace batteries would be too difficult. In the WPCN, WDs can charge their batteries without physical lines or even operate without a battery, which can significantly cut down operating cost, reduce risk and improve the communication performance. In [2], the “harvest-then-transmit” protocol for a typical WPCN model consists of a hybrid-access point (H-AP) and WDs was presented. The H-AP operating in time-division half-duplex (HD) mode coordinates WET/WIT to/from c Springer Nature Switzerland AG 2020  R. Silhavy (Ed.): CSOC 2020, AISC 1224, pp. 148–155, 2020. https://doi.org/10.1007/978-3-030-51965-0_12

Fair Random Access with Track-Based SNR Scheduling for FD-WPCN

149

WDs in the downlink (DL) and uplink (UL) transmission. On the other hand, In [3], full-duplex (FD) WPCNs that H-AP operating in FD mode are proposed, where the H-AP broadcast energy and receive information to/from the WDs simultaneously over a given frequency band, thus significantly saving the time for separate DL WET and UL WIT as compared to the HD-WPCN. However, the WPCNs include “doubly near-far” phenomenon that far WDs from the H-AP receive less wireless energy than near WDs in the DL but have to transmit with more power in the UL so that the user fairness performance may be impacted. Meanwhile, as the number of WDs is increasing rapidly so the random access based WPCN be investigated. In the random access based WPCN, a WD randomly selects one of the given random access (RA) slots and can continuously harvest energy from the H-AP before it accesses successfully and thus WDs in the later slots can transmit information with higher power and achieve higher throughput. When two or more WDs select the same slot will have a collision thus only one WD can access the slot and then transmit UL information successfully [4]. In this paper, on the basis of traditional random access protocol, we proposed track-based random access control with SNR scheduling for FD-WPCN. The state and SNR of WDs are fully taken into consideration. In reality, not all of WDs are always active so that this paper considers the WDs state in terms of the active probability. For the active WD in each track, we allocate the RA slots by descending order of all the active WDs SNR values. In addition, Channel Estimation (CE) also be mentioned. In many existed WPCN studies, its assumed that Channel Status Information (CSI) perfectly, but in practice, perfect CSI at the transmitter is not available due to various factors such as channel estimation error, feedback error, and time-varying channel [5]. The WET/WIT can be higher efficiency with more accurate CSI so that the H-AP needs perform CE slots first in this case. The current paper is organized as different sections: Sect. 2 presents the system model for considered WPCN. The Sect. 3 proposes the SNR scheduling method to enhance the user fairness. Then, performance evaluation of WPCN and obtained results in Sect. 4. Finally, Sect. 5 gives the conclusion for this paper along with future work direction.

2

System Model

We consider a track-based random access WPCN cell consists of one H-AP and N WDs, as shown in Fig. 1. According to the SNR values of each WD from the H-AP, WDs are placed into track by the descending order, the WDs denoted by Nn , n = 1, 2, 3...N , and the tracks denoted by 1, 2, 3...m More detail is described in next section. It assumed that the H-AP is equipped with two antennas and operates in full-duplex mode with a stable energy supply. Note that here ignored the interference between two antennas. At the same time, all the WDs implements the half-duplex mode through one antenna each and do not have any embedded energy sources so that the WDs need to harvest energy

150

X. Yong and I. Joe

from the H-AP in the DL, which is used to transmit information in the UL. Thus, he WDs harvest energy in the DL and transmit information to HAP in the UL orthogonally over time.

Fig. 1. System model for fair random access.

The frame structure for WET and WIT over one transmission event in proposed system model is shown in Fig. 2. The frame structure consists of broadcast slot, CE slot, initial energy harvesting slot followed by multiple RA slots. At the beginning of the frame, the H-AP broadcasts the beacon packet and also to inform the WDs of the number of RA slots (m) provided in a frame. During the CE slot of the frame, the WDs receive DL pilot signal (or training signal) from H-AP and send SNR information to HAP. The SNR information decided the track allocation. Next at the initial energy harvesting slot that all WDs can harvest energy from the H-AP. During the period of RA slots, the Tracks select the RA slots. The active WD N1 on the Track 1 that access the first random slot only can use the energy harvesting during the initial energy harvesting slot to transmit data in the UL. Next, the active WDs on each Track m in turn can select one of the given RA slots, harvest the energy until they have access, and then transmit the information in the UL at the selected RA slot using the harvested energy. After transmission, the WDs transit to sleep mode and no continue harvesting energy until next event.

3

Track-Based SNR Scheduling

In this section, we proposed the track-based SNR scheduling method. The whole scheduling procedure is illustrated in Fig. 3. The track allocation procedure begins in CE slot. In the proposed trackbased random access model, firstly, the H-AP broadcast energy to the all active WDs in the DL. It assumed that the DL WET signal also can be used as pilot signal. The active WDs had harvested energy from the previous slots so that can

Fair Random Access with Track-Based SNR Scheduling for FD-WPCN

151

measure SNR from the pilot signal. Then during the CE slot, the active WDs acquire control channel while using this channel and transmit their measured SNR values to H-AP. Then the H-AP sort tracks based on SNR value of WDs on the track in descending order and by this order H-AP allocates the RA slots to Track m.

Fig. 2. Frame structure with m slots and tracks.

As for WD, all WDs are placed in tracks according the SNR values. When start an event, the active WDs keep harvest energy until the allocated RA slot arrived. Then, all of the active WDs in the track compete and only one active WD can access the RA slot successfully. At the RA slot, the active WD transmits information to the H-AP in the UL use the harvested energy in the previous RA slots.

Fig. 3. Frame structure with m slots and tracks.

152

X. Yong and I. Joe

There is an example for understanding the procedure. The SNR value of WD1 and WD2 is 20 dB and 10 dB, respectively. So that WD1 is paced in track 1, and WD2 in track 2. The track 1 is allocated the first RA slot and track 2 is the second. Because of the lower SNR value, WD2 harvests less energy and consume more energy. Hence, we allocate WD2 is placed in track 2 to access the second RA slot so that it has more time to harvest energy.

4

Performance Evaluation

When an active WDn on the Track m chooses the i-th slot for random access, its harvesting energy is expressed as Eni = ζn P hn

i−1 

tk = ζn P hn (αt +

k=0

i−1 

t) = ζn P hn (α + i − 1)t.

(1)

k=1

Where 0 < ζn < 1 the energy harvesting efficiency of WDn , p is the transmit power of H-AP, ti the length of i-th RA slot. m is the number of the track and same with the number of the RA slots. It is assumed that t0 = αt, (α = 1) and Then, the transmit power of WDn when it transmits information at i-th RA slots is calculated as (2) and if successfully, the rate of is given by (3) Pni =

ηn Eni = ηn ζn P hn i, i = 1, 2, ..., m. t

(2)

gn Pni ) = log2 (1 + γn i). (3) Γ σ2 where 0 < ηn < 1 is the fraction of the harvested energy used by active WDn transmit its UL information. The hn is the channel power gain from the H-AP to WDn and gn is the channel gain from WDn to H-AP. Γ represents the SNR gap, and σ 2 denotes the noise power at the H-AP. In addition, γn is defined as Rni = log2 (1 +

γn 

gn ηn ζn P hn . Γ α2

(4)

note that γn is determined by the channel conditions and energy harvesting capability of active WDn and it is an independent parameter given to WDn . In the track-based random access WPCN, the average successful access probability that only one active WDn on the Track m access in one RA slot is given by (5) and as for traditional random access protocol with considering the WDs state, the probability is given by (6) n . 2n

(5)

N CK . 2N

(6)

Ps = Pa =

Fair Random Access with Track-Based SNR Scheduling for FD-WPCN

153

where the N is the number of WDs on the track, the N is the number of the all WDs and the K is the number of active WDs over the all WDs. As for the proposed track-based random access WPCN, then the average channel throughput is calculated as S=

K m K m 1  n 1  Ps Rni = log2 (1 + γn i). K n i K n=1 i=1 2n

(7)

As for the traditional random access protocol with considering the WDs state, the average channel throughput is given by S = Pa

K m K m 1  N CK 1   n Ps Rni = N log2 (1 + γn i). K n i 2 K n=1 i=1 2n

(8)

Last one is about the user fairness. We need use Jain’s fairness index [6] to measurement k ( n=1 Sn )2 ς(S1 , S2 , ..., SK ) = . (9) k K n=1 Sn2 There are several numerical examples present the performance evaluation including when the WPCN is based on the proposed and tradition random access. Firstly, the position of WDs are denoted as di , where we deploy a FD-WPCN cell with radius of 50 m and uniformly distribute 50 WDs. The transmit power of H-AP and the SNR gap are fixed as 30 dBm, 9.8 dB and set ζn = 1, ηn = 1 for all WDs. We consider a simple distance-dependent path loss model given by gn = hn = Γd20 [7]. Γ0 = −30 dB refers to the average power attenuation at a reference distance of 1 m [8], d is the distance between H-AP and WDs. Next is the analysis and simulation results of the proposed model. 3 Traditional RAC Track-based RAC

Average channel throughput

2.5

2

1.5

1

0.5

0 0

0.5m

m

2m

3m

4m

5m

Numbers of WDs (m=10)

Fig. 4. Average channel throughput vs. number of WDs (m = 10).

Figure 4 shows the average channel throughput versus the number of WDs (N ) when the WPCN is based on the proposed and tradition random access.

154

X. Yong and I. Joe

As the increasing of the number of WDs, the average channel throughput firstly increases until N is near to m and then decreases. It is easy to see that when we consider the WDs statue on the traditional random access-based WPCN, the proposed track-based model has higher average channel throughput. It can be concluded that when the number of WDs is near to the number of RA slots, the system performance can be optimal. 0.8 Traditional RAC Track-based RAC

0.7

User fairness

0.6 0.5 0.4 0.3 0.2 0.1 0 0

0.5m

m

2m

3m

4m

5m

Numbers of WDs (m=10)

Fig. 5. User fairness vs. number of WDs (m = 10).

Figure 5 shows Jain’s fairness index versus the number of WDs when the WPCN is based on the proposed and tradition random access. As the number of WDs increases, the user fairness increases. Compared with the traditional random access based WPCN which consider WDs statue and SNR values, user fairness of the proposed track-based WPCN whole is more than traditional. Its also show that with the number of WDs increasing, the user fairness also increase. Figure 6 shows the effect of SNR scheduling on the sum-throughput with different transmit power of the proposed system. In this paper, we consider the decreasing order of WDs SNR values, i.e., the WD with highest SNR is scheduling to transmit firstly. In this one, its different from the above that the transmit power of H-AP is fixed as 30 dBm. In this one, we deploy the transmit power value from 5 dBm to 30 dBm. For exposure, according the Fig. 4, the system performance can be optimal when the number of WDs is near to the number of RA slots so that we assume that there are ten WDs in the network are allocated in ten tracks, i.e., N = 10, each track only has one active WD. It is observed that the decreasing order scheduling scheme performs better than the none scheduling scheme. In addition, Fig. 6 shows that the sumthroughput for all case increases when the transmit power of H-AP increases as expected. A higher transmit power indicates that the WDs can harvest more energy from H-AP, and thus can transmit at higher transmission rates. Therefore, the sum-throughput of system increases.

Fair Random Access with Track-Based SNR Scheduling for FD-WPCN

155

5.5 SNR scheduling No scheduling

5

Sum-throughput

4.5

4

3.5

3

2.5

2 5

10

15

20

25

30

Transmit Power P (dB)

Fig. 6. Sum-throughput vs. transmit power (dB).

5

Conclusion

In this paper, we proposed the fair random access track-based SNR scheduling for FDWPCN. In this case, all WDs are placed in the track based on the SNR values, according to the order of the active WD’s SNR value that decides the RA slot allocation. The performance results showed that the proposed trackbased SNR scheduling can improve the channel throughput and user fairness significantly. Acknowledgments. This work was supported by National Research Foundation of Korea (NRF) grant funded by the Ministry of Science and ICT (No. NRF2019R1A2C1009894).

References 1. Bi, S., Ho, C.K., Zhang, R.: Wireless powered communication: opportunities and challenges. IEEE Commun. Mag. 53(4), 117–25 (2015) 2. Ju, H., Zhang, R.: Throughput maximization in wireless powered communication networks. IEEE Trans. Wirel. Commun. 13(1), 418–28 (2014) 3. Ju, H., Zhang, R.: Optimal resource allocation in full duplex wireless-powered communication networks. IEEE Trans. Commun. 62(10), 3528–3540 (2014) 4. Choi, H.: Optimal resource allocation for random access in wireless-powered communication networks. KICIS 42(10), 1951–1954 (2017) 5. Yang, G., et al.: Throughput optimization for massive MIMO systems powered by wireless energy transfer. IEEE J. 33(8), 1640–1650 (2018) 6. Jain, R., Chiu, D.-M., Hawe, W.: A quantitative measure of fairness and discrimination for resource allocation in shared computer system. Digital Equipment Corporation, Technical Report DEC-TR-301 (1984) 7. Bansal, M., Shricastava, L.: Performance analysis of wireless mobile adhoc network with different types of antennas. Asia-Pac. J. Convergent Res. Interchange 3, 29–39 (2017) 8. Shin, W., Vaezi, M., Lee, J., Poor, H.V.: Cooperative wireless powered communication networks with interference harvesting. IEEE Trans. Veh. Technol. 67(4), 3701–3705 (2018)

A DTN Gateway-Based Architecture for Web Access in Space Internet Mwamba Kasongo Dahouda1 , Ducsun Lim1 , Kyungrak Lee2 , and Inwhee Joe1(B) 1

Hanyang University, 222 Wangsimni-ro, Seongdong-gu, Seoul, Korea {dahouda37,imcoms,iwjoe}@hanyang.ac.kr 2 ETRI, Gajeong-ro, Yuseong-gu, Daejeon, Korea [email protected]

Abstract. A Delay/Disruption-Tolerant Network (DTN) has received more attention as an expected solution in situations where it is difficult to provide a stable and continuous Internet connection. The purpose of this research is to design a client–server model for space Internet in order to have access to the web documents hosted by an interplanetary node. One of the DTN implementations named Interplanetary Overlay Network (ION) is introduced to provide the main functions to allow networked communications in deep space. In this paper, we propose an architecture for web document access in space Internet over DTN. Our web architecture is based on the DTN Gateway between terrestrial and space Internet that acts as a web proxy and bundle forwarder according to the type of web documents; it works as a web proxy for static web documents, while it works as bundle forwarder between DTN client and DTN server for other web documents. The HyperText Transfer Protocol (HTTP) requests and responses are formatted onto bundles by using bpsendfile and bprecvfile, and the DTN Gateway forwards them as a contact basis in space Internet. We have reported the evaluation results from our implementation by measuring the bit error rate and delay according to the size of static web documents. Keywords: DTN

1

· HTTP · Space Internet · Web architecture

Introduction

Delay/Disruption-Tolerant Network (DTN) was introduced as a solution for interplanetary communication [1], where normal inter-networking protocols, dependent on low end-to-end delay, low packet loss rates, and a stable connection would not suffice. However, in addition to the interplanetary communication, the DTN technologies can be applied to a variety of challenged networks as presented in reference [2], e.g., terrestrial mobile networks, military ad-hoc networks, vehicular networks, sensor networks, etc. To provide the communication quality that applications demand, these networks need to consider various network characteristics like high latency, limited bandwidth, high packet-loss rate, path instability, c Springer Nature Switzerland AG 2020  R. Silhavy (Ed.): CSOC 2020, AISC 1224, pp. 156–164, 2020. https://doi.org/10.1007/978-3-030-51965-0_13

A DTN Gateway-Based Architecture for Web Access in Space Internet

157

etc. In the Space Internet, the network architecture reduces intermittent communication issues by addressing technical problems in heterogeneous networks that lack continuous connectivity. It takes a different approach by relying exclusively on asynchronous communications. Throughout the world, one of the most routinely used sets of protocols is the Transmission Control Protocol/Internet Protocol (TCP/IP) which include commands and facilities that allow, for example, transfer files between systems; but Space Internet uses the bundle protocol/ Licklider Transmission Protocol (BP/LTP) as underlying protocol; allowing the file transmission from one node to another. A web page is a document commonly written in HyperText Markup Language that is accessible through the Internet using an Internet browser1 . The HyperText Transfer Protocol is the underlying protocol used by the World Wide Web and this protocol defines how messages are formatted and transmitted; browsing a web page is an example of request–response on synchronous communication, our study aims to retrieve a static web document in space Internet. This paper presents a one-to-one model of HTTP requests and responses onto bundles; the HTTP request is formatted and then inserted into the payload of the bundles then forwarded by DTN Gateway [4] as illustrated in Fig. 1. If the DTN node client wants to retrieve the web document, it sends a request; all the resources required to display a web page are retrieved upon a single request and returned in bundled format, ideally a single response [4] by the DTN node server; and the web page is displayed on the client node’s internet browser. The DTN node server is expected to have locally stored knowledge; that identifies all the associated objects for each resource so that all objects making up a web page can be returned in a single response [4] for reducing the round trip time problem.

Fig. 1. Client-Server Architecture for Space Internet. DTN gateways interconnect regions running potentially dissimilar protocol stacks

The HTTP request and response must be encapsulated into the bundle protocol to allow communication between DTN nodes [9]. In our client-server model; 1

https://www.computerhope.com/jargon/w/webpage.htm.

158

M. K. Dahouda et al.

the web page is retrieved by using the wget; a utility for non-interactive download of files from the web, together with bpsendfile and bprecvfile, ION–DTN file transmission utilities; allows us to realize a bidirectional communication for retrieving a web page hosted by a remote web server in a space communication with intermittent connectivity. The paper is organized as follows: Sect. 2 presents related work, and Sect. 3 describes our architecture and the following Sect. 4 the implementation. In Sect. 5, we give our conclusion and future work.

2

Related Work

We use client-server model communications together with offline operation and apply the concept of delay-tolerant networking to enable offline static web document access. The concepts presented in this thesis are largely based on the work by Ott and Kutscher in [4,5]. They introduced the ideas of sending aggregates of HTTP resources in bundles and describing resource dependencies with metadata files on the server. A similar approach to enabling communications under intermittent connectivity, based on proactive data retrieval and bundling, has been discussed in [6]. Another concept is the usage of the Bundle Protocol to transport HTTPrequests and -responses. In [7], adapt HTTP to the DTN environment by introducing the concept of resource bundling and present an approach for a conversion of the different message types and the required components. With the limitation of the HTTP protocol in some parts of the network, additional gateways for the conversion between HTTP and Bundle Protocol are always necessary. In [8], describes the application technology of Delay Tolerant Network (DTN) using Space Internet Protocol; The schedule model is based on the file transmission/reception, message transmission, and video streaming service models, which are services targeted by the space Internet. The bundle with the highest priority was sent first. In our case; we define the priority high while sending the HTTP request and response message. In [3], present the design and evaluation of a convergence layer for the DTN implementation IBR-DTN using HTTP as underlying protocol; long-polling was used to realize a bidirectional communication.

3

Architecture

This section presents our client–server model architecture for space Internet; the three-node networks were designed. It is shown in Fig. 2. Node 2 acts as a DTN Gateway between Node 1 and Node 3. This is achieved in the configuration files by making node 2 the gateway for node 1 and node 3. We have designed our model to allow us the follow of the network traffic and node 2 acted as DTN gateways which are bundle forwarders. In our model; node 1 (node client) requests a URL from a node 3 (node webserver) via HTTP. That node web

A DTN Gateway-Based Architecture for Web Access in Space Internet

159

server responds with an HTML page or a raw response (HTML, style CSS, images, etc.). The architecture is subdivided into 3 main components as depicted in Fig. 2. In DTN, the end-to-end connectivity between source nodes and destination nodes rarely exists. Due to this disruption connectivity, messages should be forwarded to intermediate participating nodes by using the “store-carry-forward” mechanism, if the source node intends to deliver messages to the destination node [10].

Fig. 2. Client-Server DTN experimental setup

3.1

DTN Node Client

The node client includes IP Neighbor Discovery functionality; when the HTTP GET request is sent to the webserver, it is first inserted into the bundle named as request bundle, and then transmitted, forwarded by the node 2 through disruption network by the bundle protocol to the destination node 3. 3.2

DTN Gateway

The DTN node Gateway forwards all bundles from client to server and from server to client; and rely on the bundle protocol (BP), Bundle Protocol truncates application data into bundles of different size and Licklider Transmission Protocol is used as the convergence layer protocol, encapsulating bundles into blocks and fragmenting blocks into segments [3]. LTP is one of the most known protocols that are used in the convergence layer under Bundle Protocol [3] and allow file transmission in a disruption network or bundle transmission from source to destination in a space Internet. 3.3

DTN Node Server

The node server includes the same functionalities as the node client; besides, apache tomcat and also a Java web Application implementing a Servlet; allowing the webserver to operate which provides the resource or the web page

160

M. K. Dahouda et al.

requested by the client. The DTN node Server support resource collection [4] for DTN-based HTTP access: as (static) HTTP resources are stored in files (e.g., response.html). In our implementation which is described in the next section; we have used the wget that performs the recursive downloading which can convert all links for offline viewing of local HTML. The wget can follow links in HTML and XHTML pages and create local versions of remote websites, fully recreating the directory structure of the original site.2 The node server uses the wget to recursively obtain all the resources that are necessary to display the web document; as described in Fig. 3, we presented the flow diagram describing the communication between node client and node sever; the resources returned by wget are retrieved from the file system and packed into DTN bundle for forwarding.

Fig. 3. Client–Server flow diagram

2

https://www.gnu.org/software/wget/.

A DTN Gateway-Based Architecture for Web Access in Space Internet

161

The server web hosts the web pages which typically contain multiple resources, such as images, stylesheets and JavaScript; all the resources will be sent in a single file.

4

Implementation and Experiments

The following two subsections describe the essential components of our experimental methodology, the implementation and the experiment results. 4.1

Implementation

The node client was a virtual machine; the node 2 was equipped with a 1.9 GHz Intel Celeron(R) CPU 1005M, 4 GB RAM, 893.4 GB as a Capacity of Hard Drive, and 802.11 WiFi Adapter. The connection between nodes was supported by a Wireless-N INFINITI Gigabit High Power Broadband and Access point; the Server node was equipped with a 2.2 GHz Intel(R) Core(TM)i7-2675QM CPU, 4 GB RAM, 500 GB of Hard Drive Disk with a Broadcom 802.11n Network Adapter. On both machines, Ubuntu 16.04 LTS was installed as the host operating system. As DTN implementations for the experiments, we used the ION 3.6.2 version. We designed and implemented a simple application using the Linux bash shell scripting. The bash script was executed on both nodes. As shown in Fig. 3; the DTN network traffic was managed by a WiFi access point. On both nodes start ION with the command:ionstart with the configuration as parameter in order to check the persistent storage of bundles in the case of unavailability of the next DTN hop. The bash scripts have the following steps for request-response: 1. DTN node client send an HTTP request by using: bpsendfile ipn:123.1 ipn:141.1 request class of service The transmitted bundle contains the HTTP request in the payload Data; we have set up the class of service to 0.5 that gives the bundle the highest possible priority during transmission to the destination node. 2. The node server receive the request bundle by using:bprecvfile ipn:141.1 3. The node server recover the HTTP request, retrieve the web page requested. 4. The node server put the response in testfile2 and send back the Raw HTTP Response (html, style CSS, JavaScript and Images) by using: bpsendfile ipn:123.1 ipn:141.1 testfile2 5. The transmitted bundle contains the Raw HTTP response in the payload Data. 6. The node client receive the Raw HTTP response by using: bprecvfile ipn:123.1 All the Raw HTTP response messages will be inserted in a file response.html. 7. Using Firefox; the Web page is displayed in the node client’s Web Browser (Offline web access)

162

M. K. Dahouda et al.

The shell scripts for request scenario are shown below. #!/bin/bash SOURCE_NODE=ipn:123.1 DESTINATION_NODE=ipn:141.1 SERVICE_CLASS=0.1 REQUEST="http://192.168.11.106:8080/mnilabs/" echo "$REQUEST" echo "$REQUEST" > request bpsendfile $SOURCE_NODE $DESTINATION_NODE request $SERVICE_CLASS bprecvfile $SOURCE_NODE 1 response=$(cat testfile1) echo $response echo "$response" >> response.html kdesudo firefox response.html exit The shell scripts for response scenario are shown below.

#!/bin/bash SOURCE_NODE=ipn:141.1 DESTINATION_NODE=ipn:123.1 recursive_download="wget -qO- -l10" while true; do echo "Incoming request's number : $((req=req+1))" bprecvfile $SOURCE_NODE 1 REQUEST=$(cat testfile1) echo "$REQUEST" response=$($recursive_download " " $REQUEST) echo "$response" echo "$response" >> testfile2 bpsendfile $SOURCE_NODE $DESTINATION_NODE testfile2 done 4.2

Experimental Results

In the experiments, bit error rate and delay are investigated as the performance metric. When performing the request–response; experimentally demonstrated in terms of transmission; the bit error rate measurements show performance up to 1 × 10−4 . For all experiments; the bundle storage was based on the Simple Data Recorder (SDR). In the context of DTN application development, various sizes of web document needs to be transmitted. Consequently, as workload, we have used web documents of different size, namely: 48 KB, 62 KB, 190 KB, and 417 KB. The different web documents contained one or many images; when the client node sends request; according to the size of the static web document, example

A DTN Gateway-Based Architecture for Web Access in Space Internet

163

Fig. 4. Web document transfer delay

for; a document with 48 KB, after 2 s the web page will be displayed in the web browser of the client node, as shown in the Fig. 4; more we have a big size more the delay increases.

5

Conclusion

This paper designed a client-server architecture for Space Internet and presented an efficiency analysis of the static web document transmission in an intermittent network by using one of DTN implementations, namely ION-DTN. The testbed consisted of three nodes which exchanged bundles over an underlying WiFi environment, we have designed and implemented two simple bash-shell scripts, allowing HTTP requests and responses onto bundles. As future work we are planning to extend the number of nodes in the scenario and introduce intermittent–Opportunistic Contacts, and using the same approach, we can plan a dynamic web page access in a space Internet. Acknowledgments. This work was supported by the Electronics and Telecommunication Research Institute [Development of Space Internet Technology for Korea Lunar Exploration] project in 2019.

References 1. Cerf, V., Burleigh, S., Hooke, A., Torgerson, L., Durst, R., Scott, K., Fall, K., Travis, E., Weiss, H.: Delay-tolerant network architecture: the evolving interplanetary internet. Internet Draft draft-irtf-dtnrg-arch-01.txt, Expires, February 2003

164

M. K. Dahouda et al.

2. Fall, K.: A delay-tolerant network architecture for challenged internets. In: Proceedings of the 2003 Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications, SIGCOMM 2003, pp. 27–34. ACM, New York (2003) 3. Bezirgiannidis, N., Tsaoussidis, V.: Packet size and DTN transport service: evaluation on a DTN testbed. In: Proceedings of the IEEE Conference, November 2010 4. Ott, J., Kutscher, D.: Bundling the Web: HTTP over DTN (2006) 5. Ott, J., Kutscher, D.: Applying DTN to Mobile Internet Access: An Experiment with HTTP (2005) 6. Holman, C., Harras, K.A., Almeroth, K.C., Lam, A.: A Proactive Data Bundling System for Intermittent Mobile Connections (2006) 7. Peltola, L.: Enabling DTN-based web access: the server side. Master’s thesis, Helsinky University of Technology, April 2008 8. Kyung, D., Lim, D., Joe, I., Lee, K.: A streaming scheme based on contact scheduling for space internet. Korean Inst. Commun. Inf. Sci. 1, 421–422 (2019) 9. Morgenroth, J., P¨ ogel, T., Heitz, R., Wol, L.: Delay-Tolerant Networking in Restricted Networks. ACM, New York (2011) 10. Mao, Y., Zhou, C., Ling, Y., Lloret, J.: An Optimized Probabilistic Delay Tolerant Network (DTN) Routing Protocol Based on Scheduling Mechanism for Internet of Things (IoT), Sensors (Basel) 19(2), 243 (2019). https://doi.org/10.3390/ s19020243 11. The Interplanetary Overlay Network (ION). https://samsclass.info/129S/proj/ ion-dtn.htm

Multi-objective Scheduling Optimization for ETL Tasks in Cluster Environment Zhenxue Xu1,2 , Hui Li1,2(B) , Mei Chen1,2(B) , Zhenyu Dai1,2 , Huanjun Li3 , and Ming Zhu4 1 College of Computer Science and Technology, Guizhou University, Guiyang 550025, China

[email protected], {cse.HuiLi,gychm}@gzu.edu.cn 2 Guizhou Engineer Lab of ACMIS, Guizhou University, Guiyang 550025, China 3 Aerospace Jiangnan Group Co., Ltd., Guiyang 550025, China 4 National Astronomical Observatories, Chinese Academy of Sciences, Beijing 100016, China

Abstract. In order to shorten the average execution time of ETL tasks in data integration, and utilize the resource of the cluster reasonably, we proposed a multiobjective scheduling optimization algorithm named Moetsa for ETL tasks, which combined the average execution time of tasks and the load balancing of nodes as the optimization objectives. In Moetsa, random forest (RF) model and nondominated sorting genetic algorithm II (NSGA-II) were employed to improve load balancing for reasonable utilization of resource and reduce task execution time. Specifically, A RF model built to predict the overheads of task execution and a load balancing evaluation function were integrated with NSGA-II to obtain the optimal task scheduling scheme. Our experimental results show that Moetsa method not only effectively improved the resource utilization of the cluster but also shorten the average execution time of tasks. Keywords: ETL task · Scheduling algorithm · Multi-objective optimization

1 Introduction With the progress of enterprise informatization, many companies have accumulated a large amount of data. Even the different business applications are used by the internal departments of the company, these data are generally stored in separate servers or databases in different standards and formats, which making it difficult to conduct integrated data management. Due to the information and insights inside the data can bring huge value to the enterprise, decentralized and heterogeneous data in the enterprise often need to be integrated for further processing (e.g., visual analysis, multidimensional analysis, data mining, etc.) to support decision-making [1]. Data integration usually involves three sub-processing procedures of extraction, transformation and loading (ETL) [2, 3]. During the procedure, firstly, the data is extracted from the data source, then, cleaned and converted to make it consistent and standardized, and finally loaded to the target data warehouse [4]. Many data analysis products have provided the ability to integrate data before data analysis and run ETL tasks in a cluster. But as the number of users increases, it is often © Springer Nature Switzerland AG 2020 R. Silhavy (Ed.): CSOC 2020, AISC 1224, pp. 165–177, 2020. https://doi.org/10.1007/978-3-030-51965-0_14

166

Z. Xu et al.

to be inefficient to perform a larger number of tasks concurrently. Therefore, a proper strategy is urgently needed to schedule ETL tasks for efficient execution and better QoS metrics. Generally, ETL task scheduling in a heterogeneous cluster is a challenging multi-objective optimization problem. On one hand, task scheduling should consider that the available resource and workload of the cluster are constantly changing, and the current resource utilization and workload have a significant impact on the execution efficiency of the tasks. On the other hand, an efficient task scheduling algorithm should improve multiple metrics, such as reducing task execution time while ensuring to utilize reasonably resource of the cluster. In this study, we proposed a multi-objective ETL task scheduling algorithm (Moetsa) based on random forest (RF) model [5] and non-dominated sorting genetic algorithm II (NSGA-II) [6] to improve load balancing for reasonable utilization of resource and reduce task execution time. In this approach, a RF model constructed to predict the task execution time and a load balancing evaluation function are integrated with NSGA-II to find out the optimal task scheduling scheme. This paper is organized as follows. In Sect. 2, related work is discussed. Section 3 presents the overview of our work. In Sect. 4, we discuss the proposed approach in detail. In Sect. 5, the experiment setup and evaluation are presented. Last section concludes this paper.

2 Related Work With the advent of the era of big data, the ETL task scheduling optimization problem in a cluster has received considerable attention recently. Round Robin (RR) [7] is the simplest scheduling algorithm and the default method for most distributed task scheduler. Going down the list of machines in the cluster, RR algorithm assign a task to each machine in turn, which focuses on fairness between tasks [7]. Since each task processes a different amount of data, the load generated by the tasks on execution node is also different, which leads to unbalanced cluster resource in RR algorithm. Li, L. [8] proposed greedy strategy based ETL task scheduling algorithm, which sequentially assign the task with the largest amount of data in the remaining tasks to the node has the smallest sum of data processed by tasks. Since greedy algorithm does not consider the performance difference between nodes, thus it often causes the single node load to be too high, and some nodes are idle. Han, W.B. et al. [9] proposed the overheads predictions-based scheduling approach, however, it only considers the impact of data volume on execution time, meanwhile, ignored the current workload and resource utilization of the cluster which often has a great impact on the efficiency of task execution. Generally, in a cluster environment, it’s challenging to dynamically allocate tasks to improve the execution time of task and the resource utilization of the cluster under the constraint of node performance difference. In multi-objective optimization, the solution can be divided into two categories [15]. One is the weighted sum approach, which convert multiple-objective into singleobjective through weighted summation, and the other is to obtain Pareto optimal solution set based on Pareto ordering [10]. The latter is not affected by the dimension of multipleobjective values. Through multi-objective optimization calculation, the Pareto optimal solution set can be obtained, which has more flexible and extensive decision space. In

Multi-objective Scheduling Optimization for ETL Tasks

167

2002, Deb et al. [6] proposed the second-generation NSGA-II algorithm based on the first-generation Non-dominated Sorting Genetic Algorithm (NSGA) [11]. NSGA-II is a multi-objective evolutionary algorithm, benefit it effectively adopted the fast dominance sorting method, crowding distance comparison and elite retention strategy [12] together, it has been widely used in scientific computing, engineering design, task scheduling areas. NSGA-II has high computational efficiency and good quality of solution set when dealing with low-dimensional multi-objective problems. For example, Wei, W.D. [13] applied NSGA-II to resource scheduling over cloud computing platform, and proposed a virtual machine scheduling strategy that optimizes the allocation of computing resources and network resources concurrently.

3 Multi-objective ETL Task Scheduling Algorithm

execution log

monitoring log Historical data

pre-processing

In this paper, our work of multi-objective ETL task scheduling optimization mainly involves offline training (Fig. 1) and online scheduling (Fig. 2). In the offline training stage, we will describe how to construct a random forest prediction model for predicting execution time of task. In online scheduling stage, we will investigate the details of Moetsa.

. . .

Model training

RF model

Fig. 1. Offline training

The performance metrics (e.g., time overheads) of task execution were often used as the critical measurements for scheduling solution. [9] use the linear regression model of execution time with the volume of data processed by the task. However, task execution time is not only affected by the amount of data involved in the task, but also by current cluster resource utilization (e.g., CPU usage, memory usage, etc.) and workload, and most of them are difficulty to be expressed linearly. Therefore, we employed the historical log data, which is collected during task execution, to train random forest model for task execution time prediction. The involved historical log data includes execution log of tasks, which records the task start time, end time, volume of data processed and the id of node that performing the task, and monitoring log of nodes, which records monitoring time, node id, CPU cores, CPU usage, total memory, memory usage and the counts of unfinished tasks on the node monitored. As shown in Fig. 1, during offline training, we first merge the execution log with the monitoring log to construct the training dataset, then train the RF model over the obtained training dataset. This RF model is applied to evaluate the task execution time in NSGA-II algorithm. Figure 2 presents an overview of online scheduling in Moetsa. First, the tasks are submitted to scheduler, and then the scheduler get a list of online nodes and their monitoring information in the cluster. Second, the NSGA-II algorithm output a set of optimal

168

Z. Xu et al. Scheduler NSGA-II Nodes

optimize execution time

Tasks

monitoring

task 1 submit

node 2

task 2 ... task m

node 1

optimize load balancing

output optimal solution set

... performing

node n

choose scheduling solution

Fig. 2. Online scheduling

solutions by efficiently searching and evaluating each allocation solution. In this case, the NSGA-II algorithm is used to optimize both the average execution time of tasks and the load balancing simultaneously (Sect. 4.3 describe how the solutions will be evaluated, with respect to these objectives). Third, according to the trade-off parameters set by the user, a solution is chosen from the optimal solution set as the final scheduling solution. Finally, the scheduler iterates each task and assigns it to the node specified by the final scheduling solution, and then the node performs all the tasks assigned to it.

4 Design Details In this section, we discuss how to encode chromosome, evaluate the average execution time and load balancing in NSGA-II, and choose a final optimal solution as scheduling scheme. 4.1 Encoding In NSGA-II, each individual in the population represents a possible scheduling scheme. In this paper, we represent individual by a chromosome, as shown in Fig. 3. This chromosome specifies the allocation strategy and maps individual tasks to nodes within the cluster. Specifically, in a chromosome the index represents the task id, from 0 to m − 1, and the values represent the node id, from 0 to n − 1. For example, in Fig. 3, an encoding represents that tasks with id 1 and 3 are assigned to node with id 0, task with id 2 is assigned to node with id 1, and tasks with id 0 and 4 are assigned to node with 2. 4.2 Random Forest Prediction Model Construction In addition to the amount of data processed by the task, the available resource, performance metrics, the workload states of the node also have a significant impact on task

Multi-objective Scheduling Optimization for ETL Tasks Encoding:

node1

node3

0

1 2

Example: 0

...

node0

...

169

noden-1 m-1

0

1

0

1

2

3

2 4

Fig. 3. Chromosome encoding and example

execution time. Table 1 lists the typical factors that affect task execution time. When the task is executed, the properties described in Table 1 and execution time are recorded as training dataset D (Di = (Xi , Yi ), Xi = (Xi1 , Xi2 , . . . , XiF ) and Yi respectively represents the features and execution time of i-th task). Table 1. Properties affecting execution time of task. Features

Description

data_size

The size of data processed by the task

cpu_cores

The count of CPU cores

memory

The size of total memory

cpu_usage

The usage of CPU

mem_usage

The usage of memory

unfinished _tasks The count of unfinished tasks coming_tasks

The count of tasks assigned to the node

As described in Sect. 3, there are many features that may affect the execution time of tasks, and the relationship between aforementioned feature variables is complex and nonlinear, thus it is difficult to express the complex relationship between features in a generalized linear model. The random forest algorithm can handle nonlinear relationship between features and can adapt well to multi-dimensional data. Therefore, based on the random forest regression algorithm, this paper constructs a regression model of task features and task execution time. As shown in following formula, this model takes a specific set of task runtime features Xi as input, and uses the execution time of the task Yi as output.   (1) Yi = RF Xi 







4.3 Objective Functions In order to improve the resource utilization and execution efficiency simultaneously, we employ NSGA-II algorithm in ETL task scheduling, which can effectively shorten the

170

Z. Xu et al.

average execution time of tasks and meanwhile improve load balancing. Each solution is evaluated using the average execution time and the load balancing objective functions. The Average Execution Time. The average execution time of tasks is an effective way to evaluate scheduling performance and will significantly affect the user’s satisfaction and experience. In this paper, we calculate the average execution time based on RF model. The average execution time avgExecutionTime of each solution can be expressed as following:   m−1 i=0 RF Xi (2) avgExecutionTime = m   where RF Xi represent the execution time of the i-th task predicted by the RF model, 





Xi is a specific feature set of i-th task, which is obtained by decoding the chromosome of the individual, and m is the number of tasks and equal to the length of the chromosome. The Load Balancing. Another important factor which taken into consideration for scheduling was load balancing. For ordinary task, the load is the total length of all tasks assigned to a node, but for ETL task, the total volume of data processed by these tasks on a node should be considered, since the volume of data processed by ETL task is often to be relatively large. When multiple tasks are assigned to one or more nodes for simultaneously execution, the scheduler needs to coordinate task assignment to avoid overloading or idle nodes. In this paper, the load loadi of j-th node in the cluster is represented by twodimensional parameter vector, loadj = taskLengthj , volumej , where taskLengthj is the length of task queue correspond to the j-th node and volumej denotes the total volume of data processed on the j-th node. Since cluster often to be heterogeneous, each node has a different number of processors, and nodes with more processors should perform more tasks and process larger amounts of data to make the overall workload to be balanced. The load balancing degree LB of the cluster is calculated as the following formula: 2

2 n−1 taskLengthj volumej − avgLength + − avgVolume (3) LB = j=0 proNumj proNumj where proNumj is the number of processors of the j-th node, avgLength (as shown in Eq. 4) is the average length of task queue with regard to all processors, avgVolume (as shown in Eq. 5) is the average volume of data processed by all processors in the cluster. n−1 j=0 taskLengthj (4) avgLength = n−1 j=0 proNumj n−1 j=0 volumej (5) avgVolume = n−1 j=0 proNumj The smaller LB, the more balanced load of cluster. When both the task queue length and the processed data volume of each processor in the cluster are equal, LB = 0, the load balancing of the cluster reaches the optimal state.

Multi-objective Scheduling Optimization for ETL Tasks

171

4.4 Trade-off Parameter and Final Solution Selection Rather than evolving solutions towards a single optimum, multi-objective evolutionary algorithms maintain a set of optimal solutions - termed collectively a pareto front - that represent different trade-off solutions to be chosen by the user or administrator [14]. An illustrative example of this is given in Fig. 4, which shows the pareto front generated for average execution time and load balancing optimization.

Load Balancing

4800000

4300000

3800000

3300000

2800000 520

540 560 580 600 The Average Execution Time (s)

620

Fig. 4. Execution time versus load balancing tradeoffs

For the selection of the final scheduling solution, we define a tradeoff parameter β (β ≥ 0, by default, β = 0.1, which can be set by user). After obtaining a set of optimal solutions through the NSGA-II algorithm, the scheduler calls Pseudocode 1 to obtain the final scheduling solution. First, it sorts the set of optimal solutions by avgExecutionTime, which is equivalent to sorting in LB descending order. Then it return the solution with the smallest LB in solutions where avgExecutionTime is less than (1 + β)∗S0 avgExecutionTime (S0 is the solution with minimum of avgExecutionTime) as the final scheduling solution. The scheduler allocates tasks according to the final scheduling solution.

172

Z. Xu et al.

5 Result and Evaluation 5.1 Experiment Setup Environment. All of our experiments are conducted over a cluster environment, including a master node (scheduler) and four slave nodes (executors), where the master node is responsible for the allocation of tasks, and slave nodes are responsible for performing tasks. The source database uses MySQL 5.6 and the target database uses PostgreSQL 11. The specific configuration is listed in Table 2. Table 2. The configuration of cluster environment. Node type

CPU

RAM

OS

master

8 cores Intel 2.6 GHZ

8 GB

CentOS 7

salve 1

2 cores Intel 2.6 GHZ

8 GB

CentOS 7

salve 2

2 cores Intel 2.6 GHZ

8 GB

CentOS 7

salve 3

4 cores Intel 2.6 GHZ

8 GB

CentOS 7

salve 4

8 cores Intel 2.6 GHZ

16 GB

CentOS 7

MySQL 5.6

4 cores Intel 2.6 GHZ

4 GB

CentOS 7

PostgreSQL 11

4 cores Intel 2.6 GHZ

4 GB

CentOS 7

Workloads. In each experiment, we gradually increase the load from 20 ETL tasks to 100 ETL tasks, and each ETL task load different sizes (100K, 200K, 300K, 400K and 500K rows) of data from source database to target database. Compared algorithms. The evaluation of the performance of the proposed method (Moetsa) can be compared with the scheduling algorithm as the following: – Round-Robin (RR) algorithm: assign a task to each machine in turn. – Greedy algorithm: assign the task with the largest amount of data in the remaining tasks to the node with the smallest sum of data processed by tasks. Metrics. We use the average execution time of tasks and load balancing indicator of cluster to measure the algorithms’ performance. The load balancing indicator is estimated by the standard deviation of the average CPU usage of nodes in cluster during task execution, which is calculated as:

Multi-objective Scheduling Optimization for ETL Tasks

loadbalancingindex =

n−1

i=0 (usagei

− usage)2

n

173

(6)

n−1 usage =

i=0

usagei n

(7)

where usagei is the average CPU usage of the i-th node. The smaller load balancing indicator, the more balanced load in the cluster. 5.2 Experiment Evaluation Prediction Accuracy Evaluation. In this subsection, we evaluate and analyze the prediction accuracy of the task execution time. We compare the predicted average execution time of multiple linear regression (MLR) model and random forest (RF) model with the actual average execution time under different workloads context. The results are shown as Fig. 5, the predicted value of RF model is closer to the real value than the linear model, which indicate that RF model has higher fitting capability and better prediction accuracy.

Average Execution Time (s)

MLR

RF

Actual Value

900 800 700 600 500 400 300 200 100 0 20

40

60 Number of Task

80

100

Fig. 5. Comparison of prediction methods with respect to execution time

Scheduling Algorithms Evaluation. In order to evaluate the performance and robustness of Moetsa method, we carried out three groups of experiment, in which the data size distribution (randomly generated) of tasks was different, and we compare Moetsa with RR and Greedy algorithm. Performance Evaluation. With different workloads, Fig. 6 shows the average execution time of tasks and the load balancing indicator of cluster, and we take the average of three experiments.

174

Z. Xu et al. Greedy

Moetsa

RR

Greedy

Moetsa

0.35

1000

Load Balancing Index

Average Execution Time (s)

RR

800 600 400 200

0.3 0.25 0.2 0.15 0.1 0.05 0

0 20

40

60

80

100

Number of Task

(a) Average execution time comparison

20

40

60

80

100

Number of Task

(b) Load balancing comparison

Fig. 6. The performance comparison of RR, Greedy and Moetsa algorithms

From Fig. 6 we observe that our Moetsa method is best in average execution time and load balancing. Compared with the most commonly used RR algorithm, greedy algorithm has some minor improvement, Moetsa algorithm reduces the average execution time by 15% -30%, meanwhile, the load balancing indicator is 55%-75% superior to others. Both RR and Greedy algorithms do not consider the performance difference between nodes, which often resulting in certain nodes to be overloaded, meanwhile, other nodes to be idle. Since Moetsa can accurately evaluate the performance of each scheduling solution and chose the best solution, thus it is better than RR and Greedy in these scenarios. Robustness Evaluation. In order to evaluate whether Moetsa has the satisfactory performance under different distribution of tasks, we conduct a series of experiments to evaluate its robustness. Figure 7 shows the data size and execution time distribution of our experiments, and Fig. 8 shows the performance comparison of RR, Greedy and Moetsa algorithms under different distribution of tasks, where the number of tasks is 100. As shown in (a), (b) and (c) of Fig. 7, in three different data size distribution of tasks, Moetsa completed more tasks in shorter time than RR and Greedy algorithms. The Fig. 8 clearly denoted that the performance of Moetsa in three experiments are better than RR and Greedy, meanwhile, its performance fluctuation is very small. Therefore, we can confirm that Moetsa method has better robustness in these contexts.

Multi-objective Scheduling Optimization for ETL Tasks 30

20 15 10 5

Greedy

Moetsa

40

Number of Task

Number of Task

25

0

RR

50

175

30 20 10 0

100K 200K 300K 400K 500K

[0,350]

[351,700]

[701,1050] [1051,1400] [1401,1750] [1751,2100]

Execution time (s)

Data Size (rows )

(a-1) The data size distribution statistics

(a-2) The execution time distribution statistics

(a) The distribution statistics of 100 tasks in the 1st group experiment 30

Number of Task

Number of Task

20 15 10 5 0

RR

50

25

Greedy

Moetsa

40 30 20 10 0

100K 200K 300K 400K 500K

[0,300]

[301,600]

Data Size (rows )

[601,900]

[901,1200] [1201,1500] [1501,1800]

Execution Time (s)

(b-1) The data size distribution statistics

(b-2) The execution time distribution statistics

30

50

25

40

Number of Task

Number of Task

(a) The distribution statistics of 100 tasks in the 2nd group experiment

20 15 10 5 0

100K 200K 300K 400K 500K

RR

Greedy

Moetsa

30 20 10 0

Data Size (rows )

(c-1) The data size distribution statistics

[0,400]

[401,800]

[801,1200] [1201,1600] [1601,2000] [2001,2400]

Execution Time (s)

(c-2) The execution time distribution statistics

(c) The distribution statistics of 100 tasks in the 3rd group experiment Fig. 7. The distribution statistics of 100 tasks in three group experiments

176

Z. Xu et al. RR

Greedy

Moetsa

RR

Moetsa

0.35

1000

Load Balancing Index

Average Execution Time

1200

Greedy

800 600 400 200 0

0.3 0.25 0.2 0.15 0.1 0.05 0

Experiment 1

Experiment 2

Experiment 3

Experiment 1 Experiment 2 Experiment 3

Fig. 8. When the number of tasks is 100, the performance comparison of RR, Greedy and Moetsa algorithms under different distribution of tasks

6 Conclusion ETL task scheduling is a critical problem in data integration. In order to solve the problems of inefficiency of ETL task execution, resource waste and load imbalance of cluster nodes, we proposed a multi-objective scheduling optimization algorithm for ETL tasks. Firstly, our scheduler captures the current performance information of each node, evaluates the average execution time of tasks based on the random forest model, and estimate the load balance states through the load balance model under the condition of fully considering the performance difference of each node. Secondly, we devised an online ETL task scheduling algorithm which is constructed by integrating RF model and load balancing model with NSGA-II algorithm. This algorithm effectively reduces the average execution time of tasks and improves the resource utilization, which provides a reference value for the task scheduling scheme in the distributed system. In this paper, only CPU and memory utilization are considered in the measurement of node performance, and the effectiveness of our algorithm framework has been thoroughly proved. In our future work, we will combine more performance metrics into the optimal schema to obtain more practical scheduling strategy for distributed cluster ETL tasks. Acknowledgement. This work was supported by the Fund by the National Natural Science Foundation of China (Grant No. 61462012, No. 61562010, No. U1531246, No. 71964009), the Innovation Team of the Data Analysis and Cloud Service of Guizhou Province (Grant No. [2015]53), the Program for Innovative Talent of Guizhou Province (2017).

References 1. Vitt, E., Luckevich, M., Misner, S.: Business Intelligence: Making Better Decisions Faster. Microsoft Press, Redmond (2008) 2. Kimball, R., Ross, M.: The Data Warehouse Toolkit: The Definitive Guide to Dimensional Modeling, 3rd edn. Wiley, Ottawa (2013) 3. Grandl, R., Chowdhury, M., Akella, A., Ananthanarayanan, G.: Altruistic scheduling in multiresource clusters. In: Proceedings of the 12th USENIX Symposium Operating Systems Design and Implementation (OSDI 2016), pp. 65–80 (2016)

Multi-objective Scheduling Optimization for ETL Tasks

177

4. Kimball, R., Caserta, J.: The Data Warehouse ETL Toolkit: Practical Techniques for Extracting, Cleaning, Conforming and Delivering Data. Wiley, Ottawa (2004) 5. Breiman, L.: Random forests. Mach. Learn. 45(1), 5–32 (2001) 6. Deb, K., et al.: A fast and elitist multi-objective genetic algorithm: NSGA-II. IEEE Trans. Evol. Comput. 6(2), 182–197 (2002) 7. Elzeki, O.M., et al.: Overview of scheduling tasks in distributed computing systems. Int. J. Soft Comput. Eng. 2, 470–475 (2012) 8. Li, L.: One scheduling method for ETL task cluster. Comput. Technol. Dev. 28(11), 41–44 (2018) 9. Han, W.B., et al.: PBS: an ETL scheduling algorithm for cluster environment. Comput. Digit. Eng. 45(5), 793–796 (2017) 10. Zhen, J.H., Zhou, J.: Multi-objective Evolutionary Optimization. Science Publishing, Beijing (2017) 11. Srinivas, N., Deb, K.: Multi-objective optimization using non-dominated sorting in genetic algorithms. Evol. Comput. 2(3), 221–248 (1994) 12. Lai, W.X., Deng, Z.M.: Improved NSGA2 algorithm based on dominant strength. Comput. Sci. 45(06), 187–192 (2018) 13. Wei, W.D.: Research on Energy-saving Technology of Resource Scheduling for Cloud Computing Based on NSGA2. Beijing University of Posts and Telecommunications (2018) 14. Szabo, C., Kroeger, T.: Evolving multi-objective strategies for task allocation of scientific workflows on public clouds. In: 2012 IEEE Congress on Evolutionary Computation (CEC), Brisbane, Australia, 10–15 June 2012, pp. 1–8 (2012) 15. Li, Z.Y., Chen, S.M., Yang, B., Li, R.F.: Multi-objective memetic algorithm for task scheduling on heterogeneous cloud. Chin. J. Comput. 2, 377–390 (2016)

An LSTM-Based Encoder-Decoder Model for State-of-Charge Estimation of Lithium-Ion Batteries Shengmin Cui, Xiaowa Yong, Sanghwan Kim, Seokjoon Hong, and Inwhee Joe(B) Department of Computer Science, Hanyang University, Seoul, South Korea {shengmincui,yongxiaowa,daniel379,meloncan,iwjoe}@hanyang.ac.kr

Abstract. A lithium-ion battery is rechargeable and is widely used in portable devices and electric vehicles (EVs). State-of-Charge (SOC) estimation is vital function in a battery management system (BMS) since high-accuracy SOC estimation ensures reliability and safety of electronic products using lithium-ion batteries. Unlike traditional SOC estimation methods deep learning based methods are data-driven methods that do not rely much on battery quality. In this paper, an Encoder-Decoder model which can compress sequential inputs into a vector used for decoding sequential outputs is proposed to estimate the SOC based on measured voltage and current. Compared with conventional recurrent networks such as Long Short-Term Memory (LSTM) and Gated Recurrent Unit (GRU), the proposed model yields better accuracy of estimation. Models are validated on lithium-ion battery data set with dynamical stress testing (DST), Federal Urban Driving Schedule (FUDS), and US06 highway schedule profiles. Keywords: Lithium-ion battery · State of charge · Long Short-Term Memory · Gated Recurrent Unit · Encoder-Decoder

1

Introduction

With the growing of global energy crisis and global warming, new energy vehicles become the developing trend of the future automobile industry. In comparison to the conventional internal combustion engine vehicles which burn fossil fuels produce lots of emissions and cause environmental pollution seriously, as a type of new energy vehicle, electric vehicle (EV) development has important significances [1]. The EVs are driven by electric power, any harmful gases are not discharged, which compliance with the requirements of environmental protection. Therefore, power battery is key to EVs development. Lithium-ion batteries are becoming the most ideal dominant pow-er source of EVs because of their high energy density, high power density, long life-time and environmental friendliness [2]. In effect, batteries will degrade over repeated charge and discharge so that required the battery management system (BMS) to monitor the battery health c Springer Nature Switzerland AG 2020  R. Silhavy (Ed.): CSOC 2020, AISC 1224, pp. 178–188, 2020. https://doi.org/10.1007/978-3-030-51965-0_15

An LSTM-Based Encoder-Decoder Model for State-of-Charge Estimation

179

status in real-time in order to ensure safe, reliable, and efficient operations of EVs [3]. State-of-charge (SOC) is defined as the radio of the residual capacity of the battery to its nominal capacity, which reflects the remaining battery charge at the present cycle, is one of the key states in the BMS [4]. The nominal capacity is given by the manufacturer. Accurate SOC information contributes to prevent battery failure caused by over-charge or over-discharge and can effectively improve the safety performance of battery. Unlike the conventional engine vehicles can measure fuel quantity remaining directly by a sensor, however, a battery is a chemical energy storage source, and this chemical energy cannot be directly accessed so that the SOC can only be estimated from current, voltage, temperature and other measurable related quantities [3]. Hence, this issue makes the accurate SOC estimation is a recognized difficult problem until now. The existing method investigated for SOC estimation is mainly divided into the fol-lowing categories: Coulomb counting method, open-circuit voltage (OCV) method, model-based filtering method and data-driven method. The Coulomb counting method are proposed in [5], measures and integrates the discharging current over time in order to estimate SOC. It can be easily implemented but the estimation error in-creases with the charging and discharging cycles. The OCV method uses the OCV to estimates battery SOC via a look-up table, according to battery’s intrinsic relationship between OCV and SOC [6]. This estimation method is also not accurate due to the OCV-SOC curve has flat region, the SOC becomes very sensitive. In addition, the relationship between the OCV and SOC is not same for all batteries so that need to measure the OCV and measuring the OCV requires the battery to be disconnected from the loads for long time to reach a steady state, thus, it is not suitable for real-time SOC estimation. As for the model-based filtering method, in many early battery SOC estimation studies, various battery models have been proposed, such as Equivalent Circuit-based Models, behavioral (empirical) models and electrochemical models [7]. These models can estimate SOC directly or couple with estimator algorithms such as Kal-man filter (KF) [8], extended Kalman filter (EKF) [9], unscented Kalman filter (UKF) [10], and particle filter (PF) [11]. In [8], the model-based KF method is shown to provide verifiable SOC estimations for battery in the real-time. The model-based method is very fast and can give acceptable estimation performance, but its performance based heavily on the quality of the battery models. These models perform well under strict conditions, including temperature, specified battery type, etc. The data-driven method treats the battery as a black box and directly models the nonlinear relationship between SOC and measurable related quantities such as cur-rent, voltage, temperature through lots of battery data. There are some used machine learning methods such as artificial neural networks (NN) [12], fuzzy logic [13], sup-port vector machine [14] and so on. It is different from the modelbased filtering method that does not require specific battery model and other strict conditions. Whereas the estimation performance strongly depends on the quantity of training data and it takes a long time when has lots of data. With the development of hard-ware equipment and computing power, many attentions

180

S. Cui et al.

are paid to the data-driven method due to the training time is greatly shorted. In recently, [15] proposed a recur-rent neural network (RNN) to estimation the battery SOC, however, RNN can not to capture long-term dependency because of the gradient vanishing in training process. Long short term memory (LSTM), the extension of RNN is proposed by [16] to resolve this problem. Compared with the RNN, the LSTM can correlates long time of past charge and discharge information so that SOC estimation be more accurate [17]. In this paper, an Encoder-Decoder model based on LSTM network is proposed to estimate SOC. Our model is closely related to Ilya Sutskever [19] which is widely used in modeling Natural Language Processing (NLP) applications. Our model uses the characteristics of LSTM to map sequential inputs to fixed-dimensional vectors. This translation could learn the meaning of sequential inputs with a fixed-dimensional vector. The contributions of this paper are summarized as follows. 1) An encoder-decoder network is proposed to learn the nonlinear relationship between SOC and current and voltage measurements. 2) Models are trained and tested by data using profiles such as dynamical stress testing (DST), Federal Urban Driving Schedule (FUDS) and US06 Highway Driving Schedule. 3) The performance of our model is compared with the conventional time series deep learning model such as LSTM and gated recurrent unit (GRU) [18]. The rest of this paper is organized as follows: Sect. 2 presents the details of LSTM and the proposed model. Section 3 introduces the data collection. Experiments design and results are discussed in Sect. 4. Finally our conclusions are presented in Sect. 5.

2

SOC Estimation Based on the Encoder-Decoder Network

In this section, an Encoder-Decoder based on LSTM model is proposed to learn the nonlinear dynamics of SOC from measurable current, voltage. The entire inputs of sequence are compressed by using LSTM in the encoder part of Encoder-Decoder model. The compression result of the fixed dimension comes from the last hidden state of LSTM. The decoder part uses one LSTM layer with fully connected (FC) layer to generate the final estimation result. 2.1

Long Short-Term Memory

LSTM [16] is one of the most widely used RNN variants. LSTM adds several gates to the vanilla RNN to solve the problem of the gradient vanishing and explosion to a certain extent, thereby solving the problem that the vanilla RNN cannot learn long term dependence. There are three gates in each LSTM cell to control the transmission of information. The forget gate determines how much of the current input information is discarded; the input gate determines how much

An LSTM-Based Encoder-Decoder Model for State-of-Charge Estimation

181

input information is stored into the cell state; and the output gate controls the relationship between the cell memory and the output node. Figure 1 shows the cell structure of LSTM. The forward process of a LSTM cell is defined as follows: ft = σ(Wxf xt + Whf ht−1 + bf ) it = σ(Wxi xt + Whi ht−1 + bi ) ot = σ(Wxo xt + Who ht−1 + bo ) ct = ft  ct−1 + it  tanh(Wxc xt + Whc ht−1 + bc )

(1)

ht = ot  tanh(ct ), where  is the Hadamard product; it , ft , and ot are the vectors of the input gate, forget gate and the output gate, respectively; σ denotes the sigmoid function that lies between 0 and 1; xt is the input vector at time t; and W and b are weight matrices and bias that can be updated during training. LSTM can be turned into a deep network by using the output of the previous layer as the input of the next layer.

Fig. 1. Sturcture of an LSTM cell.

2.2

Proposed Encoder-Decoder Network

A two-layer feedforward Encoder-Decoder model is used for SOC estimation, one for encoding and the other for decoding. The encoder layer compress the input information into a fixed-dimension vector like many-to-one structure of one layer LSTM model. The compressed vector is the hidden state of the last cell of LSTM. Then the fixed-dimension vector feed to decoder layer to generate time distributed hidden states. Finally, an FC layer maps the hidden states of decoder layer to the estimation of results. Figure 2 shows the architecture of the proposed Encoder-Decoder model. The input vector of time t includes current It , voltage Vt , average current Iavg and

182

S. Cui et al.

average voltage Vavg . Charging and discharging in a short time will cause fluctuation greatly of current and voltage. This will reduce the learning efficiency for model learning. Therefore, we added average value of current and voltage to the input information to learn the general trend. The average value is calculated over the length of time steps of the input. We choose mean squared error (MSE) as the loss function of our model, it is defined as: T 1 (yt − yˆt )2 , (2) M SE = T t=1 where yt is the true value of SOC and yˆt is the estimation value of SOC at time step t. We use the Adam optimizer to update weights of our model and store the best validation model for testing.

Fig. 2. Encoder-decoder model for SOC estimation.

3

Data Description

In this work, the INR 18650-20R cell is chosen for our experiments. This type of lithium-ion cell has nominal capacity of 2.0 Ah and nominal voltage of 3.6 V. Table 1 shows the basic specifications of this battery. Three different dynamic current profiles such as DST, FUDS, and US06 are used for training and testing. These data were obtained from the center for advanced life cycle engineering (CALCE) battery group [20]. The experimental data were obtained at three different temperatures. They are 0 ◦ C representing low temperature, 25 ◦ C representing room temperature, and 45 ◦ C representing high temperature. The current and voltage profile of DST, FUDS, and US06 are shown in Fig. 3 For each temperature of each discharge schedule, we use a data set with an initial SOC value of 80% as the training set and a data set with an initial SOC value of 50% as the test set.

An LSTM-Based Encoder-Decoder Model for State-of-Charge Estimation

183

Table 1. Specifications of battery Type

INR 18650-20R

Nominal voltage

3.6 V

Nominal capacity

2.0 Ah

Charge voltage

4.2 V

Discharge cut-off voltage

2.5 V

Maximum continuous current 22 A (at 25 ◦ C) Operating temperature

4

0 to 50 ◦ C

Experiments and Results

The proposed Encoder-Decoder model in Sect. 2.2 is trained and tested with DST, FUDS, and US06 data sets. The input of the model is xt , xt+1 , . . . , xt+k−1 where k is the time step length and xt = [It , Vt , Iavg , Vavg ]. Section 4.1 evaluate the performance of estimation of our model, LSTM based model, and GRU based model at room temperature, Sect. 4.2 evaluate the performance at various temperature conditions. All these model are written in keras and trained on one GeForce GTX 1080 Ti GPU. In this paper, we choose mean absolute error (MAE) and root mean square error (RMSE) are used for evaluating our proposed model: T

1 |yt − yˆt | T t=1   T 1  RM SE =  (yt − yˆt )2 . T t=1 M AE =

4.1

(3)

SOC Estimation at Room Temperature (25 ◦ C)

In this section, the proposed Encoder-Decoder model is trained with data sets which initial SOC value is 80% and tested with data sets which initial SOC value is 50% at 25 ◦ C. The size of training set of DST, FUDS, and US06 are 10646 samples, 11099 samples, and 10419 samples, respectively; and the size of test set of DST, FUDS, and US06 are 6699 samples, 7000 samples, and 6563 samples, respectively. In this work, we set time step length k = 50 and hidden state size h = 50. The model is trained over 500 epochs. For fair comparison, we implement LSTM and GRU based network with 2 recurrent hidden layers and an FC layer. Moreover, parameter settings of LSTM and GRU based network are k = 50, h = 50. This means that the three models have the same number of neurons. Figure 4 shows the comparisons of true SOC and SOC estimated by our proposed model on training set and test set. Figure 4(a), (c), and (d) are estimation

184

S. Cui et al.

(a) current profiles of DST

(b) measured voltages of DST

(c) current profiles of FUDS

(d) measured voltages of FUDS

(e) current profiles of US06

(f) measured voltages of US06

Fig. 3. Current profile and measured voltage in one discharge cycle

results with training set of DST, FUDS, and US06, respectively; while Fig. 4(b), (d), and (f) are estimation results with testing set of DST, FUDS, and US06, respectively. As can be seen in this figure, our proposed model can fit the real results well on three different data sets. In particular, as shown in Fig. 4(b), (d), and (f), our model can estimate SOC well without knowing the initial value of SOC. Then, let us focus on the test results of DST and FUDS, although the

An LSTM-Based Encoder-Decoder Model for State-of-Charge Estimation

185

estimation value is slightly different from the true value at the beginning, our proposed model can quickly fit the true value after several time steps. The performance of LSTM, GRU and our proposed model are tabulated in Table 2. RMSEs and MAEs on test data sets are shown in Fig. 5. The RMSEs and MAEs of three models in testing are all within 1.0%. This shows that the three models can learn the dynamic relationship between soc and current and voltage very well. Moreover, test results of our model are better than LSTM and GRU in three different data sets. Table 2. Performance of different models at room temperature Model

LSTM

GRU

Encoder-Decoder

Dataset Measurements Training Testing Training Testing Training Testing DST

RMSE (%) MAE (%)

0.95

0.48

1.04

0.69

0.78

0.41

FUDS

RMSE (%)

0.62

0.72

0.90

0.77

0.56

0.69

MAE (%)

0.53

0.56

0.70

0.57

0.46

0.50

US06

RMSE (%)

0.75

0.75

0.59

0.80

0.58

0.56

MAE (%)

0.65

0.63

0.51

0.71

0.50

0.46

4.2

1.01

0.61

1.21

0.87

0.86

0.53

SOC Estimation Under Various Temperature Conditions

Temperature is a key parameter in battery modeling. The dynamic relationship between soc and current and voltage will change slightly at different temperatures. Under different temperature conditions, different heat will be generated during charging and discharging, which will cause the internal resistance to change. In this section, our proposed model are trained by data set collected with different temperature respectively. The size of training set of DST, FUDS, and US06 are 9553 data points, 9714 data points, and 9494 data points, respectively; and the size of test set of DST, FUDS, and US06 are 5969 data points, 6966 data points, and 5929 data points at temperature 0 ◦ C. While the size of training set of DST, FUDS, and US06 are 10783 data points, 11140 data points, and 10426 data points, respectively; and the size of test set of DST, FUDS, and US06 are 6704 data points, 7009 data points, and 6554 data points at temperature 45 ◦ C. The performance of all cases of our proposed model are tabulated in Table 3. As can be seen in Table 3 all MAEs are within 1.5% while RMSEs are within 2%. Therefore our model can learn the dynamic non-linear characteristics of the battery at different temperatures.

186

S. Cui et al.

(a) DST when initial SOC=80%

(b) DST when initial SOC=50%

(c) FUDS when initial SOC=80%

(d) FUDS when initial SOC=50%

(e) US06 when initial SOC=80%

(f) US06 when initial SOC=50%

Fig. 4. SOC estimation results at room temperature

An LSTM-Based Encoder-Decoder Model for State-of-Charge Estimation

(a) Testing Error: RMSE (%)

187

(b) Testing Error: MAE (%)

Fig. 5. RMSEs and MAEs of different models on testing data at room temperature Table 3. SOC estimation testing results at various temperatures Temperature 0 ◦ C

45 ◦ C

DST FUDS US06 DST FUDS US06

5

RMSE (%)

0.87 1.70

1.89

0.64 0.59

0.45

MAE (%)

0.68 1.35

1.48

0.50 0.55

0.37

Conclusions

In this paper, we proposed an Encoder-Decoder network for SOC estimation of Lithium-ion battery. Different discharge profiles such as DST, FUDS, and US06 at different temperatures are trained and tested. The results of experiments showed that our model can learn the dynamic relationship between SOC and variables such as current and voltage successfully. Our proposed EncoderDecoder model presented more accuracy results in terms of RMSE and MAE compared to LSTM and GRU networks. Acknowledgments. This research was supported by Basic Science Research Program through the National Research Foundation of Korea (NRF) funded by the Ministry of Education (NRF-2019R1I1A1A01058964).

References 1. Zhang, X., Wang, Y., Yang, D., Chen, Z.: An on-line estimation of battery pack parameters and state-of-charge using dual filter based on pack model. Energy 115, 219–29 (2016) 2. Yang, F., Song, X., Dong, G., Tsui, K.-L.: A coulombic efficiency-based model for prognostics and health estimation of lithium-ion batteries. Energy 171, 1173–1182 (2019) 3. Lu, L., Han, X., Li, J., Hua, J., Ouyang, M.: A review on the key issues for lithiumion battery management in electric vehicles. J. Power Sour. 226, 272–288 (2013)

188

S. Cui et al.

4. Chemali, E., Preindl, M., Malysz, P., Emadi, A.: Electrochemical and electrostatic energy storage and management systems for electric drive vehicles: state-of-the-art review and future trends. IEEE J. Emerg. Sel. Top. Power Electron. 4(3), 1117– 1134 (2016) 5. Ng, K.S., Moo, C.S., Chen, Y.P., Hsieh, Y.C.: Enhanced Coulomb counting method for estimating state-of-charge and state-of-health of lithium-ion batteries. Appl. Energy 86(9), 1506–1511 (2009) 6. He, H., Zhang, X., Xiong, R., Xu, Y., Guo, H.: Online model-based estimation of state-of-charge and open-circuit voltage of lithium-ion batteries in electric vehicles. Energy 39(1), 310–318 (2012) 7. Seaman, A., Dao, T.-S., McPhee, J.: A survey of mathematics-based equivalentcircuit and electrochemical battery models for hybrid and electric vehicle simulation. J. Power Sour. 256, 410–423 (2014) 8. Xu, L., Wang, J.P., Chen, Q.S.: Kalman filtering state of charge estimation for battery management system based on a stochastic fuzzy neural network battery model. Energy Conv. Manag. 53(1), 33–39 (2012) 9. Plett, G.L.: Extended Kalman ltering for battery management systems of LiPBbased HEV battery packs: part 1. Background. J. Power Sour. 134(12), 252–261 (2004) 10. Plett, G.L.: Sigma-point Kalman ltering for battery management systems of LiPBbased HEV battery packs: part 1: introduction and state estimation. J. Power Sour. 161(2), 1356–1368 (2006) 11. Yang, F., Xing, Y., Wang, D.: Tsui K-l: a comparative study of three modelbased algorithms for estimating state-of-charge of lithium-ion batteries under a new combined dynamic loading profile. Appl. Energy 164, 387–99 (2016) 12. Kang, L., Zhao, X., Ma, J.: A new neural network model for the state of-charge estimation in the battery degradation process. Appl. Energy 121, 20–27 (2014) 13. Salkind, A.J., Fennie, C., Singh, P., Atwater, T., Reisner, D.E.: Determination of state-of-charge and state-of-health of batteries by fuzzy logic methodology. J. Power Sour. 80(1–2), 293–300 (1999) 14. Ant´ on, J.C.A., Nieto, P.J.G., Viejo, C.B., Vil´ an, J.A.V.: Support vector machines used to estimate the battery state of charge. IEEE Trans. Power Electron. 28(12), 5919–5926 (2013) 15. He, W., Williard, N., Chen, C., Pecht, M.: State of charge estimation for Li-ion batteries using neural network modeling and unscented Kalman lter-based error cancellation. Int. J. Elect. Power Energy Syst. 62, 783–791 (2014) 16. Hochreiter, S., Schmidhuber, J.: Long short-term memory. Neural Comput. 9(8), 1735–1780 (1997) 17. Chemali, E., Kollmeyer, P.J., Preindl, M., Ahmed, R., Emadi, A.: Long short-term memory networks for accurate state-of-charge estimation of Li-ion batteries. IEEE Trans. Industr. Electron. 65(8), 6730–6739 (2018) 18. Chung, J., Gulcehre, C., Cho, K.H., et al.: Empirical evaluation of gated recurrent neural networks on sequence modeling. arXiv preprint arXiv:1412.3555 (2014) 19. Sutskever, I., Vinyals, O., Le, Q.V.: Sequence to sequence learning with neural networks. In: Advances in NIPS (2014) 20. CALCE: Lithium-ion Battery Experimental Data. http://www.calce.umd.edu/ batteries/data.htm

Analysis of Social Engineering Attacks Using Exploit Kits Tebogo Mokoena(B) , Tranos Zuva, and Martin Appiah Vaal University of Technology, Andries Potgieter Blvd, Vanderbijlpark, South Africa [email protected]

Abstract. Exploit kits are malicious toolkits or platforms that are used to exploit security vulnerabilities in software or systems to perform various malicious actions such as stealing data and spreading malware. Exploit kits contain various payloads or malicious code that are used to detect vulnerabilities, target users and computers. Exploit kits use social engineering techniques such as phishing and malvertising to exploit software vulnerabilities by first exploiting the users. Social engineering attacks aim at tricking users and organisation into providing confidential information to attackers such as usernames, passwords, and identity numbers. This study will analyze social engineering attacks particularly phishing campaigns used by exploit kits. The study analyzed the results of the phishing simulation of how exploit kits work including their threat actors, payloads and how they eventually spread malware onto the target. Keywords: Exploit kits · Malware · Social engineering · Phishing · Payload

1 Introduction “Attackers go for the low-hanging fruit: Humans” By Stu Sjouwerman [1]. Social engineering attacks are a sociologically long-term based problems that affect a huge scale of people and segments in all walks of life each day [2]. These attacks are speedily increasing cyberattacks in today’s networks against individuals, organisations and governments. Social engineering is defined as any action that influences a person to take an action that may or may not be in his or her best interests [3]. Social engineering attacks are the methods used by cyber criminals to perform attacks such as gaining access to target’s building, distribution of malware and theft of data. An example would be instead of an adversary trying to find vulnerabilities on software, the attacker can call an employee and pose as an IT service desk support to trick the employee to divulge sensitive information such as passwords [4]. People are the weakest link in any security program, attacking an end user is easier than performing a hack [3, 4]. Social engineering attacks are challenging for all users and organisations regardless of the robustness security solutions that are implemented in most organisations such as firewalls, anti-virus software and intrusion © Springer Nature Switzerland AG 2020 R. Silhavy (Ed.): CSOC 2020, AISC 1224, pp. 189–204, 2020. https://doi.org/10.1007/978-3-030-51965-0_16

190

T. Mokoena et al.

detection systems which can be easily bypassed by focusing on the users. By just focusing on users’ adversaries can accomplish malicious activities through human interactions which may influence a person’s psychologically to break company security policies or divulge sensitive information. Social engineering attacks are the most threatening attacks because of their diversity, and they threaten all systems and networks in organisations. They cannot be prevented using traditional solutions if people are not trained to prevent these attacks. Cyber criminals choose these attacks when there is no way they can gain access to systems or network without any vulnerabilities. Cyber criminals are constantly improving their social engineering techniques by carefully creating customized attempts to appeal to their target of choice by using the user’s personal, professional circumstances and their access to social networks services. This form of attack is known as a spear phishing attacks where the user is deceived into opening malicious links or attachments. These sophisticated or targeted social engineering attacks can decrease the user’s ability to distinguish between malicious cyber activity and legitimate emails sent to them. According to ACSC threat report [5] implementing robust security controls will become important as a security measure to organisation. In the report issued by Verizon DBIR in 2017 [6], there were 42,068 security incidents that resulted in 1,935 breaches of which 43% of those breaches where a result of social engineering attacks. The Verizon report [6] also indicate that 66% of malware was distributed using malicious email attachments. These attacks are due to emails sent using the phishing attacks campaign or may have been the results of a trusted account that was previously compromised. Either way, the malware infections where from malicious emails. These threats are distributed using exploitation tools called exploit kits, which are known as EKs [7–13]. EKs are the delivery vehicles of most cybercrime attack operations in relation to but not limited to[7, 14, 15]: • Malware attacks and distribution. • Credential theft. • Data theft. Some of the EKs have remained in business, while others have been taken down by law enforcement agencies according to McAfee threat Report [16]. Cybercriminals have favored EKs for many years because they offer the opportunity to compromise a wide range of victims with least effort through social engineering tactics. EKs can be purchased in the dark web for low prices and can be used attackers to deliver whatever payload they choose which is available from the EK platform which include ransomware. Some of the EKs have remained in business, while others have been taken down by law enforcement agencies according to McAfee threat Report [16]. However, security researchers have found that attackers are increasingly turning to the use of social engineering tactics to attack or target victims than using traditional hacking tactics [10, 17, 18]. According to Stu Sjouwerman [1] predicts the following will happening, automation will make detecting attackers attacks harder and brand-new super exploit kits will contain dozens of zero-day vulnerabilities which makes exploit kits the most ideal mode of attacks through social engineering.

Analysis of Social Engineering Attacks Using Exploit Kits

191

A new social engineering tactic used by EITest [19] which is a recognized infection vector that drives traffic to EK from a compromised websites. In this tactic, users were filtered by the browser, user agent and where tricked into downloading and installing malware without being aware. EKs are effective as a user may encounter EKs attack by unknowingly visiting seemingly a legitimate website that contains links or redirects victims EK landing pages using malicious advertising and through spear-phishing or spam email campaigns [11]. In this paper, we focus on phishing attacks used to steal user credentials and install malware in the background using an open source social engineering EK known as a phishing kit. A phishing campaign which is one of the social engineering methods was conducted against two companies of which one is a multinational company with users spanning across nine (9) countries across Africa and the other operating in South Africa. The two companies operate in different industries which one is in health and the other in finance. The study will analyze the results to determine the effectiveness of the phishing campaigns conducted using exploit kits. The paper is organized as follows. Classification and types of social engineering methods or attacks are presented in Sect. 2 to provide a background of various methods of social engineering particularly phishing attacks. In this section discussion of exploit kit-based attacks which include how exploit kit campaigns, platforms are managed and conducted. Section 3 focuses on the methodology. The results analysis and discussion are in Sect. 4 and finally the conclusion and discussion of future work are in Sect. 5.

2 Background This section discusses the background knowledge on social engineering attacks followed by the exploit kits and detection techniques. We later provide further background and our observations on the exploitation strategies utilized in most exploit kits that are presented in this paper. 2.1 Categories to Which an Entity Is Involved There are two categories of social engineering attacks to which an entity may be involved which are (Fig. 1):

Computeroriented Attack

Human-oriented Attack

Social Engineering

Fig. 1. Social engineering attack categories [20, 21]

192

T. Mokoena et al.

• Computer-oriented attacks In this instance the victim is attacked through various mechanism such as their smart phones or their computer systems. The attacker can use an exploit kit known as a phishing kit to perform a targeted attack through spear phishing [2]. • Human-oriented attacks The attacker interacts personally with the victim to gather the information required. This type of attack is limited as the attacker is only able to influence as small number of victims [20]. 2.2 Categories of How Attacks Are Conducted Social engineering attacks are classified into three categories of how they attack: Social, Physical and Technical [20, 22]. These attacks can be combined depending on the type of attack being performed. 1. Social (also known as Farming and Hunting): a. Hunting: It is a form of extracting information using minimum interaction with the victim. This attack approach comprises of a single encounter with the victim and terminates communication or connection once information has been acquired from the victim [20, 22]. b. Farming: It establishes a relationship with the victim and exfiltrated information over a longer period using the relationship. The attacker may enter a relationship with the victim, which they use their relations to manipulate the victim through an emotional connection. This type of attack is risky especially if the victim can end up finding out that the intentions of the attacker [22]. 2. Technical This type of attack is performed through a process of gathering information about the victim from social media networks and on websites which then allows them to perform further attacks on the victim [20]. 3. Physical This type of attack the attacker gathers information using physical actions such as going through the victims outside bins which is known as dumpster diving to gather information [20]. 2.3 Classification of Social Engineering Attack Vectors Social engineering attack vectors are methods which attackers use to exploit the system by gaining through human exploitation. These attack vectors include but not limited to the following phishing, baiting, dumpster diving and tailgating. Phishing attacks are the most widely conducted social engineering attacks by attackers [1–3, 20]. Phishing is defined as a method of sending malicious emails that impersonate a reputable source [3]. The goal and types of phishing is broken down into the following:

Analysis of Social Engineering Attacks Using Exploit Kits

193

1. Gather victims’ credentials: Gains access to victim’s system remotely through a malicious payload delivered in an email. Gather other forms of information about the victim for further attacks. The intention of phishing attacks is to cast a wide net over a huge number of potential victims as possible. Phishing is further categorized into the following, spear-phishing, whaling, vishing, smishing and search engine phishing. 2. Spear-phishing: This type of attack is targeted; the emails and attack are specifically designed to target. 3. Whaling: This type of attack is simpler to spear-phishing, but the targeted group is more specific and restricted. This attack targets mostly a group of users known as the C-suite which includes CEO, COO, CFO, or any to other senior manager positions in an organisation. 4. Vishing: This type of attack takes place using a phone, this is the most common type of attack in which the victims provide attacks with confidential information over the phone [3]. 5. Smishing: This type of attack takes place through the use of SMS, attackers use this type of attack to gain access to the victims mobile device [3]. 6. Search engine phishing: This type of attack takes place by using well known search engines to gather information about victim that is mostly available on social media sites and the internet [3]. 2.4 Exploit Kit-Based Attacks In this section, we present the various exploit kit campaigns and how they are operated by attackers. 1. Exploit Kits Campaigns This type of attack the attacker gathers information using physical actions such as going through the victims outside bins which is known as dumpster diving to gather information [20]. • Malvertising Involves malicious use of advertising (ads) campaign to spread malware. There are thousands to millions of infected websites that are unknowingly serving malicious ads or malware targeting millions of unsuspecting victims. This is one of the methods of spreading malware by hiding and then later execute malicious code within the malicious ads. These ads then lead the unsuspecting victims to an exploit kit hosting page which has content that directly infects the victim’s computer without any interactions from the victim and allowing the attacker to gain remote access. Malvertising is often done through the attack know as drive-by download, this attack allows malware to be downloaded without any interactions from the user. The malware can be downloaded on the victim’s machine by just clicking on the malicious link [13, 25, 26]. • Spam campaigns or Malspam It is an attack vector in a form of malicious emails sent to a wide range or targeted unsuspecting user base. The emails may contain either a malicious document

194

T. Mokoena et al.

embedded with malware or a malicious link that when clicked redirects the victim to an exploit kit landing page with the intention of performing further attacks [9, 27]. • Malicious iFrames It is a method of loading a web page through another. Attackers use this method to load a malicious website which is the landing page of an exploit kits on a superficially safe website that unsuspecting victims’ access [13, 25]. • Malicious code injections It is a method of infecting websites with malicious code which drops exploit kits and malware onto the unsuspecting victim’s system, just by unknowingly visiting a compromised website [13, 25]. 2.5 How Exploit Kits Work Exploit kits are malicious toolkits or platforms that are used to exploit security vulnerabilities in software or systems to perform various malicious actions such as stealing data, spreading malware, etc. [8, 9, 11, 15, 29, 30]. Exploit kits contain various payload or malicious code that can be used to detect vulnerabilities and to target users or computers. The process of being exploited with an exploit kits may vary; the process is usually the same with most of these kits. 1. Exploit kit Exploitation Process Overview This section discusses how a legitimate website is compromised by an exploit kit to make the attack effective against unsuspecting victims. a. Scenario of a Compromised Website [31] • A victim unknowingly visits a website that has been compromised with an exploit kit. • The website might contain malvertising campaigns that when the user clicks on redirects the user to an intermediary exploit kit server. • When the victim is on the exploit kit server, the exploit kit then gathers additional information about the victim’s system and applications installed to determine the vulnerabilities and to find a suitable exploit to use. • The system or application is then exploited. • If the exploit is successful the attacker will then be able to use further attacks such as using a malicious code which is then downloaded on the victim’s system in the background, this type of attack is also known as a drive-by download attack. An overview of the process mentioned above is graphically displayed in Fig. 2.

Analysis of Social Engineering Attacks Using Exploit Kits

195

Fig. 2. Example of how exploit kits work [12]

3 Approach 3.1 Ethical Consideration The name of the companies and the users that took part in the phishing simulation are sanitized to protect their identities due to security concerns. The users that participated were not harmed in anyway, their systems we not fully compromised, and credentials where not stored on the phishing toolkit. 3.2 Phishing Attacks Phishing attacks aims to trick victims into giving their confidential information or to allow attackers to gain access to organisation networks. Phishing uses two techniques which is deception and malware orientated phishing. The deception technique is often used in forged email claim that seeks to mimic an organisation or person. The forged email normally contains an email attachment or embedded link which will when opened redirect a user to a fake website. The fake web site is designed with a focus of stealing victims’ data. The malware orientated technique relies on embedded malicious code in the email attachment which will then be installed on the victims’ machine and allow the attack remote access. In some instances, the malware is embedded on the fake website which is also download through an attack known as drive-by download [13, 23, 24]. This study involved running a phishing exercise against users based in two different organisations. The two organisations also operate in two different industries. The first organisation is operates outside the borders of South Africa in the health industry and the second organisation is a multination in the finance industry which operations in 11 countries over 3 continents. The names of the 2 organisations are not provided as the organisations did not want the research to disclose the organisation names due to security concerns. For this study the organisations are given fake names, the organisation operating within the borders of South Africa in this case is called CO-1 and the other organisation is called CO-2.

196

T. Mokoena et al.

Exploit kits are mostly available in the dark web which makes acquiring exploit kits sometimes a tedious process. Some of the exploit kits that are available are licensed directly from the exploit kit authors. The exploit kit used is known as Gophish kit which is a well-known opensource toolkit. The purpose of the Gophish kit was to simulate a real attack used by a malicious exploit kit used by cyber criminals. Our study uses the social engineering session (SES) framework to conduct the phishing attack which is referred as social engineering dialogue (SED) [32] and results analysis. The SES and SED models are based on the proposed model on the “A session and dialogue-based social engineering framework” paper [32]. 3.3 The Phishing Attack Case Study Phishing is one of the social engineering techniques that is used by attackers for opportunities of gathering information with the end goal of gaining access to critical information accessed by attackers. Phishing attacks are performed through phishing emails with email attachments included or link embedded into emails. In this case study, phishing campaign was performed in two separate companies operating in different industries. One company operates in health and the other in the finance industry. Both companies granted permission to clone their intranet sites for the phishing campaign. We then cloned internal intranet sites used in both organisations. In CO-1 they have an intranet sites that provides their internal user base with various organisation communication. While CO-2 allowed us to clone their IT service request website which required users to login on the website with their Active Directory credentials. In both organisation, the phishing landing had the look and fill of the organisation except for the DNS name used which was redirecting the users to the phishing kit. Target user list from both organisations where requested, CO-1 provided a user list of 1398 and CO-2 provided user list per region or country which included a total of 1621 users. The email phishing attack is explained using the SES framework and SES attack graph [32]. There are two outlined SEDs in the phishing attack scenario used. The attacker sends out bulk phishing emails to the targets or victims in the first SED. In Fig. 3, this case study is explained in detail in the SES phishing attack graph. These SES are also led by the compliance principles, techniques and medium. Phishing emails and phishing sites used are items familiar to the target or victim which makes trust an none factor. These are seen by attackers as weakness that are easily exploited, and they make phishing attacks successful.

4 Phishing Environment Setup In this section we present the setup of our simulation of exploit kits in social engineering attacks in particularly the phishing simulation. We outline how our simulation was configured to perform the phishing exercise in two companies that participated, and we also provide an overview of our ethical consideration during the phishing exercise. Later in the section we present our results which are then discussed in the following section.

Analysis of Social Engineering Attacks Using Exploit Kits

197

Fig. 3. SES Attack Graph of email phishing [32]

4.1 Experiment Overview We simulated an exploit kit attack through a phishing campaign by evaluating the Gophish opensource phish kit which was downloaded from the Gophish website [33]. Gophish is used by security specialists and businesses to simulate real-world phishing scenarios. The Gophish tool is pre-built with binaries that can be used on most operating systems. For our study, the tool was installed on a Windows 10 workstation. The specification of the workstation are as follows: • • • •

Computer with 16 GB RAM, 250 GB hard drive and 2 – Core CPU. Windows 10 operating system was installed. Gophish application along with its prerequisites where installed. Email relay system was used to enable the system to be able to send out bulk emails.

The architecture of the environment setup is provided in Fig. 4. The Gophish phish kit allows us to create custom templates and targets. Its web UI consists of a full HTML functionality which allows us to edit any templates created right from the browser. It also allows us to launch campaigns and emails that are used for phishing to targets which can be scheduled to launch at any given time. The results are tracked in real-time directly from the dashboard as shown in Fig. 6 dashboard overview.

198

T. Mokoena et al.

Fig. 4. Environment overview

In our study the companies that we conducted the research which allowed us to run a competition campaign that was created to entice victims or users in the company with winning a Samsung cell phone. A landing page was also created which was used we cloned the intranet sites of both organisations. The landing page consisted of the same content the real sites had. Once the victims accessed landing page, they will be required to enter their personal details such as username, email, and passwords to enter the competition. When the campaign was ready bulk emails were sent out to victims with the malicious link embedded in the email, Fig. 5 below provides an example of the email sent to the users.

Fig. 5. Sample email (Authors’ own)

A misspelled internal IT Support email address was used which the targets supposed to have recognized to see if the email is coming from a reliable source. Figure 6 shows the Gophish overview dashboard with the sample results and the period of the campaign conducted.

Analysis of Social Engineering Attacks Using Exploit Kits

199

Fig. 6. Dashboard overview

4.2 Results Analysis In this section, we analyze the results from the phishing campaign performed against the two organisations that participated in the campaign. Table 1 shows the results of the overall evaluation results. The results illustrate that in: Table 1. Users targeted per organisation Organisations

Target count

Email(s) sent total

Victim actions Clicked on link

Completed action

Co-1

1398

1398

1388

906

Co-2

1621

1621

236

171

• Co-1, the target list had 1398 targets which all received the phishing emails sent from the Gophish kit. Then 1388 targets clicked on the link that was embedded in the email. Then 906 targets completed the actions required, which was to enter their network access username and password for them to enter the fake competition. • Co-2, the target list had 1621 targets which also received the phishing emails sent through the Gophish kit. Then 236 targets clicked on the link that was embedded in the email. Then 171 targets then completed the required actions which they also had to enter their network access username and password for them to enter the fake competition. Figure 7 shows the results per department in Co-1. This shows that the targets in each department in this organisation could have exposed their confidential information to the attackers. The department names shown below are not real department names, as the organisation requested that the real department names be obfuscated.

200

T. Mokoena et al.

PHISHING RESULTS BY DEPARTMENT 250

244 210

200 150

144

134 78

100

75 49

64 43

50

64

51

44

38

40

24 18

22 18

20 14

15 13

14 11

13 8

12 9

11 10

0

Clicked

Completed

Fig. 7. CO-1 departmental results

Figure 8 shows the regions affected in each country as this is a multinational organisation. Only five regions are shown in this table. CO-2 Per Region Results 150

103

100 50

39

24

29 23

8

79

57

41

4

0

Head Office Botswana

Uganda

Clicked Link

Zambia

Ghana

Submitted Data

Fig. 8. CO-2 per region results

Clicked 15%

85% CO-1

CO-2

Fig. 9. Clicked results per organisation

Analysis of Social Engineering Attacks Using Exploit Kits

201

Figure 9 shows a comparison of Co-1 with Co-2 on the amount of the target that clicked on the fake link which was embedded on the email. Co-1 had 85% of targets clicking on the link as compared to the 15% in Co-2. Figure 10 shows a comparison of completed actions per organisation, in Co-1 84% of the targets completed the actions as compared to the 16% in Co-2.

Completed 16%

84% CO-1

CO-2

Fig. 10. Completed actions per organisation

Figure 11 shows a comparison of the combined action per organisation with the targets that clicked and completed the actions in the phishing scenario.

Combined Actions Per Organisation 2500 2000 1500 1000 500 0 CO-1

CO-2

Clicked

Completed

Fig. 11. Combined actions per organisation

Figure 12 show the actions completed per organisation with the number of emails sent to victims or targets included a combined total in both organisations.

202

T. Mokoena et al.

Combined View Completed Action

171

Clicked on link

1077 906

236

Email(s) Sent Total

1624 1388 3019

1621 1398

0

500 1000 1500 2000 2500 3000 3500

Combined Total

CO-2

CO-1

Fig. 12. Completed actions with a combined view.

4.3 Discussion We analyzed a total of 3019 emails that were done through the Gophish kit against two different organisations that operate in different environments and industries. The only common thing that these organisation is that they are targets for cybercrime because of the enormous personal identifiable information these organisation process and handle on a day to day. The results indicate that a total of 1624 clicked links in the email. This action which have results in targets being redirected to the fake intranet website created. Once the targets are on the website, several actions could have taken place such as malicious code downloading and installing in the background without the target’s knowledge and consent. This would have happened even before the targets did anything further such as providing the information required to enter the fake competition. With a total of 1077 actions completed, this means that the attacker had a huge pool of credentials that were legitimately provided by the targets that could be used to perform further attacks with a combination of a malicious code being downloaded in the background. In comparing the two organisation the results in Figs. 7, 8, 9, 10, 11 and 12 shows that Co-1 will be highly impacted and would have provided a much broader approach and time to perform further attacks

5 Conclusion and Future Work In this study we successfully managed to analyse the impact of exploit kits used in social engineering attacks particularly in phishing attacks. Due to the threat posed by exploit kits, we simulated how a real-world exploit kit attacks its victims by using the Gophish phish kit in place of a real exploit kit. We used a session engineering session (SES) and social engineering dialogues (SED) framework and graph [32] for our case study. The results illustrated that the in a real-world cyber security attack through phishing the results could be devastating to organisations and individuals as users are vulnerable to social engineering attacks. For future work, we plan to evaluate and compare the old and new exploit kits and the models and architectures that can detect these exploit kits.

Analysis of Social Engineering Attacks Using Exploit Kits

203

In addition, we intend on extending these models and architectures to be able to detect client-side vulnerabilities that will assist in proactively preventing exploit kit attacks.

References 1. Sjouwerman, S.: Phishing and social engineering in 2018: is the worst yet to come? In: Social Engineering, p.35. KnowBe4 Website, KnowBe4 Inc. (2018) 2. Mckeay, M.: Phishing—Baiting the hook. In: Intelligent Security Starts at the Edge, p. 26. Akamai (2019) 3. Hadnagy, C. (ed.): Social Engineering. The Science of Human Hacking, 2nd edn., vol. 2. Wiley, Indianapolis (2018). IN 46256 4. Fruhlinger, J.: Social engineering explained: how criminals exploit human behavior (2019) 5. Australian Government: Australian cyber security centre threat report. In: Threat Report, Cyber Government, p. 24 (2016) 6. Verizon: Data breach investigations report. In: Data Breach Investigations Report 2017, p. 76. Verizon Enterprise, Verizon (2017) 7. Palo Alto Networks: Exploit kits - getting in by any means necessary. In: Unit42-exploit-kitswp-101716, p. 13. Palo Alto Networks Web Site (2016) 8. Scarfo, A.: Exploit kits for all. Blog (2016) 9. MDAR Team: Exploit kits remain a cybercrime staple against outdated software – 2016 threat landscape review series (2017) 10. Colen, C.: Exploit kits turn to malvertising for survival. In: Exploit Kits Turn to Malvertising for Survival. Pindrop blog, Pindrop (2018) 11. NJCCIC Exploit Kits: A Prevailing Vector for Malware Distribution. Threat Analysis (2015) 12. Microsoft Exploits and exploit kits (2019) 13. Andra, Z.: How Drive-by Download Attacks Work – From Disbelief to Protection. Heimdal Security (2016) 14. Enisa, ENISA Threat Landscape Report 2017. In: 15 Top Cyber-Threats and Trends, p. 114. ENISA (2018) 15. Chen, J.C., Li, B.: Evolution of exploit kits (2015) 16. McAfee Labs: McAfee Labs Threats Report. In: Threat Report, McAfee Labs (2018) 17. Segura, J.: Disdain exploit kit and a side of social engineering deliver Neutrino Bot in Disdain exploit kit and a side of social engineering deliver Neutrino Bot. Malwarebytes Blog, Malwarebytes (2017) 18. DeGrippo, S.: Social Engineering Breathes New Life Into Exploit Kits, Web-Based Attacks. In: Social Engineering Breathes New Life Into Exploit Kits, Web-Based Attacks. Proofpoint.com, Proofpoint (2017) 19. Kafeine EITest Nabbing Chrome Users with a “Chrome Font” Social Engineering Scheme (2017) 20. Salahdine, F., Kaabouch, N.: Social engineering attacks: a survey. Future Internet 11(4), 17 (2019) 21. Zheng, K., et al.: A session and dialogue-based social engineering framework. IEEE 7, 14 (2019) 22. Security, M.I.: Hacking the human operating system: the role of social engineering within cybersecurity. In: Threat Report, p. 20. McAfee (2015) 23. Lu, L., et al.: BLADE: an attack-agnostic approach for preventing drive-by malware infections. In: Proceedings of the 17th ACM conference on Computer and Communications Security 2010, pp. 440–450. ACM, New York (2010)

204

T. Mokoena et al.

24. Priya, M., Sandhya, L., Thomas, C.: A static approach to detect drive-by-download attacks on webpages. In: 2013 International Conference on Control Communication and Computing, ICCC 2013 (2013) 25. PCRisk New Malvertising Campaign Distributes Exploit Kit and Ransomware, vol. 1 (2019) 26. Segura, J.: Exploit kits: summer 2019 review. In: Malwarebytes 2019. Malwarebytes Inc., Malwarebytes (2019) 27. Trendmicro Lord Exploit Kit Rises, Delivers njRAT and Eris Ransomware. Cybercrime & Digital Threats, Exploits, Vulnerabilities, vol. 1 (2019) 28. Chandrayan, S.: Criminals increasingly using malvertising to direct victims to exploit kits. In: Security Response. Symantec, Symantec (2017) 29. Kotov, V., Massacci, F.: Anatomy of exploit kits, pp.181–196. Springer, Heidelberg (2013) 30. Kurniawan, A., Fitriansyah, A.: What is exploit kit and how does it work? Int. J. Pure Appl. Math. 118(Special Issue), 509–516 (2018) 31. Cannell, J.: Tools of the Trade: Exploit Kits, vol. 1 (2013) 32. Zheng, K., et al.: A session and dialogue-based social engineering framework. IEEE 7, 67781– 67794 (2019) 33. Wright, J.: Gophish kit (Gophish Website) (2019). https://getgophish.com/. Accessed Oct 2019

Bipolar Disorder: A Pathway Towards Research Progress in Identification and Classification K. A. Yashaswini(B) and Shreyas Rao Department of Computer Science and Engineering, School of Engineering, Presidency University, Bengaluru, India [email protected]

Abstract. Bipolar Disorder is one of the critical forms of mental illness in psychiatry and study towards mental illness. Although there are commercial medical practices to cure this Disorder, still there is a significant level of challenges that acts as an impediment for technological advancement to solve it. There is a very less computational model that offers an error-free diagnosis of bipolar Disorder, unlike other disease condition which has groundbreaking research. This paper has discussed the significance of Bipolar Disorder as well as briefed about significant challenges in order to involve technological factors in it. It also briefs about the existing research work being carried out towards identifying this state of illness, followed by a discussion of existing trends of research work in solving this medical condition. Finally, the paper contributes to highlighting the research gap, which should be addressed in order to develop a computational model. Keywords: Bipolar Disorder · Mental illness · Depression · DSM-5 · Diagnosis · Classification

1 Introduction Mental illness is one of the most challenging medical situations for many decades as there is a straight forward diagnosis, treatment, and assurance of medications [1]. Majority of the treatments are quite symptomatic and depends upon the success factor of similar prior cases or the expertise of attending psychiatrist. Bipolar Disorder is considered as one of the challenging mental illnesses, and it results in fluctuation in various behavior aspects of human viz. ability to perform tasks regularly, levels of activity, energy, mood, etc. [2, 3]. From clinical viewpoint, all the different types of bipolar disorder exhibit nearly similar symptoms, which range from a different duration of time. The standard types of bipolar disorder are as follows: i) Bipolar I Disorder, ii) Bipolar II Disorder, iii) Cyclothymia, iv) Unspecified Bipolar [4, 5]. The physical symptom exhibited during bipolar Disorder differs in a different respect. Patients with depressive bipolar disorder exhibit different symptoms with maniac bipolar disorder [6]. The next challenge comes related to the diagnosis of bipolar disease. There are some potential risks for patients who have bipolar disorder. The prime risk factor is associated with abnormal functioning and alteration in the structuring of the brain. The diagnosis of bipolar disease is currently © Springer Nature Switzerland AG 2020 R. Silhavy (Ed.): CSOC 2020, AISC 1224, pp. 205–214, 2020. https://doi.org/10.1007/978-3-030-51965-0_17

206

K. A. Yashaswini and S. Rao

carried out using physical examination, psychiatric assessment, mood charting, etc. [7, 8]. The treatment of bipolar disorder consists of medication, continued treatment, day treatment programs, substance abuse treatment, and hospitalization. The medication includes mood stabilizers, antipsychotic drugs, antidepressant drugs, anti-anxiety drugs [9, 10]. However, there are always some significant and potential side effects of using such drugs, which are sometimes life-threating too. According to one study carried out by Swaroopachary et al. [11], it is seen that bipolar Disorder ranges approximately 0.5% in India, which is around 0.51 to 21 per thousands of population. This range is increasing every year. From a research viewpoint, there are various contributions of existing researchers and investigators towards evolving better forms of diagnostics and evaluation methods towards this Disorder. This research paper is about reviewing the current state of research contribution to the diagnosis of bipolar disorders and extracts the research gap in this regard. The organization of the proposed paper is as follows: Sect. 2 highlights the challenges associated with diagnosing bipolar disorders, followed by a discussion of existing research approaches in Sect. 3. Discussion of the dataset used in research work is briefed in Sect. 4, while Sect. 5 highlights trends of research work in current times. Section 6 highlights the research gap, while concluding remarks are made in Sect. 7.

2 Challenges One of the potential problems associated with a diagnosis is basically to understand the difference between unipolar to bipolar depressive [12]. Apart from this, the next challenge is related to the efficiency of therapeutic factors (mainly connected with side effects) along with its limit of tolerability. At present, DSM-5 is considered as the standard for bipolar diagnosis disorder; however, it is quite sophisticated as it is associated with confounding comorbidities, and it includes quite fluctuating symptoms and is also complex [13]. There are various limitations of DSM-5 that don’t support an effective diagnosis of bipolar Disorder even though new attributes, e.g., depressive episodes, hypomanic, and manic, are now added. In current times, the standard tools used for screening bipolar disorders are based on questionnaires associated with mood disorders and other health-related facts. The next challenge is related to the over-diagnosis of Bipolar Disorder [14]. Over-diagnosis affects the complete treatment process as they will always have an adverse inclusion of unwanted labeling, which will lead to wrong treatments. From the computational modeling viewpoint, an effective solution towards correctly identifying bipolar Disorder itself is a big challenge. There are various machine learning approaches that could be possibly used, but what matters here is a consideration of error-free input about the types of bipolar disorder. This is the prime reason that there is no specific and unique standard protocol to treat this disease as identifying the person suffering from this disorder itself is a big challenge. Therefore, there is a need to spend more years considering various massive ranges of data in order to formulate the precise identification of Bipolar Disorder.

Bipolar Disorder: A Pathway Towards Research Progress

207

3 Existing Approaches This section discusses the existing research-based approaches towards assisting the precise characterization of Bipolar Disorder in the domain of mental illness. The majority of the work towards investigating bipolar Disorder is carried out clinically. The work carried out by Qassem et al. [15] has used a spectroscopy-based method in order to study the impact of lithium in blood level as an attribute that assists in stabilizing the mood. Machine learning has always been playing a significant role in the identification of a mental illness. Most recently, the work carried out by Matsubara et al. [16] has deployed deep neural network using radiological imaging data where Bayes’ rule are used for conditioning various explicit assumption. The core target was to differentiate bipolar disorder from schizophrenia. The study has also used different generative models as well as discriminative model associated with the feature extraction. Another interesting approach has been formulated by Palmius et al. [17], where various information about the movement and activity of the patient over different geographic locations is considered. The data are collected from questionnaires, where the wrapper function is used for feature selection where the regression model is used (Fig. 1).

Entropy Location variance

Total Distance Features

Transition Time

Number of Cluster Diurnal Movement

Fig. 1. Frequently used features

Existing researchers have studied brain signals in the form of electroencephalogram (EEG) in order to investigation Bipolar Disorder. The work carried out by Alimardani et al. [18] has considered EEG signals when affected by external stimuli for assisting in classifying the stage of bipolar disorders. At a specific frequency of 16 Hz, a photonic stimulation is given to the patients where descriptive statistical measures are recorded. The study outcome shows that the k-nearest neighbor is found to offer higher accuracy. The problems associated with the identification of an explicit state of bipolar Disorder are carried out by Grunerbi et al. [19]. The authors have used smartphone-based identification of the mood. Using the real-time dataset, the study was carried out. Existing studies have also emphasized on differentiating bipolar Disorder from generalized depression. The work carried out by Jie et al. [20] have used support vector machine for performing this form of linear classification. The authors have carried out a feature selection approach using an exclusive search strategy of forward-backward scheme. The analysis results in the extraction of significant and consensus feature according to the study, atypical nodes potentially assist in identifying the bipolar patients. Apart from the above research-based approaches, the existing system has also witnessed a slightly off-beat research stream where unique methods are introduced. The

208

K. A. Yashaswini and S. Rao

studies carried out by Monteith et al. [21] have used a big data approach for investigating Bipolar Disorder. The data are captured in the form of electronic medical records, which are integrated by various passive monitoring devices with the patients. The study has discussed various challenges where a big data approach will be deployed for researching on bipolar disorders. Existing studies also suggest that evaluation of momentary ecological factors have a significant impact on the study towards the identification of Bipolar Disorder. The idea of the study carried out by Galvan-Tejada [22] is to monitor the activity of the patient in order to generate data that can assist in the identification process. An exclusive method of extraction of feature is carried out using a statistical approach that contributes towards the non-invasive mechanism of identifying Bipolar Disorder. The study carried out by Valenza [23, 24] has used both linear as well as non-linear features for this purpose and has used an autoregressive framework. Finally, multilayered perceptron has been used for performing classification of the state of depression. According to the author, Bipolar Disorder is a combination of the various states of mood-related to hypomania. The problem that is addressed by this author is that it is quite challenging to identify if the patient has bipolar disorder as there is no biological indicator about it. This part of the implementation is carried out by considering two standard states of mind i.e., euthymic and non-euthymic state. Wearable sensors did the accumulation of data. Apart from this, various other works have been carried out most recently. The adoption of association rule was proven to be contributing to the bipolar investigation disorder (Castro et al. [25]). Deep learning has been reported to assists in solving classification problems (Evgin et al. [26]). The work carried out by Cigdim et al. [27] have used dimensional reduction, support vector machine, and principal component analysis. The predictive-based approach towards the depressive state was reported in the work of Junior et al. [28] associated with machine learning scheme. The study has multiple machine learning schemes for this forecasting operation. Cigdim et al. [29] have also carried out the study towards classification patients suffering from bipolar disorder. The study has used a statistical approach for this purpose. Another unique form of recent work was to see the use of a fusion of features along with an in-depth learning approach, as seen in the work of Ebrahim et al. [30]. The recent work carried out by Amiriparian et al. [31] has used audio files for constructing a spectrogram in order to diagnose bipolar disorder. The study carried out by Garcia-Ceja et al. [32] have analyzed sensory data where machine learning has been used for carrying out the classification of data. The nearly similar sector of work is also carried out by Huang et al. [33]. A structural model of the latent attribute has been used for bipolar diagnosis disorder. The study outcome has been analyzed using the clustering method, where an in-depth learning approach has been further applied for this purpose. Therefore, various strategies are being carried out towards investigating Bipolar Disorder, where the majority of the approaches are inclined towards qualitative study. The next section discusses the availability of datasets used in research work in diagnosis bipolar Disorder.

4 Dataset Used in Research The investigation towards the mental illness (Bipolar Disorder) is carried out using the following datasets that are publically available:

Bipolar Disorder: A Pathway Towards Research Progress

209

• Depression Dataset [34]: The construction of this dataset was carried out considering biological signals captured from the sensors using actigraph with 32 Hz sampling frequency. This dataset consist of both controls and conditioning groups associated with bipolar Disorder aggregated from the patients over the test duration. Important information that can be extracted from this dataset viz. identifier of the patient, duration of the assessment, age, gender, date of measurement, scores of activity, type of bipolar, and interval in the form of a timestamp. This dataset can be used for identifying the state of depression, as well as it is claimed to be suitable for classification using machine learning. It is also reported to assist in the analysis of sleeping patterns and prediction of the score for the Montgomery–Asberg Depression Rating Scale based on motor activity. Finally, different variants for the classification of machine learning can also be applied to this dataset. Adoption of this dataset has been reported in the work of Garcia-Ceja et al. [35], Galvan-Tejada et al. [36], and Frogner et al. [37]. • Adult Depression (LGHC Indicator) [38]: This dataset is based on California-based patients. The dataset consists of information about various risk factors reported by patients, health condition, chronic behavior, and preventive mechanism adopted. It consists of year, strata, frequency, weighted frequency, percent, higher, and lower confidence interval. • Connecticut Data Collaborative [39]: This dataset is based on Connecticut-based participants concerning potential depressive episodes and suicidal tendencies. It has information about the location, brief information about the mental health, age, and precision score.

5 Research Trends At present, there are good starts in the area of investigation towards identifying Bipolar Disorder. Figures 2, 3 and 4 highlights the research trend with respect to cumulative research, diagnosis problem, and classification problem. The graphical representation of scores of research publication shows that there are very much less number of implementation work, and more manuscripts are written for discussion of research topics

Fig. 2. Total research trends (2014–2019)

210

K. A. Yashaswini and S. Rao

Fig. 3. Research trends on diagnosis problems (2014–2019)

Fig. 4. Research trends on classification problems (2014–2019)

associated with Bipolar Disorder. It is required to understand that diagnosis as well as the classification is a very important part of implementation for solving the challenges towards Bipolar Disorder. The scores of publication of the last 5 years show that there are very less number of work being carried out in this regard and more emphasis is now required. These research trends scores are considered to be motivational factor in encouraging the need for more comprehensive work towards the problem.

Bipolar Disorder: A Pathway Towards Research Progress

211

6 Research Gap Studies towards improving the process of bipolar Disorder with respect to computational modeling are just a beginning. This section highlights the open end research issues that are found not to be addressed in existing research work. The significant research gaps explored from the proposed review work are as follows: • Less emphasis is offered to the input data while attempting computational modeling towards bipolar diagnosis disorder. Existing studies don’t address this problem calling for less validated outcomes. • There is a need to extract information associated with behavioral factors related to this Disorder in order to construct effective modeling which is not found in existing research approaches. • Existing approaches also doesn’t deal with longitudinal information associated with the bipolar Disorder without which the applicability over psychological and psychological aspect cannot be determined. • At present, there is no computational modeling, or any form of framework explored that deals with the dynamics of mood. The mood is associated with various fluctuating parameters that were never a part of any study. • Although machine learning approaches have been attempted in this case, there are lesser studies that offer robust predictive modeling towards a diagnosis of bipolar disease. • Existing approaches also lack involvement of any form of correlation analysis associated with both linearity and non-linearity of the indicators of the Bipolar Disorder.

7 Conclusion There is no doubt that technological advancement has some of the groundbreaking research work towards solving some of the critical medical conditions too. The inclusion of science, analysis, computation, and modeling has a long history in medical science. However, things are different in the case of psychiatry, especially considering the case study of bipolar disease. The biggest challenge in this mental illness is to accurately find the correct state of the patient during diagnosis and treatment of it. This preliminary step itself is a more significant challenge to mitigate. Therefore, this paper discusses the existing research-based approaches that deal with offering solution towards identifying Bipolar Disorder. The paper also highlights that there are many factors that lead to challenges and are required to be overcome. Our future work will be in the direction of overcome these issues.

References 1. Grinspoon, L., Bakalar, J.B.: The use of cannabis as a mood stabilizer in bipolar disorder: anecdotal evidence and the need for clinical research. J. Psychoactive Drugs 30(2), 171–177 (1998)

212

K. A. Yashaswini and S. Rao

2. Yatham, L.N., Kennedy, S.H., Schaffer, A., Parikh, S.V., Beaulieu, S., O’Donovan, C., MacQueen, G., et al.: Canadian Network for Mood and Anxiety Treatments (CANMAT) and International Society for Bipolar Disorders (ISBD) collaborative update of CANMAT guidelines for the management of patients with bipolar disorder: update. Bipolar Disord. 11(3), 225–255 (2009) 3. Ketter, T.A., Kimbrell, T.A., George, M.S., Dunn, R.T., Speer, A.M., Benson, B.E., Willis, M.W., et al.: Effects of mood and subtype on cerebral glucose metabolism in treatmentresistant bipolar disorder. Biol. Psychiat. 49(2), 97–109 (2001) 4. Zimmerman, M., Morgan, T.A.: The relationship between borderline personality disorder and bipolar disorder. Dialogues Clin. Neurosci. 15(2), 155 (2013) 5. Duffy, A., Alda, M., Crawford, L., Milin, R., Grof, P.: The early manifestations of bipolar disorder: a longitudinal prospective study of the offspring of bipolar parents. Bipolar Disord. 9(8), 828–838 (2007) 6. Hirschfeld, R., Lewis, L., Vornik, L.A.: Perceptions and impact of bipolar Disorder: how far have we really come? Results of the National Depressive and Manic-Depressive Association 2000 survey of individuals with bipolar Disorder. J. Clin. Psychiatry (2003) 7. Schriger, D.L., Gibbons, P.S., Langone, C.A., Lee, S., Altshuler, L.L.: Enabling the diagnosis of occult psychiatric illness in the emergency department: a randomized, controlled trial of the computerized, self-administered PRIME-MD diagnostic system. Ann. Emerg. Med. 37(2), 132–140 (2001) 8. Barnes, R.F., Mason, J.C., Greer, C., Ray, F.T.: Medical illness in chronic psychiatric outpatients. Gener. Hosp. Psychiatry 5(3), 191–195 (1983) 9. Piparva, K.G., Parmar, D.M., Singh, A.P., Gajera, M.V., Trivedi, H.R.: Drug utilization study of psychotropic drugs in outdoor patients in a teaching hospital. Indian J. Psychol. Med. 33(1), 54 (2011) 10. Pickar, D., Vinik, J., Bartko, J.J.: Pharmacotherapy of schizophrenic patients: preponderance of off-label drug use. PLoS ONE 3(9), e3150 (2008) 11. Swaroopachary, R.S., Kalasapati, L.K., Ivaturi, S.C., Pavan Kumar Reddy, C.M.: Disability in bipolar affective disorder patients in relation to the duration of illness and current affective state. Arch. Ment. Health 19(1), 37 (2018) 12. Abrams, R., Taylor, M.A.: Unipolar and bipolar depressive illness: phenomenology and response to electroconvulsive therapy. Arch. Gener. Psychiatry 30(3), 320–321 (1974) 13. Resick, P.A., Bovin, M.J., Calloway, A.L., Dick, A.M., King, M.W., Mitchell, K.S., Suvak, M.K., Wells, S.Y., Stirman, S.W., Wolf, E.J.: A critical evaluation of the complex PTSD literature: implications for DSM-5. J. Traumatic Stress 25(3), 241–251 (2012) 14. Ghouse, A.A., Sanches, M., Zunta-Soares, G., Swann, A.C., Soares, J.C.: Overdiagnosis of bipolar disorder: a critical analysis of the literature. Sci. World J. 2013 (2013) 15. Qassem, M., Constantinou, L., Triantis, I.F., Hickey, M., Palazidou, E., Kyriacou, P.A.: A method for rapid, reliable, and low-volume measurement of lithium in blood for use in bipolar disorder treatment management. IEEE Trans. Biomed. Eng. 66(1), 130–137 (2018) 16. Matsubara, T., Tashiro, T., Uehara, K.: Deep neural generative model of functional MRI images for psychiatric disorder diagnosis. IEEE Trans. Biomed. Eng. 66, 2768–2779 (2019) 17. Palmius, N., Tsanas, A., Saunders, K.E.A., Bilderbeck, A.C., Geddes, J.R., Goodwin, G.M., De Vos, M.: Detecting bipolar depression from geographic location data. IEEE Trans. Biomed. Eng. 64(8), 1761–1771 (2016) 18. Alimardani, F., Cho, J.-H., Boostani, R., Hwang, H.-J.: Classification of bipolar disorder and schizophrenia using steady-state visual evoked potential based features. IEEE Access 6, 40379–40388 (2018) 19. Grünerbl, A., Muaremi, A., Osmani, V., Bahle, G., Oehler, S., Tröster, G., Mayora, O., Haring, C., Lukowicz, P.: Smartphone-based recognition of states and state changes in bipolar disorder patients. IEEE J. Biomed. Health Inform. 19(1), 140–148 (2014)

Bipolar Disorder: A Pathway Towards Research Progress

213

20. Jie, N.-F., Zhu, M.-H., Ma, X.-Y., Osuch, E.A., Wammes, M., Théberge, J., Li, H.-D., Zhang, Y.: Discriminating bipolar disorder from major depression based on SVM-FoBa: efficient feature selection with multimodal brain imaging data. IEEE Trans. Auton. Mental Dev. 7(4) (2015) 21. Monteith, S., Glenn, T., Geddes, J., Whybrow, P.C., Bauer, M.: Big data for bipolar disorder. Int. J. Bipolar Disorders 4(1), 1–18 (2016). https://doi.org/10.1186/s40345-016-0051-7 22. Galván-Tejada, C.E., Zanella-Calzada, L.A., Gamboa-Rosales, H., Galván-Tejada, J.I., Chavez-Lamas, N.M., Gracia-Cortés, M., Magallanes-Quintanar, R., Celaya-Padilla, J.M.: Depression episodes detection in unipolar and bipolar patients: a methodology with feature extraction and feature selection with genetic algorithms using activity motion signal as information source. Mob. Inf. Syst. 2019 (2019) 23. Valenza, G., Citi, L., Gentili, C., Lanata, A., Scilingo, E.P., Barbieri, R.: Characterization of depressive states in bipolar patients using wearable textile technology and instantaneous heart rate variability assessment. IEEE J. Biomed. Health Inform. 19(1), 263–274 (2014) 24. Valenza, G., Nardelli, M., Lanata, A., Gentili, C., Bertschy, G., Kosel, M., Scilingo, E.P.: Predicting mood changes in bipolar disorder through heartbeat nonlinear dynamics. IEEE J. Biomed. Health Inform. 20(4), 1034–1043 (2016) 25. Castro, G., et al.: Applying association rules to study bipolar disorder and premenstrual dysphoric disorder comorbidity. In: 2018 IEEE Canadian Conference on Electrical & Computer Engineering (CCECE), Quebec City, QC, pp. 1–4 (2018) 26. Evgin, H.B., et al.: Classification of fNIRS data using deep learning for bipolar disorder detection. In: 2019 27th Signal Processing and Communications Applications Conference (SIU), Sivas, Turkey, pp. 1–4 (2019) 27. Cigdem, O., et al.: Effects of covariates on classification of bipolar disorder using structural MRI. In: 2019 Scientific Meeting on Electrical-Electronics & Biomedical Engineering and Computer Science (EBBT), Istanbul, Turkey, pp. 1–4 (2019) 28. Borges-Júnior, R., Salvini, R., Nierenberg, A.A., Sachs, G.S., Lafer, B., Dias, R.S.: Forecasting depressive relapse in Bipolar Disorder from clinical data. In: 2018 IEEE International Conference on Bioinformatics and Biomedicine (BIBM), Madrid, Spain, pp. 613–616 (2018) 29. Cigdem, O., et al.: Classification of healthy siblings of bipolar disorder patients from healthy controls using MRI. In: 2019 Medical Technologies Congress (TIPTEKNO), Izmir, Turkey, pp. 1–4 (2019) 30. Ebrahim, M., Al-Ayyoub, M., Alsmirat, M.: Determine bipolar disorder level from patient interviews using Bi-LSTM and feature fusion. In: 2018 Fifth International Conference on Social Networks Analysis, Management and Security (SNAMS), Valencia, pp. 182–189 (2018) 31. Amiriparian, S., et al.: Audio-based recognition of bipolar disorder utilising capsule networks. In: 2019 International Joint Conference on Neural Networks (IJCNN), Budapest, Hungary, pp. 1–7 (2019) 32. Garcia-Ceja, E., et al.: Motor activity based classification of depression in unipolar and bipolar patients. In: 2018 IEEE 31st International Symposium on Computer-Based Medical Systems (CBMS), Karlstad, pp. 316–321 (2018) 33. Huang, K., Wu, C., Su, M., Kuo, Y.: Detecting Unipolar and bipolar depressive disorders from elicited speech responses using latent affective structure model. IEEE Trans. Affect. Comput. (2018) 34. The Depresjon Dataset: Simula. Accessed 24 Dec 2019 35. Garcia-Ceja, E., Riegler, M., Jakobsen, P., Tørresen, J., Nordgreen, T., Oedegaard, K.J., Fasmer, O.B.: Depresjon: a motor activity database of depression episodes in unipolar and bipolar patients. In: Proceedings of the 9th ACM Multimedia Systems Conference, pp. 472– 477. ACM (2018)

214

K. A. Yashaswini and S. Rao

36. Galván-Tejada, C.E., Zanella-Calzada, L.A., Gamboa-Rosales, H., Galván-Tejada, J.I., Chavez-Lamas, N.M., Gracia-Cortés, M., Magallanes-Quintanar, R., Celaya-Padilla, J.M.: Depression episodes detection in unipolar and bipolar patients: a methodology with feature extraction and feature selection with genetic algorithms using activity motion signal as information Source. Mob. Inf. Syst. 2019 (2019) 37. Frogner, J.I., Noori, F.M., Halvorsen, P., Hicks, S.A., Garcia-Ceja, E., Torresen, J., Riegler, M.A.: One-dimensional convolutional neural networks on motor activity measurements in detection of depression. In: Proceedings of the 4th International Workshop on Multimedia for Personal Health & Health Care, pp. 9–15. ACM (2019) 38. Adult Depression (LGHC Indicator 24). CHHS Open Data. Accessed 24 Dec 2019 39. “Mental Health”. Connect Data Collaborative. Accessed 24 Dec 2019

Managing Electronic Waste with Recycling: A Review of Developing and Developed Regions Ramadile Moletsane(B) Vaal University of Technology, Private bag x 021, Vanderbijlpark, South Africa [email protected]

Abstract. The objective of the study is twofold: first is to explore how electronic waste (e-waste) is managed through recycling in the developing and developed regions. Secondly, the study suggest approach towards recycling of e-waste in a manner friendly to the environment. This review paper was prompted by the escalating rate at which electronic waste is growing around the world. Electronic waste when poorly managed it has damaging effects on the environment and health. The paper is a narrative overview of the literature synthesizing the findings of literature retrieved from online database searches and grey literature. Hand searches of the references of retrieved literature were conducted. Findings indicated that developing countries mostly follow unsafe and unregulated recycling methods. The reasons for engaging in these activities range from unemployment and poverty, lack or limited awareness about e-waste damaging effects on health and the environmental. On the other hand, developed regions are in illicit exportation of e-waste. The causes range from the high cost of recycling in developed countries, strict regulations, disguising e-waste as a donation and mislabeling of export containers. The study therefore, suggests that formal recycling and informal recycling be combined to reap the benefits of both. Informal recycling has a grand collection system whereas formal uses relatively safer facilities. In order for collaboration to happen incentives (preferably financial) are to be in place for informal recyclers. Secondly informal recyclers need to be educated about the harmful effects of unsafe recycling practices on their health and the environment. Keywords: Electronic waste · Recycling · E-waste management · Health · Environment

1 Introduction Electronic waste (e-waste) is one of the fastest growing streams of municipality waste due to short life span and growing demand for modern electronic and electrical equipment [1]. The reality is that electronic gadgets are an integral part of our lives. Their presence is observed in education, business and elsewhere. However, these benefits come at a price. The more we have these gadgets the greater the volume of obsolesce [2]. In 2014 a total of 41.8 million metric tons (Mt) were delivered. 44.7Mt and 48.7Mt were deposited in 2016 and 2017 respectively. The volume is expected to grow by 21% to 50Mt in 2018 [3, 4]. It is estimated that in 2021the total volume of e-waste generated © Springer Nature Switzerland AG 2020 R. Silhavy (Ed.): CSOC 2020, AISC 1224, pp. 215–225, 2020. https://doi.org/10.1007/978-3-030-51965-0_18

216

R. Moletsane

around the globe would be around 52.2 million Mt [5]. One of the major problems with ewaste is its toxicity and non-degradability as e-waste comprise of highly toxic substances such as mercury, barium and zinc [6]. These hazardous materials, when managed poorly, put human health and the environment in harm’s way. There have been countless reports of the devastating effects of e-waste on health and ecology [7, 8]. In the context of this study obsolete electronic waste regardless of their working status are referred to as ewaste. Literature provides numerous definitions of e-waste, hence there is no definite definition of e-waste around the world [1]. According to Needhidasan, Samuel and Chidambaram [1] there is no standard definition of electronic waste. Therefore, in the context of this paper e-waste is defined as any electric powered device that has been discarded by the owner regardless of its current working state. Usually, electronic gadgets get thrown away after their functional status has elapsed. Some of these gadgets find a home in our workplace offices, home drawers and closets due to the absence of knowledge of what do to with them [9]. According to Rao [10], most of these e-waste eventually got mixed with other municipal garbage in our rubbish bins and end up in landfills. Ashfaq and Khatoon [11] suggested that the growing volume of e-waste is one of the challenges in today’s world. Growing levels of e-waste eventually translates to increased wellbeing risks and environmental problems. These soaring volumes of e-waste call for reduction or elimination methods and one such methods is recycling [11]. Management of e-waste through informal recycling has been a concern in many developing countries. Literature posits that in these countries e-waste is poorly recycled [1, 7]. The absence of infrastructure, insufficient capital, inadequate legislation, poverty and political unwillingness have been identified as major contributors to unsafe recycling [2, 12]. Informal recycling carries devastating effects on human wellbeing and the environment [7, 8]. Hence, this review has focused on the management of e-waste through recycling.

2 Methods In order to improve the quality of this narrative review paper the author borrowed from systematic review methodologies that are aimed at reducing bias in selecting information for review [13]. In narrative reviews, there are no acknowledged guidelines in selecting data for the review [13, 14]. In this paper, the data for the review were collected using the following guidelines: The data used to write this paper were collected from the computerised databases: Elsevier, ScienceDirect and SpringerLink. The date for all database search ranged from 2011 to 2018. The grey literature was also added. The search was done using the keywords. A hand search of the references of the retrieved literature we also conducted. Review of unpublished primary research and grey literature. Articles published in other languages rather than English were excluded. The reason to exclude other articles based on language was the difficulty in reaching translators. The keywords used were “e-waste”, “electronic waste”, “informal recycling”, formal recycling” and “electronic waste recycling”.

Managing Electronic Waste with Recycling

217

3 Findings According to Bartl [15] the first written record of the use of the word “recycle” was in 1924 in the field of oil refining and alike industries. In the context of this paper recycling is defined as a process of breaking down electronic waste to turn it back to raw materials that will be used to produce new products. Recycling is the third favourable waste management option after reduce and reuse whereas landfill is one of the least favourable waste management method [1]. Recycling is important because it reduces consumption of primary raw materials needed to produce new product [16]. Given the importance of recycling, it has some drawbacks such as lacking to tackle the cause of waste but symptoms [15]. This limitation can be attributed to the fact that recycling takes effect only after the end of life of a product [1]. In addition to what has been said, recycling has sectors namely formal and informal [17]. The formal recycling takes place under relative safer conditions to informal recycling [2]. According to Needhidasan, Samuel and Chidambaram [1] to informal recycling is performed mostly in the open and under unsafe conditions that are damaging to the environment and health. Regardless of the recycling sector, recycling workers are mostly identified as poor and have less education than the respective population average [2]. In the next sections the paper will look into how e-waste is recycled in both developing and developed regions. It is considered important in this paper to first talk about the common benefits of recycling e-waste before progressing to recycling methods of ewaste used in both developing and developed regions and other issues. The main benefit is to prevent toxic materials being released into the environment. Other secondary benefits of e-waste recycling are monetary [2, 7, 18]. 3.1 Recycling of Electronic Waste in Developed Regions Developed countries ignore recycling their waste, they found the easy way of shipping it to the developing countries [15, 19]. Henceforth the term region will be used interchangeably with the term county. According to Needhidasan, Samuel and Chidambaram [1] about 50% to 80% of the e-waste collected for recycling in the United States was actually dumped to the developing regions such as West African countries and in Asian countries such as China and India. Exportation of domestic e-waste to the developing regions is prohibited by international conventions notably the United Nations Basel conversion [20, 21]. E-waste is classified as hazardous waste due to the amount of toxicity in the components. These amounts are said to be higher in amount than the allowed [1]. According to Park, Hoerning, Watry, Burgett and Matthias [7], information technology is in the forefront in the generation of hazardous chemicals that originate from a variety of components such as computers and other devices. The composition of e-waste is complex and contains over than a thousand different substances. Most of these substances or materials are highly toxic and not biodegradable [1, 22]. The next paragraph discusses why developed countries avoid their waste by sending it off to developing countries.

218

R. Moletsane

• Disguising e-waste as a donation to the developing countries [2]. Out of 60 thousand tons of second hand electronic equipment shipped to Nigeria, at least 15,400 of equipment was found not to be working. The 60, 000 tons of shipment was from European Union countries for the year 2015 and 2016 [23]. • Intentional mislabeling of containers of waste. They (companies in the developed regions) will label containers with labels that falsely classify the waste [7]. • Another reason for the illegal exportation of e-waste to the developing regions is low chances of getting caught [24]. • Loopholes in the e-waste laws and regulations: The loopholes in the current e-waste regulations permit the exportation of e-waste from the developed to the developing countries under the disguise of donations and recycling purposes. It is estimated that 75% to 80% of e-waste is exported to the developing countries such as China, India, Nigeria for example [2]. On that note, this paper also seeks to understand what lead to developed countries preferring exporting waste rather than taking responsibility to recycle what is theirs. According to Tangermann [25] current devices (e.g. smartphones, computers) e-waste is almost impossible to recycle, labour intensive and difficult to disassemble into their components. So developed countries resorted to making their problem someone’s problem by exporting the bulk of their domestic e-waste to other developing regions. It was found that 77% of e-waste shipped to Nigeria is from European countries whereas the remaining 23% was from both China and the United States. The total amount of waste that made its way to the shores of Nigeria was about 60 thousand tons [25]. The problem of developed regions namely the United States and most of European Union countries is that much of their e-waste is discarded instead of being recycled [26]. Based on what has just been said, recycling takes place at a minimal rate in the United States and around most European Union countries. Literature has shown that recycling of e-waste does happen in developed regions [1, 7]. Even so, a great sheer of e-waste is exported, but why? E-waste cannot be used again but separated and recycled. It is quite evident that developed countries are reckless towards their waste. Developed regions companies’ recklessness is due to many reasons of which include the following: • Tight regulation on e-waste with heavy penalties in the developed countries, European Union countries have more stringent rules when coming to e-waste management. The recycling rate of e-waste in European Union countries is about 35% and the European Union is leading the world in e-waste recycling [27]. Where does the rest of the European Union waste end? According to Perkins, Brune Drisse, Nxele and Sly [2], approximately 25% of e-waste generated in the European Union is recycled in the formal sector and the remaining 75% is unreported and untraceable. In the year 2005, about 47% of the inspected e-waste from 18 European seaports bound for export was exported illegally [2]. 80% of the e-waste generated in the United States is untraceable [2]. In late 1980 and early 1990 s, the tightening of environmental regulations in the developed regions has caused the cost of disposing of e-waste local skyrocket [22]. According to Park, Hoerning, Watry, Burgett and Matthias [7] because of the introduction of stringent environmental rules in the developed countries, companies had to spend a

Managing Electronic Waste with Recycling

219

lot of money, time and other resources in order to safely dispose of e-waste in their countries [7]. Irresponsible companies then resorted to illegal exportation of e-waste and other hazardous waste into the developing regions to avoid the cost [15]. On the other hand, the United States do not have nationwide rules to promote the recycling of e-waste. Again where does the United States waste end, recycling? Most of United States e-waste exports comprises of donated electric and electronic equipment and often defunct [2]. About 20% of United States e-waste is officially recycled and the rest of the remaining 80% diminishes in the global illegal market of e-waste [2]. Here are some of the factors that makes it hard to safely recycle e-waste in the developed countries through the right and safer technology are available: • The high cost associated with recycling under controlled conditions using state of the art facilities in developed countries [26, 28]. According to Passafaro [29], the United States is the only developed region still exporting e-waste in high volumes to the developing countries. United States companies aim is to avoid the high cost of recycling domestically, hence money-saving effort by the United States. Companies in the developed regions who bypass recycling in their countries do value profit over the environment [26]. Only a handful few of companies recycle domestically despite the high cost of recycling. They allow responsibility and ethics to come first over the high cost and low profitability of recycling domestically [29]. • Playing catch-up by recyclers of electronic waste Today’s gadgets are becoming smaller in sizes and complex in composition. The difficulty in their arrangement means that retrieving the value from them when they have reached their end of life stage demand more work. Most of the products that we buy currently are designed to be difficult to recycle [30]. The recyclers have to continually come up with new technologies and methods to match the fast-paced cycle of new products and new technologies. It appears as if they are at risk of losing the race [30]. • Recycling becoming less profitable The recycling business in terms of profits in developed countries is declining because companies use fewer minerals in their products to save costs [31]. Most companies in the developed countries resort to shipping their waste or keeping them in warehouses to avoid associated cost with recycling processes that are friendly to the environment [15]. “Responsible recyclers lose business every day to companies that ship electronic scrap overseas or simply dump it in warehouses instead of processing it,” says Houghton, who is also the Chief Executive Officer of Sage Sustainable Electronics, a technology services company focused on extending the useful life of technology [31]. The United States is the only country in the developed world that have signed the but not ratified the Basel Convention on hazardous waste [31]. Non-ratification seems to give the United States leverage to abuse the system. E-waste is classified as hazardous waste because toxicity of the most materials present in electric and electronic equipment exceed the threshold [32]. According to Mansfield [33], some of the e-waste components are highly toxic but recovery of their trace metals (e.g. gold, nickel and tin) is not economically viable. For example, printed wired boards have the highest level of variety toxins but recovery of valuable metals is not profitable [33]. This is so due to the high cost of handling secondary pollutants in controlled recycling facilities. This means printed wired boards are not profitable and hence are thrown away (not considering their

220

R. Moletsane

damaging effect on the environment and health) by shipping them to the developing countries and landfills [33]. In the developed regions such as Canada, Sweden and Switzerland, formal recycling is a standard [34]. The following are the main processes involved in formal recycling. The process typically starts with sorting, testing, refurbishing and repairing collected electronics [34]. Then equipment that needs recycling is dismantled and sometimes shredded and materials are then sorted. Sorting of the materials is done through manual labour and machinery. Ventilation and wearing of protective gear are some of the measures taken to reduce exposure [2]. As opposed to formal recycling, informal recycling involves manual sorting, dismantling, de-soldering of circuit boards over goal grills to recover valuable chips [35]. 3.2 Developing Regions and the Recycling of Electronic Waste There have been reported cases of formal recycling in developing countries [2]. These countries with formal recycling facilities include and not limited to Kenya, Thailand, China and India [2]. According to Park, Hoerning, Watry, Burgett and Matthias [7] in the past decade, China managed to build almost 100 formal recycling facilities. Not only developed countries are the generators of e-waste. Developing countries are contributors to e-waste too. India and China are among the top five of e-waste generators [5]. About 85% of the e-waste dumped in Ghana and other parts of West Africa is produced in Ghana and West Africa [36]. In the developing regions such as West African countries, and Asian countries (India and China) e-waste is predominantly recycled using primitive and toxic technologies. Most developing countries lack the waste removal infrastructure and technical capacities necessary to ensure the safe disposal of hazardous waste [7, 21]. But is that all we can say about recycling in the developing regions? Again why developing countries rely on primitive and harmful recycling processes that are found in the informal sector? They use methods that disperse pollutants and toxic materials that are damaging to the environment (air, water and soil) including health or wellbeing. Informal recycling is primary in recovering valuable materials from e-waste components. Informal recycling usually takes place in the backyards and requires hard labour using hammers and chisels to extract materials of value [37]. These are some of the processes used in the informal recycling sector of e-waste in the developing regions. The open-pit acid bath is one of the methods used to recover gold and other precious metals [2]. This method involves soaking the electronic circuit in the powerful acids such as nitric acid solution and sulphuric acid. The recovered materials are then used to manufacture other new products and the harmful acid waste find its way to water sources such as rivers [32]. Acid baths are harmful because they have the potential of contaminating water and soil [32]. Cable plastics are chipped and melted without necessary ventilation and burning the cables at relatively low temperatures to retrieve copper [2]. Given that informal recycling is more damaging relative to formal recycling, why developing countries are still continuing using crude recycling methods? Here are some of the reasons as to why developing countries maintain the status quo:

Managing Electronic Waste with Recycling

221

• Limited or lack of awareness about the damaging effects of e-waste: According to Kitila [9] most of the electronic and electrical equipment is stored in offices, homes and other places due to lack of knowledge and awareness on what to do with it. These devices are stored due to the uncertainty of how to manage them [38]. • Economic benefit: The market for e-waste management worldwide is expected to reach US$11 billion by the end of the year 2024 [39]. This means the market will grow to about 20.2% compound annual growth rate between 2018 and 2024 [39]. Technological advancement, growing middle class with enough disposable amount has led to an upsurge of electronic equipment sales. E-waste recycling provides income to communities and individuals that have few economic opportunities [2]. Among other communities’ e-waste recycling is viewed as more desirable than rummaging through non-electronic waste [2]. The governments of developing regions also have financial benefits from accepting e-waste from the businesses of the developed countries [7]. • Financial constraints: most of the business and governments in the developing countries cannot afford the financial muscle required to set up and maintain state of the art recycling facility as they are usually found in the developed countries [37]. According to Sthiannopkao and Wong [28], formal recycling proved to be safe working waste reduction strategy that is feasible in the developed countries. But in developing countries the formal recycling option seems difficult to implement due to the absence of the subsidy. • Absence or limited e-waste regulation: According to Molewa and Department of Environment and Tourism [40] poor legislation is one of the causes of poor management or informal recycling activities. The occupational safety and environmental protection are not taken seriously [2]. • Unemployment and poverty: The rate of unemployment and poverty accelerate informal e-waste recycling activities. According to Perkins, Brune Drisse, Nxele and Sly [2] people who are involved in informal recycling have chosen poison over poverty. • Little attention to electronic waste: In the developing countries e-waste is not a priority. Many businesses are operating unsafe recycling without the governments’ oversight. This happens regardless of the regulations put in place [7]. Neglect to prioritise ewaste bring forth the unwanted health and environmental issues caused by unsafe treatment or disposal of e-waste. 3.3 Health and Environmental Issues of Recycling All recycling activities are harmful to the environment and health [34]. In the United States, several recycling sites were found lacking capabilities to the handling of metal dust contamination [41]. According to Perkins, Brune Drisse, Nxele and Sly [2] workers at formal recycling facilities could still be at risk of low-dose exposure. Workers overexposures to metals in facilities of formal e-waste recycling have been reported by studies in France and Sweden [34]. In the previous sections this study has shown that informal recycling is harmful to human health and the environment too [2, 7]. It is clear that both sectors of recycling have damaging effects on health and the environment though at differing degree [34].

222

R. Moletsane

Given that, the next section identifies some of the associated health and environmental risks caused by e-waste recycling: Some studies conducted in the United States workers dismantling electronics components and processing cathode ray tube monitors were found to have higher levels of lead in their blood [41] a high levels of lead in their blood [41, 42]. Lead has a damaging effect on almost all organs of human anatomy [43]. Some of the damaging effects of lead include intelligent quotient level reduction, increased blood pressure, kidney failure and brain damages [44]. Humans come into contact with e-waste materials usually through food sources including meat, contaminated air, soil and water [8]. Generally, exposure to e-waste materials is through ingestion, inhalation and dermal contact [8]. Mercury and chromium VI causes damage to the liver, peripheral nervous system and lung cancer respectively [1]. It is clearer now that e-waste damaging effects are to the whole body [2, 45]. Given all of this should we give up the fight against e-waste? The question is raised only because of now realisation of damaging effects of both informal and formal recycling sectors as presented in this paper. Abandoning the things as they are won’t do any good to the planet. There is an opportunity for studies to research further into ways that eventually be considered proper to the management and treatment of e-waste through recycling. Park, Hoerning, Watry, Burgett and Matthias [7] are of the view that eliminating informal e-waste recycling is difficult if not impossible. Instead, formal recycling should take advantage of a dedicated collection network of informal recycling sector. For informal recyclers to supplier formal recycling sector with e-waste, an incentive system (financial) need to be in place. This is one of the ways we can reduce the environmental and health issues associated with informal recycling. Having said that e-waste manufacturers and producers of electric and electronic equipment should use less toxic materials and make devices in a way that is easier to disassemble [7].

4 Discussion E-waste problem is everywhere and knows neither colour nor gender. The only way is to manage it properly. This paper has shown that both sectors of recycling of e-waste are harmful to health and the environment. Moreover, it is difficult if not impossible to eliminate the problem of e-waste or informal e-waste recycling. With that said, E-waste harmful effects are prevalent in the developing regions due to numerous factors. The factors include unsafe recycling methods due to lack of awareness of damaging effects of e-waste, poverty and unemployment, regulation of e-waste that is absent or limited, a booming market of e-waste recycling, especially in the developing regions. Formal sector too has its own problems that proliferate exportation of e-waste illegally as indicated in this study. The damming problems include low profitable e-waste recycling business in the developed countries due to the high cost of recycling, tight regulation with penalties. All of these has led developed regions to illegally get involved in illicit dealing with e-waste. Developed regions found developing regions to be a soft target and hence massive exportations to the developing regions. This paper suggests informal and formal recycling sectors work together for the benefit of health and the environment. Advantages of cooperation between these two

Managing Electronic Waste with Recycling

223

sectors include: taking advantage of the successful collection system of the informal sector, and the relative safety benefits provided by the formal sector. To encourage cooperation, incentives (financial) for informal sector need to be in place.

References 1. Needhidasan, S., Samuel, M., Chidambaram, R.: Electronic waste: an emerging threat to the environment of urban India. J. Environ. Health Sci. Eng. 12(1), 12–36 (2014) 2. Perkins, D.N., Brune Drisse, M.-N., Nxele, T., Sly, P.D.: E-Waste: a global hazard. Ann. Global Health 80(4), 286–295 (2014) 3. Baldé, C., Forti, V., Gray, V., Kuehr, R., Stegmann, P.: The global E-waste monitor 2017: quantities, flows, and resources, United Nations University (UNU), International Telecommunication Union (ITU) & International Solid Waste Association (ISWA), pp. 1–8, Bonn/Geneva/Vienna (2017) 4. Kuehr, R., Bald`e, C.P., Wang, F., Huisman, J.: Discarded Kitchen, Laundry, Bathroom Equipment Comprises Over Half of World E-waste, pp 1–79, United Nations University, Bonn (2015) 5. Mumbai Mirror: India among top 5 nations in e-waste generation, Maharashtra. https:// mumbaimirror.indiatimes.com/news/india/india-among-top-5-nations-in-e-waste-genera tion-maharashtra-highest-e-waste-generator/articleshow/64449282.cms. Accessed 02 Feb 2019 6. Panda, R.: e-Waste management: a step towards green computing. Int. J. Environ. Eng. Manag. 4(5), 417–424 (2013) 7. Park, J.K., Hoerning, L., Watry, S., Burgett, T., Matthias, S.: Effects of electronic waste on developing countries. Adv. Recycl. Waste Manag. 2(2), 1–6 (2017) 8. Grant, K., Goldizen, F.C., Sly, P.D., Brune, M.-N., Neira, M., van den Berg, M., Norman, R.E.: Health consequences of exposure to e-waste: a systematic review. Lancet Global Health 1(1), 350–361 (2013) 9. Kitila, A.W.: Electronic waste management in educational institutions of Ambo Town, Ethiopia, East Africa. Int. J. Sci.: Basic Appl. Res. 24(4), 319–331 (2015) 10. Rao, L.N.: Environmental impact of uncontrolled disposal of E-Wastes. Int. J. ChemTech Res. 6(2), 343–1353 (2014) 11. Ashfaq, A., Khatoon, A.: Environmental impacts and assessment of electronic waste management. Int. J. Curr. Microbiol. App. Sci. 3(7), 772–779 (2014) 12. Daum, K., Stoler, J., Grant, R.J.: Toward a more sustainable trajectory for E-Waste policy: a review of a decade of e-waste research in Accra, Ghana. Int. J. Environ. Res. Public Health 14(135), 1–18 (2017) 13. Ferrari, R.: Writing narrative style literature reviews. Med. Writ. 24(4), 230–235 (2015) 14. Green, B.N., Johnson, C.D., Adams, A.: Writing narrative literature reviews for peer-reviewed journals: secrets of the trade. J. Chiropractic Med. 5(3), 101–117 (2006) 15. Bartl, A.: Moving from recycling to waste prevention: a review of barriers and enables. Waste Manag. Res. 32(9), 3–18 (2014) 16. Cucchiella, F., D’Adamo, I., Koh, S.C., Rosa, P.: Recycling of WEEEs: an economic assessment of present and future e-waste streams. Renew. Sustain. Energy Rev. 51(2015), 263–272 (2015) 17. Borthakur, A., Sinha, S.: Electronic waste management in india: a stakeholder’s perspective. Electron. Green J. 1(36), 1–21 (2013) 18. Heeks, R., Subramanian, L., Jones, C.: Understanding e-Waste management in developing countries: strategies, determinants, and policy implications in the Indian ICT Sect. Inf. Technol. Dev. 21(4), 653–667 (2015)

224

R. Moletsane

19. Jalal, U.: E-Waste management of environmental quality. IOSR J. Mech. Civil Eng. 2(1), 25–45 (2012) 20. Hector, M.C.: Toxic trade: E-Waste disposal and environmental governance in west Africa. Faculty of Arts and Social Sciences, Stellenbosch, Cape Town, South Africa (2017) 21. Bhutta, S., Omar, A., Yang, X.: Electronic waste: a growing concern in today’s environment. Econ. Res. Int. 8 (2011) 22. Maheshwari, R.K., Rani, B., Singh, U.: Dribble of E-Waste: it’s impact on human health & management strategies for sustainable development. Res. J. Chem. Environ. Sci. 1(2), 3–16 (2013) 23. United Nations University: Thousands of tonnes of e-waste is shipped illegally to Nigeria inside used vehicles. https://ehs.unu.edu/media/press-releases/thousands-of-tonnes-of-ewaste-is-shipped-illegally-to-nigeria-inside-used-vehicles.html. Accessed 18 Dec 18 24. International Labour Office., Lundgren, K.: The global impact of e-waste Addressing the challenge, pp. 1–71, Geneva, Switzerland (2012) 25. Tangermann, V.: Europe is illegally shipping its used electronics to Nigeria. https://futurism. com/e-waste-europe-illegal-electronics-nigeria. Accessed 18 Dec 2018 26. Liu, Z., Adams, M., Walker, T.R.: Are exports of recyclables from developed to developing countries waste pollution transfer or part of the global circular economy? Resour. Conserv. Recycling 136, 22–23 (2018) 27. Maile, K.: International E-Waste Day aims to raise public awareness. https://www.recycling today.com/article/first-international-e-waste-day-announced/. Accessed 18 Dec 2018 28. Sthiannopkao, S., Wong, M.H.: Handling e-waste in developed and developing countries: Initiatives, practices, and consequences. Sci. Total Environ. 463–464(2013), 1147–1153 (2013) 29. Passafaro, R.: What’s wrong with the E-waste trade in the USA. https://www.lifegate.com/ people/news/dangers-americas-e-waste-trade. Accessed 18 Dec 2018 30. Gunter, J.: E-waste recycling is about to get as advanced as your iPhone. https://www.wired. co.uk/article/electronic-waste-recycling-apple-iphone. Accessed 21 Dec 2018 31. Risen, T.: US News.: America’s Toxic Electronic Waste Trade. https://www.usnews. com/news/articles/2016-04-22/the-rising-cost-of-recycling-not-exporting-electronic-waste. Accessed 22 Dec 2018 32. Sivakumaran, P.R., Anandkumar, P.M., Shanmugasundaram, G.: Management of electronic waste disposal in India. Adv. Nat. Appl. Sci. 8(11), 522–529 (2017) 33. Mansfield, K.: Electronic waste disposal in the European union: avoiding the Once-ler’s Dilemma. Environ. Stud. Program Vermont (2013) 34. Ceballos, D.M., Dong, Z.: The formal electronic recycling industry: challenges and opportunities in occupational and environmental health research. Environ. Int. 95(2016), 157–166 (2016) 35. Chan, J.K.Y., Wong, M.H: A review of environmental fate, body burdens, and human health risk assessment of PCDD/Fs at two typical electronic waste recycling sites in China. Sci. Total Environ. 463–464(2013), 1111–1123 (2013) 36. Minter, A.: The burning truth behind an E-Waste Dump in Africa: ending the toxic smoke rising from an iconic dump in Ghana will take more than curbing Western waste. https://www.smithsonianmag.com/science-nature/burning-truth-behind-e-wastedump-africa-180957597/. Accessed 25 Dec 25 2018 37. Moletsane, R., Venter, C.: The 21st century learning environment tools as electronic waste. In: Proceedings of the World Congress on Engineering and Computer Science, pp. 188–192, IAENG, USA (2018) 38. Johnson, O.O., Amadi-Echendu, J.E., Olubunmi, A.H., Joseph, O.: Technology paradigm for E-waste management in South-Eastern Nigeria. In: Proceedings of International Association for Management of Technology, pp. 802–823, University of Port Harcourt, Nigeria (2015)

Managing Electronic Waste with Recycling

225

39. Zion Market Research: E-Waste Management Market by Material Recovery (Plastic, Metals, Glass, PCBs, Ceramics, Wood, and Others), by Source Type (Household Appliances, Entertainment and Consumer Electronics, IT & Telecommunications, and Others): Global Industry Perspective, Comprehensive Analysis and Forecast, 2017–2024 https://www.zionmarketresea rch.com/report/e-waste-management-market. Accessed 21 Jan 2019 40. Molewa, E.: Department of Environment and Tourism: issues around the contextualisation of the e-Waste challenges in South Africa, the management of e-Waste in Municipalities, e-Waste Recycling and Policy and legislative environment. https://www.environment.gov.za/ mediarelease/molewa_e-waste_conference. Accessed 15 Nov 2018 41. Page, E., Ceballos, D., Oza, A., Gong, W., Mueller, C.: Health Hazard Evaluation Report: Metal Exposures in an Electronic Scrap Recycling Facility. NIOSH HHE No. 2013-00673228, Department of Health and Human Services, Centers for Disease Control and Prevention, National Institute for Occupational Safety and Health, Cincinnati, OH, USA (2015) 42. Ceballos, D., Gong, W., Page, E.: Health Hazard Evaluation Report: A Pilot Assessment of Occupational Health Hazards in the U.S. Electronic Waste Recycling Industry, Department of Health and Human Services, Centers for Disease Control and Prevention, National Institute for Occupational Safety and Health, Cincinnati (2014) 43. Pourmand, A., Khedir Al-Tiae, T., azer-Amirshahi, M.: Perspective on lead toxicity, a comparison between the United States and Iran. Daru J. Fac. Pharm. 20(1), 1–6 (2012) 44. Wani, A.L., Ara, A., Usmani, J.A.: Lead toxicity: a review. Interdiscip. Toxicol. 8(2), 55–64 (2015) 45. Moletsane, R., Venter, C.: Transboundary movement of electronic waste, issues and challenges in African Countries, pp. 222–227 (2018)

Trajectory Modeling in a Pursuit Problem with Curvature Restrictions A. A. Dubanov(B) Buryat State University, 24 A, Smolin-Street, Ulan-Ude, Russian Federation [email protected]

Abstract. The subject of research in our article is the modeling and calculation of the trajectory between the pursuing and the pursued object. A simulation method is proposed that allows solving practical research problems. The article describes the steps of modeling the trajectory of a moving body with a curvature restriction. It should be taken into account that a body moving along a given trajectory begins to move at an initial given angle and also completes it at a certain angle. Our task is of practical importance, since the approach to organizing the route of the aircraft in the vertical plane is considered in the presence of restrictions on state variables. The main results of the work, mathematical models of moving bodies are introduced, calculations for modeling their trajectories at each moment of time of motion are presented. The program code for mathematical modeling of the trajectory according to the task on the basis of the apparatus of analytical geometry is developed, the construction of the simulated trajectory is carried out in a certain class of functions. Based on this, a new path planning algorithm is described. This algorithm for solving the problem is relevant as the results of the work can be applied to solve applied problems of robotics, aircraft modeling, rocket modeling, etc. The solution to the problem, in the form of program code, was performed in the MathCAD programming environment. #CSOC1120. Keywords: Simulated trajectory · Simulation · Trajectory of aircraft · Curvature restriction · Pursuing object · Tangent to the trajectory

1 Introduction In this article, we will consider the issues of modeling trajectories between pursuing and pursued objects. Objects pursued and pursued will move along certain paths. The simulated trajectory must satisfy certain conditions. The minimum radius of curvature of the trajectory must not be less than a certain threshold value. Another condition in the considered problem is that the simulated trajectory leaves at a certain angle from the point of location of the pursuing object and comes to the point of location of the pursued object also at a given angle.

© Springer Nature Switzerland AG 2020 R. Silhavy (Ed.): CSOC 2020, AISC 1224, pp. 226–232, 2020. https://doi.org/10.1007/978-3-030-51965-0_19

Trajectory Modeling in a Pursuit Problem with Curvature Restrictions

227

2 Formulation of the Problem Consider the case on the horizontal plane of projections. Let the pursued object move  xr (t) , and the pursuing object move along the trajectory along the trajectory Rr (t) = yr (t)   x (t) (Fig. 1). Rf (t) = f yf (t)

Fig. 1. Modeling trajectory on the horizontal plane of projections.

Trajectory modeling occurs at each moment of time t. The simulated trajectory can x (t) at any angle. But in the program code written on the leave the point Rf (t) = f yf (t) basis of the article, we accepted that the simulated trajectory leaves tangentially from the trajectory of the pursuing object. The simulated path enters the trajectory of the pursued object at right angles. The angles may be arbitrary, but in our test program we accepted such. The radius of curvature of the simulated curve cannot be less than a certain threshold value.

3 Construction of a Circle of Descent from the Trajectory of a Pursuing Object   Our algorithm involves the formation of a local dynamic basis vf , nf (Fig. 2). Where vf is the unit vector aligned with the velocity vector Vf (t) =

dRf (t) dt

of the pursuing object.  xf (t) . The vector nf is the normal vector to the trajectory Rf (t) = yf (t) The center of the simulated circle Cf (t) (Fig. 2) is formed as follows: Cf (t) = Rf (t) + r · nf (t)

Where r is the minimum threshold radius of curvature of the trajectory of the pursuing object. The center of the circle can be formed differently (Fig. 3): 



Cf (t) = Rf (t) + r · nf (t)

228

A. A. Dubanov

Fig. 2. Circle to the trajectory of the pursuing object.

Fig. 3. On the formation of a circle on the trajectory of a pursuing object.

In this case, as in Fig. 3, the simulated comes out at an angle ∝ to the  trajectory  xf (t) trajectory of the pursuing object Rf (t) = . yf (t) In the code of the program written on the basis of the article, the angle between the trajectories is 0.

4 The Construction of the Circle of the Entrance to the Trajectory of the Pursued Object Consider the formation of a circle at the entrance of the simulated trajectory into the trajectory of the pursued object (Fig. 4). Here  of the circle is formed as follows:  the center xr (t) is the point of the trajectory of the C r (t) = Rr (t) + r · nr (t), where Rr (t) = yr (t) pursued object, and r is the minimum radius value of the simulated trajectory. Here, the direction of the vector nr (t) is completely determined by the direction of the vector V m (t) of the speed of the simulated trajectory at the moment of intersection  xr (t) . The perpendicularity of the with the trajectory of the pursued object Rr (t) = yr (t) vectors V m (t) and vr is used in the program listing based on the materials of the article.

Trajectory Modeling in a Pursuit Problem with Curvature Restrictions

229

Fig. 4. Circle to the trajectory of the pursued object.

5 Interfacing Lines Between Two Circles Consider the question of the conjugation  between two  of the same radius moving   circles xf (t) xr (t) and Rr (t) = (Fig. 5). Based on the data along the trajectories Rf (t) = yf (t) yr (t)   presented in Fig. 5 to the construction of a common tangent between the circles Cf , r and (Cr , r). If we move to the coordinate system formed by the point Cf (t) and vectors (Fig. 6):   Cr (t) − Cf (t) −E1y (t)   , E (t) = . E1 (t) = Cr (t) − Cf (t) 2 E1x (t)

Fig. 5. Interface line in the simulated trajectory.

For points Ai , Bi , i = 1..4 in Fig. 6 there are solutions (Fig. 7):     0 0 A1 = , A2 = , r −r     2 2 2 rL 2 rL , A4 = , A3 = r √ √ − Lr (L − 2r) · (L + 2r) L (L − 2r) · (L + 2r)

230

A. A. Dubanov

Fig. 6. The conjugation of two circles.

 B3 =

    L L B1 = , B2 = , r −r   2

L2 −2r L

, B4 = √ − Lr (L − 2r) · (L + 2r)

L2 −2r 2 L

r√ L (L − 2r) · (L + 2r)

 .

Fig. 7. Circumference options.

  But these solutions were found for the local coordinate system Cf , E1 , E1 (Fig. 5),

 in order to translate the point Pi belonging to the segment Ai Bi into the world coordinate system (O, H1 , H2 ) it is necessary to fulfill conversion by the formula:    Pi · h1 + Cf Pi =  Pi · h2     1 0 Where h1 , h2 are the vectors H1 = and H2 = , expanded on basis vectors 0 1       H1 · E1 H2 · E1 and h2 = . Cf , E1 , E1 . That is, h1 = H1 · E2 H2 · E2

Trajectory Modeling in a Pursuit Problem with Curvature Restrictions

231

6 Trajectory Modeling Results According to the results set forth in this article, program code was written in the computer mathematics system MathCAD. In Fig. 8 shows a first frame of an animated image. You can view the image on resource [1]. The program code is posted on resource [2]. This article is a development of the results presented in source [3]. Theoretical information on quasi-discrete prosecution problems taken from source [4–6]. The materials of article [7] were also taken into account when compiling trajectory modeling algorithms.

Fig. 8. The results of the simulation of the trajectories.

7 Conclusions This article provides a description of the algorithm that performs the construction of trajectories in an automated mode. The simulated trajectories have restrictions on the curvature, and also have boundary conditions on the directions of the velocity vectors. In our opinion, the results obtained in this article may be useful to developers of robotic systems with elements of artificial intelligence. In particular, to solve the problem of the behavior model of group pursuit of a single target.

References 1. https://www.youtube.com/watch?v=y4nHUpye7JE 2. http://dubanov.exponenta.ru 3. Dubanov, A.A.: The task of pursuit. Solution in the system of computational mathematics MathCAD. Inf. Technol. 4(24), 251–255 (2018)

232 4. 5. 6. 7.

A. A. Dubanov

Isaacs, R.: Differential Games. World, Moscow, Russia (1967) Pontryagin, L.S.: Linear differential runaway game. Tr. MIAN USSR 112, 30–63 (1971) Krasovsky, N.N., Subbotin, A.I.: Positional differential games. Science, Moscow, Russia (1974) Burdakov, S.V., Sizov, P.A.: Algorithms for controlling the movement of a mobile robot in the pursuit task. Scientific and technical statements of the St. Petersburg State Polytechnic University. Comput. Sci. Telecommun. Control 6(210), 49–58 (2014)

An Approach to Using Templates for Modeling Exceptions in Terms of Petri Nets D. V. Leontev, D. I. Kharitonov(B) , D. S. Odyakova, and R. V. Parakhin Institute of Automation and Control Processes Far Eastern Branch of the Russian Academy of Sciences (IACP FEB RAS), 5, Radio Street, Vladivostok 690041, Russia {cc,demiurg}@dvo.ru

Abstract. This article proposes an approach to modeling imperative programs with exceptions in terms of Petri nets using template based translation of the source code into compositional model. To achieve deep automation of the model constructing algorithm for the intermediate representation of the program, an abstract semantic graph (ASG) is used. ASG terms are presented in graphical form in the article. For these terms, a minimal set of template Petri nets is presented and described. An example of a small program is presented and a complete model of the example program has been built and the resulting compositional Petri net is presented. The reachability graph of resulting model is build, analyzing which, one can find and trace back the points of exception raise. So the proposed approach allows to check where each particular exception is handled and which exceptions are handled in a particular catch block #CSOC1120. Keywords: Programming languages · Exceptions handling · Model checking · Automatic construction of program models · Verification of programs · Petri nets

1

Introduction

Exception handling is a well-known mechanism in various programming languages that allows to describe the reaction of a program to some non-standard situation that arose during its execution. This situation is an exception to the standard course of events of the program provided by its main algorithm, and most often indicates an error. The exception handling engine was originally developed in Lisp language in the 1960s and 1970s. A little later, Goodenough’s works [1,2] came out, which describe the main elements of the modern mechanism for handling exceptions and its support by the compiler using PL/I language (the progenitor of C language). Based on these ideas, as well as the development of an object-oriented paradigm, exception handling was implemented in the programming languages Smalltalk and C++ [3,4]. Later, implementation concepts c Springer Nature Switzerland AG 2020  R. Silhavy (Ed.): CSOC 2020, AISC 1224, pp. 233–247, 2020. https://doi.org/10.1007/978-3-030-51965-0_20

234

D. V. Leontev et al.

moved to such popular languages as Java, Python, Ruby [5–7], and many others. At present, perhaps, all general-purpose programming languages provide, to one or another degree, a means to describe and handle exceptional situations. Despite the developed error handling mechanisms that the modern developer uses, the problem of software correctness remains. Regularly new errors in programs that lead to serious consequences are detected. The implementation of formal verification in the software development process will help partially or fully automate the procedure for checking the correctness of the program. However, to achieve this goal, it is necessary to develop and implement a number of preparatory steps. In particular, the development of an appropriate mathematical apparatus and algorithm for generating a formal model of a program from its source code for subsequent analysis is required. Naturally, when generating a model, it is necessary to take into account the purpose of modeling in order to ensure the possibility of analysis, to ensure the necessity and sufficiency of the model concepts used that adequately reflect the elements of the program. Given the constant development of programming languages, the introduction of new concepts and constructs into existing languages, constant work is required to develop and improve mathematical models of software. Existing approaches to building a program model with exceptions are mainly based on constructing a control flow graph [8–10], which is supplemented by appropriate branches that describe exception handling. Also, the representation of the program in the form of an abstract syntax tree [11] is used as an intermediate representation. In this paper, we consider an approach to constructing a model of a program control flow with exceptional situations in terms of Petri nets, based on working with an abstract semantic graph of a program. A distinctive feature of this approach is the template method of constructing a model, which allows you to change templates that simulate the construction of a programming language, without altering the algorithm for generating a Petri net graph. In particular, constructions that extend the function call model in Petri nets [12,13] with alternative exit paths for describing exceptions are shown.

2

Exceptions in Programming Languages

The term exception can be defined as the program state, in which execution continuation becomes impossible without special reaction. The reason of the exception is the program variable values making execution of specific piece of code pointless. The same time, the value determination can stand so far in time and place in the program source code from exception that correcting the situation in the local vicinity of the exception becomes impossible. To handle an exception, a specially code block (handler ) is formed that implements a response to an error situation, and a controlled block containing potentially dangerous code, which together are designed to isolate exceptional situations. The essence of the reaction usually comes down to the controlled completion of one or more program components with the correct release of all used system resources and informing the user about the impossibility of processing data. Note that the

Modeling Exceptions in Terms of Petri Nets

235

presence of an exception handler in the program code does not mean that it will be invoked during program execution. In addition, an arbitrary number of handlers can be created for a piece of code that expects an exception. At the same time, the order of handlers definition is matter for the handler search procedure. Claiming exception situation (throwing an exception) is performed by calling a special operator of control flow transfer procedure searching for a handler. To find suitable exception handler a special exception object can be used that is created at the moment the exception is declared and may contain all the necessary for resolving the situation variables. If there is no handler suitable for exception object, then exception is said to be unhandled. The notions presented above have corresponding constructions in programming languages. Thus, an exception statement in C++, C#, Java, JavaScript is performed by the throw operator, and in Python and Free Pascal by the raise operator. The controlled block, an exception is expected within, is tagged by the keyword try in all designated languages. The exception handlers in C++, C#, Java, JavaScript are defined by the catch construct, and in Python and Free Pascal by the except construct. All languages provide the ability to “catch” exceptions in handlers corresponding to either the type of the exception object or any object for implementing the socalled catch-all-block. In all languages except C++, there is a syntactic construct final for the post-processing block, called in any case after try block or after the exception handler worked. Moreover in C++ and Java, it is possible to tag functions with the declared exceptions types. The implementation of exception handlers is sticked to the features of programming languages and may vary depending on software makers. Let’s consider the internal implementation of the exception handlers using the GCC compiler (GNU Compiler Collection) as an example. This compiler inserts additional tables into the program binary code describing the ranges of code in which exceptions are possible. Based on the tables, the special ABI (application binary interface) functions inserted into the program code by the compiler determine which handler should be called and how to do stack unwinding in order to remove all intermediate data from the stack, beginning from the moment the exception occurs until it reaches the handler. The code example and a brief description of the stack contents during function call and exception handler are shown in the Fig. 1. The right side of the figure shows the stack grows, labeled by numbers 1–4 denoting sequence of function calls. When an exception occurs inside the method Xcls::Act, the stack will be restored to the exception handler inside the Func2 function labeled by the number 5. If there were no handler inside the Func2, then the stack unwinding would go further to the handler inside the Func1 function. And if there were no handler inside the Func1, then the stack unwinding would go through all the functions and would end with call to the special function std::terminate (program crash) provided by the compiler for unhandled exceptions. Handling the exceptions introduces fundamental changes in the program modeling and analyzing process because the alternative control flow transfer

236

D. V. Leontev et al.

Fig. 1. A fragment of a program in C++ and stack unwinding

paths emerge in the program behavior model, the choice of which occurs only during program execution. Moreover, the correctness of the exception handling should also be checked or proved. Checking the correctness of programs with exceptions, several groups of questions that require investigation should be distinguished: – finding exception points, absence of unhandled exceptions and nested exceptions; – clustering exception handling code (e.g. splitting a program into domains or compartments [11]); – checking the correctness of allocated system resources releasing (exception safety); – checking the correctness of exception handling in multithreaded programs.

3

The Method of Constructing Program Models

Let’s consider a method for automatic program model constructing in terms of Petri nets. Suppose that the formal grammar of the target programming language is written in the Backus-Naur (BNF) form, which consists of sets of terminals, non-terminals, and inference rules. Terminals are indivisible by definition while non-terminals are described by inference rules from terminals and non-terminals. The rules can be recursive. Then the syntactically correct program is a valid proposition consisting of terminals, and could be inferred from the starting non-terminal in this grammar. The derivation from starting nonterminal is formalized as the parsing tree, which can be considered as the initial internal program representation for subsequent transformation into the program model. But it is not effective to automatically generate a model, on the base of a parsing tree representation. Modern programming languages require grammars, containing a significant number of rules. For example, the C++ grammar description provided in the language standard contains hundreds of inference rules written in a form close to BNF. Thus, the result of the analysis performed on the basis of the language grammar in the form of BNF is rather cumbersome, burdened with a large number of intermediate derivatives.

Modeling Exceptions in Terms of Petri Nets

237

Fig. 2. The terms of abstract semantic graph

A more suitable program representation for transforming into a model is an abstract syntax tree (AST) or its generalized version—an abstract semantic graph (ASG). ASG has a more abbreviated form then the parsing tree, and is not directly dependent on changes in the grammar of the programming language. The ASG can be built from the parsing tree by traversing all non-terminals and forming the corresponding vertices according to the rules for mapping syntactic structures into ASG objects. Figure 2 shows in graphical form the terms of an abstract semantic graph needed to describe imperative programs with exceptions. The double oval in the figure defines semantic constructs that can have simple components, such as Attributes or References, shown as rectangles, and complex components, such as Imperative, List, Expression is depicted as an oval, a 3d-oval and a hexagon. To simplify the automatic program model construction some of List components were converted into recursion using Tail recursion block. The starting term in the Fig. 2 is Function that has a name, a list of arguments and an imperative block Body. Term Body defines the minimal set of language constructions needed for constructing imperative program representations in the form of ASG. Let’s consider the example of a small program that describes exception handling in several functions (Fig. 1). The Xcls class description is omitted as unnecessary. Only the implementation of it’s Act method is shown, whose code randomly throws an exception. For the fragment handling exception in the program

238

D. V. Leontev et al.

Fig. 3. Fragment of an abstract semantic graph for exception handling

mentioned above, a variant of the abstract semantic graph was created. The code fragment is shown on the right side and the corresponding ASG fragment formulated using introduced terms is depicted on the left side of the Fig. 3. Presented ASG fragment consists of only 12 nodes similar to BNF non-terminals, and 5 nodes similar to BNF terminals. So it has a small number of elements and relationships, is easily perceived, and therefore better suited for analyzing and transforming a program. Next, the resulting graph is converted into a program model in terms of Petri nets by a fairly simple substitution of the graph nodes to template Petri nets corresponding to the constructs of the programming language. To do this, a traversing procedure of the abstract semantic graph is performed, during which a visit to each node generates a composition operation on template nets. The result is a compositional Petri net that describes the relationships between each simple component of the program model. Performing all the composition operations gives a “flat” Petri net, which is the final model of the program.

4

Petri Net Templates of Syntax Constructions of Imperative Programming Languages

An approach to construct imperative program models in terms of Petri nets using templates of syntactic constructions was introduced in works [12,13]. Figures 4 and 5 show the minimal set of eleven basic templates a model can be built with. It is worth mentioning that the templates are not tied to a specific algorithm implemented in a particular procedure, but rather describe the construction of imperative programming languages that reflect elements of the control flow. These template have prototypes in ASG terms described in the section above. But Expression part of ASG terms is not considered at this time as it needs to deal with variables and their values. When displaying templates the following notation is used. The Petri net describing the template structure is placed in a rectangle. For the Petri nets representation the common graphical notation is used in the form of a bipartite directed graph, where places and transitions are represented by circles and rectangles respectively. Places and transitions are connected by arcs. At the borders

Modeling Exceptions in Terms of Petri Nets

239

of the rectangle, symbolic images of simple access points by places are set in the form of a circle and simple access points by transitions in the form of a square. All input access points by places are set on top of the rectangle, and the output ones—from below. All input access points by transitions are marked with a triangle pointing inward, and the output ones with a triangle pointing outward. However, for better modeling, it is necessary to use colored Petri nets notation. The following definitions are in use: cs (current stack) - the current state of the stack at the moment of execution, rp (return pointer) - the return address from this function, sp (save pointer) - a copy of the stack.

Fig. 4. Templates of imperative constructions. Part1

Templates on the Fig. 4 are used for constructing the compositional model of the example program introduced above. Template “A” is called Loader and models the beginning and the end of a sequential process, it doesn’t have prototype in ASG terms. This is the only starting template in the described set, since there is no input access point by places in it. The place where the token is located is the starting point of the program model from which the model starts its work. The template has one output access point, which simulates the main function call of the program, for example, for the C language it will be the function main. Through this access point, the template can only “stick together” with the template “C”, called function, and has a prototype of the same name in ASG terms. This template has one input and one output access points. The input point is the connection with the function call. The output access point is structural for communicating with other templates. Other than main functions in program can be invoked by function calls having one ASG term and two Petri net templates: template “B1 ” presents a call of functions with exceptions and template “B2 ”—of functions without exceptions.

240

D. V. Leontev et al.

These templates have one input interface access point and two output interface access points. The first access point of the output interface is for synchronization with the function template. The second access point is designed to continue the program after calling the function and consists of two places. Template “B1 ” has additional access point by transition to model exception unwinding mechanism. The template “D” is called stub it corresponds with the ASG term NOP and is intended to complete tail recursion. This template has only an input interface from a couple of places, so after merging with an access point, the input interface in the resulting net will have one output access point less. The template “E” is called an Action, it models a simple mathematical expression in an imperative program and has a prototype of the same name in ASG terms. Template“F” is designed for modeling a branch operator, it has the prototype Branch in ASG terms with three nodes: Left branch, Right Branch and After. This template has one access point in the input interface, consisting of the start and end places of the template and three access points in the output interface, each of a pair of places designed to form parts of the program corresponding to the Left branch (then), to the Right branch (else) and to continue the program in After node of the Branch operator in ASG. If there is no else part in a branch operator in a program then the Right branch node is merged with the stub template. The exception handling mechanism for constructing models is described by three additional templates “G”, “H”, “I”, which represent try, catch and throw constructions respectively. Templates “G” and “H” are synchronized via access points by transitions and form template Try..Catch the same way like in ASG terms. Template “I” models throw operator, corresponds to the Throw ASG term and has one access point by transitions. This access point is taken out to the upper level when throw operator is used inside the Function template or inside the Try part of the Try..Catch construct.

Fig. 5. Templates of imperative constructions. Part2

Modeling Exceptions in Terms of Petri Nets

241

Templates on the Fig. 5 complement the templates in the Fig. 4 with cycle and switch constructs of imperative languages to form the minimal set. Template“J” is designed for modeling cycles and has the prototype Cycle in ASG terms. The first output interface access point of this template is used to simulate the cycle body. The second access point is for continue the program after the cycle. In ASG terms switch construct is presented by a complex of terms, including: Switch, Case, ActionCase, EmptyCase, Break and NoBreak. Where the term Case is used only to choose between the terms ActionCase and EmptyCase. In terms of Petri nets, these ASG terms are represented by the templates “K1 ”...“K4 ”. The basic template “K1 ” refers to the beginning and end of the switch construct. It has one access point from a pair of places in the input interface and two access points in the output interface, respectively designed to build cases of the switch operator and continue programs after the operator. The access point for building cases has three places, and two other access points have two places. Templates “K2 ” and “K5 ” are designed to add cases to the switch construct. They have input access point of three places that can only be merged with each other and the template “K1 ”. The “K2 ” template implements tail recursion and the template “K5 ” is used to complete the recursion. Thus, the template “K5 ” doesn’t have output access points, while the template “K2 ” has output access point of three places for the next case (recursion), access point of two places for embedding the case code model and access point for adding the break operator or implementing a case without the break operator. Templates “K3 ” and “K4 ” are designed specially to handle situations with break and no break inside ActionCase template. These templates are similar to the stub template, since they don’t have output access points and, therefore, reduce the number of output access points during the model constructing process. The execution of the program model should be read using templates as follows. When the function is called with the current state of the cs stack (the transition labeled F.beg in the templates “B1 ”, “B2 ”), the return address rp from this function becomes known. The beg(rp) label, on the one hand, models the return address placement at the top of the stack, and, on the other hand, rp is a unique context of the function execution. A copy of the stack before the function call is stored in sp. The stack state comes along with the description of the control flow and is propagated through all subsequent states. The stack unwinding procedure is modeled as follows. A token is generated on the calling side at the place where the function returns, the pair is associated with: the state of the stack before the function call and the return address. There are two possible ways to return the control flow from a function: normal exit and exit by exception. In both cases, the return address from the function is controlled by the conditions on transitions - the current stack from the parameterized access point is compared with the saved return address (F.end(cs) or H.exc(cs) labels). In the case of normal exit, the stack state is restored and the caller continues its execution. In the case of exception, either transitions are merged and the token

242

D. V. Leontev et al.

passed to the catch handler, or a function is exited by exception, depending on the location of the throw operator. The substitution of the templates try and catch in the model building procedure ensures the integrity of the resulting Petri net, therefore the exception inside try block will be handled only inside catch block. An exception outside the try and catch blocks is passed to the function call as a special return case (return by exception), which requires exception handling. In the case of exit by exception, unprocessed at the caller side return by exception will reraise the exception. As a result, an exceptional return unwinds the call stack until a handler is found, the state stack reaches the context of the calling function with the handler, and the control flow is passed to the handler. Upon transition to the handler, the state of the calling function stack is passed by the labeling H.exc(cs), which guarantees that transition labeled H.ret(cs) returns to the end of the try block.

5

Program Model Example

Consider an example of a model of a program with exceptions, built from the program source code, an fragment of which is shown in the Fig. 1. The program fragment consists of three functions, one class and method. In addition, a program loader is required to run the program. The graph of function calls for this fragment is shown in the Fig. 6. Constructing a composite model, each node in the function call graph is actually replaced by the function control flow model.

Fig. 6. Function call graph of the sample program

The full compositional model of the program fragment is shown in the Fig. 7. In the model in the figure, structural relationships by access points by places between the templates are already disclosed, but compositional operations by access points by transitions describing the control flow transfer between function calls and function bodies shown. Therefore, the model includes seven Petri nets, each of which represents a separate unit of the program. LOADER is the program part that is usually generated by the compiler and is intended to prepare and start the program. Its simplest model contains a token in the starting place, reflecting the state of the executable process - one token simulates a single threaded execution. In this example, the loader only calls the main function of the program - main. The function main model has been built from the function body template, the single template of function call (Func1) and the stub template. The third net of the example models the body of the function Func1. Since all the templates try and catch constructs are connected by access points by

Modeling Exceptions in Terms of Petri Nets

243

Fig. 7. Compositional model of the sample program

transitions, this nets consists of two others modeling control flows inside try and catch blocks. The same way, the Petri net modeling the function Func2, called from Func1, consists of two nets. The last part of the compositional model is the model of the Act method of the Xcls class, which throws an exception in the source code of the program. Note that according to the constructing rules there are two types of template relationships: ordinary - symmetric merging by label, and directional - connection between a function call and a function body, when the corresponding transitions in the function body net are deleted only after all calls to this function are resolved. For all elements of the model, a corresponding labeling is pictured that describes actions on the stack. All places in the model in the Fig. 7 are marked by unique names. To analyze the program model, it is necessary to “flatten” the compositional model by performing all synchronization by transition operations in the model and build the reachability graph of the resulting Petri net. The reachability graph shows all possible ways of program execution and can be considered in the first

244

D. V. Leontev et al.

Fig. 8. Reachability graph

approach as Kripke model of the program. According to the given reachability graph, one can find all the program states inside the catch constructions and trace back the points of exception raise. Thus, it is possible to check where each particular exception is handled and which exceptions are handled in a particular catch block. For the example program under consideration, a reachability graph was built, as shown in the Fig. 8. Since the composition model uses only transition synchronization, the number of places and their names in the resulting net is the same as in the compositional model. To shorten the picture of the graph, the sequential chains of places with similar names are combined together using square braces notation. Considering the obtained reachability graph, one can find, for example, that on the right-most path from the beginning to the end of the graph corresponding to the situation when exception is raised within Func1, there is a missing delete operation, which must follow the new operator in order to free the previously allocated memory resource. For the example given, this is obvious even observing the source code, since the program is very small. But the approach presented can help automatically analyze much larger programs.

6

Comparison with Existing Methods

There are three different approaches to ensuring software correctness are currently being developed. The first approach includes methods that guarantee the correctness of programs due to the correctness of their construction. One vivid example is the use case maps (UCM) validation during the design phase

Modeling Exceptions in Terms of Petri Nets

245

of programs in UML [14,15]. UCM allows to describe valid execution scenarios for the software package. UCM notation defines the interaction between building blocks of software within the framework of causal relationships, abstracting from the details of message passing and data processing. Unfortunately, the tools for analyzing UCM models are still underdeveloped, in particular, UML provides semantics of the language in an informal way. For error handling, UCM models provide interrupt nodes and initial error processing nodes. In the event of an error, the current scenario is interrupted and new ones start from the corresponding initial error processing nodes defined by the error name. As part of this approach, scenarios can be tested using Petri nets, Promela and the SPIN tool to satisfy requirements formulated in advance in LTL terms. However, the UCM model is only a prototype of the program and, firstly, it does not necessarily contain all cases for the program execution, and secondly, after building the program, it is still necessary to prove its compliance with its prototype. Another approach to ensure the program correctness is using for the programs development languages and tools that support the analysis of the program sources. This approach is followed, for example, by automata-based programming [16,17]. Designing programs in this approach consists of creating a connection diagram that describes the interface of the automaton and a transition graph that defines its behavior. Based on these two specifications, a program module corresponding to the automaton is formally and automatically built. Each program automaton interacts with its main and nested automata, and any subsystem of interacting automata in a hierarchical model is a tree of automata that can be considered as a separate system. In automata-based programming, exception handling can be made as a conservative extension of previously constructed specifications, while exception handling expands the response of automata to events in a natural way. The behavior of the program model corresponds to a transition system called the Kripke structure, having a finite number of states. The software model is a convenient object for automatic verification using modelchecking methods. Within the Kripke structure, using a temporal logic language, properties are specified whose validity can be verified, for example, by the SPIN system. Despite the theoretical attractiveness, the gap between automata-based and commercial programming is such that it is difficult to expect the emergence of programs built as part of this approach in widespread use. And finally, the third approach to ensure the program correctness is to check ready-made programs for the absence of erroneous behavior. The Java language is equipped with the most advanced tools in this direction, possibly thanks to the Java Reflection capabilities and bytecode viewers that were originally incorporated into it. In most cases, a control flow graph (CFG) or its extended representation are constructed in this approach. At the first stage tools such as Jex can be used [11], which prepares the AST from the source code of the program, or Sawja to extract the Java bytecode of the program [9], and at the second stage, the actual CFG is formed from the intermediate representation. Analysis of the control flow graph allows to answer the question where the exception handling is performed in the program. In this regard, there is the concept of a correct program, divided into compartments. Each compartment of the pro-

246

D. V. Leontev et al.

gram handles exceptions generated within the compartment, except in cases of declaring exceptions in the compartment interaction interfaces. The advantage of the described approach is fully automatic construction and analysis of models of real Java programs. However, the methods used to build models are not applicable to C++ programs, as far as many problems inherent in C++ programs, for example, related to the allocation of memory or system resources, are absent in Java.

7

Conclusion

This article proposes and describes an approach to the automatic generation of models from the source code of imperative programs using exceptional situations. The approach defines three consecutive transformations of the program from the source text to the program parsing tree generated on the basis of a programming language grammar in the form of Backus-Naur, then to an abstract semantic graph representing an abbreviated representation of the program, and finally to a compositional model in terms of Petri nets. Transformations are based on a set of formal concepts and mappings and can be performed without human intervention completely algorithmically. To map the concepts of ASG to the Petri nets, templates and composition rules are used to form a complete model. Templates represent the basic constructions of imperative programming languages: action, condition, cycle, branch, function and function call with and without exception. Beside that this set includes a set of templates for modeling the exception handling mechanism: Try and Catch blocks describing the exception handling in a local place of the program, and the Throw statement for signaling the exception. The article demonstrates that the proposed set of templates allows you to build a complete model of the program with exceptions, consisting of several functions. The resulting program model makes it possible to analyze the behavior of the program by standard methods for Petri nets. In specific, it can be checked whether there is a possibility of an abnormal termination due to an exception, where each particular exception is handled, and which exceptions are processed in a particular catch block. However, a number of questions regarding exceptional situations have remained outside the scope of this article and require further study. This is, in particular, a defining and selecting the type of an exception object, as well as a description of the algorithm for selecting an exception handler corresponding to this object. Acknowledgment. Financial support provided by the state-funded theme of the Ministry of Education and Science of the Russian Federation No. AAAA-A17117040450019-8 is greatly appreciated.

References 1. Goodenough, J.B.: Structured exception handling. In: Proceedings of the 2nd ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages, POPL 1975, pp. 204–224. ACM, New York (1975). https://doi.org/10.1145/ 512976.512997

Modeling Exceptions in Terms of Petri Nets

247

2. Goodenough, J.B.: Exception handling: issues and a proposed notation. Commun. ACM 18(12), 683–696 (1975). https://doi.org/10.1145/361227.361230 3. Goldberg, A., Robson, D.: Smalltalk-80: The Language and Its Implementation. Addison-Wesley Longman Publishing Co., Inc., Boston (1983) 4. Stroustrup, B.: The C++ Programming Language, 4th edn. Addison-Wesley Professional, Boston (2013) 5. Gosling, J., Joy, B., Steele, G.L., Bracha, G., Buckley, A.: The Java Language Specification, Java SE 8 Edition, 1st edn. Addison-Wesley Professional, Boston (2014) 6. Rossum, G.: Python reference manual. Technical report, CWI (Centre for Mathematics and Computer Science), Amsterdam, The Netherlands (1995) 7. Flanagan, D., Matsumoto, Y.: The Ruby Programming Language, 1st edn. O’Reilly, Sebastopol (2008) 8. Mayer, W., Stumptner, M., Wotawa, F.: Debugging program exceptions. In: Ali, M., Dapoigny, R. (eds.) Fourteenth International Workshop on Principles of Diagnosis (DX-2003), pp. 119–124 (2003) 9. Amighi, A., de Gomes, P.C., Gurov, D., Huisman, M.: Sound control-flow graph extraction for Java programs with exceptions. In: Proceedings of the 10th International Conference on Software Engineering and Formal Methods, SEFM 2012, pp. 33–47. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-33826-7 3 10. Kastrinis, G., Smaragdakis, Y.: Efficient and effective handling of exceptions in Java points-to analysis. In: Proceedings of the 22nd International Conference on Compiler Construction, CC 2013, pp. 41–60. Springer, Heidelberg (2013). https:// doi.org/10.1007/978-3-642-37051-9 3 11. Robillard, M.P., Murphy, G.C.: Designing robust Java programs with exceptions. SIGSOFT Softw. Eng. Notes 25(6), 2–10 (2000). https://doi.org/10.1145/357474. 355046 12. Kharitonov, D., Tarasov, G., Golenkov, E.: Modeling of object-oriented programs with Petri Net structured objects. Comput. Inform. 36(5), 1063–1087 (2017). http://doi.org/10.4149/cai 2017 5 1063 13. Kharitonov, D., Tarasov, G.: Modeling function calls in program control flow in terms of Petri Nets. Adv. Comput. Sci. Int. J. 3(6), 82–91 (2014). http://www. acsij.org/acsij/article/view/151 14. Vizovitin, N.V., Nepomniaschy, V.A., Stenenko, A.A.: Verifying UCM specifications of distributed systems using colored Petri Nets. Cybern. Syst. Anal. 51(2), 213–222 (2015). https://doi.org/10.1007/s10559-015-9714-0 15. Vizovitin, N., Nepomniaschy, V., Stenenko, A.: Verification of UCM models with scenario control structures using coloured Petri nets. Syst. Inform. 11–22 (2016). https://doi.org/10.31144/si.2307-6410.2016.n7.p11-22 16. Kurbatsky, E.: Verification of automata-based programs. In: Proceedings of the Second Spring Young Researchers Colloquium on Software Engineering, vol. 2, pp. 15–17. Institute for System Programming of the Russian Academy of Sciences (2008). https://doi.org/10.15514/syrcose-2008-2-15 17. Gurov, V.S., Mazin, M.A., Narvsky, A.S., Shalyto, A.A.: Tools for support of automata-based programming. Program. Comput. Softw. 33(6), 343–355 (2007). https://doi.org/10.1134/s0361768807060059

PeBAO: A Performance Bottleneck Analysis and Optimization Framework in Concurrent Environments Di Chen1,2 , Hui Li1,2(B) , Mei Chen1,2 , Zhenyu Dai1,2 , Huanjun Li3(B) , Ming Zhu4 , and Jian Zhang1,2 1 College of Computer Science and Technology, Guizhou University,

Guiyang, People’s Republic of China [email protected], {cse.HuiLi,gychm}@gzu.edu.cn 2 Guizhou Engineer Lab of ACMIS, Guizhou University, Guiyang, People’s Republic of China 3 Aerospace Jiangnan Group Co., Ltd., Guiyang, China [email protected] 4 National Astronomical Observatories, Chinese Academy of Sciences, Beijing, People’s Republic of China

Abstract. When multiple queries are concurrently executed, the database management systems often encounter performance bottlenecks which lead to the excessive execution time of query statements. Analyzing the execution process of these queries is conductive to study on the influence of query statements on database performance. In this paper, we proposed a performance bottleneck analysis and optimization framework named PeBAO to solve the database performance bottleneck problems in a multitasking concurrent execution environment. This framework quantifies the bottleneck impact factors of querying tasks and operations based on cost strategy. Then we designed a bottleneck optimization module based on heuristic rules. Finally, we solve the bottleneck purposefully and improve the performance of database system by combining the bottleneck impact factor with query optimization suggestions. We use the datasets of TPC-H to evaluate the accuracy of bottleneck judgement and bottleneck impact factor quantifying method. Our experimental results show that PeBAO provides effective optimization suggestions for database performance bottlenecks in a multitasking concurrent executive environment. Keywords: Performance bottlenecks · Performance analysis · Impact factor · Heuristic rules

1 Introduction Data analysis and visualization systems have been well applied in various fields. With the exponential growth of data in various fields, performance bottlenecks often occurred during database retrieval. In a concurrent environment, the rapid growth of user numbers and the data volumes will place a heavy burden on database systems. How to © Springer Nature Switzerland AG 2020 R. Silhavy (Ed.): CSOC 2020, AISC 1224, pp. 248–260, 2020. https://doi.org/10.1007/978-3-030-51965-0_21

PeBAO: A Performance Bottleneck Analysis and Optimization Framework

249

improve the execution efficiency of query statements has become the primary consideration for analyzing the causes of various system bottleneck and optimizing the database performance. According to previous research, about 80% of the problems related to database performance can be diminished by tuning the SQL query even before its actual execution [1]. Performance engineering is a vital aspect of SQL statements crafting. Because the principles and knowledge underlying that common sense requires a deep and broad understanding of the SQL execution process and the database software [2], high performance SQL tuning in a concurrent environment is often to be a complex and difficult work. Since analyzing the causes of database bottlenecks requires a lot of database maintenance experience, it is inefficient to judge database performance bottleneck artificially. In this study, in order to analyze and solve the performance bottleneck in a more efficient manner, we propose PeBAO, a database performance bottleneck analysis and optimization framework, which quantifies the bottleneck impact factor of the query operation and combines it with automated query optimization module which based on heuristic rules. The integrated heuristic ruled involved many previous research methods of database query statement optimization and the execution rules of MySQL database query optimizer [3–8]. These above experience methods are transformed into heuristic rules to provide effective optimization suggestions and improve database performance. The rest of the paper is organized as follows. Section 2 reviews the database system bottleneck judgement methods and automated query optimization tools. Section 3 briefly presents the overview of PeBAO and details the implementation of each module of PeBAO. Section 4 analyzes and discusses the experiment results. Section 5 concludes the paper.

2 Background In the past several years, there have been various database performance bottleneck analysis and optimization methods. Gaozheng Zhang [9] proposed a database performance adjustment model for application systems, which analyzes database performance indicators and revises database configurations based on the characteristic of the application to solve the database performance bottlenecks. However, the adjustment of the database parameters often has limited optimization effects on the bottlenecks. Using turned query statements and indexes is the major method to improve database performance. Myalapalli [10] proposed various rewriting techniques for ensuring the cost-based optimization of queries. These techniques find out the high cost execution operations and rewrite them into lower cost query statements. The SQL statements rewriting technology is heavily rely on database query optimization experience. There are also many optimization approaches based on database interior designs, which often improve the performance by database cache, database partitioning and query path optimization [11–14]. The existing database performance analysis and optimization tools (e.g., Pt-querydigest [15], MyProfi [16], Mysqlsla [17], etc.) are focused on the Slow-Query analysis of query statements, and then analyzing the bottleneck problems according to the execution process. These tools collect the resource and time consumption of query statements in MySQL to analyze the database bottlenecks. However, these tools can only analyze the

250

D. Chen et al.

bottlenecks while the query execution is completed, and do not provide optimization methods to improve the execution efficiency of query statements. Most of the database query optimization suggestion tools such as SQLAdvisor [18], SqlAutoReview [19] and SOAR [20] propose the SQL statement optimization suggestions according to the index adding principle and SQL writing specification. SQLAdvisor and SqlAutoReview only give index optimization suggestions. SOAR gives index optimization suggestions and rewriting optimization suggestions for SQL statements. In concurrent database query environment, the use of the above tools will lead to too many optimization suggestions, and choosing the best optimization scheme for different bottleneck problems is difficult. In this paper, we combine the impact factor with query optimization suggestion module to optimize the operations that cause bottlenecks. Finally, the accuracy of the framework is verified by experiments with recording the execution time of the optimized query statements.

3 PeBAO Our PeBAO is a framework for detecting and analyzing performance bottlenecks in concurrent database query environment. It enables researchers to judge the causes of performance bottlenecks by analyzing the execution process. PeBAO contains the bottleneck judgement module and bottleneck optimization recommendation module. Figure 1 gives an overview of the PeBAO. Firstly, in order to judge the bottleneck level, it obtains the query statements from MYSQL query queue and extract the structure features and execution features from query statements. Then it filters out the medium and high bottleneck level SQL queries by the use of Bottleneck Level Determination Model. This model is composed of the Classifier which can classify SQL queries into existing categories by analyzing features and can be applied to data prediction. Secondly, we use the cost strategy from MYSQL to quantify the impact factor of queries and operations to the bottleneck. Thirdly, the SQL optimization module combines the bottleneck impact factor with optimization suggestions to solve the bottlenecks. For building heuristic rules base, this module integrates various database query optimization experiences from blogs and papers of DBA. Bottleneck Optimization Recommendation Module

Performance Bottleneck Judgement Module Feature Extractor

SQL

Structure Feature Extraction

Executed Feature Extraction

Cost Evaluating

Bottleneck Level Determination Model

Filtered SQL

Task Bottleneck Impact Factor

Operation Bottleneck Impact Factor

Fig. 1. The overview of PeBAO framework

SQL Optimization Module

SQL parser

Heuristic Rules Index Optimization Rewrite Optimization

PeBAO: A Performance Bottleneck Analysis and Optimization Framework

251

3.1 Bottleneck Judgement Module In order to determine which tasks are the causes of performance bottleneck when multiple queries are executed concurrently, we use the Random Forest algorithm as the classifier to judge the bottleneck level of SQL queries, which is a learning method for classifying and predicting by constructing multiple decision trees. We extract the structure features and execution features of each query task as input features for the classifier. As the Table 1 and Table 2 show, structure features are obtained by parsing SQL statements. Execution features are statistical values obtained from the result returned by using the “EXPLAIN” command in MYSQL. During the execution of the SQL queries, most of time is spent in field comparing and data loading, which related to the operations of table joining and data reading. Therefore, it is conducive to predict the execution time and further determine the bottleneck level of SQL statements by calculating the counts of disk scanning and field comparing under different data volumes. Because we cannot get the number of rows in table joining before the SQL statements are executed, we calculate the “Compare counts” and “Largest Compare counts”, which affects the effects of judging bottleneck level. For each query, the “Compare counts” feature and “Largest Compare counts” feature of tasks are calculated as following: Table 1. Structural features of query statements Structure features

Description

Join table num

Number of tables participating in the table join

Using index table num

The number of tables that have used indexes

Calculate function num Number of functions that query statement contains Exist temporary

Whether to use temporary tables

Exist file sort

Whether to use file sort

Subquery type

Existing subquery type (SUBQUERY, DEPENDENTSUBQUERY, NULL)

Max data amount table The amount of data in the table with the largest amount of data in the query

Table 2. Execution features of query statements Execution features

Description

Scan num

The sum of rows scanned in all tables during the executing SQL

Compare counts

Total counts of comparison in table joining (general case)

Largest Compare counts

Total counts of comparison in table joining (worst case)

Query cost

Cost of the query statement according to “Explain”

Compare counts =

n i=2

(max(rows1 , . . . , rowsi−1 ) ∗ rowsi )

(1)

252

D. Chen et al.

Largest Compare counts =

n i=2

 i j=1

   rowsj

(2)

In the above formula, “rowsi ” represents the number of rows scanned in i-th table during the executing SQL. “Largest Compare counts” is the comparing times of the worst situation in table joining (Cartesian product). Finally, the Bottleneck Level Determination Model is built to evaluate the SQL execution time, which used to divide the bottlenecks of SQL queries into three levels: high, medium and low. 3.2 Bottleneck Impact Factor Measurement The bottleneck impact factor which based on the cost strategy is obtained by using the “EXPLAIN” command in MYSQL. As Fig. 2 shows, the “EXPLAIN” command provides information about the execution process of MySQL executor, and the cost strategy provides the total query cost, overheads of the data reading, conditions evaluating cost, and joining cost of each table in SQL statements. By parsing the execution cost of each SQL in a concurrent task, we can get the cost of each task and the cost of all tasks performing on each table in concurrent environment. To be noted that, the same operation may exist in different SQL execution. Because the query cost of a bad query strategy is several orders of magnitude higher than the query cost of a good query strategy, the impact factors obtained by calculating the cost of tasks and operations have a relatively large disparity in a concurrent environment.

Fig. 2. The cost categories of EXPLAIN

3.3 Bottleneck Optimization Recommendation Module The bottleneck optimization recommendation module includes index optimization recommendations and rewriting suggestions for query statements. After the query statements are parsed, they will be checked one by one through hundreds of heuristic rules,

PeBAO: A Performance Bottleneck Analysis and Optimization Framework

253

and then index optimization recommendations and rewriting suggestions will be given. The heuristic rules are derived from valuable maintenance experience of DBA. The index optimization recommendations are based on the index addition principles of different operations, include table joining and conditions evaluating. For example, the inner joining needs to add indexes for the two participating tables, while the left join only needs to add indexes for the right table, and the right join add indexes for the left table. Table 3 and Table 4 present some optimization suggestions of this module. The “condition” refers to the conditions that will trigger the optimization proposals. In addition to the following recommendations, how to propose the combination of recommendations when multiple conditions occur simultaneously is considered. Table 3. Index optimization suggestions Condition

Example

Equivalent query

Select … where A = ‘1’

Non-equivalence query

Select … where A > ‘1’. (‘>’, ‘ Index B > … > Index H). All of the index optimization suggestions are the B-Tree index. The “Index Reason” of Table 5 represents the purpose of the index optimization recommendation, which includes table joining, file sorting and fields screening. We list several tasks that have different influence on the bottleneck in concurrent environment. It shows that the bottlenecks are mainly caused by query 10 and query 8. Table 5. Bottleneck impact factor and optimization recommends of each task Query id

Impact factor

Optimization recommends

Related fields

Index reason

10

98.6%

Add index A, B, C

o_orderkey, ps_partkey, p_partkey

Table join

8

1.2%

Add index A

o_orderkey

Table join

5

0.163%

Add index A

o_orderkey

Table join

1

0.037%

Add index C

p_partkey

Table join

3

0.00003%

Add index A, D, E

o_orderkey, c_custkey, s_nationkey

Table join

2

0.00001%

Add index B, F

ps_partkey, n_nationkey, n_regionkey

Table join

6

0.000007%

Add index G

o_orderpriority

Filesorts

7

0.000004%

Add index H

l_returnflag

Field screen

Table 6 shows the execution time of each query after adding index optimizations. We found that the longer execution time tasks are consistent with the greater impact factor tasks. The execution time of query 10, query 8 and query 5 are the longest in initial state, which is consistent with the impact factor we calculated. Query 10 and query 8 cannot be optimized at the same time by the use of “index A” or “index B” recommendation, thus the total task execution time has not been significantly improved. As a result, the total task execution time has been better optimized with these two index optimization suggestions (Index A, B). With the use of these two optimization suggestions, the total execution time has been improved from 2946.6 s to 127.7 s. It shows that as long as the tasks with larger impact factors are optimized, the execution efficiency of concurrent tasks will be greatly improved. In order to verify the accuracy of the impact factor of query operation and prove that the method of combining the impact factor with optimization recommendation can

PeBAO: A Performance Bottleneck Analysis and Optimization Framework

257

Table 6. Execution time (seconds) of each task after adding index optimizations Optimization recommendations

Initial state

Index A

Query id

Execution time (seconds)

Index B

Index C

Index A, B

Index B, C

1

246.8

240.7

123.6

9.6

127.7

1.8

2

1.6

1.6

0.1

1.2

0.1

0.3

3

29.8

3.5

29.8

31.1

3.9

32.8

5

471.1

8.4

466.5

504.4

9.2

521.6

6

1.7

1.8

1.8

1.8

1.9

2.1

7

1.8

1.8

1.9

1.8

1.9

2.0

8

1047.9

7.9

1016.8

1168.6

8.6

1241.2

10

2946.6

2678.8

220.2

229.5

3.4

1253.9

Total

2946.6

2678.8

1016.8

1168.6

127.7

1253.9

effectively optimize performance by analyzing and solving the causes of bottlenecks, we designed experiments to record the execution time of concurrent tasks after using optimization recommendations. We combine the following two observations to analyze the accuracy of bottlenecks optimization recommendation module. Observation 1. The greater the operation “Op1” affects the bottleneck, the more important the index optimization recommendations related to “Op1” are. Observation 2. Optimization recommendation “Rc1” improves the execution efficiency of concurrent tasks than other optimization recommendations, proving that the operations involved in “Rc1” have a greater impact on performance bottlenecks than others. Table 7 shows that the joining operation to “orders” table has the highest impact factor (89.96%) than the joining operations to “partsupp” Table (0.0089%) and “part” Table (0.0037%). According to Observation 1, the importance of the optimization recommendation is ranked by the impact factor (“Index A” > “Index B” > “Index C”). Then we analyze the execution time after adding indexes to prove that the combination of impact factor and optimization suggestion can solve the bottlenecks accurately. Table 7. Bottlenecks impact factor of various operations in concurrent tasks Operation

Impact factor

“orders” Table Join

89.96%

Optimization recommendation Add index A

“orders” Table Data Read

9.74%

Nothing

“partsupp” Table Join

0.0089%

Add index B

“part” Table Join

0.0037%

Add index C

258

D. Chen et al.

Figure 5 shows the execution time in concurrent environment by the use of different optimization recommendations. By adding “index A” and “index B”, the query execution time is optimized from 2946 s to 127 s, which has better optimization effect than other optimization recommendations (Index C, Index D). According to Observation 2, the operation of table joining on “orders” and “partsupp” have greater impact on performance bottlenecks than others, which consistent with the calculated impact factor. The Operation of reading data on “orders” table has a 9.74% impact factor (Table 7) because when “orders” table joins with other tables without using index, the MYSQL query executor needs to perform the join operation by reading data from disk, resulting in a higher cost of data reading. Even though the improvement is low by adding “index A”, it optimizes three queries (query 3, query 5 and query 8) and the total Execution time would not be better optimized without “Index A”. It is because the tasks related to “index A” (query 3, query 5, query 8 and query 10) have greater impact on bottlenecks than other tasks. Without adding “Index A”, the concurrent tasks can’t be optimized effectively by the usage of other index optimization recommendations (the execution time by adding “Index B, C” and “Index B, C, D” from Fig. 5). Finally, we only use three of the optimization recommendations to optimize the performance of concurrent tasks (index A, B, C). These proved that we can optimize the performance for the causes of bottlenecks by using this method in concurrent environment, avoiding the useless optimization suggestions (index D, E, F, G, H). 3500

Execution time (seconds)

3000

2946.646 2678.838

2500 2000 1500

1016.847

1253.949

1168.643

1180.842

1000 500

127.692

14.115

0 Initial State

Index A Index B Index C Index A, Index B, Index A, Index B, B C B, C C, D Optimization Recommends

Fig. 5. Execution time of concurrent tasks after adding different optimization recommends.

5 Conclusion In order to optimize database performance by solving the bottlenecks in concurrent environment, we design and implement a framework named PeBAO which based on cost strategy and heuristic rules. PeBAO provides a bottleneck identification and solution composed of Performance Bottleneck Judgment Module and Bottleneck Optimization Recommendation Module, which used together can position accurately the causes of

PeBAO: A Performance Bottleneck Analysis and Optimization Framework

259

bottlenecks and give effective optimization suggestions. We present a method that combines impact factors with optimization recommendations to choose effective suggestions among several optimization suggestions. The experiments show that, benefit from the produced optimization suggestions, PeBAO obtained both satisfactory performance and accuracy and has been successfully proved to be an effective work for bottleneck analyzing and optimizing in a multitasking concurrent executive environment. Acknowledgement. This work was supported by the Fund by the National Natural Science Foundation of China (Grant No. 61462012, No. 61562010, No. U1531246, No. 71964009), the Innovation Team of the Data Analysis and Cloud Service of Guizhou Province (Grant No. [2015]53), the Program for Innovative Talent of Guizhou Province (2017).

References 1. Myalapalli, V.K., Savarapu, P.R.: High performance SQL. In: 11th IEEE International Conference on Emerging Trends in Innovation and Technology, December 2014, Conference 2016, Pune, India. LNCS, vol. 9999, pp. 1–13. Springer, Heidelberg (2016) 2. Myalapalli, V.K., Chakravarthy, A.S.N., Reddy, K.P.: Accelerating SQL queries by unravelling performance bottlenecks in DBMS engine. In: 2015 International Conference on Energy Systems and Applications, pp. 7–12 (2015) 3. Myalapalli, V.K., Shiva, M.B.: An appraisal to optimize SQL queries. In: International Conference on Pervasive Computing (ICPC), pp. 1–6, Pune 2015 (2015) 4. Myalapalli, V.K., Teja, B.L.R.: High performance PL/SQL programming. In: 2015 International Conference on Pervasive Computing (ICPC), pp. 1–5 (2015) 5. Myalapalli, V.K., Totakura, T.P., Geloth, S.: Augmenting database performance via SQL tuning. In: 2015 International Conference on Energy Systems and Applications, pp. 13–18 (2015) 6. Myalapalli, V.K., Padma, T., Totakura, K.: Overhauling PL/SQL applications for optimized performance. Int. J. Innov. Res. Sci. Eng. Technol. 4(9) (2015) 7. Mishra, S., Beaulieu, A.: Mastering Oracle SQL, 1st edn. O’Reilly, Massachusetts (2002) 8. Oppel, A.: SQL Demystified, 1st edn. McGraw-Hill, New York (2005) 9. Zhang, G., Chen, M., Liu, L.: A model for application-oriented database performance tuning. In: 2012 6th International Conference on New Trends in Information Science, Service Science and Data Mining (ISSDM2012), Taipei, pp. 389–394 (2012) 10. Myalapalli, V.K., Chakravarthy, A.S.N.: Revamping SQL queries for cost based optimization. In: 2016 International Conference on Circuits, Controls, Communications and Computing (I4C), pp. 1–6 (2016) 11. Weiner, A.M., Härder, T., Oliveira da Silva, R.: Visualizing cost-based XQuery optimization. In: 2010 IEEE 26th International Conference on Data Engineering (ICDE 2010), Long Beach, CA, pp. 1165–1168 (2010) 12. Zhou, S., Tomov, N., Williams, H.W., Burger, A., Taylor, H.: Cache modelling in a performance evaluator for parallel database systems. In: Proceedings Fifth International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems, Haifa, Israel, pp. 46–50 (1997) 13. Cook, J.E., Wolf, A.L., Zorn, B.G.: A highly effective partition selection policy for object database garbage collection. IEEE Trans. Knowl. Data Eng. 10(1), 153–172 (1998) 14. Abul-Basher, Z.: Multiple-query optimization of regular path queries. In: 2017 IEEE 33rd International Conference on Data Engineering (ICDE), San Diego, CA, pp. 1426–1430 (2017)

260 15. 16. 17. 18. 19. 20.

D. Chen et al. Pt-query-digest. https://www.percona.com/doc/percona-toolkit/3.0/pt-query-digest.html MyProfi. https://github.com/MarcusSchwarz/myprofi Mysqlsla. https://github.com/daniel-nichter/hackmysql.com/tree/master/mysqlsla SQLAdvisor. https://github.com/Meituan-Dianping/SQLAdvisor SQLautoreview. https://github.com/taobao/sqlautoreview SOAR. https://github.com/XiaoMi/soar

Matlab Code Generation and Consumption Daniel Kuchár(B) , Martin Bartoˇn, Peter Schreiber, and Pavol Tanuška Institute of Applied Informatics, Automation and Mechatronics, Faculty of Materials Science and Technology in Trnava, Slovak University of Technology in Bratislava, Trnava, Slovakia {daniel.kuchar,martin.barton,peter.schreiber, pavol.tanuska}@stuba.sk

Abstract. During the complex application development, it is necessary to deploy various programming languages in order to utilize their strengths. The paper presents Matlab code generation for the purpose of signal filtering by means of .dll creation. Stress is put on the speed of a code execution and independence of a virtual machine (Matlab Runtime). Comfortable and quick code development in Matlab environment is able to unburden a programmer from a detailed study process of quite often complicated physical principle of the problematics and makes possible to deploy once developed and debugged code in a new environment, too. Two ways of a code generation are presented: automatic and manual. The automatic way was easy and represented an immediate use of the generated code but only in case of 64bit version. Contrary to this, the automatic generation of a 32bit version had its drawbacks. We proposed a manual universal way for overcoming all of these drawbacks irrespective to the 32bit or 64bit version. Moreover, the paper presents the side of the Matlab code consumers, too. All of the presented principles could serve for other purpose, not only for a signal filtering. Keywords: Matlab · Dll · Excel VBA · C# · Wonderware

1 Introduction The paper describes the possibilities for generating and consuming a Matlab code in other applications in the shape of .dll by means of noised signal filtering in the operating system Microsoft Windows. We use Matlab Coder for generating the source code and the executable version, too. Bai [2] introduces the ways how to combine various programming languages for developing a desired final application. These are getting more and more complex nowadays. Apart from the other options, the use of Matlab, Matlab Compiler, and C/C++ is mentioned. The publication came from 2003 and talks about the release Matlab R12 presenting four different methods: standalone application (.exe), add-in, ActiveX and library (.dll). From other point of view, Tzafestas [1 – p. 83] informs about the cooperation between client web application and Matlab Web Server. We decide to dig deeper into the option how to use Matlab for generating its code in the shape of .dll for the sake of the code running speed. We work with Matlab R2019b and choose three independent software consumers: MS Excel, C# and Wonderware on four © Springer Nature Switzerland AG 2020 R. Silhavy (Ed.): CSOC 2020, AISC 1224, pp. 261–273, 2020. https://doi.org/10.1007/978-3-030-51965-0_22

262

D. Kuchár et al.

computer configurations. Both versions of .dll (32bit and 64bit) are taken into account – depending on the consumer application version. In the text, the term Cdll means a .dll written and compiled with a C compiler, CC++ dll means a.dll compiled with C++ decoration, NETdll means a .dll built with C# (in the role of a wrapper for another Cdll with a Matlab code) and finally .dll states generally for any dynamic linking library.

2 Methods 2.1 Computer Configurations We generated Matlab code (in both ways: automatically and manually) on computer configurations #1 and #2. During its consumption, we used computer configurations #1, #2 and #3 for Excel VBA, #1, #2 and #4 for C# (.NET) and finally, #4 for Wonderware: Computer configuration #1 Windows 10 Pro, Version 1809, 64bit Microsoft Excel 2016 MSO, 32bit Visual Studio Community 2019 MATLAB Version: 9.7.0.1190202 (R2019b) MATLAB Coder, Version 4.3, (R2019b) Computer configuration #2 Windows 10 Home, Version 1903, 64bit Microsoft Excel Office 365 MSO, 64bit Visual Studio Community 2019 MATLAB Version: 9.7.0.1190202 (R2019b) MATLAB Coder, Version 4.3, (R2019b) Computer configuration #3 Windows 7 Professional SP1, 64bit Microsoft Excel 2010 MSO, 32bit Computer configuration #4 Windows Server 2008 R2 Standard SP1, 64bit Wonderware Application Server 2014 R2 SP1, 32bit 2.2 Description of the Noised Signal The overall noised signal in Code 1 consisted of the original sine wave, the second sine wave of different frequency (noise) and the randomly generated noise.

Matlab Code Generation and Consumption

T=1; freq=10; Ay=1; Fn=5000; An=0.1; f2=100; A2=0.1; t=0:1/Fn:T; y=Ay*sin(2*pi*freq*t); n=An*rand(1,length(t)); y2=A2*sin(2*pi*f2*t); yn=y+n+y2;

% % % % % % % % % % % %

263

time base [sec] frequency of the signal [Hz] amplitude of the signal sampling frequency amplitude of the noise frequency of the second signal amplitude of the second signal time vector signal noise second signal aka second noise overall noised signal

Code 1. Matlab code of an overall noised signal

We designed the filter in Code 2 with respect to the frequency domain of the noised signal – type Butterworth, the passband, 3rd order: ob=3; % order of the filter wb=[8 12]*2/Fn; % low+high limit frequencies [Hz] [b, a]=butter(ob,wb,'bandpass'); % filter design yn_filter=filter(b, a, yn); % denoised signal Code 2. Matlab code of the Butterworth filter

2.3 Automatically Generated Matlab Code – C dll The function (.m file), from which the code was generated is stated in Code 3: function yn_filter = FilterS(yn) %#codegen Fn=5000; ob=3; wb=[8 12]*2/Fn; [b, a]=butter(ob,wb,'bandpass'); yn_filter=filter(b, a, yn); end Code 3. Matlab code for an automatically generated Cdll

We run the Matlab Coder with the following options: dynamic library, Language: C, Hardware Board: None – Select device below, Device: Intel x86-32(Windows32) or x86-64(Windows64) with respect to your needs. In case of 32bit .dll, there was no possibility to set up a ‘__stdcall’ calling convention. Some consumers require just ‘__stdcall’ (Excel), the others (C#) could accept other form, for instance ‘__cdecl’, too. For this reason, we decided to adopt the manually generated versions of .dll.

264

D. Kuchár et al.

2.4 Manually Generated Matlab Code – Cdll According to [22] the following aspects are to be assured during a .dll creation: • exportation of the functions – could be done in two ways. Firstly, by means of the directive ‘dll export’ [14, 30], or secondly with .def files. We decided not to use the .def files option [19]. The exported table and the final name decoration are possible to be checked with free software NirSoft [20] or DependencyWalker [21]. • name decoration of the exported functions (mangling) [13, 15] – normally is used C++decoration. In case of C decoration need, the directive ’extern C‘must be used. We would like to stress the fact that without the C++decoration the function overloading is not possible. • use of the appropriate calling conventions – could be chosen between C calling convention or standard calling convention in the majority of cases. The client application consuming the .dll decides about this aspect. These three aspects explain alias ‘_butter@16’ in Code 5. We chose .dll source code for Butterworth filter in the shape of Code 4:

Matlab Code Generation and Consumption

265

// PART 1 -------------------------------------------extern "C" __declspec(dllexport) void __stdcall butter(const double yn_data[], const int yn_size[2], double yn_filter_data[], int yn_filter_size[2]); void FilterS(const double yn_data[], const int yn_size[2], double yn_filter_data[], int yn_filter_size[2]); // PART 2 -------------------------------------------BOOL APIENTRY DllMain( HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ) { return TRUE; } // PART 3 -------------------------------------------__declspec(dllexport) void __stdcall butter(const double yn_data[], const int yn_size[2], double yn_filter_data[], int yn_filter_size[2]) { FilterS(yn_data, yn_size, yn_filter_data, yn_filter_size); } // PART 4 -------------------------------------------void FilterS(const double yn_data[], const int yn_size[2], double yn_filter_data[], int yn_filter_size[2]) {...} Code 4. C code for a manually generated Cdll

The description of the C code for a manually generated code: • PART 1 : declarations of the exported and unexported functions - The above described aspects for: exportation, decoration and calling conventions. • PART 2 : DllMain body - According to [22] and [24] DllMain body represented the minimized version [17]. • PART 3 : definitions of the exported functions - In our case just another unexported function was called. In the future, there is a space for possible data preprocessing here – a principal proposal is made in the Sect. 4.6.

266

D. Kuchár et al.

• PART 4 : definitions of the unexported functions - The body of the function FilterS could be created from scratch or just copied from automatically generated Matlab source code. In this case, three files {name}.h, {name}_types.h, rtwtypes.h must be copied into the folder with dllmain.cpp and added in VisualStudio: HeaderFiles, Add, Existing Items. {name} stands for name of the project used during the automatically generated Matlab code. When the functionality of the function differs, its input parameters differ, too. 2.5 Consumption of Matlab Code Excel side: The already generated Cdll may be consumed with a way proposed in Code 5: #If Win64 Then Declare PtrSafe Sub butter Lib _ "{Path}\butter-64bit.dll" Alias "FilterS" _ (ByRef datainput As Double, _ ByRef datainputsize As Long, _ ByRef dataoutput As Double, _ ByRef dataoutputsize As Long) #Else Declare PtrSafe Sub butter Lib _ "{Path}\butter-32bit.dll" Alias "_butter@16" _ (ByRef datainput As Double, _ ByRef datainputsize As Long, _ ByRef dataoutput As Double, _ ByRef dataoutputsize As Long) #End If Sub ButtonField() ... Call butter(datainput(1), datainputsize(1), _ dataoutput(1), dataoutputsize(1)) ... End Sub Code 5. VBA code for consuming a Cdll

Type ‘Long’ as a counterpart for the type ‘Int’ in C must be used. It is better to use the directive ‘PtrSafe’ [36]. During the compilation at the beginning, Excel was able to find out which version of it is running, 32bit or 64bit, by means of the constant ‘Win64’ and subsequently to call the right .dll version [37]. Directive ‘Alias’ is needed if the name of the VBA [18] function doesn’t match the name of the exported one in the .dll. {Path} stands for the full path to the appropriate .dll (Code 5).

Matlab Code Generation and Consumption

267

C# (.NET) side: The cooperation between the application, NETdll and Cdll could take a form stated in Code 6 (for the sake of C# application): using System.Runtime.InteropServices; namespace NETDLL { public class Class1 { public void FilterSignal(ref double ArrIn, ref int ArrInSize, ref double ArrOut, ref int ArrOutSize) { NativeMethods.butter_stdcall(ref ArrIn, ref ArrInSize, ref ArrOut, ref ArrOutSize); } } static class NativeMethods { [DllImport("butter-32stdcall.dll", EntryPoint = "_butter@16")] public static extern void butter_stdcall (ref double arrInData, ref int arrInSize, ref double arrOutData, ref int arrOutSize); } } Code 6. C# code for NETdll wrapper, the form for passing/accepting arguments: Subroutine

And could take another form in Code 7, too (for the sake of Wonderware application):

268

D. Kuchár et al.

using System.Runtime.InteropServices; namespace WonderDLL { public class ClassWonder { public double[] FilterArrInOut(double[] ArrIn, int ArrInSize) { ... NativeMethods.butter_stdcall(ref ArrIn[0], ref ArrInputDSize[0], ref ArrOut[0], ref ArrOutputDSize[0]); return ArrOut; } } static class NativeMethods { [DllImport("butter-32stdcall.dll", EntryPoint = "_butter@16")] public static extern void butter_stdcall (ref double arrInData, ref int arrInSize, ref double arrOutData, ref int arrOutSize); } } Code 7. C# code for NETdll wrapper, the form for passing/accepting arguments: Function

Wonderware side: A generated NETdll may by consumed in Wonderware in the form of Code 8: dim objDLL as WonderDLL.ClassWonder; objDLL = new WonderDLL.ClassWonder; Me.ArrayOut[] = objDLL.FilterArrInOut(Me.ArrayIn[], NumberOfItems); Code 8. Wonderware script code for consuming a NETdll wrapper

Before the running of the script, NETdll must have been imported into Wonderware environment according to [5]. Cdll must have been copied manually into the folder C:\Windows\SysWOW64. There are more options for passing/accepting arguments in the function calls. Wonderware does not recognize the directive ‘ref’.

Matlab Code Generation and Consumption

269

3 Results Functionality of the proposed filter is depicted in Fig. 1:

Fig. 1. Functionality of the proposed filter

The original sine wave (black color) had been noised (green color) by way stated in the Sect. 2.2. The red color illustrates the start of the filter at the beginning, and later shows an offset between the original signal and its filtered counterpart, which is caused by the presence of the filter itself.

4 Conclusion 4.1 Filter In this paper we used a textbook example of the Butterworth filter (IIR) with constant sampling period. We didn’t take neither advanced signal processing [4 – pp. 581, pp. 645] (multirate sampling) nor adaptive filtering (variable filter parameters) into account. Of course, in practise the nature of the measured signals would have more complex demands on the filter capabilities. For these reasons, filters could be classified by various criteria [3]: • realization structure (ladder, lattice, …) – [4 – p. 457] each structure has demands on memory, computing time and sensitivity to finite word length effect. While infiniteprecision arithmetic is used, all the structures are equivalent with respect to their characteristics. Finite-precision arithmetic (quantization error) implemented in the structures causes that some of the structures are more or less suitable. • basic components (hardware: active, passive, digital, analog vs. software: arithmetic accuracy)

270

D. Kuchár et al.

• characteristics in frequency domain (passband, stopband) – magnitude response + phase response • impulse response (FIR, IIR) – FIR have advantage against IIR, because they are less sensitive to finite word length effect. To the contrary, they need higher filter order for achieving the same design specifications – higher demands on memory (number of components) and computing time. In practise [4 – p. 337], the following procedure could be used: to set up design specifications and to choose the appropriate design method. 4.2 Matlab Code Matlab offers more options for application development (inclusive of its code generating and consuming) [7, 9] – actual from release R2015b: MatlabCompiler – standalone applications demanding Matlab Runtime with the possibility for using all the Matlab features (.exe, Excel add-ins) MatlabCompilerSDK – integration with other programming languages demanding Matlab Runtime with the possibility for using all the Matlab features (.dll, .NETassemblies, Java classes, Python package) MatlabCoder – generation of the source code and executable version without the need for Matlab Runtime (C/C++ source code, .lib static, .dll, .mex). Not all of Matlab features could be exported with Matlab Coder. On the other hand, running time of the generated .dll speaks in favour of Matlab Coder [6, 10]. 4.3 Term .dll The site [24] informs about what .dll is and what kind of them there are in the operating system Windows. Additional information could be found in [11, 12, 16, 25–27, 29]. In case of the complex.dll system, ‘dll hell‘problem [23] could arise. Care should be taken of applications which record their own system of.dll, too – see Sect. 4.8. The source [39] informs about WOW64 emulator and the conditions under which some 32bit applications are able to run in the 64bit operating system. [40] states that a 64bit application cannot call a 32bit.dll and vice versa [41, 42]. 4.4 Matlab Code Consumption in C# The site [35] introduces three basic possibilities for Matlab code consumption in C#: Automation Server, .NET Assembly [28] and wrapper for CC++dll with their advantages and disadvantages. 4.5 Automatic vs. Manual Generation In favour of manually generated code speaks some unresolved user problems (32bit Excel) [38]. Our .dlls have been employed in relatively new operating systems. In case of need for some older ones, macros for specifying the appropriate operating system version could be implemented [33, 34].

Matlab Code Generation and Consumption

271

Exactly the number of directives which can be used in a manually generated code (example in Code 4) plays a dominant role in adjusting a .dll to the needs of an arbitrary consumer application. In case of 64bit.dll, ‘__stdcall’ directive is accepted but ignored and there is no name decoration [31, 32]. Obviously, we were able to deploy any 64bit automatically generated.dll version immediately after its creation. In case of 32bit.dll version, we encountered a problem, if the consumer application expected ‘__stdcall’ calling convention which we could not specify in the automatically generating process. 4.6 Input Data Preprocessing Possible input data preprocessing may have a look like in Code 9: TT = array2timetable(y,'RowTimes',tV_dt); % timetable uTT=rmmissing(TT); % removing NaT and NaN entries uTT=sortrows(uTT); % sorted by time uTT=unique(uTT); % removing of entry duplication uTT=retime(uTT,unique(uTT.Time),'mean'); % average value for entries of the same time uTT = retime(uTT,'regular','spline', 'TimeStep',seconds(tsec)); % equidistant time of tsec between % values in the timeline Code 9. Matlab code for an input data preprocessing

An engineer is in charge of choosing the right period during the signal sampling process. Sometimes undefined values (both for time or measured quantity) or multiple entries for the same time step could arise. The measured entries could be out of order or even non equidistantly sampled. All of these aspects could be resolved with the Code 9. For the sake of simplicity, we didn’t employ it in the .dll code. 4.7 Sequential Operation vs. Operation with Scan Period Wondeware performs its activities within a scan period. During this time, Wonderware should scan the values for all of the attributes, run the appropriate scripts and writes the values to Historian. The scan period is set up in every galaxy’s Application Engine roughly in milliseconds. If the value is set up too low, the real period of script running could be higher than the preset scan period, which makes an error. The real computing performance of Wonderware depends on the hardware [6]. 4.8 Registering of the .dll vs. Programmer’s Activity Wonderware creates its own register and file structure of the active .dlls [5] while importing them. In case of tailor-made applications, the programmer should take care of this aspect.

272

D. Kuchár et al.

4.9 Other Physical Principle Implementation All of the presented rules for a .dll generating and consuming could be implemented for any arbitrary physical principle and not only for a signal filtering on condition that Matlab supports a code generation for appropriate applied instruction set. Acknowledgements. This publication is the result of implementation of the KEGA Project 0009STU-4/2018: “The innovation of the subject Intelligent Control Methods at the Faculty of Materials Science and Technology of Slovak University of Technology”.

References 1. Tzafestas, S.G.: Web-Based Control and Robotics Education. Springer, Dordrecht (2009) 2. Bai, Y.: Applications Interface Programming Using Multiple Languages: A Windows Programmer’s Guide. Prentice Hall PTR, Upper Saddle River (2003) 3. Kalechman, M.: Practical Matlab Applications for Engineers. CRC Press, Boca (2009) 4. Schilling, R.J., Harris, S.L.: Fundamentals of Digital Signal Processing using Matlab, 2nd den. Cengage Learning, Stamford (2012) 5. TechNote 568 - How Wonderware Application Server Manages DLLs and aaSLIB Imports, Invensys Systems, Inc. (2009) 6. Wonderware Application Server - Training Manual, Schneider Electric Software (2015) 7. https://stackoverflow.com/questions/18126407/matlab-compiler-vs-matlab-coder. Accessed 9 Dec 2019 8. https://www.mathworks.com/matlabcentral/answers/223937-should-i-use-matlab-compilersdk-or-matlab-coder-to-integrate-my-matlab-applications-with-c-c. Accessed 9 Dec 2019 9. https://www.mathworks.com/company/newsletters/articles/selecting-a-matlab-applicationdeployment-strategy.html?s_tid=answers_rc2-3_p6_Topic. Accessed 9 Dec 2019 10. https://www.mathworks.com/help/coder/language-supported-for-code-generation.html. Accessed 9 Dec 2019 11. https://www.mathworks.com/matlabcentral/answers/398398-what-is-the-difference-bet ween-the-dll-generated-by-matlab-coder-and-the-dll-generated-by-librarycom. Accessed 9 Dec 2019 12. https://docs.microsoft.com/sk-sk/cpp/build/dlls-in-visual-cpp?view=vs-2019. Accessed 9 Dec 2019 13. https://docs.microsoft.com/sk-sk/cpp/build/walkthrough-creating-and-using-a-dynamiclink-library-cpp?view=vs-2019. Accessed 9 Dec 2019 14. https://docs.microsoft.com/sk-sk/cpp/cpp/dllexport-dllimport?view=vs-2019. Accessed 9 Dec 2019 15. https://docs.microsoft.com/en-us/cpp/build/reference/decorated-names?view=vs-2019 16. https://docs.microsoft.com/en-us/windows/win32/Dlls/dynamic-link-libraries. Accessed 9 Dec 2019 17. https://docs.microsoft.com/en-gb/windows/win32/dlls/dllmain. Accessed 9 Dec 2019 18. https://docs.microsoft.com/en-us/cpp/build/calling-dll-functions-from-visual-basic-applicati ons?view=vs-2019. Accessed 9 12 2019 19. https://docs.microsoft.com/en-us/cpp/build/exporting-from-a-dll-using-def-files?view=vs2019. Accessed 9 Dec 2019 20. https://www.nirsoft.net/utils/dll_export_viewer.html. Accessed 9 Dec 2019 21. http://www.dependencywalker.com/. Accessed 9 Dec 2019

Matlab Code Generation and Consumption

273

22. http://www.ni.com/tutorial/3056/en/. Accessed 9 Dec 2019 23. https://stackoverflow.com/questions/1379287/i-keep-hearing-about-dll-hell-what-is-this. Accessed 9 Dec 2019 24. https://support.microsoft.com/en-gb/help/815065/what-is-a-dll. Accessed 9 Dec 2019 25. https://forums.asp.net/t/1536669.aspx?Difference+between+normal+DLL+net+DLL. Accessed 9 Dec 2019 26. https://stackoverflow.com/questions/2259375/what-are-the-exact-differences-between-netdll-and-a-normal-dll. Accessed 9 Dec 2019 27. http://net-informations.com/faq/net/dll.htm. Accessed 9 Dec 2019 28. https://docs.microsoft.com/en-us/previous-versions/dotnet/netframework-1.1/hk5f40ct(v= vs.71)?redirectedfrom=MSDN. Accessed 9 Dec 2019 29. https://www.youtube.com/watch?v=JPQWQfDhICA. Accessed 9 Dec 2019 30. https://www.codeproject.com/Articles/778255/DllExports-Common-Problems-and-Sol utions. Accessed 9 Dec 2019 31. https://docs.microsoft.com/en-us/cpp/cpp/stdcall?redirectedfrom=MSDN&view=vs-2019. Accessed 9 Dec 2019 32. https://stackoverflow.com/questions/28062446/x64-dll-export-function-names. Accessed 9 Dec 2019 33. https://stackoverflow.com/questions/11159346/dll-compiled-under-windows-7-doesntwork-in-windows-xp. Accessed 9 Dec 2019 34. https://docs.microsoft.com/en-gb/windows/win32/winprog/using-the-windows-headers ?redirectedfrom = MSDN#setting_winver_or__win32_winnt,. Accessed 9 Dec 2019 35. https://www.youtube.com/watch?v=bU_vX1k3VAs. Accessed 9 Dec 2019 36. https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/ptrsafekeyword. Accessed 9 Dec 2019 37. https://docs.microsoft.com/en-us/office/vba/language/concepts/getting-started/64-bit-vis ual-basic-for-applications-overview. Accessed 9 Dec 2019 38. https://www.mathworks.com/matlabcentral/answers/65915-how-can-i-create-a-dll-that-canbe-called-from-excel. Accessed 9 Dec 2019 39. https://www.techsupportalert.com/content/how-windows7-vista64-support-32bit-applicati ons.htm. Accessed 9 Dec 2019 40. https://social.msdn.microsoft.com/Forums/vstudio/en-US/644c2f9c-f06a-496a-b497-642 0a7919fdb/64-bit-app-calling-32-bit-dll?forum=csharpgeneral. Accessed 9 Dec 2019 41. https://docs.microsoft.com/en-gb/windows/win32/winprog64/programming-guide-for-64bit-windows. Accessed 9 Dec 2019 42. https://blog.mattmags.com/2007/06/30/accessing-32-bit-dlls-from-64-bit-code/. Accessed 9 Dec 2019

The Problem of Preventing the Development of Critical Combinations of Events in Large-Scale Systems A. S. Bogomolov1,2 , A. F. Rezchikov3 , V. A. Kushnikov1,2,4 , V. A. Ivashchenko1(B) , T. E. Shulga4 , A. A. Samartsev1 , E. V. Kushnikova4 E. V. Berdnova5 , E. Yu. Kalikinskaya4 , and O. V. Kushnikov6 1 Institute of Precision Mechanics and Control of RAS,

24 Rabochaya Street, Saratov 410028, Russia [email protected], [email protected] 2 Saratov State University, 83 Astrakhanskaya Street, Saratov 410012, Russia 3 V. A. Trapeznikov Institute of Control Sciences of RAS, 65 Profsoyuznaya Street, Moscow 117997, Russia 4 Yuri Gagarin State Technical University of Saratov, 77 Politechnicheskaya Street, Saratov 410054, Russia 5 Saratov State Vavilov Agrarian University, 1 Teatral’naya pl. Street, Saratov 410012, Russia 6 KRIT Ltd., 5 1-Y Derbenevskiy pereulok, office 606, 115114 Moscow, Russia

Abstract. The problem of emergency combinations of events arising in largescale systems due to the development of combinations of local events is investigated in this paper. Such local events individually are relatively nonhazardous for a large-scale system, but if they occur in a certain order at a certain point in time, they lead to critical modes of existence of the system as a whole. Modern means of warning can retaliate against individual adverse effects, and for effective prediction and prevention of accidental combinations, new mathematical support is needed to allow for the systematic analysis of accidental combinations of events at different intervals of time. The task of controlling the prevention of emergency combinations of events is set as a task of variation calculation on a conditional extremum. The concept and method of solving the task with the use of analysis of failure trees and ways of successful functioning are offered. The proposed method allows you to select the minimum set of unfavorable events. Parity of such events in subsystems makes it possible to reduce the possibility of development of emergency combinations of events in large-scale systems to an acceptable level. The obtained results are intended for use in decision support systems at various levels in the management of prevention of critical modes in large-scale systems. Keywords: Large-scale system · Critical combinations of events · Critical situation

© Springer Nature Switzerland AG 2020 R. Silhavy (Ed.): CSOC 2020, AISC 1224, pp. 274–280, 2020. https://doi.org/10.1007/978-3-030-51965-0_23

,

The Problem of Preventing the Development of Critical Combinations of Events

275

1 Introduction The development of critical situations in large-scale systems [1–3] in many cases is related to the occurrence of unfavorable events in their individual parts – human-machine and organizational-technical systems – and the formation of new links between these events. When analyzing such processes, it is expedient to take into account analogies with human-machine [4, 5] and social systems [6, 7]. It is possible to consider analogues of emergency combinations of events [8, 9] taking into account the scale of the system, the order of events and time intervals between them. The time aspect is extremely important and is reflected in the studies [10–12], along with the dynamics aspect for large-scale systems [13–16]. In the development of critical combinations of events, the large-scale system loses the resources necessary to respond to individual adverse events, which allows their consequences to develop. Thus, the occurrence of an critical combination of events in a large scale system means that the local critical regimes leading to a certain sequence of adverse events are the cause of the development of the critical regime of the large scale system as a whole. The occurrence and development of accident combinations of events is an important problem in the functioning and development of large-scale systems. In connection with the above, the task of developing models, methods and algorithms for analyzing critical combinations of events in the management of large-scale systems that allow identifying the most dangerous combinations of events and determining the local impact to prevent their development is relevant. The required methods and algorithms will be used in the development of advanced information management systems to identify potential critical modes and ways to prevent their development in large-scale systems.

2 Formulation and Discussion of the Problem The task means the following. It is required to determine emergency combinations of events, the development of which is most dangerous given the events that have already happened, and determine the control actions to reduce this danger to an acceptable level. A variant of the formalized formulation of such a problem is proposed. Let A = {A1 , …, An }– many scenarios situations caused critical event combinations in a large-scale system in the time interval [t 0 , t 1 ], P(Ai , t) – function expressing the assessment of the risk of situation a i at time t, which takes values in the interval [0, 1], s(t), x(t) – state of the system and its external environment, respectively, u(t) – the control actions on the system at time t, S(t), X(t), U(t) – a plurality of values of s(t), x(t), u(t). We assume it that the control action u(t) includes control actions u1 (t), provided the subject of management to achieve the system goals, and control actions u1 (t) further provided a system for preventing accidental combinations of events. Required to determine the control action u1 (t 1 ), …, uk (t k ), under which, for all t in the interval [t 0 , t 1 ] is satisfied when the known information about the management of u1 (t) P(Ai , t) < ε, i = 1, . . . , n

(1)

276

A. S. Bogomolov et al.

Where ε – specified number and k 

F(s(ti ), x(ti ), u(ti ), ti ) → min,

(2)

i=1

where F(s(t i ), x(t i ), u(t i ), t i ) – the aim function used in the system’s management under consideration, and the boundary condition Fs (s(ts ), x(ts ), u(ts ), ts ) = 1,

(3)

Fe (s(te ), x(te ), u(te ), te ) = 1,

(4)

where F s (s(t i ), x(t s ), u(t i ), t i ), F e (s(t c ), x(t c ), u(t c ), t c ) – specified functions and constraints C(t) ≤ F1 (s(t), x(t), u(t), t) ≤ D(t),

(5)

associated with the object and regulations system M functioning, where F 1 (s(t), x(t), u(t), t), C(t), D(t) – defined in [t 0 , t 1 ] function. Condition (1) is regarded as a requirement of deterrence risk of accidental combinations of events. This condition includes the corresponding inequalities for situations A1 , …, An , which distinguishes it from the often discussed the conditions of minimizing the total figures, in which danger or risk of accidents appear with certain weights and performance of which does not guarantee that the probability of danger or accidents will be selected within the acceptable limit. The number of ε in (1) is selected for the situations, the damage from which is considered being comparable. If we consider the situation different from damage, for each of the plurality of situations A task is solved with the value ε, corresponding to situations of loss from A. Limitations for resources used for solutions aid in conditions (3–5). Function F s (s(t s ), x(t s ), u(t s ), t s ) from the condition (2) can be interpreted as the time of filing and implementing the required control signals or their value as other overhead.

3 Used Mathematical Models It is proposed to solve the problem in real time by determining control actions to prevent the development of the most dangerous critical events, taking into account those events that have already been recorded. Such combinations are determined by analyzing causeeffect structures, in particular, trees of development of critical situations. The minimum cross sections of the failure trees allow one to determine the sets of events that make up critical combinations, and the ways of successful functioning (WSF) [17] to determine the sets of events that must be prevented for the development of critical combinations. The function P (Ai , t) for assessing the danger of a situation Ai is considered as the level of confidence of experts, determined on the basis of the data’s analysis and the results of their processing by decision support systems. Such a hazard assessment is

The Problem of Preventing the Development of Critical Combinations of Events

277

appropriate when it comes to the development of emergency combinations of events in large-scale and complex systems over sufficiently long periods of time. In the case of technical or human-machine systems, considered at shorter time intervals, it is possible to determine the probability of the development of emergency combinations by using well-known mathematical models, for example, Kolmogorov-Chapman differential equations systems [18–20].

4 Concept and Approach to Tasks Solving The proposed approach to solving the problem is carried out in two stages. Operational information obtained about current or past events is used in the second stage. The first stage consists of the following steps: 1.1. Define the set A = {A1 , …, An } of situations caused by critical combinations of events. 1.2. Select the set of events E = {e1 , …, em } that affect the development of scenarios from A. 1.3. Define the cause-effect relationships between events from E and the set of causal structures D of the development of scenarios A from events E. 1.4. Define the set of minimal sections and WSF for structures from D. 1.5. For each event e ∈ E, determine the lists of control actions Q(e) for retaliation this event, the time intervals for implementing these stimulus, and lists of decisionmakers on their implementation and persons implementing these stimulus. Set up a correspondence between the modes of effecting Q(e1 ), …, Q(em ) and the intensities with which these effects will ensure the retaliation of events e1 , …, em . 1.6. For each event e ∈ E, establish the dependence

P(e, t) = fe (μ(e1 ), . . . , μ(em ), s(t), x(t), t)

(6)

of the values of P(Ai , t) on the considered interval [t s , t e ] on μ(e) – parry control intensities of this event. Dependencies are established by analytical methods using the necessary empirical, expert and statistical information. These dependencies may take the form of analytical relationships, tabular values, or productions that will allow us to assess the possibility of events from the set E depending on the modes of effecting actions from Q(e1 ), …, Q(em ), as well as the states of the system and environment. The second stage is the control of prevention of critical combinations of events – it is carried out in the process of system functioning. When recording adverse events, the possibility of developing critical combinations is assessed, and for the most dangerous combinations where condition (1) is not met, the WSF is considered. On their basis, the WSF and the information on the procedure are determined by the measures to reduce the assessed possibility of development of critical combinations to an admissible value of ε. The second stage of the task solution consists of the following steps:

278

A. S. Bogomolov et al.

2.1. Recording information on the occurrence of events from the set E. 2.2. If a set of events E t ⊆ E is recorded at time t, define the set N(E t ) of all minimal sections intersecting E t and the set Ñ(E t ) complements of separation from N(E t ) to the set E. 2.3. Estimate the possibility of occurrence of sequences of events from Ñ(E t ), corresponding to scenarios from set A, and allocate a set of Ñ 1 (E t ) ⊆ Ñ(E t ) such sequences, the possibility of implementation of which causes the violation of the condition (1). If there are no such sequences, continue observation with the interval of the order corresponding to the predicted frequency of events from the set E. 2.4. Build a set of M(E t ) truncated WSF for sequences of the set of Ñ 1 (E t ). For this purpose, events not included in the sequence of Ñ 1 (E t ) are removed from each WSF of the set of M(E t ) for the initial cause-effect structure. Preventing events from any truncated WSF from M(E t ) will prevent the implementation of all sequences from the Ñ 1 (E t ) set. The selection of specific WSF from the M(E t ) set for this purpose is based on information about system resources and conditions (2)–(5). 2.5. Implement the impacts to prevent the development of critical combinations by preventing events from the selected WSF using the measures defined in 1.5. 2.6. Return to observation at an interval of an order corresponding to the predicted frequency of events from the set E. Note that local accidents and transitions to critical modes of smaller-scale humanmachine and organizational-technical systems can be considered as events from set E, which can also be considered as a consequence of development of critical combinations of events. The approach to preventing the development of critical combinations of events in human-machine and organizational-technical systems is proposed in [7]. Scaling up of this approach can be used in the development of the concept of solving the formulated problem of preventing critical combinations of events in large-scale systems.

5 Discussion To prevent the development of critical combinations of events in a large-scale system, it is necessary to retaliate adverse events in subsystems and monitor the links between these events. However, a significant number of potentially adverse events occur during the operation of a large scale system and it is not possible to respond to all such events because of limited resources available. Therefore, to determine the main events that affect the development of emergency combinations, it is advisable to use the minimal sections of cause-effect trees. Each minimal fault tree cross section corresponds to a set of accident development scenarios. Moreover, if it is necessary to determine the control actions to prevent the development of several scenarios under consideration, the number of which may be too big, it is necessary to use the ways of successful functioning of the system. The implementation of measures to prevent happening of events in any of these paths will allow knocking out the links of cause-effect chains of development of all considered emergency combinations of events. However, the question of choosing the path of successful functioning, suitable from the point of view of available resources (3)–(6), remains an urgent task that requires further consideration.

The Problem of Preventing the Development of Critical Combinations of Events

279

The danger function of the development of emergency combinations of events P (Ai , t) can potentially be considered also from the point of view of risk theory. However, to represent the risk, along with probability, the assessment of possible damage is usually used, which in the case of large systems is a separate complex task. On the other hand, if such an assessment has been carried out in any particular case and the damage is known, then its value can be used to determine the value of ε in condition (1).

References 1. Tsvirkun, A.D.: Fundamentals of synthesis of complex systems structure, p. 256. Science, Moscow (1997) 2. Martinez-Crespo, J., Usaola, J., Fernandez, J.L.: Security-constrained optimal generation scheduling in large-scale power systems. IEEE Trans. Power Syst. 21(1), 321–332 (2006) 3. Akinfiev, V.; Tsvirkun, A.: Managing Development of Companies with a Complex Structure of Assets, pp. 1–3. https://doi.org/10.1109/mlsd.2018.8551762 4. Makhutov, N.A.: Ranges of the validity of power scaling laws in the description of scale effects of the strength of extended elements of machines and structures. J. Mach. Manuf. Reliab. 42(5), 364–373 (2013) 5. Makhutov, N.A., Reznikov, D.O.: A criterion base for assessment of strength, lifetime, reliability, survivability, and security of machines and man-machine systems. J. Mach. Manuf. Reliab. 46(2), 132–141 (2017) 6. Braglia, M., Di Donato, L., Zhang, L., Gabbrielli, R., Marrazzini, L.: The house of safety: a novel method for risk assessment including human misbehaviour. Saf. Sci. 110, 249–264 (2018) 7. Avila, S.: Reliability analysis for socio-technical system, case propene pumping. Eng. Fail. Anal. 56, 177–184 (2015) 8. Bogomolov, A.S.: Analysis of the ways of occurrence and prevention of critical combinations of events in man-machine systems. Izv. Saratov Univ. (N.S.), Ser. Math. Mech. Inform. 17(2), 219–230 (2017). (in Russian) 9. Filimonyuk, L.: The problem of critical events’ combinations in air transportation systems. Advances in Intelligent Systems and Computing, vol. 573, pp. 384–392. Springer (2017) 10. Ostreikovsky, V.A., Shevchenko, Y.N., Yurkov, N.K., Kochegarov, I.I., Grishko, A.K.: Time factor in the theory of anthropogenic risk prediction in complex dynamic systems. J. Phys.: Conf. Ser. 944, 012085 (2018) 11. Ruijters, E., Reijsbergen, D., de Boer, P.-T., Stoelinga, M.: Rare event simulation for dynamic fault trees. Reliab. Eng. Syst. Saf. 186, 220–231 (2019) 12. Guck, D., Spel, J., Stoelinga, M.I.A.: DFTCalc: reliability centered maintenance via fault tree analysis (tool paper). In: Proceedings of the 17th International Conference on Formal Engineering Methods (ICFEM). LNCS, vol. 9407, pp. 304–311 (2015) 13. Rezchikov, A.F., Kushnikov, V.A., Ivashchenko, V.A., et al.: The dynamical cause-effect links’ presentation in human-machine systems. Series: Izvestiyasaratovskogouniversitetanovayaseriya matematikamekhanikainformatika [News Saratov Univ. New Ser. - Math. Mech. Inform.] 17(1), 109–116 (2017) 14. Rezchikov, A.F., Kushnikov, V.A., Ivashchenko, V.A., Bogomolov, A.S., Filimonyuk, L.Yu.: Models and algorithms of automata theory for the control of an aircraft group. Autom. Remote Control 79(10), 1863–1870 (2018) 15. Spiridonov, A.Yu., Rezchikov, A.F., Kushnikov, V.A., et al.: Prediction of main factors’ values of air transportation system safety based on system dynamics. In: Proceedings of International

280

16. 17. 18.

19. 20.

A. S. Bogomolov et al. Conference “Information Technologies in Business and Industry”, Tomsk Polytechnic University, Series: Journal of Physics Conference Series, Tomsk, vol. 1015, no. UNSP 032140 (2018). (in English) Baranov, V.V., Tsvirkun, A.D.: Development control: structural analysis, problems, stability. Autom. Remote Control 79(10), 1780–1796 (2018) Dhillon, B.S., Singh, C.: Engineering Reliability. New Techniques and Applications. Wiley, New York (1981) Siergiejczyk, M., Rosinski, A.: Reliability and exploitation analysis of power supply of alarm systems used in railway objects. In: 26th Conference on European Safety and Reliability (ESREL), Glasgow, Scotland (2016) Laskowski, D., Lubkowski, P., Pawlak, E., Stanczyk, P., et al.: Anthropo-technical systems reliability. In: Safety and Reliability: Methodology and Applications, pp. 399–407 (2015) Pilo, E.: Power Supply, Energy Management and Catenary Problems, pp. 1–191. WIT Press (UK), Southampton (2010)

Using Software Package “Multimeat-Expert” for Modeling and Optimization of Composition Chopped Meat Product with Vegetable Additive Darya A. Kolpakova1 , Lilia V. Naimushina1(B) , Galina A. Gubanenko1 , Tatyana V. Korbmakher1 , Irina D. Zykova1 , and Ekaterina A. Rechkina2 1 Siberian Federal University, 79, Svobodny pr., Krasnoyarsk 660041, Russia

[email protected] 2 Krasnoyarsk State Agricultural University, 90 Mira str., Krasnoyarsk 660049, Russia

Abstract. The possibility of using the software package “Multimeat-expert” to solve the problems of modeling and optimization of the ingredient composition of chopped meat products with the use of fresh turnips for the purpose of creating a new product with a given composition and properties is shown. We determined the optimal ratio of ingredients of the new meat semi-finished product, the optimal dosage of fresh turnip 20% to replace chopped meat in the recipe, which helps to reduce by 32 kcal, provides the minimum cost price of new products (cost price = 137,34 rubles/kg), the maximum biological value (BV = 122,12). The quantitative content of indole compounds in chopped meat product with turnips is experimentally determined, which provides 17% of the daily physiological norm of human consumption, which gives a basis for use of the term “enriched meat chopped product with turnips” in product labeling #CSOC1120. Keywords: Software package “Multimeat-Expert” · Chopped meat product · Turnip · Specified composition and properties

1 Introduction The implementation of digital technologies in the food industry is becoming a prerequisite for economic growth and the development of modern production. In this connection, the questions of using of program complex for modeling of esophagus products with the specified composition and properties are considered relevant and widely discussed [1, 2]. By the authors [3] and experience of real production the perspective and expediency of using the software package MultiMeat-Expert (LLC Food Soft, Voronezh) is shown to solve a wide range of technological problems, including the creation of products for balanced nutrition, reduction of the cost price of new products at the meat and fish industry enterprises. The balance of food products should be understood to mean the level of compliance of the nutrient composition with the daily physiological standard of nutrition of a certain group of the population. The basic solution for achieving the indicators of © Springer Nature Switzerland AG 2020 R. Silhavy (Ed.): CSOC 2020, AISC 1224, pp. 281–290, 2020. https://doi.org/10.1007/978-3-030-51965-0_24

282

D. A. Kolpakova et al.

balance and enrichment of the product with physiologically significant substances is the creation of simulated multicomponent food systems. A traditional example is the combination of protein-containing food systems and vegetable raw materials containing food fibers, glyco- and lipoproteins, polyphenols, bioflavonoids, vitamins and minerals, which lead to improvement of consumer properties of meat products and increase of essential components in its composition [4–6]. Simulating the balance of the meat product is possible by regulating its chemical composition by varying the ratio of the weight fraction of animal to vegetable raw materials, as well as other components of the base formulation. In designing, it is important to comply with the basic requirement that the simulated food product should be as close as possible to the reference product justified by physiological standards. At the same time, it is necessary to take into account physical and chemical indicators characterizing functional-technological and structural-mechanical properties of the product- water binding capacity, shear stress, acidity, moisture content and some other indicators [7]. The purpose of this study was to use the program complex “Multimeat-expert” for the development of an enriched meat product with high biological value, specified functional-technological and structural-mechanical properties, physical and chemical indices and having a cost price. The problems of modeling and optimization of the ingredient composition of the product providing the specified characteristics were solved by the example of the development of a meat chopped product (cutlets) with the addition of fresh crushed turnip. The reasoning of the choice of enriching ingredient - turnip (Brassicarapal.) - in the composition of the meat product was its low cost price and the possibility of growing in the territory of Krasnoyarsk region (regional component). In addition, a significant factor in the choice of this vegetable raw material is its chemical composition, represented by sugars, vitamins, mineral components, food fibers, biologically active substance - glucorafanin, fermentable precursor of an isothiocinate having anticarcinogenic properties [8, 9].

2 Materials and Methods The following objects are selected as research objects: – Control sample - chopped meat semi-finished product prepared according to formula № 464 [10], in the composition of beef mince, pork mince in the ratio (1:1), egg, white wheat bread, bulb onions, milk, flour, salt, pepper; – Experimental samples - meat chopped semi-finished products using turnip, prepared according to recipe № 464, but with replacement of cutlet meat (beef and pork) from 10 to 30% for fresh crushed turnip (variety “Petrovskaya -1), grown on the territory of Emelyanovsky district of Krasnoyarsk region, harvest 2019. To model the enriched meat chopped product with the specified composition, characteristics, physical and chemical indicators, the software package “Multimeat -expert,” the module “Optimization and simulation of the recipe” was used. The research was carried out on the basis of LLC “Food Soft” (Voronezh) [1].

Using Software Package “Multimeat-Expert” for Modeling and Optimization

283

The calculated indices of balance of the recipe composition, energy and biological value of the product based on data on chemical composition of all ingredients of the control sample were used in modeling and optimization of the meat product using turnip [11, 12]. The obtained empirical data of nutritional value were entered into the software module (proteins, fats, carbohydrates, ash content) for each ingredient included in the formulation, experimental values of physical-chemical indicators, functional-technological and structural-mechanical indicators of chopped semi-finished meat product with turnip and finished product after heat treatment (moisture binding capacity, active acidity (pH), limit shear stress were determined by conventional methods [13]. In setting the limits for the selected indicators were used the permissible values presented in the regulatory documentation [11, 13, 14]. The identification of the chemical composition and biological value of the new meat products was carried out using the software package “Multimeat-Expert,” the module “Optimization and simulation of the recipe.” Organoleptic evaluation of meat chopped semi-finished products with turnip and finished meat products was carried out according to GOST 9959-91, GOST 31986-2012 on a 5-point scale to establish compliance of quality indicators (appearance, color, taste, smell, texture (consistency) of new types of products with the requirements of technical and technological documentation.

3 Results and Discussion The study solved the problem of developing the optimal formulation of the meat chopped product using turnip with the specified composition, physical-chemical indicators, functional-technological properties. Modeling a new meat product, the software package “Multimeat -Expert” allows taking into account the value of relative biological value, which is determined by the chemical composition of ingredients, their quantitative content in the product, indices of balance of amino acid, fatty acid, vitamin and mineral compositions. In addition, the program provides the preparation of a new product not only with the specified consumer properties, which meet the requirements of the technical documentation, but also simultaneously solves the task of reducing the cost of the new product. It has been established in an experimental way that the use of this software module allows to reduce the cost price of production by 5–10%, which is relevant for practical application in production conditions. The sequence of actions (algorithm) for calculation of the optimal recipe of the enriched meat semi-finished product with introduction of fresh turnip with the use of the software module “Optimization and simulation of the recipe” is given below: 1. From the library of basic recipes, each of which corresponds to a specific regulatory document (GOST, etc.), the recipe for the control sample is selected [9]. 2. Requirements to the recipe are formed and set manually or following the recommendations of the built-in expert system:

284

3. 4.

5. 6.

7.

D. A. Kolpakova et al.

– The permitted “corridor” for the change of chemical composition (content of proteins, fats, carbohydrates, minerals, vitamins), physical-chemical and structural-mechanical properties of the product are specified; – Ingredients for replacement are specified, substitutes are assigned to them and the level (mass fraction) of their replacement is determined; – Requirements (minimum and maximum) are assigned to the prescription composition of groups, sub-groups or specific ingredients and substitutes; – It is pointed out a limit on the value of the product. The module calculates the optimal formula taking into account the formed requirements. With the help of the built-in expert system, the initial analysis of the formula for technological and economic suitability (quality indicators, quantitative content of ingredients in the composition of the recipe, economic indicators, etc.) is carried out. If any of the parameters do not meet the established requirements, according to the recommendations of the expert system, the requirements are corrected (go to step 2) and the recipe is recalculated accordingly. If the calculated recipe meets the specified requirements, it is stored in the “operating recipes” database and transmitted for laboratory analysis. Laboratory analysis. The product recipe is checked for technological suitability the possibility of industrial production. Organoleptic indicators, nutritional value (chemical composition, biological value), physical and chemical indicators (moisture content, pH of the product, active acidity), functional-technological indicators (water -retaining capacity, fat-retaining capacity, structural-mechanical indicators (limit shear stress, elasticity, rigidity, juiciness), also retention schedule and preservation of consumer properties in time are experimentally determined. If the product does not meet the requirements, the causes of the problems are determined and the recipe is corrected (go to step 2). In case of positive laboratory analysis, the formulation is transferred to the base of “approved recipes.” This recipe can be run into production to produce the product according to the production task.

For the experiment, mass fractions of ingredients in the composition of the meat chopped product with turnip were determined in accordance with the specified characteristics and functional-technological properties of the finished product, which approach the recommended values as much as possible. We will introduce the following designations of mass fractions of components Mi in the product formula: M1 - beef cutlet meat content; M2 - content of pork cutlet meat; M3 - white bread content; M4 - fresh chicken eggs content; M5 - bulb onions content; M6 - content of vegetal raw materials (turnip). Table 1 shows the results of experimental studies of indicators of nutritional value, functional-technological, structural-mechanical, physical-chemical characteristics of each individual i - ingredient of the meat chopped product recipes with turnip (Xki). The program set limits on the content of ingredients in the formulation of meat chopped product with turnip: 25,0% ≤ M1 ≤ 40,0%; 25,0% ≤ M2 ≤ 35,0%; 10,0% ≤ M3 ≤ 20,0%; 3,0% ≤ M4 ≤ 6,0%;5,0% ≤ M5 ≤ 10,0%; 10,0% ≤ M6 ≤ 30,0%.

Using Software Package “Multimeat-Expert” for Modeling and Optimization

285

Table 1. Results of experimental studies of quality indicators of ingredients included in meat chopped product with turnip. № Indicators

Characteristics Xki of each individual meat Mi product ingredient Xk1 69,40

Xk2 50,90

Xk3 39,1

Xk4 74,00

Xk5

Xk6

1

Mass fraction of moisture

86,00 89,5

2

Mass fraction of fat

8,13

35,10

0,9

11,50

0,20 –

3

Mass fraction of protein

21,26

11,83

7,6

12,36

1,40 1,50

4

Mass fraction of carbohydrates



1,26

50,6

1,04

11,4 8,3

5

Mass fraction of ashed components 1,21

6

Moisture binding capacity

66,00

7

Limit shear stress

2031,00 1811,00 200,00 120,00 100,00 110,00

8

pH (indicator of active acidity)

6,40

9

Biological value

150,00

180,00

80,00 125,00

15,00 45,00

10 Cost price of product

220,00

200,00

37,00

25,00 30,00

0,91

1,8

1,10

1,00 0,70

62,00

19,00

25,00

10,00 8,00

6,20

6,00

6,10 70,00

6,20 5,60

The conditions under which the properties of chopped meat products are as close as possible to the specified ones are described in the form of the following inequalities: Mass fraction of moisture: 63,00 ≤ 69,40 M1 + 50,90 M2 + 36,1 M3 + 74,00 M4 + 86,00 M5 +89,50 M6 ≤ 77,00; Mass fraction of fat: 5,00 ≤ 8,13 M1 + 35,10 M2 + 0,9 M3 + 11,50 M4 + 0,20 M5 + 00,00 M6 ≤ 15,00; Mass fraction of protein: 12,90 ≤ 21,26 M1 + 11,83 M2 + 7,6 M3 + 12,36 M4 + 1,40 M5 + 1,50 M6 ≤ 19,10; Mass fraction of carbohydrates: 7,00 ≤ 1,26 M2 + 50,6M3 + 1,04 M4 + 11,4 M5 + 8,3 M6 ≤ 68,52; Mass fraction of ashed components: 0,70 ≤ 1,21 M1 + 0,91 M2 + 1,8 M3 + 1,10 M4 + 1,00 M5 + 0,70 M6 ≤ 2,30; Natural condition for mass fractions of components: M1 + M2 + M3 + M4 + M5 + M6 = 1. Moisture binding capacity: 51,00 ≤ 66,00 M1 + 62,00 M2 + 8,00 M3 + 15,00 M4 + 10,00 M5 + 9,00 M6 ≤ 65,00; Limit shear stress: 1100,00 ≤ 2031,00 M1 + 1811,00 M2 + 200,00 M3 + 120,00 M4 + 100,00 M5 + 110,00 M6 ≤ 1700,00; Active acidity: 5,60 ≤ 6,40 M1 + 6,20 M2 + 6,00 M3 + 6,10 M4 + 6,20 M5 + 5,60 M6 ≤ 7,00; Biological value: Biological value = 150,00 M1 + 180,00 M2 + 80,00 M3 + 125,00 M4 + 15,00 M5 + 45,00 M6 ≤ 150 Cost price: Cost price = 220,00 M1 + 200,00 M2 + 37,00 M3 + 70,00 M4 + 25,00 M5 + 30,00 M6 .

286

D. A. Kolpakova et al.

The optimization criterion was the minimum cost price and the maximum biological value, which was determined using the infusoria Tetrachy-menapyriformis. The results of determination of relative biological value of each ingredient and reference recipe are available in the database expert system of the «MultiMeat-Expert» software package. Partial costs of components are not constant values, but depend on their market value. Each of the factors included in the indicator of cost price, is the cost price of a specific ingredient in the Figures for June 2019. Thus, for a test sample of a chopped meat product with the use of turnip, a task was formulated to determine mass fractions of all ingredients in the composition of the product M1 –M6 , for which the cost price reaches a minimum under the limitations in paras 1–9. As control was used control sample of chopped meat product without additives of vegetable raw materials with known ratio of ingredients. As a result of the optimization process using the software complex, the quantitative ratio of ingredients in the chopped semi-product with turnip is determined, the nutritional and energy value of the product is determined (Table 2). It was experimentally revealed that taking into account the values of all the analysed indicators, the highest approximation to the specified properties was a sample of chopped semi-finished meat product with a turnip content of 20% of the weight of cutlet meat. Table 2. Results of the study of nutritional and energy value of control and experimental samples Indicators

Mass fraction, g

Proteins

Fat

Carbohydrates

Control sample (without addition of vegetable raw materials) Content of beef, g/100 g

36,5

7,76

2,97



Content of pork, g/100 g

36,5

4,32

12,8

0,46

Content of white bread, g/100 g

14,0

1,06

0,126

7,08

Content of egg, g/100 g

5,8

0,72

0,67

0,06

Content of bulb onions, g/100 g

7,2

0,10

0,01

0,82

13,96

16,58

8,42

Nutritional value, g/100 g Energy value, kcal/100 g

239

Experimental sample (with the addition of turnip 20% of the weight of the cutlet meat) Content of beef, g/100 g

28,99

6,16

2,36



Content of pork, g/100 g

28,99

3,43

10,18

0,36

Content of white bread, g/100 g

14,49

1,1

0,13

7,33

Content of egg, g/100 g Content of bulb onions, g/100 g Turnip

5,8

0,72

0,67

0,06

7,24

0,10

0,01

0,82

14,49

0,22



1,2

13,35

9,77

Nutritional value, g/100 g Energy value, kcal/100 g

11,73 206

Using Software Package “Multimeat-Expert” for Modeling and Optimization

287

As a result of optimization of the formulation of the meat chopped product with turnip, values of mass fraction of ingredients were obtained, at which functionaltechnological properties (Limit shear stress = 1172.91) of the semi-finished product approaches the required values as much as possible, at the minimum cost price = 137.34 r/kg) and maximum biological value = 122.12. Figure 1, 2 shows screenshots for solving the problem using the software package “Multimeat-Expert”, the module “optimization and modeling of the recipe”.

Fig. 1. Screenshot at specified values of functional and technological properties for optimization of product recipe.

In order to confirm the optimal ratio of ingredients established by the program, the formulation of the new chopped meat product with turnip was evaluated by expert method. Chopped meat semi-finished product with turnip (cutlets) was steamed to preserve the specified maximum biological value. Figure 3 shows the averaged values of evaluation of organoleptic indicators of control (without turnip additives) and experimental (with turnip addition) samples exhibited by an expert commission of 7 people. It was found, that by organoleptic indicators the expert sample is not inferior to the control, and by such criteria as taste and appearance, exceeds it. It has been found that the introduction of vegetable raw materials (fresh turnip) into the meat chopped product results in a reduction of calorie content by 32 kcal due to reduction of fat content (by 3.2%) and proteins (by 2.23%). At the same time, the use of turnip in the product provides 17% of the daily physiological consumption rate in indole compounds - isothiocyanates, which are necessary for humans to prevent certain types of carcinogenesis [9, 15]. The content of the biologically active precursor of isothiocyanate-sulforaphane in 100 g of the finished product amounted to 8.69 mg.

288

D. A. Kolpakova et al.

Fig. 2. Screenshot of solved problem of determining ratio of ingredients in meat chopped product formula with implementation of turnip with specified functional-technological properties.

Appearance 5 4 3 2 1 0

Taste

Color

Consistence

The control Prototype

Smell

Fig. 3. Results of tasting evaluation of control (without additives) and experimental (with turnip additives) samples.

4 Conclusions The research made it possible to develop the formula of the enriched meat product with the help of the software package “MultiMeat-Expert” by modeling and optimization of the ingredient composition of the product, which has high biological value, specified functional-technological and structural-mechanical properties, physical-chemical indicators, and has a specified cost price.

Using Software Package “Multimeat-Expert” for Modeling and Optimization

289

Optimal dosage of fresh turnip (20%) for replacement of cutlet meat in the formula, which contributes to reduction of calorie content by 32 kcal, provides minimum cost price of new products (137.34 r/kg), maximum biological value (122.12). The experimentally established content of indole compounds provides 17% of the daily physiological norm of human consumption, which gives the basis for the use of the term “enriched meat chopped product with turnip” in accordance with the requirements of the Technical regulation of the Customs Union 022/2011 “ Food products in terms of their labeling.”

References 1. Krasulia, O.N., Nikolaeva, S.V., Tokarev A.V., et al.: Modeling of food recipes and manufacturing technologies: theory and practice [Modelirovanie retseptur pischevyih produktov i tehnologiy ih proizvodstva: teoriya i praktika]. GIORD Publ., Saint-Petersburg, Russia (2015) 2. Nikitina, M.A., Zavgorodneva, D.V., Sus, E.B.: Information technology in the development of multicomponent meat products taking into account their biological value [Informacionnye tehnologii v razrabotke mnogokomponentnyh mjasnyh produktov s uchetom ih biologicheskoj cennosti. Vse o mjase]. Everything About Meat 4, 48–51 (2014) 3. Tokarev, A.V., Krasulya, O.N.: The program for the solution of technological tasks, and accounting at the enterprises of meat and fish industry “MultiMeatExpert”. Certificate RF, no. 2013616949 (2013) 4. Aslanova, M.A., Derevitskaya, O.K., Dydykin, A.S., Volovik, E.L.: Functional meat-based products enriched with vegetable raw materials [Funkcional’nye produkty na mjasnoj osnove, obogashhennye rastitel’nym syr’em]. Meat Ind. 6, 45–47 (2010) 5. Satornik, A.D., Kolpakova, D.A., Naimushina, L.V., Zykova, I.D.: The use of BrassicaRapa L. to create meat and vegetable products [Primenenie BrassicaRapa L. dlja sozdanija mjasorastitel’nyh produktov]. Mod. Sci. Inno. 1, 98–102 (2017) 6. Rechkina, E.A., Gubanenko, G.A., Pushkareva, E.A., Mashanov, A.I.: Perspective of use of food fibers in food production [Perspektivy ispol’zovanija pishhevyh volokon v pishhevom proizvodstve. Bull. KrasGAU 1, 91–97 (2016) 7. Potoroko, I.I., Krasulia, O.N., Tokarev, A.V.: Innovative solutions in management of process and accounting tasks at meat industry enterprises as a product quality factor. Econ. Manag. Res. J. Eurasia 1, 58–65 (2014) 8. Naimushina, L.V., Satornik, A.D., Zykova, I.D.: Prospect of turnip (BrassicaRapa L.) as a source of valuable biologically active substances [Perspektivnost’ repy (BrassicaRapa L.) v kachestve istochnika cennyh biologicheski aktivnyh veshhestv]. Bull. KrasGAU 4, 120–125 (2016) 9. Hong, E.Y., Kim, G.H.: Anticancer and antimicrobial activities of βphenylethylisothiocyanate in Brassica rapa L. Food Sci. Technol. Res. 14, 377–382 (2008) 10. Golunova, L.E.: Collection of recipes of dishes and culinary products for catering enterprises [Sbornik receptur bljud i kulinarnyh izdelij dlja predprijatij obshhestvennogo pitanija]. Profix, Saint-Petersburg, Russia (2003) 11. Skurikhin, I.M., Tutelyan, V.A.: Tables of chemical composition and caloric value of Russian food products [Tablicy himicheskogo sostava i kalorijnosti rossijskih produktov pitanija: spravochnik]. DeLiprint, Moscow, Russia (2008) 12. Dzhamakeeva, A.D.: UV/VIS spectroscopy - prospects of application of the method for research of the value of vegetable raw materials and meat products [UV/VIS spektroskopija – perspektivy primenenija metoda dlja issledovanija cennosti rastitel’nogo syr’ja i mjasnyh produktov]. News Kyrgyz State Tech. Univ. Named After I. Razzakov 36(3), 247–251 (2016)

290

D. A. Kolpakova et al.

13. Lisin, P.A., Martemyanova, L.E., Savelyeva, Y.: Modeling of the recipe mixture of multicomponent meat products using the simplex method [Modelirovanie recepturnoj smesi mnogokomponentnyh mjasnyh produktov s primeneniem simpleks-metoda]. Bull. OmGAU 1(13), 73–76 (2014) 14. Lisitsyn, A.B., Chernukha, I.M., Nikitina, M.A.: Development of a personalized meat product using structural-parametric modeling. Theory Pract. Meat Process. 3, 11–18 (2019) 15. Standards of physiological requirements for energy and food substances for different population groups of the Russian Federation [Normy fiziologicheskih potrebnostej v jenergii i pishhevyh veshhestvah dlja razlichnyh grupp naselenija Rossijskoj Federacii]. Methodical recommendations. Federal Center for Hygiene and Epidemiology of Rospotrebnadzor, Moscow, Russia (2009)

Application of Machine Learning for Document Classification and Processing in Adaptive Information Systems Artem Obukhov(B)

and Mikhail Krasnyanskiy

Tambov State Technical University, 392000 Tambov, Russian Federation [email protected]

Abstract. This article discusses the approach to the use of machine learning for the classification and processing of documents in adaptive information systems. The main tasks on the application of machine learning methods in adaptive information systems are considered. A classification of documents based on the facet approach and presented in the set theory notation is developed. An approach for pre-processing documents for their subsequent analysis using machine learning methods is presented. Experimental studies were carried out, during which the accuracy of document classification was improved and the training time of the neural network was reduced. The results obtained will be used in further studies of the application of machine learning methods for processing, classification and routing of documents. Keywords: Adaptive information systems · Documents classification · Document processing

1 Introduction Modern information systems are becoming more flexible and personalized every year. An important assessment of systems at present is not only their reliability and functionality, but also the ability to adapt to the needs of the user, the specifics of their software and hardware. Therefore, the need for adaptive information systems (AIS) is growing [1]. The development of such systems is associated with the solution of additional, more complex tasks for processing information and leads to additional material costs. Therefore, the automation of the developer is an urgent task [2, 3]. The trend of recent years is the widespread application of methods of artificial intelligence and machine learning to solve the problems of processing large amounts of information, clustering and classifying them, which makes it possible to discover new patterns in the processes already studied and to formulate new hypotheses based on them. Systems based on machine learning are used to solve problems of classification, regression, forecasting, generation of new information, analysis of system interactions, etc. [4, 5]. Conducted scientific and practical work in this area proves the possibility of partial automation of human activity using artificial intelligence methods [6]. © Springer Nature Switzerland AG 2020 R. Silhavy (Ed.): CSOC 2020, AISC 1224, pp. 291–300, 2020. https://doi.org/10.1007/978-3-030-51965-0_25

292

A. Obukhov and M. Krasnyanskiy

Within the framework of this article, we will consider two important tasks of documents preparation using the methods of machine learning: the classification and processing of documents. The first task is primarily aimed at obtaining a list of classes (categories) of documents that we will use in the classification based on machine learning. The second task will allow us to increase the accuracy and efficiency of the algorithm of machine learning by improving the quality of the source text. The solution to these problems will automate data processing during the implementation of AIS.

2 Methods Before going directly to solving the tasks of classifying and processing information, the analysis of the subject area of the AIS was carried out, as well as those tasks in which it is possible and reasonable to apply the methods of machine learning. At the first stage, we determine the functions and components of AIS for which the use of machine learning methods is justified. To do this, we formulate the universal structure of the AIS module. The universal structure of the module is represented as a set of components of a typical module and for each component we describe the methods of machine learning that can be used to improve the efficiency of functioning. The description of elementary components and the possibility of applying methods of machine learning in them are given in Table 1 [7]. Thus, for the development of the AIS module, it is necessary to determine the set of components; if it is required the methods of machine learning to solve specific problems within the components are applied. Naturally, in the process of structural synthesis not all components will be used within the framework of one module, as this will make its functionality redundant, and development will become irrationally complex and long. In the framework of this article, the classification of documents is considered - one of the tasks of information search, which consists of the determination of a document relation to one of several categories on the basis of the content of the document or some other features or attributes. For a long time the classification of documents was carried out manually or based on a set of rules, but the dissemination of methods of machine learning in recent years has made it possible to solve this task much more efficiently [8, 9]. Before proceeding directly to the analysis of approaches to the use of machine learning for the classification of documents, we consider the theoretical basis of this process, i.e. we formulate a system of classification of documents, those signs and criteria by which they can be grouped. So, by classification system we mean a set of methods and rules of classification and its result, i.e. system of classification groupings (classes). The classification system can be presented in the form of a list of classification characteristics (facets) and their values and the rules of grouping by combining facet characteristics. The main classification methods are hierarchical and faceted [10–12]. For sequential separation of a plurality of objects on categories a hierarchical classification method is applied to obtain a hierarchical tree structure in the form of a branching graph in which the objects are divided into levels of division, in accordance with their characteristics.

Application of Machine Learning for Document Classification

293

Table 1. Application of methods of machine learning in AIS components. Name and description

Application of machine learning within a component

1. Components of document processing

Batch processing of documents with automation changes. Documents reformatting; automatic reservation of key documents of the required categories

2. Components of documents reading

Documents classification; recognition of text and images; checking the correctness of filling the forms

3. Components of information search

Documents search; processing of search requests, error correction, and lemmatization

4. Components of documentation formation

Automatic generation of documents for specified templates

5. Administrative components

Structural synthesis of AIS components on the basis of data on the set of tasks to be solved and the required functions

6. Components of network interaction

Document routing

7. Components of working with DBMS

Processing and generation of database queries

8. Components of access control to information

Classification of users and determination of their role in the system on the basis of account attributes

9. Components of the statistics formation

Analysis of large amounts of data, search for patterns and dependencies

10. Computing components

Intelligent choice of algorithms and methods depending on the context of the problem

11. Reference components

Automation of search of the references, contextual prompts on the basis of methods of artificial intellect

12. Components of testing

Generation of test packets for information systems testing

Another approach is the parallel division of a set of objects using the facet classification method, in which a set of facet features is selected, the totality of which allows the formation of separate classification systems determined by the corresponding facet formulas. For machine learning the facet method is more applicable, since we can compare the list of characteristics for each type of document.

294

A. Obukhov and M. Krasnyanskiy

3 Results 3.1 Classification of Documents in AIS The methodology of documents classification based on the facet method is as follows: each document workflow object ui ∈ U corresponds to a subset of the classification criteria fj , on the basis of which they are grouped into arrays Catj : ui → {fji }, Catj : fj → {ui |fj ∈ {fji }}, fji ∈ F, ui ∈ U ,

(1)

where fji - characteristic of fj classification, defining the document ui ; ui - element of a set of documents, each of which is associated with a set of characteristics {fji }; Catj function of classification forming by characteristic fj , which assigns to each characteristic fj a set of documents {ui }, possessing this characteristic. We list the main and additional features of documents, formulated on the basis of [13] (Fig. 1):

Fig. 1. Structural scheme of the characteristics of documents classification.

1.

2. 3.

The name of the document that defines its type: orders, regulations, plans, reports, acts, protocols, contracts, instructions, references, reports, explanatory notes, service letters, etc. The structural affiliation of the document. The method of documents storing: handwritten, typewritten, printed, electronic, graphic. It is also possible to group by the format of documents for electronic versions of documents.

Application of Machine Learning for Document Classification

295

4.

The degree of complexity of the documentation, depending on the volume and structure of the document: simple (the document is aimed at solving one particular issue or task), complex (includes many tasks of different levels of capacity). 5. Secrecy: open (unclassified) and closed (with restricted access) documents. 6. The legal force of documents that separates documents into genuine and forged documents. The first in turn are divided into valid (having legal force) and invalid (the validity of which has already expired). 7. Deadline: urgent and unlimited. 8. Shelf life: temporary and permanent. 9. Origin of document: internal (created inside the organization) and external (entered from outside). 10. Mandatory execution: informational (serve for the presentation of various facts and information on the activities of organization) and directive (have legal force and are mandatory for execution). 11. Degree of unification: individual (possessing their own unique style and formatting), standard (standard style and design), templates, questionnaires, tables. 12. Nature of origin: primary (contains initial data) and secondary (derived from analysis, processing or generalization of source information). These characteristics can be expanded by means of additional, specific features of the subject area of organization where the classification of documents is carried out. We can also use some additional categories: direction of the organization’s activities (administrative, accounting, legal, working paper, etc.); the state of the document that determines the degree of its readiness (initial, temporary, current, final); architecture (simple - one document, composite - includes several interrelated documents); relevance (current, outdated); category of document executors (administration, department heads, employees, interns). The listed characteristics make it possible to classify documents in AIS, both analytically and using modern methods of machine learning. Thus, we move from the first task (the construction of a classification system) to the second - the preparatory processing of documents. 3.2 Method of Processing Documents in AIS Machine learning is an effective tool in the implementation of algorithms for classification, routing, processing and retrieval of documents; however, the quality of the input data has a decisive significance in these processes. That is why the preparation of the source documents, their preliminary processing allows significantly improving the accuracy of the results obtained in the application of machine learning. Analysis of approaches to the application of machine learning methods for document processing made it possible to identify several effective and popular solutions based on neural networks and Python libraries: Keras, TensorFlow, PyTorch and etc. [14–16]. Thus, the analysis allows us to talk about the high relevance of the use of machine learning in the implementation of AIS. We represent method for pre-processing of documents in AIS in the form of an algorithm (Fig. 2) and describe the main steps:

296

A. Obukhov and M. Krasnyanskiy

Fig. 2. Method of pre-processing documents.

The source document is input to the algorithm. The first step is to determine its format (based on the extension in the filename or internal metadata). Based on this information, a library of program code is selected, with the help of which it is possible to correctly read and analyze the document. Using the selected library, the data is extracted from the document in the form of unformatted text. AIS should work correctly with any amount of information, therefore, when implementing the method, we expect that the document can have a different amount: from several lines or pages to hundreds of pages. Therefore, the original text of the document is divided into several parts in accordance with a set of boundary tokens (a list of specific words that allow you to select block boundaries), after which each part is ranked depending on the position in the document. Note that the initial and final blocks most often have the highest priority, since they contain signatures, surnames, positions of people responsible for the execution of the document. The next step of the algorithm is to filter the blocks according to a specified threshold value, which can be determined experimentally on the basis of an analysis of the volume of documents or the contents of the first block. All blocks with priority values below the threshold are excluded from further analysis. Next, the words of the text are filtered by the stop list. The stop-list is a set of short words, prepositions, particles, punctuation marks, symbols, numbers, etc., not carrying a semantic load for subsequent analysis. Their removal from the source text allows increasing its semantic value, which is especially important for the classification problem, as well as the effectiveness of the learning algorithms, because the number of words directly affects the dimension of the task and, therefore, the time of its solution. The final step of the algorithm is lemmatization, i.e. the process of reducing words to lemmas, their normal verbal forms. For the implementation of the lemmatization process, you can use the Python Stemming Snowball code library, which allows you to bring all Russian and English words to normal form by deleting endings and optional suffixes. Thus, we significantly reduce the dimensionality of the problem, excluding many different variations of the same word. The set of words obtained after performing the lemmatization can already be used to carry out computer training and solve specific problems: classification, routing, searching, etc.

Application of Machine Learning for Document Classification

297

The presented method allows significantly speeding up the implementation of machine learning procedures and its accuracy for the classification of documents in AIS. The efficiency of the classifiers before the application of the developed methodology and after is presented in Figs. 3. The naive Bayes classifier was used as the chosen technology of machine learning [17].

Fig. 3. The effect of preliminary processing of data of the document classifier.

The left graph shows the dependence of the accuracy of the classification of documents on their number in the training set. As can be seen from the graph, on average, the classification accuracy increased from 80% to 87%. With an increase in the number of documents, the classification accuracy decreases, and the application of the developed method reduces this negative effect. The fall in accuracy is caused by the increase in various versions of documents of the same class with different amounts of text. Processing using the developed method allows us to level these differences, reducing the priority of blocks that do not carry important information. The right graph shows the classifier operating time, which increases with an increase in the number of documents in the training set. After a certain amount (2000 documents), the growth of the learning time of the algorithm is significantly accelerated. However, the application of the developed method allows to reduce this effect. As a result, the working time of the classifier was reduced 3.2 times due to the allocation of priority blocks of documents and reduction of the total volume of the analyzed text. Further, an additional study was conducted on the effectiveness of the presented method for document classification using neural networks and the TensorFlow library. In spite of the fact that there was no significant reduction of training time (the indicator improved in the range of 1.33–1.5 times), the classification accuracy increased from 73% to 89% on average. The results show that the developed method of processing documents can improve the speed and accuracy of machine learning algorithms.

298

A. Obukhov and M. Krasnyanskiy

4 Discussion The issues of processing documents using artificial intelligence have been considered from a scientific and practical point of view for many years [18–20]. It should be noted that all authors recognize the importance of the stage of preparation and preliminary processing of documents, since these processes can significantly increase the efficiency and accuracy of machine learning algorithms without significant processing of existing document processing methods based on machine learning. This article discusses the method of preliminary processing of documents, including the selection of priority blocks, filtering and lemmatization of the text, which allows to increase the accuracy of the classification of documents and reduce the training time of algorithms. This positive effect is ensured by reducing the dimensionality of the machine learning task, highlighting priority areas for analysis and preliminary data processing. AIS are considered as a subject area, an important property of which is adaptation to various changes in objects and the external environment. Therefore, the system must correctly process documents that can vary significantly in structure and size over a wide range. To classify such a set of documents, additional preliminary processing operations are necessary. The results, achieved with the proposed method (8–16% accuracy increase and a reduction of the classifier operating time by a factor of 1.5–3), indicate its applicability and effectiveness in the task of classifying documents.

5 Conclusion Within the framework of this article we examined several important issues in the area of machine learning applying for document processing in AIS. Firstly, the structure of the AIS module and the possibility of applying machine learning methods in its elements were analyzed. Thus, a number of specific tasks on the application of machine learning in AIS have been identified. Next, the task of classifying documents in AIS based on the faceted approach is formulated. At the first stage, a classification of documents based on a set of features was developed to solve it. The main characteristics of the classification and types of documents in this subject area are given, which allows us to formulate a set of categories by which the classification of documents will subsequently be carried out. Since within the framework of AIS documents can have a different size and structure, it is necessary to carry out preliminary preparation of documents. To solve this problem, we propose a method of preliminary processing of documents for their subsequent analysis using machine learning methods. Using such methods as ranking of priority text blocks, filtering stop lists, lemmatization, the following positive result was obtained: the classification accuracy was improved (by 8–16%) and the learning process was accelerated (1.5–3 times), which confirms the applicability of the above method for pre-processing information. The results will be used in further studies of the application of machine learning methods for processing, classification and routing of documents.

Application of Machine Learning for Document Classification

299

Acknowledgement. The work was carried out with the financial support of the Ministry of Education and Science of the Russian Federation within the framework of the grant of the President of RF MK-74.2020.9.

References 1. Czerniak, J.N., Villani, V., Sabattini, L., Loch, F., Vogel-Heuser, B., Fantuzzi, C., et al.: Systematic approach to develop a flexible adaptive human-machine interface in sociotechnological systems. In: Proceedings of the 20th Congress of the International Ergonomics Association, pp. 276–288. Springer, Cham (2018) 2. Schmidmaier, M., Han, Z., Weber, T., Liu, Y., Hußmann, H.: Real-time personalization in adaptive IDEs. In: 27th Conference on User Modeling, Adaptation and Personalization Adjunct (UMAP 2019 Adjunct). ACM, New York (2019) 3. Cavallari, M., Tornieri, F.: Information systems architecture and organization in the era of microservices. In: Network, Smart and Open, pp. 165–177. Springer, Cham (2018) 4. Boutaba, R., Salahuddin, M.A., Limam, N., Ayoubi, S., Shahriar, N., Estrada-Solano, F., Caicedo, O.M.: A comprehensive survey on machine learning for networking: evolution, applications and research opportunities. J. Internet Serv. Appl. 9(1), 1–16 (2018) 5. Wuest, T., Weimer, D., Irgens, C., Thoben, K.D.: Machine learning in manufacturing: advantages, challenges, and applications. Prod. Manuf. Res. 4(1), 23–45 (2016) 6. Romero, D., Bernus, P., Noran, O., Stahre, J., Fast-Berglund, Å.: The operator 4.0: human cyber-physical systems & adaptive automation towards human-automation symbiosis work systems. In: IFIP International Conference on Advances in Production Management Systems, pp. 677–686. Springer, Cham, September 7. Obukhov, A., Krasnyanskiy, M., Dedov, D., Ivanov, M., Beloysov, A.: Algorithmic and mathematical support for solving the problem of synthesis of adaptive electronic document management system. International Multidiscip. Sci. GeoConf.: SGEM 19(2.1), 41–48 (2019) 8. Uzair, M., Shafait, F., Ghanem, B., Mian, A.: Representation learning with deep extreme learning machines for efficient image set classification. Neural Comput. Appl. 30(4), 1211– 1223 (2016) 9. Zhang, W., Yoshida, T., Tang, X.: A comparative study of TF* IDF, LSI and multi-words for text classification. Expert Syst. Appl. 38(3), 2758–2765 (2011) 10. Stavri, Z., Michie, S.: Classification systems in behavioural science: current systems and lessons from the natural, medical and social sciences. Health Psychol. Rev. 6(1), 113–140 (2012) 11. Zatsman, I.M., Inkova, O.Y., Nuriev, V.A.: The construction of classification schemes: methods and technologies of expert formation. Autom. Doc. Math. Linguist. 51(1), 27–41 (2017) 12. Samanta, S., Chanda, B.: Space-time facet model for human activity classification. IEEE Trans. Multimedia 16(6), 1525–1535 (2014) 13. Elova, G.V.: Basics of Document Management in Customs [Electronic resource]: textbook. Electron. Dan. Information Center Intermedia, St. Petersburg (2014) 14. Sekeroglu, B., Hasan, S.S., Abdullah, S.M.: Comparison of machine learning algorithms for classification problems. In: Science and Information Conference, pp. 491–499. Springer, Cham, April 2019 15. Raschka, S., Mirjalili, V.: Python Machine Learning: Machine Learning and Deep Learning with Python, Scikit-learn, and TensorFlow 2. Packt Publishing Ltd., Birmingham (2019)

300

A. Obukhov and M. Krasnyanskiy

16. Lomotin, K.E., Kozlova, E.S., Romanov, A.Y.: Comparative analysis of classification methods for text in UDC code generation problem for scientific articles. Inf. Innov. Technol. 1, 286–288 (2017) 17. Xu, S.: Bayesian Naïve Bayes classifiers to text classification. J. Inf. Sci. 44(1), 48–59 (2018) 18. Piernik, M., Brzezinski, D., Morzy, T.: Clustering XML documents by patterns. Knowl. Inf. Syst. 46(1), 185–212 (2015) 19. Yang, G., Wen, D., Chen, N.S., Sutinen, E.: A novel contextual topic model for multi-document summarization. Expert Syst. Appl. 42(3), 1340–1352 (2015) 20. Yang, W., Boyd-Graber, J., Resnik, P.: A discriminative topic model using document network structure. In: Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pp. 686–696. Association for Computational Linguistics, August 2016

SNR-Based TDMA Scheduling with Continuous Energy Transfer for Wireless Powered Communication Networks Deukgong Yoon and Inwhee Joe(B) Department of Computer Science, Hanyang University, Seoul, South Korea {kryun7,iwjoe}@hanyang.ac.kr

Abstract. This paper studies SNR-based TDMA scheduling for a Wireless Powered Communication Network (WPCN). It is composed of a single Hybrid-Access Point (H-AP) which transfers energy wirelessly and collects data, and multiple terminal nodes. For H-AP operating in a half-duplex mode, it is not possible to do data collection from nodes and Wireless Energy Transfer (WET) simultaneously. Since only the first time slot is used for WET, the order of allocation of nodes to TDMA time slots does not affect the performance. On the other hand, for H-AP operating in a full-duplex mode that uses two antennas, one for continuous WET and the other for data collection, the scheduling order affects the performance and fairness. The reason is that a node allocated in a later time slot of the TDMA frame can harvest more energy than the nodes allocated in earlier time slot. Therefore, which order the node should be allocated in is an important issue. In this paper, we investigate the performance and fairness of WPCN when we change the scheduling order that is based on the SNR values of terminal nodes. The simulation results show that scheduling in descending order has maximum fairness, while scheduling in ascending order has maximum sum-throughput but less fairness. Considering the most important problem of WPCN, doubly near-far phenomenon, we conclude that the descending scheduling order can improve fairness significantly because nodes with lower SNR values harvest more energy compared to nodes with higher SNR values. Keywords: Wireless Powered Communication Network · Fairness TDMA · Scheduling order · SNR · Continuous Energy Transfer · Doubly near-far problem

1

·

Introduction

Conventional battery-powered terminal nodes (e.g. sensor node) have a limited lifetime, so it needs to be replaced or recharged. However, this may be costly, inconvenient, dangerous (e.g. in a toxic environment) or even impossible. As an alternative solution to prolong the network’s lifetime, energy harvesting has c Springer Nature Switzerland AG 2020  R. Silhavy (Ed.): CSOC 2020, AISC 1224, pp. 301–309, 2020. https://doi.org/10.1007/978-3-030-51965-0_26

302

D. Yoon and I. Joe

drawn significant interests since it potentially provides unlimited power supplies to wireless networks by a dedicated power station [1,2]. Recently, there is a growing interest in studying WPCN [3]. The simplest WPCN topology has one power station, one access-point and multiple User Terminal (UT). The power station and the access point can be combined as a H-AP. With this model, maximizing sum-throughput or energy efficient has been studied. In [4], assuming a H-AP equipped with one antenna, sum-throughput was maximized as TDMA time slot length vary. The time slot had one Down Link (DL) WET and multiple Up Link (UL) Wireless Information Transmission (WIT). However, the UT near the H-AP can harvest more energy and consume less energy, but the UT far from the H-AP harvest less energy and consume more energy. Because of this doubly near-far problem, [4] had to optimize TDMA time slot length unfairly. [4] also proposed perfect fairness optimization method, common-throughput maximization, in which all UTs had equal UL throughput. But this method reduces sum-throughput considerably. To increase fairness without decrease of sum-throughput, idea of increasing harvest time was proposed [5]. In [5], H-AP equipped with two antennas performs DL WET and UP WIT simultaneously. Although it is a non-causal model that UTs can harvest energy after WIT phase, it showed that maximum sum-throughput can be improved. Compared with [5], A little more practical model proposed in [6] modified non-causal part causally, where UTs can’t harvest energy after WIT phase. However, [5] did not considered scheduling order and fairness and [6] considered scheduling order but concluded that it is negligible. This is the result without considering fairness but only sum-throughput. If we focus on doubly near-far problem in WPCN, we need to measure fairness. In this paper, we study the effects of scheduling order to fairness and sum-throughput. When the order is sorted based on SNR in descending order, fairness has highest value. Additionally, we mention about Channel Estimation (CE). Most WPCN related papers assume that Channel Status Information (CSI) is initially known perfectly. But it is practically impossible because of channel estimation error, feedback error, and time-varying channel [7]. Accurate CSI makes WET/WIT more efficiently. We assume that time and energy consumption of CE is zero and just describe conceptually. The rest of this paper is organized as follows. Section 2 presents WPCN model, proposed continuous WET-enabled WPCN and CE procedure. Section 3 studies the effect of scheduling order on the performance quantitatively. Section 4 presents simulation results of performance compared with conventional halfduplex WPCN. Finally, Sect. 5 concludes the paper.

2

System Model

Figure 1 is a simple star-topology shaped WPCN model. It is consisted of one H-AP and U Ti , i = 1, ..., K. H-AP operate in full-duplex mode. We assume that some analog or digital Self-Interference Cancelation (SIC) can be perfectly done. So there is no interference between two antenna in H-AP. UTs have one antenna.

SNR-based TDMA Scheduling with Continuous Energy Transfer for WPCN

303

Fig. 1. A wireless powered communication network

DL Channel gain from H-AP to U Ti is denoted by hi . UL channel gain from U Ti to H-AP is denoted by gi . Exploiting reciprocity, hi and gi is hi = gi . We assume Both UL and DL channel is flat fading channel, so during a frame channel gain does not change. 2.1

Continuous WET-Enabled WPCN

Figure 2 is a TDMA frame structure. First frame shows H-AP broadcast wireless energy with constant power P0 continuously and collects data from UTs. During CE phase of UT frame, UTs receive DL pilot signal (or training signal) from H-AP and send SNR information to H-AP. More detail is described in the next section. Second frame represents length of each time slot as ratio τi which is to be optimized. Each UT harvest energy in EH phase, send data to H-AP in WIT phase, and enter in sleep mode until next CE phase begin. This cycle is repeated.

Fig. 2. Continuous WET-enabled frame structure

304

D. Yoon and I. Joe

If we look each UT’s total harvested energy, UT allocated in the first slot total harvesting time is τ0 T . UT allocated in the second slot harvest energy during (τ0 +τ1 )T . This difference of EH phase length invokes the issue of schedule order. For the understanding of schedule order we cite two cases as example. Number of UT is K=2, SNR of U T1 is 10dB and SNR of U T2 is 20dB. In case one, U T1 is allocated first and U T2 is second. U T1 harvest less energy and consume more energy because of low SNR. On the other hand U T2 harvest more energy and consume less energy because of high SNR. So we can easily imagine the sumthroughput will be good but fairness is bad. In case two, U T1 is allocated second and U T2 is first. Because U T2 ’s SNR is high, short EH phase length is enough to achieve normal throughput. On the other hand, although U T1 ’s SNR is low, more harvesting time compensate the channel condition. So from the example we can understand the importance of scheduling order. For the convenience, we let T=1. Then the energy harvested by U Ti is expressed as i−1  τj , (1) Ei = ζi hi P0 j=0

where ζi is energy harvesting efficiency. We assume ζ1 = ζ2 = ... = ζK = ζ in the sequel of this paper. With this charged energy Ei , the signal power of UL signal from U Ti to H-AP is expressed as Pi =

Ei . τi

(2)

We assume that all harvested energy is used in WIT. Also it is assumed that the statistical distribution of noise in the process of receiving is Circularly Symmetric Complex Gaussian (CSCG) with mean value equal to zero and its standard deviation is equal to σ. From the above assumption, the achievable UL throughput of U Ti during time τi in bits/second/Hz (bps/Hz) can be given as Ri (τ ) = τi log2 (1 +

h i Pi ) σ2 i−1

= τi log2 (1 + γi

j=0 τj

τi

),

(3)

where τ = [τ0 τ1 ... τK ] and γi is γi = 2.2

ζi h2i P0 . σ2

(4)

TDMA Scheduling Method

In CE phase, slot allocation procedure begins. Whole procedure is illustrated in Fig. 3. First, H-AP broadcast energy and initialize the number of accepted channel request i to 0. We assume DL WET signal also can be used as pilot signal. UTs have energy from previous frame. With this energy, UTs measure SNR from

SNR-based TDMA Scheduling with Continuous Energy Transfer for WPCN

305

Fig. 3. SNR acquisition and TDMA scheduling

pilot signal. Next, by using contentional random access like Slotted ALOHA or CSMA [8,9], UTs try to acquire control channel (i.e. CE slot in Fig. 2). When one UT acquired control channel and while using this channel, other UTs cannot use this channel. After acquiring control channel and through this, UTs request dedicated traffic channel (i.e. TDMA time slot) and transmit their measured SNR to H-AP. The UTs succeeding in transmit SNR and request channel don’t try to access control channel and hold on until the requested channel number i of H-AP reaches K. H-AP continuously accepts UTs’ request and increase i one by one. If the i reaches K, then H-AP sort UTs based on SNR values in descending order and by this order H-AP allocates TDMA time slots to UTs. Finally, HAP optimizes time slots to maximize sum-throughput, and then broadcasts the optimized time slot information to all UTs. The reason for sorting descending order is discussed in the next section. As mentioned earlier, we ignore energy consumption and time needed for CE phase. So it does not affect performance and is only given conceptually.

306

3

D. Yoon and I. Joe

Effects of Scheduling Order on the Performance

This section analyzes the effects of scheduling order on the performance. We use maximum sum-throughput and Jain’s fairness index as performance indicators. Max sum-throughput can be obtained by solving below optimization problem. max Rsum (τ ) τ

(5)

s.t. τi > 0, i = 0, ... , K, K  τi ≤ 1, j=0

K where Rsum (τ ) is Rsum (τ ) = i=0 Ri . Because this paper does not focuses on the proof of convexity of the problem, for rigorous proof of convexity of function Ri can be found in the appendix in [6]. Sum of convex function is also convex function. And all constraint condition is convex, so problem (5) is convex problem and can be solved by well known algorithm. Jain’s fairness index is a metric to measure how similar the values is with each other. If UTs’ UL throughput is all same, then fairness index has number 1. If UL throughput is different the number is less than 1 and bigger than 0. It is defined as below. K ( i=1 Ri (τi∗ ))2  (6) Jain s index = K (K i=1 Ri2 (τi∗ )) where τi∗ is optimal TDMA time slot length given by solving optimal problem. Next, to calculate the effects of scheduling order on the two above performance indicators in a quantitative manner, we define the distance between two schedule order. A schedule order can be expressed as a sequence S = (U Tα(1) , U Tα(2) , ..., U Tα(K) ), where α(i) is any permutation. Without origin point, we can only measure relative distance between two sequence, so it is necessary to define an origin sequence S0 which is set as descending order based on UTs’ SNR. Then we can measure the distance between arbitrary sequence and origin S0 . In order to do so, we define a displacement δi,j = |i − j|, where i is the position of the UT in a sequence S0 , and j is the position of UT in a compared sequence S. With this displacement, we define the distance D between S0 and S as K  2 δi,j(i) , (7) D(S0 , S) = i=1

where j(i) is corresponding order in sequence S for each i. With this definition, If S is ascending order, distance has maximum value and if descending order the value is 0, this is shown in Fig. 4. Figure 4 was drawn with appropriate parameter. Number of UT is K = 10, and distributed equally. x-axis is the distance from descending order as just we defined. We normalized the maximum distance as 1. Also we generated and

SNR-based TDMA Scheduling with Continuous Energy Transfer for WPCN

307

averaged sum-throughput and fairness over 1000 arbitrary random sequence for each interval. The interval calculated as below. 0.05 + 0.1 × i < D < 0.15 + 0.1 × i, i = 1, ..., 8.

(8)

As a result, we could understand the change quantitatively for every increase 0.1 in distance D. The closer to the origin point (i.e. descending order) sumthroughput was minimum and fairness was maximum. On the contrary, the farther from the origin sum-throughput was maximized and fairness was minimized. The tendency of the graph was not affected by other parameters.

Fig. 4. Maximum sum-throughput & fairness vs. distance

4

Simulation Results

This section presents performance evaluation including conventional half-duplex WPCN [4]. The position of U Ti is denoted as di = dKk × i, where dk = 10 m. P0 is 30 dBm. Channel gain is hi = 10−3 × d2i and noise power is σ 2 = −60 dBm. The optimal time slot length was calculated by fmincon function in MATLAB, which is used when solving optimization problem. We used Interior-point method as an algorithm. Figure 5 shows maximum sum-throughput of half-duplex WPCN and proposed continuous WET-enabled WPCN with descending/ascending order as the Number of UT varies. The simulation results represents continuous WETenabled WPCN was better than conventional WPCN regardless of the scheduling

308

D. Yoon and I. Joe

Fig. 5. Throughput vs. number of users

Fig. 6. Throughput vs. number of users

order. The ascending order has higher throughput than descending order. When the number of UT is small the difference was small. Figure 6 compared fairness with the same model as Fig. 5. Again regardless of the scheduling order and number of users, the proposed WPCN was fairer than conventional WPCN. It also shows that increase in the number of users reduces fairness. It is partially because of the distribution we set where nodes

SNR-based TDMA Scheduling with Continuous Energy Transfer for WPCN

309

are placed equally spaced. If the nodes are placed at the same position, fairness will increase. Fairness of ascending order was less than that of descending order, because nodes even with higher SNR values harvest more energy compared to nodes with lower SNR values.

5

Conclusion

In this paper, we have analyzed scheduling issues when considering continuous WET-enabled WPCN. If we address the most important problem of WPCN, doubly near-far, high fairness methods have to be chosen. From this point of view, the descending order based on SNR values is appropriate. However, there is a limitation that when the number of UT increases, the sum-throughput is increased while fairness is decreased. To improve performance of WPCN more than this, we may need other multiple access techniques like Non-Orthogonal Multiple Access (NOMA), or beamforming technique with more antennas. Acknowledgement. This work was supported by the National Research Foundation of Korea (NRF) grant funded by the Korea government (MSIT) (No. NRF2019R1A2C1009894).

References 1. Grover, P., Sahai, A.: Shannon meets Tesla: wireless information and power transfer. In: Proceedings of IEEE International Symposium on Information Theory, pp. 2363– 2367, June 2010 2. Liu, L., Zhang, R., Chua, K.-C.: Wireless information transfer with opportunistic energy harvesting. IEEE Trans. Wirel. Commun. 12(1), 288–300 (2013) 3. Bi, S., Zeng, Y., Zhang, R.: Wireless powered communication networks: an overview. IEEE Wirel. Commun. 23(2), 10–18 (2016) 4. Ju, H., Zhang, R.: Throughput maximization in wireless poweredcommunication networks. IEEE Trans. Wirel. Commun. 13(1), 418–428 (2014) 5. Ju, H., Zhang, R.: Optimal resource allocation in full-duplex wireless-powered communication network. IEEE Trans. Commun. 62(10), 3528–3540 (2014) 6. Kang, X., Ho, C.K., Sun, S.: Full-duplex wireless-powered communication network with energy causality. IEEE Trans. Wirel. Commun. 14(10), 5539–5551 (2015) 7. Yang, G., Ho, C.K., Zhang, R., Guan, Y.L.: Throughput optimization for massive MIMO systems powered by wireless energy transfer. IEEE J. Sel. Areas Commun. 62(14), 3565–3577 (2015) 8. Kim, J., Lee, J.-W.: Performance analysis of the energy adaptive MAC protocol for wireless sensor networks with RF energy transfer. In: Proceedings of International Conference on ICT Converge (ICTC), pp. 14–19, September 2011 9. Choi, H.H., Shin, W.: Slotted ALOHA for wireless powered communication networks. IEEE Access 6, 53342–53355 (2018)

Comparative Analysis of Software Development Life Cycle Models (SDLC) Jide E. T. Akinsola1 , Afolakemi S. Ogunbanwo4 , Olatunji J. Okesola1(B) , Isaac J. Odun-Ayo3 , Florence D. Ayegbusi1 , and Ayodele A. Adebiyi2,3 1 Department of Mathematics and Computer Sciences,

First Technical University, Ibadan, Nigeria {akinsola.jet,olatunjiokesola,florenceayegbusi}@tech-u.edu.ng 2 Department of Computer & Information Sciences, Land Mark University, Omu-Aran, Nigeria [email protected] 3 Department of Computer & Information Sciences, Covenant University, Ota, Nigeria {isaac.odun-ayo,ayo.adebiyi}@covenantuniversity.edu.ng 4 Department of Computer Science, Tai Solarin University, Ijebu-Ode, Nigeria [email protected]

Abstract. Software Engineering encompasses a lot of processes of which writing of efficient codes for development of high quality and effective programs is one of them. Development of quality software is achieved through a well-articulated Software Development Life Cycle (SDLC) model. Delivery of software project within timeline and budget require thorough analysis from which these two pertinent questions must be answered such as what shall we do next and how long shall we continue to do it’? Therefore, the need for an appropriate SDLC model for a software project is of high significance. V-Model is applicable in project that requires a lot of time and are complex in nature. When the focus of the project is more of quality than fast delivery time, then V-Model is a choice of SDLC to be considered. Also, Waterfall model is desirable when quality control is of concern with short project duration. On the other hand, Spiral Model is desirable when organizational expectations are unpredictable concerning the software development process. Irrespective of the size of the project, delivery time and level of expertise involved, the organization of the project plays a significant role in the choice of SDLC model. SDLC model under consideration, must take into cognizance the level of risk, duration of the project and cost implication associated with every software project for successful completion. Comparative analysis of the three SDLC models studied was presented. Keywords: SDLC model · Software Development Life Cycle · Software engineering · Spiral model · V-Model · Waterfall model

1 Introduction Software Development Life Cycle (SDLC) is an essential part of the software development process. It details the phases involve in the transformation of codes into finished © Springer Nature Switzerland AG 2020 R. Silhavy (Ed.): CSOC 2020, AISC 1224, pp. 310–322, 2020. https://doi.org/10.1007/978-3-030-51965-0_27

Comparative Analysis of Software Development Life Cycle Models (SDLC)

311

products generally referred to as software. It involves the stages from requirements analysis to the final stage called maintenance. The choice of SDLC model is critical to the success of the type software project being implemented. The SDLC follows the key steps that are necessary in the development of software applications, such as planning, analysis, design, as well as implementation. In effect, SDLC has been investigated by many researchers and numerous models have been proposed detailing their acknowledged merits and demerits. The commonly successful SDLC models comprise of Waterfall, Spiral, Incremental/ Iterative, Rational Unified Process (RUP), Rapid Application Development (RAD), V, Agile, Synchronize and Stabilize, Rapid Prototyping among others. According to [1], the oldest and most popular of these models is the waterfall model that comprises of a series of phases in which each stage’s output is the reference for the next stage. On the other hand, the V-Mode illustrates how each developmental process stage applies to its corresponding testing phase [2]. Agile software development is an iterative and gradual development concepts that involves combination of software development approaches [3]. Spiral model is a risk-driven software approach for SDLC that is otherwise called Meta-model. The spiral model is one candidate to improve the model situation of the software process. For several years, the spiral model of software process has developed, based on experience of various modification of the waterfall model occasioned by large government software projects [4]. In addition, all the suggested SDLC models share basic characteristics. All of them consist of a chronological succession of phases or stages that system developers and designers must follow and complete to achieve developed systems and produce the products needed. Conversely, in this paper, merits and demerits of Spiral Model, V-Model and Waterfall Model techniques are discussed in addition to their areas of applications as well as when to use the models with a comparison of other characteristics of the models to conclude the rest of the study. 1.1 SDLC Models Software development and delivery are among the most important tasks for software development businesses today [5]. The life cycle of software development, often called the life cycle of the application, defines how the development process is constructed within a project or a whole firm. The SDLC is also related to as a software architecture to plan, develop, test, control, and distribute software. It is easy to determine which level the group is on in any software project, which resources are needed, and what step is next when SDLC is implemented. Every life cycle of software development consists of several levels. The six product life cycle stages (see Fig. 1) are typically the following: Requirement Gathering and Analysis. This is the first phase of the SDLC where each relevant information is collected and evaluated. Design. This is the second phase of the SDLC this is concerned with the whole structure of the future project to be implemented. Coding. The third step of SDLC is the coding that is also referred to as deployment. The built software incorporates all elements and generates source code.

312

J. E. T. Akinsola et al.

Fig. 1. Major phases of SDLC models [5]

Testing. The testing involves the verification and correction of any defective parts of the code. All is thoroughly tested and re-tested if necessary until all problems are resolved. Deployment. The code reaches the implementation process after reviewing the application and having all required iteration. The project will then be made available to end users. Maintenance. Maintenance follows the entire life cycle of software. If users find any problems, the problem may be fixed or corrected with the next release, depending on how serious they are.

2 Spiral Model The spiral model combines design and prototyping elements in stages in order to combine the advantages of top-down as well as bottom-up conceptual constructs as a software life cycle process. It is a meta-model because it can used in conjunction with several types of models [6] and [7]. Therefore, it relies on risk evaluation and project risk minimization. This can be accomplished by splitting a plan into smaller segments, which allow the development process simpler to alter and provide the chance to evaluate and take into account the future of the design during the life cycle. With this project paradigm, small set of requirements are used to initiate the project after which it will be passed to each development stage (apart from installation and maintenance). This gives room for on the job learning on the part of the development team. Spiral SDLC model is iterative in nature and become handy for high risk projects [7–10] and [11]. Spiral model of SDLC was originated by Boehm. It involves combination of waterfall and Prototype models

Comparative Analysis of Software Development Life Cycle Models (SDLC)

313

Fig. 2. Spiral model of the SDLC [4]

inherently. In the Spiral model, all the activities can be arranged in a spiral form (see Fig. 2). In a spiral each loop represents a development stage (and according to the project, we can have a number of loops). Four sections or quadrants are accessible on each loop: To Identify Goals, Alternatives and Constraints. This is concerned with understanding of brand goals, design alternatives and price, engineering, timetable, etc. constraints. Alternative Risk Analysis and Assessment. This section deals with finding out what other methods can be added to address the defined limitations. Discussion of organizational and technical problems are looked into. In this stage, risk mitigation is at the forefront in this stage. So weighing all of these variables dictates potential line of action. Execution of the Development Phase. This is concerned with designing the intended product in this process. There are also tests done at this stage. Waterfall or an alternative solution can be applied for development. Next Phase Planning. This stage deals with checking the progress and assess it taking all parameters into account. Issues to be resolved will be identified and necessary steps will be taken at this stage. There are similar phases in the subsequent loops of the spiral model. This model relates to analysis and engineering activities. This form of life cycle is used in large,

314

J. E. T. Akinsola et al.

costly or complicated ventures. If one believes that the task risk is far more than planned at any moment, one can abort this risk. An in-house individual or an external customer can conduct reviews at different stages [12]. 2.1 Merits of Spiral Model Spiral model offers some benefits due to its meta-nature. The risk-driven methodology makes it an outstanding SDLC model instead of code-driven process that is prevalent in majority of other models. Some of the merits are listed thus [12]: • One of the most robust SDLC systems in use is the spiral Life Cycle System. Design stages depending on the task size can be decided by the project manager. • Easy and effective project management. Each step and every circuit needs an analysis by the individuals concerned. It makes the template simpler. • Risk management, which makes the model particularly attractive in contrast to other versions, is one of the features built in. • Improvements in the life cycle can also be introduced later on. And it is not a big headache for the project manager to cope with these changes. • Design predictions become more practical with respect to timetable, cost etc. as the design continues and spiral loops completed. • It is suitable for ventures where organizational expectations are unpredictable. • This enables the production of a highly customized product. 2.2 Demerits of Spiral Model Spiral model focuses majorly on risk associated with any project and hence give room for undue project time elongation with a lot of documentation efforts. Some of the demerits are listed thus [12]: • • • • • • • •

This model usually involves high costs. Particularly for projects with a simple SRS, this strategy is difficult. Expertise is important to evaluate and review works periodically. Regulations and protocols should be properly followed in order to implement the model effectively. This is complicated for the whole length of the project. In addition, it is impossible to use the same model in other works because of the different customizations allowed by the client. Spiral is not suited for programs of low risk. If this development process is followed, it is difficult to meet budgetary and scheduling requirements The volume of documentation needed in the interim phases is very complex to manage the project.

2.3 Areas of Application of Spiral Model This Spiral Model is commonly used in the software industry as it aligns with the normal development process of any software products. This models involve advanced learning which encompasses limited risk for both client and development companies.

Comparative Analysis of Software Development Life Cycle Models (SDLC)

315

2.4 When the Spiral Model Is Used Spiral model as a risk analysis based model, is greatly put to use when: • Cost and risk assessment are important • Projects involve medium to high risks • Due to possible adjustments to economic goals, the long term commitment to the project is unwise • Customers/Users/clients are uncertain about their needs • There is complexity of requirements • There is a new line of business • Important changes are anticipated in relation to research as well as exploration

3 V-Model The V model is an enhanced version of the waterfall system. The name of the model implies that much of the attention is concentrated on validation and verification. Hence the name V- model. Each SDLC process must be finished in this model before the next phase begins [8]. This was not formulated in the linear direction as opposed to the Waterfall process, but the steps are inverted after the coding step is finished. This method is consistent and depends on previous steps for confirmation before it continues. Before proceeding, the product from each phase should be checked and approved. In V model, designer and tester works simultaneously [13]. The V design prepares the test cases based on the demands of the Program and, on the basis of the HLD (High Level Document), the Implementation Test cases, and prepares the implementation test cases based on the LLD (Low-Level Document). So the coding is over. Once the coding has been finished, sequence checking of the module, configuration and process takes place. In Larger Company or Organization, V-Model is mostly used since it requires more money and lot of other resources. The links between every phase and stage of development in the V-model (see Fig. 3). 3.1 Merits of V-Model Since, V-Model is an enhanced version of the waterfall model, all the merits of waterfall model are applicable to V-Model. Some of the merits V-Model are [8]: • Testing begins at early stages of product development which prevents the flow of defects down and helps to find the defects at early stage. • The test team is willing to take part in the test cases by releasing the software which saves time. • In all phases of product development, testing is involved which brings about production of quality. • The associated cost is extremely low since there are no corrections or reworking.

316

J. E. T. Akinsola et al.

Fig. 3. V- Model of the SDLC [13]

3.2 Demerits of V-Model Despite overcoming the waterfall model shortcomings, in which testing becomes necessary at the completion of the project vis-à-vis testing being done in case of V-Model at each stage of the project. V-Model still has some demerits as outlined below [8]: • • • • •

Initial investment is more because the test team is involved from the beginning. The same procedure continues every time there is a change in requirement. It leads to further work on documentation. The biggest drawback to the V-model is its rigidity and lack of flexibility. If any changes occur in the middle, it is necessary to update not only the requirements document but also the test documentation. • It is not proposed for short-term projects as reviews are required at each stage. 3.3 Areas of Application of V-Model The V-model SDLC areas of application are almost similar to the Waterfall model, since the two versions are sequence category of models. Until starting the project, the specifications must be very straightforward, as it is usually expensive to go back and make adjustments. The V-Model is majorly used in medical development sphere, because it is a stringently disciplined knowledge-base. 3.4 When the V-Model Is Used The V-Models is considered to be a model of choice in the following circumstances: • In small to medium-sized projects with clear definition and setting of specifications, the V-shaped layout should be used.

Comparative Analysis of Software Development Life Cycle Models (SDLC)

317

• If sufficient technological tools with the requisite technical expertise are available, then V-shaped model should be used.

4 Waterfall Model The Model referred to as Waterfall is the oldest and most popular SDLC model. In government projects and in many large firms this model is very widely applied. The series of graduation of processes is the special feature of this model [8]. Every other SDLS Models were developed based on the characteristics of Waterfall Model (WM). Its main feature is regular succession of the processes without gap. Hence, it foresees defect or fault beforehand. This accounted for proper planning in addition to well-articulated documentation when employing Waterfall model. The Model became dominant in 1970 after refinement of stage-wise model due to the two enhancements in relation to incorporation of feedback loop as well as introduction of prototyping in the SDLC [14]. It has feedback loop implemented at various phases (see Fig. 4).

Fig. 4. Waterfall model of the SDLC [4]

318

J. E. T. Akinsola et al.

4.1 Merits of Waterfall Model WM as a sequential and linear development model, has the following merits: • Until production begins, the development is simple. • In the specified time period, each process is finished following the transformation to the next step. • It is easy to implement as it’s a linear model. • There are minimal resources needed for the implementation of this model. • Regarding development degree of excellence, each step of the relevant documentation is pursued. • it reinforces the principles of “characterize before the design” and “pre-code planning” [15]. 4.2 Demerits of Waterfall Model The discovery of flaw in the waterfall concept is usually quite late in the life cycle as a test team from the start of the project did not take part. Despite its demerits, VM still remain the most widely used SDLC model. Given below are some of WM demerits: • During the process, one problem will never be solved completely and, in addition, other issues arise after signing-off that phase, resulting in a mal-structured system. • If the company wants to change the provision, the current development phase will not enforce it. • Until late during the life cycle, no functioning software is made. • High levels of risk and insecurity. • Not a good model for complex projects and object-oriented projects. • Bad model for long-term and currently happening projects. • Not appropriate for projects where demands are moderately to highly likely to change [16]. 4.3 Areas of Application of Waterfall Model WM is applicable in big projects with crucial systems, where the phases and processes are inter-related and inter-dependent. It involves quite a number of regulations and assurance must be given with no mistakes. Some of the areas of applications include the following: Civil Engineering Construction. Bridges, Factories and Roads construction, these involve careful preparation and strategic architecture with up-front design that are usually carried out using the model of waterfall. Aircraft/Airplane Construction. Due to the detailed nature involved in the construction of airplanes, adequate planning is very essential and every phase of the construction as exemplified in the WM must be well articulated. The stages of development of the aircraft is sequential and one phase leads to another.

Comparative Analysis of Software Development Life Cycle Models (SDLC)

319

Banking. Development of codes for banking applications requires serious planning with detailed documentation, which are essential parts of Waterfall model. An error in a customer transaction to lead to serious legal tussle. The WM is suitable here because there is high level of regulations. Example of this application is building a bridge across a river. Military. WM has been used in other institutions such as Development of Department of Defense (DOD). Military and aircraft programs and services follow Waterfall model. This is attributed to the stringent rules and requirements to be strictly adhered to. DOD departments usually considered that the Waterfall concept is consistent with the government’s procurement and comprehensive monitoring process. Healthcare. This involves a situation or network where human life will lead to one or more casualties if a system failure happens. Hence, the choice of Waterfall model is highly imperative. Human safety is the most important regardless of the cost. Nuclear System. Any casualty can lead people responsible to imprisonment when proper planning is not implemented. The nuclear system involves a lot of control facilities therefore detailed attention must be paid to every process in each phase of the SDLC. Application Development. In the development of software applications, Waterfall model has been commonly used. The Waterfall model is being used to develop corporate applications such as Customer Relationship Management (CRM), Human Resource Management System (HRMS), Supply Chain Management Systems (SCMS), Inventory Management Systems (IMS), and Point of Sales (POS) Systems [16].

4.4 When the Waterfall Model Is Used Waterfall model is considered appropriate as a SDLC model: • • • • •

Only if the requirements are very well known, clear and constant. The definition of the product is stable. It is understood technology. Extensive resources with necessary expertise are freely available The project duration is short.

5 Comparative Analysis of Waterfall, Spiral and V Models SDLC has been widely used in various developmental projects. There are several models being used for product development and software engineering requirement analysis. Three models have been considered in this study which are Waterfall, Spiral and V models. Delivery of software project within timeline and budget require thorough analysis. The following Table 1 therefore gives comparative analysis of the three SDLC models considered.

320

J. E. T. Akinsola et al. Table 1. Comparative analysis of waterfall, Spiral and V SDLC models

Features/Model

Waterfall model

Spiral model

V-model

Complex Project

Not Suitable

Highly Suitable

Suitable

Project Size

Medium

Large

Small to Medium

Project Duration

Time Consuming and slow to complete

Less Time Consuming

Fast To complete

Planning Period

Requires Long Term Planning

Requires Short Term Planning

Requires Medium Term Planning

Project Development Method

Top - Down with Sequential

Top - Bottom and Bottom – Up with Iterative

Top - Bottom and Bottom – Up with Sequential

Project With Risk

Not Suitable

Highly Suitable

Suitable

Implementation/Initial Cost

Not Costly

Costly

More Costly

Reliability of the Model

High Level of Risk and Insecurity

Reliable and Secured Reliable

Error Discovery

Quite Late

Middle of the Project Early Error Discovery

Associated Cost

Medium

High

Extremely Low

Implementation

Simple

Highly Complex

Complex

Scalability

Not Scalable

Scalable

Highly Scalable

Risk Analysis

No Risk Assurance

Medium to High Assurance

Low Assurance

Long Term Project

Not Suitable

Suitable

Suitable

Maintenance

Less maintainable

Highly Maintainable

Maintainable

Flexibility

Not flexible

Less Flexible

Flexible

Initial Requirement Specifications

Well documented

Not all and Changed Regularly

Not all and Changed Regularly

Requirement Gathering Agreement between the Conflict between the Conflict between client and developers client and developers the client and developers Cost Estimation

Easy to Estimate

Difficult to Estimate

Difficult to Estimate

Testing

Late

At the end of each phase

Begins at early stages

Guarantee of Success

Less

High

High

Predictability of Outcome

Yes

No

No (continued)

Comparative Analysis of Software Development Life Cycle Models (SDLC)

321

Table 1. (continued) Features/Model

Waterfall model

Spiral model

V-model

Documentation

Easy to Document

Very Complex

Fairly Easy

Coding

Middle of the Project

Towards the End of the Project

End/Bottom of the Project

Model Focus

Quality Control and Risk Analysis and Regulation Compliance Evaluation

Areas of Application

Civil Engineering Construction, Aircraft/Airplane Construction, Banking, Military, Nuclear System, Application Development

Commonly used in Same as Waterfall the software industry Model in addition to Medical Development Domain

When to Use

The project duration is short. When quality is more important than cost or schedule. New version of existing product is needed

Cost and risk assessment are important and projects involve risk. When significant changes are expected

Verification and Validation

Sufficient technological tools and requisite technical expertise are available

6 Conclusion The merits and demerits of any SDLC models is a function of the organization chosen in the development process. Therefore, consideration to whether the development of the software is a top-bottom or bottom-up paradigm is very crucial. Long-term projects with dynamic implementations are peculiar to V-Model. When clients want high quality products, because each phase is checked; and designers and testers work in parallel, then Spiral Model becomes relevant and applicable. Moreover, Waterfall Model is quite adequate when high level of safety is essential which involves life threatening situations. WM involves adequate planning and control. In the future work, consideration shall be in relation comparative analysis of other SDLC models and with implementation of simulation tools for empirical analysis.

References 1. Balaji, S., Murugaiyan, M.S.: Waterfall vs V-model vs agile: a comparative study on SDLC. Int. J. Inf. Technol. Bus. Manag. 2(1) (2012). ISSN 2304-0777. www.jitbm.com 2. Cockburn, A.: Agile Software Development, 2nd edn. (2006) 3. Cohen, D., Lindvall, M.: Agile Software Development, Data & Analysis Center for Software (2003) 4. Boehm, B.W.: A Spiral Model of Software Development and Enhancement. TRW Defense Systems Group (1986)

322

J. E. T. Akinsola et al.

5. Anurina, O.: Agile SDLC: Skyrocketing Your Project with Agile Principles (2019). https:// mlsdev.com/blog/agile-sdlc 6. Majumdar, A., Masiwal, G., Chawan, P.M.: Analysis of various software process models. Int. J. Eng. Res. Appl. 2(3), 2015–2021 (2012) 7. Sommerville, I.: Software Engineering, 9th edn. Addison Wesley, Boston (2010) 8. Munassar, N.M.A., Govardhan, A.: A comparison between five models of software engineering. IJCSI Int. J. Comput. Sci. Issues 7(5), 94–101 (2010) 9. Fowler, K.R., Silver, C.L.: Introduction to good development in Developing and Managing Embedded Systems and Products (2015). https://www.sciencedirect.com/topics/engineering/ v-model 10. Taya, S., Gupta, S.: Comparative analysis of software development life cycle models. IJCST 2(4) (2011) 11. Hurst, J.: Comparing Software Development Life Cycles. SANNS Software Security (2014) 12. Sparrow, S.: Spiral Model: Advantages and Disadvantages (2011). http://www.ianswer4u. com/2011/12/spiral-model-advantages-and.html#axzz3Qs5RV0Sb 13. Limits of the VModel (1997) 14. Royce, W.W.: Managing the development of large software systems: concepts and techniques. In: Proceedings of the Wescon, August 1970. Also available in Proceedings of the ICSE 9. Computer Society Press (1987) 15. McCormick, M.: Waterfall and Agile Methodology, 8 Sept 2012, pp. 1–8. MPCS Inc. (2012) 16. TRYQA: http://tryqa.com/what-is-waterfall-model-advantages-disadvantages-and-when-touse-it/. Accessed 21 Dec 2019

Development Quantum Method of Image Recognition Using Boundaries Selection and Transformation of a Quantum State Sergey Gushanskiy, Maxim Polenov, and Viktor Potapov(B) Department of Computer Engineering, Southern Federal University, Taganrog, Russia {smgushanskiy,mypolenov,vpotapov}@sfedu.ru

Abstract. This paper is devoted to solving the problem of research and development of the quantum algorithms operation methods and models of quantum computer. The implemented quantum algorithm allows converting of a classical image into a quantum state, to select boundaries and convert a grayscale image into a binary one. It shows the possibilities of the quantum information theory in interpretation of classical problems. The objective of the work is computer simulation of a quantum algorithm to solve the problem of conversion a classical image using quantum computing and methods, studying existing pattern recognition algorithms and creating an effective recognition model using the features and methods of quantum computing. The relevance of this research lies in the mathematical modeling and software implementation of the quantum algorithm for solving several of classical problems. The scientific novelty of this area is primarily expressed in the constant updating and addition of the field of quantum research in a number of areas, and computer simulation of quantum physical phenomena and features is insufficiently researched in the world. Currently, in many countries, intensive research is being conducted on the development and creation of quantum computers and their software, and there has been a rapid increase of interest in quantum computers. The paper presents the some theoretical and practical results in the field of quantum computing. Keywords: Qubit · Entanglement · Quantum scheme · Wave function · Quantum gate

1 Introduction Currently, the world, including Russia, is actively working on the study and physical implementation of a quantum computer. Prototypes of computing devices have already been built in different parts of the world at different times, but until a full-fledged quantum computer has been created, it makes sense to perform quantum computer simulations on computers with classical architecture in order to study and further build a quantum computer. © Springer Nature Switzerland AG 2020 R. Silhavy (Ed.): CSOC 2020, AISC 1224, pp. 323–330, 2020. https://doi.org/10.1007/978-3-030-51965-0_28

324

S. Gushanskiy et al.

The field of quantum algorithms is constantly updated and supplemented. However, for a long time there were no quantum programming languages for practical purposes and tasks. The result of the quantum algorithm is probabilistic. Due to a small increase in the number of operations in the algorithm and maximizing the entanglement of qubits, you can arbitrarily bring the probability of obtaining the correct result to unity. The practical implementation of these tasks on modern systems requires an unacceptably long period of time. Recently, there has been a rapid increase of interest in quantum computers [1]. Modern methods for recognizing objects have a number of significant limitations: search errors in large databases and determining an object when changing its position, deterioration in the quality of identifying objects depending on the quality of lighting and disguise tools. It is supposed to use algorithms [2] of a quantum nature in determining objects and images. The use of quantum computers can significantly increase the speed of solving computational problems [3] and, most importantly, exponentially increase the speed of solving NP-complete problems that can be solved in unacceptable time on classical computers.

2 Methods of Image Recognition 2.1 Modeling a Class of Facial Images Using the Principal Components Analysis The method of principal components is one of the most common methods for reducing the dimensionality of data and the loss of least information. The method allows to highlight the characteristic features of the face and use them for reconstruction and recovery. This method is based on the Karunen - Loev transformation. The main idea of the method is to represent images of people’s faces in the form of a set of main components of images called “own faces”. A useful attribute of own faces is that the image corresponding to each component has a face-like shape, as shown in Fig. 1.

Fig. 1. Example of images

The calculation of the principal components is based on the calculation of the eigenvectors and eigenvalues of the covariance matrix [4], which is calculated from the image. The sum of the principal components multiplied by the corresponding eigenvectors is a reconstruction of the image. The basic principle of the programs for tracking and face recognition work as follows. At the first step, the image is analyzed, then the faces are searched. Then comes the processing aimed at highlighting the individual characteristics of each detected human face. Based on the selected individual characteristics, a digital template is compiled. The individual characteristics in this case are the distance between the eyes, the depth of their fit, the shape of the cheekbones, nose and jaw. All this is

Development Quantum Method of Image Recognition Using Boundaries Selection

325

converted into a digital code, which is something similar to a “digital facial cast”, which is then could be used to compare, for example, with wanted criminals. In most cases, it is almost impossible to restore the reverse image. This approach is the basis of biometrics. 2.2 Modeling a Class of Facial Images Using Factor Analysis Factor analysis (FA), like many methods of analyzing multidimensional data, is based on the hypothesis that the observed variables are indirect manifestations of a relatively small number of some hidden factors. Factor analysis, therefore, is a combination of models and methods focused on identifying and analyzing hidden (latent) relationships between observed variables. In the context of recognition problems, the observable variables are usually signs of objects. FA can be considered as a generalization of the method of principal components. The purpose of factor analysis in the context of the face detection problem is to obtain a model of a face image (with a foreseeable number of parameters), with which you can evaluate the proximity of a test image to a face image. 2.3 Support Vector Machines (SVM) The goal of training most classifiers is to minimize the classification error on the training set (called empirical risk). In contrast, using the support vector method, a classifier can be constructed that minimizes the upper estimate of the expected classification error. The application of the support vector method to the face detection problem consists in the search for a hyperplane in the feature space, which separates the class of face images from non-face images. The possibility of linear separation of such complex classes as images of faces and “non-faces” seems unlikely. However, the classification using support vectors makes it possible to use the apparatus of nuclear functions to implicitly project feature vectors into a space of potentially much higher dimension (even higher than the image space), in which classes can be linearly separable. Implicit projection using nuclear functions does not complicate the calculations, which makes it possible to successfully use the linear classifier for linearly inseparable classes. 2.4 Artificial Neural Networks (Neural Networks, NN) Neural networks [5] have long and successfully been used to solve many recognition problems. To solve the problem of face detection, a large number of neural networks of various architectures were used. An advantage of using neural networks to solve the problem of face detection is the ability to obtain a classifier that well models the complex distribution function of facial images p(x|face). The disadvantage is the need for careful and painstaking tuning of the neural network to obtain a satisfactory classification result. 2.5 Hidden Markov’s Models (HMM) Hidden Markov’s Models (HMM) is one of the ways to obtain a mathematical model (description of the properties) of some observable signal. Hidden Markov Models belong to the class of stochastic models. Stochastic models try to characterize only the statistical properties of the signal, not having information about its specific properties. The

326

S. Gushanskiy et al.

basis of stochastic models is the assumption that the signal can be described by some parametric random process and that the parameters of this process can be fairly accurately estimated in some completely definite way. Customized Hidden Markov’s Models can be considered as a source of some random signal with well-defined characteristics. For a tuned CMM, it is possible to calculate the probability of generating a test signal with this model. As an application to the recognition problem, by presenting the feature vector of an object in the form of a signal (a set of consecutive observations), you can simulate a class of objects using the CMM. The probability that the test object belongs to the class specified by the CMM is estimated as the probability of generating a signal corresponding to its feature vector. Setting up (training) CMM - consists in modifying its parameters in order to achieve the maximum probability of generating signals corresponding to training set vectors.

3 The Process of Forming a Set of Qubits In Fig. 2 is shown the computational process [6] of modeling entangled quantum computations [7] in the field of quantum algorithms. It implies primarily the use of various kinds of quantum computations of quantum algorithms and the formation of a set of qubits for the state of normalization control signals at a particular point in time.

Fig. 2. The process of forming a set of qubits

Applying the tensor product between Hadamard [8] transforms, we obtain terms of the form KPn ⊗ KDn2 and similar combinations of gain factors. The example described above indicates the existence of sixteen probabilistic states that define variations among correlations according to their type and type. Let’s consider the quantum method, aimed at the presentation and processing of color pixel photographs or images. It is assumed that each pixel of the image x (i, j) is transformed into a certain quantum state |q(i, j)>: |q(i, j)> = c0 |0> + c1 |1>. We will encode the color palette of the pixel set in the framework of complex amplitude [9] quantum states [10]:   (1) δ : R3 → C21 , (x1 , x2 x3 ) → r1 eiφ1 , r1 eiφ2 ,

Development Quantum Method of Image Recognition Using Boundaries Selection

where

x1 , x2 , x3

are

color system, r1 := 1 − x23 , r2 iϕ1 iϕ2 Let z1 = r1 e , z2 = r2 e ,

the

values

of

the

327

RGB

:= x3 , φ1 := arcsin(2x1 − 1), φ2 := arcsin(2x2 − 1).

then we obtain a pixel set of colors in the form q = z1 |0 > + z2 |1 >. The next step is the encoding process of the coordinates 1 of the color palette of the pixel set:   |k = |x|y = |xn−1 xn−2 . . . x0 yn−1 yn−2 . . . y0 , xi , yi ∈ {0, 1}, (2) where |x, |y are quantum states encoding a pixel coordinate grid. Depending on the transform algorithm used, the selection of amplitude probability values encoding the pixel colors of a photograph can vary significantly. Then create a superposition of the computing process. Pixel superposition of states of a quantum system [11] of a photograph or image at the input: |I =

1 22n −1   qk ⊗ |k. k=0 2n

(3)

Stage 1. Let us have an image of M × N dimension with a grayscale [12] set of pixels. We will convert the entire set of pixels of the photo x (i, j) entering the input into the state |q(i, j) of the quantum system. With the intensity of the entire pixel set, then the probability distributions |c0 |2 and |c1 |2 are calculated by determining the sums s1 and s2 as follows: 1 1 x(i − k, j − l) + x(i, j + l) + x(i, j + 2), (4) s1 = k=−1

l=0

s2 = x(i − 1, j − 1) + x(i − 1, j) + x(i, j − l).

(5)

1 If P = (s1 + s2 )/5, then |c0 |2 = f(P), |c1 |2 = 1 − f(P), where f(P) = P+a . The b 1+e   1 0 quantum states |0, |1 correspond to the vectors , . In accordance with this 0 1  1 − f(P) qubit |q(i, j)>, the vector is mapped, so the intensity of the pixel set of the f(P) photograph is represented in two-dimensional space.

Stage 2. By measuring the qubit |q(i, j)> of the entire pixel set of the photo fed to the input, the matrix of the pixel system is formed. If the quantum states |0>, |1> correspond to the indicators 0, 1 of the output pixel set of the photo, we get a binary object at the output. The developed model of a quantum computing device and the result of a quantum algorithm for converting a set of pixels is shown in Fig. 3.

4 Modules of Emulation of Quantum Algorithms and Programming Languages in Model of Quantum Computing Device The general interface of the developed model is shown in Fig. 4. The buttons for controlling the quantum circuit are located on the left side. This area of the program allows

328

S. Gushanskiy et al.

Fig. 3. Model of quantum computing device

automatic or step-by-step progress of the model forward or backward; you can also delete the last element selected and entered into the circuit or completely clear the entire circuit. In the lower left corner are buttons of the modules illustrated above - emulations of quantum algorithms (“Shor”, “Grover”, “QFT”, “Doutch”, “Saimon”) and quantum programming languages (“Open QCL”). At the top there is a menu bar for controlling and configuring the model, in the center there is a set of quantum gates at the top, and a state diagram of x-registers and y-registers at the bottom. To get started with MQC, you must initialize the quantum circuit by pressing the key. When you click on the “Open QCL” button, a window opens for programming in the QCL quantum programming language (Fig. 5). The basic quantum data type qureg (quantum register, quantum register). It can be represented as an array of qubits. qureg x1 [2]; //two-qubit quantum register x1 qureg x2 [2]; //two-qubit quantum register x2 If you click on one of the keys located in the lower left corner, then the corresponding quantum algorithm will be emulated: Shor, Grover, Simon, Deutsch or the quantum Fourier transform.

Development Quantum Method of Image Recognition Using Boundaries Selection

329

Fig. 4. The main window of the model of a quantum computer

Fig. 5. QCL interface

5 Conclusion During the writing of this work, an analysis was made of the basic principles for the implementation of algorithms in the framework of models of quantum computers. The basic quantum algorithms are distinguished, their theoretical and software implementations are described. A direct dependence of the operating time of a particular quantum transformation (algorithm) on the number of qubits assigned to this transformation is derived. The implementation of both the modules for emulating quantum algorithms and the environment for developing quantum computing (quantum programming) and the entire model of the quantum computer as a whole is shown. The desire to increase the computing power of computers and provide an unsurpassed scale of tasks is one of the determining factors in the development of supercomputer technologies. The main advantages of using quantum computing in the field of determining objects and images:

330

S. Gushanskiy et al.

acceleration of the computing process using quantum components, stability at different angles of the object, its motion/statics, ensuring cryptographic [13] noise immunity. Great importance is attached to the development of fundamentally new physical principles of computing, where quantum computing is the most promising area. Acknowledgments. The reported study was funded by RFBR according to the research project № 19-07-01082.

References 1. Boixo, S., Isakov, S.V., Smelyanskiy, V.N., Babbush, R., Ding, N., Jiang, Z., Martinis, J.M., Neven, H.: Characterizing quantum supremacy in near-term devices. arXiv pre-print arXiv: 1608.00263 2. Stierhoff, G.C., Davis, A.G.: A history of the IBM systems journal. IEEE Ann. Hist. Comput. 20(1), 29–35 (1998) 3. Lipschutz, S., Lipson, M.: Linear Algebra (Schaum’s Outlines), 4th edn. McGraw Hill, New York (2009) 4. Collier, D.: The comparative method. In: Finifter, A.W. (ed.) Political Sciences: The State of the Discipline II, pp. 105–119. American Science Association. Washington, DC (1993) 5. Williams, C.P.: Quantum gates. In: Explorations in Quantum Computing. Texts in Computer Science, pp. 51–122. Springer, Heidelberg (2011) 6. Olukotun, K.: Chip Multiprocessor Architecture – Techniques to Improve Throughput and Latency. Morgan and Claypool Publishers, San Rafael (2007) 7. Potapov, V., Guzik, V., Gushanskiy, S., Polenov, M.: Complexity estimation of quantum algorithms using entanglement properties. In: Informatics, Geoinformatics and Remote Sensing (Proceedings of 16-th International Multidisciplinary Scientific Geoconference, SGEM 2016, Bulgaria), vol. 1, pp. 133–140. STEF92 Technology Ltd. (2016) 8. Potapov, V., Gushanskiy, S., Guzik, V., Polenov, M.: The computational structure of the quantum computer simulator and its performance evaluation. In: Software Engineering Perspectives and Application in Intelligent Systems. Advances in Intelligent Systems and Computing, vol. 763, pp. 198–207. Springer (2019) 9. Milner R.G.: A short history of spin. In: Contribution to the XV International Workshop on Polarized Sources, Targets, and Polarimetry, Charlottesville, Virginia, USA, 9–13 September 2013. arXiv:1311.5016 (2013) 10. Hallgren H.S.: An improved quantum Fourier transform algorithm and applications. In: Proceedings of the 41st Annual Symposium on Foundations of Computer Science, Redondo Beach, CA, p. 515. IEEE (2000) 11. Potapov, V., Gushanskiy S., Polenov M.: The methodology of implementation and simulation of quantum algorithms and processes. In: Proceedings of 11th International Conference on Application of Information and Communication Technologies (AICT 2017), pp. 437–441. IEEE (2017) 12. Boneh, D., Zhandry, M.: Quantum-secure message authentication codes. In: Proceedings of Eurocrypt, pp. 592–608 (2013) 13. Potapov, V., Gushansky, S., Guzik, V., Polenov, M.: Architecture and software implementation of a quantum computer model. Advances in Intelligent Systems and Computing, vol. 465. pp. 59–68. Springer (2016)

The Preparation of Graphic Models for a Virtual Reality Application in Unity Pavel Pokorný1(B) and Michal Birošík2 1 Department of Computer and Communication Systems, Faculty of Applied Informatics,

Tomas Bata University in Zlín, Nad Stránˇemi 4511, 760 05 Zlín, Czech Republic [email protected] 2 Department of Informatics and Artificial Intelligence, Faculty of Applied Informatics, Tomas Bata University in Zlín, Nad Stránˇemi 4511, 760 05 Zlín, Czech Republic [email protected]

Abstract. Although Virtual Reality has existed for decades, it is currently experiencing a boom. This is mainly due to the new powerful hardware devices available to many people. Accompanying this greater availability, the fields of use are also currently expanding – medicine, military, business, engineering, education, entertainment, etc. The main purpose of Virtual Reality is to provide the user with a real-looking simulated environment, including interaction. Specialised developer software tools are used in order to create Virtual Reality applications that exploit suitable 3D graphics models. This paper deals with the creation and preparation of such graphical models - including textures, and the problems of the conversion process, to a developer application. Blender is used to create models and UV maps. The export of these models and UV maps from Blender is set up for easy implementation in the Substance Painter software, where the textures are drawn and later, into the Unity developer engine for Virtual Reality application. Keywords: Virtual Reality · Modelling · Visualisation

1 Introduction The term Virtual Reality is sometimes interpreted in different ways. Resource [1] defines it as “Immersive Computer-simulated Reality that creates a physical environment that does not exist”. Resource [2] mentions that “Virtual Reality is the computer-generated simulation of a 3D environment, which seems very real to the person experiencing it, using special electronic equipment”. This term can also be defined based on its purpose. The main objective is to achieve a strong sense of being present in the virtual environment [3]. It enables cognitive activities in the artificial, digitally-created world, which can be a simulation of many aspects of the real world [4]. The key elements of Virtual Reality are its participants, creators, virtual worlds, immersion and interactivity [3]. The participants are probably the most important element because the whole Virtual Reality experience happens in their mind. Each participant © Springer Nature Switzerland AG 2020 R. Silhavy (Ed.): CSOC 2020, AISC 1224, pp. 331–340, 2020. https://doi.org/10.1007/978-3-030-51965-0_29

332

P. Pokorný and M. Birošík

gains individual experiences that are given to creators, who design and implement the virtual reality application. A virtual world forms the content and exist solely in the mind of its originator - or is manifested in such a way that can be shared with others. Immersion means a perception of being physically present in a non-physical world. The user needs virtual interaction with the virtual environment in order to be able to feel fully immersed. Although Virtual Reality was previously generally associated only with the gaming industry, at the present it is amazingly applied in a wide variety of fields of human activities [5]. This includes robotics and engineering, (robots can be applied as an intuitive human user interface with virtual reality); training and education, (these can develop or increase skills without the real-world consequences of failing) [6]; architecture design, (to simulate buildings or whole cities); entertainment and leisure, (video games, cinema, music, virtual travel); medicine, (it can be used for some therapies) [7], and many more. Because the virtual reality world has to be very realistic-looking, this environment must be created carefully, thoroughly, consistently and greatly detailed. This includes high-poly 3D graphic models and high-resolution more-layered textures. All these entities are then imported into specialised developer software, where the final Virtual Reality application is created. This paper describes these actions. Section 2 presents the Virtual Reality technology in more detail. Section 3 contains more details about the software used. Section 4 describes the creation of 3D models and the preparation of “uv” maps for textures. The final section (Sect. 5), contains information about how to export uv maps and fast and easy texture creation in order to prepare them for use in a Virtual Reality application.

2 Virtual Reality Technology Virtual Reality has one main goal - to convince the user that they are located in a different environment than they really are. It mainly works on the principle of deceiving the human brain - through vision, and those parts of the brain that perceive movement. It is necessary to combine a number of technologies in order to create an illusion,. These technologies include stereoscopic displays, motion-tracking hardware, suitable input devices, and computing platforms. Without these technologies, it is not possible to achieve a fully immersive Virtual Reality Experience [9]. Stereoscopic displays (also known as head-mounted displays or headsets – an example is shown in Fig. 1), use a combination of special lenses, multiple images and realistic optical distortion to produce a stereo image that a human’s eyes interpret as having three-dimensional depth. Motion-tracking hardware includes accelerometers, gyroscopes and other components that can sense one’s body movements and head turns and this information is then provided to the application that can update the view into the 3D scene. Virtual Reality also uses these new types of input devices - including game controllers and hand and body sensors that can recognise basic motions and gestures. Computing platforms include computer hardware (desktop or mobile), operating systems - and various software packages that understand the interfaces of the above-mentioned devices and allow one to develop and run a Virtual Reality application. Technological advances made it possible to expand and divide Virtual Reality into four main categories - according to the use of hardware devices and components: desktop,

The Preparation of Graphic Models for a Virtual Reality Application

333

Fig. 1. An example of a Virtual Reality headset with input devices [8].

mobile, console and stand-alone. Desktop Virtual Reality refers to computer programmes - (on a powerful personal computer or laptop), that simulate a real or imaginary world and compute the output images. These images are then sent to the headset, which is connected to the computer. Nowadays, Mobile Virtual Reality is one of the most popular and widespread forms of (not only) entertainment, since it is highly accessible for anyone who has a smartphone. With this, one can use Virtual Reality anytime and anywhere. Console Virtual Reality is performed by means of a game console, which computes output images - (the Sony Playstation VR for example). Stand-alone Virtual Reality does not require any other computational hardware devices. Its headset has all such devices built-in (CPU, memory, hard-disk, GPU, displays, and more). In addition, these headsets have no connective cables, so users do not have limit themselves to a restricted space. Figure 1 shows an example of an Oculus Quest stand-alone Virtual Reality headset [8]. Virtual Reality Modelling language was developed in order to create Virtual Reality applications. Later, when the Web3D consortium was founded, WebVR technology was established - which provided support for Virtual Reality devices and allowed developers to create web applications. This technology has recently been replaced by WebXR which represents a group of standards that support the rendering of 3D scenes for most modern headsets. [10] Currently, Virtual Reality is also massively supported in modern software engines – like Unreal [11] or Unity [12].

334

P. Pokorný and M. Birošík

3 Software We need to use some software tools to prepare models for Virtual Reality applications. This chapter describes them briefly. The Blender software tool was used for 3D modelling and uv map preparation [13]. There are a lot of 3D software packages around. Blender was selected because we have a lot of experience with it and it offers a lot of benefits. It is a free and open source 3D creation suite. It supports the entirety of the 3D pipeline - modeling, rigging, animation, simulation, rendering, compositing and motion-tracking, video editing and a 2D animation pipeline. In all of above-mentioned fields, Blender offers a lot of sophisticated tools that can be further extended via plug-in modules and, in addition, a customisable interface (Fig. 2), significant upgrades, workflow speed and very quick launch speed [14].

Fig. 2. The Blender 2.80 interface

Textures were created in Substance Painter [15]. This tool encapsulates all of the necessary commands for texturing 3D assets. It performs real-time painting in 3D space using smart brushes, projection tools - and even particles, supports smart materials and smart masks that are adapted to user’s models, extracting and baking any material from any 3D object with a GPU accelerated baker, fast renderer, imports assets from many commonly-used graphic formats and exports them to any game engine [16]. Although the development a Virtual Reality application is not the main subject of this paper, some knowledge of the development environment for this application is needed in order to ensure that 3D models are best prepared for easy import. The Unity engine [12] was selected for Virtual Reality development. Unity provides an excellent entry point into game and 3D application development, balancing features and functionality with price. The free version of Unity allows people to experiment, learn, develop, and sell games before committing any of their hard-earned money. Unity’s very affordable, featurepacked, Pro version is royalty free, allowing people to make and sell games and other

The Preparation of Graphic Models for a Virtual Reality Application

335

applications with the very low overheads essential to the casual games market. With its huge user community, Unity removes the elitist separation between programmers, artists, and game designers that is typical of high-priced game engines. It makes it possible for anyone to take the first step in bringing their ideas to life [17].

Fig. 3. An example of a 3D model with highlighted normal vectors on faces

4 3D Model Preparation We tried to follow the basic rules for common 3D model creation in the modelling phase in Blender - considering the type and use of these models in third generation applications. This chapter describes these rules, the modelling process and uv map creation methods. 4.1 Modelling All models were created using polygonal representation. This means a collection of vertices, edges and faces that define the geometric shape of an object. The face topology can be represented by triangles (three-sided polygons), quads (four-sided polygons), or N-gons (polygons having more than four sides). The choice depends on the purpose of the prepared 3D models – if the model is going to be used for animation or deformation (then the preference is to use quads), or if it is to be a static model (then, it is possible to use triangles). We avoid the use of common N-gons, since they can cause technical complications in the future; for example, when exporting from one software package to

336

P. Pokorný and M. Birošík

another, or when they are subdivided. Since we expect to use models and their parts for interaction, animation and transformation, the preference is to use quad topology. For model creation, we used the so-called box modelling technique. Box modelling is a technique, where primitive shapes are used at the beginning (Circles, Planes, Cubes, Tubes, Spheres, etc.), these objects are then shaped to the final model using modelling tools. We used the default Blender user interface setting in the modelling phase. The 3D scene appearance can be set to represent perspective or an orthographic look. The Orthographic look was set, because the same metrics are shown for all dimensions and this property is very suitable for modelling the final shapes. Blender offers many editing, transformation and modelling tools and these tools can be used in Object or Edit Mode. These names suggest their uses – the Object Mode is designed for working with whole object models - whereas the Object Mode is intended for work with any part of a selected object. In the Edit Mode, one can therefore work directly with any vertices, edges or faces, edit or transform them and/or, use other modelling tools. These tools often generate new vertices, edges and faces, so they allow one to make more detailed and better shaped models. Extrude, Subdivide, Bevel, Loop Cut, Knife or Insert Face are examples of these tools [14]. An example of the modelling phase is shown in Fig. 3. In case we needed a rounded shape, Blender does this by performing the Sculpt Mode. This mode is used for shape forming, using different brushes that do not work directly with vertices, edges and faces like other tools. The Brushes manipulate an object´s whole geometry in the brush´s region of influence, and shapes it dependent on the Brush type and its set parameters. 4.2 UV Maps When the shapes of the mesh models have been created, the UV mapping phase begins. The main goal in this phase is to make UV maps for all of them and their entire faces. The UV mapping process defines how to display any 2D image files on the faces of 3D models. This process is usually reversed – 3D models are processed into component parts and shown in 2D images. These images are called UV maps and displays, where the texture must be painted in order to correctly be displayed on the models´ surfaces. There are more ways regarding ways to make UV maps in Blender [14]. We preferred to use edge selection where the faces must be ripped in order to obtain a 2D image. These edges are determined, selected and then marked as so-called “seams”, (this operation is performed using the Mark Seam command in Blender). After the edges are marked, the Unwrap command will create the uv map. Another way, (without seams marking) was used to separate more complex models into several independent objects - (this is performed in Blender using the Separate command), and then by running the Smart UV Project command, which ensures the generation of seams and UV maps automatically. The Smart UV Project cannot be successfully used for complex-shaped models since it often depicts wrong edges as a seam- and the uv map then has an unnecessarily complicated appearance.

The Preparation of Graphic Models for a Virtual Reality Application

337

Because some shapes are often repeated, it is possible to save work and time through UV map creation. Only one UV map was made in these cases and the UV map was then applied - (duplicated), to all other identical shapes or models. The important thing regarding UV maps is to use image space effectively in order to obtain the highest possible texture quality, the uv map should cover the image area to the greatest extent possible. Figure 4 depicts an example of a created uv map.

Fig. 4. An example uv map for the model shown in Fig. 3.

5 Exporting and Texturing When the modeling and UV map were complete, all created assets were exported from Blender into the Substance Painter software package. The models were exported by means of the.fbx graphic format and uv maps were exported in .tiff graphic format with a 1024 × 1024 pixel resolution. FBX was designed as a 3D asset exchange format that facilitates higher-fidelity data exchange between many 3D graphic software packages - including Blender, Substance Painter and Unity and other platforms (including mobile devices) [18]. When exporting 3D models from Blender to the.fbx file format, one obtains the dialogue window shown in Fig. 5. In order to obtain correct conversion, one should know the differences of 3D scene interpretation between the Blender and Substance Painter (Unity) suites [19]. The first thing is to export only pure models (i.e. no cameras, lamps, armatures and others object types). The second thing is that Blender and Substance Painter (Unity) use different coordinate systems (the Z and Y axis are flipped). So in order to transform coordinate work in these applications, the Apply Transform button must be enabled.

338

P. Pokorný and M. Birošík

Fig. 5. The FBX export dialogue in Blender

5.1 Texturing All textures were drawn in the Substance Painter application. We used the Relief Mapping technique because it performs accurate and effective renderings of the surface detail of 3D objects. Relief Mapping included Projection Painting (the combination of multiple projectors together on a surface for creating details); Colour Map Creation (to define the base diffuse colour of materials) ;and Bump Mapping (a technique for simulating bumps and wrinkles on the surface of objects without having geometric details). An example of a mapped Bump Map on the surface of an object is shown in Fig. 6. They were separated into multiple layers depending on texture effects, (e.g. colours, bumps, transparency, gloss, etc.). And then the final appearance of the surface was specified by a combination of multiple layers of materials or textures using the Mask Map tool. This allows one to specify which texture is drawn on which part of the surface using black - (the invisible part of a texture), or white colour - (the visible part of a texture). Using a mask map is a very flexible and non-destructive way to work with textures because it allows one to change the surfaces’ appearance without actually modifying the maps themselves [14]. After creating all of the textures for the 3D model, only one step remains – the export of all of these textures into the Unity engine. First of all, the texture resolution was changed. The UV maps had 1024 × 1024 pixel resolution and this was increased to 4096 × 4096 pixels in order to obtain very high-quality 3D objects later, in the Virtual Reality application. Other texture optimisation for Unity is automatic – the Export Textures command displays a window with export configuration settings. One possible choice is Unity 5. By selecting this, all textures were automatic optimised for this software. The output texture format was set to .tiff.

The Preparation of Graphic Models for a Virtual Reality Application

339

Fig. 6. A Bump texture mapped on an object´s surface in Substance Painter

6 Conclusion Virtual Reality is currently a “hot” topic. This technology is closely linked to specific executive hardware and offers many advantages - like interaction with realistic-looking scenarios where is possible to try impossible or difficult-to-implement situations and environments in real life, in communicating with other people in the selected area, or convenience for one’s own work. Since Virtual Reality requires high-quality 3D models with textures, this paper sets out to describe how to prepare them. This process began with models - and their UV maps creation in specialised software packages, (this paper describes Blender). After making the model and UV maps, the texturing phase started - this was done in the Substance Painter software. The last step was to export all of the completed models and textures to a developer software package where the Virtual Reality application is programmed – we assume the use of the Unity engine. In order to practically exploit the acquired experience, our next task will be to use them for Virtual Reality application creation. The aim is to develop an application that can be practically used for new employee training process in industrial companies.

References 1. Mealy, P.: Virtual & Augmented Reality for Dummies, 1st edn. Wiley, Hoboken (2018). ISBN 978-1-119-48134-8 2. Linowes, J.: Unity Virtual Reality Projects, 2nd edn. Packt Publishing, Birmingham (2018). ISBN 978-1-78847-880-9 3. Sherman, W.R., Craig, A.B.: Understanding Virtual Reality: Interface, Application and Design. Morgan Kaufmann, Cambridge (2019). ISBN 978-0-12-818399-1

340

P. Pokorný and M. Birošík

4. Wexelblat, A.: Virtual Reality Applications and Explorations. Academic Press, Cambridge (2014). ISBN 978-1-48320-712-9 5. Garbade, M.: 10 Amazing Uses of Virtual Reality. https://readwrite.com/2018/11/08/10-ama zing-uses-of-virtual-reality/. Accessed 18 Jan 2020 6. Peters, C., Postlethwaite, D., Wallace, M.W.: Systems and methods providing enhanced education and training in a virtual reality environment. U.S. Patent No 9, 280, 913 (2016) 7. Moro, C., Štromberga, Z., Raikos, A., Stirling, A.: The effectiveness of virtual and augmented reality in health sciences and medical anatomy. Anat. Sci. Educ. 10(6), 549–559 (2017) 8. Oculus Quest. https://www.oculus.com/quest/. Accessed 18 Jan 2020 9. Parisi, T.: Learning Virtual Reality, 1st edn. O’Reilly Media Inc, Sebastopol (2015). ISBN 978-1-491-92283-5 10. WebXR Device API. https://developer.mozilla.org/en-US/docs/Web/API/WebXR_Device _API. Accessed 18 Jan 2020 11. Unreal Engine. https://www.unrealengine.com/en-US/. Accessed 18 Jan 2020 12. Unity Real-Time Development Platform. https://unity.com/. Accessed 18 Jan 2020 13. Blender.org – Home of the Blender project. https://www.blender.org/. Accessed 18 Jan 2020 14. Guevarra, E.T.M.: Modeling and Animation Using Blender: Blender 2.80: The Rise of Eevee, 1st edn. Apress, New York (2020). ISBN 978-1-4842-5339-7 15. Substance Painter. https://www.substance3d.com/products/substance-painter/. Accessed 18 Jan 2020 16. Toudou: Substance Painter for Blender User, 1st edn. Amazon.com Services LLC (2017) 17. Blackman, S.: Unity for Absolute Beginners, 1st edn. Apress, New York (2014). ISBN 9781-4302-6779-9 18. FBX – Adaptable File Formats for 3D Animation Software. https://www.autodesk.com/pro ducts/fbx/overview. Accessed 18 Jan 2020 19. How to import Blender models into Unity. https://gamedevacademy.org/how-to-import-ble nder-models-into-unity-your-one-stop-guide/. Accessed 18 Jan 2020

An Application for Solving Truth Functions Pavel Pokorný1(B) and Daniel Ševˇcík2 1 Department of Computer and Communication Systems, Faculty of Applied Informatics,

Tomas Bata University in Zlín, Nad Stránˇemi 4511, 760 05 Zlín, Czech Republic [email protected] 2 Department of Automation and Control Engineering, Faculty of Applied Informatics, Tomas Bata University in Zlín, Nad Stránˇemi 4511, 760 05 Zlín, Czech Republic [email protected]

Abstract. Nowadays, many technical devices are controlled by logic circuits. These circuits evaluate the situation based on the proposed truth functions, which they then use to perform one of the defined actions. In line with the increasing complexity of individual technical devices, the logic circuits and truth functions are also increasingly complex. For this reason, it makes sense to minimise these functions since they can thereby achieve a simpler technological process and the higher reliability of whole logic systems. This paper describes the Karnaugh Studio application, which resolves the minimisation of these truth functions - and was developed at our faculty (FAI, TBU in Zlín). The minimisation is performed using the Karnaugh Map Method - with support for up to eight variables on input. The application is based on the C++ programming language and the Dear ImGui and Magick++ libraries. Its functionality has been verified on a number of examples. This proved its applicability and ability to be used in the solution of logic circuits in industrial practice. Keywords: Minimisation · Truth function · Boolean function

1 Introduction Human beings usually perform arithmetic operations using the decimal number system, - but, by comparison, a digital machine, (for example a computer), is inherently binary in nature and its numerical calculations are executed using a binary number system [1]. In a computer, the input is given with the help of switches. This is then converted into electronic signals, which always have two distinct discrete levels or values – a high level and low level. As long as the signal is within a pre-specified range of high and low, the actual value of the signal is not that important. Such signals are called digital signals and the circuit within the device is called a digital circuit. These concepts are examples of a digital system and they can be applied in computers, telephony, radar navigation, data-processing, and many other applications [2, 3]. A digital logic system may well have a numerical computation capability as well as its inherent logical capability and consequently, it must be able to implement the four basic arithmetic processes of addition, subtraction, multiplication and division [1]. © Springer Nature Switzerland AG 2020 R. Silhavy (Ed.): CSOC 2020, AISC 1224, pp. 341–351, 2020. https://doi.org/10.1007/978-3-030-51965-0_30

342

P. Pokorný and D. Ševˇcík

These digital systems are usually made up of large assemblies of logic gates, which are often printed on integrated circuits, and controlled by truth (logic) functions. Truth functions are functions that accept truth values as input and produce one truth value as output. Boolean Algebra is a mathematical system that forms the base for these operations. Boolean Algebra uses three basic logic operations – NOT, AND, OR. The NOT operator takes a single output and generates one output – it inverts the input value. The AND operator of two variables as input generates 1 as output if both of the variables are 1. The OR of two variables as input generates 1 as output if either - or both, of the variables are 1. In addition, one other function is required for arithmetic-related operations – XOR (the exclusive OR). The XOR of two variables as input generates 1 as output if either of them - but not both, is 1 [1]. A Boolean function consists of a number of Boolean variables joined by the Boolean connectives AND and OR. These functions can be represented by a Truth Table. The true table contains a row for every combination of the input logic values and prescribes the output value of the function for each of these combinations. One of the main objectives of engineers when designing discrete gates is to keep the number of gates to a minimum when the Boolean function is implemented. A Karnaugh Map represents an easy method of simplification – with the help of a number of simple rules, it allows one to reduce the Boolean function to its minimal form. Karnaugh maps correspond to the Truth Table - as Fig. 1 illustrates. The values inside the squares are copied from the output column of the Truth Table – there is one square in the map for every row in the Truth Table.

Fig. 1. The Truth Table (left) and their Karnaugh Map (right) for four input variables

This paper describes the application that resolves the minimisation of the described truth functions, using the Karnaugh Map method. Section 2 describes minimisation

An Application for Solving Truth Functions

343

methods of truth functions. Section 3 contains the developer application information – selected the appropriate programming language and the libraries used. More details like application possibilities, the implementation of the minimisation algorithm and the application user interface are mentioned in Sect. 4.

2 Truth Function Minimisation Using Karnaugh Maps Before we describe basic rules for truth function minimisation using Karnaugh maps, it would be good to mention the advantages and disadvantages of these maps. The advantages include simplification for a small amount of input variables and always results in minimum expression if performed properly, prevention of the need to remember each and every Boolean algebraic theorem, and the involvement of fewer steps than the algebraic minimisation technique to arrive at a simplified expression. Among its disadvantages however, are the complicated solution process as the number of input variables increases and the minimum logical expression may - or may not, be unique depending on the choices made while forming the groups [4]. The number of cells in the Karnaugh Map is expressed as two raised to the power of the number of input variables, i.e. with two inputs, we have four cells, with four input-value sixteen cells are necessary, and so on [5]. The main key to using Karnaugh Maps to find truth function minimisation identify “groups” of 1’s (and no 0’s) or groups of 0’s (and no 1’s) on these maps. A valid group must be a “power of 2” size - (meaning that only groups of 1, 2, 4, 8, or 16 are allowed), and it must be a square or rectangle - but not a dogleg, diagonal or other irregular shape. According to the specified group, each ‘1’ or each ‘0’ must participate in at least one group, and each ‘1’ or each ‘0’ must be in the largest possible group. The requirement that all 1’s (or 0’s) are grouped in the largest possible group may mean that some 1’s (or 0’s) are part of several groups [6]. In practice, loops are drawn on a K-map to encircle the 1’s (or 0’s) in a given group. Once all 1’s (or 0’s) in a map have been grouped in the largest possible loops, the grouping process is complete and a logic equation can be read directly from the Karnaugh Map. If the procedure is performed correctly, a minimal logic equation is guaranteed. As mentioned above, the minimisation algorithm can have two forms. The Sum-of -Products form if we select group 1’s (and no 0’s), and the Product-of-Sum form if we select group 0’s (and no 1’s) [7]. Using the Sum-of-Products form, the variables are operated by AND (product) to form a product term and all these product terms are ORed (summed or added together) to get the final function. The Sum-of-Products form is also called the Disjunctive Normal Form and is most suitable one to use in FGPA (Field Programmable Gate Arrays). The Product-of-Sum means that all the variables are ORed, i.e. written as sums to form sum terms. All these sum terms are ANDed (multiplied) together to get the productof-sum form. This form is exactly the opposite to the Sum-of-Products form and is also called the Conjunctive Normal Form.

344

P. Pokorný and D. Ševˇcík

3 Developer Tools Used The C++ programming language was used to develop an application that resolves truth function minimisation. This language was chosen based on personal experience and a number of benefits that it offers. C++ is an open ISO-standardised compiled language. It compiles directly into a machine’s native code, allowing it to be one of the fastest languages in the world, if optimised. C++ is a language that is directly built on C language and is compatible with almost all C code. C++ can use C libraries with few to no modifications of the libraries’ code. C++ has a wide range of compilers that run on many different platforms that support it [8]. C++ is a language that expects the programmer to know what they are doing, but also allows the programmer to have incredible amounts of control as a result. As for the latest C++ standard, C++ supports both manifest and inferred typing, allowing flexibility and a means of avoiding verbosity where desired. C++ allows one-type conversions to be checked either at run-time or at compile-time – again, offering another degree of flexibility. Most C++ type checking is however, static. C++ offers remarkable support for procedural, generic, and object-oriented programming paradigms, with many other paradigms being possible as well [9]. Applications developed in the C++ language can use thousands of additional libraries that will run on many platforms with few to no changes. One of the most used is the Standard Template Library (STL) - which we used in our application. STL is a set of C++ template classes that provide common programming data structures and functions like lists, stacks, arrays, etc. It is a library of container classes, algorithms, and iterators. It is a generalised library and so, its components are parameterised. STL has four components [10]: • Algorithms – a collection of functions especially designed to be used on ranges of elements (sorting, searching, useful array algorithms …). • Containers – these store objects and data (sequence containers, associative containers, container adaptors and unordered associative containers). • Functions – classes that overload the function call operator. They allow the working of the associated function to be customised with the help of parameters to be passed. • Iterators – are used to point at the memory addresses of STL containers. Iterators are primarily used in number or character sequences and reduce the complexity and execution time of the programme. Another library we used was Dear ImGui [11]. Dear ImGui is a bloat-free graphical user interface library for the C++ language. It is fast, portable, renderer agnostic and selfcontained - (no external dependencies). ImGui is designed to enable fast iteration and empower programmers to create content creation tools and visualisation/debugging tools (as opposed to UI for the average end-user). It favours simplicity and productivity toward this end, and thus lacks certain features normally found in more high-level libraries [12]. We used this library in order to make the user interface in our application. Magick++ was the last library we used. It represents a free object-oriented C++ API and provides integrated support for the Standard Template Library. It’s primarily use is for creating, editing, composing and converting bitmap images. It supports a variety of

An Application for Solving Truth Functions

345

Fig. 2. A manually set truth table in the Karnaugh Studio

graphic formats (over 200), including the most commonly used - for reading and writing [13]. This library was used to work with bitmap images in our application.

4 An Application The truth function minimisation application is called the Karnaugh Studio. Its purpose is to perform both manual and fully automatic minimisation on up to 32 functions in a single project, with a maximum of eight input variables. The user interface is designed as fully graphical, simple, intuitive, and fully customisable. One can set layout, colour scheme, captions, and other properties for the truth table and generated Karnaugh maps. In order to process project and configuration files, Karnaugh Studio uses the JSON file format. The application is free for use and can be download from the internet [14]. The user can set input with three methods. They can fill the truth table by hand (Fig. 2); import it from the CSV file; or define the functions using the Sum-of-Products sums form or the Product-of-Sum form. When the table is set, one or more Karnaugh maps are automatically displayed in dependency of the input parameters. After that, the user can make groups of 1’s or 0’s manually using an automatic algorithm - described in Sect. 4.1. The same algorithm minimisation displays the results. In addition, the counted results can also be exported, validated and saved in a wide variety of formats - including many programming and mark-up languages (C/C++/C#/Java, Python, LaTeX, etc.). The truth table and Karnaugh maps can also be exported as either rasters (PNG, JPEG, TIFF, BMP) or vectors (SVG) image. 4.1 The Minimisation Algorithm The Minimisation algorithm is composed of four steps: minimisation group creation, additional minimisation, generating expressions, and expression validation. During the minimisation group creation process, it is very important to select the correct Karnaugh map creation method for functions with more than four input variables. Complications can be expected since the application supports up to eight input variables. Due to this - the most practical option was implemented. This divides data into

346

P. Pokorný and D. Ševˇcík

several completely independent maps. The number of maps depends on the number of input variables. A single Karnaugh map is used for up to four input variables. The application generates two maps for five input variables; four maps for six variables (Fig. 3); eight maps for seven variables; and sixteen maps for eight input variables. This division makes possible the application of the same algorithm to each map separately - regardless of the total number of input variables and other maps.

Fig. 3. An example of Karnaugh maps for 6 input variables and minimisation results

The algorithm starts by creating all valid minimisation group combinations for each Karnaugh map separately. A basic group is created for each element in which the logical one is located - from which, all possible combinations are gradually obtained by recursively extending them in all directions. When the groups are created, only an appropriate number of them are selected, based on several criteria. First of all, is necessary to remove duplicated groups in order to avoid unnecessary processing. After obtaining

An Application for Solving Truth Functions

347

all unique groups, it is necessary to combine identical groups across multiple maps into one element and mark them on the maps on which they are located. The selection of minimisation groups from all those on offer is the most important step of the whole process. Deciding which group to use - or not to use, is based on two criteria. The main criterion represents the addition of elements on all maps where the group can be located. This addition means that the number of all fields not yet included containing a truth value of one, would be newly included if used. The second criterion is activated only when two or more groups with the same addition are found. Here, it is necessary to select one of them on the basis of its size, multiplied by the number of maps on which it is located. Then, all connected and pre-sorted loops are separated for each map on which they are located. This step is implemented for ease of manipulation in the case of manual minimisation. When all the necessary minimisation loops have been created, it is then necessary to create a functional form - in order to later be able to apply the basic rules of Boolean Algebra. The first step is to apply the basic rules of Boolean Algebra. It is not necessary to include more complicated rules in the form of De Morgan’s Laws since the aim is to improve the previously obtained results of the minimised Karnaugh map method. It is still necessary to take into account that one can carry out the minimisation manually and thus, create certain backlogs. Primarily, all duplicate elements need to be removed. This is followed by the removal of all of the variables in the list of sub-expressions; in both normal and negated forms – thus applying the Third Exclusion Law. The most important feature of the whole algorithm in this phase is the ability to set variables for further recursive minimisation - thereby further minimising the functional form. The penultimate step of the whole minimisation process is to generate a textual depiction of its resulting expression. This is based on the user-selected output format, given by a set of text strings which define the shape of the elementary constructions in the forms of conjunction, disjunction, equality - and others. The expression validation represents the final part of the minimisation algorithm. This phase checks if the generated expression is complete and corresponds to a specified function by its truth values, which should be reliably replaced. Validation´s greatest importance lies in the ability to notify the user of an incomplete manual minimisation result. However, this phase is also important for the development and subsequent testing of the minimisation algorithm. Validation occurs every time the output expression is built -, even when minimisation results are exported to a file; but, it is possible to deactivate this validation in order to save time. It is a relatively time-consuming process whose activity consists in the gradual reconstruction of truth values from the created expression and their comparison with the original function values. 4.2 The Application Interface When a user starts Karnaugh Studio, the welcome screen is rendered. Its purpose is to speed up access to the most common operations that a user normally performs after startup. The most useful feature is to be able to quickly load one’s recently edited projects. Their list is located on the right-hand side of the window, and consists of up to five items. Each of them in the form of a button bearing the name and complete path to the project

348

P. Pokorný and D. Ševˇcík

file. Clicking on this will immediately load the selected project. Other window elements include buttons to load an existing project from a file, or to create a new project, or to restore a previous session that puts the programme in the state that the user left it in at the last exit. The main application window is displayed when the user creates a new project or opens an existing project. This is shown in Fig. 4.

Fig. 4. The Karnaugh Studio user interface

Above the placed main text menu is an integral part of almost every desktop application. Using it, the user can perform a variety of activities, whether working with the project or user interface windows, performing auto minimisation - or anything else. Most of these actions are assigned to hotkeys that can be used to invoke the action without requiring the user to enter the main menu. The menu is divided into six clearly defined submenus: File, Edit, View, Minimise, Preferences and Help. The toolbar is located directly below the main menu. It consists of a set of icons and other elements that provide quick access to selected Main Menu actions. First of all, there are three project management icons. These are used to create a new project, load one from a file - or save an existing one. Undo and Redo edit command icons are located on the right. The following command represents a choice between the Sum-ofProducts and Product-of-Sum forms minimisation solution. The last element is a button that performs automatic minimisation. This can be done - either for all functions at the

An Application for Solving Truth Functions

349

same time, or only for an active one. It is possible to switch between these modes by the last arrow-shaped button. The Project Explorer window - (Fig. 2, left), is located on the left, and is one of the most important elements of the user interface. The only alternative for setting these parameters is to import the contents of the truth table from any CSV file. Here, it is possible to set up the most basic project properties – variables - (input values settings), and functions - (number of outputs, their names and limits). The Groups window can be found under Project Explorer - which offers two different display modes. When a none group is created it describes basic instructions about how to create the first group. But this window primarily provides an overview of all existing minimisation groups in Karnaugh maps (Fig. 5). The current number of groups is visible at the top of the window. At the bottom, users can find a button to delete all groups at once. The central part of the window contains the list of created groups. Each group has its own name, based on input values, and has three properties. These are deleted, locked or invisible.

Fig. 5. The Groups window

The Table View window (Fig. 2, right) is located to the right of Project Explorer. It provides a visual design of the project truth table. It represents an intuitive way for manually setting truth functions. This can be done by clicking the left-mouse button; this changes the output value in the cycle zero-one-indeterminate state – or, by right clicking the mouse button and selecting the required value from the displayed list. The Map View window, (Fig. 3 above), is in the centre of the application window. The Karnaugh map is displayed here - and automatically updated based on output values, set in the Table View window. Additionally, the manual design and modifications of minimisation groups is only possible in this window. Manual design is performed in a simple way. A group can be created by double-clicking on any field, or by selecting multiple elements at the same time. However, it must always be true that at least one of the cells be - (the Sum-of-Products form), or if false, at least one of the (the Product-ofSum form) cells. If it is not possible to create a group exactly matching the selection, a group is created with the most ideal coverage of the map elements inside the selection.

350

P. Pokorný and D. Ševˇcík

When the selection is complete, it is saved to the top of the active group list and is automatically assigned one of the predefined colour sets. Using the Minimisation Results window, (Fig. 3, below) - Under Map View, the user can find the results of the minimisation algorithm in the selected output format. The result is displayed using a multiline text field, set to read-only. In the upper part of this window, users can observe the validation status of the generated expression. If incomplete or incorrect for any other reason, the user is notified by a red warning text. Otherwise, the text confirms the correct result. The last window is called Properties, and is positioned on the right-hand side of the application’s interface. Using this, the user can set various settings for other windows – for example, visibilities, colours, headers, labels, grids, etc. Its content changes depend on the last active window of the three supported - Table View, Map View and Minimisation Results. Changes are immediately reflected in the active windows. The Properties window appearance for the Map View window is shown in Fig. 6.

Fig. 6. The Properties window with settings for the Map View window

5 Conclusion This paper describes the design and implementation of the Karnaugh Studio desktop application, which performs the minimisation of truth functions. The practical use of this application is in the field of design of truth functions and circuits, the optimisation of control systems - and last but not least, the academic sphere in support of teaching minimisation logic functions. The Karnaugh map method is used as the algorithm for minimisation and to create application supports up to eight variables on input. The application also offers the possibility to perform the entire minimisation process automatically, or manually. In addition, Karnaugh Studio can export a number of graphic and text file formats, including programming languages commonly used in the developer company industry. The aim is to further expand Karnaugh Studio with new features in the future. To add the ability to process an input function in any text format or to perform automatic

An Application for Solving Truth Functions

351

minimisation in real-time, while making changes inside the truth table. Another improvement may be to increase the visual quality of the graphical representation of the result of the minimisation process and to increase the possibilities of its graphic export. These visions would allow us a wider implementation of the application in practice.

References 1. Holdsworth, B., Woods, C.: Digital Logic Design, 4th edn. Newnes (2002). ISBN 978-0750645-82-9 2. Saha, A., Manna, N.: Digital Principles and Logic Design. Laxmi Publications (2007). ISBN 978-1-934015-03-2 3. Rafiquzzaman, M.: Fundamentals of Digital Logic and Microcomputer Design, 5th edn. Wiley-Interscience, Hoboken (2005). ISBN 978-0-471727-84-2 4. The Karnaugh Map Boolean Algebraic Simplification Technique. https://www.allaboutc ircuits.com/technical-articles/karnaugh-map-boolean-algebraic-simplification-technique/. Accessed 18 Jan 2020 5. Prasad, V.C.: Generalized Karnaugh Map method for Boolean functions of many variables. IETE J. Educ. 58(1), 11–19 (2017) 6. Learn Digilentinc – Logic Minimization. https://learn.digilentinc.com/Documents/319. Accessed 18 Jan 2020 7. Boolean Functions (SOP, POS forms). https://www.electronicshub.org/boolean-logic-sopform-pos-form/. Accessed 18 Jan 2020 8. Cplusplus.com – The C++ Resources Network. http://www.cplusplus.com/. Accessed 18 Jan 2020 9. Lippman, S.B., Lajoie, J., Moo, B.E.: C++ Primer, 5th edn. Addison-Wesley Professional, Boston (2012). ISBN 978-0-321714-11-4 10. The C++ Standard Template library. https://www.geeksforgeeks.org/the-c-standard-templatelibrary-stl/. Accessed 18 Jan 2020 11. GitHub - ocornut/imgui: Dear ImGui: Bloat-free Immediate Mode Graphical User interface for C++ with minimal dependencies. https://github.com/ocornut/imgui. Accessed 18 Jan 2020 12. Dear imgui. https://skia.googlesource.com/external/github.com/ocornut/imgui/+/v1.51/REA DME.md. Accessed 18 Jan 2020 13. Magick++ API. https://imagemagick.org/Magick++/. Accessed 18 Jan 2020 14. Karnaugh Studio. https://sevcikdaniel.github.io/karnaugh-studio/. Accessed 18 Jan 2020

Factors Influencing Acceptance of Technology by Senior Citizens: A Systematic Review Adibah Hanun Abu Seman(B) , Rohiza Ahmad, and Hitham Seddig Alhassan Alhussian Universiti Teknologi PETRONAS, 32610, Seri Iskandar, Perak, Malaysia {adibah_17008787,rohiza_ahmad,seddig.alhussian}@utp.edu.my

Abstract. People are living much longer worldwide than they were two decades ago. Life expectancy has been increasing since the early twentieth centuries [1]. As a consequence, senior citizen population in the nations also increase. However, fewer elderly lives with their children than they did in the past. This concern was raised up and resulting in the development of the high technology devices, equipment and applications that aid and improve their quality of life. Despite of the improvement that have been developed, it has been found that technology acceptance, and thus technology adoption, is relatively low among senior citizens to compare with younger adults. Therefore, a systematic literature review was performed to identify the factors influencing acceptance of technology by these populations and the research models used to measure them. Many research papers from different databases have been reviewed on basis of inclusion and exclusion criteria. The review identified ten factors influencing acceptance of technology and ten research models used in measuring the factors. The findings of this research are the work of researchers that will be beneficial for those who are interested in finding interesting area of research in this field. Keywords: Acceptance of technology · Senior citizens · Elderly · Technology acceptance · Systematic review

1 Introduction People are living much longer worldwide than they were two decades ago. According to a study by [1], life expectancy at the age of 60 years has increased since the early twentieth centuries in high-income countries. A recent study by [2] which analyzed demographic data of 35 countries all over the globe, further concluded that life expectancy is expected to rise in all of the analysed countries with a probability of at least 65% increment for women and 85% for men. The findings were attributed to the improvements in education and medication which saw the decrease of death rates in those countries. Due to the increase in the senior citizen population worldwide, new technologies including mobile applications have been introduced to improve their quality of life. Therefore, technology is expected to enable this population to live independently. Despite of these efforts, being a population that grew up when Information Technology (IT) was © Springer Nature Switzerland AG 2020 R. Silhavy (Ed.): CSOC 2020, AISC 1224, pp. 352–365, 2020. https://doi.org/10.1007/978-3-030-51965-0_31

Factors Influencing Acceptance of Technology

353

not common, senior citizens are more likely to encounter complications in understanding and using the technological gadgetries or applications. This can be proven by a study conducted by [3] which stated that technology acceptance, and thus technology adoption, is relatively low among senior citizens to be compared with younger adults. Regardless of this low technology acceptance by these elderlies, they are aware of the benefit and usefulness of technology and are motivated to learn to use them. This means that this community can accept technology very well, but there are many factors that are affecting their technology acceptance. This claim can be supported by a research by [4] as they concluded that the senior citizens are willing to use technology if they find it easy and useful for them to learn and understand. Therefore, in order to find the solutions and improve the senior citizens’ technology acceptance, it is crucial to identify the possible factors. The aim of this paper is to conduct a systematic review on the factors influencing acceptance of technology by senior citizens. Particularly, the review is expected to answer the below research questions: 1. What are the factors influencing the technology acceptance by senior citizens? 2. What are the research models used in measuring the factors? The paper is organized as follows: Sect. 2 emphases on past related works. Then, Sect. 3 focuses on research method and the factors influencing acceptance of technology by senior citizens found from the literature are then discussed in Sect. 4. The final section outlines the conclusion.

2 Related Work In the software engineering research literature, there are a few examples of reviews on technology acceptance by senior citizens, as (summarised in Table 1). Peek et al. [5] conducted a systematic review to focus on the factors influencing the acceptance of technologies that support aging in place by community-dwelling senior citizens considering their concerns regarding technology, benefits of expected of technology, alternatives to technology, social influence and the characteristics of older adults. This study has found 27 factors influencing their acceptance and the factors were then divided into six themes: concerns regarding technology (e.g., high cost, privacy implications and usability factors), expected benefits of technology (e.g., increased safety and perceived usefulness); need for technology (e.g., perceived need and subjective health status); alternatives to technology (e.g., help by family or spouse), social influence (e.g., influence of family, friends and professional caregivers); and characteristics of older adults (e.g., desire to age in place). Mostaghel [6] examined the factors in elders’ lives and the impacts and costs of elders’ innovative technology adoption, covering all electrical, technical and mechanical means that improves the everyday life of elderly. This study also measured the seniors’ attitudes toward technology from various areas such as health care, rehabilitation, or from web designers and software developers. The findings of this study suggested to further investigate the adoption of senior citizens within different age groups.

354

A. H. Abu Seman et al. Table 1. Related work.

No.

Authors

Goals

Research questions/research goals

1

Peek et al. [5]

Review of factors that can facilitate the implementation of technology for senior citizens, providing guidelines for further technology acceptance research within this target group

RQ1: Which factors influence the acceptance of different types of technology for aging in place by community-dwelling older adults? RQ2: How do these factors differ between the pre-implementation stage and the post-implementation stage?

2

Mostaghel [6]

Review of academic research focusing on the elderly and technology tools in Sweden

RG1: To identify the major actors and the impacts and costs of elders’ innovative technology adoption by reviewing and synthesizing the existing research

3

Farshchian [7]

Create an acceptance model that can be used as a map for technology developers and service providers

RQ1: What empirical evidence from qualitative research do we have regarding the acceptance of health-related ICT among elderly people living in the community?

4

Fischer et al. [8]

Review of the use and acceptance of information technology for health among the elderly

RG1: To explore the use and acceptance of information technology for health among the elderly by reviewing the existing literature

5

Yusif et al. [9]

Review of barriers to the assistive technologies (ATs) adoption by older adults

RG1: To review the main barriers to the adoption of assistive technologies (ATs) by older adults in order to uncover issues of concern from empirical studies and to arrange these issues from the most critical to the least critical

Farshchian [7] conducted a review on the acceptance of ICT among senior citizens users which included only qualitative studies. This study used UTAUT2 as a framework to present and review on their findings and also proposed a specialization of UTAUT2 to make it more useful in health area. According to this study, the findings show that the senior citizens prefer technologies that gives them independence, safety and security, allows them to socialize, manage their own health, and helps them in their daily activities. Besides that, if they were to have problems, they need to be able to easily get help during the usage and get training. Their findings provide researches with an up-to-date outline and status of how the older adults’ view on technology. Fischer et al. [8] explored the use and acceptance of IT focusing on health-related technologies and concluded that this population face many barriers, including issues

Factors Influencing Acceptance of Technology

355

with familiarity, willingness to ask for help, confidence of the technology, privacy, and design challenges. Besides that, this study also provides recommendations on how to overcome the barriers identified. Yusif, Soar and Hafeez-Baig [9] conducted a review on the main obstacles to the assistive technologies (ATs) adoption by elderly to uncover issues of concern from empirical studies. The barriers were then arranged from the most critical to the least critical. From 44 articles included in the study, the barriers identified are privacy (34%), trust (27%), functionality (25%), cost (23%), the system’s ease of use (23%), suitability for daily use (23%), perception of “no need” (20%) and fear of dependence and lack of training (16%). From the concerns addressed, further research needs to be carried out to identify how technological innovations can be supported and marketed. Although all the reviews mentioned above highlighted on the acceptance of technology on senior citizens, some of them are specifically on certain technologies and does not apply any acceptance models. The structure of the identified factors influencing acceptance of technology in Sect. 4 was adapted from [5] as a guideline of the study. Besides the influencing factors, models of measurement used in the studies will also be extracted.

3 Research Methodology A research methodology is more than just the method that will be used to collect the data. However, it also implies a systematic plan for doing a research. Hence, in this study, the review has been planned out based on the original guidelines which were proposed by Kitchenham [10] as the following. Firstly, research questions were formulated in order to confirm what are the things to be answered/found out by conducting the literature search. Based on the research questions, keywords for search were identified. Along with that, databases for literature search were also determined. This was followed by specification of inclusion and exclusion criteria that were to be used for filtering extracted materials. Below sections elaborates each step that was taken for this research. Figure 1 summarize the process of research methodology mentioned.

• Research ques ons 1 and 2 were formulated

Research Ques on Forma on

Search Keywords Iden fica on • Keywords for search were iden fied

• Scien fic databases were determined

Data Source Selec on

Fig. 1. Research methodology.

Past Study Selec on • Selec on of ar cles based on inclusion and exclusion criteria

• The most discussed factors and models used in the reviewed ar cles were defined

Results

356

A. H. Abu Seman et al.

3.1 Research Question From the goal of the study, the following research questions has been derived: RQ1: What are the factors influencing the technology acceptance by senior citizens? RQ2: What are the research models used in measuring the factors? The first research question is composed of several keywords, i.e., technology acceptance, and senior citizens. As for the second research question, it adds another element to be searched which is models of measurement. Basically, the second question was intended to bring more reliable findings to the research as models should contain only verified elements from the respective research. As such, the above research questions lead to the queries search terms below: (Technology Acceptance OR Acceptance of Technology OR Acceptance) AND (Senior Citizens OR Elderly OR Older Adults OR Senior) In order to retrieve related works from the electronic databases, basically two keywords were used. The search string in each database is manually composed according to the search functionality offered by the database. An example of a search done in the electronic databases is shown below: (((“Document Title”:technology acceptance) OR “Document Title”:acceptance of technology) OR “Document Title”:acceptance) AND (((((“Document Title”:senior citizens) OR “ Document Title”:senior) OR “Document Title”:seniors) OR “ Document Title”:elderly) OR “ Document Title”:older adults) 3.2 Database Used To perform the search queries mentioned above, four reliable literature databases and search engines were used. Below are the databases that were used to select the reviews from: 1) 2) 3) 4)

IEEE Electronic Library (https://ieeexplore.ieee.org/) ScienceDirect (https://www.sciencedirect.com/) Google Scholar (https://scholar.google.com/) ACM Digital Library (https://dl.acm.org/)

The above databases were selected and used to search for relevant articles due to their large online database of academic literature, conference proceedings and related materials on various fields. In addition, all the mentioned databases are relevant to the study subject area and accessible. Apart from the mentioned databases, some of the known database were also considered, however were not included due to accessibility difficulties.

Factors Influencing Acceptance of Technology

357

3.3 Inclusion and Exclusion Criteria This section includes the criteria that were used to ensure only relevant articles were selected for review. As indicated in Table 2, each of the articles found were filtered according to the intended target group, i.e., senior citizen, research focus, i.e., technology acceptance, and also language of publication, i.e., English. Furthermore, since among the keywords used for article search were sometimes made general in order to get more possible matches, exclusion criteria were also set to exclude those irrelevant, unreadable and inaccessible. Table 2. Inclusion and exclusion Criteria. Inclusion criteria

Exclusion criteria

The review focuses on senior citizens

The review on acceptance of technology which address not only senior citizens, but other age ranges unless it provides the comparisons

The review is on acceptance of technology specifically on senior citizens

The review is published in other language besides English

The review is published in English

The review where the full text is unavailable or inaccessible

4 Results and Findings The study identified ten factors influencing acceptance of technology by senior citizens and ten research models used in measuring the factors. These are summarized under the following categories: 4.1 Identified Factors Influencing Acceptance of Technology The most discussed factors in the reviewed articles with a percentage of 52.5% are difficult/poor usability. According to a research by [11], senior citizens find new technologies very complex and hard to understand which cause them difficult to be used. This is in line with [12]’s findings where most older adults claim that they need help and support when it comes to use new devices and only 18% of them would feel comfortable to learn to use a new unfamiliar device. To support this, [13] found that 54% of their samples found technology difficult and complicated to use which result in 38% of them stop using new device. This can also be supported by similar research done by [14, 15, 16, 17] and [18]. Besides that, in a survey-based study by [19], the findings have shown that if the elderly found the technology easy to be used, their technology acceptance will be affected positively. Furthermore, based on a study finding by [20] and [21], it was found that Perceived Ease of Use (PEOU) of TAM causes positive effects on their behavior

358

A. H. Abu Seman et al.

intention to use, which indirectly means that the system difficulty can cause negative effects on their intention to use. Not only that, the results from [22] shows that difficulty of the system is one of the most important concerns of their research participants. This can be proven by [23, 24, 25, 26, 27, 28] and [29] where they would use any system introduced to them if they found it easy to use. Next, cost is also one of the top factors influencing acceptance of technology with a percentage of 35%. It is found to be a major factor restricting the use of technology [11, 13] states that even the elderly is familiar with the device, they feel scared to use it due to the maintaining cost. This can be supported by similar research by [30, 16, 17] and [31]. According to [25] and [32], their study results has proven that the elderly are concerned about the price/value for money when they are using the technology. To further prove on this statement, [33, 27, 34, 35, 36] and [37] states that high cost of technology implementation inhibits them to invest in such a service. Furthermore, lack of instructions and guidance (27.5%) on how to use a specific device will cause the senior citizens to find the system difficult to be used. According to [38], even if instructions were provided, the senior citizens find it too technical and hard to understand. It is also stated that when the elderly asked for guidance, other people will usually complete the job for them instead of teaching them. This can be supported by [39, 40, 17, 18] and [31]. In addition, [19, 26] and [35] also claimed that facilitating conditions such as resources and support availability may promote the adoption. Furthermore, in a study by [41], it was conveyed by their research participants that technology requires training and guidance as well as sufficient support. Not only that, [13] states that “technology anxiety” is the emotional fear and phobia felt by the individual towards the thinking of interacting or working with technology. Based on the respondents in their study, 24% of them felt scared to use new technology and 40% felt afraid that they might damage the device. In placing more emphasis, [42, 40] and [43] claims that increasing anxiety can negatively affect acceptance of innovative technology by them. According to [24], seniors have negative thoughts toward technology as well as feeling nervous while using it, therefore appear unable to adapt with technology. In placing more emphasis, based on an inductive ethnographic study, [44] states that due to their low self-efficacy, the perception of ease of use needs to be formed before they are willing to experiment the technology. Not only that, a study by [34] found that their anxiety made them more resistant to changes, therefore prefer to use traditional method. Besides that, [45, 27] and [28] also stated that several of their study participants stated that they are apprehensive towards technology.

Factors Influencing Acceptance of Technology

359

Another mentioned barrier in most of the study is lack of awareness among the senior citizens. As stated by [11], 93% of their study’s contributors reported that lack of awareness would hinder the technologies adoption for them and most of them were not aware of the existence of the technology before the study session. This can be supported by [30, 14, 40, 15, 16] and [46]. In placing more emphasis, [19] and [45] claimed that if the elderly is aware of the positive impact of technology on their daily life, they are more likely to use it. Besides that, older people refuse to use technology due to fear of losing human contact and worried that technology will replace human care. For medical purpose, most of them would prefer family or professional aged care over technology [11]. This can be supported by [39] and [42]. In placing more emphasis, [47] claimed that the participants of their study do not sense a social entity and believe that the system cannot replace the family or friends in their everyday life. Furthermore, [33] also states that their respondents reported to be missing human interaction when using technologies. Health-related factors are usually related with senior citizens’ limitations and capabilities that make it difficult for them to use technologies. According to [38], two out of five seniors have physical or health problems that aggravate the difficulties for them to use technology. This can be proven with a similar research done by [12] that found that the participants of their study have difficulty reading signs and cannot use tablet for a long length of time due to fractured wrist and fingers. This barrier was also discussed in [31] and [48]. According to [22] and [43], perceived security and privacy have a strong influence on the acceptance of the system. Majority of the elderlies are concern of their personal data when they are using the system. Besides, [49] also states that this non-supportive attitude such as skepticism towards the safety is one of the factors that result in lack of involvement. However, these claims can be contended by [27] who found that these elderlies do not mind over privacy or the confidentiality of their health information as long as help is always readily available for them. The least discussed barriers from the studies are digital literacy and lack of knowledge. Based on [11]’s research findings, 72% of their samples find it hard to understand the language associated with the technology. Lastly, [38] states that their participants emphasized their concern and fear of using technology in general due to lack of knowledge and this can be related with anxiety barrier that was discussed earlier. The findings above are summarized in the Table 3.

360

A. H. Abu Seman et al.

Table 3. The frequency and percentage of identified factors influencing acceptance of technology. No. Themes

Factors

1

Human connection

[11, 33, 39, 42, 47]

High cost

[11, 13, 16, 17, 25, 27, 30–37] 14

2

3

Concerns regarding technology

Privacy [22, 43, 49] concerns/implications

Frequency Percentage (N = 40) 5 3

12.5% 35% 7.5%

Lack of instructions and guidance/support

[17–19, 26, 29, 31, 35, 38–41] 11

27.5%

Difficult/poor usability

[11–30, 50]

21

52.5%

Digital literacy

[11]

1

2.5%

[11, 14–16, 19, 30, 40, 45, 46]

9

22.5%

Characteristics Lack of awareness of older adults

Need for technology

Authors

Anxiety/low self-efficacy

[13, 24, 27, 28, 34, 40, 42–45] 10

25%

Lack of knowledge

[38]

1

2.5%

Health-related

[12, 31, 38, 48]

4

10%

4.2 Identified Research Models Used in Measuring the Factors Based on the reviews, 47.5% of them used Unified Theory of Acceptance of Use of Technology (UTAUT). This could be because UTAUT has the highest explanatory power or technology usage intention in terms of variance to be compared with other models [51]. This can also be supported by [52]. Besides that, Technology Acceptance Model (TAM) is also the most commonly used research model with the percentage of 37.5%. However, there is no explicit external variable presented in TAM, which is the reason why UTAUT is structured to solve this problem [53]. To prove on this, [52] also mentioned that TAM has been modified due to lack of diversity of variables that influence the situation. The findings above are summarized in the Table 4.

Factors Influencing Acceptance of Technology

361

Table 4. The frequency and percentage of identified research models used. No. Research Models

Authors

1

Technology acceptance model

[11, 13, 15–18, 20–22, 24, 27, 33, 35, 36, 45] 15

37.5%

2

Senior technology acceptance and adoption model

[45, 50]

2

5%

3

Extended [14] technology acceptance model for the elderly

1

2.5%

4

Model of acceptability of assistive technology

1

2.5%

5

Unified [11–30, 50] theory of acceptance of use of technology

19

47.5%

6

Diffusion of innovation

[39]

1

2.5%

7

Elderly woman technology adoption process model

[44]

1

2.5%

8

Almere acceptance model

[49]

1

2.5%

9

Model of [46] adoption of technology in households

1

2.5%

10

Literature review/none

2

5%

[30]

[12, 38]

Frequency Percentage (N = 40)

362

A. H. Abu Seman et al.

5 Conclusion In a developing country, many improvements on technology has been made to improve everyone’s life. Despite of these improvement, it has been found that technology acceptance, and thus technology adoption, is relatively low among senior citizens to compare with younger adults. Hence, this review was performed to discover the factors influencing acceptance of technology by these populations and the research models used to measure them. Based on the inclusion and exclusion criteria, ten barriers and ten research models were identified. Each barrier and model were given a frequency based on their occurrence along with the percentage from the studies. These identified factors and models are expected to guide researchers who are interested in finding interesting area of research in this field. In the future, this work can be a guide to find the solution for the low technology adoption among the senior citizens.

References 1. Mathers, C.D., Stevens, G.A., Boerma, T., White, R.A., Tobias, M.I.: Causes of international increases in older age life expectancy. Lancet 385(9967), 540–548 (2015) 2. Kontis, V., Bennett, J.E., Mathers, C.D., Li, G., Foreman, K., Ezzati, M.: Future life expectancy in 35 industrialised countries: projections with a Bayesian model ensemble. Lancet 389(10076), 1323–1335 (2017) 3. Valk, C., Lu, Y., Randriambelonoro, M., Jessen, J.: Designing for technology acceptance of wearable and mobile technologies for senior citizen users (2018) 4. Lekjaroen, K., Ponganantayotin, R., Charoenrat, A., Funilkul, Supasitthimethee, U., Triyason, T.: IoT planting: watering system using mobile application for the elderly. In: 2016 International Computer Science and Engineering Conference (ICSEC), pp. 1–6 (2016) 5. Peek, S.T., Wouters, E.J., Van Hoof, J., Luijkx, K.G., Boeije, H.R., Vrijhoef, H.J.: Factors influencing acceptance of technology for aging in place: a systematic review. Int. J. Med. Inf. 83(4), 235–248 (2014) 6. Mostaghel, R.: Innovation and technology for the elderly: Systematic literature review. J. Bus. Res. 69, 1–5 (2016) 7. Farshchian, B.A., Vassli, L.T.: Acceptance of health-related ICT among elderly people living in the community: a systematic review of qualitative evidence. Int. J. Hum. Comput. Interact. 34(2), 99–116 (2018) 8. Fischer, S.H., David, D., Crotty, B.H., Dierks, M., Safran, C.: Acceptance and use of health information technology by community-dwelling elders. Int J Med Inform 83(9), 624–635 (2014) 9. Yusif, S., Soar, J., Hafeez-Baig, A.: Older people, assistive technologies, and the barriers to adoption: a systematic review. Int. J. Med. Inf. 94, 112–116 (2016) 10. Kitchenham, B.: Guidelines for performing systematic literature reviews in software engineering. EBSE Technical Report, vol. 5 (2007) 11. Maan, C., Gunawardana, U.: Barriers in acceptance of ambient assisted living technologies among older australians. In: 2017 IEEE Life Sciences Conference (LSC) (2017) 12. Smith, A.: Older Adults and Technology Use. Pew Research Center (2014). https://www.pew internet.org/2014/04/03/older-adults-and-technology-use/ 13. Raymundo, T.M., Santana, C.d.S.: Factors influencing the acceptance of technology by older People: How the elderly in Brazil feel about using electronics. IEEE Consum. Electron. Mag. 3(4), 63–68 (2014)

Factors Influencing Acceptance of Technology

363

14. Wang, Q., Sun, X.: Investigating gameplay intention of the elderly using an Extended. Technol. Forecast. Soc. Change 107, 59–68 (2016) 15. Chen, M.-L., Lu, T.-E., Chen, K.-J., Liu, C.E.: A TAM-based study on senior citizens’ digital learning and user behavioral intention toward use of broadband network technology services provided via television. African J. Bus. Manag. 5(16), 7099–7110 (2011) 16. Preusse, K.C., Mitzner, T.L., Fausset, C.B., Rogers, W.A.: Older adults’ acceptance of activity trackers. J Appl. Gerontol. 36(2), 127–155 (2017) 17. Guner, H., Acarturk, C.: The use and acceptance of ICT by senior citizens: a comparison of technology acceptance model (TAM) for elderly and young adults (2018) 18. Conci, M., Pianesi, F., Zancanaro, M.: Useful, social and enjoyable: mobile phone adoption by older people. In: IFIP Conference on Human Computer Interaction, pp. 63–76 (2009) 19. Rabaa’i, A.: The use of UTAUT to investigate the adoption of e-government in Jordan: a cultural perspective. Int. J. Bus. Inf. Syst. 24, 285–315 (2017) 20. Liu, C.-H., Wu, Z.-Y., Lin, C.-P.: A study of intention and behavior of using mobile communication software the case of seniors. In: Proceedings of IEEE International Conference on Applied System Innovation, pp. 1006–1008 (2018) 21. Al-Jamal, N., Abu-Shanab, E.: E-Government adoption in Jordan: the influence of age. In: ICIT 2015 the 7th International Conference on Information Technology, vol. 10 (2015) 22. K˝o, A., Molnár, T., Mátyus, B.: A user-centred design approach for mobile-government systems for the elderly. In: 2018 12th International Conference on Software, Knowledge, Information Management & Applications (SKIMA), pp. 1–7 (2018) 23. Narkwilai, M., Funilkul, S., Supasitthimethee, U.: Factors influencing the thai elderly’s intention to use social network for quality of life: a case study LINE application. In: 7th International Conference on Information Technology and Electrical Engineering (ICITEE), pp. 593–598 (2015) 24. Thaduangta, B., Choomjit, P., Mongkolveswith, S.: Smart healthcare: basic health checkup and monitoring system for elderly. In: International Computer Science and Engineering Conference (ICSEC), pp. 1–6 (2016) 25. Houshangi, T., Woods, P., Tee, S.H.: A conceptual model for behavioral intention of the elderly to use internet services in Iran. In: 2016 22nd International Conference on Virtual System & Multimedia (VSMM), pp. 1–4 (2016) 26. Im, S.H.I., Kang, M.S.: An international comparison of technology adoption testing the UTAUT model. Inf. Manag. 48, 1–8 (2011) 27. Steele, R., Loa, A., Secombeb, C., Wongc, Y.K.: Elderly persons’ perception and acceptance of using wireless sensor networks to assist healthcare. Int. J. Med. Inf. 78, 788–801 (2009) 28. Heerink, M., Kröse, B., Evers, V., Wielinga, B.: Assessing acceptance of assistive social agent technology by older adults: the almere model. Int. J. Soc. Robot. 2, 361–375 (2010) 29. Mallenius, S., Rossi, M., Tuunainen, V.K.: Factors affecting the adoption and use of mobile devices and services by elderly people – results from a pilot study. In: 6th Annual Global Mobility Roundtable, vol. 31, p. 12 (2007) 30. Askari, S.I., Huldtgren, A., IJsselsteijn, W.: Wear it or fear it: exploration of drivers & barriers in smartwatch acceptance by senior citizens. In: 4th International Conference on Information and Communication Technologies for Ageing Well and e-Health ICT4AWE 2018, pp. 26-36 (2018) 31. Keränen, N.S., Kangas, M., Immonen, M., Similä, H., Enwald, H., Korpelainen, R., Jämsä, T.: Use of information and communication technologies among older people with and without frailty:a population-based survey. J. Med. Internet Res. 19(2), e29 (2017) 32. Boontarig, W., Chutimaskul, W., Chongsuphajaisiddhi, V., Papasratorn, B.: Factors influencing the thai elderly intention to use smartphone for e-Health services. In: IEEE Symposium on Humanities, Science and Engineering Research, pp. 479–483 (2012)

364

A. H. Abu Seman et al.

33. Dean, D.H.: Shopper age and the use of self-service technologies. Managing Serv. Qual. Int. J. 18, 225–238 (2008) 34. Pal, D., Funilkul, S., Charoenkitkarn, N., Kanthamanon, P.: Internet-of-things and smart homes for elderly healthcare: an end user perspective’s. IEEE Access 6, 10483–10496 (2018) 35. Ma, Q., Chan, A.H., Chen, K.: Personal and other factors affecting acceptance of smartphone technology by older Chinese adults. Appl. Ergon. 54, 62–71 (2016) 36. Wong, A.M.K., Chang, W.H., Ke, P.-C., Huang, C.-K., Tsai, T.-H., Chang, H.-T., Shieh, W.-Y., Chan, H.-L., Chen, C.-K., Pei, Y.-C.: Technology acceptance for an intelligent comprehensive interactive care (ICIC) system for care of the elderly: a survey-questionnaire study. PLoS ONE 7(8), e40591 (2012) 37. Arenas-Gaitan, J.: Elderly and internet banking: an application of UTAUT2. J. Internet Bank. Commer. 20(1), 1–23 (2015) 38. Vaportzis, E., Clausen, M.G., Gow, A.J.: Older adults perceptions of technology and barriers to interacting with tablet computers: a focus group study. Front. Psychol. 8, 1687 (2017) 39. Choudrie, J., Alfalah, A., Spencer, N.H., Sundaram, D.: Are older citizens Using the E-MOI portal in Saudi Arabia, Hail city: a quantitative study, In: Proceedings of the 51st Hawaii International Conference on System Sciences (2018) 40. Papa, F., Sapio, B., Nicolò, E.: Acceptance of information and communication technologies for healthy and active aging: results from three field studies. OBM Geriatr. 3(1) (2019) 41. Gudmundsson, M.: Aging-in-place with ICT: a qualitative study of senior citizen users’ perception and acceptance towards Smart home technology. In: ICIT 2015 the 7th International Conference on Information Technology (2017) 42. Hoque, R., Sorwar, G.: Understanding factors influencing the adoption of mHealth by theelderly: an extension of the UTAUT model. Int. J. Med. Inf. 101, 75–84 (2017) 43. Yang, Y., Yuan, Y., Archer, N., Ryan, E.: Adoption of social media and the quality of life of older adults. In: 49th Hawaii International Conference on System Sciences (2016) 44. Rahimi, N., Jetter, A., Weber, C.M.: An inductive ethnographic study in elderly woman technology adoption and the role of her children. In: Proceedings of PIMET 2016: Technology Management for Social Innovation, pp. 3196–3207 (2016) 45. Chung, J.E., Park, N., Wang, H., Fulk, J., McLaughlin, M.: Age differences in perceptions of online community participation among non-users: an extension of the technology acceptance model. Comput. Hum. Behav. 26, 1674–1684 (2010) 46. Niehaves, B., Plattfaut, R.: Internet adoption by the elderly: employing IS technology acceptance theories for understanding the age-related digital divide. Eur. J. Inf. Syst. 23(6), 708–726 (2014) 47. Piasek, J., Wieczorowska-Tobis, K.: Acceptance and long-term use of a social robot by elderly users in a domestic environment. In: 11th International Conference on Human System Interaction (HSI), pp. 478–482 (2018) 48. Jia, P., Lu, Y., Wajda, B.: Designing for technology acceptance in an ageing society through multi-stakeholder collaboration. Procedia Manufact. 3, 3535–3542 (2015) 49. Dfaz, M., Saez-Pons, J., Heerink, M., Angulo, C.: Emotional factors in robot-based assistive services for elderly at home. In: 2013 IEEE RO-MAN: The 22nd IEEE International Symposium on Robot and Human Interactive Communication, pp. 711–716 (2013) 50. Barnard, Y., Bradley, M.D., Hodgson, F., Lloyd, A.D.: Learning touse new technologies byolder adults: Perceived difficulties, experimentation behaviour and usability. Comput. Hum. Behav. 29, 1715–1724 (2013) 51. Samaradiwakara, G.D.M.N., Chandra, G.: Comparison of existing technology acceptance theories and models to suggest a well improved theory/model. Int. Tech. Sci. J. 1(1), 21–36 (2014)

Factors Influencing Acceptance of Technology

365

52. Kim, S., Lee, K.-H., Hwang, H., Yoo, S.: Analysis of the factors influencing healthcare professionals’ adoption of mobile electronic medical record (EMR) using the unified theory of acceptance and use of technology (UTAUT) in a tertiary hospital. BMC Med. Inf. Decis. Making 16(1), 12 (2015) 53. Hwang, J.S., Lee, H.J.: A meta-analysis of advanced utaut variables in the ict industry: an analysis of published papers in korean journals. Int. J. Innovative Comput. Inf. Control 14(2), 757–766 (2018)

Modeling Business Process and Events Sabah Al-Fedaghi(B) and Majd Makdessi Computer Engineering Department, Kuwait University, P.O. Box 5969, 13060 Safat, Kuwait [email protected], [email protected]

Abstract. Business processes (BPs) are nowadays essential elements and key assets in any commercial organization. Additionally, BP matters are important issues in the context of enterprise computing. Business process management (BPM) is the main research area for process-aware systems involving methodologies, models, and supporting tools for process design, execution, and monitoring. BPM offers many challenges for software developers, including process specification and documentation. This paper is about (operational) BPs (e.g., procurement, hiring a new employee, supply chain management, request for leave), with a focus on modeling BPs in which all sub-processes, activities, data flows, inputs, and outputs, together with their relationships with each other, are identified and described. Typically, the focus of traditional process modeling is persistently on diagrammatic tools to design process notations (e.g., UML and BPMN). In this paper, we adopt a diagrammatic modeling methodology called the Thinging Machine (TM) and use it as a base to promote understanding of notions of BPs by offering a new perspective that captures a system’s dynamic behavior based on its events. The TM emphasizes a single unifying ontological element: the thing/machine concept (thimac), in contrast to object- or process-oriented methodologies. TM-based modeling can be a valuable tool in the general area of BPM. We partially demonstrate that by applying it to document two actual administrative systems. The resultant conceptual descriptions reflect a well-defined approach to the notions of processes and events. Keywords: Business process · Conceptual model · Diagrammatic representation · Event-based description of system behavior

1 Introduction Business processes (BPs) are nowadays essential elements and key assets in any commercial organization. Additionally, BP matters are important issues in the context of enterprise computing [1]. Business process management (BPM) is the main research area for process-aware systems involving methodologies, models, and supporting tools for process design, execution, and monitoring [1]. BPM presents many challenges for software developers [2]. According to Eindhoven [2], traditionally, data-driven approaches have dominated the information systems landscape; however, over the last decade, BPs have become equally important and need to be supported in a systematic manner. Different types of “process-aware” information systems have been adopted to incorporate different © Springer Nature Switzerland AG 2020 R. Silhavy (Ed.): CSOC 2020, AISC 1224, pp. 366–379, 2020. https://doi.org/10.1007/978-3-030-51965-0_32

Modeling Business Process and Events

367

types of analysis that link processes to business aspects [2]. Moreover, the current interest in BPM is fueled by technological developments (service-oriented architectures) and standardization efforts (e.g., business process modeling notation [BPMN]). According to Jones [3], the success of an organization depends on how effectively it can manage three factors, one of which is BPs. Currently, the literature has many definitions for BPs, including the following: • Logically related tasks performed to achieve a defined business outcome for a particular customer or market [4]. • Distinct flows of work [5]. • Interrelated activities that cross functional boundaries with individual inputs and outputs [6]. This paper is about (operational) BPs (e.g., procurement, hiring a new employee, supply chain management), with a focus on mapping the processes “in which all sub-processes, activities, information flows, inputs, and outputs together with their relationships with each other, are identified and described” [7]. Specifically, in the paper, we focus on modeling that produces a conceptualization of an organization’s BPs [8]. We concentrate on modeling BPs using diagrammatic description language. The focus of traditional process modeling is persistently on diagrammatic tools to design process notations, such as UML and BPMN [1]. “Diagrams can convey information more precisely than conventional language [9, 10]. As discussed in [11], the human mind has separate systems for processing pictorial and verbal material—according to dual channel theory. Visual representations are processed in parallel by the visual system; textual representations are processed serially by the language system [9]. Only diagrammatic presentations are able to show (complex) relations at once” [8]. BPs may be analyzed and designed at different levels of abstraction, and at the business analysis level, diagrammatic languages used include flowcharts, UML activity diagrams, BPMN, and event-driven process chains [12]. Our aim is to strengthen the theoretical foundation of some basic BP concepts. Our main concern is the notion of an event in BPs. Yan et al. [1], after surveying existing BP models at different levels (e.g., BPM, BPEL, Petri Nets), concluded that there is a need for a fusing BP modeling based on semantics according to the key issues. “A semantically-enhanced comprehensive business process modeling framework ought to be provided and connected to some existing process standards and formal theoretical models” [1]. In particular, in BPs, the event notion is “a fundamental concept for the implementation of business processes. However, even feature-rich languages for process specification such as BPMN are severely limited in their event handling semantics” [13]. According to Mandal and Weske [14], although “languages like BPMN exist for process specification, they still lack the flexibility required for event handling in different real-life scenarios”. In this paper, we adopt a diagrammatic modeling methodology called the Thinging Machine (TM) and use it as a base to further understand notions of BPs (e.g., event, behavior). The TM emphasizes a single unifying ontological element: the thing/machine concept (Thimac), in contrast to object-oriented or process-oriented methodologies. We

368

S. Al-Fedaghi and M. Makdessi

demonstrate that TM-based modeling can be a valuable tool in the area of process documentation. We substantiate this by applying TMs to document two actual administrative systems: request for leave and request for human resources services. The resultant conceptual descriptions demonstrate the viability of the TM approach. The next section discusses the TM model, with an emphasis on the thimac as a single unifying ontological element. Because the notion of task seems to be fundamental in defining BPs, as mentioned previously, Sect. 3 illustrates the TM by applying it to modeling a given sequence of tasks. Section 4 presents two case studies in an actual software company in Kuwait, where the TM model is utilized as a documentation tool for current BPs.

2 Thinging Machine The term ontology refers to an explicit specification of a conceptualization of a domain. Ontology modeling deals with how to describe, in an abstract way, the domain of an application (e.g., classes describe concepts in the domain), its relevant vocabulary and constraints [15]. An object-oriented model is built around objects as basic entities of the domain. Similarly, the process-oriented paradigm views the domain as processes. The ontological assertion of the TM is that the theoretical view of a domain is constructed from a single entity called a thing (e.g., object)/machine (e.g., process), abbreviated as thimac [16–24]. The thimac notion is an old idea. In physics, subatomic-level entities are viewed as both particles and waves [25]. Abstract notions can be conceived in two fundamentally different ways: structurally, as objects, and operationally, as processes [26]. This paper adopts this notion of duality in modeling, generalizing it beyond mathematics and physics. Structural conception means seeing a notion as an entity with a recognizable static structure. The operational specification emphasizes the dynamic process of performing actions. The notion of a thing is more general than the notion of an object. It relies on Heidegger’s [27] idea of things and thinging. Heidegger’s works on thinging, as the opposite elaborate description to reductive abstraction (i.e., objects), have been applied in various scientific fields (e.g., design thinking [28] and information services [29]). “Almost anything can be labeled with the word thing” [30]. According to Heidegger [27], a thing is self-sustained, self-supporting, or independent—something that stands on its own. Things have unique “thingy qualities” [31] that are related to reality and are therefore not typically found in industrially generated objects. A thing “things” (Heidegger’s [27] term); that is, it gathers, unites, or ties together its constituents, in the same way that a bridge unifies aspects of its environment (e.g., a stream, its banks, and the surrounding landscape) [32]. Such a notion is more suitable to our aim than the reductive abstraction of entities, as reflected by the term object. The concept of thimac is more than the concept of process because thimac is viewed as an assembly of generic processes that populate the portion of the modeled world of concern. Every part of this world is a thimac, forming a thimac-ing network. A unit of such a universe has a dual being as a thing and as a machine. A thing is created, processed, released, transferred, and/or received. A machine creates, processes, releases, transfers, and/or receives things. We will alternate between the terms thimac, thing, and machine according to the context.

Modeling Business Process and Events

369

The thimac designates what simultaneously divides and brings together a thing and a machine. Every thimac appears in a system either by creation or by importation from outside the system. They are the concomitants (required components) of a system and form the current fixity of being for any system that continuously changes from one form (thing/machine) to another. A system is the overall thimac constellation that structures all thimacs in the problem under consideration. It provides the problem’s unifying element through space and time as integral subthimacs, not as the sum of individual subthimacs. Thimacs inside a system are understood not as things with properties but as ensembles of things and machines that constantly interact with each another and with the he world outside the system. In this complex model, events appear and propagate, and constantly recur in various parts of the system with repeatable occurrences and stable regularities. The whole system in its dynamic state is an event or, more accurately, an event of events. The TM model is a representation (mimesis) of a portion of reality. It is an expression of information, solutions, knowledge concerning the system, system architecture, system functionality, business processes, etc. Accordingly, a thimac’s existence depends on its position in the larger system, as either a thing that flows in other machines or a machine that handles the flow of things (create, process, release, transfer, and receive). It brings together and embraces both “thingishness” and “machineness.” A thimac may act in the two roles simultaneously. A thing flows in an abstract five-dimensional structure that forms an abstract machine called a TM, as shown in Fig. 1, in which the elementary processes are called the stages of a TM. In the TM model, we claim that five generic processes of things exist: Things can be created, processed, released, transferred, and received. These five processes form the foundation for modeling thimacs. Among the five stages, flow (solid arrow in Fig. 1) signifies conceptual movement from one machine to another or among the stages of a machine. The TM stages can be described as follows.

Create Release

Output

Input Transfer

Process Accept

Arrive

Receive

Fig. 1. Thinging machine.

Arrival: A thing reaches a new machine. Acceptance: A thing is permitted to enter the machine. If arriving things are always accepted, then arrival and acceptance can be combined into the receive stage. For simplification, the examples in this paper assume a receive stage. Processing (change): A thing undergoes some kind of transformation without creating a new thing. Release: A thing is marked as ready to be transferred outside of the machine.

370

S. Al-Fedaghi and M. Makdessi

Transference: A thing is transported somewhere outside of the machine. Creation: A new thing is born (created) in a machine. “Create” resembles “there is,” as in, according to Whitehead [33], “there is Cleopatra’s Needle” (italics added), and in the context of events, it resembles “be again” (italics added). In addition, the TM model includes memory and triggering (represented as dashed arrows) relationships among the processes’ stages (machines).

3 Sample Thinging Machine Modeling of Tasks According to Juneja [34], to understand processes better, we have to understand the sequence of activities or tasks. Consider the following sequence of tasks: “Let’s say you need to get a soda from your refrigerator. There are many small tasks involved such as getting up from your sofa, walking to the refrigerator, opening the refrigerator, identifying the soda, picking it up, closing the refrigerator and going back to your sofa. Each step described above is called a task in BPM language” [34]. Figure 2 shows the TM model of these tasks.

Refrigerator area Receive 3

2 Transfer Sofa

7 Transfer Release Create Inside view 4

Receive

Transfer

You 1 Release Transfer Transfer

9

Release Transfer

Release

Close

Transfer

Transfer

12

Release

Receive

Receive

Release

Transfer

Transfer

State

11

Door Refrigerator itself

Transfer

Transfer

6

Open 5 Create

Soda

Release Receive

Receive

Transfer

8 Process

Create

10 You and a soda

Fig. 2. The TM static model of Juneja’s [34] example.

First, you leave the sofa (circle 1) and walk in the between area (2) until you reach the refrigerator area (3). This arrival triggers you (4) to open the door of the refrigerator (5). This triggers the appearance of the inside of the refrigerator (6) that flows to you (7) to be processed (8). Accordingly, the soda is retrieved (9). Thus, you appear (create) to be carrying the soda (10). You close the refrigerator door (11) and move, carrying the soda back to the sofa (12). Such tasks as getting up from the sofa, walking to the refrigerator, opening the refrigerator, and identifying the soda are not “small” tasks. They

Modeling Business Process and Events

371

are formed from the generic operations of creating, processing, releasing, transferring, and receiving. Juneja [34] defines an event as something that happens as opposed to something that is done on purpose. Alternatively, it is the effect that occurs after sufficient cause is provided. Each process starts and ends with an event [34]. TM modeling introduces a two-level representation over the same diagram. An event is a thimac that includes a time thimac. For example, Fig. 3 shows the events Opening the refrigerator (left) and Walking to the refrigerator (right). Each event thimac includes a time thimac, region (where the event occurs) thimac, and the stages of the event itself. In general, an event may include other subthimacs such as intensity and speed.

Release

Transfer

Event Create Process

Receive

Time

Transfer

Create

Region Open

Event Create Transfer

Create

Receive Time Process Region

Transfer Receive

Release Transfer

Release

Transfer

Refrigerator area Transfer Receive

Create State

(a) The event Opening the refrigerator.

(b) The event Walking to the refrigerator.

Fig. 3. Samples of events.

For simplicity’s sake, we will represent each event by its region. For example, Fig. 4 shows the following events in the static model of Juneja’s [34] example. Event 1 (E1 ): Going from the sofa to the refrigerator area. Event 2 (E2 ): Opening the refrigerator door. Event 3 (E3 ): Identifying the soda. Event 4 (E4 ): Grabbing the soda. Event 5 (E5 ): Closing the door. Event 6 (E6 ): Going back to the sofa with the soda. Figure 5 shows the chronology of events of Juneja’s [34] example. Note that the static model reflects the system’s intrinsic structure in terms of its thimacs and its network of subthimacs. The static TM model forms the basis upon which the dynamic specification is produced by applying events (time). In a TM, events are identified from the static TM description based on elementary events that correspond to the five generic processes. Events at many levels are constructed from lower-level events.

372

S. Al-Fedaghi and M. Makdessi Refrigerator area Receive

E1

Receive Transfer

Transfer 12

Transfer Release Receive

Release

Transfer

Transfer

Transfer

Receive

E6

Close

Release

Transfer Receive

E2

Soda

Release

You Release Transfer

Transfer Release Create Inside view

Receive Transfer

Transfer

Sofa

E3

Transfer

Process

Release

E4

Open Create

E5

State Door Refrigerator itself

Create

You and a soda

Transfer

Fig. 4. The TM dynamic model of Juneja’s [24] example.

E1

E2

E3

E4

E5

E6

Fig. 5. The chronology of events in Juneja’s [34] example.

4 Two Case Studies of Business Processes To illustrate the TM methodology in an actual environment, we present two case studies that involve a typical BP in an actual organization (MYSTRO Company, https://www. hr-kuwait.com/) in Kuwait. The company (the workplace of the second author) provides human resource departments with the ability to function through operational software tools for administrative tasks such as all relevant employee-related information. In this paper, as part of the Employee Self Service Portal Module in the MYSTRO Company, we focus on the following: (i) A leave request system (ii) A system for requests to the human resource department (e.g., certificate request, work permit, work experience). We apply TM modeling with the aim of establishing a documentation apparatus for these existing systems. Currently, no formal documentation exists. The system’s operations and future evolution produce possible managerial, supervisory, technical, and legal difficulties. It is a system that exists in reality but needs better documentation of its operations.

Modeling Business Process and Events

373

4.1 Sample of Current Method of Modeling a Request for Leave System BPMN is a de facto standard that offers a language to define BPs. BPMN has a diagrammatic representation that provides the ability to understand internal business procedures “more easily and clearly” [35] than, for example, UML. It is maintained by the Object Management Group (OMG) and adopted as an ISO/IEC standard [36]. BPMN also offers the possibility to serialize visual models into a computer-readable format (i.e., into XML) [8]. According to Visual Paradigm [35], “in order for the process to initiate, something must be happening, that is, an employee in this company wants to take a leave”. Hence, in the BPMN diagram, the start event is represented on the Employee lane to indicate the start (see Fig. 6). “From here, the manager is responsible for the process, so, we link the task Submit Leave Application for Approval to another task event Evaluate Leave Application on the Manager lane” [35] (see Fig. 7). Fill in the leave application form

Employee



Fig. 6. The start event is represented on the Employee lane to indicate the start. Adopted from [35]

… Manager

Evaluate leave application

Application approved?

Yes

Inform the employee

HR Fig. 7. The manager lane. Adopted from [35]

4.2 TM Modeling of a Request for Leave System To request a leave in the MYSTRO system, the employee enters the dates for the leave and sends it to the system, where the leave policy for that employee is collected and leave calculations are done according to the policy in the file. Then, after the system calculates all the required fields, the request is saved in the database. At a later time, the manager logs in, sees a pending leave request for the employee, and can either approve or reject it. Figure 8 shows the TM model of the initiation of a leave request to request approval that can be described as follows: • The initial leave request is constructed (circle 1 in the figure) and flows to the system in step 2. In the system, the request is processed (3) and the data is validated (4). If the data is not valid, then the employee is notified (5) and the process stops. If the data is valid, then a notification is sent that the request was successful and the

374

S. Al-Fedaghi and M. Makdessi

Fig. 8. The TM static model of the request for leave MYSTRO system.

• • •

• • •

process continues to extract Date From, Date To, and Employee Number (6, 7, and 8, respectively). The employee number flows (9) to the database system (10), where it is processed (11) to be matched with the corresponding employee number (12) stored in the records in the leave policy file (13). If the employee number matches the stored employee number, then the leave policy record is transferred (14) to be used along with Date From (15) and Date To (16) in the construction of the leave request record (17). The leave request record (17) includes Date From (18), Date To (19), Employee Number (20), Leave Starts On (21), Leave Ends On (22), Last Working Day (23), Resumption Date (24), Weekly Holidays (25), Official Holidays (26), Number of Unpaid Days (27), Number of Paid Days (28), and approval (29). The leave request flows (30) to be stored in the leave table file (31). The leave request record flows to the manager (32) to be processed (33) to extract the approval field (34) and insert the value of approved/not approved (35). Accordingly, the approved/not approved leave request flows back (36) to the leave request table (31).

The dynamic model of the request for leave system was developed using the events as described previously. The following events can be identified (see Fig. 9) as follows.

Modeling Business Process and Events

375

Fig. 9.

Event 1 (E1 ): The employee provides data to initiate the leave request and sends it to the system. Event 2 (E2 ): The request is processed, and if it is invalid, an error message is sent to the employee. Event 3 (E3 ): The request is processed, and if it is valid, then an acknowledgment is sent and the Date From, Date To, and Employee Number are extracted. Event 4 (E4 ): Date From, Date To, and Employee Number are received. Event 5 (E5 ): The Employee Number is released and received by the database. Event 6 (E6 ): The Employee Number is used to search for the employee’s leave policy record in the database, and once a match is found, it is released. Event 7 (E7 ): The employee’s leave policy record, Date From, and Date To are released to the leave request to be processed. Event 8 (E8 ): The leave request is created with all the fields filled in automatically from the rules of the employee. Event 9 (E9 ): The leave request record is released and sent to be saved in the database. Event 10 (E10 ): The data is stored in the database. Event 11 (E11 ): The data is retrieved from the database when a manager accesses the leave request that is pending approval. Event 12 (E12 ): The leave request record is processed, and the manager can approve or reject the request, which is then released to the database (Event 10) to be saved. Figure 10 shows the chronology of events in the request for leave system.

376

S. Al-Fedaghi and M. Makdessi

Fig. 10. The chronology of events in the request for leave system.

4.3 Requests to Human Resources Department This system involves many types of services the human resources department of any company provides to employees, including certificate request, work permit, and work experience. Figure 11 shows the static model of such a system. The processes involved in applying to one of these services are described as follows. Due to space limitations, we describe only seven of these processes. 1. The employee creates the initial request to the human resources department that includes (i) to whom the request is addressed, (ii) Employee Number, and (iii) request type (circle 1 in the figure). 2. The request flows to the system (2), where it is processed (3) to construct the system request that includes a field for approval in addition to the other fields in the initial request (4). 3. The request flows (5) to the database, where it is stored (6). 4. At a later time, the request flows from the database (7) to the workflow module (8), where it is processed to extract the request type (9). 5. The request type is processed to trigger (10) releasing the request to (i) the HR Manager and (ii) Direct Manager. 6. The request flows to the HR Manager (11), where is processed for approval/rejection. i. If the request is approved, these triggers (12) the creation of a hard copy that flows (13) to the HR Manager to be signed. ii. Signing the document triggers sending acknowledgment to the user (14), and the signed document flows (15) to be scanned, thus creating a scanned copy (16). iii. The scanned copy flows (17) to be combined with the request (18), and both are stored in the database (19). 7. If the request is rejected (20), a notification is created and sent to the user (21), and the request is saved in the database (22). The TM dynamic model can be developed in a similar way to the request for leave system.

Modeling Business Process and Events

377

Fig. 11. The TM model of requests to the human resources department.

5 Conclusion In this paper, we applied the TM model as a conceptual framework to impose uniformity in describing BPs. The TM model incorporates complete unity between things and processes, as well as five generic operations, and integrates static and dynamic features of the system. We substantiated the model’s viability in the area of modeling BPs using

378

S. Al-Fedaghi and M. Makdessi

two actual case studies. The TM model provides new contributions to the field of BPs that can enhance and enrich current modeling methodologies such as OO and UML. The apparent visual complexity of the TM diagram may be considered a weakness of the approach. However, a TM diagram can be used at various levels of granularity. For example, TM diagrams can be simplified by removing the release, transfer, and receive stages under the assumption that the direction of the arrows is sufficient for representing the flow. Further research should focus on using the TM as a basic tool in processing documents in organizations instead of current methods (e.g., flowcharting).

References 1. Yan, Z., Mazzara, M., Cimpian, E., Urbanec, A.: Business process modeling: classification and perspective. In: Proceedings of the 1st International Working Conference on Business Process and Services Computing BPSC 2007, Leipzig, Germany, 25–26 September 2007 2. van der Aalst, E.: Forward. In: Weske, M. (ed.) Business Process Management Concepts, Languages, Architectures, Second Edition. Springer-Verlag, Heidelberg (2007) 3. Jones, C.: Improving your key business processes. TQM Mag. 6(2), 25–29 (1994) 4. Davenport, T.: The coming commoditization of processes. Harvard Bus. Rev. 83(6), 100–108 (2005) 5. Keen, P.G.W., Knapp, E.M.: Every Manager’s Guide to Business Processes: A Glossary of Key Terms & Concepts for Today’s Business Leader. Harvard Business School Press, Brighton (1996) 6. Ljungberg, A.: Process measurement. Int. J. Phys. Distrib. Logistics Manag. 32(4), 254–287 (2002) 7. Kumar, B., Movahedi, U., Kumar, K., Lavassani, M.: On measuring and successful implementation of process-orientation: a literature synthesis. In: Proceedings of Production and Operations Management Division. Administrative Sciences Association of Canada, Ottawa, 2–5 June 2007 8. Singer, R.: An ontological analysis of business process modeling and execution. arXiv:1905. 00499v1 [cs.SE], 18 April 2019. https://arxiv.org/pdf/1905.00499. Accessed 6 Jan 2020 9. Bertin, J.: Semiology of Graphics. Esri Press, Redlands (1983) 10. Larkin, J.H., Simon, H.A.: Why a diagram is (sometimes) worth ten thousand words. Cogn. Sci. 11(1), 65–100 (1987) 11. Moody, D.: The ‘physics’ of notations: toward a scientific basis for constructing visual notations in software engineering. IEEE Trans. Softw. Eng. 35(6), 756–779 (2009) 12. Decker, G., Dijkman, R., Dumas, M., García-Bañuelos, L.: The business process modeling notation. In: Hofstede, A., Aalst, W., Adams, M., Russell, N. (eds.) Modern Business Process Automation, pp. 347–356. Springer, Berlin (2010) 13. Mandal, S., Weske, M.: A flexible event handling model for business process enactment. In: 2018 IEEE 22nd International Enterprise Distributed Object Computing Conference (EDOC), Stockholm, Sweden, 16–19 October 2018 14. Mandal, S., Weidlich, M., Weske, M.: Events in business process implementation: early subscription and event buffering. In: Carmona, J., Engels, G., Kumar, A. (eds.) Business Process Management Forum BPM 2017. Lecture Notes in Business Information Processing, vol. 297. Springer, Cham (2017) 15. Siricharoen, W.V.: Ontologies and object models in object oriented software engineering. IAENG Int. J. Comput. Sci. 33(1), 19–24 (2007) 16. Al-Fedaghi, S.S., AlQallaf, A.: Modeling and control of engineering plant processes. Int. J. Appl. Syst. Stud. 8, 255–277 (2018)

Modeling Business Process and Events

379

17. Al-Fedaghi, S.S., Al-Dwaisan, E.: Framework for managing the very large scale integration design process. Am. J. Appl. Sci. 9, 213–222 (2012) 18. Al-Fedaghi, S.: Five generic processes for behaviour description in software engineering. Int. J. Comput. Sci. Inf. Secur. 17(7), 120–131 (2019) 19. Al-Fedaghi, S.: Thing/machines (thimacs) applied to structural description in software engineering. Int. J. Comput. Sci. Inf. Secur. 17(8), 1–11 (2019) 20. Al-Fedaghi, S.: Toward maximum grip process modeling in software engineering. Int. J. Comput. Sci. Inf. Secur. 17(6), 8–18 (2019) 21. Al-Fedaghi, S., Makdessi, M.: Software architecture as a thinging machine: a case study of monthly salary system. In: 3rd Computational Methods in Systems and Software 2019. Springer Series: Advances in Intelligent Systems and Computing (2019) 22. Al-Fedaghi, S., Al-Saraf, M.: Thinging the robotic architectural structure. In: Proceedings of the 2020 3rd International Conference on Mechatronics, Control and Robotics, Tokyo, Japan, 22–24 February 2020 23. Al-Fedaghi, S., Hassouneh, A.: Modeling the Engineering Process as a thinging machine: a case study of chip manufacturing. In: Proceedings of the 8th Computer Science On-line Conference (CSOC 2019). Springer Advances in Intelligent Systems and Computin (2019). ISSN 2194-5357 24. Al-Fedaghi, S., Haidar, E.: Programming is diagramming is programming. J. Softw. 14(9), 410–422 (2019) 25. Steiner, H.G.: Theory of mathematical education: an introduction. Learn. Math. 5(2), 11–17 (1985) 26. Sfard, A.: On the dual nature of mathematical conceptions: reflections on processes and objects as different sides of the same coin. Educ. Stud. Math. 22(1), 1–36 (1991) 27. Heidegger, M.: The thing. In: Hofstadter, A. (trans.) Poetry, Language, Thought, pp. 161–184. Harper & Row, New York (1975) 28. Bjögvinsson, E., Ehn, P., Hillgren, P.-A.: Design things and design thinking: contemporary participatory design challenges. Des. Issues 28(3), 101–116 (2012) 29. Pieters, W.: On thinging things and serving services: technological mediation and inseparable goods. Ethics Inf. Technol. 15(3), 195–208 (2013) 30. Edwards, J.C.: The thinging of the thing: the ethic of conditionality in Heidegger’s later work. In: Dreyfus, H.L., Wrathall, M.A. (eds.) A Companion to Heidegger, Chapter 28, pp. 93–112. Blackwell Publishing, Cambridge (2004) 31. Latour, B.: Why has critique run out of steam? Crit. Inq. 30(2), 225–248 (2004) 32. Heidegger, M.: Being and time. In: Macquarrie, J., Robinson, E. (trans.) SCM Press, London (1962) 33. Whitehead, A.N.: The Concept of Nature. Cambridge University Press, Cambridge (1964) 34. Juneja, P.: Components of a process. Management Study Guide Site. https://www.manage mentstudyguide.com/components-of-a-process.htm. Accessed 4 Jan 2020 35. Visual Paradigm. BPMN Tutorial with Example - The Leave Application Process 26 February 2015. https://www.visual-paradigm.com/tutorials/bpmn-tutorial-with-example.jsp? format=pdf. Accessed 10 Jan 2020 36. OMG: ISI/IEC 19510 Business Process Model and Notation (BPMN) (2013). https://www. omg.org/spec/BPMN/ISO/19510/PDF. Accessed 7 Jan 2020

The Study of Optimization Method for Axisymmetric Aerodynamic Profile in the Gas Flow by Using Evolutionary Algorithms Nikolay Nikolaevich Chernov , Alexander Viktorovich Palii , Vladimir Vladimirovich Ignatyev(B) , Andrey Vladimirovich Kovalev , Andrey Michailovich Maevskiy , and Aleksandr Viktorovich Maksimov Southern Federal University, Bolshaya Sadovaya Street, 105/42, Rostov-on-Don 344006, Russia [email protected], [email protected]

Abstract. One of the important and urgent problems of modern aerodynamics is to optimize the shape of a body in a gas flow in order to minimize its aerodynamic drag. The paper considers the possibility of using evolutionary algorithms to optimize the axisymmetric aerodynamic profile in the gas flow. Analytical solution of such problems is possible with the help of conformal maps and only for a narrow range of bodies of simple forms. The presented model is very flexible and can describe a wide range of bodies (profiles) using a certain, minimized number of free parameters. The use of the optimization method by means of evolutionary algorithms allows us to obtain a mathematical model describing the shape of the aerodynamic profile, which easily allows the operator to vary the parameters. It is shown that the value of the aerodynamic drag force for the axisymmetric body of the optimized shape is lower than the values for the bodies of rotation and the known profiles taken for comparison. As a result of the work, simulation modeling of the aerodynamic profile specified in a parametric manner was carried out using the coefficient of the basic profile shape, wing chord thickness parameter and other parameters. The presented simulation results provide a set of necessary coordinates describing the optimized profile structure taking into account the 20% change in the initial geometry #CSOC1120 Keywords: Evolution optimization algorithms · Aerodynamic profile · Simulation modeling · Navier-Stokes equations · Minimizing the aerodynamic drag of the body in a gas flow

1 Introduction The need for theoretical and experimental studies of aerodynamic characteristics of engineering structures is associated with ensuring reliability and performance. The importance of improving aerodynamic performance is important not only in aircraft and rocket engineering and engineering structures under wind load. © Springer Nature Switzerland AG 2020 R. Silhavy (Ed.): CSOC 2020, AISC 1224, pp. 380–387, 2020. https://doi.org/10.1007/978-3-030-51965-0_33

The Study of Optimization Method for Axisymmetric Aerodynamic Profile

381

These processes are important in the design, construction and operation in such various fields as automotive, energy, food, chemical and oil. For example, in construction, it is necessary to predict and calculate wind loads on buildings, in the automotive industry – to minimize the aerodynamic drag of a car, and in the food industry – in high-precision devices for sorting waste, grain, legumes and oilseeds in the air stream, successfully implemented in photo separators. Obtaining the optimal characteristics of the aerodynamic profile (AP) of the wing is of great interest, especially in view of obtaining the most accurate solution of the Navier-Stokes equation, which in itself is quite a difficult task [1, 2]. At the moment, there are a number of developed methods that are able to predict and show the acting forces on the AP located in the aerodynamic flow and give an idea of what resistance forces and lifting forces act on the profile of a given shape [3, 4]. Analytical methods [5–7], CFD analysis methods [8] can be applied, but all of them require large time costs, are not accurate enough and also require significant computing power. On the other hand, the process of constructing the “reverse design” of the AP, which is the reverse construction of the profile geometry according to the available known parameters, is an even more complex task. As a rule, such works are performed by means of geometry reconstruction from the given parameters of pressure distribution [9]. In this article, a system was developed that implements the geometry of an access point, taking into account the imposed restrictions and predetermined known conditions. The scientific novelty of the work is the method presented by the authors, which includes the use of genetic algorithms that, based on evolutionary methods, using the study area of a given profile and flow rate as input, will build a geometric structure for an optimal access point.

2 Proposed Model The main objective of the study is to obtain the optimal form of the AP using neural network algorithms that allow the design of the AP based on the data on the initial velocity and the initial profile shape. The main evaluation criterion is the index of aerodynamic quality. A similar problem has already been solved previously [10] and we can use wellknown developments to solve our. Previously [8], we obtained the shape of an optimal aerodynamic body with minimal aerodynamic drag, which was reduced to calculating the mathematical formula for a curve (streamline) forming this body by rotating about a axis that coincides with the direction of flow at a given speed of 10 m/s (Fig. 1). This form was obtained by rotating the profile (curve), relative to the axis coinciding with the direction of flow. The results of a computational experiment conducted in the universal software system of the finite element (FEM) Ansys Fluent analysis showed that when an aerodynamic flow is flown around this form at a speed of 10 m/s, there is practically no separation of the flow from the surface, which confirms that coincides with the current lines [8].

382

N. N. Chernov et al.

Fig. 1. The optimized body shape for a flow velocity of 10 m/s.

In this article, from the simulation, we obtain a set of points characterizing the profile. After saving the data in the.dat format (Fig. 2), import it into the MATHLAB application package for further modeling.

Fig. 2. Set of points characterizing the profile.

Carrying out the import (Fig. 3). In the software, the profile curve is adjusted according to the sample of the loaded aerodynamic profile. In this package, the aerodynamic profile is described by the following equation [10]: X (θ ) = 0,5 + 0,5

|Cosθ |B , Cosθ

(1)

The Study of Optimization Method for Axisymmetric Aerodynamic Profile

383

Fig. 3. Optimized profile form compared to the sample.

Y (θ ) =

   T |Sinθ |B  1 − X P + CSin X E π + RSin(X 2π ), 2 Sinθ

(2)

where B – the coefficient of the wing front part basic shape; T – the thickness of the wing chord; P – the taper index; C – the camber, as chord share; E – the camber index, determining the location of the maximum camber point; R – the reflex index. Performance optimization is performed in several stages. As a sample profile (Fig. 3), one of the main profiles of the known NACA is selected [11–15]. Initially, the form settings are configured in accordance with the selected profile. Due to the limited accuracy of the curve fitting and the limitations arising from the relatively small number of free parameters of the equation, there may be some difference compared to the original profile [16–24].

3 Result Analysis As a result of tuning, we obtain the following parameters of the profile under study (Fig. 4). Configure the simulation parameters by determining the Reynolds number parameter based on the given speed v = 10 m/s. To calculate the Reynolds number of the flow, use the expression: Re =

4vR , γ

(3)

where v – the average flow velocity, m/s; γ – the kinematic viscosity, m2 /s; R – the hydraulic radius, for a round pipe R = d/4, d – the diameter of the pipe, m.

384

N. N. Chernov et al.

Fig. 4. Parameters of the studied profile.

Taking as the diameter of the considered modeling area (pipe) 10 mm, as the kinematic viscosity, take air at a temperature of 20 °C obtain Re = 662251,656. Let is carry out simulation modeling with the given Reynolds number parameters and the following model settings: the main parameters of the B,T,P,C profile from the equation are selected as the optimization; the number of generations (generations evolutions) = 7; the generation change recalculation step = 0,5; the parameter of the permissible shape geometry change is 0,2 (20% of the initial shape). The obtained parameters of the aerodynamic profile curve are shown in Fig. 5.

Fig. 5. The obtained parameters of the aerodynamic profile.

The Study of Optimization Method for Axisymmetric Aerodynamic Profile

385

It should be noted separately that when modeling the algorithm picked up a single parameter t = 0,1, that is, the thickness value of the wing chord, which corresponds to the simulation conducted earlier in Ansys. The main indicator of optimization is the reduction of drag force, which corresponds to an increased value of the aerodynamic quality of the wing (L/D graph).

4 Discussion In some cases, in particular at low Reynolds values, this indicator will differ by an order of magnitude. The geometric structure of the profile was subject to some changes within the specified limits ±20%. Thus, the resulting geometry is somewhat modified from the original. Characteristic is the front part rounding of the upper and lower wing chord, increasing the curvature radius of the nose profile, and the change in the rear of the AP, expressed by the narrowing of the rear edge and the formation of a certain sweep. This is justified by the fact that the necessary component of reducing the drag force coefficient is such a shape of the profile that could provide at a given speed the retention of a smooth flow from the wing chord, rather than disrupting it.

5 Conclusion In conclusion, it should be noted that as result of the application of evolutionary algorithms, the authors were able to confirm the previously obtained theoretical conclusions and optimize the aerodynamic characteristics of the axisymmetric aerodynamic profile in the gas flow. The work confirms the relevance of the chosen research topic. The possibility of an analytical solution of such problems is shown to be possible using conformal mappings and only for a narrow circle of bodies of simple forms. As the analysis shows, the method based on neural networks with evolutionary genetic algorithms allows the implementation of the “reverse design” of the AP according to the given initial characteristics. Thanks to this approach, it is possible to develop an aerodynamic profile of the best geometric shape for certain initial conditions. It is shown that the resulting model can describe a wide range of bodies (profiles) using a specific, minimized number of free parameters varied by the operator. The main result can be considered confirmation that the value of the aerodynamic drag force for the considered axisymmetric body of optimized shape is lower than the similar values for bodies of revolution and known profiles taken for comparison. Acknowledgements. This work was supported by a project carried out as part of a competition for the development of cooperation between Russian higher education institutions, state scientific institutions and organizations of the real sector of the economy in order to implement complex projects to create high-tech industries (turn 11, code number 2019-218-11). Topic: «Creating a high-tech production of hardware and software systems for processing agricultural raw materials based on microwave radiation» . Deadlines: 2019–2021. Project with JSC «Taganrog Research Institute of Communications» . № HD/19-25-RT.

386

N. N. Chernov et al.

References 1. Il’yushin, A.A.: Mechanics Splice. Lenand, Moscow (2014) 2. Garbuzov, V.M., Ermakov A.L., Kublanov M.S., Tsipenko V.G.: Aeromechanics. Transport, Moscow, Russia (2000) 3. Loitsianskii, L.G.: Fluid and Gas Mechanics. Drofa, Moscow (2003) 4. Palii, A.V.: Mass transfering and basic equations of aerodynamics. piece. TTI SFeDU, Taganrog, Russia (2012) 5. Pradhan, S.: The generalized Onsager model for a binary gas mixture with swirling feed. In: 8th AIAA Theoretical Fluid Mechanics Conference, pp. 214–220 (2017) 6. Yin, Z., Gao, C., Yang, X.: Numerical study of hydrodynamic behavior of heaving cylinder buoy under regularwave. Taiyangneng Xuebao Acta Energiae Solaris Sinica 38(12), 3363– 3367 (2017) 7. Mokhtari, M., Permoon, M.R., Haddadpour, H.: Aeroelastic analysis of sandwich cylinder with fractional viscoelastic core described by Zener model. J. Fluids Struct. 85, 1–16 (2019) 8. Chernov, N.N., Palii, A.V., Saenko, A.V., Maevskii, A.M.: A method of body shape optimization for decreasing the aerodynamic drag force in gas flow. Tech. Phys. Lett. 4, 328–330 (2018) 9. Gorskiy, V.V., Sysenko, V.A.: Modeling of gas flow through laminar boundary debris on the surface of the hemisphere in supersonic air flow. Math. Model. Numer. Methods 4(4), 88–94 (2014) 10. Ziemkiewicz, D.: Simple analytic equation for airfoil shape description. https://arxiv.org/abs/ 1701.00817. Accessed 21 Jan 2020 11. Chung, T.J.: Computational Fluid Dynamics. Cambridge University Press, Cambridge (2002) 12. He, S., He, K., Seddighi, M.: Laminarisation of flow at low reynolds number due to streamwise body force. J. Fluid Mech. 809, 31–71 (2016) 13. Moallemi, M., Clifford, J., Neighbors, J., Pesce, J., Towhidnejad, M.: Flight dynamics and surveillance equipment simulation for trajectory based operation in unmanned aerial systems. In: AIAA/IEEE Digital Avionics Systems Conference – Proceedings, art. 7778002 (2016) 14. M’int, Z.M., Khlopkov, A.Y.: Aerodynamic characteristics of aircraft hardware of complex shape taking into account potential interaction of molecular flux with the surface. Scientists Note TSAGI 41(5), 33–45 (2010) 15. Faraponov, V.V., Savkin, N.V., Dyachevsky, A.S., Chupashev, A.V.: Aerodynamics of bodies with small elongation in subsonic and near-sound modes of flow. News Phys. 56(6–3), 77–79 (2013) 16. Rivers, R.A., Wilborn, J.E., Gato, W.: Dynamics modeling and simulation of large transport aircraft in upset conditions. In: AIAA Guidance, Navigation, and Control Conference and Exhibit. - San Francisco, CA, USA 17. Orlik-Rueckemann, K.J.: Aerodynamic aspects of aircraft dynamics at high angles of attack. J. Aircr. 20(9), 737–752 (1983) 18. Soltani, M.R., Bragg, M.B.: Experimental measurements on an oscillating 70-degree delta wing in subsonic flow. Technical report, AIAA 88-2576 (1988) 19. Pelletier, A., Nelson, R.C.: An experimental study of static and dynamic vortex breakdown on slender delta wing planforms. Technical report AIAA-94-1879 (1994) 20. Liu, J., Hou, Z., Chen, X., Gao, X.: Numerical simulation on the aerodynamic performance of hypersonic glide vehicle. J. Nat. Univ. Defense Technol. 34(4), 22–27 (2012). Guofang Keji Daxue Xuebao 21. Chapra, S.C., Canale, R.P.: Numerical Methods for Engineers. McGraw Hill, New York (1998) 22. Da Roncli, A., Vallespin, D., Ghoreyshi, M., Badcock, K.J.: Evaluation of dynamic derivatives using computational fluid dynamics. AIAA J. 50(2), 470–484 (2012)

The Study of Optimization Method for Axisymmetric Aerodynamic Profile

387

23. Ignatyev, V., Soloviev, V., Beloglazov, D., Kureychik, V., Kovalev, A., Ignatyeva, A.: The fuzzy rule base automatic optimization method of intelligent controllers for technical objects using fuzzy clustering. In: Creativity in Intelligent Technologies and Data Science Third Conference, CIT&DS 2019, Volgograd, Russia, pp. 135–152 (2019) 24. Ignatyev, V., Soloviev, V., Beloglazov, D., Kureychik, V., Ignatyeva, A., Vorotova, A.: System for automatic adjustment of intelligent controller parameters. In: Creativity in Intelligent Technologies and Data Science Third Conference CIT&DS 2019, Volgograd, Russia, pp. 226– 242 (2019)

MicroPython as a Development Platform for IoT Applications Gabriel Gaspar1 , Peter Fabo2(B) , Michal Kuba3 , Juraj Dudak1 , and Eduard Nemlaha1 1 Faculty of Materials Science and Technology in Trnava, Slovak University of Technology in

Bratislava, Jana Bottu 2781/25, 917 24 Trnava, Slovakia {gaspar,juraj.dudak,eduard.nemlaha}@stuba.sk 2 TNtech, s.r.o., Lucna 1014/9, 014 01 Bytca, Slovakia [email protected] 3 Faculty of Electrical Engineering and Information Technology, University of Žilina, Žilina, Slovakia [email protected]

Abstract. The paper is focused on the possibilities of using high-level language Python in the development of IoT applications. Described are the basic features of the MicroPython implementation and its use in the development of peripherals on the STM32 class microcontroller platform, as well as the possibilities of modification and extension of the standard implementation. Further are mentioned terms of code portability, modularity, flexibility, scalability and expandability significant for MicroPython applications. Keywords: Microcontroler · Python · High-level programming language · IoT · Sensor

1 Introduction With the increasing performance of microcontrollers, the possibilities of their utilization are currently rapidly shifting to areas that were reserved for high-performance computers or computing centers a few years ago. Relatively simple chips, often consisting only of MCUs and necessary peripherals, primarily intended for operation and simple sensor data processing, have evolved into complex devices containing on-chip universal components required to create a compact and cost-effective control, collection, processing and transport sensory data system. The outcome of this revolution is the tremendous development of IoT technology, but this as such requires a different development approach, than that of conventional technologies. The essence of the approach is to use technical means (communication interfaces, converters, memory) in an abstract form and to concentrate creativity and attention on the processing of data itself and interaction with the environment. Usability range of such applications is wide, from development of simple sensors used in industrial environment such as machinery, automotive, constructions [1, 2] to complex sensory systems with implemented prediction and analysis functions [3, 4]. © Springer Nature Switzerland AG 2020 R. Silhavy (Ed.): CSOC 2020, AISC 1224, pp. 388–394, 2020. https://doi.org/10.1007/978-3-030-51965-0_34

MicroPython as a Development Platform for IoT Applications

389

2 IoT Based Application Development The development of a typical IoT application most usually consists of two essential development tasks: • Development related to the operation of hardware - input devices and sensors, display and signaling elements and output devices. This can take several levels - from simply connecting a standard element to a standardized interface (I2C, SPI, …) and creating the appropriate API for its operation, to developing its own dedicated sensor or output device with firmware, communication interface, implementation and data processing and unique API. • Development related to own application - from a simple communication application to an extensive system communicating over the Internet. Because individual development from the ground up is demanding and time-consuming, many operating systems have been created for the implementation of IoT applications in recent years [5]. A typical representative is the Zephyr [6] project, which is ported to more than 200 platforms, with basic peripheral handling implemented for every individual platform. It includes a micro or nanokernel depending on device performance, supports multithreading and non-preemptive and preemptive scheduling, programming languages are C and C++. It is obvious, that the development of an IoT application requires the development and usage of development tools whose preparation and debugging may take considerable time depending on the size of the application. One of the ways to simplify this stage is using a flexible universal tool allowing interactive work and testing of individual parts of IoT application. In the next chapter we will show the possibilities and advantages of using Python interpreter as a development tool for IoT applications.

3 MicroPython Python is widely regarded as a high-level programming language far from hardware, but it can also be considered as an excellent tool that will be useful in hardware development. MicroPython [7] is a transcript of the reference implementation of CPython of Python language for microcontrollers. The implementation is ported to different target platforms, is scalable and open-source. Its popularity is also evidenced by the fact that there are currently about 2,000 different forks on the github, with various useful modifications for various development and experimental boards. From an application point of view, the use of MicroPython is simple as firmware is loaded by standard programming software (flash-tool) for a particular type of microcontroller into its flash memory and usually communicates with the terminal application on the computer via emulation of the serial interface. Simplified comparison of classical development platform architecture to platform based on MicroPython is shown in Fig. 1. The field of MicroPython (and its forks) applications can be divided into several categories:

390

G. Gaspar et al.

Fig. 1. Comparison of standard development platform architecture to one based on MicroPython

• Teaching and education - MicroPython provides the ability to interactively work with a microcontroller in a REPL (Read-Eval-Print Loop) loop. With direct access to the peripherals of the microcotroler via any terminal emulator without the need to write and explain the amount of code needed for initialization and elementary communication, the basic principles of data collection and processing can be explained to students on a large number of supported boards in addition to a simple programming language. • Development and testing of peripherals and sensors - MicroPython provides debugged and tried-and-tested reference implementations of microcontroller interfaces, eliminating the need for the developer to implement the entire vertical structure associated with communicating and controlling peripheral devices. Modern integrated peripherals communicating via serial interfaces (I2C, SPI, CAN …) are controlled by writing and reading values often from tens of different registers, with different meaning of individual bits and mutual interconnection of values. By directly interacting in a simple and popular language with the device registers, it is possible to easily verify the function of peripherals, develop and debug the appropriate hardware and algorithms for controlling and collecting data from the device. Thanks to the hardware abstraction and universality of implementation it is possible to use other platforms for the development than the target one, without the need of detailed knowledge of its programming. • Monitoring and configuration tool for complex applications - extensive applications on powerful microcontrollers and FPGAs often include the implementation of independent aids to monitor and set-up of system parameters, for FPGAs it is often SW implementation of one of the small microprocessors (8051, Z80 …), the program for these microprocessors allows monitoring and setting-up system parameters and configuration. The first attempts to implement MicroPython on FPGAs [8] show the prospect of further development. In the field of operating systems, there is a MicroPython experimental port for monitoring and setting up Linux kernel parameters [11]. With microcontrollers, the situation is easier, there is a direct port of MicroPython as a Zephyr application [9].

MicroPython as a Development Platform for IoT Applications

391

It is obvious, that with the appropriate design of the microcontroller-based device with connected peripheral devices, we can achieve a situation where it is possible to easily replace MicroPython with the device firmware during the development as well as the final IoT device or vice versa for further development, upgrades or modifications.

4 Application Possibilities in IoT Development on STM32 Platform The possibilities of using MicroPython in IoT development can be demonstrated using the STM32 class microcontroller platform. This class of popular microcontrollers contains a wide range of types varying in performance, memory, peripherals and power optimization options. Although the STM32 platform is not officially supported in the MicroPython distribution, we can still find a port for some basic members of this platform in the MicroPython source code, and the custom firmware compilation for the selected microcontroller type is no problem thanks to thorough and complex documentation. 4.1 Code Portability Through the intensive use of Hardware Abstraction Layer (HAL) technology, MicroPython enables code portability not only between microcontrollers within a single platform, but also across the full range of devices on which it is ported to. In the following simple program sample, data is read from the thermometer and the temperature comparator LM92 [10] connected to the I2C bus number one. The data is read as 2 bytes from TEMPERATURE REGISTER at address 0, the chip contains 7 registers for reading data and setting comparator thresholds and hysteresis. import machine def read_LM92_TR(ic, addr): raw = ic.readfrom_mem(addr, 0, 2) # read 2 bytes from register 0 data = (raw[0] < < 8) + raw[5] # 16 bit format conversion td = data > >3 # 2’compl b15-b3 temperature TEMP = (-(td & 0x1000) | (td & 0xFFF))* 0.0625 L = data & 0x01 # T_LOW - >H, TEMP < 10 deg H = (data & 0x02) > > 1 # T_HIGH - > H TEMP > 64 deg C = (data & 0x04) > > 2 # T_CRIT ->H TEMP > 80 deg return TEMP, C, H, L # MCU STM32L432KC init I2C interface, PA10-SDA, PA9-SCL ic = machine.I2C(1) print(ic.scan()) # - > [75] list of all devices in I2C(1) print(read_LM92_TR(ic, 75)) # - > (24.5625, 0, 0, 0)

The given program will be fully functional not only on all supported microcontrollers from the STM32 class, but also on any device to which MicroPython is ported to and which includes an I2C interface on board. Therefore, if higher requirements are placed on the development of a peripheral device, the development itself can be realized on a higher-class processor and use a simpler processor for the final application after the implementation is done.

392

G. Gaspar et al.

4.2 Modularity In order to avoid having to re-load the debugged code into the MicroPython environment after a microcontroller reset, it allows you to add a new code (frozen module) as a library that will become part of the firmware. The whole process is very simple and consists of saving the Python library code file to the ./modules directory and then compiling the firmware and uploading it to the microcontroller. The library is available using the standard import command. For microcontrollers with larger FLASH memory, its free part can be used as a storage medium mapped as a file system. The os library provides basic functions for directory creation and file manipulation. The file system is also available outside the MicroPython environment, using the pyboard utility it is possible to save, delete files and create a directory structure. 4.3 Development Platform Flexibility and Scalability The basic MicroPython version without libraries, takes about 20 KB in size after compiling, but when configuring for individual platforms, the creators tried optimally use the microcontroller flash memory by adding as many standard libraries as possible and peripherals support. If the microcontroller contains larger FLASH and RAM memory, the firmware includes the option of mapping the memory as a file system, which can also include external storage media such as SD card, etc. If some libraries and drivers are not needed during the development, the firmware configuration can be modified according to current needs. MicroPython uses the *mpconfigboard.h* file to configure the target firmware for each platform. This contains variables by which we can include or exclude selected parts of the source code from the firmware compilation. 4.4 Expandability When developing non-standard peripherals, the standard drivers included in MicroPython may not suit and may require low-level peripheral operations. Similar to the standard Python, MicroPython can be extended with native modules written in C /C++ and which can also use system libraries to handle microcontroller peripherals. To create a module, just like in a standard Python, we must create an interface between the native module and its representation in Python. For standard Python, there are code generators, e.g. SWIG that generates the necessary interface based on the module’s source code. In MicroPython, the reverse procedure is used, we can use the interface generator (stub) [12, 13], which creates a stub consisting of macros in C based on the function declaration in Python. # File blink.py, Python ver. 3.7 # Interface functions declaration def init()- > None: “““ Function for port initialization and pin setting with on-board LED, on NUCLEO_STM32L432KC the LED is connected to PORTB, PIN3

MicroPython as a Development Platform for IoT Applications

393

“““ def blink(n: int, delay: int) - > None: “““ LED blink :param n: number of blinks :param b: delay :return: None”““

Based on this declaration, we will generate [13] stub to which we will add the implementation of the function. An example of a part of the code with the implementation using the STM32 Low-Level library is below: … STATIC mp_obj_t blink_blink(mp_obj_t n_obj, mp_obj_t delay_obj) { mp_int_t n =mp_obj_get_int(n_obj); mp_int_t delay = mp_obj_get_int(delay_obj); int i = 0; for(i =0; i< n; i ++){ LL_mDelay(delay); LL_GPIO_TogglePin(GPIOB, LL_GPIO_PIN_3); } return mp_const_none; } MP_DEFINE_CONST_FUN_OBJ_2(blink_blink_obj, blink_blink); …

5 Conclusions MicroPython applications on today’s microcontrollers provides elegant support for IoT applications development, which implements routine standard high-level peripheral operation using proven and debugged libraries, allowing the developer to focus their creative potential on designing and developing their own hardware, drivers, conversion and data processing. At the same time, it also allows the creation of low-level modules that can be used in the final firmware. MicroPython has a great potential for the future growth as it not only offers extensive documentation, but also supports many different development boards. It’s ongoing development and rising community support guarantees successful position in the area of development tools for the upcoming years. Acknowledgments. This contribution was written with the financial support of VEGA agency within the project 1/0232/18 “Using the methods of multi-objective optimization in a production processes control. This work was supported in part by VEGA through the Holistic Approach of Knowledge Discovery From Production Data in Compliance With Industry 4.0 Concept Project under Grant 1/0272/18. This paper was supported with project of basic research: Expanding the base of theoretical hypotheses and initiating assumptions to ensure scientific progress in methods of monitoring hydrometeors in the lower troposphere”, which is funded by the R&D Incentives contract.

394

G. Gaspar et al.

The authors acknowledge the support of the VEGA 2/0015/18 grant Meso- and micrometeorological exploration of the occurrence of hydrometeors in boundary layer of troposphere based on passive evaluation of changes of electromagnetic radiation from anthropogenic sources.

References 1. Florková, Z., Šedivý, S., Pepucha, L.: Analysis of results of the aggregate microtexture evaluation by volumetric characteristics. In: MATEC Web of Conferences, vol. 117 (2017). https:// doi.org/10.1051/matecconf/201711700046. http://www.matec-conferences.org/10.1051/mat ecconf/201711700046. ISSN 2261-236X 2. Florkova, Z., Pepucha, L., Sedivy, S., Veselovsky, M.: The comparison of aggregate microtexture evaluation approach based on three dimensional image analysis and profile based evaluation (2017). https://doi.org/10.5593/sgem2017/23/s10.034. https://www.sgem.org/index.php/ elibrary?view=publication&task=show&id=3204 3. Strieska, M., Kotes, P., Bujnakova, P., Jost, J., Farbak, M.: Sensitivity analysis of zinc doseresponse function according to actual standard approach. In: IOP Conference Series: Materials Science and Engineering, vol. 661 (2019). https://doi.org/10.1088/1757-899x/661/1/012072. https://iopscience.iop.org/article/10.1088/1757-899X/661/1/012072. ISSN 1757-899X 4. Bujnakova, P, Jost, J., Farbak, M., Kotes, P.: Experimental study of the modulus of elasticity of concrete at different ambient temperature. In: IOP Conference Series: Materials Science and Engineering, vol. 549 (2019). https://doi.org/10.1088/1757-899x/549/1/012049. https:// iopscience.iop.org/article/10.1088/1757-899X/549/1/012049. ISSN 1757-899X 5. Zikria, Y.B.: Internet of Things (IoT) operating systems management: opportunities, challenges, and solution https://doi.org/10.3390/s19081793. https://www.researchgate.net/pub lication/332415379_Internet_of_Things_IoT_Operating_Systems_Management_Opportuni ties_Challenges_and_Solution 6. Zephyr Project | Home [online]. San Francisco, USA: Linux Foundation Project (2020). https://www.zephyrproject.org/. Accessed 30 Jan 2020 7. MicroPython - Python for microcontrollers [online]. England: George Robotics (2020). http:// micropython.org/. Accessed 30 Jan 2020 8. Welcome to FPGA MicroPython (FµPy) | fupy.github.io [online]. Wellington: Ewen McNeill (2020). https://fupy.github.io/. Accessed 30 Jan 2020 9. Micropython/ports/zephyr at master · micropython/micropython · GitHub [online]. San Francisco, USA: GitHub (2020). https://github.com/micropython/micropython/tree/master/ports/ zephyr. Accessed 30 Jan 2020 10. Texas Instruments, Inc. [online datasheet]. LM92 (2013). http://www.ti.com/lit/ds/symlink/ lm92.pdf. Accessed 30 Jan 2020 11. Goldschmidt, Y.: Running Python in the Linux Kernel. In: Running Python in the Linux Kernel - Yonatan Goldschmidt - Medium [online]. WEB: A Medium Corporation (2020). https://medium.com/@yon.goldschmidt/running-python-in-the-linux-kernel-7cbcbd 44503c. Accessed 30 Jan 2020 12. GitHub - pazzarpj/micropython-ustubby: Library for building micropython c extensions using python [online]. San Francisco, USA: GitHub (2020). https://github.com/pazzarpj/microp ython-ustubby. Accessed 30 Jan 2020 13. GitHub - SummerLife/micropython-ustubby: Library for building micropython c extensions using python [online]. San Francisco, USA: GitHub (2020). https://github.com/SummerLife/ micropython-ustubby. Accessed 30 Jan 2020

Cycle-Breaking Approach to Reduce Inconsistency in Pairwise Comparisons Vladimir Sudakov1,2

and Alexey Kurennykh3(B)

1 Keldysh Institute of Applied Mathematics (RAS), 125047 Moscow, Russia 2 Plekhanov Russian University of Economics, 117997 Moscow, Russia 3 Moscow Aviation University (National Research University), 125993 Moscow, Russia

[email protected]

Abstract. This article deals with the question of judgments consistency in the pairwise comparisons method - a common tool in the problem of alternatives ranking. First, we identified criteria that are important for decision maker and formulated the problem in the form of optimization task. Basing on the main axiom of decision-making - transitivity of judgments and using Saaty’s consistency index we provided an effective algorithm to search for and improve inconsistent situations. In the end, we present some of results that we had achieved during test computations and analyze them. It was stated that developed software shows good enough results with a respect to a restrictions and optimization criteria. Suggested method was implemented in Web Services for Decision Support Systems wsdss.com using Python and Ruby. We support the open-source software, so proposed services are available for researchers and developers via web-interface or RESTful API on any form factor #CSOC1120. Keywords: Pairwise comparisons · Consistency index · Inconsistency reduction

1 Introduction Multicriteria decision-making is widely applied in modern scientific and technical problems, its main goal is to rank a finite set of alternatives with respect to their properties. It is no doubt that decision-making is a really hard process that requires usage of special software – Decision Support Systems (DSS) and strongly depends on decision-maker’s experience and views. DSS are designed to face the challenges of selection the best variant out of a finite set of objects that commonly are called alternatives. Its implementation contains special mathematical methods that allow finding solution of ranking problems, to solve optimization tasks etc. One of the most famous and widely applied method is the method of pairwise comparisons.

2 Review The method of pairwise comparisons is useful and clear way to make judgements during multicriteria decision process: it is about to compare just two objects and find out which © Springer Nature Switzerland AG 2020 R. Silhavy (Ed.): CSOC 2020, AISC 1224, pp. 395–400, 2020. https://doi.org/10.1007/978-3-030-51965-0_35

396

V. Sudakov and A. Kurennykh

one is better, as it is easier than taking into consideration the whole problem with all its alternatives. Pairwise comparisons is the basic method for the Analytic Hierarchy Process (AHP) [1], the Preference Ranking Organization Method for Enrichment of Evaluations [2] in multicriteria decision-making. It is also used in its pure form in many modern problems such as business [3], management [4] and healthcare [5]. Thomas L. Saaty made a great contribution to popularization of the pairwise comparisons method as the author of AHP and his latest researches on neurons and artificial intelligence [6–8]. In 1993 W. Koczkodaj said that the failure of the pairwise comparisons method to become more popular has its roots in the inconsistency [9], and so it is – the main weakness of this method is a high load for an expert that deals with it and it leads to incorrect situations with judgments called inconsistency. There are different ways to figure out whether pairwise comparisons are consistent enough or not. The most common and known one is Saaty’s consistency index (CI) [1], also there is Koczkodaj CI [9], Aguaron and Moreno-Jimenez CI [10] and other indices and metrics. However, not all these measures can indicate the source of inconsistency, so there are many investigations that introduce computer methods to increase consistency of judgements without the necessity of starting decision process from scratch. For example, effective methods of consistency incensement are presented in [11–13], the authors use the idea of the most inconsistent triad in their algorithms. Furthermore, some optimization methods show good results in test cases [14, 15]. Since that point on it is clear that pairwise comparisons method is really important for scientific and technical tasks and the inconsistency problem is still to be solved.

3 Formulation of the Problem The main object in the pairwise comparisons method we have to deal with is matrix. A n × n matrix A = [aij ] is called a pairwise comparisons matrix if all its elements are positive and reciprocal for any i, j = 1, n. Pairwise comparisons matrix is consistent if for any set of indexes i, j, k = 1, n it satisfies the transitivity property: aik = aij × ajk

(1)

In any other case one have to use measures, for example, the authors use Saaty’s CI to estimate consistency of a given matrix: CIA =

λmax − n n−1

(2)

λmax is the largest eigenvalue of A. It is considered that a pairwise comparisons matrix is enough consisted if its CI is less than 0.1.

4 Method Therefore, the root of problem’s solution is to reduce CI as much as possible with a respect to expert’s subjective preferences. It is possible to visualize ones preferences with a oriented graph of domination (see Fig. 1).

Cycle-Breaking Approach to Reduce Inconsistency

397

Fig. 1. Graph for the relation of strict dominance according to the results of pairwise comparisons.

In order to find out quality violations, we developed an algorithm to identify and eliminate cycles. For each cycle, it is enough to change the direction of just one arc in this cycle. Some arcs occur in several cycles, so it is potentially possible that changing the direction of one arc will allow you to break more than one cycle. To search for the required adjustments in the oriented graph, we created the following algorithm that further has to be formulated as an optimization task: 1. For each arc that is present in the cycles, a binary variable is set up with the possible values 0 – if the direction of the arc is not changed and 1 – if the direction of the arc is changed. 2. For each cycle is recorded a disjoint of variables corresponding to the arcs in it. 3. The conjunction of all clauses obtained in the previous step constitutes a limitation of the optimization problem in the form of conjunctive normal form; it should be equal to 1. 4. The objective function is the arithmetic sum of binary variables corresponding to arcs. The direction of optimization is to a minimum. Let us sum up the above statements with the formalization below. Optimization function contains only binary variable that we assumed earlier on step 1. n  n  i=1 j=1

xij → min, i = j, xi,j = {0, 1}

(3)

398

V. Sudakov and A. Kurennykh

With restriction







cycles



⎞ xij ⎠ = 1

(4)

i,j∈cycle

Variable “cycle” in (4) stands for cycles in oriented graph (see Fig. 1). If the optimal solution includes an unsatisfactorily large number of arcs, then one should review pairwise comparisons or agree to a certain number of cycles (transitivity violations). The objective function in this case is obtained from the restriction obtained in step 3 of the above algorithm by replacing the conjunction with arithmetic addition. The direction of minimization is to a minimum. In addition, the primary objective function turns into a type restriction less than or equal to the permissible number of cycles. This can also be formalized.

 xij → max, i = j, xij = {0, 1} (5) cycles

i,j∈cycle n n

xi,j ≤ K

(6)

i=1 j=1

We use K in (6) as a additional restriction for quantity of possible transitivity violations. Optimal or rational solution of task (3) or (5) respectively is a key to the reduction of CI. Ever since the numbers of inconsistent relations are known it is possible to use any optimization method to compute rational value of dominance of one alternative over another, for example a useful method was purposed in [16].

5 Results For computation test, we have used 5 × 5 pairwise comparison matrix with initial CI more than allowed 0.1, moreover given matrix had cycle with alternatives 2–3–4. During the test algorithm had found cycle, that contributed inconsistency in the judgments. After calculations web-service had afforded variations for elements of initial matrix, so its CI had become nearly 0.05 (see Fig. 2) and there were no cycles after the matrix has been corrected. The authors developed software based on the created algorithms that is available to researchers in web-services for decision support systems ws-dss.com, the part of user interface is shown (see Fig. 2).

Cycle-Breaking Approach to Reduce Inconsistency

399

Fig. 2. Variations calculated for initial matrix to reduce its CI.

6 Conclusion The mathematical models and algorithms proposed in this project are new and original way to solve the consistency problem, they make it possible to detect and eliminate transitivity violations at the level of qualitative judgments, which are more rigorous than quantitative estimates. The proposed method for increasing the consistency of pairwise comparisons matrixes showed good results on test data during computations satisfies the optimization criterion, as well as the restrictions. The calculation time is satisfactory and can be reduced by using parallel computing. The developed software meets the requirements of wireframe architecture, and is available for use in third-party decision support systems. The authors look forward to integrate the proposed method into recommendation systems, information and analytical systems, monitoring systems, decision support systems, enterprise resource planning and management systems. Acknowledgements. This work was supported by RBFR, project 18-01-00382a.

400

V. Sudakov and A. Kurennykh

References 1. Saaty, T.: The Analytic Hierarchy Process. McGraw-Hill, New York (1980) 2. Brans, J.P., Vincke, Ph.: A preference ranking organisation method: (the PROMETHEE method for multiple criteria decision-making). Manag. Sci. 31(6), 647–656 (1985) 3. Saaty, T., Rokou, E.: How to prioritize inventions. World Pat. Inf. 48, 78–99 (2017) 4. Saaty, T., Pierfrancesco, P.: Rethinking design and urban planning for the cities of the future. Buildings 7(76), 1–22 (2017) 5. Kakiashvili, T., Koczkodaj, W., Magnot, J.P.: Approximate reasoning by pairwise comparisons: “topodynamics of metastable brains” by Arturo Tozzi, et al. Phys. Life Rev. 21, 37–39 (2017) 6. Saaty, T., Vargas, L.G.: Origin of neural firing and synthesis in making comparisons. Eur. J. Pure Appl. Math. 10(4), 602–613 (2017) 7. Saaty, T.: Neurons the decision makers, part I: the firing function of a single neuron. Neural Netw. 86, 102–114 (2017) 8. Saaty, T.: Part 2—The firings of many neurons and their density; the neural network its connections and field of firings. Neural Netw. 86, 115–122 (2017) 9. Koczkodaj, W.: A new definition of consistency of pairwise comparisons. Math. Comput. Model. 18(7), 79–84 (1993) 10. Aguarón, J., Moreno-Jiménez, J.M.: The geometric consistency index: Approximated thresholds. Eur. J. Oper. Res. 147, 137–145 (2003) 11. Koczkodaj, W., Szwarc, R.: On axiomatization of inconsistency indicators in pairwise comparisons. Fundamenta Informaticae 32(4), 485–500 (2014) 12. Koczkodaj, W., Szybowski, J.: The limit of inconsistency reduction in pairwise comparisons. Int. J. Appl. Math. Comput. Sci. 26(3), 721–729 (2016) 13. Szybowski, J.: The improvement of data in pairwise comparison matrices. Procedia Comput. Sci. 126, 1006–1013 (2018) 14. Khatwani, G., Kar, A.K.: Improving the cosine consistency Index for the analytic hierarchy process for solving multi-criteria decision making problems. Appl. Comput. Inf. 13(2), 118– 129 (2017) 15. Abel, E., Mikhailov, L., Keane, J.: Inconsistency reduction in decision making via multiobjective optimisation. Eur. J. Oper. Res. 267(1), 212–226 (2018) 16. Sudakov, V., Kurennykh, A.: Decision making in case of inconsistent pair comparison matrixes. In: 2019 International Russian Automation Conference (RusAutoCon), Sochi, Russia, pp. 1–5 (2019)

Statistical Analysis for Customer Product Reviews in Russian Internet Segment Using Text Mining Polina Tuchkova

and Vadim Sufiyanov(B)

Kalashnikov Izhevsk State Technical University, Izhevsk, Russia [email protected], [email protected]

Abstract. A growing number of companies begin to realize that data is a valuable resource and declare a data-driven approach to be a fundamental one. In this context certain advantages can be gained by analyzing customer opinions in the form of reviews posted on various web resources. In the paper, we analyze customer product reviews on the base of statistical approaches of Text Mining and machine learning models. The reviews were collected from Russian sites of popular online stores. Data analysis to solve classification problems was carried out in the R environment for statistical analysis. Despite not taking into account word order and relations between words within the bag-of-words model, the results show that a statistical approach to analyzing reviews in the case of classification allows achieving high results irrespective of a vector encoding type of a text. #CSOC1120 Keywords: Text Mining · Sentiment analysis · Classification · Reviews

1 Introduction In contemporary reality to gain competitive advantages it is not enough for a company to analyze only data supplied by somebody else or generated by a company itself. Various web resources development has led to the fact that companies have an access to a huge amount of data on their products [1] provided by customers in the form of reviews that are their opinions expressed in natural language [2]. Certain advantages (e.g. understanding customer opinions to make management decisions in good time) can be gained by a natural language processing [3]. Because reviews are unstructured data, a technology to convert them to a structured form for automatic processing and analyzing is needed. It is Text Mining that is such a technology. Reviews analysis studies are mainly devoted to reviews emotions detection and Sentiment Analysis as one of Text Mining tasks [4, 5]; in some studies it is also called Opinion Mining [6, 7]. It is worth noting that these methods take precedence over a rating as a simple averaging customer scores. As stated in the study [8], there may also be a discrepancy between a score and a review itself or the lack of a score at all due to different reasons. In some cases it is necessary to classify reviews not only by sentiment but by some other criteria. For example, in the study [9] reviews are classified to determine whether a review is fake or not. © Springer Nature Switzerland AG 2020 R. Silhavy (Ed.): CSOC 2020, AISC 1224, pp. 401–412, 2020. https://doi.org/10.1007/978-3-030-51965-0_36

402

P. Tuchkova and V. Sufiyanov

Studies on reviews analysis in Russian as one of the computational linguistics areas began not very long ago. An annual Dialogue conference makes a great contribution to the development of this field in Russia [10]. It should be noted that the processing of text data in Russian is complicated by the fact that the Russian language is rich in morphology language with unfixed word order and belongs to inflected languages. When making morphological analysis of Russian texts, better results are usually achieved by carrying out lemmatization at a preprocessing stage, rather than stemming [11], which is more expensive from a computational point of view. Rich morphology of the Russian language creates additional difficulties in the case of syntactic approach to sentiment analysis. A number of papers by Russian researchers are devoted to this problem [12, 13]. According to the study [14], negation in Russian also has some specificity for words belonging to different parts of speech and, therefore, is expressed differently. This fact confirms the special role of part-of-speech (POS) tagging when analyzing Russian texts. Information about parts of speech is also necessary to carry out syntactic analysis when sentiment analysis is an aspect-based one. It is when we classify not sentiment of a review in general but sentiment of aspects of individual entities in the review [15, 16]. For instance, it is noticed in [14] that adjectives in Russian make up about 80% of words that determine emotional meaning of a statement in relation to some entity. Thanks to POS tagging, it is easier to identify such words. Another problem is the lack of free access to resources such as corpora, thesauruses, and dictionaries necessary for processing Russian texts and the limited number of these resources. A text meaning is defined by meanings of words it includes; a text sentiment similarly is calculated as a sum of sentiments of individual words [12]. Therefore, good sentiment dictionaries compiled by language professionals are necessary [17] for researchers to use them freely for carrying out analysis and developing their own systems [18]. However, using statistical models and machine learning let us achieve goals without such dictionaries in some cases. A generalized review analysis algorithm as a schematic block diagram DRAKON [19] used in the paper is illustrated in Fig. 1.

2 Original Data Description and Statistical Analysis Methods 2.1 Field of Study The paper field of study is using statistical analysis to carry out binary classification of customer reviews by sentiment to define whether they are positive or negative as well as the reviews classification by product type. When dealing with reviews and other types of text, statistical analysis is based on frequency description and quantitative analysis of words of the text. This method allows converting reviews to a structured form and applying statistical methods and mathematical models for their further processing. 2.2 Data Collection To conduct experiments we collected reviews on laptops and refrigerators from sites of online stores Yandex.Market and DNS. Scores of customers between 1 and 5 were used

Statistical Analysis for Customer Product Reviews in Russian Internet Segment

403

Fig. 1. Schematic block diagram of review analysis

as labels to classify sentiments of reviews. We considered a review to be negative if a product in this review was given a score of 3 or lower. A summary of the collected data is presented in Table 1. Table 1. Number of reviews by sentiment and product type Positive Negative Total Laptops

56

44

100

Refrigerators

52

48

100

108

92

Total

2.3 Preprocessing The collected data is converted into a corpus with each document to be one of the reviews. After that, preprocessing is performed. A major purpose of preprocessing is to minimize the number of words that will be features of reviews. Preprocessing includes the following operations: lemmatization, punctuation and numbers removal, lowercase transformation and stop-words removal. In the paper, to perform lemmatization we used the Yandex’s Mystem that is a command line program [20]. Performing lemmatization, we also passed a parameter for disambiguation on the base of contexts. It was necessary to lemmatize or normalize

404

P. Tuchkova and V. Sufiyanov

words that have homonyms depending on the parts of speech that are defined by the context. 2.4 Text Data Representation In Text Mining, a statistical representation of a text document is implemented with the bag-of-words model, in which word order and relations between words are not taken into account. And in this case text segmentation (tokenization) plays a special role to use all words as separate features [2]. After tokenization, it is possible to represent each document as a point or vector in a multidimensional space and each dimension is a separate word of the corpus. This can be done by creating a DTM matrix (TDM), whose rows represent documents in the corpus, and whose columns represent all words contained in this corpus. The matrix elements are numeric values indicating the presence of a word in the document. Depending on the type of text vector encoding, the document coordinate in the ith dimension is the number of occurrences of the word x i in the document in the case of frequency encoding, one or zero in the case of one-hot encoding and TF-IDF value in the case of using TF-IDF metric. One-hot encoding is a one-hot representation of words when a word is a vocabulary dimension vector with a single non-zero coordinate 1 corresponding to this word. The individual document coordinates are determined by summing the vector coordinates of words included in it. 2.5 Methods for Statistical Text Analysis When texts are represented as vectors, they can be classified using various machine learning methods. Some of the traditional methods to solve classification problems in Text Mining are the following machine learning methods: a naive Bayes classifier, a decision tree, a random forest and a support vector machine. Naive Bayes Classifier. The method is based on Bayes’ Theorem and classification of a document is carried out by determining a class with the highest conditional probability of the document belonging to it if the document includes certain features (words). The classifier uses Eq. 1 to choose the class y [21]: y = arg max y∈Y

p(x|y ) · p(y) = arg max p(x|y ) · p(y), y∈Y p(x)

(1)

where p(x|y) is the probability to find out the document x among documents of the class y, p(y) is the probability of the y class documents in the corpus, p(x) is the probability of the document x in the corpus. The latter probability can be omitted. The classifier is called naive because features (words) of the document are considered to be independent and it is typical for the bag-of-words model. In this case the probability p(x|y) is calculated by multiplying the probabilities to find out words x i of the document x among documents of the class y. And Eq. 1 can be substituted by Eq. 2:  (2) p(xi |y ) · p(y), y = arg max y∈Y

i

Statistical Analysis for Customer Product Reviews in Russian Internet Segment

405

where p(x i |y) is the probability that the word x i defines belonging to the class y. The advantages of the method are high performance and the fact that there is no requirement for a large amount of training data. However, when features are dependent (that is the case with natural languages), accuracy reduction may take place. Decision Tree. When building a decision tree, logical rules are built. These rules separate observations depending on the values of variables that the algorithm has chosen to be the most discriminatory ones. In the case of text classification logical rules are represented as tree nodes that separate observations containing a specific word from those that do not contain it. End nodes that do not split observations further are called leaves to represent classes. The class of a leaf is determined depending on objects of which class it contains more. To predict the class of a new object, it is passed through a built tree and gets the class label of the end leaf. The advantages of the method are graphical representation of results and resistance to missing values. The disadvantage is an overfitting tendency that leads to lower results on test data. Random Forest. The method involves creating a set of decision trees. The class of an object is determined by averaging forecasts of all individual trees. The advantage of this method is that each tree uses randomly selected objects and different splitting variables and it can help to reduce the risk of overfitting. The method shows high results, but there is no such a great opportunity to interpret a model compared to a single tree. Support Vector Machine. The idea behind the SVM method is to construct linearly separating planes (hyperplanes in the case of a multidimensional feature space) that separate points of one class from points of another class. Examples of linearly separable and linearly inseparable observations based on the popular Fischer’s iris data set [22] are illustrated in Figs. 2 and 3 accordingly.

Fig. 2. Linearly separable observations

If observations are linearly separable, a linear separation boundary (see the line c in Fig. 2) is constructed so that it is equidistant from the lines (a and b) passing through

406

P. Tuchkova and V. Sufiyanov

Fig. 3. Linearly inseparable observations

the nearest points of the classes called support vectors (points A, B1 , B2 ). If observations are linearly inseparable, it may be possible to construct a nonlinear separating boundary. The form of the boundary is determined by a kernel that increases the dimension of the space for observations to become linearly separable.

2.6 Reviews Analysis with R To process the collected reviews we used the R software for statistical analysis. It is worth noting that the R environment has good Text Mining infrastructure [23, 24] in the form of various packages. In the study we used the tm and wordcloud packages. The collected data was downloaded into the R environment and converted into a corpus. Then the corpus was preprocessed. The function to carry out lemmatization with MyStem is presented below. lemmatization