Information and software technologies : 23rd International Conference, ICIST 2017, Druskininkai, Lithuania, October 12-14, 2017, proceedings 978-3-319-67642-5, 3319676423, 978-3-319-67641-8

This book constitutes the refereed proceedings of the 23nd International Conference on Information and Software Technolo

895 44 73MB

English Pages 624 [626] Year 2017

Report DMCA / Copyright

DOWNLOAD FILE

Polecaj historie

Information and software technologies : 23rd International Conference, ICIST 2017, Druskininkai, Lithuania, October 12-14, 2017, proceedings
 978-3-319-67642-5, 3319676423, 978-3-319-67641-8

Table of contents :
Front Matter ....Pages I-XVII
Front Matter ....Pages 1-1
Role of “Bridge Person” in Software Development Projects (Līga Bormane, Solvita Bērziša)....Pages 3-14
A Knowledge-Management System for the Innovation-Strategy Development of SME Enterprises (Sławomir Kłos, Katarzyna Skrzypek, Karol Dabrowski)....Pages 15-24
Exemplar Functionalities of the Intelligent System for Tacit-Knowledge-Transfer Support for an IT Company (Justyna Patalas-Maliszewska, Irene Krebs)....Pages 25-34
A Model of the Knowledge Assessment Using Bayes’ Network (Małgorzata Śliwa, Justyna Patalas-Maliszewska)....Pages 35-47
Object-Oriented Knowledge Representation and Data Storage Using Inhomogeneous Classes (Dmytro Terletskyi)....Pages 48-61
Front Matter ....Pages 63-63
Beyond Health Apps, Utilize Patient-Generated Data (Asif Akram, Gerard Dunleavy, Michael Soljak, Josip Car)....Pages 65-76
Privacy Matters: Detecting Nocuous Patient Data Exposure in Online Physician Reviews (Frederik S. Bäumer, Nicolai Grote, Joschka Kersting, Michaela Geierhos)....Pages 77-89
Classifying Cognitive Workload Using Eye Activity and EEG Features in Arithmetic Tasks (Magdalena Borys, Małgorzata Plechawska-Wójcik, Martyna Wawrzyk, Kinga Wesołowska)....Pages 90-105
Evaluating Electronic Health Records Interoperability (Fadoua Khennou, Youness Idrissi Khamlichi, Nour El Houda Chaoui)....Pages 106-118
Implementation and Evaluation of a Decision Support Systems for the Patients of a Laboratory Service (Georgy Kopanitsa, Zhanna Kopanitsa)....Pages 119-128
AHP Model for Quality Evaluation of Healthcare System (Dalia Kriksciuniene, Virgilijus Sakalauskas)....Pages 129-141
Investigation of Predicting Functional Capacity Level for Huntington Disease Patients (Andrius Lauraitis, Rytis Maskeliūnas)....Pages 142-149
Algorithm Defining the Correctness of an Ergometer Rower’s Technique Using Three-Dimensional Data (Edyta Lukasik, Jakub Smolka, Jerzy Montusiewicz)....Pages 150-163
Improved Watershed Algorithm for CT Liver Segmentation Using Intraclass Variance Minimization (Alaa Salah El-Din Mohamed, Mohammed A.-M. Salem, Doaa Hegazy, Howida A. Shedeed)....Pages 164-176
Analysis of the Preconditions for Implementation of Nationwide EHR Systems (Irena Skrceska, Goran Velinov, Margita Kon-Popovska, Marijana Neskovska, Miroslav Pevac, Leonid Stoimenov et al.)....Pages 177-189
TIROL: The Extensible Interconnectivity Layer for mHealth Applications (Christoph Stach, Frank Steimle, Ana Cristina Franco da Silva)....Pages 190-202
Decision Support System for Medical Care Quality Assessment Based on Health Records Analysis in Russia (Maksim Taranik, Georgy Kopanitsa)....Pages 203-209
Front Matter ....Pages 211-211
Models of Decision Making in Planning the Structure of Hybrid Renewable Energy System (Olha Shulyma, Vira Shendryk, Yuliia Parfenenko, Sergii Shendryk)....Pages 213-225
Software Architecture for an ORC Turbine – Case Study for an Intelligent Technical System in the Era of the Internet of Things (Carsten Wolff, Mathias Knirr, Tobias Pallwitz, Hüseyin Igci, Klaus-Peter Priebe, Peter Schulz et al.)....Pages 226-237
Front Matter ....Pages 239-239
Data Mining in Agri Warehouses Using MODWT Wavelet Analysis (Ken Bailey, Mark Roantree, Martin Crane, Andrew McCarren)....Pages 241-253
Database Inconsistency Measures and Their Applications (Hendrik Decker, Sanjay Misra)....Pages 254-265
Migration from COBOL to SOA: Measuring the Impact on Web Services Interfaces Complexity (Cristian Mateos, Alejandro Zunino, Sanjay Misra, Diego Anabalon, Andres Flores)....Pages 266-279
Quality Model for Evaluating Platform as a Service in Cloud Computing (Temitope Olokunde, Sanjay Misra, Adewole Adewumi)....Pages 280-291
Constraint Modularization Within Multi-level Meta-modeling (Zoltán Theisz, Dániel Urbán, Gergely Mezei)....Pages 292-302
Statistical Arbitrage Trading Strategy in Commodity Futures Market with the Use of Nanoseconds Historical Data (Mantas Vaitonis, Saulius Masteika)....Pages 303-313
Knowledge-Based UML Models Generation from Enterprise Model Technique (Ilona Veitaitė, Audrius Lopata)....Pages 314-325
Design Automation Systems. Prospects of Development (Viktoriia Zakharchenko, Anna Marchenko, Viktor Nenia)....Pages 326-339
Front Matter ....Pages 341-341
Ensemble of Classifiers Based on Simple Granules of Knowledge (Piotr Artiemjew)....Pages 343-350
A Method for Solving the Time Fractional Heat Conduction Inverse Problem Based on Ant Colony Optimization and Artificial Bee Colony Algorithms (Rafał Brociek, Damian Słota)....Pages 351-361
Automated Scheduling for Tightly-Coupled Embedded Multi-core Systems Using Hybrid Genetic Algorithms (Pedro Cuadra, Lukas Krawczyk, Robert Höttger, Philipp Heisig, Carsten Wolff)....Pages 362-373
The Bag-of-Words Methods with Pareto-Fronts for Similar Image Retrieval (Marcin Gabryel)....Pages 374-384
Buffer Overflow Duration in a Model of WSN Node with Power Saving Mechanism Based on SV Policy (Wojciech M. Kempa)....Pages 385-394
Departure Counting Process in a Wireless Network Node with Sleep Mode Modelled via Repeated Vacations (Wojciech M. Kempa, Rafał Marjasz)....Pages 395-407
Parallelization of Fast Sort Algorithm (Zbigniew Marszałek)....Pages 408-421
Extraction and Analysis of Voice Samples Based on Short Audio Files (Dawid Połap, Marcin Woźniak)....Pages 422-431
Detection of Important Features from Images Using Heuristic Approach (Dawid Połap, Marcin Woźniak)....Pages 432-441
A Comparison of the Deep Learning Methods for Solving Seafloor Image Classification Task (Tadas Rimavicius, Adas Gelzinis)....Pages 442-453
Front Matter ....Pages 455-455
Virtual Reality in Education: New Ways to Learn (Tomas Blazauskas, Rytis Maskeliunas, Reda Bartkute, Vitalija Kersiene, Indre Jurkeviciute, Mindaugas Dubosas)....Pages 457-465
Informatics Based Tasks Development in the Bebras Contest Management System (Valentina Dagienė, Gabrielė Stupurienė, Lina Vinikienė)....Pages 466-477
Online Fault Detection Methodology of Question Moodle Database Using Scan Statistics Method (Aleksejs Jurenoks, Svetlana Jurenoka, Leonids Novickis)....Pages 478-486
On Personalised Learning Units Evaluation Methodology (Julija Kurilova, Saulius Minkevicius, Eugenijus Kurilovas)....Pages 487-498
The Study of Gender Equality in Information Sciences Research Institutions in Lithuania (Virginija Limanauskiene, Danguole Rutkauskiene, Vitalija Kersiene, Eduardas Bareisa, Robertas Damasevicius, Rytis Maskeliunas et al.)....Pages 499-511
Front Matter ....Pages 513-513
Towards Creation of a Lithuanian Lemmatizer for Open Online Collaborative Machine Translation (Jurgita Kapočiūtė-Dzikienė, Vincent Berment, Erika Rimkutė)....Pages 515-527
Using Sentiment Analysis on Local Up-to-the-Minute News: An Integrated Approach (Joschka Kersting, Michaela Geierhos)....Pages 528-538
Automatic Spoken Language Identification by Digital Signal Processing Methods. Tatar and Russian Languages (Rustam Latypov, Ruslan Nigmatullin, Evgeni Stolov)....Pages 539-549
Using Morphological and Semantic Features for the Quality Assessment of Russian Wikipedia (Włodzimierz Lewoniewski, Nina Khairova, Krzysztof Węcel, Nataliia Stratiienko, Witold Abramowicz)....Pages 550-560
Analysis of References Across Wikipedia Languages (Włodzimierz Lewoniewski, Krzysztof Węcel, Witold Abramowicz)....Pages 561-573
Persian Pronoun Resolution Using Data Driven Approaches (Aria Nourbakhsh, Mohammad Bahrani)....Pages 574-585
Front Matter ....Pages 587-587
Channel Dependability of the ATM Communication Network Based on the Multilevel Distributed Cloud Technology (Igor Kabashkin)....Pages 589-600
Security Analysis of VoIP Networks Through Penetration Testing (Paschal A. Ochang, Philip Irving)....Pages 601-610
Problem of Bathymetric Big Data Interpolation for Inland Mobile Navigation System (Marta Włodarczyk-Sielicka, Natalia Wawrzyniak)....Pages 611-621
Back Matter ....Pages 623-624

Citation preview

Robertas Damaševičius Vilma Mikašytė (Eds.)

Communications in Computer and Information Science

756

Information and Software Technologies 23rd International Conference, ICIST 2017 Druskininkai, Lithuania, October 12–14, 2017 Proceedings

123

Communications in Computer and Information Science Commenced Publication in 2007 Founding and Former Series Editors: Alfredo Cuzzocrea, Xiaoyong Du, Orhun Kara, Ting Liu, Dominik Ślęzak, and Xiaokang Yang

Editorial Board Simone Diniz Junqueira Barbosa Pontifical Catholic University of Rio de Janeiro (PUC-Rio), Rio de Janeiro, Brazil Phoebe Chen La Trobe University, Melbourne, Australia Joaquim Filipe Polytechnic Institute of Setúbal, Setúbal, Portugal Igor Kotenko St. Petersburg Institute for Informatics and Automation of the Russian Academy of Sciences, St. Petersburg, Russia Krishna M. Sivalingam Indian Institute of Technology Madras, Chennai, India Takashi Washio Osaka University, Osaka, Japan Junsong Yuan Nanyang Technological University, Singapore Lizhu Zhou Tsinghua University, Beijing, China

756

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

Robertas Damaševičius Vilma Mikašytė (Eds.) •

Information and Software Technologies 23rd International Conference, ICIST 2017 Druskininkai, Lithuania, October 12–14, 2017 Proceedings

123

Editors Robertas Damaševičius Kaunas University of Technology Kaunas Lithuania

Vilma Mikašytė Kaunas University of Technology Kaunas Lithuania

ISSN 1865-0929 ISSN 1865-0937 (electronic) Communications in Computer and Information Science ISBN 978-3-319-67641-8 ISBN 978-3-319-67642-5 (eBook) DOI 10.1007/978-3-319-67642-5 Library of Congress Control Number: 2017953453 © Springer International Publishing AG 2017 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, express 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. Printed on acid-free paper This Springer imprint is published by Springer Nature The registered company is Springer International Publishing AG The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland

Preface

We are happy to present you this book, Information and Software Technologies, which is a collection of papers that were presented at the 23rd International Conference on Information and Software Technologies, ICIST 2017. The annual conference took place during October 12–14, 2017, in Druskininkai, Lithuania. The book consists of four chapters, which correspond to the four major areas that are covered during the conference, namely, Information Systems, Business Intelligence for Information and Software Systems, Software Engineering, and Information Technology Applications. These chapters are further subdivided according to the eight special sessions that were held at the conference. They are the following: (a) Innovative Applications for Knowledge Transfer Support, (b) e-Health Information Systems, (c) Information and Software Technologies for Intelligent Power Systems, (d) Intelligent Methods for Data Analysis and Computer Aided Software Engineering, (e) Intelligent Systems and Software Engineering Advances, (f) Smart e-Learning Technologies and Applications, (g) Language Technologies, and (h) Internet of Things in Mobility Applications. Every year ICIST attracts researchers from all over the world, and this year was not an exception – we received 135 submissions from 35 countries. More importantly, there were participants from many more countries, which indicates that the conference is truly gaining more and more international recognition as it brings together a vast number of brilliant specialists who represent the aforementioned fields and share information about their newest projects. Since we always strive to make the conference presentations and proceedings of the highest quality possible, we only accept papers that present the results of various investigations directed to the discovery of new scientific knowledge in the area of information and software technologies. Hence, only 51 papers were accepted for publishing (i.e., 38% acceptance rate). All the papers were reviewed and selected by the Program Committee, which comprised 106 reviewers (together with 69 additional reviewers) from over 90 academic institutions. As usual, each submission was reviewed following a double-blind process by at least two reviewers. When necessary, some of the papers were reviewed by three or four reviewers. Our deepest thanks and appreciation go to all the reviewers for devoting their precious time to produce truly thorough reviews and feedback to the authors. We would also like to express our gratitude to the general chair, Prof. Eduardas Bareiša (Kaunas University of Technology), as well as to the session chairs and co-chairs Prof. Irene Krebs (Brandenburg University of Technology Cottbus-Senftenberg), Prof. Justyna Patalas-Maliszewska (University of Zielona Góra), Prof. Rolf Engelbrecht (ProRec), Assoc. Prof. Vytenis Punys (Kaunas University of Technology), Prof. Giedrius Vanagas (Lithuanian University of Health Sciences), Prof. Algirdas Pakštas (Vilnius University), Assoc. Prof. Vira Shendryk (Sumy State University), Dr. Marcin Woźniak (Silesian University of Technology), Prof. Emiliano Tramontana and Prof. Christian Napoli (University of Catania), Assoc. Prof. Danguolė Rutkauskienė

VI

Preface

(Kaunas University of Technology), Prof. Radu Adrian Vasiu (Politehnica University of Timisoara), Prof. Audrius Lopata (Vilnius University), Assoc. Prof. Jurgita KapočiūtėDzikienė (Vytautas Magnus University), Peter Dirix (University of Leuven), Prof. Carsten Wolff, and Prof. Christian Reimann (Dortmund University of Applied Sciences and Arts), and Adj. Prof. Pasi Kuvaja (University of Oulu) for their expertise, assistance, and invaluable contribution in making the conference a top-quality scientific event. In addition, we would like to thank the local Organizing Committee, the Faculty of Informatics, Kaunas University of Technology, for the conference would not have been a great success without their tremendous support. We are also thankful to the Research Council of Lithuania for financial support. The proceedings of the ICIST 2017 conference are published as an issue in the Communications in Computer and Information Science series for the fifth time. This would not be possible without the kind assistance that is provided by Leonie Kunz, Aliaksandr Birukou, and Ingrid Beyer, all from Springer, for which we are utmost grateful. We are very proud of this collaboration and believe that this fruitful partnership will continue for many more years to come. July 2017

Vilma Mikašytė Robertas Damaševičius

Organization

The 23rd International Conference on Information and Software Technologies (ICIST 2017) was organized by Kaunas University of Technology and was held in Druskininkai, Lithuania (October 12–14, 2017).

General Chair Eduardas Bareiša

Kaunas University of Technology, Lithuania

Local Organizing Committee Vilma Mikašytė (Chair) Romas Šleževičius Lina Repšienė Gintarė Dzindzelėtaitė Gintarė Lukoševičiūtė

Kaunas Kaunas Kaunas Kaunas Kaunas

University University University University University

of of of of of

Technology, Technology, Technology, Technology, Technology,

Lithuania Lithuania Lithuania Lithuania Lithuania

Special Section Chairs Irene Krebs Marcin Woźniak Danguolė Rutkauskienė Audrius Lopata Maria Dolores Afonso Suárez Rolf Engelbrecht Justyna Patalas-Maliszewska Emiliano Tramontana Christian Napoli Carsten Wolff Christian Reimann Pasi Kuvaja Jurgita Kapočiūtė-Dzikienė Peter Dirix Algirdas Pakštas Vira Shendryk Radu Adrian Vasiu

University of Technology Cottbus, Germany Silesian University of Technology, Poland Kaunas University of Technology, Lithuania Vilnius University, Lithuania SIANI University Institute, Spain ProRec Germany, Germany University of Zielona Gora, Poland University of Catania, Italy University of Catania, Italy Dortmund University of Applied Sciences and Arts, Germany Dortmund University of Applied Sciences and Arts, Germany University of Oulu, Finland Vytautas Magnus University, Lithuania University of Leuven, Belgium London Metropolitan University, UK Sumy State University, Ukraine Politehnica University of Timisoara, Romania

VIII

Organization

Vytenis Punys Giedrius Vanagas

Kaunas University of Technology, Lithuania Lithuanian University of Health Sciences, Lithuania

Program Committee Irene Krebs Marcin Woźniak Danguolė Rutkauskienė Ondrej Krejcar Marek Krasinski Rolf Engelbrecht Emiliano Tramontana Radu Adrian Vasiu Vytenis Punys Giedrius Vanagas Olga Kurasova Jurgita Kapočiūtė-Dzikienė Yuh-Min Tseng Constantine Filote Jose Luis Herrero Agustin Sevinc Gulsecen Marisa Gil Achim Schmidtmann Mehmet Aksit Saulius Gudas Sanda Martinčić-Ipšić José Raúl Romero Marite Kirikova Alvydas Jaliniauskas Raimundas Jasinevičius Damjan Vavpotič Sandro Leuchter John Gammack Paulo Rupino Cunha Jyrki Nummenmaa Algirdas Pakštas Marcin Paprzycki Stefano Squartini Ana Paula Neves Ferreira da Silva Tor-Morten Grønli

University of Technology Cottbus, Germany Silesian University of Technology, Poland Kaunas University of Technology, Lithuania University of Hradec Kralove, Czech Republic Wroclaw University of Economics, Poland ProRec Germany, Germany University of Catania, Italy Politehnica University of Timisoara, Romania Kaunas University of Technology, Lithuania Lithuanian University of Health Sciences, Lithuania Vilnius University, Lithuania Vytautas Magnus University, Lithuania National Changhua University of Education, Taiwan Stefan cel Mare University of Suceava, Romania University of Extremadura, Spain Istanbul University, Turkey Polytechnic University of Catalonia, Spain Dortmund University of Applied Sciences and Arts, Germany University of Twente, Netherlands Vilnius University, Lithuania University of Rijeka, Croatia University of Córdoba, Spain Riga Technical University, Latvia Harland Clarke Company, USA Kaunas University of Technology, Lithuania University of Ljubljana, Slovenia Hochschule Mannheim University of Applied Sciences, Germany College of Technological Innovation, United Arab Emirates University of Coimbra, Portugal University of Tampere, Finland London Metropolitan University, UK Systems Research Institute, Polish Academy of Science, Poland Polytechnic University of Marche, Italy University of Coimbra, Portugal Oslo School of Arts, Communication and Technology, Norway

Organization

Christophoros Nikou Elena Sánchez Nielsen Vira Shendryk André Schekelmann Virgilijus Sakalauskas Dalia Krikščiūnienė Audrius Lopata Aleksandras Targamadzė Peter Thanisch Lovro Šubelj Karin Harbusch Joao Manuel R.S. Tavares Zakaria Maamar Juan Manuel Vara Mesa Alexander Maedche Pavel Kordík Olegas Vasilecas Rimantas Butleris Tomas Krilavičius Eduard Babkin Jorg Becker Albertas Čaplinskas Linas Laibinis Benkt Wangler Valentina Dagienė Justyna Patalas-Maliszewska Miloslava Cerna Tomas Blažauskas Prima Gustienė Vita Spečkauskienė Petra Poulova Irina Klizienė Renata Burbaitė Kristina Bespalova Jorge Garcia Kęstutis Kapočius Martynas Patašius Rytis Maskeliūnas Jonas Valantinas Lina Čeponienė Raimundas Matulevičius Rimantas Barauskas Rita Butkienė Maciej Laskowski Agnius Liutkevičius

IX

University of Ioannina, Greece University of San Fernando de la Laguna, Spain Sumy State University, Ukraine Niederrhein University of Applied Science, Germany Vilnius University, Lithuania Vilnius University, Lithuania Vilnius University, Lithuania Kaunas University of Technology, Lithuania University of Tampere, Finland University of Ljubljana, Slovenia University of Koblenz-Landau, Germany University of Porto, Portugal Zayed University, United Arab Emirates University of Rey Juan Carlos, Spain University of Mannheim, Germany Czech Technical University, Czech Republic Vilnius Gediminas Technical University, Lithuania Kaunas University of Technology, Lithuania Vytautas Magnus University, Lithuania National Research University, Russia University of Munster, Germany Vilnius University, Lithuania Abo Akademi University, Finland Stockholm University, Sweden Vilnius University, Lithuania University of Zelona Gora, Poland University of Hradec Králové, Czech Republic Kaunas University of Technology, Lithuania Karlstad University, Sweden Lithuanian University of Health Sciences, Lithuania University of Hradec Králové, Czech Republic Kaunas University of Technology, Lithuania Kaunas University of Technology, Lithuania Kaunas University of Technology, Lithuania University of Porto, Portugal Kaunas University of Technology, Lithuania Kaunas University of Technology, Lithuania Kaunas University of Technology, Lithuania Kaunas University of Technology, Lithuania Kaunas University of Technology, Lithuania University of Tartu, Estonia Kaunas University of Technology, Lithuania Kaunas University of Technology, Lithuania Lublin University of Technology, Poland Kaunas University of Technology, Lithuania

X

Organization

Ana Meštrović Andrzej Jardzioch Tomas Danikauskas Beata Gavurova Armantas Ostreika Dominykas Barisas Pavel Jirava Alius Noreika Eva Rakovska Natalia Loukachevitch Gintaras Palubeckis Reima Suomi Seweryn Spalek Vytautas Štuikys Maria Dolores Afonso Suárez Christian Napoli Carsten Wolff Christian Reimann Alfonsas Misevičius Pasi Kuvaja Rimvydas Simutis Peter Dirix

University of Rijeka, Croatia West Pomeranian University of Technology Szczecin, Poland Kaunas University of Technology, Lithuania Technical University of Košice, Slovakia Kaunas University of Technology, Lithuania Kaunas University of Technology, Lithuania University of Pardubice, Czech Republic Kaunas University of Technology, Lithuania University of Economics Bratislava, Slovakia Moscow State University, Russia Kaunas University of Technology, Lithuania University of Liechtenstein, Liechtenstein Silesian University of Technology, Poland Kaunas University of Technology, Lithuania SIANI University Institute, Spain University of Catania, Italy Dortmund University of Applied Sciences and Arts, Germany Dortmund University of Applied Sciences and Arts, Germany Kaunas University of Technology, Lithuania University of Oulu, Finland Kaunas University of Technology, Lithuania University of Leuven, Belgium

Additional Reviewers Wojciech Kempa Vytautas Rudžionis Kastytis Ratkevičius Slobodan Beliga Zenonas Navickas Ilhan Tarimer Juha Roning Iwona Paprocka Virginija Limanauskienė Daina Gudonienė Vitaliy Mosiychuk Jurij Novickij Robert Nowicki Vacius Jusas Grzegorz Chmaj Zbigniew Marszałek Antanas Lenkevičius

Silesian University of Technology, Poland Kaunas University of Technology, Lithuania Kaunas University of Technology, Lithuania University of Rijeka, Croatia Kaunas University of Technology, Lithuania Muğla Sıtkı Koçman University, Turkey University of Oulu, Finland Silesian University of Technology, Poland Kaunas University of Technology, Lithuania Kaunas University of Technology, Lithuania National Technical University of Ukraine, Ukraine Vilnius Gediminas Technical University, Lithuania Częstochowa University of Technology, Poland Kaunas University of Technology, Lithuania University of Nevada, USA Silesian University of Technology, Poland Kaunas University of Technology, Lithuania

Organization

Germanas Budnikas Miloslav Hub Marcin Gabryel Ka Lok Man Grazia Lo Sciuto Lina Narbutaitė Solvita Bērziša Ali Isik Vilma Deltuvaitė Wojciech Mitkowski Borislav Djordjevic Valentina Timcenko Jordan Hristov Ranka Stanković Volkan Tunali Ramūnas Kubiliūnas Aleksandra KawalaJanik Dimiter Dimitrov Taflan Gundem Krzysztof Okarma Dawid Polap Alberto Rodriguez Damian Slota Marcin Komanda Slawomir Klos Judita Kasperiūnienė Vytautas Pilkauskas Mariya Eremieva Aparna Vijaya Gytis Vilutis Milan Edl Nuno Pombo Marta Wlodarczyk-Sielicka Piotr Artiemjew Onder Demir Aleksander Gwiazda Ilmars Slaidins Elena Pavlova Simon Dobrisek Branislav Popović Tuncay Yigit Elena Gorbacheva Necmettin Ozkan Vladimir Mityushev Peter Jelinek

XI

Kaunas University of Technology, Lithuania University of Pardubice, Czech Republic Częstochowa University of Technology, Poland Xi‘an Jiaotong-Liverpool University, China University of Catania, Italy Kaunas University of Technology, Lithuania Riga Technical University, Latvia Mehmet Akif Ersoy University, Turkey Kaunas University of Technology, Lithuania AGH University of Science and Technology, Poland Institute Mihailo Pupin, Serbia Institute Mihailo Pupin, Serbia University of Chemical Technology and Metallurgy, Bulgaria University of Belgrade, Serbia Celal Bayar University, Turkey Kaunas University of Technology, Lithuania Opole University of Technology, Poland Technical University of Sofia, Bulgaria Bogaziçi University, Turkey West Pomeranian University of Technology, Poland Silesian University of Technology, Poland Universidad Miguel Hernandez de Elche, Spain Silesian University of Technology, Poland University of Economics in Katowice, Poland University of Zielona Góra, Poland Vytautas Magnus University, Lithuania Kaunas University of Technology, Lithuania Naval Academy, Bulgaria Vellore Institute of Technology, India Kaunas University of Technology, Lithuania University of West Bohemia, Czech Republic University of Beira Interior, Portugal Maritime University of Szczecin, Poland University of Warmia and Mazury in Olsztyn, Poland Marmara University, Turkey Silesian University of Technology, Poland Riga Technical University, Latvia Lomonosov Moscow State University, Russia University of Ljubljana, Slovenia University of Novi Sad, Serbia Suleyman Demirel University, Turkey Universität Münster, Germany Turkiye Finans Participation Bank, Turkey Pedagogical University of Cracow, Poland Hogeschool van Amsterdam, The Netherlands

XII

Organization

Krzysztof Pancerz Damian Mazur Tomas Rasymas Gabriel Svejda Josef Basl Mokhtar Beldjehem Krzysztof Cpalka Darius Birvinskas

University of Rzeszów, Poland Rzeszów University of Technology, Poland Vilnius University, Lithuania University of West Bohemia, Czech Republic University of West Bohemia, Czech Republic University of Ottawa, Canada Częstochowa University of Technology Kaunas University of Technology, Lithuania

Co-editors Robertas Damaševičius Vilma Mikašytė

Kaunas University of Technology, Lithuania Kaunas University of Technology, Lithuania

Contents

Information Systems: Special Session on Innovative Applications for Knowledge Transfer Support Role of “Bridge Person” in Software Development Projects . . . . . . . . . . . . . Līga Bormane and Solvita Bērziša

3

A Knowledge-Management System for the Innovation-Strategy Development of SME Enterprises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sławomir Kłos, Katarzyna Skrzypek, and Karol Dabrowski

15

Exemplar Functionalities of the Intelligent System for Tacit-Knowledge-Transfer Support for an IT Company . . . . . . . . . . . . . . . . Justyna Patalas-Maliszewska and Irene Krebs

25

A Model of the Knowledge Assessment Using Bayes’ Network . . . . . . . . . . Małgorzata Śliwa and Justyna Patalas-Maliszewska Object-Oriented Knowledge Representation and Data Storage Using Inhomogeneous Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Dmytro Terletskyi

35

48

Information Systems: Special Session on e-Health Information Systems Beyond Health Apps, Utilize Patient-Generated Data . . . . . . . . . . . . . . . . . . Asif Akram, Gerard Dunleavy, Michael Soljak, and Josip Car Privacy Matters: Detecting Nocuous Patient Data Exposure in Online Physician Reviews . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Frederik S. Bäumer, Nicolai Grote, Joschka Kersting, and Michaela Geierhos Classifying Cognitive Workload Using Eye Activity and EEG Features in Arithmetic Tasks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Magdalena Borys, Małgorzata Plechawska-Wójcik, Martyna Wawrzyk, and Kinga Wesołowska Evaluating Electronic Health Records Interoperability . . . . . . . . . . . . . . . . . Fadoua Khennou, Youness Idrissi Khamlichi, and Nour El Houda Chaoui

65

77

90

106

XIV

Contents

Implementation and Evaluation of a Decision Support Systems for the Patients of a Laboratory Service . . . . . . . . . . . . . . . . . . . . . . . . . . . Georgy Kopanitsa and Zhanna Kopanitsa AHP Model for Quality Evaluation of Healthcare System . . . . . . . . . . . . . . Dalia Kriksciuniene and Virgilijus Sakalauskas

119 129

Investigation of Predicting Functional Capacity Level for Huntington Disease Patients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Andrius Lauraitis and Rytis Maskeliūnas

142

Algorithm Defining the Correctness of an Ergometer Rower’s Technique Using Three-Dimensional Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Edyta Lukasik, Jakub Smolka, and Jerzy Montusiewicz

150

Improved Watershed Algorithm for CT Liver Segmentation Using Intraclass Variance Minimization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Alaa Salah El-Din Mohamed, Mohammed A.-M. Salem, Doaa Hegazy, and Howida A. Shedeed Analysis of the Preconditions for Implementation of Nationwide EHR Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Irena Skrceska, Goran Velinov, Margita Kon-Popovska, Marijana Neskovska, Miroslav Pevac, Leonid Stoimenov, Daniela Ivanova Panova, Berislav Vekic, and Boro Jakimovski TIROL: The Extensible Interconnectivity Layer for mHealth Applications . . . Christoph Stach, Frank Steimle, and Ana Cristina Franco da Silva Decision Support System for Medical Care Quality Assessment Based on Health Records Analysis in Russia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Maksim Taranik and Georgy Kopanitsa

164

177

190

203

Information Systems: Special Session on Information and Software Technologies for Intelligent Power Systems Models of Decision Making in Planning the Structure of Hybrid Renewable Energy System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Olha Shulyma, Vira Shendryk, Yuliia Parfenenko, and Sergii Shendryk

213

Software Architecture for an ORC Turbine – Case Study for an Intelligent Technical System in the Era of the Internet of Things . . . . . . . . . . . . . . . . . Carsten Wolff, Mathias Knirr, Tobias Pallwitz, Hüseyin Igci, Klaus-Peter Priebe, Peter Schulz, and Jörn Strumberg

226

Contents

XV

Business Intelligence for Information and Software Systems: Special Session on Intelligent Methods for Data Analysis and Computer Aided Software Engineering Data Mining in Agri Warehouses Using MODWT Wavelet Analysis. . . . . . . Ken Bailey, Mark Roantree, Martin Crane, and Andrew McCarren

241

Database Inconsistency Measures and Their Applications . . . . . . . . . . . . . . . Hendrik Decker and Sanjay Misra

254

Migration from COBOL to SOA: Measuring the Impact on Web Services Interfaces Complexity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cristian Mateos, Alejandro Zunino, Sanjay Misra, Diego Anabalon, and Andres Flores

266

Quality Model for Evaluating Platform as a Service in Cloud Computing. . . . Temitope Olokunde, Sanjay Misra, and Adewole Adewumi

280

Constraint Modularization Within Multi-level Meta-modeling . . . . . . . . . . . . Zoltán Theisz, Dániel Urbán, and Gergely Mezei

292

Statistical Arbitrage Trading Strategy in Commodity Futures Market with the Use of Nanoseconds Historical Data . . . . . . . . . . . . . . . . . . . . . . . Mantas Vaitonis and Saulius Masteika

303

Knowledge-Based UML Models Generation from Enterprise Model Technique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ilona Veitaitė and Audrius Lopata

314

Design Automation Systems. Prospects of Development . . . . . . . . . . . . . . . Viktoriia Zakharchenko, Anna Marchenko, and Viktor Nenia

326

Software Engineering: Special Session on Intelligent Systems and Software Engineering Advances Ensemble of Classifiers Based on Simple Granules of Knowledge. . . . . . . . . Piotr Artiemjew A Method for Solving the Time Fractional Heat Conduction Inverse Problem Based on Ant Colony Optimization and Artificial Bee Colony Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rafał Brociek and Damian Słota Automated Scheduling for Tightly-Coupled Embedded Multi-core Systems Using Hybrid Genetic Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Pedro Cuadra, Lukas Krawczyk, Robert Höttger, Philipp Heisig, and Carsten Wolff

343

351

362

XVI

Contents

The Bag-of-Words Methods with Pareto-Fronts for Similar Image Retrieval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Marcin Gabryel

374

Buffer Overflow Duration in a Model of WSN Node with Power Saving Mechanism Based on SV Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Wojciech M. Kempa

385

Departure Counting Process in a Wireless Network Node with Sleep Mode Modelled via Repeated Vacations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Wojciech M. Kempa and Rafał Marjasz

395

Parallelization of Fast Sort Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . Zbigniew Marszałek

408

Extraction and Analysis of Voice Samples Based on Short Audio Files . . . . . Dawid Połap and Marcin Woźniak

422

Detection of Important Features from Images Using Heuristic Approach . . . . Dawid Połap and Marcin Woźniak

432

A Comparison of the Deep Learning Methods for Solving Seafloor Image Classification Task . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tadas Rimavicius and Adas Gelzinis

442

Information Technology Applications: Special Session on Smart e-Learning Technologies and Applications Virtual Reality in Education: New Ways to Learn . . . . . . . . . . . . . . . . . . . . Tomas Blazauskas, Rytis Maskeliunas, Reda Bartkute, Vitalija Kersiene, Indre Jurkeviciute, and Mindaugas Dubosas

457

Informatics Based Tasks Development in the Bebras Contest Management System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Valentina Dagienė, Gabrielė Stupurienė, and Lina Vinikienė

466

Online Fault Detection Methodology of Question Moodle Database Using Scan Statistics Method. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Aleksejs Jurenoks, Svetlana Jurenoka, and Leonids Novickis

478

On Personalised Learning Units Evaluation Methodology. . . . . . . . . . . . . . . Julija Kurilova, Saulius Minkevicius, and Eugenijus Kurilovas The Study of Gender Equality in Information Sciences Research Institutions in Lithuania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Virginija Limanauskiene, Danguole Rutkauskiene, Vitalija Kersiene, Eduardas Bareisa, Robertas Damasevicius, Rytis Maskeliunas, and Aleksandras Targamadze

487

499

Contents

XVII

Information Technology Applications: Special Session on Language Technologies Towards Creation of a Lithuanian Lemmatizer for Open Online Collaborative Machine Translation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Jurgita Kapočiūtė-Dzikienė, Vincent Berment, and Erika Rimkutė

515

Using Sentiment Analysis on Local Up-to-the-Minute News: An Integrated Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Joschka Kersting and Michaela Geierhos

528

Automatic Spoken Language Identification by Digital Signal Processing Methods. Tatar and Russian Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . Rustam Latypov, Ruslan Nigmatullin, and Evgeni Stolov

539

Using Morphological and Semantic Features for the Quality Assessment of Russian Wikipedia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Włodzimierz Lewoniewski, Nina Khairova, Krzysztof Węcel, Nataliia Stratiienko, and Witold Abramowicz

550

Analysis of References Across Wikipedia Languages. . . . . . . . . . . . . . . . . . Włodzimierz Lewoniewski, Krzysztof Węcel, and Witold Abramowicz

561

Persian Pronoun Resolution Using Data Driven Approaches . . . . . . . . . . . . . Aria Nourbakhsh and Mohammad Bahrani

574

Information Technology Applications: Special Session on Internet-of-Things in Mobility Applications Channel Dependability of the ATM Communication Network Based on the Multilevel Distributed Cloud Technology . . . . . . . . . . . . . . . . . . . . . Igor Kabashkin Security Analysis of VoIP Networks Through Penetration Testing. . . . . . . . . Paschal A. Ochang and Philip Irving

589 601

Problem of Bathymetric Big Data Interpolation for Inland Mobile Navigation System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Marta Włodarczyk-Sielicka and Natalia Wawrzyniak

611

Author Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

623

Information Systems: Special Session on Innovative Applications for Knowledge Transfer Support

Role of “Bridge Person” in Software Development Projects Līga Bormane and Solvita Bērziša(&) Information Technology Institute, Riga Technical University, Kalku 1, Riga, Latvia [email protected], [email protected]

Abstract. Well-defined requirements articulating user expectations and needs are a key to successful implementation of software development project. However, business process experts often lack experience in requirement definition, are ill-equipped to interact directly with system developers and sometimes are even unable to agree upon common understanding of the expect end-product. To mitigate this issue, projects frequently involve a so called “bridge person” – a team member with an objective to facilitate smooth communication among technical and non-technical individuals. The objective of this paper is to evaluate “bridge person” importance and summarize aspects that impact selection of a right “bridge person” type in particular software development project. The paper summarizes information about the role of “bridge person” and presents the survey of industry’s perception of this role. Keywords: “Bridge person”  Software development project requirements  Stakeholders  Requirements analysis



Business

1 Introduction Information system (IS) or software is developed in projects with an objective to satisfy customer requirements within planned time and resources. However, data by to one of the leading research organizations the Standish Group [1] show that it is difficult to complete software development (SD) projects successfully. Every year approximately 20% of the projects fail, about 50% of the projects are delayed, exceed budget or do not deliver all planned functionality, and only 30% of the projects are successful [1]. Another important factor is that since the 1990s one of the TOP 3 reasons of SD project failures has been related to the requirements analysis [1, 2, 3]. Project requirements analysis (PRA) stage problems are divided into three main categories: problems of scope, problems of volatility and problems of understanding [4]. However, all these problems have common reasons related to poor understanding of requirements, lack of communication and conflicting views of users on requirements [4]. These facts suggest that requirements are clearly articulating business needs and user expectations are a key to successful implementation of SD projects [5, 6]. Therefore, the PRA stage has a profound impact on the project success. This stage is one of the most challenging stages of projects because it involves identification of all stakeholders, understanding of their language, understanding, and management of their © Springer International Publishing AG 2017 R. Damaševičius and V. Mikašytė (Eds.): ICIST 2017, CCIS 756, pp. 3–14, 2017. DOI: 10.1007/978-3-319-67642-5_1

4

L. Bormane and S. Bērziša

issues and expectations, as well as expression of the requirements in a form comprehensible to system developers [7]. As customer stakeholders often lack experience in requirement definition, they are ill-prepared to interact with system developers and sometimes are even unable to agree upon common understanding of what they would like to have built. “Bridge person” is involved in projects as a mediator among technical and non-technical individuals [8]. This person sufficiently understands business processes, is able to listen to stakeholders and at the same time has an understanding of the IS development area, thus being able to provide the necessary link between two parties in the development project [8]. However, each project has unique requirements and selecting right specialist is a challenging task, and there is a different type of “bridge person”. Therefore, some guidance for selecting the right “bridge person” is desirable. The objective of this paper is to evaluate “bridge person” importance and summarize aspects that impact selection a right type of “bridge person” for a particular SD project. Also, the authors also draw attention to the importance of requirements analysis stage, the significance of “bridge person”, represent results of the survey on industry’s perception of this role in SD projects and propose solution how selection a right type of “bridge person” can be formalized. The rest of the paper is structured as follows: Sect. 2 describes theoretical background and related studies; Sect. 3 presents the survey results; and the aspects for “bridge person” type selection and process formalization solution is presented in Sect. 4. Conclusion and future research are presented at the end of the paper.

2 Literature Review This section summarizes theoretical background and related studies about the project requirements analysis stage, the role of “bridge person” and performers of this role in SD project and different SD models. 2.1

Requirements Analysis Stage

The project requirements analysis (PRA) stage is a first part of the software development process and plays an important role in quality assurance of developed system [9, 10]. The goal of PRA stage is to understand the users’ needs, collect and analyze them, and then document into correct, consistent, verifiable and feasible system requirements [10, 11]. Incoming and outgoing information and activities of this stage are shown in Fig. 1. This flow of information is similar for all organizations in all of the types of SD projects [7]. The activities of PRA stage are divided into two groups – requirement development and requirement management activities [11]. Requirement development activities must answer to question “WHAT is needed to be created?”. Sequential execution of this group activities provides a road from incoming information to outgoing [10, 11]. The following activities are performed: (1) requirements elicitation that records and summarizes available information from all possible sources of information; (2) requirements analysis that discussed, detailed and prioritized the elicited requirements with the stakeholders; (3) requirements

Role of “Bridge Person” in Software Development Projects

A. Input and output

5

B. Activities

Fig. 1. Overview of PRA stage adopted from [7, 11]

specification that produces requirement document which become a foundation for further software design and development process and (4) requirements validation that makes sure that all previous activities acquired and documented requirements are clear and feasible, and that all the requirements in the document are aligned with the organization standards and industry best practices. Requirements management activities control accepted requirements, specifications, and models of consistency and constancy of the SD process [10, 11]. 2.2

Role of “Bridge Person”

“Bridge person” is an individual who serves as the principal mediator or communication channel between customer stakeholders and system developers. His main task is to provide a link through which the customer stakeholders in non-technical language expresses requirements flow to system developers in a way understandable to them [8, 11, 12]. “Bridge person” is a project role but not necessarily a job title. This person can have different job title – business analyst, requirements analyst, systems analyst, product owner, requirements engineer, project manager, or any other specialist from customer, developer or independent organization, who perform responsibilities of this role. These job titles are used inconsistently from organization to organization. Regardless of the job title, the person performing a moderator role must have right skills, knowledge, and personality to perform this role well [11, 12]. “Bridge person” facilitates SD project incoming and outgoing information flows (Fig. 2), through incoming information transformation, structuring and transfer to system developers [11]. This person helps stakeholders to harmonize expressed and actual needs [11, 13]. According to [11, 13, 14], the main responsibilities of “bridge person” are: (1) define business needs; (2) plan the requirements approach; (3) elicit requirements; (4) analyze requirements; (5) facilitate prioritization; (6) write specifications (7) communicate requirements; (8) lead validation and (9) manage requirements. Since “bridge person” is more than a person who only records requirements, this role includes many “soft skills” that are more people-oriented than technical [15]. “Bridge person” needs to know how to use many different methods (elicitation, analysis, modeling, etc.) and how to represent information in forms other than natural-language text. An effective “bridge person” combines strong communication, facilitation, and

6

L. Bormane and S. Bērziša

Fig. 2. “Bridge person” as communication channel, adopted from [11]

interpersonal skills with technical and business domain knowledge. Patience and a genuine desire to work with people are this role’s executor key success factors [11]. In practice, three types of “bridge person” can be identified. They mainly differ by their affiliation, primary responsibilities and core competencies [16]: (1) “bridge person” on customer side; (2) “bridge person” on developer side and (3) “bridge person” as an independent consultant. All three types are characterized in Table 1. While the main responsibilities and competencies are similar regardless of affiliation, there are some changes in emphasis. Table 1. “Bridge person” types and their characteristics Type “Bridge person” on Criteria customer side In-house, align to business Affiliation Define business requirements; Define user requirements; Communicate Primary with business experts, etc. responsibilities stakeholders; Communicate with the developer; Check proposed/delivered system. Know organization, its goals and challenges; Identifies the Advantages , "big picture" and detailing; core Know organization IS and IT competencies infrastructure – see changes and system that does not fit.

2.3

“Bridge person” on developer side Outsource, embedded in IT Define user requirements; Define system requirements; Communicate with customer; Communicate with development team; Check system compliance with requirements

“Bridge person” as an independent consultant Independent Analyze the current situation; Analyze the desired future situation; Define a solution concept; Define business requirements; Evaluate solution proposals.

Know business area Know the system and its related laws and structure; Know different regulations; Know the best complexity technologies; practices; Know the Identifies detailing. various existing solutions.

“Bridge Person” in Software Development Projects

Software development life cycle (SDLC) covers all software development activities from inception till software deployment and exploitation [17, 18]. To manage SDLC activities, a number of SDLC models have been created, such as traditional or predictive, iterative and incremental and adaptive life cycle model [19]. PRA activities and involvement of “bridge person” varies according to SDLC model used. In addition,

Role of “Bridge Person” in Software Development Projects

7

Fig. 3. PRA stage activities on project timeline [11]

depending on SDLC, PRA stage activities can be carried out at one or more times during the project (Fig. 3). Traditional SDLC models (such as waterfall and V model) are based on a sequence of activities, where each subsequent execution needs previous results. PRA stage activities occur only once at the beginning of SD project. The requirements are only revisited in a testing phase to evaluate the system against the requirements. The largest workload of “bridge person” in these projects is in the first quarter of the total project timeline. In this type of projects, “bridge person” involvement is short but very intense. In addition, all requirements are collected at one point, and their reformulation is not intended. Thus, “bridge person” impact on project results is very high [11, 19, 20]. Iterative and incremental SD (often for simplicity referred to “iterative SD” [21]) is based on the idea of a progressive development process in which the whole system is divided into smaller parts – “steps” or “iterations”. At the beginning of the project, only common top-level system requirements are defined, and detailed requirements analysis is repeated at the beginning of each iteration. Duration of one iteration is up to three months. A PRA stage activities workload curve varies. Initially “bridge person” workload is slightly higher than during the next iterations, since of the project beginning in addition to the iterations requirements defines the common top-level system requirements. In general, it may be determined that the “bridge person” participation in these projects is continuous. The amount of work aggregated for all iterations could be almost equivalent to traditional SD projects, but less intensive at times leaving space for correcting errors [11, 21]. Adaptive SD (also known as agile SD) focus on lightweight processes, which allow for rapid changes and continuous involvement of stakeholders. In this methodology, detailed analysis and documentation are not performed in their standard meaning but are tightly coupled with other concurrent activities. When the project is starting, project’s top-level system requirements in a form of user story are summarized in the product backlog, and at the beginning of each iteration highest priority user stories are selected, detailed, developed, and tested together with stakeholders. The iterations are shorter than in iterative SD [11, 19–22]. In agile projects, requirements are managed differently than in two earlier SDLC, and “bridge person” has a slightly different role [22]. Often “bridge person” are

8

L. Bormane and S. Bērziša

constantly supporting a product owner or performs this role [23]. The product owner is responsible for all user stories in the product backlog correctness, detailing and prioritization [23]. His participation is continuous, but its intensity strongly varies.

3 Survey An industry survey is conducted to investigate the importance of the PRA stage and role of “bridge person”. Based on the theoretical analysis the following objectives are set for the survey: • • • •

to to to to

evaluation a level of recognition of the role of “bridge person”; identify a level of involvement of “bridge person” in SD projects; gather information on job titles including “bridge person” responsibilities; summarize most important competencies of “bridge person”.

The online survey was selected as a data collection method and sent to a number of organizations in Latvia, as well as it was placed in several social networks with different SD projects related groups. The survey was completely anonymous. 64 respondents participated in the survey and mostly with at least more than five years of experience in software development projects. Distribution of SD project parties and their sphere of activity are shown in Fig. 4. The respondents’ breakdown by the sphere of activity shows that the survey respondents have represented a wide number of sectors.

Fig. 4. Respondents breakdown by involved party and organization sphere of activity

To evaluate recognition of the “bridge person” role, the respondents were asked to recognize this role without any additional explanation. That resulted in 33% of the respondents recognizing the role (Fig. 5). After the additional explanation, this role also recognizes by the remaining respondents. In addition, the majority of respondents (97%) says that they have been in contacts with this role performer on a daily basis in their own or other organization. Figure 6 shows job positions of this role at customer and developer side. Based on the answers (Fig. 7), it can be concluded that the respondents are not only in contact with the “bridge person”, but “bridge person” is also actively involved in almost all organization’s projects. According to respondents rating, two most popular

Role of “Bridge Person” in Software Development Projects

9

Fig. 5. Respondents’ assessment of “bridge person” recognition and contact on a daily basis

Fig. 6. Respondents marked job positions

Fig. 7. Respondents’ assessment of “bridge person” involvement in projects and it types

Fig. 8. Respondents’ assessment of “bridge person” competencies

10

L. Bormane and S. Bērziša

and frequently in projects involved “bridge person” types is the “bridge person” on the customer side and “bridge person” on developer side (Fig. 7) with a slight preference for having the “bridge person” on the customer side. The most important “bridge person” competences following the respondent’s opinion are shown in Fig. 8. Communication skills, analytical thinking, and collaboration skills are evaluated as three most critical competencies.

4 Selection of “Bridge Person” Type The aspects that impacts selection of an appropriate “bridge person” type for a given SD project we define as multi-criteria decision-making problem. Hierarchical decomposition of the aspects or criteria for selection of “bridge person” type is given in Fig. 9. The description of SD project situation is based on four groups of criteria including sub-criteria that are defined according to the theoretical analysis of “bridge person” role tasks and required competencies for the particular SD project based on the product that is developed and development process. These four criteria groups or clusters are: (1) criteria related to the customer – “C1: Customer” -; (2) criteria related to the developer – “C2: Developer”; (3) criteria related to the system – “C3: IS development product” and (4) criteria related to the development process – “C4: IS development project”. A large impact to selection of “bridge person” type are customers as it existing competencies and need for addition competencies mainly impact decision about “bridge person” type. As one of solutions and examples how to solve this selection problem and test proposed selection aspects, a decision-making matrix [24] has been created by using Analytic Hierarchy Process (AHP) method [25] that allows to identify varying impact of evaluation aspects to decision-making. 0 Impact of each criteria clusters (ci, i = 1..4) is specified by the relative weights (wi ). According to the authors evaluation by taking into account the theoretical knowledge gained in Sect. 2 and the survey data in Sect. 2 the current values of weights are 0.51, 0.32, 0.10 and 0.07. Weight values approve previous assumption that the customer related criteria’s have the largest impact on results. Each sub-criterion (cij, i = 1..4, j = 1.. k, k – count of sub-criteria in i cluster) also have their own AHP relative weights 00 (wij ). The summary sub-relative weights of criteria are calculated by multiplying two 0

00

previously obtained weights (wij ¼ wi  wij ). For decision-making matrix creation, the mapping between the project situation and the “bridge person” type is established. For every criterion cij, there are m potential answers characterizing the project situation. Their value is denoted by vijs, s = 1.. m, where s is the answer. The most suitable type of “bridge person” is identified for every answer by assigning a rank using the eleven points rating scale (rijst, t = 1..3, where t – “bridge person” type). These ranking is performed by the authors and these values are also possible to calibrate. The weights and rankings constitute the setup of the proposed solution. Also, interactive interface based on Excel has been created that helps to guide through number of evaluation criteria and automate calculation of results. To apply the

Role of “Bridge Person” in Software Development Projects

Fig. 9. Description of “Bridge person” type selection problem

Fig. 10. Example project criteria values

11

12

L. Bormane and S. Bērziša

Fig. 11. Example project results

proposed solution for selecting the appropriate type of “bridge person” for the given project, the following steps are performed: 1. Fill a spreadsheet with values (vijs) for every criterion (cij) to describe the project situation (example is given in Fig. 10); 2. Read the rank values of answers for each “bridge person” type (rijst); 3. Calculate a suitability rank for each “bridge person” type by using the following P formula: Rt ¼ ij wij  rijst . As a result, the suitability rank each type of “bridge person” is shown (Fig. 11). In the example, the highest rank is for the “bridge person” on customer sides. In this case, that is strongly influenced by relatively high internal development competencies at the customer side and the long project duration. The projects situation described is drawn from observations in practice, and a posterior evaluation of this selection corresponds to what was used in the project.

5 Summary and Conclusion During this research the requirements analysis stage has been analyzed as it has the profound impact on IS development. If requirements analysis is carried out properly, then it can be argued that the SD project will be successful and the system will satisfy customer needs. Even though there is a rich literature on requirements management, not a single method can resolve all the challenges, especially, those associated with the human factors. The “bridge person” role is one of the solutions to deal with the human factors. Responsibilities of this role are to ensure the proper information flow between the representatives involved in the project. The authors draw a conclusion that involving “bridge person” in SD projects and the PRA stage in particular serves as an enabler of successful project completion. Selection of the “bridge person” type is influenced by four important factors – customer, developer, system and SD project characteristics. The most significant of them is customer because only they know what is needed. That is why “bridge person” on customer side has significant advantages compared to the other two types. Based on the analyzed literature and the results of this paper, potential future research directions are: • consideration of additional factors in the selection problem sphere, for example, costs and more detailed characteristics of systems by area of application and technology used;

Role of “Bridge Person” in Software Development Projects

13

• distinguishing between different levels of qualification (e.g., beginner, intermediate and expert) of “bridge person”; • the combination of the “bridge person” role with related roles; • further evaluation of the solution for selection of the “bridge person” type.

References 1. Standish Group: Standish Group 2015 Chaos Report. https://www.infoq.com/articles/ standish-chaos-2015 2. Attarzadeh, I., Siew, H.: Project management practices: success versus failure. In: Proceedings of the 2008 International Symposium on Information Technology (2008) 3. Stepanek, G.: Software Project Secrets: Why Software Projects Fail. Apress, New Zealand (2005) 4. Kumari, S., Pillai, A.: Requirements elicitation issues and project performance: a test of a contingency model. In: Proceedings of the 2015 Science and Information Conference (2015) 5. Liao, H.: Requirement elicitation of enterprise informationization from view of VCA. In: Proceeding of the 2010 International Conference on Networked Computing (2010) 6. Noraini, C., Abdullah, M.: Requirement elicitation: identifying the communication challenges between developer and customer. Int. J. New Comput. Architectures Their Appl., 371–383 (2011) 7. Arif, S., Khan, Q., Gahyyur, S.: Requirements engineering processes, tools/technologies, & methodologies. Int. J. Rev. Comput., 41–56 (2009–2010) 8. More, J., Stieber, A.J., Liu, C.: Breaking Into Information Security. Syngress, USA (2016) 9. Haron, A., Sahibuddin, S.: The strength and weakness of requirement engineering (RE) process. In: 2nd International Conference on Computer Technology and Development (2010) 10. Eleiche, A.M., Ahmad, I., Elish, M.O.: Design requirements in software and engineering systems. Ind. Eng. Manage. Syst., 70–81 (2012) 11. Wiegers, K., Beatty, J.: Software Requirements. Microsoft Press (2013) 12. Hickey, A., Davis, A.: A tale of two ontologies: the basis for systems analysis technique selection. In: 9th Americas Conference on Information Systems (2003) 13. International Institute of Business Analysis: A guide to the business analysis body of knowledge (BABOK). International Institute of Business Analysis (2015) 14. Young, R.R.: The Requirements Engineering Handbook. Artech House Print on Demand (2003) 15. Darvill, L.: The importance of personal skills for the expert business analyst. Analysts Anonymous 11 (2012) 16. Lazdāne, G.: Projekta vadība un Biznesa analīze – duets vai solo? http://www.slideshare.net/ IIBA_Latvia_Chapter/ba-pv-21112013lnpva 17. IEEE Computer Society: Guide to the Software Engineering Body of Knowledge (SWEBOK). IEEE Computer Society Press (2014) 18. ISO/IEC 12207:2008 Systems and software engineering – Software life cycle processes (2008) 19. Project Management Institute: A Guide to the Project Management Body of Knowledge (PMBOK). Project Management Institute, Inc. (2013)

14

L. Bormane and S. Bērziša

20. Yu Beng, L., Wooi Khong, L., Wai Yip, T., Soo Fun, T.: Software development life cycle agile vs traditional approaches. In: 2012 International Conference on Information and Network Technology (2012) 21. Larman, C.: Agile and Iterative Development: A Manager’s Guide. Addison-Wesley Professional (2004) 22. Paetsch, F., Eberlein, A., Maurer, F.: Requirements engineering and agile software development. In: 12th IEEE International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises (2003) 23. Gregorio, D.D.: How the Business Analyst Supports and Encourages Collaboration on Agile Projects. IEEE (2012) 24. Technology evaluation centers: what is decision matrix? http://www.rfp-templates.com/ What-is/Decision-Matrix 25. Triantaphyllou, E., Mann, S.H.: Using the analytic hierarchy process for decision making in engineering applications: some challenges. Int. J. Ind. Eng. Appl. Pract., 35–44 (1995)

A Knowledge-Management System for the InnovationStrategy Development of SME Enterprises Sławomir Kłos ✉ , Katarzyna Skrzypek, and Karol Dabrowski (

)

Department of Computer Science and Production Management, University of Zielona Góra, Zielona Góra, Poland [email protected]

Abstract. Product and process innovations determine the competitiveness of manufacturing enterprises. The evaluation of a prototype of a new product or technology is a very-important process which sets the strategy of manufacturing or service enterprise development. Research-and-development-processes are expensive and time-consuming. But the most important for a manufacturing or service enterprise is the effectiveness of these processes (as measured by the market success of a product or innovative technology). In this paper is proposed a model for a knowledge-management system for innovation-processes improve‐ ment and enterprise-strategy development. The system is aimed at small and medium-sized manufacturing or service companies. The model of the system was created on the base of the results of survey research made in 112 Polish small and medium-sized enterprises. Illustrative examples are given. Keywords: Knowledge management · Innovation strategy · Survey research · Small and medium-sized enterprises (SME’s)

1

Introduction

Effective knowledge-management systems in high technology small and medium-sized enterprises should support research-and-development projects and innovation processes. The improvement of R&D processes is critical for the business strategy of manufacturing enterprises and wrong decisions can even result in the bankruptcy of the company. The most-important problem of small and medium-sized enterprises for new product or technology development is limited resources. Innovation projects are expen‐ sive and time-consuming and the results are not guaranteed (a relatively high probability of failure). Therefore, developing and implementing methods and tools for knowledge management to support the R&D strategy of SME’s is very important in, inter alia, facilitating the reduction of resource requirements. There are many research publications in the field of knowledge and innovation management. Dickel and Moura developed a model to measure organisational performance with a focus on knowledge management and innovation management [Dickel]. They used a quantitative research study, in the form of a multi-case study applied to three companies in the metal-mechanic sector in Brazil. The proposed model could be an effective tool for assessing organisational performance in that, in its application, the © Springer International Publishing AG 2017 R. Damaševičius and V. Mikašytė (Eds.): ICIST 2017, CCIS 756, pp. 15–24, 2017. DOI: 10.1007/978-3-319-67642-5_2

16

S. Kłos et al.

surveyed organisations have already been able to identify their main weaknesses and to use the reported results to improve their management. Forsman has studied what kinds of innovations have been developed in small manufacturing and service enterprises and what has been the degree of innovation capacity which small enter-prises possess. Roper and Dudas analysed the determinants of companies’ innovation outputs and provided new information on the relationship between knowledge stocks, as measured by patents, and innovation-output indicators [3]. They found that existing knowledge resources have moderately negative rather than positive impacts on companies’ innovation outputs and knowledge flows derived from internal investment, and external search dominate the effect of existing knowledge resources on innovation performance. Nowacki and Bachnik used a concept of eight processes of knowledge management and identified three broad categories of knowledge management innovations in an organisational context [4]. From the analysis of small, medium-sized, and large companies in Poland it turned out that the investigated enterprises were not very innovative in the area of knowledge management. Donate and Guadamillas suggest that managers should focus their attention on knowledge exploration and utilisation practices, along with a raft of “organisational enablers”, in order to achieve high levels of innovation results for the company [5]. They provide new empirical evidence on the relationships between knowl‐ edge management, organisational elements such as culture, leadership, HR practices, and innovation, in a large sample of companies. Open innovation establishes the flow of the internal and external information of organisations [6]. Talke, Salomo and Kock point out that the influence of top management teams (TMT) should be crucial, since innovation strategies are shaped at the top-management level [7]. Their study investi‐ gated how TMT characteristics affect a company’s strategic innovation orientation, and how this related to innovation outcomes and company performance. The results indicate that TMT diversity, measured as heterogeneity in the educational, functional, industry, and organisational backgrounds, has a strong positive effect on a company’s innovation orientation. In this paper a model is proposed for a system for effective knowledge management and strategic-decisions support in the field of innovations. The model was prepared on the basis of the results of a pilot survey conducted in 112 small and medium-sized Polish manufacturing and service enterprises. The main research problem in the paper is formulated as In a small or medium-sized manufacturing or service enterprise, what functions of the knowledge-management system can effectively support innovation management in terms of the strategic development of the enterprise? The model of the knowledge-management system includes its functionality prepared on the basis of the expectations of the investigated manufacturing and service companies. In the next chapter the results of the survey research are presented.

2

The Results of the Pilot Survey Research

The pilot survey research was conducted in 112 manufacturing and service companies and included questions concerning of companies’ strategy, innovations and knowledge. The first question was formulated as Which element of the enterprise’s strategy is the

A Knowledge-Management System

17

most important for its development (in terms of revenue growth)? The answers were rated on a scale from 1 to 5. The summary results of answers are presented in Fig. 1.

Fig. 1. The results of the survey research – the impact of strategy on the enterprise’s development

For the respondents the most-important components of strategy for the business development are the results of customer-satisfaction analysis and properly formulated strategic objectives (and indicators of the strategic implementation). Another important aspect of the research is the analysis of new products and technologies. The results of the research confirm that the development of innovative products and technologies should be stimulated and verified by the customers’ evaluation process. It means that for new-project development knowledge about new products, technologies and customer satisfaction (preferences) is crucial for the strategy of innovations. The next question directed to the respondents was What knowledge is the most important for strategic development preparation and implementation? The results of the survey research are presented in Fig. 2. All the answers are concerned with knowl‐ edge about business partners. For example, the IT system is concerned with knowledge about the IT systems of business partners. The analysis of the presented results shows that the most important for strategic development is knowledge about business partners’ products, services and technologies. For effective implementation of new products and services knowledge about the core competences of business partners is also very impor‐ tant. Knowledge about business partners’ organisation models and IT systems has rela‐ tively little impact on product development. It is interesting to note that knowledge about business partners know-how (patents and licences) is also not crucial for new-product development. The last question analysed in the paper was What methods and technologies deter‐ mine the strategic competitive advantage of the company? The results of the research are presented in Fig. 3.

18

S. Kłos et al.

Fig. 2. The results of the survey research – the impact of knowledge about business partners on the enterprise’s strategic development

Fig. 3. The results of the survey research – the impact of methods and technologies implementation on the enterprise’s strategic development

For the studied enterprises, the most-important methods or technologies which determine the strategy of company development are technologies supporting quality control and the automation of production processes [8]. Kaisen methods and mobile technologies have a relatively small impact on enterprises’ strategic development. The survey research enables us to define assumptions and limitations for knowledgemanagement systems focused on new-product and technological development. In Fig. 4 a model for knowledge-management-system implementation is proposed.

A Knowledge-Management System

19

The Kinds of crucial knowledge for innovation-strategy development

Knowledge about customer requirements and market trends

Knowledge about partners’ competences (products/technologies)

Knowledge Repository of Enterprise Defining relations among different kinds of knowledge

Choice of and support for innovative projects

Knowledge about the implementation of key technologies

Implementation methods and tools for knowledge processing and transfer s-

Project 1 Project n-1

I nn ov ati on str ate gy of enter pri se

Project n

Project 2

Knowledge about innovative-projects implementation

Fig. 4. A model for knowledge-management-system implementation for innovation-strategy development

On the basis of the conducted research the most-important kinds of knowledge for project development in a company could be defined. On the basis of the survey research three general kinds of knowledge resources for innovations development are identified: • knowledge about customers and market trends, • knowledge about business partners, • knowledge about key technologies. For the support of innovation projects implemented in a company a database and the correlation between different kinds of knowledge should be established. The knowledgemanagement system should support decisions about innovative project selection and implementation. |A very important function of a knowledge-management system is proper knowledge processing and transfer. The structure of projects for new-product or

20

S. Kłos et al.

technological development should be properly defined. Especially important is to define the level of the projected costs and assumed profits of the innovation. Each innovative project implementation results in a new knowledge (experiences, the implementation of new methods and tools, etc.) which is important for the knowledge-management system. Therefore, the system should include tools which facilitate the securing of knowledge about project implementation. The knowledge-management system is an important tool for defining the innovation strategy of an enterprise. In the next chapter an example is presented a of knowledge-management system for innovation-strategy development.

3

The Knowledge Management System for Innovation-Strategy Development – Case Study

Let us consider the small manufacturing enterprise Alpha in the mechanical engineering sector. The core competences of the company lie in the design and production of furnaces for the heat treatments of metals. The products are very complex and innovative. The furnaces are included in production lines dedicated, inter alia, to the automotive and aerospace industries. The company has 15 years’ experience in design products and technologies for the heat treatments of metals. Each new order involves a prototype which must be created with the comprehensive commitment of customers and business partners (material suppliers, subcontractors, etc.). The work-breakdown structure of the innovative product is presented in Fig. 5. The furnace system includes 14 key subsys‐ tems, which are not always produced by the Alpha company, but are very often researched and developed by external research centres or institutes. The manufacturing

pn – project of a furnace for heat treatments of metals pn1 – structure of the furnace

pn8 - heat exchanger

pn2 - furnace shell and container

pn9 - supercharger

pn3 - interior equipment

pn10 - pump system

pn4 - heating chamber

pn11 - pneumatic system

pn5 - cover of heating chamber

pn12 - gas system

pn6 - heating element

pn13 – control cabinet

pn7 – oil system

pn14 – furnace wiring

Fig. 5. An example of an innovative-product work-breakdown structure

A Knowledge-Management System

21

of the system is often commissioned to external business partners who make the elements of the subsystems on the basis of assigned construction documentation. That means that the product is prepared and allocated into the ambient industry. The knowledge related to the project is also shared around, and without an effective knowledge-resource-plan‐ ning system it can be lost. On the other hand this knowledge should be accessible to the cooperating companies in limited portions to avoid the possibility of the loss of core competences. Therefore, to support the overall projects implementation a knowledge broker should be engaged who will be responsible for the knowledge transfer to external organisations. The following examples of the kinds of knowledge should be entered in the knowl‐ edge database of the Alpha company: • • • • • • • • • •

k1 - patents and utility models, k2 - results of scientific research, k3 - material properties (strength tests, temperature effects, etc.), k4 - technical approvals, k5 - technological-customer requirements, k6 - exploitation-customer requirements, k7 - market trends, k8 - business partners’ products, k9 - business partners’ technologies, k10 - experience in other projects, etc.

For each subsystem of the innovative project, the knowledge-demand rate pij can be calculated as follows: pij =

∑m j=1

𝜔ij ⋅ 𝜑ij

(1)

where

ωij φij i = 1, 2, … , n j = 1, 2, … , m

- the weight of kinds of knowledge ωij = 0, 1, 2, 3, 4, 5 - the demand for knowledge for each subsystem, φij ϵ < 0;1> - number of projects, - number of project subsystems

The innovation strategy governs long-term decisions concerning investments in new products and technologies or R&D activities support. Using index (1) the knowledge requirements for the subsystems of innovative products can be determined. In Table 1 a matrix of knowledge demand for the innovative project is proposed. The knowledgedemand index is calculated on the basis of the number of inquiries (percentage) for each knowledge category. For example the highest number of enquiries for knowledge cate‐ gory k1 was for subsystem pn8 - heat exchange, which is relatively high (15% of all enquiries in category k1). In Table 1 the fields in which the knowledge-demand index is greater than 0.09 are denoted.

22

S. Kłos et al. Table 1. The matrix of knowledge demand for the innovative project ϕij

k1

p n1

0.01 0.18 0.08 0.08 0.09 0.06 0.17 0.05 0.11 0.01

p n2

0.04 0.03 0.08 0.02 0.13 0.11 0.01 0.00 0.15 0.08

p n3

0.10 0.03 0.04 0.10 0.03 0.14 0.01 0.06 0.07 0.07

p n4

0.06 0.04 0.08 0.10 0.03 0.00 0.13 0.04 0.02 0.06

p n5

0.06 0.10 0.08 0.01 0.05 0.05 0.03 0.08 0.05 0.14

p n6

0.04 0.16 0.11 0.14 0.10 0.01 0.00 0.08 0.00 0.00

p n7

0.11 0.08 0.06 0.00 0.10 0.02 0.18 0.07 0.06 0.01

p n8

0.15 0.13 0.10 0.07 0.11 0.13 0.00 0.12 0.14 0.01

p n9

0.05 0.11 0.01 0.02 0.11 0.10 0.13 0.07 0.07 0.07

k2

k3

k4

k5

k6

k7

k8

k9

k 10

p n10 0.05 0.01 0.11 0.08 0.02 0.07 0.11 0.06 0.13 0.09 p n11 0.10 0.01 0.02 0.12 0.01 0.06 0.01 0.05 0.08 0.15 p n12 0.07 0.05 0.10 0.10 0.02 0.11 0.01 0.11 0.03 0.15 p n13 0.09 0.01 0.05 0.06 0.15 0.06 0.11 0.13 0.08 0.15 p n14 0.08 0.06 0.08 0.10 0.06 0.07 0.09 0.09 0.01 0.02

The matrix presented in Table 1 shows what kinds of knowledge, and for which subsystems, are important. For example, according to the data the greatest demand on knowledge comes from k4, k5, and k7. For the furnace-wiring subsystem only one kind of knowledge is important - k4 technical approvals. The results of the analysis of knowl‐ edge-demand matrix enable us to determine the required kinds of knowledge and areas (technologies or products/subsystems) which should be supported. For the innovation strategy it means what competences (human resources, training, subcontractors, research institutes, etc.) we should develop to guarantee a high level of innovation. The proposed knowledge management for innovation-strategy development should include the learning tools based on artificial neural networks for the adaptation of the knowledgedemand matrices for customer requirements [9]. Of course, the system should include all the innovative projects being undertaken by the whole of the enterprise (including internal projects). The methodology for implementing the knowledge-management system for innova‐ tion-project development is presented in Fig. 6. In the first step of the methodology, the research tools for the identification of vital knowledge in the company should be devel‐ oped. It means that surveys addressed to customers, employees and business partners should be prepared. On the basis of the results of the research the most-important kinds of knowledge for the enterprise can be defined. In this stage of the methodology the tools for knowledge recording and transfer should be proposed. Next, the work-breakdown structure of the project should be devised and on the basis of the kinds of knowledge and the scope of the projects the knowledge-demand matrix can be developed.

A Knowledge-Management System

23

The development of research tools for the identification of the innovation areas

Customer survey

Business partner survey

Employee survey

The identification of the most-important kinds of knowledge

The development of work-breakdown structure for innovative projects

The preparation of the knowledge-demand matrix for the innovative projects

The assumptions and limitations for the innovation-strategy development

The choice of the innovative projects important for the enterprise strategy development

Fig. 6. The methodology of knowledge management system implementation for innovationstrategy development

On the basis of the analysis of the knowledge-demand matrix, the assumptions and limitations of the innovation strategy can be formulated. The assumptions and limita‐ tions enable us to support the decision as to which innovative projects should be devel‐ oped. The innovation strategy can be enhanced by drawing on the feedback as the last stage, and the developing of the work-breakdown structure of new innovative projects.

4

Conclusions

Many SME’s do not have a development strategy, and especially an innovation strategy. But for high-tech engineering innovation enterprises this kind of strategy is crucial and in the long-term perspective determines market success or failure. The most-important resources for each innovative company are knowledge and experience, which decide about the implementation of projects (innovative products, technologies or services). In this paper a model of knowledge-management-system implementation for innovationstrategy development is proposed. The model is prepared on the basis of survey research of 121 Polish manufacturing or services SME’s. In addition, the methodology of

24

S. Kłos et al.

knowledge-management-system implementation for innovation-strategy development is presented. The methodology is based on a knowledge demand matrix. The matrix enables us to identify the innovative components of products, services or technologies which should be included in the strategy for the enterprise’s development. The proposed methodology of innovation-strategy development can be relatively easily implemented in engineering-to-order enterprises [10]. It requires simple tools for project development for a knowledge-management systems. In further research, an integrated tools for knowledge- and project-management systems will be developed.

References 1. Dickel, D.G., Moura, G.L.: Organizational performance evaluation in intangible criteria: a model based on knowledge management and innovation management. RAI Revista de Administração e Inovação 13, 211–220 (2016) 2. Forsman, H.: Innovation capacity and innovation development in small enterprises. A comparison between the manufacturing and service sectors. Res. Policy 40(5), 739–750 (2011) 3. Nowacki, R., Bachnik, K.: Innovations within knowledge management. J. Bus. Res. 69, 1577– 1581 (2016) 4. Roper, S., Dundas, N.H.: Knowledge stocks, knowledge flows and innovation: Evidence from matched patents and innovation panel data. Res. Policy 44(7), 1327–1340 (2015) 5. Donate, M.J., Guadamillas, M.J.: Organizational factors to support knowledge management and innovation. J. Knowl. Manage. 15(6), 890–914 (2011) 6. Wang, C.H., Chang, C.H., Shen, G.C.: The effect of inbound open innovation on firm performance: evidence from high-tech company. Technol. Forecast. Soc. Chang. 99, 222– 230 (2015) 7. Talke, K., Salomo, S., Kock, A.: Top management team diversity and strategic innovation orientation: the relationship and consequences for innovativeness and performance. J. Prod. Innov. Manag. 28(6), 819–832 (2011) 8. Jasarevic, S., Diering, M., Brdarevic, S.: Opinions of the consultants and certification houses regarding the quality factors and achieved effects of the introduced quality system. Tehnicki Vjesnik-Technical Gazette 19(2), 211–220 (2012) 9. Burduk, A.: Artificial neural networks as tools for controlling production systems and ensuring their stability. In: Saeed, K., Chaki, R., Cortesi, A., Wierzchoń, S. (eds.) CISIM 2013. LNCS, vol. 8104, pp. 487–498. Springer, Heidelberg (2013). doi:10.1007/978-3-642-40925-7_45 10. Kłos, S.: A model of an ERP-based knowledge management system for engineer-to-order enterprises. In: Dregvaite, G., Damasevicius, R. (eds.) ICIST 2016. CCIS, vol. 639, pp. 42– 52. Springer, Cham (2016). doi:10.1007/978-3-319-46254-7_4

Exemplar Functionalities of the Intelligent System for Tacit-Knowledge-Transfer Support for an IT Company Justyna Patalas-Maliszewska1 ✉ and Irene Krebs2 (

)

1

2

University of Zielona Góra, Zielona Góra, Poland [email protected] Brandenburg University of Technology Cottbus-Senftenberg, Cottbus, Germany [email protected]

Abstract. This article aims to present the usage flow of the intelligent system for Tacit Knowledge-Transfer-Support for an IT company. The following exem‐ plar functionalities of this system are described: C1-F1: Selecting the processes that are carried out by an employee, C1-F2: Determining the employees’ knowl‐ edge and C2-F2: Determining the weighting of each component of the personnelusefulness function using the FAHP method. The presented functionalities enable the selection of the employees with the appropriate skills as the main tacit-knowl‐ edge source within a company and acquiring the knowledge from them. Keywords: Tacit knowledge · An intelligent system · Tacit knowledge transfer support

1

Introduction

Companies functioning in a highly competitive environment should appreciate the importance of tacit-knowledge management for securing their competitive advantage. Tacit knowledge in a company is gained from employees who participate in this process, but, however, their knowledge is very difficult to absorb [2, 6, 13, 15]. Nonaka and Takeuchi [10] stated that tacit knowledge can be transferred only through demonstration and the sharing of experience by the employee. However, the problem of tacit-knowl‐ edge transfer involves the management of employees, processes, implemented by staff within the company, and the determination of the importance of the knowledge. According to Wang et al. [16] tacit knowledge can be defined as both employees’ professional knowledge (skills, abilities, patents) and experience knowledge. Dhuieba et al. [3] stated that tacit knowledge should be transferred in a company to enable employees understand their activities. We maintain that the most-vital tacit knowledge is associated with employees’ knowledge within a company. Our research on employees’ knowledge presented a possible method for defining and classifying such employees in a company [13, 14]. We are continuing our research, and we are proposing an intelligent system for Tacit-Knowledge-Transfer Support for an IT company, based on Know-How. When knowledge staff leave a company, their knowledge leaves with them [9]. Our motivation to build this system came from studies of the literature, and also from research results obtained from 62 Polish manufacturing companies in the © Springer International Publishing AG 2017 R. Damaševičius and V. Mikašytė (Eds.): ICIST 2017, CCIS 756, pp. 25–34, 2017. DOI: 10.1007/978-3-319-67642-5_3

26

J. Patalas-Maliszewska and I. Krebs

Lubuskie region, and from 23 German manufacturing companies in the Brandenburg region (in the cross-border cooperative region of Lubuskie/Poland-Brandenburg/ Germany) in the automotive and construction sectors (they constitute 20% of such enterprises in the cross-border cooperative region). In this paper, special attention is paid to present the first part of our intelligent system for Tacit-Knowledge-Transfer Support for the IT company, being the implementation of our concept for the Tacit-Knowledge-Transfer Support Tool: the Know-Board, presented in our previous work [12]. Section 2 shows the literature research related to an approach to Tacit-Knowledge-Transfer Support, and presents the stages which are involved in an intelligent system for Tacit-Knowledge-Transfer Support. Section 3 presents exemplar functionalities of an intelligent system, and Sect. 4 summarises the research results.

2

Related Works and the Approach to the Tacit-KnowledgeTransfer-Support Tool

Tacit knowledge is more difficult than explicit knowledge to transfer among employees [5], but on the other hand managers now pay more attention to the sharing of some important knowledge [7]. Moreover, tacit knowledge is the currency of the informal economy of the workplace [8]. Therefore, any approach to Tacit-Knowledge-Transfer Support should attempt to make tacit knowledge explicit. Our research is focused on the Tacit-Knowledge-Transfer-Support model according to the following stages of the tacitknowledge-management process. (1) Identifying tacit-knowledge sources (employees’ knowledge is the main tacit-knowledge source), (2) Defining the rules for knowledge acquisition, (3) Acquiring knowledge, (4) Classifying knowledge, (5) Understanding knowledge, (6) Using knowledge, (7) Saving knowledge, (8) Building the organisa‐ tional-knowledge culture. In this paper we attempt to acquire, codify and convert knowledge within an IT company. So, the proposed approach to an intelligent system for Tacit-KnowledgeTransfer Support for the IT company provides an opportunity to acquire and convert tacit knowledge within the IT company, and, in line with our previous work [12], consists of five components. • C1: Tacit-Knowledge-Source Identification. • C2: Tacit-Knowledge-Source Determination using FAHP (The Fuzzy Analytic Hier‐ archy Process). • C3: Tacit-Knowledge Acquisition. • C4: Tacit-Knowledge Transformation. • C5: Explicit Knowledge Visualisation: A Knowledge-Transfer Board. Therefore, the following stages are involved in the intelligent system for TacitKnowledge-Transfer Support.

Exemplar Functionalities of the Intelligent System

27

Within component C1 Stage C1-1. Defining the processes typically implemented by the staff member Each employee should identify the processes that are to be carried out by her/him and should allocate in a given month the time spent on each element, within a defined range of 1 h–160 h. Stage C1-2. Devising a knowledge questionnaire for employees, facilitating the determining of knowledge sources in the company and obtaining the values of each component - GK, PK, A, E, CI - of the personnel-usefulness function [14]: Fn = GK + PK + A + E + CI,

(1)

where GK PK A E CI

= the general knowledge of the nth worker in the company. = the professional knowledge of the nth worker in the company. = the professional abilities of the nth worker in the company. = the experience of the nth employee in the company. = the capacity for innovation of the nth employee in the company

Stage C1-3. Defining algorithmic solutions for each component GK, PK, A, E, CI of the personnel-usefulness function. The results: 1 ≤ GK ≤ 5; 1 ≤ PK ≤ 5, 1 ≤ A ≤ 5, 1 ≤ E ≤ 5, 1 ≤ I ≤ 5. Stage C1-4. Determining the values of the personnel-usefulness function for each employee. The result: 1 ≤ Fn ≤ 25 Stage C1-5. Devising a knowledge questionnaire for managers in order to evaluate each employee. The result: 1 ≤ ACT ≤ 5; ACT– the acceptance of Fn by the managers in the company. Within component C2 Stage C2-1. The weighting of each component GK, PK, A, E, CI of the personnelusefulness function using the FAHP method. Managers should determine the relative primacy of each factor in the function Fn for each employee, depending on the validity of the given component for the implementa‐ tion of the new IT project. Stage C2-2. Determining the main tacit-knowledge sources (MTKS) for new IT projects. The result: the set of MTKS: MTKS = < MTKS1(F’1 ≥ 3 and ACT1 ≥ 3), …, KWj(Fj ≥ 3 and ACTj ≥ 3), jϵN Within component C3 Stage C3-1. Devising a questionnaire for knowledge acquisition for each IT project for each main tacit-knowledge source in the IT company According to the work of Patalas-Maliszewska and Dudek [11], and the work of Belussi et al. [1], Falkenberg et al. [4], we can acquire useful tacit knowledge in compa‐ nies by the use the following methods: feedback from customers and suppliers,

28

J. Patalas-Maliszewska and I. Krebs

consultation, analysis-simulation results, observations conducted in real time, using records analysis, demonstrations and training, knowledge audits, and audio and video recordings of activities by experienced employees. In this system, a web questionnaire for knowledge acquisition on each IT project is created and implemented. Stage C3-2. Creating a knowledge base on IT projects based on results, and on KeyWord Taxonomy. The result: a complete table on each IT project. Within component C4 Stage C4-1. The verification of the knowledge base on IT projects by the manager. The managers should verify the acquired knowledge. Within component C5 Stage C5-1. The selection of a satisfactory main tacit-knowledge source (employee(s)) for new IT-project-implementation. The managers can select the most-suitable employee(s) for the new IT-project implementation based on the set of the MTKS. Stage C5-2. Giving the rights to the use of the knowledge base to new employees in the company. The managers may give the rights to the use of the knowledge base to new employees for new IT-project implementation. The issue in this paper is how to select the employees with the appropriate skills as the main tacit-knowledge source, how to acquire knowledge from them, and finally how to codify and convert this knowledge within the IT company. Moreover, how can acquiring tacit knowledge be useful for undertaking new IT projects in companies? The proposed intelligent system for Tacit-Knowledge-Transfer Support provides an oppor‐ tunity to acquire and convert useful tacit knowledge in the IT company. The next section describes exemplar functionalities of the tacit-knowledge transfer-support system which implements the above stages according to the components C1–C5.

3

An Intelligent System for Tacit-Knowledge-Transfer Support for the IT Company - an Application - Part I Tacit-Knowledge

In Fig. 1 the usage flow of our intelligent system for Tacit-Knowledge-Transfer Support for the IT company is presented. The server administrators perform the server-admin‐ istration tasks. Below we describe some sample functions of our system. Within component C1 Tacit-Knowledge Source Identification we have, e.g., the following function: • C1-F1: Selecting the processes that are carried out by an employee. A Web-based questionnaire on the typically implemented processes Pn ϵ ≤ 1; 69 ≥ for each employee in the IT company W = {W1,…, Wm}, mϵN was created (see Fig. 2).

Exemplar Functionalities of the Intelligent System

29

Fig. 1. Usage flow of the intelligent system for Tacit-Knowledge-Transfer Support for the IT company, own work

Fig. 2. Web-based questionnaire on typically implemented processes in the IT company, own work

30

J. Patalas-Maliszewska and I. Krebs

If an employee logs that s/he implements this process in a given month for at least one hour, then this staff member is included in the set of employees who are involved in this process. As a result we arrive at the set of employees assigned to the process. • C1-F2: Determining the employees’ knowledge Consequently, for the determined groups of processes the various web-based ques‐ tionnaires are developed. Below you can see the web questionnaire for the following set of processes. Preparing a new project. Defining the scope of the new project. Creating a new product. Improving existing products. Providing market analysis. Providing market research. Providing technical research. Designing the concept of the new product. Creating a prototype. Creating the final product. Sharing marketing processes and best practices. Preparing the firm’s strategy. Planning the firm’s development. Human-resource management. Risk management. Controlling. Finding new projects. Making decisions. Support and benefits formulation. Figures 3 and 4 present the frag‐ ments of the web-based questionnaire for each component of the personnel-usefulness function.

Fig. 3. A fragment of the web-based questionnaire: the professional knowledge (PK) of the nth worker in the company, own work

Thanks to the solution algorithms for these tests, we derive the values of each component of the personnel-usefulness function Fn for each employee, where 1 ≤ GK ≤ 5; 1 ≤ PK ≤ 5, 1 ≤ A ≤ 5, 1 ≤ E ≤ 5, 1 ≤ CI ≤ 5. Moreover, the manager in the IT company should also evaluate the employee; so in our system we have the web-based questionnaire Acceptance (ACT) for the nth manager in the company (see Fig. 5). Accepting the following rules: if Fn ≥ 17 and ACT ≥ 3 for each employee then we generate the set of the employees’ knowledge.

Exemplar Functionalities of the Intelligent System

31

Fig. 4. A fragment of the web-based questionnaire: the professional knowledge (PK) of the nth worker in the company, own work

Fig. 5. A fragment of the web-based questionnaire Acceptance (ACT) for the nth manager in the company, own work

The difficulty of the presented approach in our system is that different questionnaires should be defined for each process group. In our system we formulated and implemented different web-questionnaires for four different sets of processes, which means four GK web questionnaires, four PK web-questionnaires, four A web-questionnaires, four E web-questionnaires, and four CI web-questionnaires.

32

J. Patalas-Maliszewska and I. Krebs

Within component C2: • C2–F2. Determining the weighting of each component GK, PK, A, E, CI of the personnel-usefulness function using the FAHP method Through the use and implementation of the Fuzzy Analytic Hierarchy Process method, the manager in the IT company can determine the relative primacy of each factor in the personnel-usefulness function for each knowledge employee (see Fig. 6).

Fig. 6. The possibility of the manager’s determining the relative primacy of each factor in the personnel-usefulness function, own work

Fig. 7. The creation of the table about an IT project, own work

Exemplar Functionalities of the Intelligent System

33

The FAHP algorithm is also implemented in our system, and we have also defined the rules by which an employee can be assigned to the MTKS. As an example of the implementation of further components we present below a fragment of the report: the table on the IT project (Fig. 7): This study presents exemplar functionalities of the knowledge-transfer-support system for identifying the main tacit-knowledge sources (MTKS) in the IT company, and for acquiring and converting the tacit knowledge from the MTKS. Further, we plan to conduct experiments to evaluate the usefulness of this system.

4

Conclusions

This paper addresses the challenges and needs of tacit-knowledge transfer as defined by managers in IT companies. Tacit-knowledge acquisition, converting and transferring is becoming crucial for effective software development. In this paper, we have asserted that tacit knowledge cannot be separated from knowledge sources. Our case study presents an intelligent system for Tacit-Knowledge-Transfer Support for an IT company. The use of the system can serve to manage critical tacit knowledge gathered from any identified Main Tacit-Knowledge Source (MTKS) in the IT company. Several limitations of the proposed system need to be kept in mind; in fact, these limitations might serve as starting points for further research. Firstly, this system should be modified and made relevant to the profile of the company. Future research should extend our theoretical model to other business and company model concepts. Secondly, the present tool focusses on a defined set of business processes in an IT company. Future research should extend this analysis to other relevant processes in an IT company. Finally, due to our personnel usefulness function concept, it will be necessary to formu‐ late a different, web questionnaire for employee knowledge, according to the business processes in each company. In our further work we will demonstrate the utility of this system through examples of its implementation in IT companies.

References 1. Belussi, F., McDonald, F., Borrás, S.: Industrial districts: state of the art review. Research report, Project West–East id: Industrial districts re-location processes. Identifying policies in the perspective of the European Union enlargement. Report (2005). http://cordis.europa.eu/ docs/publications/1001/100123911-6_en.pdf. Last accessed 3 Nov 2016 2. Bennet, R.: Employers’ demands for personal transferable skills in graduates: a content analysis of 1000 job advertisements and an associated empirical study. J. Vocat. Educ. Training 54(4), 457–476 (2002) 3. Dhuieba, M.A., Larochea, F., Bernarda, A.: Context-awareness: a key enabler for ubiquitous access to manufacturing knowledge. Procedia CIRP 41, 484–489 (2016) 4. Falkenberg, L., Woiceshyn, J., Karagianis, J.: Knowledge sourcing: internal or external? In: Competitiveness and Learning 5th International Conference (2003) http://www2.warwick.ac.uk/fac/ soc/wbs/conf/olkc/archive/olk5/papers/paper16.pdf. Last accessed 15 Nov 2016

34

J. Patalas-Maliszewska and I. Krebs

5. Fernie, S., Green, S.D., Weller, S.J.R.: Newcombe, knowledge sharing: context, confusion and controversy. Int. J. Project Manage. 21(3), 177–187 (2003) 6. George, E., Chattopadhyay, P.: One foot in each camp: the dual identification of contract workers. Adm. Sci. Q. 50, 68–99 (2005) 7. Heidemann, J., Klier, M., Probst, F.: Online social networks: a survey of a global phenomenon. Comput. Netw. 56(18), 3866–3878 (2012) 8. McKinlay, A.: The bearable lightness of control: organizational reflexivity and the politics of knowledge management. In: Pritchard, C., Hull, R., Chumer, M., Willmott, H. (eds.) Managing Knowledge: Critical Investigations of Work and Learning. MacMillan Press, London (2000) 9. Mládková, L.: Management of Knowledge Workers. Wolters Kluwer Business, Bratislava (2012) 10. Nonaka, I., Takeuchi, H.: The Knowledge-Creating Company: How Japanese Companies Create the Dynamics of Innovation. Oxford University Press (1995) 11. Patalas-Maliszewska, J., Dudek, A.: A model of a tacit knowledge transformation for the service department in a manufacturing company: a case study. Found. Manage. Int. J. 8(1), 75–188 (2016) 12. Patalas-Maliszewska, J., Krebs, I.: A model of the tacit knowledge transfer support tool: cknow-board. In: Dregvaite, G., Damasevicius, R. (eds.) ICIST 2016. CCIS, vol. 639, pp. 30–41. Springer, Cham (2016). doi:10.1007/978-3-319-46254-7_3 13. Patalas-Maliszewska, J., Krebs, I.: Decision model for the use of the application for knowledge transfer support in manufacturing enterprises. In: Abramowicz, W. (ed.) BIS 2015. LNBIP, vol. 228, pp. 48–55. Springer, Cham (2015). doi:10.1007/978-3-319-26762-3_5 14. Patalas-Maliszewska, J.: Knowledge Worker Management: Value Assessment, Methods, and Application Tools. Springer, Heidelberg (2013) 15. Sharma, P., Tam, J.L.M., Namwoon, K.: Demystifying intercultural service encounters. toward a comprehensive conceptual model. J. Serv. Res. 12, 227–242 (2009) 16. Wang, J.-F., Chen, M.-Y., Feng, L.-J., Yue, J.: The construction of enterprise tacit knowledge sharing stimulation system oriented to employee individual. Procedia Eng. 174, 289–300 (2017)

A Model of the Knowledge Assessment Using Bayes’ Network Małgorzata Śliwa and Justyna Patalas-Maliszewska(&) University of Zielona Góra, Zielona Góra, Poland {M.Sliwa,J.Patalas}@iizp.uz.zgora.pl

Abstract. Modelling of knowledge in production enterprises makes it possible to optimise the processes related to knowledge management. Based on the literature review presented the models using to modeling of knowledge. Following this, the process of acquiring tacit knowledge by the R&D department employees is presented. This article formulates the model of knowledge assessment by means of the Bayesian networks, using the example of a Polish medium manufacturing company from the automotive sector with its own research and development (R&D) department. The authors present the problem of assessing the knowledge acquired from a knowledge form dedicated to this company. The knowledge base has been formulated for which the Bayesian network has been used - the learning algorithm which supports quick identification of the required knowledge and its assessment. Thanks to the implementation of the Bayesian network, it was possible to acquire information on the level of knowledge in a department subject to study; thus it was possible to reduce the time needed for the acquisition of the already gathered resource and its correct identification. Keywords: Byesian network  Tacit knowledge Research and development  Production enterprise



Sharing knowledge



1 Introduction The development of information technology creates the necessity for enterprise managers to make decisions regarding the implementation of the tools assisting in business processes. Knowledge management is classified as one of those processes which not only require support by means of implementing IT tools, but also adequate modelling of the activities conducted by employees as part of this process. IT systems that support decision-making based on expert knowledge. It encompasses mainly the so-called tacit knowledge which is connected with experience. It comes from the employees and it is acquired by one’s own actions. Tacit knowledge is created in the surroundings of generally available and easy to articulate explicit knowledge [1], formalised and concentrated in procedures, regulations, instructions, knowledge bases, etc. [2]. While it is possible to measure the formalised resource, it is hard to acquire and assess the experts’ level of knowledge. Modelling of knowledge and artificial intelligence, even in the case of a simple task, requires the involvement of large resources, while this knowledge is in the state of © Springer International Publishing AG 2017 R. Damaševičius and V. Mikašytė (Eds.): ICIST 2017, CCIS 756, pp. 35–47, 2017. DOI: 10.1007/978-3-319-67642-5_4

36

M. Śliwa and J. Patalas-Maliszewska

a constant change [3]. Knowledge representation methods used are based mainly on: predicate logic, production rule and semantic network, and framework. Thanks to ontology it is possible to connect the basic knowledge with the knowledge representation [4]. This article formulates the model of knowledge assessment by means of the Bayesian networks, using the example of a Polish medium manufacturing company from the automotive sector with its own research and development (R&D) department. The authors present the problem of assessing the knowledge acquired from a knowledge form dedicated to this company. The knowledge base has been formulated for which the Bayesian network has been used - the learning algorithm which supports quick identification of the required knowledge and its assessment. Thanks to the implementation of the Bayesian network, it was possible to acquire information on the level of knowledge in a department subject to study; thus it was possible to reduce the time needed for the acquisition of the already gathered resource and its correct identification. Chapter two presents, based on the literature review, the models of knowledge assessment in enterprises. Following this, the process of acquiring tacit knowledge by the R&D department employees is presented. As a consequence, the Bayesian network has been designed to formulate the model of knowledge assessment and the model has been verified on a real example.

2 Knowledge Modelling Systems which represent knowledge are generally called knowledge based systems [3]. Based on the review of literature (from the year 2000 to 2015), the researchers explain the models of knowledge used in representing and manipulating knowledge. Four main categories of the models and their representatives have been distinguished [5]: • the linguistic knowledge bases – FrameNet, WordNet, ConceptNet, • the expert knowledge bases – Fuzzy Rule based System, Logical Rule based System, • the ontology – Application Ontology, Domain O., Generic O., Representation O., • the cognitive knowledge base. In manufacturing companies, knowledge modelling tools use algorithms which support the identification of key notions contained in dispersed external and internal sources. The selection of key words, taking into account their frequency or the sequence of their occurrence are made possible by data mining techniques [6] or semantic methods [7]. When assessing risk, making decisions or specifying the probability of a situation that has occurred, the following methods are used: Fuzzy Petri Nets – a method of modelling with a visual representation of knowledge and inferencing in expert systems [8], Bayesian networks [9] or genetic algorithms [10]. The Bayesian networks are used for object classifications, presenting process dependencies, as well as when making decisions in uncertainty conditions [9]. As authors of Agena Risk said Bayesian network “is enabled us to incorporate expert judgement (for example, about the software

A model of the knowledge assessment using Bayes’ network

37

development process) with limited data from individual component testing and even more limited data from system testing” [11]. Genetic algorithms, as a more complex tool, as a rule, are used for studying the (occurrence) of the final effect through the analysis of multiple factors and their weights. They are useful, for example, in evaluating customers’ preferences [12], or in analysing manufacturing processes, accompanied by the index rankings [13]. The presented solutions are used in large manufacturing companies. On the other hand, in the small-medium-enterprises (SME) sector, one should look for techniques which make it possible to design knowledge and assess it adequately to the needs of the company. According to the basic rules presented by Bubenko [14], modelled knowledge in a company refers to conceptual techniques which take into account the information system or the group of elements of the company (business processes, actors, roles, flow of information, etc.) and teleological group, which includes reasons. Knowledge modelling can be objective, i.e. the definition of knowledge representation in the form of an object, or in the form of a process, i.e. the representation of knowledge encompasses cause-effect dependencies, which, in turn, is reflected in the networks and trees, and directed graphs. For the needs of formulating the model of knowledge assessment in a manufacturing company, the following knowledge categories have been adopted: • group of knowledge, group of products, group of models, etc., • main fields of knowledge occurring in the R&D department regarding the specified issues related to the project, e.g. technology, material resistance, etc. • sources of knowledge, i.e. the list of employees who are actively involved in a given project, • the how? knowledge, i.e. the list of problems during the realisation of the project. The dispersed knowledge can be acquired and organised using tools such as [15]: questionnaires, forms, thematic panels or message boards of knowledge exchange which should ultimately be connected to internal knowledge bases. For the manufacturing company under consideration, a knowledge base has been prepared, based on the dedicated knowledge acquisition questionnaire. The base includes specialist knowledge on the executed projects which required the use of an employee’s experience. The check boxes have been narrowed down to specifying the item compliant with the closed list. The content of the form and the example answers are presented below: 1. 2. 3. 4. 5. 6.

Specify the ID of the project to which the issue belongs. SF_1369 Specify the group of products. valves Select the field of knowledge of the issue. technology Select the key word for the issue. main gasket, gasket To whom do you make the knowledge available? R&D department Specify the activities performed while solving the issue. Additional laboratory tests, Jan Kowalski, Pressure Value_1369 7. Which key materials were used while solving the issue (source of knowledge)? Technical documentation, SafetyValve_1365

38

M. Śliwa and J. Patalas-Maliszewska

8. Which materials were created while solving the issue (source of knowledge)? Should the acquired knowledge be made available to a new employee? Technical documentation, SafetyValve_1369 9. Comments on the acquired knowledge. 10. Person responsible for solving a given issue. Andrzej Nowak The information downloaded automatically while filling in the knowledge questionnaire (the employee is logged in on his/her computer, the employee logs in to the system, etc.) The knowledge acquired this way is entered to the knowledge base for which the Bayesian network has been implemented.

3 Modelling of Knowledge Using the Bayesian Network The operating principle of the Bayesian network is based on the Bayesian classification rule. Its graphical interpretation presents the finite, acyclic directed graph which indicates the cause-effect dependency between the apexes (variables) [16]. The Bayesian networks create an effective expert system which is based on statistics. The Bayes theorem (Eq. 1) is the so-called conditional probability (a posteriori) of the event A (belonging to a specified class A) on condition of the occurrence of event B (possessing the properties specified as B). PðAi n BÞ ¼

PðB n AiÞPðAiÞ PðBÞ

ð1Þ

Assuming the update of the simple probability a priori to a posteriori in the light of new information (e.g. known properties of the project under examination), it should be borne in mind that event B can occur in several mutually exclusive ways Ak (several various routes), where the probabilities of occurrence Ak are significant. Thus, total probability P(B) can be expressed by the equation: X PðBÞ ¼ PðAk ÞPðB n Ak Þ ð2Þ k The acquired knowledge has made it possible to calculate again the probability of the occurrence of each event Ai, therefore from the first value Ai we arrive at a new value P(Ai\B), using the Eq. 1 [16]. Modelling of the Bayesian networks with the graphical interpretation of the networks with the calculating engine can be made using the following software: AgenaRisk [17], GeNie [18], Belief and Decision Network Tool [19], dedicated computer platform, with traditional interface easy to use by an average user. Knowledge base build on the basis of a knowledge acquisition form (see Chap. 2) constitutes the so-called training set i.e. the reference point for the Bayesian network. Methodology of implementation and functioning of a network in the company subject to study is described in three basic steps. While step 1 relates to the preparation of a

A model of the knowledge assessment using Bayes’ network

39

Fig. 1. The methodology of implementing the presented knowledge management supporting algorithm in the R&D department in a manufacturing company

general concept and purposefulness of modelling of knowledge available in the company, steps 2 and 3 present specific actions - they are visually represented by Fig. 1. STEP 1 Construction of the Bayesian network scheme The first step involves the definition of the purpose of the network – what question it should answer or what classes should the described object belong to. Based on the analysis of key elements in the company which affect the achievement of the objective, one should define the dependencies between the elements (levels of the net). STEP 2 Creating the training set The second step involves the acquisition of knowledge for the bases on which the calculating algorithm shall base its operation. Using the proposed tool (e.g. a questionnaire) one acquires knowledge on a set quantity in a specified period of time. Completing the bases (training set) should be performed in cyclic time intervals. That updates are made realistic results of probability are received. The subsequent steps presented below. 1. A R&D employee receives a new project which includes a problematic issue. 2. The project leader undertakes to search for solutions. First, by their own, and then using the sources of knowledge acquired from outside or from inside of the company. 3. Concepts, visualisations, solutions, and prototypes are devised. Thus, documents of various kind, origin, and format are acquired. 4. The choice of an optimal solution is made. 5. The prototype is put to internal tests and studies carried out by a team composed of the project leader, quality engineer, etc. 6. The project is approved by the authorised entities, i.e. the project leader, CEO…

40

M. Śliwa and J. Patalas-Maliszewska

Items 4 to 6 can have any number of iterations. 7. The project leader completes his/her knowledge bases by filling in the knowledge acquisition (issue solution) questionnaire, assigning the indicated parameters to the specific issue from a specific field. After the sufficiently large training set has been created in the company, there arises the knowledge base which regards the specified issues. They are entered by the authorised person, having received the project from the customer. This constitutes an indisputable proof of the correctness of the implemented solution. STEP 3 Algorithm operation In the initial stage, the Bayesian networks read the probability of occurrence of an element at the input, e.g. the field of knowledge, key word, among previously completed elements in the training base. Subsequently, the algorithm defines the joint probability for the searched elements, in accordance with the assumptions of the Bayesian network (Eq. 1). Based on the received result of the probability, the inference takes place, i.e. the reference thereof to the interpretation of a given probability range and the corresponding inferences (optionally: benefits). For example: if P(z) > 0.7, it is assumed that the level of the available knowledge is high. Therefore, one estimates the reception of the assumed benefits at a value suggested by the management board of the company, e.g. completion of the project within the period of time 5% shorter than the standard time. The knowledge entered to the R&D bases is also coupled with a simple knowledge search engine: key word, field of knowledge, employees, department, source of knowledge, or action. It is assumed that the standard sorting of materials according to the type of knowledge, i.e. the belonging to the base, time of editing, time of addition, alphabetically.

4 Implementation of the Model The model and its structure has been designed based on the research conducted in previous studies on the distribution of technical knowledge in a manufacturing company [15, 20, 21]. The characteristic of such a department is presented below: D1: company type: production, automotive sector, D2: company size: SME, current employment: about 70 workers, D3: project assumptions: pneumatic valves, assistive devices for assembly and production, D4: R&D personnel involved in the task: 3 to 4 people, D5: project budget: from 150 000 PLN to 500 000 PLN, D6: project representative > age 29 years, D7: R&D manager: 15 years in the team, 17 years of experience in a similar position, D8: number of projects carried out: 4–5 per year.

A model of the knowledge assessment using Bayes’ network

4.1

41

Assumptions of the Proposed Bayesian Network

Independent variables included in the Bayesian network have been chosen from all the elements contained in the knowledge acquisition form in the R&D department. Step 1 At first, one should specify the independent variables, i.e. the first layer which has no “predecessors”, which have been chosen from all acquired data in the form. Where A, B, C…are symbolic designations of the node, p(a) – means the probability occurring in the node A for the nth an choice. A {a1, a2, a3} p(a1), p(a2), p(a3) Set of values: B {b1…b5} p(b1)… p(b5) Set of values: C {c1…c40} p(c1)…p(c40) Set of values: D {d1…d5} p(d1)…p(d5) Set of values: E {e1..e5} p(e1)…p(e5) Set of values: F {f1..f8} p(f1)…p(f8) Set of values:

G {g1..g13} p(g1)…p(g13) Set of values:

H {h1, h2} p(h1), p(h2) Set of values: I {i1, i2, i3}

A–group of products probability of the occurrence of a given group of products valves, blocks, connectors B–areas of knowledge probability of the occurrence of a given field of knowledge structure, material, functionality, technology, research C– group of key words probability of occurrence of a given key word An example set contains 40 defined groups of key words, where some of them are identical and describe one element D–departments in the company to which the knowledge has been made available probability of occurrence of a given department R&D Department (default), Technological Dep., Commercial Dep., Maintenance Dep., Purchasing Dep. E– activities performed after the issues have been resolved probability of occurrence of a given activity feedback from the customer, additional research, external expert consultation, internal expert consultation, other F– key materials used for solving the issues probability of occurrence of given materials technical documentation, literature, customer feedback, knowledge base, website, application/programme, materials catalogue, internal knowledge exchange points G– materials produced after the task has been resolved probability of occurrence of given materials technical documentation, procedure of action, instruction, CAD/CRM simulation, video recordings, audio recordings, visualisation, log analysis, reports, research reports, “brainstorm” panel, graphics, utility model or patent. H–decision on making the acquired knowledge available to new employees Probability of occurrence of a given decision Yes, Not I– employee who deals with the subject-matter

42

M. Śliwa and J. Patalas-Maliszewska

p(i1), p(i2), p(i3) Set of values:

probability of occurrence of a given employee employee 1, employee 2, employee 3…

Step 2 In the second step, the dependent variables have been defined, that is the subsequent layers of the network which will constitute elements subject to learning. The inference of those levels takes place as a result of the work on the training set. M {m1, m2} M– (knowledge base) guidelines p(m1), p(m2) Probability of occurrence of knowledge indications (the higher the probability, the more indications) Set of values: True/False N {n1, n2} N– competent team p(n1), p(n2) Probability of occurrence of a competent team (the higher the probability, the more competent the team) Set of values: True/False O {o1, o2} O– ready templates p(o1), p(o2) Probability of occurrence of a given employee Set of values: True/False Description of the dependencies: M on A, B, C – the level of indications (the so-called knowledge bases) is dependent on the number of the occurrences of the groups of products, fields of knowledge, key words for the issue. The more numerous they are, the better for the company (larger deposits of knowledge). N on D, E, I – competent team is a result of the components: departments to which the knowledge has been available, actions undertaken to solve the task, and the employee. The more numerous the indications and presence of a given component in the training set, the higher the index of the knowledge in the company. O on F and G – ready templates are dependent on the number of key materials used while solving a given issue in the project, and on the quantity of materials created after the issue has been solved. The more numerous they are, the better for the company, the higher the index of knowledge in the company. Step 3 The search for the probability of the occurrence of knowledge which has declared parameters in the company (dependent variable), calculated according to the rule of chain of nodes. Z {z1, z2} p(z1), p(z2) Set of values:

Z – level of knowledge probability of occurrence of a given knowledge (issue resolution), which can be broken down into three range groups: low, average, high True/False

A model of the knowledge assessment using Bayes’ network

43

Description of the dependencies: Z on M, N, O – level of knowledge of a given project is a result of a joint occurrence of indications (knowledge bases), competent team, and ready templates. The higher the occurrence of the components, the more knowledge the company has. 4.2

Defined Bayesian Network

Presented in the article, the network modelled in the Belief and Decision Network Tool Version 5.1.10. The network has an example probability values for each node (a priory) (Fig. 2), which should be connected with reality values – declared in the training set a fixed number of verified projects, by R&D workers.

Fig. 2. Bayesian network after fill up of the probability at each node, with the example of probability table for “Z” node. Belief and decision network tool version 5.1.10.

The project of the network does not include the cases of simultaneous observation of several values in a given node. The inference based on the presented Bayesian network, takes place after the initial analysis of the issue addressed by the network. As first values should be defined from the perspective of which the probability analysis is conducted. Receiving the a prestori probability result, at the outputs one should specify the observation, choosing each time a specific input component. The more specified input components, the more reliable the final probability. For the purpose of the presentation of the operation of the network, it has been assumed that the company subject to the study receives a new project in which main sealing is problematic in the context of the manufacturing technology in products such as valves. Employee 2 is put forward as the project leader; the rest of the team is sufficiently burdened with tasks. While analysing the decision about taking the project, the management’s question is: what is the level of knowledge in the R&D department regarding the given subject-matter, with the availability of employee 2?

44

M. Śliwa and J. Patalas-Maliszewska

Fig. 3. Example of working network after filling in the form by a R&D manager. B&DNT ver. 5.1.10.

Observed values: A{a1}, p(a1) = 0.25 (a priori), A - group of products, a1 – connectors, B{b4}, p(b4) = 0.5 (a priori), B - fields of knowledge, b4 – technology, C{c1}, p(c1) = 0.20 (a priori), C - group of key-words, c1 – main gasket, I{i2}, p(i2) = 0.5 (a priori), I – employee designated for the task, i2 – employee 2. Observed values are shown as observed at the Fig. 3. The Bayesian network shows a posteriori probability at each node. It represents that the level of knowledge is nearly 58% in department. The output result should be verified with the interpretation of the indicators of benefits (accepted by the management of the company) assigned to the set ranges. Three probability ranges is proposed: low: 0.00  P(x) < 0.30, average: 0.30  P(x) < 0.70 and high: 1,00 > P(x)  0,70. Managers and the R&D representatives assign attributes to each group. The result of the level of knowledge which takes into consideration the observed values P (z) = 0.58 is within the average range; one can assume a moderate probability of the creation of the innovation while preparing the project, occurrence of the reduction by up to 5% of the duration of the project, reduction of complaints, financial efforts up to circa 5% or the reduction of time assigned to introducing and training the employee by circa 5%. Assuming the expansion of the network by the alternatives of multi-choice observations and creating a hybrid networks (Fig. 4), one can assume the interpretation of the results of the probability of the nodes with the predecessors. Authors understanding “hybrid networks” as a combination of multiple alternatives (multi-choice) in one network, for example: wide-developed C-class nodes. All (C1 through C96) involve a keyword, although the user can observe multiple key words at once.

A model of the knowledge assessment using Bayes’ network

45

Fig. 4. Example of part of multi-choice Bayesian network, which showed relationship among: Key words ! Set of knowledge ! New materials ! Others nodes Table 1. The set of indications related to the probability occurring at the dependent nodes. Example components of probabilities ─Main sealing P(c1), ─Chemical resistance P(c2), ─o-ring P(c3). ─Chemical resistance P(c2), ─o-ring gasket P(c3).

Example probability of the node Functionality P(b1) low: 0.00  P (b1) < 0.30

Examples of indications

Material P(b2) high 1.00 > P(b2)  0.70

High level of knowledge. It is recommended that the knowledge from the ranges c1, c2, c3 be made available to new employees.

Inadequate level of knowledge. Fill in the knowledge bases regarding the issue c1, c2, c3.

Indications related to the partial probability range would concern the proposed actions to enhance the level of knowledge. Set of interpretations (Table 1) should be proposed by the project leaders on a one-off basis. It is assumed to test the model in the researched manufacturing company for a period of approximately 6 to 9 months at the turn of 2017 and 2018. At that time, the R&D workers will insert the knowledge into the base. Then, in 3-month intervals, experiments - measuring the level of knowledge will be conducted. At the same time, statistics will be tracked on 4 elements: the number of projects considered as innovative, the duration of the projects, the budget assumed and the budget used, the number of trainings for R&D workers and their activity. Observations will be generated in the user-defined period where goal is to monitor the real benefits of using a designed system (or not) in the enterprise. If it will be required, managements should adjust the conclusions (or hint) attributed to the probability ranges, at their discretion.

5 Conclusions Modelling of the knowledge assessment may contribute to maintaining market competitiveness by a company. Knowledge management supporting technology with the assessment of knowledge level is significant from the perspective of the employees of the department as well as the management. The R&D department, working with its

46

M. Śliwa and J. Patalas-Maliszewska

own base of knowledge, gathers and uses the required know-how, which contributes to a quick access to necessary information. The managing units, in turn, are able to monitor the work of the R&D department. Knowledge modeling (and generally knowledge management) allows for better performance of the processes in the enterprise, mainly because of the time saving access to knowledge [22] and its analysis. Selecting the appropriate method of knowledge representation adequate to the needs and coupling it with an intelligent system will lead to the interpretation of a set objective which is as precise as possible. The proposed knowledge management supporting model based on the Bayesian networks indicates the dependencies between the objects, constituting a clear graphical representation. This allows for an automatic support of the decision making [16], being based on expert knowledge. The tool for supporting the level of knowledge based on statistics and total probability offers the possibility of optimal quotation of the project, estimating the lead time or selecting a competent team. Subsequent studies will involve conducting research experiments regarding the implementation of the proposed model in a manufacturing company.

References 1. Nonaka, I., Toyama, R., Konno, T.: SECI, Ba and Leadership: a Unified Model of Dynamic Knowledge Creation. Long Range Planning, No. 33 (2000) 2. Jashapara, A.: Zarządzanie wiedzą. Polskie Wydawnictwo Ekonomiczne, Warszawa (2006) 3. Akerkar, R., Sajja, P.: Knowledge-based systems. Jones and Bartlett Publishers, Sudbury (2010) 4. Qiang, Z., Ping, Y., Yang, X.: Research on a knowledge modelling methodology for fault diagnosis of machine tools based on formal semantics. Adv. Eng. Inform. 32, 92–112 (2017) 5. Bimbaa, A.T., Idris, N., Al-Hunaiyyanb, A., Mahmuda, R.B., Abdelaziz, A., Khana, S., Chang, V.: Towards knowledge modeling and manipulation technologies: a survey. Int. J. Inf. Manage. 36, 857–871 (2016) 6. Han, J., Kamber, M., Pei, J.: Data Mining: Concepts and Techniques. Elsevier Inc, Waltham (2012) 7. Bergamaschi, S., Martoglia, R., Sorrentino, S.: A semantic method for searching knowledge in a software development context. In: Proceedings of the 20th Italian Symposium on Advanced Database Systems, SEBD (2012) 8. Liua, H.-C., Youb, J.-X., Lic, Z., Tian, G.: Fuzzy petri nets for knowledge representation and reasoning: a literature review. Eng. Appl. Artif. Intell. 60, 45–56 (2017) 9. Olbryś, J.: Sieć bayesowska jako narzędzie pozyskiwania wiedzy z ekonomicznej bazy danych. Zeszyty Naukowe Politechniki Białostockiej. Informatyka, Zeszyt 93/2, pp. 93–107 (2007) 10. Yanrong, H., Yang, S.X.: A knowledge based genetic algorithm for path planning of a mobile robot, robotics and automation. In: 2004 IEEE International Conference Proceedings ICRA (2004) 11. Fenton, N.E., Neil, M.: Decision support software for probabilistic risk assessment using bayesian networks. IEEE Softw. 31(2), 21–26 (2014) 12. Haoa, J.-X., Yuc, Y., Lawb, R., Fongd, D.: A genetic algorithm-based learning approach to understand customer satisfaction with OTA websites. Tour. Manag. 48, 231–241 (2015)

A model of the knowledge assessment using Bayes’ network

47

13. Nestic, S., Stefanovic, M., Djordjevic, A., Arsovski, S., Tadic, D.: A model of the assessment and optimisation of production process quality using the fuzzy sets and genetic algorithm approach. Eur. J. Ind. Eng. 9(1), 15–27 (2015) 14. Bubenko, J.: Enterprise Modelling. Ingénierie des Systems d’ Information, vol. 2/6 (1994) 15. Śliwa, M., Patalas-Maliszewska, J.: Model of converting tacit knowledge into explicit knowledge on the example of R&D department of the manufacturing company, including assessment of knowledge workers’ usefulness. J. Theor. Appl. Comput. Sci. 9(3), 25–34 (2015) 16. Król, A.: Sieci bayesowskie jako narzędzie wspomagające proces podejmowania decyzji. Zeszyty Naukowe Politechniki Śląskiej. Organizacja i Zarządzanie, 71/ 1917, pp. 209–218 (2014) 17. http://www.agenarisk.com/ 18. https://www.bayesfusion.com/ 19. http://www.aispace.org/index.shtml 20. Śliwa, M.: Uwarunkowania procesu modelowania i oceny efektywności systemu wspomagającego zarządzanie wiedzą ukrytą w przedsiębiorstwach produkcyjnych. Przedsiębiorczość i Zarządzanie, Tom XVII, Zeszyt 7(2), 263–278 (2016) 21. Śliwa, M., Patalas-Maliszewska, J.: A strategic knowledge map for the research and development department in a manufacturing company. Found. Manage. 8(1), 151–166 (2016). International Journal 22. Tabaszewska, E.: Wprowadzanie i funkcjonowanie systemów zarządzania wiedzą w przedsiębiorstwach. Wydawnictwo Uniwersytetu Ekonomicznego we Wrocławiu, Wrocław (2012)

Object-Oriented Knowledge Representation and Data Storage Using Inhomogeneous Classes Dmytro Terletskyi(B) Taras Shevchenko National University of Kyiv, Kyiv 03680, Ukraine [email protected]

Abstract. This paper contains analysis of concept of a class within different object-oriented knowledge representation models. The main attention is paid to structure of the class and its efficiency in the context of data storage, using object-relational mapping. The main achievement of the paper is extension of concept of homogeneous class of objects by introducing concepts of single-core and multi-core inhomogeneous classes of objects, which allow simultaneous defining of a few different types within one class of objects, avoiding duplication of properties and methods in representation of types, decreasing sizes of program codes and providing more efficient information storage in the databases. In addition, the paper contains results of experiment, which show that data storage in relational database, using proposed extensions of the class, in some cases is more efficient in contrast to usage of homogeneous classes of objects. Keywords: Class · Homogeneous class · Single-core inhomogeneous class · Core of level m · Multi-core inhomogeneous class

1

Introduction

During recent years amount of information, which is used by information systems, has extremely increased, therefore invention of efficient approaches to knowledge representation, storing and extraction of data become more crucial. Nowadays the majority of modern information systems is developed using objectoriented programming (OOP) languages. The main advantage of OOP-languages is simultaneous combining of the programming paradigm implementation and object-oriented knowledge representation model within the language. Moreover, almost all modern languages support such technology as object-relational mapping (ORM), which allows data storing within relational database in terms of classes and objects. However, one of the important tasks of object-oriented information systems development, is design of classes and their hierarchy, which describes particular domain. Complexity of the whole system mostly depends on the structure of the classes and the structure of their hierarchy. In addition, efficiency of data storage within relational database also depends on the structure of particular classes. c Springer International Publishing AG 2017  R. Damaˇ seviˇ cius and V. Mikaˇ syt˙e (Eds.): ICIST 2017, CCIS 756, pp. 48–61, 2017. DOI: 10.1007/978-3-319-67642-5 5

Object-Oriented Knowledge Representation and Data Storage

49

Nowadays concept of a class is widely used in almost all approaches to knowledge representation. However, its definition and interpretations within various knowledge representation formalisms have some differences. Let us consider the notion of the class within such object-oriented knowledge representation models (KRMs) as frames and object-oriented programming (OOP).

2

Concept of a Class

In the theory of frames class is usually called class-frame or generic frame [4,9,10]. Class-frame is defined as a data structure, which describes a group of objects with common attributes [10]. It defines attributes (properties), relationships with other frames and procedural attachments (methods) for classinstances or other class-frames. In other words, a class-frame defines a stereotypical object, which can be considered as a template for creation of more specific stereotypical or particular objects. Therefore, all frames, which are instances of a class-frame, have the same structure and behavior. Within the OOP concept of the class is associated with a number of different, but not always competing, interpretations [3,5,6,8,19]. It can variously be interpreted as: a set of objects; a program structure or module; a factory-like entity which creates objects; a data type. However, despite all differences, a class defines some set of properties (specification) and (or) set of methods (signature), which are common for all objects of the class, in all of these interpretations. In other words, specification defines the structure of objects, while signature defines their behavior. Analyzing and comparing notions of a class within the theory of frames and OOP, it is possible to conclude that in both cases a class defines objects with same structure and behavior, i.e. objects of the same type. Therefore, such classes can be called homogeneous ones. This feature of classes introduces some limitation, in particular it makes impossible simultaneous definition of a few types of objects within one class. Consequently, description of each new type of objects requires definition of new class. When a few types of objects are similar but not equivalent ones, it can cause duplication of properties and methods in classes, which describe these types. To prevent such situations, frames, as OOP, support the inheritance mechanism, that helps to build class hierarchies in more flexible and efficient way. However, as it was shown in [1,12,18], using of inheritance can cause problems of exceptions, redundancy and ambiguity, which usually arise while constructing of hierarchies and reasoning over them.

3

Homogeneous Classes of Objects

Besides frames and OOP, there is such object-oriented knowledge representation model as object-oriented dynamic networks (OODN), which was proposed in [13–15]. All these KRMs have some similarity, however OODN use more extended notion of the class, than frames and OOP, which allows avoiding duplication of properties and methods in representation of types, decreasing sizes of program

50

D. Terletskyi

codes and providing more efficient information storage in the databases. Let us consider concept of class within OODN in more details. Similarly to frames and OOP, OODN exploit concept of homogeneous class (HC) of objects. Definition 1. Homogeneous class of objects T is a tuple T = (P (T ), F (T )), where P (T ) = (p1 (T ), . . . , pn (T )) is a specification, which defines some quantity of objects, and F (T ) = (f1 (T ), . . . , fm (T )) is a signature, which can be applied to them. As it was mentioned early, such concept of the class has widespread practical usage in frames systems and OOP, however there are some objects that simultaneously belong to many different classes, which cannot be described using concept of homogeneous classes. One of the approaches for solving this problem is introduction of concept of inhomogeneous class of objects, which extends notion of homogeneous class [13,16]. However, concept of inhomogeneous classes, which is proposed in [13], can be extended by the dividing of inhomogeneous classes of objects on single-core inhomogeneous classes (SCIC) and multi-core inhomogeneous classes (MCIC) of objects. Let us define these kinds of inhomogeneous classes of objects.

4

Single-core Inhomogeneous Classes of Objects

Concept of single-core inhomogeneous class of objects means the same as concept of homogeneous class of objects, which was defined in [13], i.e. Definition 2. Single-core inhomogeneous class of objects T is a tuple T = (Core(T ), pr1 (A1 ), . . . , prn (An )), where Core(T ) = (P (T ), F (T )) is a core of the class T , which contains properties and methods that are common for objects A1 , . . . , An , and pri (Ai ) = (P (Ai ), F (Ai )), where i = 1, n, is an i-th projection of the class T , which contains properties and methods that are typical only for the object Ai , i = 1, n. As we can see, concept of SCIC allows describing two or more different types within one class, using OOP-like style, while describing each new type within OOP requires definition of new class or using mechanism of inheritance if types have common properties and (or) methods. Analyzing Definitions 1 and 2, we can conclude that any HC defines only one type of objects, while any SCIC defines at least two different types of objects. Therefore, in the first case notions of class and type mean the same, while in second case they have different meaning. Taking into account that SCIC simultaneously defines a few types of objects, let us introduce the concept of a type of objects. Definition 3. Type ti , i = 1, n of inhomogeneous class of objects Tt1 ,...,tn is a homogeneous class of objects ti = (Core(Tt1 ,...,tn ), pri (Ai )), where Core(Tt1 ,...,tn ) is a core of the class Tt1 ,...,tn , and pri (Ai ) is its i-th projection.

Object-Oriented Knowledge Representation and Data Storage

51

Let us consider an example of SCIC of objects. Example 1. Clearly that such geometric figures as square, rectangle and rhombus belong to the class of convex quadrangles. Let us define SCIC of objects TSRRb , which defines these types of convex quadrangles in the following way TSRRb = (p1 (TSRRb ) = (4, sides), p2 (TSRRb ) = (4, angles), p3 (TSRRb ) = vf3 (TSRRb ) = (1), f1 (TSRRb ) = (v1 (p2 (ti ) + v2 (p2 (ti )) + v3 (p2 (ti )) + v4 (p2 (ti )), cm), i ∈ {S, R, Rb} p1 (tS ) = ((2, cm), (2, cm), (2, cm), (2, cm)), p2 (tS ) = ((90◦ ), (90◦ ), (90◦ ), (90◦ )), p3 (tS ) = vf3 (tS ) = (1), p4 (tS ) = vf4 (tS ) = (1),   f1 (tS ) = (v1 (p1 (tS )))2 , cm2 , p1 (tR ) = ((2, cm), (3, cm), (2, cm), (3, cm)), p2 (tR ) = ((90◦ ), (90◦ ), (90◦ ), (90◦ )), p3 (tR ) = vf3 (tR ) = (1), p4 (tR ) = vf4 (tR ) = (1),   f1 (tR ) = v1 (p1 (tR )) · v2 (p1 (tR )), cm2 , p1 (tRb ) = ((3, cm), (3, cm), (3, cm), (3, cm)), p2 (tRb ) = ((80◦ ), (100◦ ), (80◦ ), (100◦ )), p3 (tRb ) = vf3 (tRb ) = (1), p4 (tRb ) = vf4 (tRb ) = (1),   f1 (tRb ) = (v1 (p1 (tRb )))2 · sin(v1 (p4 (tRb ))), cm2 , where p1 (TSRRb ) is a quantity of sides, p2 (TSRRb ) is a quantity of internal angles, vf3 (TSRRb ) is a verification function, which defines a property “sum of all internal angles is equal to 360◦ ”, i.e. vf3 (TSRRb ) : p3 (TSRRb ) → {0, 1}, where p3 (TSRRb ) = (v1 (p4 (ti )) + v2 (p4 (ti )) + v3 (p4 (ti )) + v4 (p4 (ti )) = 360), where i ∈ {S, R, Rb}, f1 (TSRRb ) is a method of perimeter calculation, p1 (tS ), p1 (tR ), p1 (tRb ) are sizes of sides, p2 (tS ), p2 (tR ), p2 (tRb ) are degree measures of internal angles, vf3 (tS ) is a verification function, which defines a property “all sides of figure have the same length”, i.e. vf3 (tS ) : p3 (tS ) → {0, 1}, where p3 (tS ) = (v1 (p1 (tS )) = v2 (p1 (tS )) = v3 (p1 (tS )) = v4 (p1 (tS ))), vf4 (tS ) is a verification function, which defines a property “all internal angles are equal to 90◦ ”, i.e. vf4 (tS ) : p4 (tS ) → {0, 1}, where p4 (tS ) = (v1 (p2 (tS )) = v2 (p2 (tS )) = v3 (p2 (tS )) = v4 (p2 (tS )) = 90),

52

D. Terletskyi

f1 (tS ) is a method of square calculation, vf3 (tR ) is a verification function, which defines a property “opposite sides of the figure have the same length”, i.e. vf3 (tR ) : p3 (tR ) → {0, 1}, where p3 (tR ) = ((v1 (p1 (tR )) = v3 (p1 (tR ))) ∧ (v2 (p1 (tR )) = v4 (p1 (tR )))), vf4 (tR ) is a verification function, which defines a property “all internal angles are equal to 90◦ ”, i.e. vf4 (tR ) : p4 (tR ) → {0, 1}, where p4 (tR ) = (v1 (p2 (tR )) = v2 (p2 (tR )) = v3 (p2 (tR )) = v4 (p2 (tR )) = 90), f1 (tR ) is a method of square calculation, vf3 (tRb ) is a verification function, which defines a property “all sides of figure have the same length”, i.e. vf3 (tRb ) : p3 (tRb ) → {0, 1}, where p3 (tRb ) = (v1 (p1 (tRb )) = v2 (p1 (tRb )) = v3 (p1 (tRb )) = v4 (p1 (tRb ))), vf4 (tRb ) is a verification function, which defines a property of equality of opposite internal angles of the figure, i.e. vf4 (tRb ) : p4 (tRb ) → {0, 1}, where p4 (tRb ) = ((v1 (p2 (tRb )) = v3 (p2 (tRb ))) ∧ (v2 (p2 (tRb )) = v4 (p2 (tRb )))), f1 (tRb ) is a method of square calculation. As we can see, SCIC of objects TSRRb simultaneously describes three types of convex quadrangles tS , tR and tRb . Therefore, concept of SCIC of objects allows describing of classes, which define two and more types of objects. Such approach gives us an opportunity of efficient knowledge representation due construction of core of inhomogeneous class of objects. Indeed, from the described example, we can see that for representation of types, which define squares, rectangles and rhombuses, it is necessary to describe 7 properties and 2 methods for each type, i.e. 21 properties and 6 methods. Usage of the SCIC provides representation of these types via representation of only 3 properties and 1 method for the class core, and 4 properties and 1 method for each of projections of the class, i.e. 15 properties and 4 methods. In such a way, proposed approach allows avoiding duplication of properties and methods in representation of types, decreasing sizes of program codes and providing more efficient information storage in the databases.

5

Multi-core Inhomogeneous Classes of Objects

According to Definition 2, core of the class contains only properties and methods, which are common for all types of the class and projections of the class contain properties and methods, which are typical only for the particular types. However, sometimes a few projections can contain equivalent properties and (or) methods, which are typical not for all types of the class, therefore they are not parts of the class core. In these cases duplication of such properties and (or) methods will occur. In order to prevent it and to make the class structure more optimal, let us define the concept of core of level m.

Object-Oriented Knowledge Representation and Data Storage

53

Definition 4. Core of level m of inhomogeneous class Tt1 ,...,tn is a tuple      Corem (Tt1 ,...,tn ) = P Tti1 ,...,tim , F Tti1 ,...,tim , where ti1 , . . . , tim are arbitrary m types from  {t1 , . . ., tn }, where  the set of types 1 ≤ m ≤ n, 1 ≤ i1 ≤ · · · ≤ im ≤ n, and P Tti1 ,...,tim , F Tti1 ,...,tim are specification and signature of the core of inhomogeneous class Tti1 ,...,tim , which contain properties and methods, which are common for all objects of types ti1 , . . . , tim . Since, not all types of the class can have common properties and (or) methods, the inhomogeneous class of objects, which defines n types, can contain k cores of level m, where 0 ≤ k ≤ Cnm . That is why, let us generalize the Definition 2, taking into account Definitions 3 and 4. Definition 5. Multi-core inhomogeneous class of objects Tt1 ,...,tn is a tuple  (Tt1 ,...,tn ), . . . , Coren−1 Tt1 ,...,tn = Coren1 (Tt1 ,...,tn ), Coren−1 1 kn−1 (Tt1 ,...,tn ), . . . ,  Core11 (Tt1 ,...,tn ), . . . , Core1k1 (Tt1 ,...,tn ), pr1 (t1 ), . . . , prn (tn ) , where Coren1 (Tt1 ,...,tn ) is a core of level n of the class Tt1 ,...,tn , Coren−1 in−1 (Tt1 ,...,tn ) is an in−1 -th core of level n − 1 of the class Tt1 ,...,tn , where in−1 = 1, kn−1 and kn−1 ≤ Cnn−1 , Core1i1 (Tt1 ,...,tn ) is an i1 -th core of level 1 of the class Tt1 ,...,tn , where i1 = 1, k1 and k1 ≤ Cn1 , pri (ti ) is an i-th projection of the class Tt1 ,...,tn , which contains properties and methods, which are typical only for the type ti , where i = 1, n. Let us consider an example of MCIC of objects. Example 2. Let us consider all types of convex quadrangles from the previous example and define MCIC of objects TSRRb , which defines all these types in the following way TSRRb = (p1 (TSRRb ) = (4, sides), p2 (TSRRb ) = (4, angles), p3 (TSRRb ) = vf3 (TSRRb ) = (1), f1 (TSRRb ) = (v1 (p2 (ti )) + v2 (p2 (ti )) + v3 (p2 (ti )) + v4 (p2 (ti )), cm), i ∈ {S, R, Rb} p1 (TSR ) = ((90◦ ), (90◦ ), (90◦ ), (90◦ )), p2 (TSR ) = vf2 (ti ) = (1), i ∈ {S, R} p1 (TSRb ) = vf1 (ti ) = (1), i ∈ {S, Rb}   f1 (TS ) = (v1 (p1 (tS )))2 , cm2 , p1 (TR ) = vf1 (tR ) = (1),   f1 (TR ) = v1 (p1 (tR )) · v2 (p1 (tR )), cm2 , p1 (TRb ) = vf1 (tRb ) = (1),   f1 (TRb ) = (v1 (p1 (tRb )))2 · sin(v1 (p4 (tRb ))), cm2 ,

54

D. Terletskyi

p1 (tS ) = ((2, cm), (2, cm), (2, cm), (2, cm)), p1 (tR ) = ((2, cm), (3, cm), (2, cm), (3, cm)), p1 (tRb ) = ((3, cm), (3, cm), (3, cm), (3, cm)), p2 (tRb ) = ((80◦ ), (100◦ ), (80◦ ), (100◦ ))), where p1 (TSRRb ) is a quantity of sides, p2 (TSRRb ) is a quantity of internal angles, vf3 (TSRRb ) is a verification function, which defines a property “sum of all internal angles is equal to 360◦ ”, i.e. vf3 (TSRRb ) : p3 (TSRRb ) → {0, 1}, where p3 (TSRRb ) = (v1 (p4 (ti )) + v2 (p4 (ti )) + v3 (p4 (ti )) + v4 (p4 (ti )) = 360), where i ∈ {S, R, Rb}, f1 (TSRRb ) is a method of perimeter calculation, p1 (TSR ) is degree measures of internal angles, vf2 (TSR ) is a verification function, which defines a property “all internal angles are equal to 90◦ ”, i.e. vf2 (TSR ) : p2 (TSR ) → {0, 1}, where p2 (TSR ) = (v1 (p1 (TSR )) = v2 (p1 (TSR )) = v3 (p1 (TSR )) = v4 (p1 (TSR )) = 90), where i ∈ {S, R}, vf1 (TSRb ) is a verification function, which defines a property “all sides of figure have the same length”, i.e. vf1 (TSRb ) : p1 (TSRb ) → {0, 1}, where p1 (TSRb ) = (v1 (p1 (ti )) = v2 (p1 (ti )) = v3 (p1 (ti )) = v4 (p1 (ti ))), i ∈ {S, Rb}, f1 (TS ) is a method of square calculation, vf1 (tR ) is a verification function, which defines a property “opposite sides of the figure have the same length”, i.e. vf1 (tR ) : p1 (TR ) → {0, 1}, where p1 (tR ) = ((v1 (p1 (tR )) = v3 (p1 (tR ))) ∧ (v2 (p1 (tR )) = v4 (p1 (tR )))), f1 (TR ) is a method of square calculation, vf1 (tRb ) is a verification function, which defines a property of equality of opposite internal angles of the figure, i.e. vf1 (tRb ) : p1 (TRb ) → {0, 1}, where p1 (tRb ) = ((v1 (p2 (tRb )) = v3 (p2 (tRb ))) ∧ (v2 (p2 (tRb )) = v4 (p2 (tRb )))), f1 (TRb ) is a method of square calculation, p1 (tS ), p1 (tR ), p1 (tRb ) are sizes of sides, p2 (tRb ) are degree measures of internal angles. Analyzing the structure of the class TSRRb , we can see that it is really multicore, because it has 1 core of level 3, 2 cores of level 2 and 3 cores of level 1. The structures of all cores of the class TSRRb are shown in the Table 1. As we can see, MCIC of objects TSRRb simultaneously describes three types of convex quadrangles tS , tR and tRb too. Therefore, concept of MCIC of objects also allows describing of classes, which define two and more types of objects. Such approach gives us an opportunity of efficient knowledge representation due construction of cores of level m of inhomogeneous class of objects. From the previous example, it is known that for representation of types, which define squares, rectangles and rhombuses, it is necessary to describe 7 properties

Object-Oriented Knowledge Representation and Data Storage

55

Table 1. Structures of cores of the class TSRRb Core

Properties/Methods

Core31 (TSRRb ) Core21 (TSRRb ) Core22 (TSRRb ) Core11 (TSRRb ) Core12 (TSRRb ) Core13 (TSRRb )

Common for types

p1 (TSRRb ), p2 (TSRRb ), p3 (TSRRb ), f1 (TSRRb ) tS , tR , tRb p1 (TSR ), p2 (TSR )

tS , tR

p1 (TSRb )

tS , tRb

f1 (TS )

tS

p1 (TR ), f1 (TR )

tR

p1 (TRb ), f1 (TRb )

tRb

and 2 methods for each type, i.e. 21 properties and 6 methods. Usage of the MCIC provides representation of these types via representation of only 3 properties and 1 method for the Core31 (TSRRb ), 2 properties for the Core21 (TSRRb ), 1 property for the Core22 (TSRRb ), 1 method for the Core11 (TSRRb ), 1 property and 1 method for the Core12 (TSRRb ), 1 property and 1 method for the Core13 (TSRRb ), 1 property for the pr1 (tS ), 1 property for the pr1 (tR ) and 2 properties for the pr1 (tRb ), i.e. 12 properties and 4 methods. In such a way, usage of MCIC similarly to SCIC allows avoiding duplication of properties and methods in representation of types, decreasing sizes of program codes and provides more efficient information storage in the databases.

6

Object-Oriented Data Storage

Nowadays almost all object-oriented information systems use the databases for data storage, therefore efficient representation of classes and objects within the databases (in particular within relational databases) and their further extraction are topical issues. Modern stack of object-oriented technologies contains such tool as object-relational mapping (ORM), which allows mapping of classes and their objects into tables and their records within relation databases [2,11,17]. Despite all advantages of ORM, it has some limitations, in particular it still does not provide an ability to map methods of classes into the database that makes impossible precise and complete exchange of classes among different object-oriented software. Moreover, as it was emphasized in [7], inheritance is not a feature that relational databases naturally have, and therefore the mapping is not as obvious. It is known that during the ORM structures of classes define the structures of future tables in the database. Therefore efficiency of data storage in the database strictly depends on structures of classes. That is why we performed an experiment for checking, how the usage of SCICs and MCICs influences representation of objects and their types in relational databases in contrast to usage of HCs. As a part of the experiment, we have created three relational databases using HCs, SCICs and MCICs. We used types tS , tR and tRb form the Examples 1 and 2 as a test data. The database based on HCs has 3 tables, where each of them has 31 columns for every type of objects, i.e. tS , tR and tRb . The database based on SCICs has

56

D. Terletskyi

4 tables: 1 table with the 9 columns for the Core(TSRRb ) and 3 tables with the 23 columns for pr1 (S), pr2 (R), pr3 (Rb). The database based on MCICs has 9 tables: 1 table with 9 columns for the Core31 (TSRRb ), 1 table with 11 columns for the Core21 (TSRRb ), 1 table with 3 columns for the Core22 (TSRRb ), 1 table with 3 columns for the Core11 (TSRRb ), 1 table with 5 columns for the Core12 (TSRRb ), 1 table with 5 columns for the Core13 (TSRRb ) and three tables which have 9, 11 and 19 columns respectively, for pr1 (S), pr2 (R) and pr3 (Rb). The experiment was performed in the environment of operating system Linux Debian Stretch. MariaDB 10.1.23 was chosen as a DB server. The aim of the experiment was to compare sizes of DBs, which are deployed on the server, and sizes of their exported *.sql files. Corresponding measurements were performed for 21 cases. First measurement was done when DBs contained 0 objects, after this we added 4000 objects of each types (i.e. 12000 objects during one insertion session) to every DB and repeated the measurements. Then the procedure was repeated 19 times. At the end of the experiment each DB contained 80000 objects Table 2. Sizes of DBs based on HCs, SCICs, MCICs and their exported *.sql files Quantity of objects Sizes of DB (Mb) HC SCIC 0

MCIC

Sizes of DB *.sql file (Mb) HC SCIC MCIC

0.046875

0.0625

0.125000

0.006396

0.006080

0.007398

12000

4.546875

4.5625

1.031250

4.730189

2.954480

0.872142

24000

10.546875

7.5625

2.593750

9.456926

5.905566

1.738131

36000

13.546875

8.5625

4.640625 13.747144

8.861661

2.610227

48000

17.546875 11.5625

4.640625 18.928142 11.825956

3.488397

60000

21.546875 14.5625

5.640625 23.666618 14.789045

4.366487

72000

26.546875 17.5625

5.640625 28.405355 17.751929

5.244479

84000

30.546875 20.5625

8.640625 33.143831 20.715019

6.122471

96000

33.546875 21.5625

8.640625 37.882568 23.678108

7.000561

108000

40.546875 23.5625

8.640625 42.621044 26.641197

7.878553

120000

45.546875 26.5625

8.640625 47.359781 29.604286

8.756643

132000

45.546875 29.5625

9.640625 52.098518 32.567581

9.634635

144000

47.546875 29.5625

9.640625 56.837220 35.530940 10.512725

156000

47.546875 29.5625

9.640625 61.575731 38.493554 11.390717

168000

47.546875 29.5625

9.640625 66.314207 41.456849 12.268807

180000

47.546875 29.5625 13.640625 71.053206 44.419733 13.146799

192000

68.640625 43.5625 15.640625 75.791682 47.382822 14.024791

204000

75.640625 47.5625 15.640625 80.530419 50.346117 14.902881

216000

75.640625 47.5625 16.640625 85.268895 53.309206 15.780873

228000

84.656250 52.5625 16.640625 90.007632 56.272295 16.659141

240000

84.656250 52.5625 16.640625 94.746369 59.235385 17.537246

Object-Oriented Knowledge Representation and Data Storage

57

of each types (i.e. 240000 objects in each DB). For simplification of automated database generation, all objects of the same type were initialized in the same way. Results of all measurements are shown in the Table 2. Using obtained results, we built following dependencies between sizes of DBs and quantities of objects, which they contain S(DBHC ) = 0.0003 ∗ Q + 0.793, S(DBSCIC ) = 0.0002 ∗ Q + 1.253, S(DBM CIC ) = 0.00007 ∗ Q + 1.0651,

(1) (2) (3)

where S(DBi ) is a size of DB of i-th type, where i ∈ {HC, SCIC, M CIC}, and Q is a quantity of objects within the DB. Corresponding graphs and their linear approximations are shown on Fig. 1.

Fig. 1. Comparison of sizes of DBs based on HCs, SCICs and MCICs of objects

In addition, we built following dependencies between sizes of exported *.sql files of DBs and quantities of objects within DBs: S(F DBHC ) = 0.0004 ∗ Q − 0.0781, S(F DBSCIC ) = 0.0002 ∗ Q − 0.0.171,

(4) (5)

S(F DBM CIC ) = 0.00007 ∗ Q − 0.0145,

(6)

where S(F DBi ) is a size of exported *.sql DB file of i-th type, where i ∈ {HC, SCIC, M CIC}, and Q is a quantity of objects within the DB. Corresponding graphs and their linear approximations are shown on Fig. 2.

58

D. Terletskyi

Fig. 2. Comparison of sizes of exported *.sql files of DBs based on HCs, SCICs and MCICs of objects

Obtained dependencies allow us to predict approximate size of DB and its exported *.sql file, based on quantity of objects within the environment where experiment was performed. However, these results strictly depend on the environment of experiment, in particular type of operating system, DB server, database engine, parameters of DB tables, etc. Nevertheless, they show the efficiency of using MCIC comparing with using SCIC and HC. For convenient usage of proposed approach, we can formulate the following theorem. Theorem 1. Efficiency of storage m1 , . . . , mn objects of types t1 , . . . , tn in relation database, using concept of MCIC in contrast to usage of HC can be calculated in the following way MM CIC · 100, E = 100 − MHC where ⎞ ⎛ kn−1 k1 1 n     MM CIC = ⎝ C1n + Cin−1 + ··· + Ci11 + P ri · mi ⎠ , n−1 in =1

in−1 =1

i1 =1

i=1

and Cinn , . . . , Ci11 – are memory sizes, which allow storing of in , . . . , i1 cores of level n, . . . , 1 of class Tt1 ,...,tn respectively, P ri – is memory size, which allows storing of i-th projection of the class, and MHC = T1 · m1 + · · · + Tn · mn , where Ti – is memory size, which allows storing of i-th type of the class. Analyzing the theorem, let us formulate a few important remarks.

Object-Oriented Knowledge Representation and Data Storage

59

Remark 1. Precise calculation of efficiency of data storage in relation database, using concept of MCIC, before creation of the database itself and its information filling, is impossible, because the storing of equivalent properties for objects of the same type can require different memory sizes. Remark 2. Theorem 1 allows calculating approximate efficiency coefficient of data storage in relation database, using concept of MCIC, before (without) the database creation. It can be done, if maximum possible memory sizes, which allow storing properties and methods of each type, are used for calculation. Remark 3. Theorem 1 can be easily reformulated for calculation of efficiency coefficient of using MCIC comparing with using SCIC by applying memory sizes, which allow storing SCICs instead T1 , . . . , Tn . Summarizing results of performed experiment, it is possible to conclude that in the case of using MCICs: 1. storage of n objects, where n ∈ {0, 12000, 24000, . . . , 240000}, in the DB is more efficient in average by 64.93% in contrast to using of SCICs and 77.89% in contrast to using of HCs; 2. size of exported *.sql file of such DB decreased in average by 70.41% in contrast to using of SCICs and 81.5% in contrast to using of HCs; 3. SQL queries to tables of such DB are performed faster in the contrast to cases of using SCICs and HCs. Analyzing Definitions 2 and 5, it is possible to conclude, that usage of MCIC or SCIC is efficient, when types of objects has common properties and (or) methods. In such cases structure of the MCICs will be similar to classes hierarchies built using rational single inheritance, which allow avoiding of the redundancy problem. However, MCICs can be used even in situations when types of objects do not have common properties and (or) methods, in these cases classes will have only projections, which are equivalent to HCs.

7

Conclusions and Outlook

In this paper we analized concept of a class within such object-oriented KRMs as frames, OOP and OODN. The main attention was paid to structure of the class and its efficiency in the context of data storage, using object-relational mapping. The main achievement of the paper is introduction of concepts of singlecore and multi-core inhomogeneous classes of objects, which extend notion of homogeneous class of objects. The main idea of SCIC is defining single core of level n, while the main idea of MCIC is defining set of cores of level m. Proposed concepts allow simultaneous defining of a few different types within one class of objects, avoiding duplication of properties and methods in representation of types (especially if they have common properties and (or) methods), decreasing sizes of program codes and providing more efficient information storage in the databases.

60

D. Terletskyi

The efficiency of proposed concept was proven by the experiment, which showed that data storage in relational database using concept of MCIC is more efficient in contrast to usage of SCIC and HC. Using obtained results of measurements (see Table 2), dependencies between sizes of DBs and quantities of objects, which they contain (see Fig. 1) and dependencies between sizes of exported *.sql files of DBs and quantities of objects within DBs (see Fig. 2), were built. In addition, the method for calculation of approximate efficiency coefficient of data storage in relational database, using concept of MCIC, was proposed in Theorem 1. However, despite all noted advantages of proposed extension of class notion, it requires further research, at least in the following directions: – comparison structure of MCICs with HCs hierarchies obtained using single and multiple inheritance; – adoption of inheritance mechanisms for MCICs; – building of inhomogeneous poly-hierarchies of MCICs; – generalization of concept of MCICs to fuzzy case; – adoption of inheritance mechanisms for fuzzy MCICs; – building of inhomogeneous poly-hierarchies of fuzzy MCICs; – studying of object-relation mapping of MCICs into: • object-oriented databases; • fuzzy object-oriented databases; • graph databases; – adoption and usage of MCICs in object-oriented programming paradigm.

References 1. Al-Asady, R.: Inheritance Theory: An Artificial Intelligence Approach. Ablex Publishing Corporation, Norwood (1995) 2. Ambler, S.W.: Agile Database Techniques: Effective Strategies for the Agile Software Developer. Wiley, New York (2003) 3. Booch, G., Maksimchuk, R.A., Engle, M.W., et al.: Object-Oriented Analysis and Design with Applications, 3rd edn. Addison-Wesley Professional, Boston (2007) 4. Brachman, R.J., Levesque, H.J.: Knowledge Representation and Reasoning. Morgan Kaufmann Publishers, San Francisco (2004) 5. Craig, I.D.: Object-Oriented Programming Languages: Interpretation. UTCS. Springer, London (2007) 6. Dathan, B., Ramnath, S.: Object-Oriented Analysis, Design and Implementation: An Integrated Approach. UTCS, 2nd edn. Springer, London (2015) 7. Goncalves, A.: Beginning Java EE 7. Apress, Berkely (2013) 8. Meyer, B.: Object-Oriented Software Construction, 2nd edn. Prentice Hall, Upper Saddle River (1997) 9. Minsky, M.: A Framework for Representing Knowledge. Technical report No. 306, AI Laboratory, Massachusetts Institute of Technology (1974) 10. Negnevitsky, M.: Artificial Intelligence: A Guide to Intelligent Systems, 2nd edn. Addison-Wesley, Herlow (2004) 11. Philippi, S.: Model driven generation and testing of object-relational mappings. J. Syst. Softw. 77, 193–207 (2005). doi:10.1016/j.jss.2004.07.252

Object-Oriented Knowledge Representation and Data Storage

61

12. Terletskyi, D.: Inheritance in object-oriented knowledge representation. In: Dregvaite, G., Damasevicius, R. (eds.) ICIST 2015. CCIS, vol. 538, pp. 293–305. Springer, Cham (2015). doi:10.1007/978-3-319-24770-0 26 13. Terletskyi, D.O., Provotar, O.I.: Object-oriented dynamic networks. In: Setlak, G., Markov, K. (eds.) Computational Models for Business and Engineering Domains, vol. 30, pp. 123–136. ITHEA IBS ISC (2014) 14. Terletskyi, D.A., Provotar, A.I.: Fuzzy object-oriented dynamic networks. I. Int. Sci. J. Cybern. Syst. Anal. 51, 34–40 (2015). doi:10.1007/s10559-015-9694-0 15. Terletskyi, D.A., Provotar, A.I.: Fuzzy object-oriented dynamic networks. II. Int. Sci. J. Cybern. Syst. Anal. 52, 38–45 (2016). doi:10.1007/s10559-016-9797-2 16. Terletskyi, D.A., Provotar, O.I.: Mathematical foundations for designing and development of intelligent systems of information analysis. Sci. J. Probl. in Program. 15, 233–241 (2014) 17. Torres, A., Galante, R., Pimenta, M.S., Martins, A.J.B.: Twenty years of objectrelational mapping: a survey on patterns, solutions, and their implications on application design. Inf. Softw. Technol. 82, 1–18 (2017). doi:10.1016/j.infsof.2016.09.009 18. Touretzky, D.S.: The Mathematics of Inheritance Systems. Morgan Kaufmann Publishers, Los Altos (1986) 19. Weisfeld, M.: The Object-Oriented Thought Process, 3rd edn. Addison-Wesley Professional, London (2009)

Information Systems: Special Session on e-Health Information Systems

Beyond Health Apps, Utilize Patient-Generated Data Asif Akram1,2 ✉ , Gerard Dunleavy1, Michael Soljak1, and Josip Car1,2 (

)

1

Centre for Population Health Sciences (CePHaS), LKC Medicine, Nanyang Technological University, Singapore, Singapore {asifakram,gerard.dunleavy,michael.soljak,josip.car}@ntu.edu.sg 2 Global eHealth Unit, Department of Primary Care and Public Health, School of Public Health, Imperial College, London, UK

Abstract. This paper presents the rational for a novel bespoke data-centric digital health platform i.e. Platform for Health Apps, Surveys and Education (PhASE). The conceptual design and prototype development of PhASE is discussed in detail. The aim of the research-centered and patient-centric digital health platform is to enable rapid research-study design; real-time data collection hub; and enable mobile education and training. The mobile collection and curation of health data is on the rise, but without any suitable data collection hub; aggre‐ gation and analysis of these isolated data streams is expensive. Digital health is focused on health applications (healthApps) and in last few years there is a growth of disconnected diverse healthApps; which are lacking a sustainable eco-system; compliance to the medical protocols; reliability and any long-term vision. There is also a serious concern as to the clinical effectiveness of the abundantly available healthApps, which exist without any regulatory control. Keywords: Health application · Mobile data collection · Platform · Digital health · mHealth · eHealth

1

Introduction

The recent advancement in information technology has greatly improved the existing healthcare industry. The latest developments hold a tremendous potential to further enhance disease prevention and management; empowering healthcare workers; and extending core health interventions beyond the reach of traditional care [4]. The combi‐ nation of smartphones and mobile communication in conjunction with Internet for digital health solutions is generally referred as mobile health (mHealth) [20]. mHealth hasn’t yet made a significant impact in our daily life, emerging as a patchwork of incompatible health applications (healthApp). Normally, healthApps are designed with static focus, serving narrow demands, targeting limited audiences and lacking a sustain‐ able eco-system. The impact of healthApps within the health system can be improved by more coordinated development. The spike in smartphone-use and the rapid proliferation of self-monitoring (or selftracking) healthApps; well-being assistants; and digital health projects has generated considerable enthusiasm. There are an estimated 165,000 health-and-fitness apps between the Apple store and Android’s Google Play store [3]. The existing healthApps © Springer International Publishing AG 2017 R. Damaševičius and V. Mikašytė (Eds.): ICIST 2017, CCIS 756, pp. 65–76, 2017. DOI: 10.1007/978-3-319-67642-5_6

66

A. Akram et al.

cover a broad spectrum of uses from apps with basic functions (step counter, miles cycled, calories consumed, sleep pattern) to apps with sophisticated features for specific specialties (measuring blood pressure, blood sugar, heart rate). Unfortunately, these healthApps have had limited success in revolutionizing patient care, medical research, and digital health. The effectiveness of healthApps (irrespective of their uniqueness) can only be improved when embedded in a larger system that links silos of data, information, knowledge and the digital world with physical entities. These physical entities include healthcare workers, researchers, hospitals, laboratories, pharmacies and above all the patient themselves. The personal data generated by self-monitoring healthApps can be extremely helpful to healthcare providers, agencies and related organizations. The potential richness of isolated data that could be gathered from patient databases/regis‐ tries, geo-location, movement patterns, chronic conditions, fitness level and lifestyle is mind blowing but underused. The information gained from this potentially mammoth data pool along with the engagement of healthcare professionals, organizations and patients could drive innovation, policy development and recommendations for clinical practices. Current healthcare challenges need the integrated information to support best evidence-based care and policies. The integration will ultimately empower respective organizations to seek change; how population health is managed, how to initiate early detection, diagnosis and implement the most effective treatment. The large amount of patient-generated data has a huge potential value to improve the level of healthcare provided to patients. Unfortunately, the rich patient-generated data via self-monitoring healthApps is largely not accessible to healthcare providers nor is it available in any useful format. The key to effective use of big data is in the processing of the data to extract useful information. The extracted information should be presented in an easy-to-understand and informative format. The same extracted information should be presented in multiple formats tailored to different audiences i.e. patients, healthcare workers, and policy makers. To illustrate the concept, a heartbeat monitoring sensor capturing every heartbeat for a week will generate a great deal of data, which may not be easy for any healthcare provider to consume. This data then needs to be formulated in to an easy to utilize format such as a single table or graph that summarizes hourly average heartbeat for that week. There have been various attempts to develop frameworks, platforms and even infra‐ structure for the rapid development of healthApps, all of which are quite technology focused. The main aim of such initiatives is to lower the technical barriers for the devel‐ opment and roll out effort for healthApps. Generally, healthcare systems help developers to concentrate on the chosen domain for the healthApp rather than boilerplate essentials for the healthApp development. The existing healthcare systems are not designed to focus on the patient’s care, primary care services or more broadly population health. Redesign and integration of existing health care systems with other aspects of patient care has become a complex task. There are low expectations from existing systems due to diverse stakeholders with self-focused agendas, unique organizational processes, varying delivery channels and diverse approaches to control the information flow and access. Already, healthcare professionals and consumers have expressed concerns about the quality of many healthApps. There is an ever-increasing call to establish a formal

Beyond Health Apps, Utilize Patient-Generated Data

67

healthApps regulatory agency or some form of certification to be put in place for vetted medical healthApps. Numerous surveys have highlighted risks, negative issues and worrying deficiencies in existing healthApps. The National Health Service in England ran Health Apps Library [1] for vetted, tested and approved healthApps. The Health Apps Library had issues and was closed down in October 2015. The upgraded and updated version of the Health Apps Library was recently launched again in April 2017. The Health Apps Library will be discussed later in the paper. Similarly, the University of British Columbia eHealth Strategy Office developed the Health-e-Apps [2] resource to encourage health professionals to share useful healthApps. There is a requirement for patient-centered digital health platforms to ease healthApp development; enable rapid research-study design; real-time data collection hub; and enable mobile education and training. The “Platform for HealthApps, Surveys and Education (PhASE)” is under development in the Centre of Population Health Sciences, LKC School of Medicine to address the concerns and issues outlined above. The PhASE will not only assist in the development of quality healthApps and in conducting secure health surveys but also in aggregating data from multiple healthApps, linking patientdata generated by different healthApps, analyzing patient-data and integrating it in to an easy to utilize format. Finally, the effectiveness of healthApps is coupled with the alignment of general and health literacy levels of consumers [12]. Health literacy is defined as “the degree to which individuals can obtain, process, and understand basic health information and services needed to make appropriate health decisions” [11]. healthApps should also have an educational component to improve the knowledge of patients. Though, a substantial amount of health-related information is available on the Internet, it varies in its accessibility, quality, reading grade level and accuracy [9]. In addition to patient education, PhASE will also include a training component to equip healthcare workers for improved patient-centric services. The PhASE aims to be a medium for interaction between various parties i.e. devel‐ opers, patients, healthcare providers, governmental agencies and general users. The PhASE will support the secure communication between different entities, the commu‐ nication logging facility and the availability of logs to involved parties for quality assur‐ ance and control.

2

Platform for Health Apps, Surveys and Education

A “platform” is a system that can be programmed and therefore customized by outside developers i.e. users, managers and administrators. The customization and flexibility of the platform can be adapted to countless needs and niches that may not have been possibly contemplated during the design and development stage [10]. The “Platform for Health‐ Apps, Surveys and Education (PhASE)” is a patient data driven healthcare interoperable and extendable solution, which allows third parties to integrate their application and tools with it. The proposed PhASE covers all aspects of modern and digital healthcare: • Application (desktop and mobile) development, capable of generating data • Data collected from mobile or traditional applications, sensors, wearables and surveys

68

• • • • •

A. Akram et al.

Integration of data collected from various streams Expert System for decision making on the collected data Information extraction in the form of data analysis and data mining Reports for easy-to-utilize data by various stakeholders Knowledge transfer to improve the health literacy level of users

The reality of life is technology changes within a short time span. All the time new tools and trends are emerging; technical support teams in organizations will never be able to stay completely up-to-date on all of the latest technology that could impact patient care. A platform like PhASE gives health providers the access to a new technology, when required and delivers the content to new media. The ideal solution, will give flexibility to the healthcare industry to adopt new trends at their desired pace and inte‐ grate their existing solutions with new technologies. The PhASE will be built upon four key features. The support for the secure and reliable communication between different physical entities i.e. patient-doctor, nursedoctor, field health worker-domain expert, researcher-participant etc. The communica‐ tion from the comfort of users selected medium (mobile or desktop) and at any time of the day will improve the efficiency of the system, minimizing unnecessary delays. The second feature is the extendibility and flexibility. The extendibility allows the integration of heterogeneous devices with minimum efforts; rolling out new features and services to the platform users. The ability to create new services as a mashup is a meta-component or service that utilizes content, information or data from more than one source or existing services and tools [14]. The third important aspect of the platform is to aggregate data collected from different streams in the form of forms/surveys, patient records, health‐ Apps, wearable censors etc. Finally, utilizing the aggregated data in an easy-to-use format for the various stakeholders for better patient care. PhASE provides the RESTful [21] based connectivity to integrate third parties’ tools in the form of web services Application Programming Interface (API). The PhASE architecture is designed on the well-known principle of “Micro Services” [22] to imple‐ ment standalone features. The architecture of the PhASE has been designed with extreme care, where each feature and component can be consumed independently. This isolation of individual components enables users to integrate different components to create inno‐ vative healthcare mashups. The PhASE will allow researchers to design and create simple surveys and complex data collection multi-step forms with ease. The complex data collection forms are smart forms. The smart form is a dynamic and flexible form, which shows or hides fields on the fly based on the user input; update field values based on a selected item and perform calculations. The PhASE will also add educational component to surveys by adding the feedback or link to external resources based upon a single or set of options selected. Ultimately, the PhASE is a hub that receives information from all streams and organizes it in one place for the stakeholders to view, analyze, filter and consume.

Beyond Health Apps, Utilize Patient-Generated Data

3

69

Platform Architecture

The short-sighted vision for any new healthcare platform is to create yet-another app store or app development tool for the healthcare with limited scope. The long term objective of PhASE is to accelerate application development through open standards; interface based third party integration; flexible data model; data analysis algorithms, data mining routines and educational resources for interoperable healthcare applications. The architecture of PhASE attempts to consolidate fully decentralized information streams to a centralized model. The current decentralized model of the healthcare industry is due to the general practice that each data-generation tool controls its data and stores independently. A sharing of the data, if possible, is upon request only. The data request to every data source brings another level of complication resulting in unwanted delays and incomplete information for analysis. The fully centralized model collects and stores data in a central repository from various streams where stakeholders agree and consented to share data. The centralized data can be accessed and used by participants in accordance with well-defined policies and procedures. A centralized model may offer best technical performance regarding data availability and response time [13]. Unfortu‐ nately, due to lack of trust and cutting throat competition among stakeholders, a fully centralized model is not possible and bringing all stakeholders to the same level is a daunting task. A feasible approach is to design some sort of hybrid method. The hybrid sharing model doesn’t store all data in a centralized repository but retrieves data when required on behalf of the requester. The data normally stays with the owner of the data, who agreed to share the data with other stakeholders in accordance with agreed policies. The hybrid approach solves a few major issues of the decentralized model, the bottle‐ necking i.e. information stored in a single repository; stakeholders agreeing separate sharing agreement and policies; and a high number of data requests from interested entities to the data owner. The main communication architecture of the PhASE is aligned with the hybrid model. The PhASE is a one-stop shop for all data queries and for data collection in accordance with patient consent and agreed terms and conditions for data sharing. The healthApp can retrieve information from trusted resources or 3rd party service providers to produce quality patient-centric data. The possible example is any external server hosting the domain specific survey and the PhASE hosting the domain specific rules to compliment the survey resulting in the flexible expert system. The information is collected in a self-organized and automated manner over wireless networks (IEEE 802.11, IEEE 802.15.4/ZigBee, and Bluetooth) and is periodically uploaded to the PhASE. The PhASE is a client-server architecture utilizing current cloud computing paradigms. The cloud-based healthcare platform with Software-as-a-Service (SaaS) enables PhASE in delivering healthcare information services with high clinical value, low cost, and high usability. The technical management of the PhASE relies on best practices of cloud services, which itself adopt the design principles of OpenStack cloud architecture [5] and the Open Cloud Computing Interface (OCCI) [5]. The heterogeneous (varying data structure and format) nature of the data generated by various healthApps and wearables can’t be stored in traditional databases. The conventional databases are optimized for the storage and querying of structured data.

70

A. Akram et al.

The unstructured data collected by the PhASE requires innovative data solution. The PhASE, internally deploys NoSQL [23] storage model for initial data storage capable of handling arbitrarily flexible data structure. The collected data will be harmonized, converted to JSON format (agnostic of healthApps, sensors, wearables and program‐ ming languages) and data from various data streams will be potentially linked. The flexibility of data structure allows third parties to integrate their tools with PhASE without any complicated restructuring or formatting. The current data trend in the health care industry moving from structured data to semi-structured data (self-monitoring, mHealth, wearable devices, and sensors) and even to unstructured data (transcribed notes, images, and videos). The PhASE data-storage architecture is horizontally and vertically scalable. The horizontal scalability is crucial for the storage of big data gener‐ ated by healthApps and sensors. This big data will continue to grow significantly not only in the storage size but in the frequency too.

4

Components of the Platform

The “Platform for HealthApps, Surveys and Education (PhASE)” is a challenging project with various facets. The objective of the PhASE is not to re-design existing health systems but to implement a new patient-centric platform with a different strategy and vision. The PhASE addresses limitations of existing health systems by providing an integration hub in the form of generic but extendable Application Programming Inter‐ face (API). 4.1 Health Information Exchange The lack of data sharing and ineffective utilization of patient data is a hindrance to the healthcare industry. Patient clinical data linked with patient-generated data can reduce the burden of care delivery and over treatment by early detection and effective preven‐ tion. A properly designed, developed and deployed Health Information Exchange (HIE) and Health Information Exchange Interoperability (HIEI) will result in enormous savings. According to one study, the properly standardized and implemented HIE could yield a net value of $77.8 billion per year [7]. The clinical impact of HIEI for which quantitative estimates cannot yet be made would likely add further value. The standardization of HIE will result in effective collaboration and partnership among various stakeholders. The long-term collaboration will result in reliable and accurate information. The concept of HIE is relatively recent and is quickly evolving. The first iteration of HIE involved the basic clinical data exchange e.g. laboratory results, hospitals discharge, referrals etc. The current stage of HIE needs to handle more heter‐ ogeneous data from a broader spectrum. The nature of data is extended to analytical capabilities, quality improvement, population health management, research and evalu‐ ation [8]. The technical architecture of HIE is designed with advanced features to incorporate various data streams, existing registries and databases, patient-reported outcomes and most importantly data from home tele-monitoring devices. The current trend for HIE is

Beyond Health Apps, Utilize Patient-Generated Data

71

moving from fully decentralized architecture to the fully centralized infrastructure. The support for the HIE is with a RESTful API based component creating a secure network for collaborators for bi-directional health data sharing. The HIE will be gateway to the Data Collection Hub (discussed in next section) creating a comprehensive health data from multiple data streams. 4.2 Data Collection Hub One of the most important components of the PhASE is the Data Collection Hub that will collate and retrieve information related to all aspects of health care research. The end-result will be organized information in one place for the mobile end user. The information will be collected from various streams i.e. health questionnaires and surveys, consented patient visit data, patient-generated data e.g. wearable devices, selfmonitoring healthApps or self-reported data. The hub will be extendable to collate secure communication between physician, nurse or patient; notification sent to patients or participants; and exchanges between mobile health workers and remote experts. The aggregated data confined in huge databases or data warehouses will give access to sort‐ able, useable, searchable and actionable data. The outcome will be quick access to realtime health information, improved health care services, lower costs and effective solu‐ tions. 4.3 Survey Designer with Roll-Out Feature One of the main components of the PhASE is to allow researchers to design and create smart, interactive and complicated data collection forms and surveys. The interactivity of forms means dynamically reacting to user actions. The smart data collection forms show or hide fields, update field values and perform calculations according to the user interactions and choices. Large forms can be arranged as multi-page forms, for logical and smooth navigations. Researchers will be able to design and create complicated data collection forms without dependency on developers. The form created will be deployed to the server and collected data will be automatically persisted to the backend database. 4.4 Data Mining and Analysis Patient-generated data is growing exponentially, but the potential value of this data is not yet being realized. The limited utilization of the data is due to lack of adequately developed predictive modeling and simulation techniques for analyzing healthcare data. This shortcoming is not due to a lack of innovative hardware, software or technological development, as they are readily available to improve the patient care. The major bottle‐ neck is the aggregating, processing and displaying of the data. In the later stages of the PhASE design and development, the generic data mining and analysis component will be created from open source projects RapidMiner [24] and WEKA [25]. The generic component will allow researchers and users to create their own data mining and analysis tools. The data mining and analysis tool will be capable

72

A. Akram et al.

of consuming local data or data from third parties to create a mashup for analytical service. 4.5 Clinical Decision Support The clinical decision support CDS system is an application that analyzes patient data to help healthcare providers make clinical decisions. It is an adoption of the expert system used in various other domains. There is an improvement in patient care by the early detection and intervention with the CDS [18]. The currently available CDS systems are static and tightly integrated with the data collection tools; any update or changes require another iteration of development. PhASE will deploy more dynamic and sustainable approach; the data collection is independent in the form of questionnaires and surveys and can be separately linked with rules for decision making (if required). The long term plan for PhASE is to host multiple CDS for various symptoms which can be designed and modified by clinicians via a web interface. The dynamic approach will allow the reuse of the same CDS for multiple data collection questionnaires. Similarly, the same data collection questionnaires can be linked to various CDSs according to the local practice and jurisdiction. 4.6 Education and Training The general workforce including healthcare staff is looking for ways to increase effi‐ ciency, reduce errors, improve knowledge, and compliance with regulations, while increasing competitive advantages wherever possible. Smartphone/tablet based educa‐ tion and training is an innovative means, for a new technologically savvy group of young people, entering the workforce and many people work from nontraditional workspaces. learning has been assessed in the clinical setting, resulting in learners increasing their knowledge of clinical skills by a means that was interesting while being time- and place flexible [19]. PhASE aims to host educational resources of interest for healthcare providers and patients allowing portable, personal, interactive and exciting learning. PhASE will support healthApps providing visual simulation, review, self-knowledge testing, direct communication and feedback. This will allow healthcare providers to stay connected with their patients; post new information and continue to answer questions regarding the technical and clinical aspect of a medical treatment.

5

Relevant Projects

There are various initiatives in recent years to aggregate the patient information or to support patient centric data to varying levels. Neither all of these projects are success story nor are they regularly maintained. This section discusses a few of the relevant and appropriate projects in no particular order.

Beyond Health Apps, Utilize Patient-Generated Data

73

5.1 Health Hub Singapore Health Hub Singapore [15] launched in 2015, is one of the most comprehensive initia‐ tives allowing Singaporeans and permanent residents (PRs) to access their public health records online. The Health Hub Singapore is designed on the hybrid model to draw data from public healthcare databases (the National Electronic Healthcare Records and School Health System). The platform allows users to access their health records, track appointments, life style and directory of healthcare providers. 5.2 Microsoft HealthVault Microsoft HealthVault [26] is a secure web-based health solution platform enables indi‐ viduals to store, manage, and share their health and fitness information available since 2007. The Microsoft HealthVault is intended for both patients and healthcare profes‐ sionals. The main selling point of Microsoft HealthVault is its 3rd party integrations based on industry standards exchange formats. It supports seamless updates of data from major sensors wearable devices i.e. FitBit, Garmin etc. 5.3 Google Health Google Health [27] was a personal health record service that allowed users to centrally store and manage their health information. The service stored user’s personal informa‐ tion, health conditions, medications and lab results with options to share with others. The service was introduced in 2008 and discontinued in 2011. The volunteer and manually logging of the data was not popular among users. 5.4 HealthKit by Apple HealthKit by Apple [17] is a tool for developers to design health applications. The application is intended to be personal and a central data collection point from electronic accessories and wearables. The HealthKit allows users to discover other compatible healthApps in the Apple Store but the data generated by healthApps is not integrated. 5.5 HealthKit (The Global Health Community) HealthKit [16] is a global platform for patients and practitioners around the world that is making healthcare efficient and effective. HealthKit allows users to manage their health, share records with doctors and locate a practitioner with one of the most extensive directories. 5.6 myChart myChart [28] is a platform for patients to access their medical information online e.g. lab results, past and upcoming appointments and referrals. The key feature of myChart

74

A. Akram et al.

is support for messaging health providers and refilling medications. Users of myChart can also access medical records of dependent children. 5.7 CONNECT Community Portal CONNECT [29] is an open source project promoting interoperability for exchange of information. CONNECT enables secure, health data exchange among various stake‐ holders and implements the Nationwide Health Information Network (NwHIN) [32] standards and specifications. 5.8 PhiCollect PhiCollect [30] is a cloud-based open source data collection platform. PhiCollect allows users to collect data from and publish to a variety of platforms. PhiCollect is based on Open Data Kit [31], which itself is not actively maintained. PhiCollect has also appli‐ cation outside healthcare sectors i.e. emergency response, food security and facilities management. 5.9 Health Apps Library The National Health Service (NHS) of United Kingdom launched the Health Apps Library [2] in 2013 to promote safe, effective health apps. The NHS was one of the early pioneers among healthcare providers in the curation of health apps for patients. Health Apps Library was closed in 2015 after a number of issues, including security concerns, dummy data, lack of encrypted data on the device and during data transfer, were high‐ lighted in a study by Imperial College [19]. Health Apps Library was relaunched this year along with – the Digital Apps Library. Health Apps Library lists apps as either “being tested” or “NHS Approved”. 5.10 Health-e-Apps Health-e-Apps [1] was developed with funding from the Ministry of Health, British Columbia to promote the use of health apps by health professionals and the public. Health-e-Apps encourages health professionals to share useful health apps with the public and among themselves, while also encouraging the general public to access health apps recommended by health professionals.

6

Conclusion

The paper outlines the rational for the digital platform to integrate various components of the healthcare sector. The rapid growth of self-monitoring apps, sensors and wearable gadgets generate enormous amount of patient-centric data which can improve popula‐ tion health and primary care. The patient-centric data needs to be aggregated, linked and made available to various stakeholders in easy-to-utilize format. The richness of

Beyond Health Apps, Utilize Patient-Generated Data

75

collected data can be further exploited with the use of technical development of data analysis and data mining. Finally, the platform should validate healthApps against set policies for compliance with standards and medical evidence. The educational aspect, integrated within healthApps will improve health literacy level of end-users. Acknowledgments. We acknowledge the funding from the Nanyang Technological University to the Lee Kong Chian School of Medicine/Centre for Population Health Sciences (CePHaS).

References 1. National Health Service. NHS: Health Apps Library. http://bit.ly/15rxYyB. Accessed 20 May 2017 2. Shaw, G.: UBC’s Health-e-Apps project helps patient help themselves. http://apps.nhs.uk/. Accessed 20 May 2017 3. IMS Institute for Healthcare Informatics: IMSHelath. Patient Adoption of mHealth (2015). http://www.imshealth.com/files/web/IMSH%20Institute/Reports/Patient%20Adoption %20of%20mHealth/IIHI_Patient_Adoption_of_mHealth.pdf. Accessed 20 May 2017 4. Estrin, D., Sim, I.: Open mHealth architecture: an engine for health care innovation. Science 330(6005), 759–760 (2010) 5. Open Source Cloud Computing Software. https://www.openstack.org. Accessed 20 May 2017 6. Open Cloud Interface. http://occi-wg.org. Accessed 20 May 2017 7. Walker, J., Pan, E., Johnston, J., Adler-Milstein, J.: The value of health care information exchange and interoperability. Health Aff. 24, 10–18 (2005) 8. McCarthy, D.B., Propp, K., Cohen, A., Sabharwal, R., Schachter, A.A., Rein, A.L.: Learning from health information exchange technical architecture and implementation in seven beacon communities. EGEMS 2(1), 1060 (2014). doi:10.13063/2327-9214.1060 9. Berland, G.K., Elliott, M.N., Morales, L.S., Algazy, J.I., Kravitz, R.L., Broder, M.S., Kanouse, D.E., Muñoz, J.A., Puyol, J., Lara, M., Watkins, K.E., Yang, H., McGlynn, E.A.: Health information on the internet accessibility, quality, and readability in English and Spanish. JAMA 285(20), 2612–2621 (2001). doi:10.1001/jama.285.20.2612 10. Anderson, M.: The three kinds of platforms you meet on the internet. http://pmarchive.com/ three_kinds_of_platforms_you_meet_on_the_internet.html. Accessed 20 May 2017 11. Ratzan, S.C., Parker, R.M.: Introduction. In: National Library of Medicine Current Bibliographies in Medicine: Health Literacy. National Institutes of Health, U.S. Department of Health and Human Services (2000) 12. Kim, H., Xie, B.: Health literacy and internet- and mobile app-based health services: a systematic review of the literature. Proc. Assoc. Info. Sci. Tech. 52, 1–4 (2005). doi:10.1002/ pra2.2015.145052010075 13. Lapsia, V., Lamb, K., Yasnoff, W.A.: Where should electronic records for patients be stored? Int. J. Med. Inform. 81(12), 821–827 (2012) 14. Grannis, S.J., Biondich, P.G., Mamlin, B.W., Wilson, G., Jones, L., Overhage, J.M.: How disease surveillance systems can serve as practical building blocks for a health information infrastructure: the Indiana experience. AMIA Annu. Symp. Proc., 286–290 (2005) 15. Health Hub Singapore. https://www.healthhub.sg/ 16. HealthKit (global health community). https://www.healthkit.com/ 17. HealthKit by Apple. https://developer.apple.com/healthkit/

76

A. Akram et al.

18. Kensaku, K., Houlihan, C.A., Balas, E.A., Lobach, D.F.: Improving clinical practice using clinical decision support systems: a systematic review of trials to identify features critical to success. BMJ 330, 765 (2005) 19. Clay, C.A.: Exploring the use of mobile technologies for the acquisition of clinical skills. Nurse Educ. Today 31, 582–586 (2011) 20. Huckvale, K., Prieto, J.T., Tilney, M., Benghozi, P.J., Car, J.: Unaddressed privacy risks in accredited health and wellness apps: a cross-sectional systematic assessment. BMC Med. 13, 214 (2015). doi:10.1186/s12916-015-0444-y 21. Free, C., Phillips, G., Watson, L., Galli, L., Felix, L., Edwards, P., Patel, V., Haines, A.: The effectiveness of mobile-health technologies to improve health care service delivery processes: a systematic review and meta-analysis, 15 January 2013. https://doi.org/10.1371/ journal.pmed.1001363 22. Christensen, J.H.: Using RESTful web-services and cloud computing to create next generation mobile applications. In: Proceedings of the 24th ACM SIGPLAN Conference Companion on Object Oriented Programming Systems Languages and Applications, pp. 627– 634. ACM 23. Newman, S.: Building Microservices. O’Reilly Media Inc., Sebastopol (2015) 24. Leavitt, N.: Will NoSQL databases live up to their promise? Computer 43(2), 12–14 (2010) 25. Klinkenberg, R. (ed.): RapidMiner: Data Mining Use Cases and Business Analytics Applications. Chapman and Hall/CRC, Boca Raton (2013) 26. Hall, M.: The WEKA data mining software: an update. ACM SIGKDD Explor. Newsl. 11(1), 10–18 (2009) 27. Microsoft HealthVault. https://www.healthvault.com/sg/en 28. Google Health. https://en.wikipedia.org/wiki/Google_Health 29. myChart. https://www.ucsfhealth.org/ucsfmychart/ 30. CONNECT Community Portal. http://www.connectopensource.org/ 31. PhiCollect. https://www.webfirst.com/phicollect 32. Open Data Kit. https://opendatakit.org/ 33. Nationwide Health Information Network (NHIN). https://www.healthit.gov/sites/default/ files/what-Is-the-nhin–2.pdf

Privacy Matters: Detecting Nocuous Patient Data Exposure in Online Physician Reviews Frederik S. Bäumer ✉ , Nicolai Grote, Joschka Kersting, and Michaela Geierhos (

)

Heinz Nixdorf Institute, University of Paderborn, Paderborn, Germany {fbaeumer,ngrote,jkers,geierhos}@hni.upb.de

Abstract. Consulting a physician was long regarded as an intimate and private matter. The physician-patient relationship was perceived as sensitive and trustful. Nowadays, there is a change, as medical procedures and physicians consultations are reviewed like other services on the Internet. To allay user’s privacy doubts, physician review websites assure anonymity and the protection of private data. However, there are hundreds of reviews that reveal private information and hence enable physicians or the public to identify patients. Thus, we draw attention to the cases when de-anonymization is possible. We therefore introduce an approach that highlights private information in physician reviews for users to avoid an accidental disclosure. For this reason, we combine established natural-languageprocessing techniques such as named entity recognition as well as handcrafted patterns to achieve a high detection accuracy. That way, we can help websites to increase privacy protection by recognizing and uncovering apparently uncritical information in user-generated texts. Keywords: Physician reviews · User privacy · Nocuous data exposure

1

Introduction

Physician Review Websites (PRWs) receive an increasing amount of attention from the media as well as from physicians and patients. They enable users to rate medical services anonymously and freely access this content on the Web. We define anonymity as being not known, named or being regarded as nameless [4]. These reviews help other patients to look about for an adequate service. Reviews, as shown in Fig. 1 can be divided into a qualitative (i.e. review text) and a quantitative (i.e. numerical ratings) part. Moreover, Health Care Providers (HCPs) comment on the reviews and reviewers can even provide meta data (e.g. age, insurance). The anonymity the Web conveys to its users enables a truthful way of communicating one’s ratings. Though, to be able to provide an authentic rating, patients add information about their person, treated disease and the visit at the physician in general. Hence, they may risk damaging the sensible physician-patient relationship or to be identifiable for other people because a limited amount of informa‐ tion like age and number of children can already threaten anonymity. Additional to such consciously published information, users tend to reveal further information unintended [24]. This kind of information, especially in combination with other and meta data like the physician’s name or location, endangers anonymity although only a very limited © Springer International Publishing AG 2017 R. Damaševičius and V. Mikašytė (Eds.): ICIST 2017, CCIS 756, pp. 77–89, 2017. DOI: 10.1007/978-3-319-67642-5_7

78

F.S. Bäumer et al.

amount of information is provided [35]. Leading PRWs are aware of this risk and are encouraged by law to introduce control mechanisms, which automatically test and iden‐ tify user statements that harm anonymity and privacy. However, our analysis of published reviews uncovers that still a lot of ratings with privacy violations exist, which at worst enable readers to de-anonymize a reviewer.

Fig. 1. Sample physician review on jameda.de (translated from German)

In the context of patient reviews, it is important to distinguish between reviewers and patients because these roles do not necessarily appear in persona [17]. Patients can report their own experiences. But a reviewer can also write about the medical treatment of a third person (e.g. a child). Therefore, we need to distinguish between revealing information about oneself or a third person. Such specific and general difficulties to the PRW domain lead to the necessity of protecting patients’ privacy. This is especially important when the privacy of a third person is risked. Privacy protection and threats to privacy receive an increasing amount of attention in the public. Even the New York Times wrote years ago about this topic, a long time before greater revelations were made [25]. For this reason, we developed an approach for recognizing potentially nocuous patient data exposure in patients’ reviews (shown in the left part of Fig. 1). In particular, our algorithm analyzes the semantic information of the qualitative part of reviews as well as their meta data. Therefore, information that would cause a break of privacy is detected. By highlighting potentially private information and providing an explanation about the privacy risk, patients are warned and maybe discouraged from publishing. Apart from that, we discuss limitations and constraints that our actual approach faces. We encourage the community or PRWs themselves to apply our method. Up to now, e.g. the German PRW jameda.de already identifies ‘irregularities’ containing spam and fake review in order to reduce data noises. Such cases are then manually treated and people decide whether to delete the reviews [23]. However, as we will later show, we believe that jameda’s system can be improved to detect even more issues. The structure of the paper is as follows: In Sect. 2, we provide an overview of the related work. Then, we give an insight into our categorization of potential privacy threats (Sect. 3). We present our approach for uncovering potential privacy threats in patient’s online reviews in Sect. 4, before we discuss the strengths and weaknesses of our approach (Sect. 5). Finally, we summarize our results in Sect. 6.

Privacy Matters: Detecting Nocuous Patient Data Exposure

2

79

Current State of Research

As a great and increasing number of people is using social networks, many studies are focused on their usage. An important phenomenon is that people are revealing too many information about themselves [13, 20]. In many cases, it happens unwittingly and unin‐ tentionally [1, 24], but creates physical and cyber risks [18]. Since PRWs are widely used [11] and investigated [9], most researchers focused on aspects like quality [7, 10, 11, 31, 32, 34] or their awareness in public and in scientific controversies [6, 12]. Ethical issues and data protection are studied as well [12, 21, 33]. The last-mentioned point is fundamental for our work, since we focus on de-anonymization issues. During the last years, there have been discussions how PRWs have impact on relationships between physicians and their patients, about the quality of physician’s work, and on how evalu‐ ated physicians should behave according to their ratings [11, 19, 39]. Moreover, the reviewer behavior is studied. Why physicians are rated online is one of the crucial research questions [6, 22]. Other features like psycho-graphic [37] and socio-graphic are considered, too [3, 9, 37]. Additionally, aspects like the medical condition of reviewers were investigated [9, 37] as well as the importance of specific criteria for users of PRWs [8]. Further studies focused on the review’s sentiment [6, 11, 16, 26] and quantified parts [11] as well as on the number of ratings per physician [6, 16]. Since different works on privacy issues in other established social networks have been conducted [28], there is little to find about the medical context, which can be considered as privacy sensitive. Especially, de-anonymization is a considerable threat to people’s privacy. For example, Acquisti and Gross [18] showed in their study 2005 that it is possible to identify one’s social security number by using information from profile sites. Organizations could use such information for sending spam or starting phishing attacks [18]. Sweeney [35] figured out that it is possible to identify 87% of the U.S. population only by combining ZIP code, gender and date of birth information: “In general, few characteristics are needed to uniquely identify a person”. Therefore, it is not sufficient to remove person names and addresses to anonymize a set of data [36]. Hence, there exist different attack scenarios. Renoth [30] provides an overview on different methods of de-anonymization. Wondracek et al. [40] introduce a de-anonym‐ ization approach, which is based on group memberships that are available on social network sites. Thus, they can identify a user with his or her belonging. Another attack method was developed by Korayem and Crandall [24], who use temporal, social, textual and geographic user properties from two different social networks for machine learning purposes. That way, two corresponding accounts help to identify a user. Within the context of PRWs, we can assume that the same problems and potential attacks on users’ privacy that account for social networks are relevant for PRWs as well. PRWs share the same characteristics as social networks, which are defined as “a dedi‐ cated website or other application which enables users to communicate with each other by posting information, comments, messages, images, etc.” [29]. Therefore, it is impor‐ tant to protect the information that users are revealing in social networks, especially if this information has a medical background. Some research is done in the field of protecting medical data of patients. One protection model is K-anonymity. These models consider the issue that many information in patient data can lead to the recognition of

80

F.S. Bäumer et al.

individuals. In one example, Ganta showed that it is possible to identify a single person, including his or her medical condition and treatments, simply by comparing patientdischarge information, which was supposed to be anonymized [15]. K-anonymity provides protection against linking attacks, which means the interlinking of private information such as gender, ZIP code and other publicly available data [14]. This problem is extended by legal regulations which oblige holders of patient data to protect people’s privacy [38]. Due to the fact that information about diseases is considered as highly confidential, even though it is often included in reviews, privacy protection has to be strict. Publishing ratings without names is not sufficient for privacy protection because reviewers should not fear to be recognized by their physicians or anyone else. For example, the German PRW jameda.de takes this into account and developed guide‐ lines as well as testing mechanisms together with patients and physicians in order to protect privacy and prevent deceptive ratings [23]. Therefore, popular German PRWs such as jameda.de and docinsider.de seem to protect their user’s privacy inconsistently because there is no information available how names provided by users in their ratings (e.g. names are crossed out using curved or squared brackets) are deleted. Consequently, since everyone can publish a rating, there comes up the question of roles. The person treated by a physician does not have to be the reviewer. As Geierhos and Bäumer [17] showed in previous work, different roles like parents providing a rating for their underage children or children for their aging parents can be widely found.

3

Data Exposure Classification

In the following, the data exposure regarding affected persons is categorized and the risk of de-anonymization is carried out. For this purpose, we first present the underlying data set in Sect. 3.1 before we present our data exposure classification (cf. Sect. 3.2). 3.1 Data Acquisition and Preprocessing Our text collection was created by crawling data from the most popular German PRW jameda.de between October 2013 and January 2015. More than 213,000 HCP records and 860,000 individual reviews cover the time period from January 2009 to January 2015. The HCP repository contains personal information such as name, address and specialty. It consists of various types of HCPs, especially physicians (67.6%), health practitioners (7.9%), psychotherapists (6.8%), pharmacists (5.5%) and physical thera‐ pists (5.3%). The review collection contains the title and text of each review and consists of 327,625 types and 45,023,119 tokens. In order to achieve a higher data quality, we applied preprocessing. Thus, we prese‐ lected reviews including possible data exposure for further analysis. This includes, on the one hand, the removal of non-textual evaluations and, on the other hand, the recog‐ nition and annotation of person and location entities. Named entity recognition (NER) is a sub-task of information extraction (IE) with the goal to automatically detect and classify named entities. While many NER algorithms work on the English language, various other languages have also been studied. The challenge for NER tasks heavily

Privacy Matters: Detecting Nocuous Patient Data Exposure

81

depends on several factors, e.g. the domain or the language. Often NER systems are optimized for a specific domain and cannot easily be adapted [27]. We used the wellknown GATE Toolkit for the NER part with self-developed gazetteers for the German language. The gazetteers for drugs (e.g. “paracetamol”), diseases (e.g. “kidney failure”) and medical jargon (e.g. “I was on sick leave”) are to be emphasized here. Next, we applied a rule-based preselection that highlights entries containing an increased number of person or location entities. Furthermore, those entries which contain personal details etc. were highlighted, e.g. drug indications. In addition, a phrase search is applied to reveal patterns such as “meine Tocher” (“my daughter”), “in Behandlung seit” (“in treatment since”), “Ich wohne in” (“I am living in”) or “Jahre alt” (“years old”). Based on the results of the preselection, we identified even more patterns that allow us to find more reviews suspected of nocuous data disclosure (so-called bootstrapping). Table 1 shows examples for sentences containing possible data exposures. Table 1. Selected results of the pattern-based pre-selection process # 1 2 3 4 5

6

Examples of exposed sentences My name is . Mrs. and Mr. recommended me that I can visit you My name is und I am the singer at the My name is and I live in

Feature Name

Name, Job Name, Location Hello, my name is , at Years the first time Name, Age, an Disease […] suffered from a and I wasn’t able to make it to my family Disease, physician in (I live in and work at Location, Age ). I have never (I’m now years old) […] […] get sick (I work as a ), Job I was told that I am healthy and able to work

In order to get an insight into how often information is published in reviews, we have examined a random sample of 5,000 reviews. We have investigated whether information about the person (e.g. name), the place of residence (e.g. city), the family (e.g. number of children), the place of work (e.g. company name) or diseases (e.g. cancer) is provided. We have not yet considered the additional meta data at this point. In 1,102 reviews, at least one information bit was given, which mostly concerns the family situation (e.g. “as a mother of three children”). In 142 reviews, we found two information bits (e.g. place of residence and number of children). It is surprising, how often the roles (reviewer, patient) are explicitly mentioned in the reviews. For example, mothers and fathers often mention that they were at the doctor with their children and provide further information about their age and their illness (e.g. “Our 5-year-old daughter has been suffering from chronic abdominal pain for several weeks”). There are 24 reviews that contain at least three items that we classify as possibly harmful for patient’s privacy.

82

F.S. Bäumer et al.

3.2 Classification As shown in Table 1, the extent to which data is revealed as well as the type of infor‐ mation varies heavily. Partwise, the full name as well as location of residence and age are given. Oftentimes, there are indications of the disease, treatment and treatment dura‐ tion, too. While personal data like full names and locations enable third parties to identify a person, indications about diseases and treatment allow the de-anonymization by a physician. Even information about the number of children and their age at a given point in time (timestamp) can lead in combination with a disease or employer to a de-anonym‐ ization in small towns. This is especially possible when further meta data is provided (e.g. the location of the physician’s office). Within our data set, we discovered examples in which reviewers were identifiable because of uniquely matching information regarding the job, name and additional meta information. For example, it was possible to find the website of the reviewer’s employer and therefore identify the reviewer because of the given information.

Fig. 2. Classification of qualitative reviews

In the following, we want to show some examples in which revelations appeared. We exemplify how the information can be used alone or in combination for de-anonym‐ ization. In the first classification step, we distinguish between reviews that contain or do not contain private information. If there is private information (like name, age, location, drugs, date of visit), we distinguish whether it has to be assigned to the reviewer or patient, as long as these roles are not in persona. Applied to the sample review (Fig. 1), we can yet identify the following features: Name1, age (45 years), number of children 1

Some data is not given here for privacy reasons, even if it is freely accessible.

Privacy Matters: Detecting Nocuous Patient Data Exposure

83

(2), medical specialist, location of the physician’s office, period of treatment (August 2013), length of the physician-patient relationship (30 years). Obviously, all information details concern the patient and reviewer in persona. But other reviews abound, especially by parents writing about the experiences of her children: “My daughter has been with since her birth. Meanwhile she is ”. Furthermore, we discovered examples in which a reviewer describes the visit of a third person, without being present in the certain situation. This could damage the physician-patient relationship because of hearsay. Table 2. Various personal information available on PRWs (shortened list) Role Patient

Reviewer

Physician

Feature Age City Date of visit Disease(s) Duration of PP-relation Duration of disease/treatment Drugs Gender Insurance Job Marriage status No. of children Place of birth Treatment Waiting time (date) Date of review Relation (to patient) Patient in persona Stylometry data City Federal state Full name Response on a review Speciality Street ZIP

Source Text, Meta data Text Meta data Text Text Text Text Text Meta data Text Text Text Text Text Text Meta data Text Text Text Meta data Meta data Meta data Meta data Meta data Meta data Meta data

Feature * years old I live in * – I am diabetic patient for * weeks in treatment in treatment since * cortisone I’m mother of – and work at my wife has With * children from *, my hometown was prescribed a * waited for * months – Accompanied my * – – – – – – – – –

In the following, the decision takes place whether a single information allows the de-anonymization (e.g. full name) or whether further information (e.g. meta data like the location of the physician’s office) is required. In this step, it is particularly important whether a patient can be identified by the physician and his/her team or by anyone else. While the former can damage the sensible physician-patient relationship, the latter may cause problems at the workplace or in the social environment [15]. Example no. 2 in

84

F.S. Bäumer et al.

Table 1 shows when a de-anonymization in public is possible. Here, a short web search is sufficient to identify the concrete person. By contrast, example no. 4 allows the deanonymization by physicians, because name, age, illness and meta data such as review date and health insurance are given. Our current decision tree is depicted in Fig. 2. The remaining question is at the moment, how much information is necessary to deanonymize a person. Fact is, that, due to the already available information and a wellknown patient group, a physician needs less information to de-anonymize his or her patient in comparison to the general public. However, Sweeney [35] showed that it is possible to de-anonymize 87% of the US population with only three information bits (ZIP, gender, date of birth). At this point, it is recommended to take a closer look at the demographic details in reviews, either available as plain text or meta data (cf. Table 2). Table 2 shows more risky data apart from age, location and name. The forenamed details provide an overview on their harmfulness to privacy. Other features are gender, marriage status or date, which are not always mentioned in texts, but can help others to identify a person. That is, when the reviewer is, for example, “A mother of three children […]”, the number of children (3) and the gender (female) are provided. A similar case applies when stated “My husband went with my son […]” (marriage status, gender of the child is mentioned). Apart from this kind of information patients reveal in form of texts or meta data, further details are available. For example, it is known that patients prefer physicians close to their place of residence, which can serve as an additional location information [2].

4

Approach

In the following, we present our approach which enables PRWs to automatically screen incoming reviews for potential privacy threats and to make them visible to users. There‐ fore, we explain the underlying data processing pipeline (Sect. 4.1) before we present our applied natural language (NL) patterns (Sect. 4.2) and quality constraints (Sect. 4.3). 4.1 Data Processing Pipeline Our data processing pipeline (cf. Figure 3) is built upon the preprocessing step described in Sect. 3.1 and is applied on the presented data set. Based on annotations that were done by the NER that are especially related to person and location entities as well as organ‐ izations, drugs, data, etc., we apply our detection rules (cf. Sect. 4.2) (currently 30 predefined rules in the so-called rule repository), which are able to detect correlating information or including and annotate contextual information such as family relations or dosages of drugs. After the NER, additional quality constraints (cf. Sect. 4.3) reduce the number of annotations to present only essential information. The remaining annotations are enriched with explanations for the users, which provide further details why users’ privacy might be violated.

Privacy Matters: Detecting Nocuous Patient Data Exposure

85

Fig. 3. Data processing pipeline

4.2 NL Pattern-Based Detection of Patient Data Exposure The information, which has been found up to now by the NER approach and the defined NL patterns, provide a first hint for data revelation (e.g. location, name). They alone are not sufficient. The phrase “My daughter Leonie” indicates that a parent writes about a female child called “Leonie”. A connection between Leonie and the role as daughter is, up to now, not made. For this reason, we apply NL patterns, which consist of strings and the NER results. A pattern is for example (daughter|son|child|chil‐ dren) + NER(Name). This pattern enables us to combine results that have not been connected before. The allegation “I am 25 years old” corresponds to the reviewer. If there exists more information about a third person, e.g. a child, we have to assign it to the child. But if there is just one role mentioned in the whole text, all textual and meta information is related to the same role. When detecting privacy issues, our method displays a warning with information about the threat and an explanation is attached to the text passage. 4.3 Quality Constraints To enhance the quality of the results and to reduce the number of incorrect or irrelevant information for the user, we perform a constraint-based filtering after the NL patternbased detection. This includes, on the one hand, detecting incorrect annotations due to NER errors such as invalid names (e.g. annotated names including numbers) or single titles (“Mr.”) and, on the other hand, ignoring of annotations, which are evidently not related to the patient or reviewer. Especially, the corresponding physician’s name that is above average represented in reviews, is an example for such a constraint-based filtering. Furthermore, this technique also operates on very general location descriptions like “Germany”, “Republic”, “Medical Office” or “Hospital” because they can be clas‐ sified as innocuous and might distract the user from nocuous annotations. At this point, the question comes up whether it is necessary to filter the location of the medical office

86

F.S. Bäumer et al.

given in the available meta data. Raising the user’s attention for this information, we decided not to filter the location of the medical office and thus highlight it as a potential privacy data exposure. We furthermore implemented a white list of cities containing more than 100,000 inhabitants, since their mention in the text seems not to be a privacy violence. However, we observed that statements such as “I have previously lived in Cologne” combined with additional information (e.g. first name, age) can make a deanonymization possible, too. Due to the fact that physician reviews are user-generated content, we are facing high variance in text quality. Thus, we have to include string similarity algorithms in our filtering approach. For example, the physician “Dr. Peter‐ meyer” appears in at least five different spellings in the reviews (i.e. “Petremayer”, “Petermayer”), which all needs to be filtered and compared to the meta data since they are not names of the reviewer. This is currently done by using Jaro-Winkler distance which currently produces good results [5].

5

Discussion

First and foremost, there are possibilities of de-anonymization based on public available physician reviews. As one first counter step, our approach detects serious privacy threats that may lead to de-anonymization and therefore may damage personal relationships or one’s general personal well-being. On the one hand, there is a relatively decent number of reviews that forms a threat. But even a small number, in our case several thousand reviews, of de-anonymization threats can cause damages that may be disastrous to indi‐ viduals. Additionally, it should be mentioned that reviews to this day have already been quality-checked by most PRWs before publication. Having that in mind, we defined different categories based on the issues we have manually identified. However, our approach shows ambiguous results: We have solved different threats, whereas we may have not found some issues due to missing or too strict NL patterns. Our idea is to scan through existing reviews and identify threats in. Therefore, we may have not come up with issues we did not have in mind, what is a limitation. Misspellings or reviews using dialects, bad language and suchlike will not be covered in the current version of our approach. Another constraint is the degree of harmfulness. A location may be more harmful when it is more unique (very small town) and furthermore not identical with the physician’s location. Combinations of potential harmful information are regarded as an even bigger threat. Another constraint is that a patient’s name cannot be part of a physician’s name, but it actually can be. The very common German name “Meyer” may fit to the patient as well as to the physician. Anyhow, we solved a broad number of privacy threats whereas our approach is easy to adapt. We have shown a working solution that may be used by PRWs ad hoc.

Privacy Matters: Detecting Nocuous Patient Data Exposure

6

87

Conclusion

As we have shown, the current efforts of German PRWs are too weak when it comes to protect the anonymity of reviewers or patients. Indeed, there exist PRWs like the German portal jameda, which has already introduced a very fine-meshed protection system, filtering fake reviews and private data such as names. At the same time, dozens of eval‐ uations show that de-anonymization is enabled by providing several pieces of private information in combination with meta data. Therefore, we would like to draw attention to the necessity of encountering the extensive issue. By using our approach that combines existing NLP techniques (e.g. NER, string similarity algorithms), PRWs can support users with context-sensitive warnings, which show possible data exposure and explain its danger to reviewer’s anonymity.

References 1. Almishari, M., Gasti, P., Tsudik, G., Oguz, E.: Privacy-preserving matching of communitycontributed content. In: Crampton, J., Jajodia, S., Mayes, K. (eds.) ESORICS 2013. LNCS, vol. 8134, pp. 443–462. Springer, Heidelberg (2013). doi:10.1007/978-3-642-40203-6_25 2. Bäumer, F.S., Geierhos, M., Schulze, S.: A system for uncovering latent connectivity of health care providers in online reviews. In: Dregvaite, G., Damasevicius, R. (eds.) ICIST 2015. CCIS, vol. 538, pp. 3–15. Springer, Cham (2015). doi:10.1007/978-3-319-24770-0_1 3. Beck, A.J.: Nutzung und bewertung deutscher arztbewertungsportale durch patienten in deutschen hausarztpraxen. Ph.D. thesis, Ulm University (2014) 4. Bibliographisches Institut. Duden – Anonymität. http://www.duden.de/suchen/dudenonline/ anonymit%C3%A4t (2017). Accessed 20 Mar 2017 5. Cohen, W.W., Ravikumar, P., Fienberg, S.E.: A comparison of string distance metrics for name-matching tasks. In: Proceedings of IJCAI-03 Workshop on Information Integration on the Web (IIWeb-03), 9–10 August 2003, Acapulco, Mexico, pp. 73–78 (2003) 6. Emmert, M., Gerstner, B., Sander, U., Wambach, V.: Eine bestandsaufnahme von bewertungen auf arztbewertungsportalen am beispiel des nürnberger gesundheitsnetzes qualität und effizienz (QuE). Gesundheitsökonomie & Qualitätsmanagement 19(04), 161– 167 (2014) 7. Emmert, M., Maryschok, M., Eisenreich, S., Schöffski, O.: Arzt-bewertungsportale im internet – geeignet zur identifikation guter arztpraxen? Das Gesundheitswesen 71(04), e18– e27 (2009) 8. Emmert, M., Meier, F., Heider, A.-K., Dürr, C., Sander, U.: What do patients say about their physicians? An analysis of 3000 narrative comments posted on a German physician rating website. Health Policy 118(1), 66–73 (2014) 9. Emmert, M., Meier, F., Pisch, F., Sander, U.: Physician choice making and characteristics associated with using physician-rating websites: cross-sectional study. J. Med. Internet Res. 15(8), e187 (2013) 10. Emmert, M., Sander, U., Esslinger, A.S., Maryschok, M., Schöffski, O.: Public reporting in germany: the content of physician rating websites. Methods Inf. Med. 51(2), 112–120 (2012) 11. Emmert, M., Sander, U., Pisch, F.: Eight questions about physician-rating websites: a systematic review. J. Med. Internet Res. 15(2), e24 (2013)

88

F.S. Bäumer et al.

12. Fischer, S., Emmert, M.: A review of scientific evidence for public perspectives on online rating websites of healthcare providers. In: Gurtner, S., Soyez, K. (eds.) Challenges and Opportunities in Health Care Management, pp. 279–290. Springer, Cham (2015). doi: 10.1007/978-3-319-12178-9_22 13. Forkefeld, N.: The invisible hand of social network: Wie viel Transparenz in Sozialen Netzwerken ist ökonomisch? Discussion Papers 24/2012, Witten/Herdecke University, Faculty of Management and Economics (2012) 14. Gal, T.S., Chen, Z., Gangopadhyay, A.: A privacy protection model for patient data with multiple sensitive attributes. Int. J. Inf. Secur. Priv. 2(3), 28–44 (2008) 15. Ganta, S.R., Kasiviswanathan, S.P., Smith, A.: Composition attacks and auxiliary information in data privacy. In: Proceedings of the 14th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, pp. 265–273. ACM, New York (2008) 16. Gao, G.G., McCullough, J.S., Agarwal, R., Jha, A.K.: A changing landscape of physician quality reporting: analysis of patients’ online ratings of their physicians over a 5-year period. J. Med. Internet Res. 14(1), e38 (2012) 17. Geierhos, M., Bäumer, F.S.: Erfahrungsberichte aus zweiter Hand: Erkenntnisse über die Autorschaft von Arztbewertungen in Online-Portalen. In: Book of Abstracts der DHd-Tagung 2015, pp. 69–72, Graz (2015) 18. Gross, R., Acquisti, A.: Information revelation and privacy in online social networks (The Facebook case). In: Proceedings of the 2005 ACM Workshop on Privacy in the Electronic Society, pp. 71–80. ACM, Alexandria (2005) 19. Hanauer, D.A., Zheng, K., Singer, D.C., Gebremariam, A., Davis, M.M.: Public awareness, perception, and use of online physician rating sites. J. Am. Med. Assoc. 311(7), 734 (2014) 20. Heidemann, J.: Online Social Networks – Ein sozialer und technischer Überblick. InformatikSpektrum 33(3), 262–271 (2010) 21. Hennig, S., Etgeton, S.: Arztbewertungen im Internet. Datenschutz und Datensicherheit 35(12), 841–845 (2011) 22. Hinz, V., Drevs, F., Wehner, J.: Electronic word of mouth about medical services. Technical report, HCHE Research Paper (2012) 23. Jameda. Frequently Asked Questions (FAQ) für Nutzer (2016). https://www.jameda.de/ hilfe/?show=user. Accessed 14 Mar 2017 24. Korayem, M., Crandall, D.J.: De-anonymizing users across heterogeneous social computing platforms. In: Proceedings of the 7th International Conference on Weblogs and Social Media, Cambridge, MA, USA, pp. 689–692 (2013) 25. Lohr, S.: How privacy vanishes online (2010). http://www.nytimes.com/2010/03/17/ technology/17privacy.html?scp=1&sq=how%20privacy%20can%20vanish%20steve%20lo hr&st=cse. Accessed 20 Mar 2017 26. López, A., Detz, A., Ratanawongsa, N., Sarkar, U.: What patients say about their doctors online: a qualitative content analysis. J. Gen. Intern. Med. 27(6), 685–692 (2012) 27. Nadeau, D., Sekine, S.: A survey of named entity recognition and classification. Linguisticae Investigationes 30(1), 3–26 (2007) 28. Narayanan, A., Shmatikov, V.: De-anonymizing social networks. In: Proceedings of the 30th IEEE Symposium on Security and Privacy, pp. 173–187. IEEE, Oakland (2009) 29. Oxford University Press. social network - definition of social network in english – oxford dictionaries. https://en.oxforddictionaries.com/definition/social_network. Accessed 15 Mar 2017 30. Renoth, J.: Data mining and data analysis in online social networks (2011) 31. Sander, U., Emmert, M., Grobe, T.: Effektivität und Effizienz der Arztsuche mit Arztsuchund Bewertungsportalen und Google. Das Gesundheitswesen 75(06), 397–399 (2012)

Privacy Matters: Detecting Nocuous Patient Data Exposure

89

32. Schaefer, C., Schwarz, S.: Wer findet die besten Ärzte Deutschlands?: Arztbewertungsportale im Internet. Zeitschrift für Evidenz, Fortbildung und Qualität im Gesundheitswesen 104(7), 572–577 (2010). 15 Jahre ÄZQ 33. Strech, D.: Arztbewertungsportale aus ethischer Perspektive. Eine orientierende Analyse. Zeitschrift für Evidenz, Fortbildung und Qualität im Gesundheitswesen 104(8–9), 674–681 (2010) 34. Strech, D., Reimann, S.: Deutschsprachige Arztbewertungsportale. Das Gesundheitswesen 74(08/09), e61–e67 (2012) 35. Sweeney, L.: Simple demographics often identify people uniquely. Health (San Francisco) 671, 1–34 (2000) 36. Sweeney, L.: Achieving k-anonymity privacy protection using generalization and supression. Int. J. Uncertainty, Fuzziness Knowl.-Based Syst. 10(05), 571–588 (2002) 37. Terlutter, R., Bidmon, S., Röttl, J.: Who uses physician-rating websites? differences in sociodemographic variables, psychographic variables, and health status of users and nonusers of physician-rating websites. J. Med. Internet Res. 16(3), e97 (2014) 38. van der Haak, M., Wolff, A., Brandner, R., Drings, P., Wannenmacher, M., Wetter, T.: Data security and protection in cross-institutional electronic patient records. Int. J. Med. Inf. 70(2– 3), 117–130 (2003) 39. Verhoef, L.M., de Belt, T.H.V., Engelen, L.J., Schoonhoven, L., Kool, R.B.: Social media and rating sites as tools to understanding quality of care: a scoping review. J. Med. Internet Res. 16(2), e56 (2014) 40. Wondracek, G., Holz, T., Kirda, E., Kruegel, C.: A practical attack to de-anonymize social network users. In: Proceedings of the IEEE Symposium on Security and Privacy, pp. 223– 238. IEEE, Berkeley/Oakland (2010)

Classifying Cognitive Workload Using Eye Activity and EEG Features in Arithmetic Tasks Magdalena Borys(&), Małgorzata Plechawska-Wójcik, Martyna Wawrzyk, and Kinga Wesołowska Lublin University of Technology, Lublin, Poland {m.borys,m.plechawska}@pollub.pl, {martyna.wawrzyk,kinga.wesolowska}@pollub.edu.pl

Abstract. The paper presents the results of classification of mental states in a study of the cognitive workload based on arithmetic tasks. Different classification methods were applied using features extracted from eye activity and EEG signal. The paper discusses results of two datasets. The first one covers binary classification discriminating between the cognitive workload condition and the no-task control condition. The second one discriminates between three mental states: the high cognitive workload condition, the low cognitive workload condition and the no-task control condition. The results obtained for the first dataset reached the accuracy of 90% with 6 eye-tracking features as input and an SVMs classifier. The second dataset was classified with the maximum accuracy of 73% due to its complexity. Keywords: Cognitive workload Electroencephalography



Classification



Eye-tracking



1 Introduction Cognitive workload is a term defined as a quantitative usage measure of the limited amount of working memory [1]. Measuring cognitive load changes can contribute to better diagnosis and treatment of patients, help design effective strategies to reduce medical errors among clinicians and facilitate user evaluation of any information systems. It is worth indicating that the highest productivity of human cognitive processing is reached if a mental task is within an optimal range. Estimation of cognitive workload, although profitable, is still considered as a difficult task. There are two major kinds of cognitive load evaluation: subjective (non-direct, based on questionnaires) and objective (based on biomedical signal measuring) [2]. Nowadays, however, researchers focus evaluation of mental effort mainly on such techniques as electroencephalography (EEG), eye-tracking (ET) or electrocardiogram (ECG). Among human physiological indices one can find pupil diameter change, duration of fixation and amplitude of saccades, ratio, amplitude and power of specific brain wave components, as well as many others. Composing different features

© Springer International Publishing AG 2017 R. Damaševičius and V. Mikašytė (Eds.): ICIST 2017, CCIS 756, pp. 90–105, 2017. DOI: 10.1007/978-3-319-67642-5_8

Classifying Cognitive Workload Using Eye Activity

91

gives a possibility to receive better results in distinguishing cognitive workload in different type of workload tasks as well as between cognitive workload and relaxation. The aim of the paper is to perform classification of the mental states of the participants of the study. The features applied in the classification were extracted from eye activity and EEG signals. The paper is structured as follows. The second section covers a literature review of research conducted in the cognitive load area. The third one presents the particulars of the experiment, whereas the fourth discusses details of the data analysis process. The measurement of cognitive load is presented in the fifth section and the classification details – in the sixth. The last section discusses the results obtained.

2 Related Work In the literature there are more and more works devoted to assessing cognitive load with objective measures. Once popular, subjective reports and psychophysiological measurements [3, 4] are rarely applied and are useful rather in combination with others, more objective indicators such as EEG, ECG or eye-activity (including eye-movements as well as pupillometry) [5]. 2.1

Statistical Analysis and Relationships

The most popular is statistical and correlation analysis of such features as pupil dilation [6], blink number [7, 8], eye-movement measures (fixation duration and rate, saccade amplitude) or EEG band spectra and pupil diameter size [9, 10]. Some results show that eye-tracking features complement EEG data and ensure comprehensive cognitive load analysis [2, 5]. Also pupillometry measures gain more and more recognition in the context of mental activity [11]. 2.2

Regression Analysis and Supervised Classification

Other papers describe regression analysis [12] and supervised classification. Classifiers such as Gaussian mixture models to determine a level of cognitive load based on blink number, saccade amplitude and pupil dilation [13] or MLP to recognize affective states (stress and relaxation) using pupil diameter [14] were used in former research. Eye-based measures are often combined with other signals. An example of such study can be find in [15], where the GSR signal with blink measures was applied in cognitive load classification using methods like SVMs or Naïve Bayes. Eye activity features are also often linked with EEG data. Classification based on joined features appears to gain better results than classical EEG-based analysis. Example studies cover pupil diameter features and band power EEG analyzed with Naïve Bayes classifier [16]; pupil diameter, blink and fixation duration with the SVM classifier [17]. The literature shows that the most popular classifiers applied in cognitive workload detection are the LDA and SVM methods. They are willingly used in the classification of joined features of pupil dilation and EEG frequency bands (theta, alpha, and beta) [18] as well as in the study of eye-tracking features, pupil dilation and EEG frequency [19]. An often applied

92

M. Borys et al.

classifier in the study of EEG data (such as spectral edge frequency, entropy or wavelet coefficients) complemented with other features (response time) is neural networks, typically the MLP method [20].

3 The Experiment 3.1

Participants

The study was approved by the Research Ethics Committee of Lublin University of Technology (Approval ID 3/2015 from 12 November 2015r) and all participants received verbal and written information about the study. All participants signed an informed consent. Twenty healthy male graduate students (age: 22,8 years with standard deviation of 10 months; education: 1st year of Computer Science Master degree) participated in the study. All were right handed with normal or corrected-to-normal vision, they were not under pharmacological treatment. Participation was voluntary and no compensation was offered. Due to the quality of the EEG recording only 13 participants were selected for further analysis to obtained reliable results. 3.2

Experimental Task

The experiment was composed of eleven intervals, six task intervals (Interval 1: Interval 6) and five break intervals (Break 1:Break 5), run alternately. Each task interval consisted of a series of 17 arithmetic tasks (adding and subtracting integers) of different level of difficulty. This difficulty level rose in each consecutive interval. Interval 1 contained the easiest tasks (adding numbers in the range 1 to 10), whereas Interval 6 covered the hardest ones (adding and subtracting numbers ranging from 20 to 100). Each single arithmetical task was composed of two elements: an arithmetical operation (e.g. 10 + 5) and its result (e.g. 15). The result could be correct or incorrect. A participant was asked to click the left mouse button in case the answer was correct and do nothing in case of incorrect answer. Each arithmetic task was displayed totally for 5500 ms including 1000 ms of delay at the beginning. An arithmetic operation was displayed for 400 ms with a 300 ms delay time before it. The result was displayed for 200 ms after 700 ms delay time before it. The rest of the time was dedicated to the participant’s reaction. In a single task interval there were 6–7 correct answers. All break intervals were the same, displaying an empty white screen with the word “Break” and calming music being played. The purpose of the break was to bring the participants’ mental activities to a normal level and remove any mental effect of the previous set of tasks. 3.3

Procedure

Participants took part in the experiment in quiet conditions in the testing room in Laboratory of Motion Capture and Interface Ergonomics at Lublin University of

Classifying Cognitive Workload Using Eye Activity

93

Technology [21]. The room was illuminated with standard fluorescent light and outside light was blocked to ensure stable conditions for the duration of the experiments. The mean light intensity in the room was 487,4 lx with a standard deviation of 15 lx. The light intensity was measured using digital luxmeter HT309 with accuracy 3% and resolution 0.1. The change of light intensity influenced by stimuli brightness at the level of the participants’ eyes was minimized. The experiment was designed and carried out using the tool dedicated to psychophysics and psychophysiology experiments (PsyTask). The prepared experiment was run directly the EEG recording and analyzing software (EEGStudio). It enabled to synchronize EEG data with stimulus displayed to a participant. The experimenter explained the procedure and left the participant alone to give him a chance to focus on the tasks. The participants were instructed to minimise body movement to reduce potential artefact influence on their EEG signals and to fix (ate) their gaze on the centre of the monitor. The only movement to be performed was mouse clicking. 3.4

ET Data Acquisition

The eye-tracking data were captured simultaneously, but independently of the EEG signal. Eye events as well as pupil diameter size were tracked with binocular eye-tracking glasses (ETG2.0 manufactured by SensoMotoric Instruments) with a sampling rate of 30 Hz each eye and a resolution of 0.01 mm. The ETG2.0 uses video based oculography technique with a dark pupil with corneal reflections method. Each recording was preceded by a 3-point calibration procedure within build-in by manufacturer software. 3.5

EEG Data Acquisition

EEG equipment used in the study consisted of a 21 channel amplifier (Mitsar EEG 201), an electrode cap and dedicated EEG cup gel electrodes. Monopolar average mounting based on ear electrodes was applied. The sampling frequency was 500 Hz. All 21 electrodes were located according to the 10–20 system. The recording procedure covered such initial steps as equipment setting, electrode mounting and impedance testing. Signal recording for each participant was performed as follows. In the first part of the recording the participant was in the resting state – he was asked to sit motionless for a minute with his eyes respectively opened and closed. The second part was dedicated to the main study described in the Experimental task section. The last part of the recording was a repetition of the resting state EEG recording. The resting state recordings are necessary to obtain material for the baseline estimation to determine real differences between participant activity and calm.

4 Data Processing ET and EEG signal processing was composed of several steps presented in Fig. 1 and described in details in the following sections.

94

M. Borys et al.

Fig. 1. Diagram of data processing in the study (source: own work)

4.1

ET Data Processing

Since the eye-tracking data were not synchronised with the stimuli of the experiment, they were synchronised manually based on a video recorded by the ETG2.0 scene camera with a frame rate 30 Hz. All eye-tracking features were calculated as the average over both eyes. Eye related events such as fixations, saccades and blinks as well as pupil diameter were exported from ETG2.0 data recording using the dedicated BeGaze3.6 software. Fixations and saccades were detected using a dispersion-based identification (I-DT) algorithm. The minimum duration window threshold was set to 80 ms and maximum dispersion was set to 100 px). Adjacent fixations were merged and fixations smaller than 80 ms were discarded. Blinks were filtered out of the raw data using the build-in blink identification algorithm. Blinks shorter than 70 ms were discarded. Pupil diameter data were associated with fixation events. Pupil responses (diameter change) were calculated individually for each participant in each interval based on the average pupil diameter size during the first fixation.

Classifying Cognitive Workload Using Eye Activity

4.2

95

EEG Data Processing

Firstly, the Notch filter was applied to remove electrical power artifact from the signal. Then, the signal was filtered to the range of 3–50 Hz. This filtration removed delta and high gamma waves, which were not intended to be included in the analysis. Initially filtered signal was corrected in order to remove unwanted artifacts, such as muscle noise (for example eye blinks or tongue moves), the imperfection of the electrode-skin contact (caused for example by sweating or gel drying) or other problems. In order to eliminate unwanted artifacts, Principal Component Analysis (PCA) method was applied [22]. Two primary PCA components were selected to perform the artifacts correction. Visual inspection of the data was also applied. Next step was dedicated to the selection of the signal fragments with the highest signal-to-noise ratio values. Four fragments of approximately 5 s were selected from each interval. These selected fragments were processed with WinEEG software for further analysis. EEG spectra were generated using FFT for each selected fragment. For the statistical analysis, the values of wave frequency (beta1, beta2, theta and alpha) for electrodes Cz, F3, F4, P3 and P4 were used. Four values from the chosen fragments for each interval were averaged in order to compare the task and break activities. 4.3

Collected Data

As was mentioned, for the purpose of the study the ET and EEG features were calculated individually for the participants at each interval. Each calculated set of values in an interval is considered as a single observation in further analysis. In particular, each observation contains the following ET and EEG features: – Cz_Alpha, … P4_Alpha – alpha dominant frequency from channel Cz, F3, F4, P3 and P4 of the EEG device (in Hz); – Cz_Beta_1, … P4_Beta1 – beta1 dominant frequency from channel Cz, F3, F4, P3 and P4 of the EEG device (in Hz); – Cz_Beta_2, … P4_Beta2 – beta2 dominant frequency from channel Cz, F3, F4, P3 and P4 of the EEG device (in Hz); – Cz_Theta, … P4_Theta – theta dominant frequency from channel Cz, F3, F4, P3 and P4 of the EEG device (in Hz); – Fix_N – fixations number (number of fixation in the interval); – FixDur_Mean, FixDur_Median FixDur_Std, FixDur_Max – mean, median, standard deviation and maximum of fixation duration in the interval (in seconds); – Sacc_N – fixation number (number of fixation in the interval); – SaccDur_Mean, SaccDur_Median, SaccDur_Std, SaccDur_Max – mean, median, standard deviation and maximum of saccade duration in the interval (in seconds); – SaccAmp_Mean, SaccAmp_Median, SaccAmp_Max – mean, median and maximum of saccade amplitude in the interval (in degrees); – SaccAccel_Mean, SaccAccel_Median, SaccAccel_Max – mean, median and maximum of saccade acceleration in the interval (in degrees/s2); – PD_Mean, PD_Median, PD_Std, PD_Max, PD_Skewness, PD_Kurtosis – mean, median, standard deviation, maximum, skewness and kurtosis of normalised pupil diameter in the interval (in mm);

96

M. Borys et al.

– Blinks_N – blink number (number of blinks in the interval); – BlinksDur_Mean, BlinksDur_Median, BlinksDur_Std, BlinksDur_Max – mean, median, standard deviation and maximum of blink duration in the interval (in seconds); – BlinksDur_Total – total time of eye closure during blinks in the interval (in seconds). Since some participants closed their eyes to relax during the break intervals (despite the instructions), the eye-tracking data for those observations can distorts the results of analysis and should be treated as outliers. That is why the observations where for more than 20% of interval duration a participant has his eyes closed (the value of BlinksDur_Total feature), as well other outliers, were excluded from further analysis. A total of 115 observations with 48 presented features constructed Dataset 1 and Dataset 2 (described in next section) and were applied in the analysis.

5 Cognitive Load Measurement The statistical test was applied to assess discrimination ability of each feature as well as the relationships between features to reduce the dimension of the applied classification model. The statistical analysis was performed for two sets of data. The purpose of the first dataset (Dataset 1) was to discriminate between two mental states: the cognitive workload condition and the no-task control condition. Therefore each observation data representing the task interval was labelled as “1” (cognitive workload condition) and representing the break interval as “0” (no-task control condition, in which participants were asked to remain relaxed). The purpose of the second dataset (Dataset 2) was to discriminate between three mental states: a high cognitive workload condition, a low cognitive workload condition and a no-task control condition. The data assignment to label “0” (no-task control condition) remained the same as in Dataset 1, but all data observations representing task intervals were classed based on its cognitive workload level (assessed by participants’ mean response time). In contrast to other studies, in which the task difficulty level (and therefore the cognitive workload level) were assigned based on the subjective ratings [13, 15, 16] or arbitrary classification [23], to class each interval (but not observation) the mean response time to stimuli was used. The analysis of variance (ANOVA) with the significance level of 5% showed that in triples of task intervals (1–3–5 and 7–9–11) there are no significant differences in the mean values of the mean response time variable (mean response time did follow the normal distribution). The pairs of intervals 1–9, 1– 11, 3–11, 5–7, 5–9, 5–11 were found significantly different using Fisher’s Least Significant Differences method with the significance level of 5%. Both datasets are imbalanced. In Dataset 1 there are approximately 37% of “0” samples and 63% of “1” samples, while in Dataset 2 there are approximately 32% of “1” samples, 31% of “2” samples and 37% of “0” samples.

Classifying Cognitive Workload Using Eye Activity

5.1

97

Dataset 1

The major features for both classes (“0” and “1”) do not follow the normal distribution (tested using Shapiro-Wilk normality test with significance level of 5%), so the non-parametric statistical methods were applied. The correlation between 48 calculated features and the class variable were measured using Spearman’s rank correlation coefficient. As many as 19 features turned out to be correlated with the class variable with the significance level of 5%, where the strongest correlation coefficient was detected for features based on blinks duration. The analysis of Spearman’s rank correlation coefficient between all features revealed also several almost perfect correlations (rho > 0.9) in pairs such as: Fix_N– FixDur_Mean (rho = −0,99), Fix_N–FixDur_Std, FixDur_Mean–FixDur_Std, FixDur_Max–FixDur_Std, PD_Mean–PD_Median (rho = 0,98), BlinksDur_Max– BlinksDur_Std; as well as many other strong correlations between ET features. The correlation between the features does not surprise, since the eye-movements are connected (e.g. the number of fixations can suggests the number of saccades) as well as eye-movement features (e.g. the longer the duration of a saccade, the higher its amplitude and the greater its acceleration). Moreover, to investigate the differences between independent groups (two mental state classes) the Mann-Whitney U test and the Kolmogorov-Smirnov test were used. The Mann-Whitney U test found statistical differences in medians of 22 features (4 EEG and 18 ET) while the Kolmogorov-Smirnov found statistical differences in empirical distribution functions of 17 (1 EEG and 16 ET) features between classes with the significance level of 5%. Among those features in which statistical difference between classes was found, 15 features were the same. All features identified as significantly different between classes in the Mann-Whitney U test were consistent with the Spearman correlation results. The statistical significance proved that a relationship observed in the data occurred not by chance, therefore the data can be used to build a classifier for automated cognitive workload level identification. 5.2

Dataset 2

As in the previous dataset, the major features for the three groups do not follow the normal distribution (again tested using Shapiro-Wilk normality test with significance level of 5%), thus the non-parametric statistical methods were applied. The correlation between 48 calculated features and the class variable were measured using Spearman’s rank correlation coefficient. While 14 features were correlated with the class variable with the significance level of 5%, the moderated correlation (with rho > 0.4) was detected for 2 features based on fixation duration (the highest relationship was for FixDur_Max, where rho = −0.49) and 2 features based on blink duration. Only one correlation with an EEG feature (Cz_Alpha) was found as significant, but the relationship is rather weak. The analysis of Spearman’s rank correlation coefficient between all features is presented in Sect. 5.2. To examine the differences between multi groups, the nonparametric equivalents to analysis of variance were used. The Kruskal-Wallis analysis of ranks indicated the statistically significant difference in at least one group distribution for 24 features

98

M. Borys et al.

(including all those correlated with a class variable except Cz_Alpha) with the significance level of 5%. The Median test showed that 17 features had statistically significant differences in medians of class populations with the significance level of 5%. Among those features are all those correlated with a class variable (except Cz_Alpha, Fix_N and FixDur_Mean). Analogically, the statistical significance gave proof that a relationship observed in the data occurred not by chance.

6 Cognitive Load Classification Data from Dataset 1 and Dataset 2 was used to train and evaluate a set of classifiers. The different classifiers were selected in order to compare different approaches presented in other scientific works. The implementation of the following classifiers in MATLAB R2016a Statistics and Machine Learning Toolbox were used: – – – –

Decision Trees (with maximum number of splits: 4, 20 and 100) [24]. Discriminant Analysis (linear and quadratic) [25, 26]. Logistic Regression [27]. Support Vector Machines, SVMs (with kernels: linear, quadratic, cubic or Gaussian, multiclass method: one-vs-one and box constraint level: 1) [28]. – k-Nearest Neighbour Classifiers, k-NN (with Euclidean distance metric and number of neighbours is set to 1, 10 and 100; with Euclidean distance metric using a distance weight and the number of neighbours is set to 10; with Cosine distance number of neighbours is set to 10 and with cubic distance number of neighbours set to 10) [29]. – Ensemble Classifiers (Boosted Trees, Bagged Trees, Subspace Discriminant, Subspace k-NN, RUSBoost Trees; accordingly with maximum number of splits: 20, number of learners: 30 and learning rate: 0.1) [30–32].

For all k-NN and SVMs classifiers the data were standardised. Taking into account the small size of the datasets, to evaluate and compare the accuracy of the predictive model 5-fold cross-validation was used in the study. As mentioned in Sects. 5.1 and 5.2, the major features do not follow the normal distribution, therefore the linear discriminant analysis (LDA) could not be applied to find the combination of features that separates two classes and then reduce the dimension of the classification model. Moreover, the response (class feature) has a categorical type in both datasets, therefore the Chi-squared test was used to select a subset of features with reasonable predictive power. 6.1

Dataset 1 – Binary Classification

The 12 features were indicated as the key features for binary classification in the feature selection process using the Chi-squared test with the significance level of 1%. All were eye-tracking based features, among which most were related to blinks (4 features), the number of fixations and fixation duration (3), saccade duration and amplitude (2) as well as pupil diameter (2). In addition, the feature selection performed using same test with the significance level of 5% indicated 20 features (among them 3 EEG features:

Classifying Cognitive Workload Using Eye Activity

99

P3_Theta, Cz_Beta2 and P4_Theta) as the best predictors (key variables for classification). Taking into consideration the results of the feature selection process, several classification models were built and compared. Table 1 shows the results of classification using different sets of features with the classifiers that performed with the highest accuracy for those sets. To compare the classification models the accuracy, area under curve (AUC) as well as positive predictive values (PPV) for classes “0” and “1” were calculated. The Bagged Trees classifier performed the best among other classifiers with all dataset features, all the key features identified with the Chi-squared test with the significance level of 5% as well as only with the eye-tracking based best predictors. While the accuracy of all sets of features was almost the same, the reduction of a set’s dimensions in the models increased the precision to identify class “1”. The classification model with only EEG features identified as the best predictors allowed to achieve 74% of accuracy, which is less than in the model with only the BlinksDur_Max feature included. The best predictors identified with the Chi-squared test with the significance level of 1% allow to achieve the accuracy at 90% (with precision = 93.1%, sensitivity = 91.8% and specificity = 88% in the classifying of cognitive workload condition) with the nearest neighbours algorithm with the most commonly used Euclidean distance and a single nearest neighbour (k = 1). The same accuracy (but with precision = 90.8%, sensitivity = 94.5% and specificity = 83.35% in the classifying of cognitive workload condition) was achieved for the set with the number of features reduced to 6 (by discarding the features with a high correlation with the already included ones). However, in this case, the SVMs with Quadratic kernel were used as classifier and achieved a higher value of AUC. Additionally, to ensure that the high accuracy of classification models does not dependent only on blink duration based features and specific participants behaviour during break intervals, a classification founded only on fixation, saccade and pupil diameter based features was performed. The model with 7 features reached almost 90% of accuracy (precision = 90.5%, sensitivity = 91.8% and specificity = 84.1% in the classifying of cognitive workload condition), but it had a slightly lower precision in predicting class “0”. 6.2

Dataset 2 – Multiclass Classification

In the feature selection process, the 13 features were indicated as the best predictors for multiclass classification using the Chi-squared test with the significance level of 1%. All predictors are very similar to those in binary classification, but additionally the saccade acceleration median was revealed as significant. In addition, the Chi-squared test performed with the significance level of 5% indicated 21 features (among them 4 EEG features: Cz_Beta2, Cz_Beta1, P3_Theta, and Cz_Alpha) as key for the classification. Table 2 shows the results of classification using different sets of features with the classifiers that performs with the highest accuracy for those sets. Similarly, to compare the classifiers and sets of features, the accuracy as well as positive predictive values for classes “0”, “1” and “2” are reported. The highest accuracy was reached for the k-NN

100

M. Borys et al. Table 1. The results of classification on different sets of features

Features used in a model

Classifier

Accuracy

AUC

All 48 features The best predictors with p-value < 0.05 (20 features) Only ET based the best predictors with p-value < 0.05 (17 features) Only ET based the best predictors with p-value < 0.05 (17 features) Only EEG based the best predictors with p-value < 0.05 (3 features)

Bagged Trees Bagged Trees

85.2% 87%

Bagged Trees

The best predictors with p-value < 0.01 (12 features) BlinksDur_Max BlinksDur_Max, SaccAmp_Mean BlinksDur_Max, SaccAmp_Mean, FixDur_Max BlinksDur_Max, SaccAmp_Mean, FixDur_Max, PD_Std PD_Std, BlinkDur_Max, SaccAmp_Mean, FixDur_Max, SaccDur_Std, SaccAmp_Median SaccAmp_Mean SaccAmp_Mean, FixDur_Max SaccAmp_Mean, FixDur_Max, PD_Std Fix_N, FixDur_Max, FixDur_Std, SaccDur_Std, SaccAmp_Mean, PD_Std, PD_Max

0.93 0.93

PPV for “0” 88% 85%

PPV for “1” 84% 88%

86.1%

0.93

84%

87%

RUSBoosted

88.7%

0.91

81%

94%

Quadratic Discriminant with diagonal covariance regularisation KNN with the Euclidean distance, k=1 KNN with cosine distance, k = 10 SVMs with Gaussian kernel Bagged Trees

73.9%

0.66

73%

74%

90.4%

0.90

86%

93%

78.3%

0.71

79%

78%

82.6%

0.8

81%

84%

88.7%

0.90

85%

91%

SVMs with Quadratic kernel

88.7%

0.93

91%

88%

SVMs with Quadratic kernel

90.4%

0.93

90%

91%

Linear Discriminant Logistic Regression Quadratic Discriminant k-NN with the Euclidean distance, k=1

73,9%

0.63

80%

73%

80.9%

0.79

86%

79%

82.6%

0.83

89%

80%

88.7%

0.88

85%

91%

Classifying Cognitive Workload Using Eye Activity

101

Table 2. The results of classification on different sets of features Features used in a model

Classifier

Accuracy

All 48 features The best predictors with p-value < 0.05 (21 features) Only ET based the best predictors with p-value < 0.05 (17 features)

Bagged Trees Bagged Trees

Only EEG based the best predictors with p-value < 0.05 (4 features) The best predictors with p-value < 0.01 (13 features) SaccAmp_Mean SaccAmp_Mean, BlinksDur_Max, PD_Std, PD_Max, FixDur_Max, SaccAccel_Median, SaccDur_Mean, SaccAmp_Max, Fix_N, SaccDur_Median, SacccDur_Max, FixDur_Mean

63.5% 71.3%

PPV for “0” 71% 77%

PPV for “1” 63% 67%

PPV for “2” 52% 70%

k-NN with the Euclidean distance, distance weight: squared inverse, k = 10 k-NN with the Euclidean distance, k=1

73%

97%

64%

66%

50.4%

53%

43%

55%

Bagged Trees

71.3%

79%

65%

69%

Quadratic Discriminant k-NN with the Euclidean distance, distance weight: squared inverse, k = 10

55.7%

73%

48%

55%

69.6%

97%

60%

60%

classifier and the set of 17 best predictors based on eye-tracking features. The accuracy in the model is the highest thanks to perfect discrimination of class “0” (as positive predictive values show). A slightly lower accuracy, but better prediction precision (PPV) for all the classes is obtained by the models with the Bagged Trees method and the set of 13 best predictors (or 21). As presented in Table 3, the false discoveries occur mainly between observations from class “1” and “2”, but as the false discovery rate (FDR) shows the rate of type I errors is the highest for class “1”. Furthermore, in all models the observations from class “2” are more often falsely classified as “0” than observations from class. Additionally, the classification of class “0” has still the best precision.

102

M. Borys et al.

True class

Table 3. PPV and FDR for Bagged Trees classifier and the set of 13 best predictors/features

0 1 2

0 79% 9% 12%

Predicted class 1 13% 65% 23%

2 9% 22% 69%

PPV FDR

79% 21%

65% 35%

69% 31%

7 Discussion and Conclusions The results of classification for both datasets show that it is possible to discriminate between mental states. The binary classification of Dataset 1, discriminating between the cognitive workload condition and the no-task control condition, achieved the accuracy of 90% with 6 eye-tracking features as input and the SVMs classifier. A similar accuracy was also obtained by the classification model with a simpler k-NN classifier and 12 eye-tracking features as input, but in this model the positive prediction rate for the cognitive workload condition was slightly higher than the positive prediction rate for the no-task control condition. In this case, the achieved accuracy was satisfactory. Moreover, the relationships between features allowed to reduce the dimension of the classification model. On the other hand, the multiclass classification of Dataset 2, discriminating between three mental states: a high cognitive workload condition, a low cognitive workload condition and a no-task control condition, achieved much lower accuracy due to its complexity. The maximum accuracy was 73% and was obtained for a model with the k-NN classifier and 17 eye-tracking features as input. Although the model has very high positive prediction rate for a no-task control condition, it works poorly in distinguishing between two cognitive workload conditions. For this reason, the classification model based on the Bagged Trees algorithm and a set of 13 features, identified as the key predictors with p-value < 0.01, is better for classing all states. For Dataset 2 the process of dimension reduction did not provide expected results. Moreover, the results of classification show the selection of the classification model depends on classification purpose. The best accuracy of the model does not always provide expected precision to classify the selected class or classes. It is difficult to directly compare obtained results with other works since they compared different cognitive load levels (e.g. low-high, low-medium-high) without resting (no cognitive workload condition). The binary classification between affective states such as relaxation and stress presented in the work of Ren et al. [14] achieved the highest accuracy of 84%. Furthermore, in multiclass classification all models more often falsely classified the observations with a high cognitive workload condition as a no-task control condition, than observations with a low cognitive workload condition as a no-task control condition, which shows more similarity between a high cognitive workload condition and

Classifying Cognitive Workload Using Eye Activity

103

a no-task control condition. It could be explained by the fact that some participants, especially in the last task interval, were fatigued and stopped to perform the arithmetic tasks. The same problem occurred during the previous designed case study and was addressed by simplifying the tasks, but apparently insufficiently for all participants. Some insights may be provided by analysis of not only the participants’ reaction time, but also their number of errors in the interval. Therefore, the high and low cognitive workload condition should be assigned to an interval based on more complex analysis than only on reaction time. Another issue was participants’ eye closure during break intervals. The participants were asked to look at the centre of the computer screen with the word “Break” on it, however some of them closed their eyes to relax. Therefore, some observations had to be excluded from the analysis. To address that problem an additional warning sound could be provided when a participant looks away, as mention in another work [12]. However, with the presented hardware setup (mobile eye-tracking glasses) it was not possible. Nevertheless, to ensure that classification as a no-task control condition (and thus break intervals) does not depend on features related to blinks, additional classification was provided without those features as a input. All participants performed the experimentation under similar stable lighting condition (fluorescent light) and during the whole experiment the light intensity of the computer screen was the same, but the participants could freely move their heads. That could affect their visual angle and change the intensity (luminance) of the light that fell on the eye. For that reason, the pupil diameter, otherwise recognised as a good indicator of cognitive workload, in the present study proved to be a weaker predictor than eye event related features. Finally, none of the included EEG features was included as an input in the classification models with the best accuracy. The explanation may be the fact that EEG features were calculated as a dominant frequency for each waveform, and maybe another EEG measure could provide more distinction between mental states. Other issues may be the signal artifacts caused by the participants’ movements since as many as 7 participants’ data were excluded from analysis due to the noisy EEG signal. Increasing the number of participants in the study would allow to obtained more observations without noisy EEG signal and thus overcome those limitations. The obtained results might be considered as exploratory work and cannot be treated as final. Additional investigation about classifier parameter’s selection with the extended dataset is needed. What is more, more extended studies are necessary to provide proper validation of model accuracy and flexibility.

References 1. Gevins, A., Smith, M.E., McEvoy, L., Yu, D.: High-resolution EEG mapping of cortical activation related to working memory: effects of task difficulty, type of processing, and practice. Cereb. Cortex 7, 374–385 (1997). doi:10.1093/cercor/7.4.374 2. Kruger, J., Doherty, S.: Measuring cognitive load in the presence of educational video: towards a multimodal methodology. Australas. J. Educ. Technol. 32, 19–31 (2016). doi:10. 14742/ajet.3084

104

M. Borys et al.

3. O’Donnell, R.D., Eggemeier, F.T.: Workload assessment methodology. In: Handbook of Perception and Human Performance. Cognitive Processes and Performance, vol. 2. Wiley (1986) 4. Tsang, P.S., Vidulich, M.A.: Mental workload and situation awareness. In: Handbook of Human Factors and Ergonomics, 3rd edn., pp. 243–268. Wiley Online Library (2006) 5. Matthews, G., Reinerman-Jones, L.E., Barber, D.J., Abich IV, J.: The psychometrics of mental workload: multiple measures are sensitive but divergent. Hum. Factors 57, 125–143 (2015) 6. Marshall, S.P.: The index of cognitive activity: measuring cognitive workload. In: Proceedings of IEEE 7th Conference on Human Factors and Power Plants, pp. 5–9 (2002). doi:10.1109/HFPP.2002.1042860 7. Chen, S., Epps, J., Ruiz, N., Chen, F.: Eye activity as a measure of human mental effort in HCI. In: Proceedings of the 16th International Conference on Intelligent User Interfaces, pp. 315–318. ACM, New York (2011) 8. Kiefer, P., Giannopoulos, I., Duchowski, A., Raubal, M.: Measuring cognitive load for map tasks through pupil diameter. In: Miller, J.A., O’Sullivan, D., Wiegand, N. (eds.) GIScience 2016. LNCS, vol. 9927, pp. 323–337. Springer, Cham (2016). doi:10.1007/978-3-31945738-3_21 9. Savage, S.W., Potter, D.D., Tatler, B.W.: Does preoccupation impair hazard perception? A simultaneous EEG and eye tracking study. Transp. Res. Part F Traffic Psychol. Behav. 17, 52–62 (2013) 10. Kruger, J.-L., Hefer, E., Matthew, G.: Measuring the impact of subtitles on cognitive load: eye tracking and dynamic audiovisual texts. In: Proceedings of Eye Tracking South Africa, pp. 6–11 (2013) 11. Ren, P., Barreto, A., Huang, J., Gao, Y., Ortega, F.R., Adjouadi, M.: Off-line and on-line stress detection through processing of the pupil diameter signal. Ann. Biomed. Eng. 42, 162– 176 (2014). doi:10.1007/s10439-013-0880-9 12. Ryu, K., Myung, R.: Evaluation of mental workload with a combined measure based on physiological indices during a dual task of tracking and mental arithmetic. Int. J. Ind. Ergon. 35, 991–1009 (2005). doi:10.1016/j.ergon.2005.04.005 13. Chen, S., Epps, J.: Automatic classification of eye activity for cognitive load measurement with emotion interference. Comput. Methods Programs Biomed. 110, 111–124 (2013). doi:10.1016/j.cmpb.2012.10.021 14. Ren, P., Barreto, A., Gao, Y., Adjouadi, M., Member, S.S., Barreto, A., Member, S.S.: Affective assessment by digital processing of the pupil diameter. IEEE Trans. Affect. Comput. 4, 2–14 (2013). doi:10.1109/T-AFFC.2012.25 15. Nourbakhsh, N., Wang, Y., Chen, F.: GSR and blink features for cognitive load classification. In: Kotzé, P., Marsden, G., Lindgaard, G., Wesson, J., Winckler, M. (eds.) INTERACT 2013. LNCS, vol. 8117, pp. 159–166. Springer, Heidelberg (2013). doi:10. 1007/978-3-642-40483-2_11 16. Haapalainen, E., Kim, S., Forlizzi, J.F., Dey, A.K.: Psycho-physiological measures for assessing cognitive load. In: Proceedings of the 12th ACM International Conference on Ubiquitous Computing, pp. 301–310. ACM, New York (2010) 17. Halverson, T., Estepp, J., Christensen, J., Monnin, J.: Classifying workload with eye movements in a complex task. Proc. Hum. Factors Ergon. Soc. Annu. Meet. 56, 168–172 (2012) 18. Rozado, D., Duenser, A.: Combining EEG with pupillometry to improve cognitive workload detection. Computer (Long. Beach. Calif) 48, 18–25 (2016). doi:10.1109/MC.2015.314

Classifying Cognitive Workload Using Eye Activity

105

19. Lobo, J.L., Del Ser, J., Moravek, Z., De Simone, F., Presta, R., Collina, S.: Cognitive workload classification using eye-tracking and EEG data. In: Proceedings of the International Conference on Human-Computer Interaction in Aerospace, pp. 16:1–16:8. ACM, New York (2016) 20. Zarjam, P., Epps, J., Lovell, N.H.: Beyond subjective self-rating: EEG signal classification of cognitive workload (2015) 21. Skublewska-Paszkowska, M., Łukasik, E., Smołka, J., Miłosz, M., Plechawska-Wójcik, M., Borys, M., Dzieńkowski, M.: Comprehensive measurements of human motion parameters in research projects. In: Candel Torres, I., Gomez Chova, L., Lopez Martinez, A. (eds.) INTED2016 Proceedings, pp. 8597–8605. IATED Academy (2016) 22. Jolliffe, I.: Principal component analysis. Wiley Online Library (2002) 23. Kumar, N., Kumar, J.: Measurement of cognitive load in HCI systems using EEG power spectrum: an experimental study. Procedia - Procedia Comput. Sci. 84, 70–78 (2016). doi:10.1016/j.procs.2016.04.068 24. Breiman, L., Friedman, J., Stone, C.J., Olshen, R.A.: Classification and Regression Trees. CRC Press, New York (1984) 25. Fisher, R.A.: The use of multiple measurements in taxonomic problems. Ann. Eugen. 7, 179–188 (1936) 26. Krzanowski, W.J.: Principles of Multivariate Analysis: A User’s Perspective. Clarendon, Oxford (1988) 27. Friedman, J., Hastie, T., Tibshirani, R., et al.: Additive logistic regression: a statistical view of boosting (with discussion and a rejoinder by the authors). Ann. Stat. 28, 337–407 (2000) 28. Christianini, N., Shawe-Taylor, J.: An Introduction to Support Vector Machines and Other Kernel-Based Learning Methods. Cambridge University Press, Cambridge (2000) 29. Mitchell, T.M., et al.: Machine learning (1997) 30. Mason, L., Baxter, J., Bartlett, P.L., Frean, M.R.: Boosting algorithms as gradient descent. In: NIPS, pp. 512–518 (1999) 31. Breiman, L.: Bagging predictors. Mach. Learn. 24, 123–140 (1996) 32. Ho, T.K.: The random subspace method for constructing decision forests. IEEE Trans. Pattern Anal. Mach. Intell. 20, 832–844 (1998)

Evaluating Electronic Health Records Interoperability Fadoua Khennou1(&), Youness Idrissi Khamlichi2, and Nour El Houda Chaoui1 1

TTI Laboratory, Higher School of Technology, Sidi Mohamed Ben Abdellah University, Fes, Morocco {fadoua.khennou,houda.chaoui}@usmba.ac.ma 2 REIS Laboratory, Faculty of Science and Technology, Sidi Mohamed Ben Abdellah University, Fes, Morocco [email protected]

Abstract. Nowadays, ensuring clinical interoperability is considered a challenging situation for health practitioners. This is due to the development of an excessive amount of electronic health record (Ehr) softwares, which do not consider the integration of the interoperability modules at an early stage. Actually, many isolated solutions are present and are unable to exchange data with other systems. Instead of presenting new distinct solutions in terms of modeling, storage and processing techniques, we need to shed light and upgrade their current capabilities in order to end up with compatible platforms. In this paper, we formalize and assess the interoperability concept in regards to the health sector. Our approach is an extended version of the legacy Levels of Information Systems Interoperability Model (LISI), which was originally designed in the context of The Joint Task Force (JTF) system. Through this, we define representative metrics that have to be achieved within an Ehr, and classify them according to semantical, syntactic and technological attributes. The model revealed meaningful results in firstly measuring the level of the interoperability then generating a matrix profile able to display the main gaps and shortfalls need to be enhanced so as to attain a mature stage. Keywords: Clinical interoperability  Electronic health record  Levels of Information Systems Interoperability Model (LISI)  Semantical  Syntactic  Technical

1 Introduction Electronic health record systems are designed to contain and share information from all providers. Their main purpose is to enable, for physicians and health care professionals, access unstructured data, perform rapid interventions and quality follow-up with their patients. In addition to that, their integration allows patients and health care providers to securely access and share medical information from their medical records electronically. While an electronic medical record is represented just as a digital version of © Springer International Publishing AG 2017 R. Damaševičius and V. Mikašytė (Eds.): ICIST 2017, CCIS 756, pp. 106–118, 2017. DOI: 10.1007/978-3-319-67642-5_9

Evaluating Electronic Health Records Interoperability

107

paper, an electronic health record is much more developed and can provide diversified features. From preliminary interviews, diagnostics, follow-up examinations to treatments, the information flow is always present between different Ehrs. The primary goal behind the implementation of these systems is to improve the patients’ care, accelerate clinical and diagnostic analysis, manage patient history reports, avoid repetitive laboratory tests and overall boost the quality of care within health organisms. However, if this implementation is not followed by interoperability solutions [5] to connect hospitals, community laboratories, clinics and other health institutes, so as to facilitate a secure electronic exchange of applications and clinical data, it will be arduous to take advantage from these systems’ features and their added value. That’s to say, we must define, study and analyze health interoperability metrics, that will help us examine whether two health systems are interoperable or not. For that, the LISI assessment model [4] has been presented and applied for the health sector in order to measure potential interoperability between systems. This prototype approach is beneficial for both researchers and health practitioners. Once applied, it will assist them in suggesting improvement and integrate new semantic, syntactic and technological solutions for their Ehrs.

2 Related Work Peter Drucker said: ‘if you can’t measure it, you can’t improve it’. Actually, the interoperability concept is represented as an abstract term, and because of that many health organisms find difficulties in enhancing it within their Ehr [7]. This has pushed us to think wisely on how to quantify this concept. Unfortunately, there is a very minimal focus on the implementation of a conceptual model that can formalize and measure the interoperability of some given systems. Those that do exist are based only on implementing very specific technical health standard infrastructures, and do not introduce a comprehensive model that can be applied as a general case study. Authors in [8], have presented a comparative study of some legacy interoperability models, which are based on the leveling approach. This was mainly introduced by Levels of Information Systems Interoperability (LISI) and Level on conceptual Interoperability Model (LCIM) [12], both of them can be applied for the classification of interoperability in the fields of applications and systems. While the first approach is based on the study of the technological interconnection of interoperating applications, the second focuses only on the conceptual aspect through the definition of data exchange interfaces between the communicating systems. Another leveling based approach that was proposed by ATHENA [9] (Advanced Technologies for Interoperability of Heterogeneous Enterprise Networks and their Applications) is a maturity model that covers business aspects and services within an independent enterprise. A common drawback that can be noted toward these models, is that they are very limited and did not cover specific modules of interoperability of some actual field of studies such us the healthcare [2]. Yet, even though LISI was conceived in 1990 it has proven to be of considerable value. Introduced by the Department of Defense in the United States of America (DoD), the model proposes not only an interoperability

108

F. Khennou et al.

profile but also a platform for measuring and assessing the degree of potential interoperability between systems. Our main goal throughout this paper is to analyze the methodological process of the LISI model and propose an extended prototype for application to healthcare. To do so, we firstly formalize the concept of interoperability based on semantical, syntactic and technological attributes, evaluate these parameters in regards to the existing systems and generate a system profile matrix. Through this process, we measure the degree of potential data exchange between two given electronic health records and define the major gaps and shortfalls. The reminder of this paper is presented as follows. Section 3 presents a description of the LISI model and its methodological process. Section 4 describes our proposed extended model for application to healthcare. Section 5 sheds light on the implementation of a case study, for the evaluation of some existing electronic medical records. Finally, Section 6 features a conclusion of the study.

3 LISI Interoperability Model The Levels of Information Systems Interoperability (LISI) aims at developing an interoperability profile between independent systems, the correlation of these profiles makes it possible to study the degree of potential interoperability between parties. LISI presents a reference model that defines, measures and estimates the level of interoperability that can be achieved between systems. 3.1

The Reference Model

The reference model (Fig. 1) includes five levels of maturity for interoperability, as well as a set of characteristics described below: • • • • •

Isolated Systems: There is no communication between applications. Connected systems: Applications are connected electronically in a local network. Distributed Systems: Heterogeneous applications can exchange data. Integrated systems: Applications can collaborate in a sophisticated way. Universal systems: The applications and their data are shared within the same organism or between distributed ones in a developed mechanism.

A classification of the interoperability through the LISI approach, is defined under the PAID abbreviation: • P for procedures, reflects the procedures, approaches and standards used to establish information exchange between systems. • A for applications, describes the applications that permit data exchange. • I for infrastructures, outlines the hardware and network platform that insure the interaction between systems. • D for data, describes the formats, protocols and semantic exchange of data. The intersection of the presented interoperability attributes and the five levels of maturity, led to the definition of the reference model presented in Table 1.

Evaluating Electronic Health Records Interoperability

109

Fig. 1. LISI reference model and its related PAID modules [12]

Table 1. The current LISI reference model (LISI 1998) Level of interoperability 4-Enterprise

c b a

3-Domain

2-Functional

1-Connected

0-Isolated

c b a c b a d c b a d c b a 0

Interoperability attributes P A Multi-national Interactive enterprise (cross application) Cross government Govt enterprise Domain level Groupware

I Multiple topologies

D Cross enterprise

Enterprise model World wide networks

Domain models

Common operating environment Program Standards compliant

Desktop automation

Local networks

Program model and advanced data formats

Basic messaging

Single connection

Basic data formats

Site level

System drivers

Access

N/A

Removable media

Media

Manual entry

Private

Control No known interoperability

The background of the PAID concept, was originally conceived in the context of the US task force missions. Each part of the described modules was particularly perceived to enhance system to system interactions. These attributes define a set of components for the commutation of services at each level of sophistication. It helps in specifying the point of weaknesses and gaps within a given architectural system.

110

3.2

F. Khennou et al.

System Profile

The main particularity about the implementation of LISI model lies on its ability to express the outcome, with the calculation of three metrics. These latter allow the definition of the level of interoperability for two operating systems. In this sense, the model assessment was guided by Inspector, a software that was conceived in order to collect and illustrate the features on which two systems could be based on so as to communicate. The first phase of the process concerns the calculation of a generic interoperability level. This refers to the definition of the highest level of maturity, through which a given system can interact with another one in a specific environment. Hence, we calculate the generic level that has been reached for each parameter of the PAID modules. The second stage reflects the measurement of an expected interoperability level, which is accomplished by comparing two systems’ generic level and designating the lowest one. This metric is generally calculated in order to demonstrate the expected level where two systems can operate. At last, a specific interoperability level is needed so as to compare two systems’ detailed implementations and features that are checked in regards to the PAID modules. 3.3

System Interoperability Matrix

The final stage of the implementation of the model depicts a matrix, which takes the generic level as a parameter. The intersection of the values for each couple of systems gives rise to the specific interoperability level. Let’s consider an example of an assessment matrix represented in Table 2. The intersection of the generic levels for system D and system C is represented by the specific level 1c. Furthermore, the expected level is calculated by defining the lowest value for both systems, which is also 1c. Here the LISI model indicates that, if the specific level is equal to the expected one, both systems are able to communicate and operate appropriately. However, if the specific level is less than the expected one, then the communication process is limited and there are some actual differences in the features of the examined systems. At last, if the specific level is higher than the

Table 2. Interoperability LISI matrix

Generic Level

A

B

C

D

E

F

G

2a

1a

1c

2b

3c

2b

1a

A

2a

2a

B C D E F G

1a 1c 2b 3c 2b 1a

1a 1a 2a 2a 2a 1a

2a 1a 1a 1a 1a 2a

1b 1c 2c 2b 1a

2b 2b 2b 2a

3c 1c 1a

2b 1a

1a

Evaluating Electronic Health Records Interoperability

111

expected one, we can say that the communication process is very mature and major capabilities of the PAID modules give the qualification to communicate in a high sophisticated level.

4 Proposed Extended Model In this section, we introduce and analyze the main attributes that define health interoperability, then we describe the process of their integration to the extended prototype based LISI model. 4.1

Health Interoperability Metrics

We can consider an Ehr as interoperable, if it has the ability to operate with other existing or future systems without any barriers. In other words, the interoperability concept is based on a common and explicit understanding of the information exchanged between different partners, and carried out to enable applications exchanging and interpreting information in a homogeneous way. Besides, the workflow has to guarantee an exchange based on three major attributes: semantics, syntax and technology. Semantic The aim is to define a common vocabulary that will be used in electronic health records to name a particular medical concept. Semantic interoperability needs to ensure that the exact meaning of the information exchanged is understandable by any other application. For an electronic healthcare system, this interoperability aspect has to guarantee the development of health reference models, templates and terminologies, allowing formal representation of health data according to international standards. Reference Model A reference model combines various assets and health standards, allowing the definition of a common format between several medical organizations. The benefit, is to improve communication, define the scope, the context of health services and enable the re-use for health programs. In this context, several health standards [3] are adopted e.g. HL7, OpenEHR, EN 13606, EN/ISO 12967, HPRIM. Through these, the modeling of clinical data structures such as medical prescriptions, structured documents, blood pressure results and others can be attained with the use of archetypes or special entities, which are designed specifically to accommodate the concepts of health services. Terminologies and Bindings This concerns a common modeling of health data types by defining terminology systems for an electronic health record. Coding health data entries is a way of using different terminologies and clinical code domains systems [1] e.g. LOINC, SNOMED CT. As for terminology bindings, it refers to the association of terminology components and an information model of a given health standard. Through this, each terminology set or coded value, which corresponds to specific clinical domains, are

112

F. Khennou et al.

mapped to the information model classes and attributes used to describe a medical concept. In this level, semantic interoperability can evolve by incorporating data from varied systems in one place and interpret exchanged data by its relevant meaning. Syntactic This expresses the definition of a common computer formats in order to interconnect various softwares and exchange data. In other words, this requires the definition of a common structure and context between varied medical parties. The syntactic interoperability concerns the way in which data is encoded and formatted. Different formats can be included for sound, photo, image, character encoding, aggregates of several objects and documents formats. In this context, messaging standards are adopted such as Health Level 7, which describes the format for a computerized exchange of clinical data. This leads to the implementation of an open system allowing to assume the heterogeneity of its components. Technical Technical interoperability delineates the integration of communication, network protocols and infrastructural technologies. Here, we can define the characteristics of physical medias allowing the storage of the data, its management, security and migration to other supports. It also maintains the replication of records and documents on distant sites. 4.2

Extended Model

As the LISI model demonstrated a broad use of the profiling concept in order to calculate the level of interoperability between systems, the health sector is among the leading industries that requires an interoperable platform [6, 10], which not only supports an information health system, but also a technological platform able to exchange medical data at different levels. In this vein, it is necessary to classify the general attributes defining the interoperability within an electronic health system. We integrated the interoperability components need to be achieved within an electronic health record system, into the formal model of interoperability LISI. The level of maturity increases according to the attributes related to the semantics, the syntax and the technologies SST used within a health organization. In Table 3, we present our extended LISI model for application to the health sector. 1. Isolated: This level describes an initial primitive layer, though which no interoperability can be distinguished. The latter does not define any communication channel and known to be as “not connected”. 2. Connected: We considered splitting this layer into two parts. The first concerns an elemental communication process of unstructured medical data records such as: clinical notes, prescription paper charts and discharge summaries. The delivery of these documents is based on a basic platform, which does not support any technological structure. The second one defines a first semantical contextualization of data exchanged between small services of a given health institute. 3. Functional: In the third layer, a gradual progression has been demonstrated by an internal local network, allowing a continuous flow of medical data to be stored,

Evaluating Electronic Health Records Interoperability

113

Table 3. The extended prototype of LISI for e-health systems Level of interoperability Enterprise

4

b a

Domain

3

c b

a Functional

2

b

Terminologies, ontologies Standards compliance Health information system Contextualization

a

N/A

0

N/A

b a

Connected

Isolated

1

0

Health interoperability attributes Semantic Syntactic Multi-national Cross enterprise model agreement National Enterprise model agreement Reference model Advanced Electronic health records Terminology Electronic health records bindings (Ehr) Domain based data models Program model (Emr) Advanced data formats

Administration data entry support Clinical notes, prescription paper charts, discharge records, nurse/doctor notes… N/A

Technology Multiple topologies Centralized topology Security compliance Metropolitan network (MAN) Subdomains network Web based access Local network (LAN) Single connection Basic messaging N/A

queried and manipulated. This consists of using web services, databases, Electronic Medical Records to store, process and model a Health Information System (HIS). 4. Domain: Here we attain a high level of maturity, since we recognize a partial or complete integration of health standards for instance: OpenEHR, HL7, HPRIM and others. The domain level can be earned by implementing an Electronic Health Record using common clinical code domains, health terminologies and ontologies. As for ensuring an integral exchange between different medical domains, we note the integration of security and privacy modules in the Ehr system. 5. Enterprise: The last layer allows to define a communication process at a high level. It consists of ensuring a centralized or distributed architecture of several connected Ehr coming from myriad health organizations. Semantically, this can be carried out through a formalization of a national or international standard allowing to regroup major health procedures. Through the presented prototype (see Fig. 2), we apprehend that in order to communicate at a mature level, it is necessary to acquire procedures, health standards, technologies and primordial methods to meet the three major criterion of health interpretability. Therefore, this makes it easy to define the current state of a given medical organization and improve it by acknowledging the SST modules.

114

F. Khennou et al.

Fig. 2. Extended (SST) metrics for application to healthcare

5 Evaluation In this part of our paper, we emphasize on the implementation of the described approach, using a case study, in order to measure and evaluate health interoperability of some existing Ehrs. 5.1

A Case Study

The first step is the generation of a generic interoperability profile for each presented system. Table 4 summarizes an interoperability profile generated for the OpenEmr project [11]. This is based on the assessment of the main capabilities (SST) that we previously described for the extended prototype. Through an in-depth research analysis, we summarized the key features and usage components of OpenEmr and applied them to the extended prototype. As for its generic interoperability metric, it can be calculated by specifying the highest level of sophistication that can be achieved, using the described system’s components. In this case, the metric is 3a which is a result of the lowest value of the defined SST (S:3a, S:3a, T:3c). We applied the same process for a sample of some existing Emrs and Ehrs [13]. Table 5, outlines the results of their reported generic level. While the generic level measures only the value that corresponds to each particular system, the expected and specific levels calculate the degree by assembling two distinct electronic health records. Meaning, we compare the ability of two systems to operate and exchange data in a specific level of sophistication. Figure 3, displays the generated assessment matrix of the presented Ehrs. Here, the matrix indicates the specific level of interoperability resulting from the comparison of distinct electronic health records. By doing so, we can summarize the gaps and shortfalls need to be enhanced for each Ehr.

Evaluating Electronic Health Records Interoperability

115

Table 4. The generic interoperability profile (OpenEmr) Level of in-

Health Interoperability Attributes

teroperability Enterprise

4

Semantic b

Multinational agree-

Syntactic

Technology

Cross enterprise

Multiple topolo-

model

ment

a

National

Enterprise model

agreement

Domain

3

c

Reference

Advanced Electronic health

model

b

Terminology bindings

a

Functional

2

b

ICD-9 ICD-10 SNOMED RxNorm SNOMED Standards

records

Centralized topology HIPAA Metropolitan net-

Electronic health records

work (MAN)

Domain based data models

Subdomains network

Medical practice manage-

compliance

a

gies

HTTP

ment software

Health information

Advanced data formats

Local network (LAN)

system

Connected

1

b

Contextual-

Administration data entry

ization

a

N/A

support Clinical notes, prescription

Single connection Basic messaging

paper charts, discharge records, nurse/doctor notes…

Isolated

0

0

N/A

N/A

Table 5. Generic interoperability level of a sample of Ehr systems Electronic health records A OpenEmr B Cottage Med C Gnuhealth D HospitalOS E OpenEhr

Reported level 3a 2a 3c 2b 4a

N/A

116

F. Khennou et al.

Fig. 3. Specific versus expected level assessment matrix

Fig. 4. Evaluation of interoperability level based on (SST)

The results revealed form the evaluation matrix that, while some Ehrs can communicate in synchronization without barriers (OpenEmr to OpenEhr), others have limited capacities with respect to the SST modules. In fact, if we take for instance OpenEHR and HospitalOS, we note the existence of major gaps (see Fig. 4). This is mainly due to the HospitalOS profiling system, which has lower capabilities in regards to the SST metrics. Hence, in order to improve their exchange, it is necessary to integrate the needed health modules starting from the connected level, as it is the high level of sophistication that HospitalOS has achieved. On the contrary, OpenEHR to OpenEmr link indicates that an exchange of data can be performed without problems, since the specific and the expected level are equivalent. In fact, OpenEHR has a widely developed platform and represents a reference model that allows an easy integration of different health terminologies and ontologies. In this sense, the two Ehrs will operate and share data according to the lowest level which corresponds to the OpenEmr system profile.

Evaluating Electronic Health Records Interoperability

117

As a summary, the Ehr systems can exchange data at the basis of their system profile, which may either meet the requirements of the SST attributes or need to upgrade their capabilities starting from their achieved level.

6 Conclusion In this paper, we presented an evaluation methodology based on LISI interoperability model, through which we proposed a novel prototype for application to the health sector. This was assessed by the integration of the semantic, syntactic and technology (SST) modules. The implementation process allowed the evaluation of some existing electronic health records along with a successful measurement of the interoperability level. At last, an assessment matrix was generated to illustrate the ability of two systems to exchange health data. This study will push researchers to focus more on improving interoperability solutions, rather than conceiving new Ehr softwares with novel distinct technologies. A major perspective of this prototype is the conception of a linear regression model based on the correlation between the (SST) modules, in order to measure precisely the metrics of each defined parameter.

References 1. Aso, S., et al.: Analyzing SNOMED CT and HL7 terminology binding for semantic interoperability on post-genomic clinical trials. Stud. Health Technol. Inform. 192, 980 (2013) 2. Bhartiya, S., Mehrotra, D., Girdhar, A.: Issues in achieving complete interoperability while sharing electronic health records. Procedia Comput. Sci. 78, 192–198 (2016) 3. Ed Hammond, W.: Standards for global health information systems. In: Global Health Informatics, pp. 94–108. Elsevier (2017) 4. C4ISR Architecture Working Group: Levels of Information Systems Interoperability (LISI) (1998) 5. Iroju, O., et al.: Interoperability in healthcare: benefits, challenges and resolutions. Int. J. Innov. Appl. Stud. 3(1), 262–270 (2013) 6. Jaulent, M.-C., et al.: Semantic interoperability challenges to process large amount of data perspectives in forensic and legal medicine. J. Forensic Leg. Med. (2016) 7. Noumeir, R.: Requirements for interoperability in healthcare information systems. J. Healthc. Eng. 3(2), 323–346 (2012) 8. Rezaei, R., Chiew, T.-k., Lee, S.-p.: A review of interoperability assessment models. J. Zhejiang Univ. Sci. C 14(9), 663–681 (2013) 9. Ruggaber, R.: ATHENA - Advanced technologies for interoperability of heterogeneous enterprise networks and their applications. In: Konstantas, D., et al. (eds.) Interoperability of Enterprise Software and Applications, vol. 1, pp. 459–460. Springer, London (2006) 10. Sachdeva, S., Bhalla, S.: Semantic interoperability in standardized electronic health record databases. J. Data Inf. Qual. 3(1), 1–37 (2012)

118

F. Khennou et al.

11. Synitech. openemr/openemr. GitHub. https://github.com/openemr/openemr. Accessed 28 Mar 2017 12. Wang, W., Tolk, A., Wang, W.: The levels of conceptual interoperability model: applying systems engineering principles to M&S. arXiv:0908.0191 [cs] (2009) 13. Zaidan, A.A., et al.: Multi-criteria analysis for OS-EMR software selection problem: a comparative study. Decis. Support Syst. 78, 15–27 (2015)

Implementation and Evaluation of a Decision Support Systems for the Patients of a Laboratory Service Georgy Kopanitsa1,2(&) 1

and Zhanna Kopanitsa1

Institute Cybernetic Center, Tomsk Polytechnic University, Tomsk, Russia [email protected] 2 Tomsk State University for Architecture and Building, Tomsk, Russia

Abstract. The problem of a decision support of a laboratory service patients originates from the fact that in Russia most patients address laboratory services directly without being referred by a doctor. This leads to the problem of interpretation of test results by the patients without sufficient medical background. So, we have a situation when there is no doctor who can professionally interpret the results. This problem can be solved by a laboratory service if it can provide not only the results of the tests but also their interpretations. This task can be delegated to a decision support system, which can automatically generate interpretation reports and send them to the patients. We have implemented and evaluated such a system in the Helix laboratory service in Saint-Petersburg, Russia. Now, it generates about 3500 reports a day. The implementation of the system allowed increasing the number of patients who refer to a doctor after laboratory tests by 14%. A qualitative study with 100 patients demonstrated a high acceptance of the system. The majority (82%) of the patients reported that they trust the system and follow its advice to visit a doctor if necessary. Keywords: Decision support  Laboratory Telemedicine  First order predicates

information

system



1 Introduction Automated decision support systems that have proved their efficiency for doctors can be a good solution for the problem of diagnostics decision support [1]. The experience of development and implementation of decision support systems for doctors shows the efficiency of such solutions for the doctors, however, developers face problems when it comes to the decision support for patients. They require different approach in data presentation and interpretation [8, 9, 14, 15]. Studies [19, 20] have demonstrated that many providers do not have systems, which can ensure that the results of the tests completed reliably communicated to patients. As shown in [5, 26] normal and abnormal test results are commonly missed, even in when a health care system has a wide use of electronic health records (EHRs), and that providers miss 1–10% of abnormal test results. A systematic review made by Callen et al. found that, across 19 published studies, 6.8–62% of lab tests were not followed up on [4]. © Springer International Publishing AG 2017 R. Damaševičius and V. Mikašytė (Eds.): ICIST 2017, CCIS 756, pp. 119–128, 2017. DOI: 10.1007/978-3-319-67642-5_10

120

G. Kopanitsa and Z. Kopanitsa

In a specific situation when a patient directly refers to a laboratory service, one shall be very careful when sending results by mail or providing them on a web portal [11, 13, 17]. It should be presumed that the recipient of the reports will not correctly understand the meaning of the results [10, 12, 16, 21]. So, the ability of the system to deliver information in a way it will be understood by a non-health care professional is crucial to inform motivate a patient refer to a doctor especially in case of abnormal results [4]. Interpretation of test results is a resource consuming task that can delay the results and increase costs of each test [22, 23, 27]. However, this can be done by computer decision support systems that proved to solve such tasks efficiently [24, 25]. So the design and implementation of a decision support system that would generate reports for the patients who referred to a laboratory service without a doctor’s referral can increase motivation and support patients to make better informed decisions to follow up on the results of the tests. The goals of the design and implementation of the decision support system for the patients were to: 1. deliver a personalized tool to inform patients on the results of laboratory tests. 2. empower patients to make informed decision on the tactics of their treatment. 3. help patients understand the doctor and be prepared for a visit. To achieve these goals, we have developed a decision support system that solves a classification problem and defines the following parameters based on the results of laboratory tests: 1. diagnosis (group of diagnoses). 2. recommendations to run other laboratory tests. 3. recommendation to refer to a specialist doctor. This paper presents the development, implementation and evaluation of a decision support system for the patients of a test center.

2 Methods 2.1

Implementation

To achieve the described above goal a decision support system must solve a classification problem by associating a vector of test results to a set of diagnoses and find a set of recommendations associated with every diagnosis from this set. On the next step, we have developed a classification algorithm that has the following possible outcomes: Found a set of diagnoses that can be associated to the results of the laboratory test. No diagnosis found. Found a set of diagnoses, but the system requires extra test or vital signs to choose the proper diagnosis form this set. To organize a communication between the system and an expert we have implemented a knowledge representation language (KRL) that is based on the first order predicate logic [18].

Implementation and Evaluation of a Decision Support Systems

121

After the knowledge representation language was implemented we have developed a graphical user interface to allow experts filling in the knowledge base. For the pilot project, we have chosen a limited set of laboratory tests that could be interpreted by the system to test the feasibility of the approach. We have invited 3 laboratory doctors and 3 specialist doctors (gynecologist, urologist and general practitioner) to fill in the system’s knowledge base. The inference engine if the system generated and sent a patients’ report when all the tests of an order were completed. We did not intend to make the system prescriptive and make the patient come to a specific treatment decision. So we made the generated patients’ reports as descriptive as possible to be rather informative than indicatory. The reports intended to motivate patients refer to a doctor for a consultation. The knowledge representation language, knowledge base and the classification algorithm were developed as a Doctor Ease decision support system, which was implemented in the Helix laboratory service in Saint-Petersburg, Russia. 2.2

Evaluation

Correctness of the decision support To evaluate the correctness of the generated reports a validation of a sample of 256 reports was sent to two independent laboratory service physicians for independent expert review. The results of the review was used to calculate precision ((All terms – Mistakes)/All terms), recall (ratioof true positives to (true positives + false negatives)),  recallprecision and F-measure 2  recall þ precision [7]. All the disagreements between reviewers were

settled by consensus. Cohen’s kappa has been calculated to rate the disagreement between experts [2]. User acceptance To evaluate the user acceptance of the decision support system we have applied a Wilson and Lankton’s model of patients’ acceptance of e-health solutions [23]. The model was applied to measure behavioral intention to use (BI), intrinsic motivation (IM), perceived ease-of-use (PEOU), and perceived usefulness (PU) of the system. BI denotes the intention to use and rely on the decision support system, IM denotes the readiness to use the decision support system without any compensation, PEOU denotes the extent to which the generated reports are clear and understood by the patients, and PU refers to the degree to which the user believes that the use of the system would enhance their experience with laboratory tests. We have applied the method proposed by Davis et al. [6] in the revision of Wilson and Lankton [28] to measure BI, PEOU, and PU. IM was measured using the method provided by Davis et al. [25]. BI measure contained of 2 items whereas IM, PEOU, and PU contained 3 items each. We used Russian translations of the measurement tools made by the research team. To rate each item a Likert scale from 1 (not at all) to 7 (very much). was applied.

122

G. Kopanitsa and Z. Kopanitsa Table 1. Demographic details of the patients

Gender

Average age

28 41.3 Males 32 42.3 Females Total 60

Age >60 Education Higher Secondary Below secondary

IT habits Beginners Intermediate Advanced

8

9

14

5

3

17

8

6

11

18

3

8

4

0

Recruitment Participants were recruited in Saint-Petersburg, Russia. The inclusion criteria were: having experience with the decision support system with at least 5 reports on the test results. Demographic details of the patients are presented in the Table 1. IT literacy of the patients was evaluated based on how often they use PC or Smartphones. The IT literacy was graded from beginners – users that have started using PC within 6 months; intermediate – users of PC at least twice a week; and advanced – for those using PC on the daily basis. Data collection and analysis The participants were asked to complete an online questionnaire. Each participant got an individual link and could work only with one questionnaire. A detailed instruction on how to work with a questionnaire and the meaning of the scale was provided to each participant. GNU Octave was used to calculate statistics of the participants’ general characteristics and user acceptance measurements. The study got the approval by the regional ethics committee. All the participants invited to the study were notified of the objectives of the study and of the purpose of the questionnaires. Each participant was assured, in writing, of their entitlement to anonymity and confidentiality. Written consent was acquired from each participant and each participant was reminded of their entitlement to withdraw data from the study database for up to three months after their approval.

3 Results The developed decision support system has a traditional structure and consists of the following modules: • • • • • • •

Data base; Data extraction system; Knowledge base; Inference engine; Knowledge base editor; Explanation system; Results generator;

Implementation and Evaluation of a Decision Support Systems

Lab tests Data base

Data extraction system

Knowledge base editor

Knowledge base

Data base

Report generator

123

Inference engine

Explanation system

Pdf,xml,Json Fig. 1. Structural scheme of the decision support system

A structural scheme of the system is presented in the Fig. 1. • Each module provides the following functionality to the expert system. • Data base with a dynamical structure stores facts (test results) and intermediate results of the logical inference. The facts are taken from a laboratory information system (LIS). • Knowledge base of the DoctorEase stores expert knowledge and inference rules. • Inference engine applies knowledge and rules form the knowledge base to the facts form the data base to solve the classification task. • Knowledge base editor provides a user interface to define new knowledge and rules. • Explanation system analyses the sequence of the rules to explain how the system achieved the result. The developed decision support system has two main use cases: knowledge acquisition and decision support. Knowledge acquisition mode allows defining inference rules, which are complex objects and each of them adds its element to the resulting inference. The knowledge is defined by associating test results and its reference value to a set of diagnoses. In the decision support mode, the system generates recommendations applying a set of knowledge and rules to the facts that are derived form a LIS data base.

124

G. Kopanitsa and Z. Kopanitsa

DoctorEase decision support system allows creating queries in the language that is closed to natural. The knowledge representation language is based on the first order logic and the predicates and relationships have meaningful names in Russian so the experts can define knowledge and rules using the terminology they are used to. 3.1

Knowledge Base Organization

The structure of the knowledge base of the system is presented in the Fig. 2. On the first step, we define a configuration of a laboratory test, which is a complex object consisting of the parameters that are sufficient to make an inference. • A configuration consists of a laboratory test and inference rules, that can be applied to the test. • A direct rule is an object that is defined for each parameter of a laboratory test along with the conditions for processing these parameters. • Each rule has a list of exclusion rules, which can exclude direct rules from the inference provided that their conditions are true. • Laboratory test is a template that consists of laboratory tests’ components. For example a Complete blood count consists of 22 components. • Laboratory tests are grouped into “orders”, which are commercial units that can be ordered by the patients. • Each rule has a set of conditions that work with comparison operators: =, , includes (>= or == and = threshold Step 9: For each two adjacent regions Step 10: Calculate feature vectors between these two regions. Step 11: Calculate the Euclidean distance between feature vectors. Step 12: Get the two regions with the minimum distance. Step 13: Merge these two regions. Step 14: Calculate variance between regions in the image. Step 15: Stop merging.

Algorithm 1. The Proposed Algorithm Pseudocode

4 Results and Evaluation 4.1

Dataset

MICCAI dataset [16] (Medical Image Computing and Computer Assisted Intervention for Liver Segmentation) is used in our experiments. It’s a grand challenge competition in segmentation called “SLIVER07” which is used in more than 90 research. MICCAI dataset contained a training data that has 20 volumes and a testing data that has 10 volumes. The size of all slices is 512  512. Figure 2 shows sample of the dataset. 4.2

Results

When we apply the algorithm on a sample from the dataset, the resulted image is an over-segmented image. As we illustrate in Sect. 3.2, watershed algorithm always produces an over-segmentation due to noise and surface irregularities. Therefore, we

174

A.S.E.-D. Mohamed et al.

need a post processing operations to overcome the over-segmentation. Region merging is needed. We compute several statistical factors to obtain the overall accuracy and over-segmentation percentage. True positive factor (TP); that means the number of pixels segmented as liver regarding ground truth image, true negative factor (TN); that means the number of pixels segmented as background regarding ground truth image, false positive factor (FP); that means the number of pixels segmented as liver but in ground truth they are background pixels and false negative factor (FN); that means the number of pixels segmented as background but in ground truth they are liver pixels. Overall Accuracy ¼

TP þ TN TP þ TN þ FP þ FN

Over Segmentation ¼

FP TP þ FP

ð3Þ ð4Þ

Table 1 shows true positive percentage, true negative percentage, over-segmentation and the overall accuracy of the developed algorithm when applying on four subsets extracted from the MICCAI dataset. The average of the overall accuracy is 91%. Table 1. Results True positive (TP) True negative (TN) Over segmentation Overall accuracy

Dataset 1 Dataset 2 Dataset 3 Dataset 4 96% 97% 97% 98% 90% 90% 90% 88% 35% 40% 37% 43% 91% 91% 91% 89%

5 Conclusion An automatic algorithm has been developed to segment liver from abdominal CT images. The algorithm is divided into three stages; preprocessing, segmentation and post processing. Watershed segmentation algorithm is used for segmentation process. Due to the over-segmentation problem caused by watershed algorithm, region merging algorithm is applied in the post processing stage. The merging criteria were proposed to maximize the disparity between the liver regions and the background and in the same time to keep the variance of the gray-level in the liver regions under certain threshold. The proposed method produced an accurate segmentation by minimizing the intra-class variance and maximizing the inter-class distance between regions. We used MICCAI dataset for abdominal CT images. The algorithm achieved an average of 91% overall accuracy. For the future work, we proposed to use classification algorithm to classify the liver and get better segmentation results.

Improved Watershed Algorithm for CT Liver Segmentation

175

References 1. World Health Organization. http://www.emro.who.int/media/news/world-hepatitis-day-inegypt-focuses-on-hepatitis-b-and-c-prevention.html. Accessed 17 Mar 2017 2. Salem, M., Atef, A., Salah, A., Shams, M.: Recent survey on medical image segmentation. In: Hassanien, A., Gaber, T. (eds.) Handbook of Research on Machine Learning Innovations and Trends, pp. 424–464. IGI, USA (2017) 3. Mohamed, A.S.E.D., Salem, M.A.M., Hegazy, D., Shedeed, H.A.: Probablistic-based framework for medical CT images segmentation. In: 2015 IEEE Seventh International Conference on Intelligent Computing and Information Systems (ICICIS), pp. 149–155. IEEE, Cairo (2015) 4. Lawankar, M., Sangewar, S., Gugulothu, S.: Segmentation of liver using marker watershed transform algorithm for CT scan images. In: 2016 International Conference on Communication and Signal Processing (ICCSP), pp. 0553–0556. IEEE, Melmaruvathur (2016) 5. Benson, C.C., Deepa, V., Lajish, V.L., Rajamani, K.: Brain tumor segmentation from MR brain images using improved fuzzy c-means clustering and watershed algorithm. In: 2016 International Conference on Advances in Computing, Communications and Informatics (ICACCI), pp. 187–192. IEEE, Jaipur (2016) 6. Avinash, S., Manjunath, K., Kumar, S.S.: An improved image processing analysis for the detection of lung cancer using Gabor filters and watershed segmentation technique. In: 2016 International Conference on Inventive Computation Technologies (ICICT), pp. 1–6. IEEE, Coimbatore (2016) 7. Garg, S., Urooj, S., Vijay, R.: Detection of cervical cancer by using thresholding & watershed segmentation. In: 2015 2nd International Conference on Computing for Sustainable Global Development (INDIACom), pp. 555–559. IEEE, New Delhi (2015) 8. Girish, G.N., Kothari, A.R., Rajan, J.: Automated segmentation of intra-retinal cysts from optical coherence tomography scans using marker controlled watershed transform. In: 2016 38th Annual International Conference of the IEEE Engineering in Medicine and Biology Society (EMBC), pp. 1292–1295. IEEE, Orlando, FL (2016) 9. Wdowiak, M., Slodkowska, J., Markiewicz, T.: Cell segmentation in desmoglein-3 stained specimen microscopic images using GVF and watershed algorithm. In: 2016 17th International Conference Computational Problems of Electrical Engineering (CPEE), pp. 1–3. IEEE, Sandomierz (2016) 10. Wantanajittikul, K., Saekho, S., Phrommintikul, A.: Fully automatic cardiac T2* relaxation time estimation using marker-controlled watershed. In: 2015 IEEE International Conference on Control System, Computing and Engineering (ICCSCE), pp. 377–382. IEEE, George Town (2015) 11. Ouertani, F., Amiri, H., Bettaib, J., Yazidi, R., Salah, A.B: Hybrid segmentation of fluorescent leschmania-infected images using a watershed and combined region merging based method. In: 2016 38th Annual International Conference of the IEEE Engineering in Medicine and Biology Society (EMBC), pp. 3910–3913. IEEE, Orlando, FL (2016) 12. Devi, T.A.M., Benisha, S., Raja, M.M., Kumar, P., Kumar, E.S.: Meyer controlled watershed segmentation on Schistosomiasis in hyper spectral data analysis. In: 2015 International Conference on Control, Instrumentation, Communication and Computational Technologies (ICCICCT), pp. 829–834. IEEE, Kumaracoil (2015) 13. Mostafa, A., Elfattah, M.A., Fouad, A., Hassanien, A.E., Hefny, H., Kim, T.: Region growing segmentation with iterative K-means for CT liver images. In: 2015 4th International Conference on Advanced Information Technology and Sensor Application (AITS), pp. 88– 91. IEEE, Harbin (2015)

176

A.S.E.-D. Mohamed et al.

14. Soille, P.: Morphological Image Analysis: Principles and Applications, 2nd edn. Springer, New York (2003) 15. Deza, E., Deza, M.M.: Encyclopedia of Distances, 1st edn. Springer, Heidelberg (2009) 16. SLIVER07. http://www.sliver07.org. Accessed 26 Mar 2017

Analysis of the Preconditions for Implementation of Nationwide EHR Systems Irena Skrceska1(&), Goran Velinov2, Margita Kon-Popovska2, Marijana Neskovska3, Miroslav Pevac4, Leonid Stoimenov5, Daniela Ivanova Panova6, Berislav Vekic7, and Boro Jakimovski2 1

Faculty of Informatics, European University of Republic of Macedonia, Skopje, Republic of Macedonia [email protected] 2 Faculty of Computer Science and Engineering, Ss. Cyril and Methodius University in Skopje, Skopje, Republic of Macedonia 3 Ministry of Health of Macedonia, Skopje, Republic of Macedonia 4 Ministry of Health of Serbia, Belgrade, Serbia 5 Faculty of Electronic Engineering, University of Niš, Niš, Serbia 6 Medical Faculty, Ss. Cyril and Methodius University in Skopje, Skopje, Macedonia 7 Faculty of Medicine, University of Belgrade, Belgrade, Serbia

Abstract. The implementation of e-Health or EHR systems at national level is a major challenge for any country in the world. This is due to complexity of the architecture of the technical solution, significant number of involved parties – institutions, professionals, patients, etc., but also because of the great changes that are made with the introduction of the system. In order to have successful implementation, i.e. to reach the planned goals and benefits, certain key conditions need to be met. This paper provides a detailed analysis of health and e-health systems in Macedonia (MK) and Serbia (RS) that was used to meet several key prerequisites before or during the implementation of national e-health systems. The undertaken legislative changes are explained and a description of the selected system on conceptual level that most appropriately fits the required prerequisites for the implementation of e-health system is provided. Keywords: National e-Health systems

 EHR

1 Introduction Many countries in the world and almost all countries in Europe have perceived the benefits and need for implementation of national electronic health (e-health) system or national Electronic Health Record (EHR) system as its central part. Different countries have chosen different system models and different approaches to their implementation [1–5].

© Springer International Publishing AG 2017 R. Damaševičius and V. Mikašytė (Eds.): ICIST 2017, CCIS 756, pp. 177–189, 2017. DOI: 10.1007/978-3-319-67642-5_15

178

I. Skrceska et al.

Although research from the World Health Organization (WHO) in 2015 [2] shows that a higher percentage of European countries have implemented a national EHR system, however in many cases these systems do not provide a complete EHR. In different countries the national EHR is implemented at certain levels of care includes only part of national health facilities or covering only certain modules and functionalities. In other words, small number of countries have managed to implement complete national EHR system at all three levels of health care and thus cover all health facilities and institutions. A large number of countries had difficulties in implementation and have encountered a variety of problems that slow down or in the worst case temporarily or permanently stop the implementation process. Although as a barrier to implementation of national e-health or EHR system in up to 50% is considered (1) financing [2] or high planned budgets and most often their surpassing, the problems belong to one of the following categories: (2) problems in defining the objectives and scope of the system (France [4, 7], Britain [3]), (3) problems with the development team (Greece), (4) choice of implementation concept (Italy), (5) timeframe (Britain) - projects lasting a decade or more and (6) laws (Greece). In MK in 2011 and RS in 2015 were initiated projects for the development and implementation of national e-health systems that incorporated EHR systems within. In MK, the project was organized in three phases: Phase one (2011–2012) - booking and referral system; Phase two (2013–2014) - EHR system nationwide and Phase three (2015–2016) - comprehensive national e-health system. In RS the project was conducted in two phases: Phase one (2015) - development; Phase two (2016) - dissemination. Despite numerous challenges and difficulties, stages completed by the end of 2016 were largely successful or fulfilled the planned targets. Thus the deadlines for development and implementation of this type of systems - national e-health systems, were extremely short. In MK national EHR system was launched in less than two years, and within five years was implemented comprehensive national e-health system. Similarly in RS, the implementation of national e-health system, named Integrated Health Information System (IHIS) [17], at the national level (with EHR) was completed in less than a year. In both countries the implemented systems are based on the same e-health platform. What is more important, the projects were being completed within the planned budgets. The effects of the introduction of e-health systems are evident and touch almost all segments of the healthcare systems in both countries. MK national e-health system success story was identified and recognized by the wider European professional community. The country scored significantly high in the healthcare ranking made by European Healthcare Consumer Index (EHCI) in their 2014 [8], 2015 [9], 2016 [10] reports. The success that the system achieved in MK is repeating in RS [13]. The positive effects of the national e-health system implementation in MK were also noted in the WHO eHealth report [2]. Aware of the problems (1–6) in a number of countries, prior to the start of the projects an emphasis was given on meeting the preconditions for starting the projects. As a first step detailed analyses were carried out. This paper is an analysis of health systems in the two countries - the method of operation and connectivity of health facilities, as well as interoperability, roles and responsibilities of central government

Analysis of the Preconditions for Implementation

179

institutions. Analysis is given of the computerization of health facilities of the network of public health facilities. Then a detailed description is provided of the pre-conditions that had to be fulfilled before start of any stage in the implementation of systems. An emphasis is given on changing laws related to e-health and choosing the appropriate model of integrated e-health system nationwide. In section two there is a description of health and e-health systems in both countries, section three is a comparison of the laws in some EU countries regarding e-health and the specifics of the legislation in MK and RS are presented. In the fourth section a description of the conceptual model of a national e-health system is given and finally number five section provides discussion and some conclusions.

2 Health and e-Health Systems in Macedonia and Serbia In order to precisely define the (business) processes that would be covered by a national e-health system, such as for instance, the processes of scheduling and booking, referrals or prescriptions, it is necessary to make detailed analysis of health systems in both countries. Moreover, in order to provide functional integration of health systems in central state institutions, and to define the data flow between them, it is necessary to analyze their roles and interconnectedness. Health systems in RS and MK come from the common system of Yugoslavia [11]. After 25 years, the systems still have many common characteristics but also some significant differences. In Figs. 1 and 2 there is a visual representation of the network of public health facilities in RS and MK. Common features standing out are: the organization of the health system on three levels – primary (I), secondary (II) and tertiary (III) level of health care with institutions at every level having similar responsibilities [12, 13]. The systems are organized to meet the needs of the population throughout the territory and because of that regional approach of organization, some institutions provide services of two levels. For example, GPs/CHC in both countries are set to perform services from primary level, but provide specialist services too, carried out by institutions in the second level (E.g. green color in the GP square). In MK Institutes or Clinical hospitals (CHs) provide specialized consultative care at the secondary level, but educational activities and professional specialization are also carried out which are usually provided in the third level [12] (blue color in the CH squares). Similarly, the five Clinical hospital centers (CHs) in RS provide services defined for secondary and tertiary health care [13]. In Figs. 1 and 2, the numbers represent: doctors, health facilities (in round brackets) and different Hospital Information Systems (HIS) – electronic systems already implemented in the health facilities (in square brackets). The colors of the squares represent that the healthcare facilities use third party IS integrated with the central national e-health system (left side, dark color) or use the central national e-health system through web interface (right side, light color). For example, almost all general practitioners (GPs) in MK and lot of the community health centers (CHCs) in RS use third party IS. Abbreviations Fig. 1: Pharmacies (PH); Gynecologist (GYN); General Practitioners (GP); Laboratories (LAB); Dentistry (DEN); Biomedical Assisted Fertilization, Inpatient Health Care Cardiovascular Surgery, Ophthalmology, Natural

180

I. Skrceska et al.

Fig. 1. Net. of public health institutions in MK

Fig. 2. Net. of public health institutions in RS

Healing, Factory Clinics (OTHER); Institutes (INST); Clinical Hospitals (CH); General Hospital (GH); Specialist - Consultative Health Care Public Health Institutions (SHC); Specialist - Consultative Health Care, Dialysis, Public Health Centers, Dentistry (SCHC); Special Hospitals (SH); Clinical Center (CC). Abbreviations Fig. 2: Community Health Centre (CHC); Health Center and Dispensary (CHD); Immediate Care Departments, Public Health Centers, Social Care Institutes, Hospital Institutions for Health Care Workers, Blood Transfusion Institutes (OTHER); Clinical Hospital Centers (CH); General Hospital (GH); Special Hospitals for/without Rehabilitation, Special Psychiatric Hospital (SHRPH); Health Centers (HCC); Institutes (INST); Clinical Centers (CC). In terms of ownership, in both countries besides the institutions that are state-owned, there is significant number of health facilities in private ownership. In terms of financing, in both countries there is single state (Republic) Health Insurance Fund (RHIF). The institutions that perform public services make agreements with RHIF, which includes them in the network of public health facilities. All state-owned institutions in the two countries are financed by RHIF, based on signed agreements for provision of services of public interest. Private institutions may be included in the network of public health facilities, in such a manner that RHIF contracts out some health services, under the same conditions as with the state institutions. Mostly it is for services not performed in state institutions or in case the state institutions do not have enough capacity (resources) to meet the needs. General impression is that the health system in MK underwent more changes. In terms of ownership, there is a higher number of private health facilities at all three levels of care, involved in the network of the public health system. For example, primary healthcare is privatized - all doctors working in private clinics which have an agreement with RHIF for funding through capitation mechanism. This applies for children’s dentistry, gynecology and pediatrics too. In RS this level of care is still financed within the state public health facilities. Also, in MK there are several private

Analysis of the Preconditions for Implementation

181

hospitals on the second level of health care and dental clinical center on third level, involved in the network of public health facilities. In MK is introduced a model of registration and financing of health services, called Diagnosis Related Groups (DRG), based on the Australian Refined DRG (AR-DRG) version 5.2 [14]. RS still applies the model of funding through block grants. In terms of scheduling the examination with GP in MK the scheduling is organized by the clinics in which doctors work. It is interesting to emphasize that these clinics do not have waiting lists of patients. In RS in most health centers there is no system for scheduling the examination by a GP. The exceptions are few major health centers, which provide call centers for phone appointment. For scheduling the examination by a specialist at a medical institution of secondary or tertiary level of health care, in both countries there was no transparent system of appointment. Moreover, for many specialties, types of services in many institutions there were months long waiting lists, even for the time critical diseases. Patients waiting even several hours in the doctor’s office was not rare situation. Regarding the manner of referral, before the start of the implementation of the system in MK a model of reference was defined, reference can be either at the same level of care or at a one-step higher level, i.e. the patient is not returned to a lower level of health care and is not referred directly from first to third level of health care. In RS reference is always made by a GP to higher levels. For certain services of a higher level, a recommendation from a medical specialist is requirement. The territory of RS according RHIF is divided into 31 districts and the patient is always referred to health care within the district to which he belongs. Referral to health facility outside the district requires approval by doctors’ committee, which is part of RHIF. In terms of drugs prescription, prescribing in both countries is performed by GPs, in MK generics of the drug is prescribed, while in RS the specific medication that should be used is prescribed. In both countries it is obligatory to prescribe the drugs from the positive list of RHIF (cost for them being covered). The fulfillment of these prescriptions is made in pharmacies that are contracted with RHIF. Although the laws on health care in both countries [12, 13] clearly defined responsibilities of the Ministries of Health (MoH) for the organization of health care and healthcare provision, in practice these laws in both countries are not enforced consistently. Above all this refers to the work of RHIF in both countries. Although the RHIFs are financial institutions, in many cases they are largely involved in the competences of the MoH in creating health policies or in the implementation of health activities. E.g., in MK, RHIF defines content of the forms which is in no way related to health insurance of patient or GPs are obliged to send reports to the RHIF for performed preventive examinations of their patients. Similarly, in RS the referrals types and their content are defined by the RHIF and also, its committee determines whether a patient may be referred to a higher level of health care. Another illustrative example is that in both countries prescriptions for medicines that are not on the positive list of RHIF are not recorded. In both countries apart from MoH and RHIF, other institutions in the system of management are the Institutes for Public Health (IPH) – they have a role in caring for population health prevention through monitoring, research and study of health condition, the causes for occurring and spreading of communicable and non-communicable

182

I. Skrceska et al.

diseases of social and medical importance, the impact of environmental factors and taking measures to protect and promote health. The Agency for Medicines and Medical Devices (AMMD) that perform registration of drugs and medical devices. In MK in 2015 was formed Directorate for e-health within the MoH [6]. In recent years in both countries there are activities by which the MoH get their legal and expected role - to create health policies for upgrading and improving health systems in both countries. In MK this is also supported by changes in the laws on health care [12] and the law on records in the field of health [6] (see also the next chapter). Similar is expected to happen with the relevant laws in the RS [13, 19]. Introduction and implementation of e-health or HIS in the health facilities in both countries is a continuous process that lasts from late ’80. As more important stages of computerization stand out the computerization of primary health care in MK, which took place intensively along with the privatization process - in the period 2001–2006. During that period, all private clinics on primary level acquired appropriate HIS. The Association of Doctors of MK financed the development of a software product that covered the needs of operation of the newly opened clinics of primary health care that have received it for free. In parallel were developed few more products and are used in a number of clinics. The core functionalities of these systems are: booking, medical daybook, the admission of patients, examinations carried out (anamnesis, status by systems, diagnoses, therapies, referrals etc.), creating referrals, drug prescription, dispensing ampullar therapy. The introduction of HIS in hospitals, specialized hospitals and clinics of Clinical Center Skopje (of second and third level of health care) happened independently, where only a small number of hospitals and clinics already implemented information systems (IS). Computerization of the health system in RS in the period from 2006 to 2013 was performed through projects financed by the World Bank (WB). Within the DILS project [16] were developed and implemented health information systems in most health centers on primary level of health care. Computerization of secondary and tertiary health care is at a very low level - hospitals that have health information system are rare and only one of the four clinical centers has information system. Numerous are examples in the region, but also in EU and the world, of the implementation of information systems at the national level that did not complete successfully [5]. In the region, the projects are formally closed as successful, but most of them remain on the stage of delivery of technical solution which has little or no use. The WB report concerning the performance of projects financed trough foreign financial support: “Many public sector digital technology projects fail” [18]. In both countries there were attempts to establish integrated health information systems on national level. In MK was organized a project for development and implementation of a centralized e-health system on national level. The system should have been used in all health facilities in public health in MK and be integrated with systems in other central state institutions. The project had started in 2009. For a period of two years only one module was partly implemented, while the rest did not even start. The project was stopped in 2011 by the MoH. Although there were some technical and organizational problems in the implementation, the main reason for project failure was the selected concept - in one project, in short deadline at national level to develop and implement

Analysis of the Preconditions for Implementation

183

almost all of the components of a complete e-health system. Taking into account the (little) technical knowledge of health professionals (doctors, nurses, etc.), the resistance to change of almost all of the parties involved, organizational and management capacity of the MoH and of health institutions, such projects could not have been successfully completed. In RS was also organized project that should develop an integrated health information system. The system should have provided building EHR nationwide [18]. The proposed model of building EHR was decnetralized with planned standards for interopreability and infrastructure for interconnecting the institutions. The project envisaged only a pilot implementation.

3 National Laws on e-Health One One of the key prerequisites to be fulfilled for successful implementation of national e-health system is adjusting legislation for incorporation of the electronic system in the national health system [5], by defining the model the electronic system functionality, data sets, the way for its use and others. In Europe, out of 27 countries in which EHR system is implemented nationwide, only in 18 countries there is legislation that regulates the functioning and use of e-health or EHR systems [19]. In the laws to provide a legal framework for the implementation of a nationwide EHR system in European countries as minimal challenges are considered: – The details and the content of EHR records (specific general health information and exhaustive or detailed elements for certain categories of data). – Defining the model of interoperability of EHR records – way of data exchange and content of the set of health data. – Legally establish standardized terminology and the form of coding and categorization of healthcare data. – In terms of protection of health data at national level, legislation should be established that will introduce special rules for EHRs or accept existing legislation on data protection that is based on general healthcare records. Comparison of the legislation of the two countries with the EU countries can give a few observations and conclusions. In MK the issues related to e-health are regulated primarily in two laws [6, 15]. It is specific that the laws give very detailed description of the national system for electronic healthcare, which is not typical to most EU countries. Moreover, besides the description of the data set, there is a description of the processes required that should be completed through the system and envisages very strict penalties in case of misuse of the system. This means that changes in the laws that regulate the role and functionality of the national e-health system were adopted and prerequisites were created for providing organizational and personnel resources to manage and support the national system. The most important include the following three changes: • In the health care bill of RM [15] published in the Official Gazette no. 87 dated 17.06.2013, there is a detailed description of the processes that the national system

184

I. Skrceska et al.

should cover, as well as the role of all stakeholders in these processes. Eg. For reference: “chosen doctor is obliged to refer patients to secondary and tertiary level of health protection for specialist advisory services through the electronic list of scheduled examinations and interventions.” Similarly, the specialists, for additional specialist advisory services, should obligatory referr the patients through the system. Unusually for legislation in MK and well beyond (EU) in law were specified technical conditions for the functioning of the system, the description of the system with many details was given and were envisaged severe penalties for anyone not using the system properly. For example, in the law it is specified that health facilities are obliged to provide two permanent Internet connections (primary and backup) with availability of 99.9%, or that the health facility shall cover the travel costs of the patient, in case “properly scheduled admission can not be used from any reason related to the health facility”. These changes enabled successful launch and good functioning of the national system on 01.07.2013. • With the changes of the law for health records [6] (Official Gazette of RM No. 164 dated 27.11.2013), an accurate definition of the national system of electronic health records has been given: “Electronic system that stores and processes all medical and health information for patients, information for health professionals and associates, data on health institutions, health interventions and services provided in health facilities, data from electronic referrals and electronic prescriptions, data on bookings for specialist examinations and interventions and other data as determined by this and other laws”. The same law precisely defines the set and method of collecting and storing all medical data. With these changes is given a legal framework for the development of the system in the coming years (2014– 2016). • With the amendment and extension of the Law for Healthcare (Official Gazette No. 10 dated 22.01.2015) was formed Directorate for Electronic Health as “State administrative body within the Ministry of Health as a legal entity which performs professional activities relevant to the development and promotion of national integrated health information system, and the creation of concepts for the development of health policy on the basis of the analysis of data entered in the national system”. Its organizational structure and responsibilities were defined too: “The Department is responsible for upgrading, optimization, execution, regulation, maintenance, control, education of health personnel and analysis of all processes and functionalities associated with the integrated national e-health system with an aim to improve use of the system”. With the establishment of a separate institution for e-Health, HR capacities were provided to support the system that is already intensively used but also capacities for its improvement and future development. In RS the work of e-health systems is regulated by two laws [13, 15]. Using the experiences from MK, one of the basic requirements before starting the project for implementation of an integrated e-health system at the national level, was to analyze the legislation (laws and bylaws) and to propose changes in order to accommodate the system. Unlike in MK, in RS the regulation for the most part was done by preparing appropriate regulations (bylaws). This approach allows greater flexibility and more frequent changes, that do not depend on the Assembly.

Analysis of the Preconditions for Implementation

185

Changes in the laws (and bylaws) in both countries have been made to meet the preconditions to start each subsequent stage of implementation of electronic systems. The timeframe of implementation and the success of the implementation of reforms in the health sector in general, is closely linked to the dynamics of change of legislation. The experience of both countries shows that the change in legislation should be made on time, so as not to slow down the implementation of electronic systems, but also well defined to ensure successful change management and proper implementation of new electronic systems.

4 The National e-Health Functional Ecosystems One One of the most important decisions to be taken before starting the process of development of national e-health system and EHR system is to determine the model of data storage. Generally, this model can be centralized or decentralized. In the centralized model of data storage, as shown in Fig. 3(a), is stored centrally copy of the data that construct EHR. In this model health organizations that are integrated into the system have autonomous and heterogeneous systems where patient health data are stored locally, but one part of the data set in the process of integration of healthcare organization into the EHR system is recorded in a centralized data center. In the decentralized model, shown in Fig. 3(b), there is independent EHR system on health organization level or on regional level. In this model the EHR system it is necessary to ensure interoperability of existing autonomous and heterogeneous systems developed at different times, with different objectives, different data model, platform, technology, and level or type of implemented standards. Achieving semantic interoperability for a large number of distributed systems is complex task. Both models have their advantages. Keeping health data in the central location allows access to relevant health information about patients in real time; allows patients to receive treatment by doctors from different health organizations which have access to health data of EHR system. Given that health data are available at national level, duplicate tests are avoided and the risk of misdiagnosis is reduced. On the other hand, the decentralized model allows for easier management of risks associated with the security and the privacy of sensitive health data. Other models are possible, as variation, adaptation or a hybrid of these two that would use the strengths of each of the two models. Based on the analysis of health systems and level of implementation of e-health systems in both countries, but also taking into account the risk factors and the experiences of previous implementations of health systems in the region, it was assessed that adapted centralized model of data storage (Fig. 3(c)) should be implemented, in which some institutions have local copies of the data (they have local systems), while others do not have copies of the data institutions that do not have local hospital systems and they have to start using the new central system. It was assessed that the proposed model has the “best chance of success.” The functionalities that each institution had to use depended on the services that institution provides. For example, the health centers use the modules for scheduling and referrals, whereas the hospitals use the module for hospital work. Electronic

186

I. Skrceska et al.

a) Centralized system

b) Decentralized system

c) Adapted system

Fig. 3. (a) Centralized system (b) Decentralized system (c) Adapted system

systems that were used in institutions, had to be integrated with the central system for all modules for which it was necessary. For example, all primary health level clinics, who had their own electronic systems, had to be integrated for functionality: e-booking, e-referral, e-prescription etc. The integration of these systems with the central system enables integrated execution of business processes taking place partly in the local systems, and partly in the central system. In addition, the integration provides bi-directional data exchange - local systems provide the necessary data to the central system and download the necessary data for storage into the local systems. This model of integration of the central system was to allow local systems to continue to operate independently, but also integrated into the national e-health system. So, concept of e-health system at the national level was elected, which was to build a functional ecosystem involving all health facilities of public healthcare - as providers and users of information in this ecosystem. The aim of the system is not only building functional EHR system, but rather a complete e-health system at the national level, that will play an important role in improving the operational management and the strategic planning of the reforms in public health. For this purpose, the selected model should integrate all systems used in the central state institutions: RHIF, AMMD, IPH and others. E.g. for data retrieved from RHIF - insurance status of patients. For institutions who do not have an electronic system, to provide authorized access to the functionalities of the system via a web interface. For example, it was planned the IPH to have access to all functionalities of the Business Intelligence (BI) module through an interactive web interface. Also, some specific modules or functionalities of the national e-health system are used only through a web user interface. Context level Data Flaw Diagram (DFD) is shown in Fig. 4. It was also assessed that in order the integration to be successful, on the side of the central system it is necessary to define unambiguous semantics of data exchanged between systems and precisely define and develop Application Programming Interface (API) for integration and interoperability.

Analysis of the Preconditions for Implementation

187

Fig. 4. DFD diagram on conceptual level

5 Discussion and Conclusion In In designing the multiannual plan for the introduction of e-health system nationwide, which includes nationwide EHR, a comprehensive analysis of the situation of health systems in both countries was made and were achieved all the necessary prerequisites for the start of implementation. This was necessary in order to eliminate most (risk) factors that could adversely affect the implementation of the system and then adversely affect the way the system is used and thereby reduce the positive effects of its use. These factors are: (a) Resistance to change by most stakeholders; (b) Not very large capacities of the participants in the process; (c) The complexity of the system and expectations - very fast results and great expectations. To successfully overcome the noticed challenges from previous projects for implementation of e-health system in both countries, but also using the experiences from Europe and the world, it was necessary: 1. To provide strong political support. Throughout the period of implementation of the national e-health system strong political support from the MoH should be provided. It should consist of continuous operational support to project teams to easily overcome the resistance to change. Also, it is needed to make changes in the laws governing the role and functionalities of the national e-health system, and to provide organizational and personnel resources to manage and support the system. 2. To find a suitable model to fit the central system and appropriate technical solution. A new concept of architecture was applied – model of adapted centralized system, which involves the integration of a central national e-health system with existing local systems used in healthcare facilities, but also functional user interface for users in institutions that do not have an electronic system. Thus a functional ecosystem is formed where all information systems can function and develop and all members of that ecosystem can have certain benefits. Thereby several advantages are provided:

188

I. Skrceska et al.

• Existing software systems continue to be used in the health facilities and government institutions, where they gain importance because the central system takes data from them, the need for their expansion, upgrading and improvement is created. Local systems are not merely providers of information; with the integration they receive data from the central system. • A model of integration is chosen which provides on-line operation of the system - all data are actualized when in the moment they are entered. Accurately defined API for integration, enabling following advantages: no waiting for data synchronization, quick technical integration, minimizing technical errors and etc. • For users of existing systems there is no change of the way they work or of the software system, thus avoiding resistance to change or the need for mastering new systems. • Taking into account the low level of technical education of the new users (health professionals - doctors, nurses, etc.) that did not have electronic health systems, intuitive user interface with simple and clearly defined operating procedures is preferred. Appropriate training models - train the trainers, train the admins, train the end users, should be planned. • System that is most suitable for users. To avoid the resistance to change of new users - agile (incremental and iterative) approach to the definition, development and implementation of new functionalities should be chosen. In the case of functionality that does not meet the real needs, after feedback form the users, fast repair and improvement should be done. • Great emphasis on data security, due to privacy and confidentiality. 3. To apply appropriate project methodology for implementation. To find an approach for successful implementation of such a complex system, an analysis of all factors that could affect the process of implementation was performed, and in both countries were applied different approaches, i.e. the projects were organized in different ways and with different duration. In the subsequent research a detailed description of the project methodology will be given and the outcomes and benefits from the use of the systems will be presented.

References 1. Stroetmann, K.A., Artmann, J., Stroetmann, V.N.: European countries on their journey towards national eHealth infrastructures, Final European progress report (2011). http://www. ehealth-strategies.eu/report/eHealth_Strategies_Final_Report_Web.pdf. Accessed 24 Oct 2014 2. WHO Regional Office for Europe. From innovation to implementation. E-Health in the WHO European Region. Copenhagen, Denmark (2016) 3. Bonomi, S., Badr, N.G., Zardini, A., Rossignoli, C.: Improving the introduction of electronic health record: lessons from European and North American Countries. In: Borangiu, T., Drăgoicea, M., Nóvoa, H. (eds.) IESS 2016. LNBIP, vol. 247, pp. 635–648. Springer, Cham (2016). doi:10.1007/978-3-319-32689-4_48

Analysis of the Preconditions for Implementation

189

4. Grandy, A.: Electronic health records: how the United States can learn from the french dossier medical personnel. Wis. Int. Law J. 30(2), 374 (2012) 5. Stone, C.P.: A Glimpse at EHR Implementation Around the World: The Lessons the US Can Learn (2014) 6. Zakon za evidenciite vo oblasta na zdravstvo (Law for health records of Macedonia). http:// zdravstvo.gov.mk/wp-content/uploads/2015/05/ZAKON-ZA-EVIDENTSIITE-VOOBLASTA-NA-ZDRAVSTVOTO-konsolidiran-tekst-2013.164.pdf. Accessed 10 Feb 2017 7. MacDougall, J.: France still seeks an electronic health record (2015). http://www.healthcarein-europe.com/en/article/14069-france-still-seeks-an-electronic-health-record.html. Accessed 10 Feb 2017 8. European Healthcare Consumer Index Report 2014 (2015). http://www.healthpowerhouse. com/files/EHCI_2014/EHCI_2014_report.pdf. Accessed 15 Mar 2017 9. European Healthcare Consumer Index Report 2015 (2016). http://www.healthpowerhouse. com/files/EHCI_2015/EHCI_2015_report.pdf. Accessed 15 Mar 2017 10. European Healthcare Consumer Index Report 2016 (2017) http://www.healthpowerhouse. com/files/EHCI_2016/EHCI_2016_report.pdf. Accessed 15 Mar 2017 11. Saric, M., Rodwin, V.G.: The once and future health system in the former Yugoslavia: myths and realities. J. Public Health Policy 14(2), 220–237 (1993) 12. Zakon za zdravstvena zashtita na (Law of Health care of Macedonia). http://zdravstvo.gov. mk/wp-content/uploads/2015/10/0-ZAKON-ZA-ZDRAVSTVENATA-ZASHTITA.pdf. Accessed 15 Mar 2017 13. Zakon o zdravstvenoj zashtiti (Law of Health care of Serbia). http://www.zdravlje.gov.rs/ tmpmz-admin/downloads/zakoni1/zakon_zdravstvena_zastit.pdf. Accessed 15 Mar 2017 14. Australian refined diagnosis-related groups (AR-DRG) data cubes. http://www.aihw.gov.au/ hospitals-data/ar-drg-data-cubes/. Accessed 15 Mar 2017 15. Zakon o zdravstvenoj dokumnetaciji (Law for health records of Serbia). http://www.rfzo.rs/ download/zakoni/Zakon%20o%20zdravstvenoj%20dokumentaciji%20i%20evidencijama% 20u%20oblasti%20zdravstva.pdf. Accessed 15 Mar 2017 16. DILS Project Serbia. http://www.worldbank.org/en/news/loans-credits/2008/03/18/serbiadelivery-of-improved-local-services-dils-project. Accessed 15 Mar 2017 17. EU IHIS. http://www.eu-ihis.rs/index_EN.html. Accessed 15 Mar 2017 18. Digital Dividends, World Development Report 2016, p. 165 (2016). http://documents. worldbank.org/curated/en/896971468194972881/pdf/102725-PUB-Replacement-PUBLIC. pdf. Accessed 15 Mar 2017 19. Overview of the national laws on electronic health records in the EU Member States and their interaction with the provision of cross-border eHealth services (2014). http://ec.europa. eu/health//sites/health/files/ehealth/docs/laws_report_recommendations_en.pdf. Accessed 15 Mar 2017

TIROL: The Extensible Interconnectivity Layer for mHealth Applications Christoph Stach(B) , Frank Steimle, and Ana Cristina Franco da Silva Institute for Parallel and Distributed Systems, University of Stuttgart, Universit¨ atstraße 38, 70569 Stuttgart, Germany {stachch,steimlfk,francoaa}@ipvs.uni-stuttgart.de

Abstract. The prevalence of various chronic conditions is on the rise. Periodic screenings and a persistent therapy are necessary in order to aid the patients. Increasing medical costs and overburdened physicians are the consequences. A telemedical self-management of the illness is considered as the answer to this problem. For this purpose mHealth applications, i.e., the synergy of common smartphones and medical metering devices, are vitally needed. However, poor device interoperability due to heterogeneous connectivity methods hamper the usage of such applications. For this very reason, we introduce the concept for an exTensible InteRcOnnectivity Layer (TIROL) to deal with the interconnectivity issues of mHealth applications. Furthermore, we present a prototypical implementation for TIROL to demonstrate the benefits of our approach.

Keywords: mHealth tivity layer

1

· Medical devices · Harmonization · Interconnec-

Introduction

Today, smartphones became constant companions for almost everybody. Due to their consistent connection to the Internet and their ever increasing battery capacity, they serve as a permanent information source as well as communication tool. However, the most outstanding feature of these devices is that any developer can provide new applications for them. Since the number of built-in sensors raises with each smartphone generation, the application possibilities for smartphone are virtually unlimited. Even ordinary smartphones contain hardware required for e.g., basic health and wellness tracking. Moreover, additional sensors tailored to special use-cases can be connect to smartphones, e.g., via Bluetooth. As a consequence, it is hardly surprising that, especially in the health sector, the use of smartphones can be highly beneficial in terms of saving treatment costs and helping patients who cannot visit their physicians regularly [17]. Patients at any age benefit from health applications for their smartphone—the so-called mHealth applications [16]. Particularly advantageous is the telemedical treatment of chronic disease such as diabetes mellitus or the chronic obstructive pulmonary disease (short COPD). While hitherto an episodic care in a clinic c Springer International Publishing AG 2017  R. Damaˇ seviˇ cius and V. Mikaˇ syt˙e (Eds.): ICIST 2017, CCIS 756, pp. 190–202, 2017. DOI: 10.1007/978-3-319-67642-5 16

TIROL: The Extensible Interconnectivity Layer for mHealth Applications

191

is required for chronic diseases, mHealth is an enabler for home healthcare. With the help of a smartphone, medical metering devices, and proper mHealth applications, patients are able to diagnose, screen, and therapy their disease by themselves and have to visit their physicians only in case of an emergency, since the required measurements can be carried out very easily with affordable medical measuring devices [24]. That way, not only the physicians’ workload gets reduced both also insurance companies safe a lot of money. However, in order to operate hitch-free, mHealth applications need to be compatible to any available medical metering device, i.e., the application running on a smartphone has to be able to interchange data with the (mostly) external medical hardware. The data interchange constitutes a crucial weak spot for mHealth due to heterogeneous connection types and non-uniform communication protocols [1]. Users are repelled by device incompatibilities, that is, every application supports certain devices only and in some circumstances users have to own several similar medical devices to be able to use all of their mHealth applications. As a consequence, mHealth does not get unreserved approval by the patients despite all of its unquestionable benefits [13]. On that account, this paper provides the following key contributions: (1) We postulate a requirements specification for an interconnectivity layer which harmonizes the connection techniques. (2) We introduce the concept for an exTensible InteRcOnnectivity Layer (TIROL) to deal with the interconnectivity issues of mHealth applications. (3) We implement TIROL as an extension for the Privacy Management Platform (PMP ) [20,21]. (4) We assess the utility of TIROL. The remainder of this paper is structured as follows: Sect. 2 details on the state of the art concerning connection techniques used by medical metering devices and Sect. 3 looks at related work dealing with the interconnectivity issues of mHealth applications. Based on the shortcomings of these approaches, Sect. 4 postulates a requirements specification for an interconnectivity layer which harmonizes the connection techniques. Following this, the conceptual specification for TIROL is introduced in Sects. 5 and 6 gives some insights on the implementation of TIROL. Section 7 assesses whether TIROL fulfills the requirements specification. Finally, Sect. 8 gives a conclusion and a brief outlook on future work related to mHealth applications.

2

State of the Art

Basically almost every modern medical metering devices in home healthcare is a standalone system. Yet, these devices are designed mainly focusing on their primary task—the metering of health data—and the visual processing of the data is often missed out. Here smartphones come into play. They can be used for both, as a guidance of how to perform a metering as well as a comprehensible presentation of the results [16]. Nowadays the connection is usually realized via

192

C. Stach et al.

Bluetooth in order to ensure a user-friendly operation. However, concerning the communication protocols such a de facto standard is not in sight. There are several proposals for a uniform connection type, but none of them prevailed yet. The Bluetooth SIG came up with the Bluetooth Health Device Profile (HDP ) [6] in order to supersede the outdated Bluetooth Serial Port Profile (SPP ) as the SPP causes a poor level of interoperability with different medical devices. The HDP was adopted in 2008 as part of the ISO/IEEE 11073 family of standards. Its main focus is to support a variety of applications for home healthcare. For that purpose, a new communication protocol is introduced, the Multi-Channel Adaptation Protocol (MCAP ). The MCAP is responsible for a reliable connection between a data source (i. e., a medical device) and a data sink (i. e., a smartphone or a PC). Initially, it establishes a control channel between source and sink, e. g., to synchronize the two devices. Then, the devices are able to open multiple channels for payload data. This mode of data transmission is optimized for devices with low resources, as medical devices often have limited computational power. The Bluetooth SIG provides furthermore an optimized exchange protocol to enable interoperability between sensors and data management devices [7]. This includes device data specializations which define how certain families of medical devices (e. g., glucose meters or peak flow monitors) provide their data. I. e., the Bluetooth SIG specifies service IDs and data models for these families. Whereas it is highly recommended that vendors of medical devices should comply with these specifications, it is no necessity for the HDP. As a result, developers of mHealth applications cannot rely on these specializations and they still have to create multiple versions of their applications in order to support medical devices from different vendors (see Fig. 1a). Although each version differentiates only in the connector component, the HDP is still no enabler for mHealth interoperability. Moreover, HDP belongs to the Classic Bluetooth profiles, i. e., it does not support Bluetooth Low Energy (BLE ). BLE is designed primary for smart devices

Fig. 1. Comparison of standard bluetooth and wear-based connections

TIROL: The Extensible Interconnectivity Layer for mHealth Applications

193

where low power consumption is crucial. Due to the new introduced Low Energy protocol stack, BLE is able to reduce power costs considerably. Contrary to Classic Bluetooth, in BLE the devices remain in sleep mode most of the time and initiate a connection only as long as data needs to be transferred. Especially in an mHealth setting where only small amounts of data have to be exchanged and the interval between two measurements (and thus data transfers) is relatively long, BLE is particularly favorable [4]. Thus, a lot of novel medical devices prefer BLE over Classic Bluetooth in order to prolong its battery life. As BLE specifies the communication protocol only but neither standardized device IDs nor message formats for the data exchange, similar medical devices from different vendors establish heterogeneous proprietary communication norms. The Personal Connected Health Alliance consortium promotes various health care profiles in order to counteract this fragmentation [2]. However, the number of proprietary communication protocols such as Terminal I/O [23] does not decrease sustainably. Android Wear is an Android version designed for accessing sensors in wearables. Android Wear facilitates the pairing of wearables with smartphones. For this purpose, it provides a generic API to the sensors of the wearable. This API abstracts from specific communication techniques and protocols. In order to be able to use this API, an mHealth developer has to implement a data provisioning component for each and every of his or her applications. The provisioning component is installed on the wearable. It is needed to establish the connection to the smartphone and it prepares the sensor data for the transmission. This implies that each mHealth application on the smartphone needs a counterpart running on the wearable (see Fig. 1b). Thereby not only the storage consumption but also the power consumption of the wearable increases. Moreover, Android Wear is only compatible to a few certified wearables [12]. Thus, this is also not a comprehensive solution for the interconnectivity issues of mHealth applications. While most modern medical metering devices in home healthcare have a Bluetooth interface, some vendors still rely on tethered technologies. E.g., the PO 80 by Beurer Medical1 has an USB port, only. Other devices such as the iHealth Vista by iHealth Labs2 sends any captured data to an online health service provider. This provider preprocesses the data and makes it available via a web-based interface and/or via APIs for third-party RESTful applications. As a consequence, the already heterogeneous connectivity landscape for medical metering devices gets even more fragmented. Since it is not conceivable that any of the available connection methods or communication protocols prevail anytime soon, both, developers and users are in great want of a reasonable solution for this fragmentation issue. Currently developers are forced to implement their applications several times in order to support various devices. This leads to long waiting times for patches, since each update has to be applied to every version of the application. Needless to say, that no application is compatible with every device and therefore, users gets furthermore frustrated. That is why also research projects deal with this issue. 1 2

See www.beurer.com/web/us/products/pulseoximeter/pulse oximeter/PO-80. See www.ihealthlabs.com/wireless-scales/wireless-body-analysis-scale.

194

3

C. Stach et al.

Related Work

The state of the art approaches show, that the solution for the interconnectivity issues of mHealth applications cannot lie in the definition of another standard. Rather promising is the introduction of a unifying interlayer realizing the interconnection between medical devices and mHealth applications [18]. Instead of the huge number of connectors or data providers required per mHealth application (see Fig. 1) a connection interlayer establishes a hub and spoke architecture (see Fig. 2). This reduces the number of required connections sustainably.

Fig. 2. Hub and spoke architecture realized by a connection interlayer

The Data Management System [14] introduces a layer architecture gathering data from input streams (e.g., medical devices) and sending this data to output streams (e.g., smartphones). The focus of this work is on input stream validation and data consistency. For establishing the data streams—and therefore the connection of medical devices—an agent middleware is required which is not included in the approach. Masaud-Wahaishi and Ghenniwa [11] introduce a brokering layer connecting service providers (i.e., data sources) with service requesters (i.e., applications). The brokering layer however does not focus on the connection itself, but on the privacy-aware processing and provisioning of data. The Mercury system [9] deals with this problem by setting up a wireless sensor network for all health sensors. This network provides a single and unified access point for applications. However, specialized microcontrollers are required in the sensors to join the network. Likewise Otto et al. [15] suggest to use wireless body area networks to connect medical devices with smartphones. The smartphone can be used as both, a runtime system for applications as well as a connection to the Internet. Yet, this approach also requires particular hard- and software. Kouris and Koutsouris [8] recommend to use IoT techniques for the data transfer. Therefore, all sensors are connected to the Internet and send their data to a cloud-based database. mHealth applications can access the sensor data via this database. Even though there are secure transfer protocols for health data such as Hide-n-Sense [10], a permanent and unrestricted transmission of sensitive health data to an unknown server is ineligible for most users. Sorber et al. introduce a vision for a central component called Amulet harmonizing the communication with any kind of medical device [19]. Moreover, the Amulet is able to connect to a smartphone, either for providing application with health data or for sending the data to online health services. Amulet should have

TIROL: The Extensible Interconnectivity Layer for mHealth Applications

195

a small form-factor so that patients are able to carry it always along. This vision is realized as part of the Amulet platform [5]. However, the platform requires a proprietary firmware for the sensors alongside with a distinct runtime-system for the applications. Stock devices are not supported. BodyScan [3] has a similar strategy. Their so-called Wearable Platform, i.e., the central component of BodyScan, is additionally able to analyze changes on the radio signals of the medical devices. Via these signal changes BodyScan is able to recognize activity pattern in order to enrich the gathered data. Nonetheless, BodyScan has the same disadvantages as Amulet, namely the need for a particular hardware. As none of these approaches is outright promising, we postulate a requirements specification for an mHealth interlayer in the next section.

4

Requirements Specification

Based on the features as well as shortcomings of the state of the art approaches and related work towards a solution for the interconnectivity issues of mHealth applications, we devise the following requirements which are vital for a unifying interlayer that deals with these problems: (A) Heterogeneous Connectivity. As shown above, mHealth applications are executed in a heterogeneous environment. In order to homogenize the environment, the interlayer has to able to support various connection types (such as Classic Bluetooth, BLE, or tethered connections) as well as communication protocols (such as HDP or Terminal I/O). (B) Flexible Connectivity. Similar to Android Wear, the interlayer has to abstract from a certain hardware. From an mHealth application’s point of view, it is irrelevant which medical device provides a certain kind of health data. Therefore, the devices can be bundled into categories characterized by their features (e.g., respiratory devices or cardiac devices). In this way, an application has to address its data request to a certain category only instead of a certain device and the interlayer forwards it to the right device. (C) Extensible Interface. The mHealth landscape is constantly evolving, i.e., new connection types, communication protocols, health devices, and even device categories emerge consistently. Because of that, the interlayer has to be extensible. Otherwise it would be deprecated and thus useless in no time. (D) Abstract Interface. The interlayer should provide an abstracted interface to the medical devices. I.e., an application developer has just to define which data s/he wants to access and the interlayer arranges the access. (E) Resource-Efficient Data Access. In an mHealth environment, a long battery life is a key issue. Therefore, the data access by the interlayer has to be very resource-efficient. First and foremost, it has to be prevented that every application has to install its own connector on every medical device, as it is needed for Android Wear. (F ) Reliable Data Access. The interlayer should be able to validate the transmitted values and counteract transmission failures.

196

C. Stach et al.

(G) No Dependencies. The interlayer must not require any special hardor software. In particular, a manipulation of the health device (e.g., by installing an additional transmission module) has to be preempted by any means, due to safety issues. Such an interference could result in corrupted data.

5

Conceptual Specification

On a conceptual level, our proposed exTensible InteRcOnnectivity Layer (TIROL) is located in between the application layer which executes the applications and the hardware abstraction layer which manages the devices (see Fig. 3). So, mHealth applications are completely independent from the devices. TIROL offers them data domain specific interfaces (e.g., respiratory data or cardiac data) to the devices. The key characteristics of TIROL are detailed in the following: TIROL is extensible due to a dynamic plugin system towards the hardware abstraction layer. Each plugin represents a certain data domain. It specifies which data is available in the respective domain. This specification is completely device independent—i.e., it uses a uniform data format defined by TIROL— and it abstracts from a specific access procedure of the devices. Each plugin offers only data from its domain. If a health device offers data from multiple domains (e.g., the peak expiratory flow [respiratory] heart rate [cardiac] ), then two separated plugins are responsible for that device. The plugins can be added or removed at any time. This is necessary since some data is only temporarily available. E.g., some medical devices are turned on only to perform a metering, to broadcast the results, and are shut down subsequently. A patient is also able to add new device types to TIROL, e.g., when his or her physician wants to monitor additional health values. Any application has then automatically access to the newly added data. Additionally, each plugin is also extensible due to a flexible connection interface. While the plugin itself represents the interface towards the applications, this connector is the interface towards the devices. The connector manages the connections to the devices including the individual connection types and communication protocols. Since a patient might have several devices of a certain device type (e.g., a smart watch and a heart monitor that provide heart rate data), the connection interface has to be able to exchange the connected device at runtime. Thereby it is always possible to select the device with the best accuracy which is currently available. Whenever a new connection type or protocol evolves, it is only necessary to adapt the connector and afterwards devices uses this new connection technique are instantly available to any application. TIROL also reduces the number of required components for the connection of health devices and applications. While the state of the art approaches require a×d connecting components3 either on the application side (see Fig. 1a) or on the device side (see Fig. 1b), our approach gets by with h plugins and m extensions 3

Let a be the number of application and d the number of devices.

TIROL: The Extensible Interconnectivity Layer for mHealth Applications

197

Fig. 3. Conceptual design of the extensible interconnectivity layer (TIROL)

 for the connection interface per plugin—i.e., h m ∈ h ≈ d4 . In other words TIROL requires approximately one connecting component per device, no matter how many applications are used. Moreover, since the interlayer harmonizes the heterogeneous connectivity landscape via these connecting components (plugins as well as connection interfaces), no special hardware or software is required. I.e., any standard device and application can be connected to TIROL. That way, TIROL is very user-friendly: TIROL informs the user which plugins are required by an mHealth application. These requirements are specified by the application developer. Then, the user can obtain the involved plugins from an online repository in case s/he has not installed the plugin already for another application. The plugins contain connectors to all devices from the respective domain and select the best one, regarding a certain quality attribute. I.e., most of the steps are executed automatically by TIROL without any user interference.

6

Implementation Description

The prototypical implementation of TIROL is based on the Privacy Management Platform (PMP ) for Android-based smartphones. Although the presented prototype is based on Android, the underlying concepts can be applied to any other application platform. The PMP is an interlayer for application platforms separating applications from the operating system (see Fig. 4). Its main purpose is to provide users a fine-grained and context-based mechanism to restrict the applications’ access to private data. To that end, it encapsulates all the sensors of the smartphone into so-called Resource Groups and applications 4

Let h be the number of health domains and m the number of device models.

198

C. Stach et al.

Fig. 4. Simplified layer architecture of the privacy management platform

have to access these groups via predefined interfaces. As the PMP is extendable, i.e., new Resource Groups can added at any time, it is a suitable foundation for TIROL. Thus, TIROL can be realized as an extension for the PMP and each plugin of TIROL can be mapped to a Resource Group of the PMP. In the following, we focus on the PMP’s characteristics which are relevant for TIROL, only. For more information about the PMP, please refer to the respective literature [20,21]. Since the PMP enables users to limit or prohibit an application’s permissions to access a Resource Group at runtime, it is designed to deal with failed access attempts and missing data due to such restrictions. For that purpose, the PMP segments the program logic of applications into so-called Service Features. The data requirements are assigned to these program sections. Each Service Feature can be deactivated individually in case of missing permissions, i.e., missing data. This is highly advantageous for TIROL. In the mHealth context, a patient might have a subset of the medical devices required for a certain applications, only. As a missing medical device is tantamount to a total restraint of the access to this device, a PMP-based implementation of TIROL is able to deactivate the respective Service Features. Thus, the patient can still make use of the remaining features of the application. From an application’s point of view, a Resource Group represents an interface to a certain kind of data (e.g., location data). The interface specifies generic access functions that abstract from the underlying data sources (e.g., getLatitude). The Resource Groups are no inherent parts of the PMP but act as independent services. That way, further Resource Groups can be added to the PMP at any time via an external repository. Accordingly, Resource Groups act similar to the plugins of TIROL. Each Resource Group bundles several Resources. A Resource represents an access method to a certain data source (e.g., GPS). As a consequence, a Resource Group can comprise different implementations for the access functions speci-

TIROL: The Extensible Interconnectivity Layer for mHealth Applications

199

fied therein. The Resource Groups dynamically select the best Resource5 —and accordingly the best data source—in the current context. Therefore the connection interfaces of the TIROL plugins can be implemented as Resources. Additionally, Resources can implement a buffer, e.g., to cache the latest sensor data. So the Resource is able to provide these data even if the sensor is currently not connected or available. They are also able to perform domain-specific validation procedures to verify the received data and intervene as necessary. For each Resource Group so-called Privacy Settings are defined. A Privacy Setting is an adjustment method for the Resource Group. The PMP uses the Privacy Settings to restrain the access to the data sources which are managed by the Resource Group. E.g., one of the Privacy Setting for the Location Data Resource Group specifies the maximum permissible accuracy of the location data. While the PMP uses the Privacy Settings as a mechanism to assure the user’s privacy by defining an upper limit for the quality of the available data, TIROL benefits from these settings in another way. If an application does not require the best data quality, this can be expressed via a Privacy Setting. Then the PMP is able to select another less-accurate but energy-saving Resource within the Resource Group in order to reduce the battery drain. A Policy Rule defines which Service Feature requires access to which type of data, i.e., to which Resource Group, and which Privacy Settings are applied to this access. TIROL is able to create such rules optimizing both, data quality and energy performance for any mHealth application and medical devices in this manner. The Policy Rule can be provided via so-called Presets.

Fig. 5. Model of a health device resource group in the respiratory domain

For the implementation of TIROL, we introduce a model of a generic Health Device Resource Group as a blueprint for the plugins of TIROL. Figure 5 depicts the Respiratory Resource Group which is deduced from this generic model. Analogously, there is a Resource Group for each category of medical devices. Within the Resource Groups is one Resource for each medical devices of the respective category. While the Resource Groups define abstract data access functions, the 5

The quality of a Resource is defined respecting a given criterion, e.g., accuracy.

200

C. Stach et al.

Table 1. Realization of the requirements in TIROL’s concept and implementation Requirement Concept

Implementation

(A)

Connection interfaces

Resources

(B)

TIROL plugins

Resource groups

(C)

“Plug and Play”-like sockets

Resource repository

(D)

Domain-specific plugins

Domain-specific resource groups

(E)

Minimal number connectors

Economic data source selection

(F )

Data preprocessing in plugins Data preprocessing in resources

(G)

Extensible plugins

Extensible resources

Resources provide the specific implementations of these functions, including the connection establishment and the compliance with the communication protocols.

7

Assessment

In the following, we assess how well TIROL meets the requirements towards a unifying interlayer for mHealth applications (see Sect. 4). Table 1 shows, which component or feature of TIROL fulfills the particular requirement. We consider both, the underlying concept as well as the PMP-based implementation. The heterogeneous connectivity (A) is realized by the connection interfaces of the TIROL plugins. These interfaces are able to bind any medical device to the respective plugin. In the implementation, the Resources establish the connection to the individual devices. The flexible connectivity (B) is considered by the TIROL plugins that bundle any medical device providing a certain kind of health data. These plugins are mapped to Resource Groups in the implementation. The “Plug and Play”-like sockets for the plugins provide the extensible interface (C) as additional plugins can be added if necessary. The Resource repository of the PMP serve the same purpose. The abstract interface (D) is given by the plugins since each plugin provides only access to data of a certain domain without disclosing from which device this data originates. For the implementation the same holds true for the Resource Groups. The resource-efficient data access (E) is given by the minimal number of required connectors in the concept. On top of that, the implementation is even able to reduce the power consumption by selecting the most economical data source currently available. Both, the TIROL plugins as well as the Resources are able to preprocess the sensor data. In this way, the data can be validated in order to assure a reliable data access (F ). TIROL and the PMP are compatible to any given device as both can be extended by plugins or Resources. So there are no dependencies (G) whatsoever. Therefore both, TIROL’s concept as well as its implementation meet all of the requirements towards a unifying interlayer for mHealth applications.

TIROL: The Extensible Interconnectivity Layer for mHealth Applications

8

201

Conclusion and Outlook

In times of rising medical costs, novel methods of treatment are required. Especially for chronic diseases, the usage of mHealth applications seems to be highly beneficial. However, users are often repelled by device incompatibilities. Therefore, we postulate a requirements specification for an interconnectivity layer to solve these incompatibility issues. Based on this requirements specification, we devise TIROL, an extensible interconnectivity layer for mHealth applications, and a PMP-based implementation of it. Our assessment shows that TIROL constitutes a sound solution for the incompatibility issues of mHealth applications. Since privacy concerns are another key issue for mHealth applications [1], our PMP-based implementation of TIROL might also be able to solve this problem. As the PMP’s main focus is on privacy and data security [20–22], we could piggyback on these strengths by adding such functionalities to our Health Device Resource Group as well. That way TIROL would be able to provide an mHealth infrastructure assuring privacy and data security.

References 1. Chan, M., et al.: Smart wearable systems: current status and future challenges. Artif. Intell. Med. 56(3), 137–156 (2012) 2. Continua: H.811 Personal Health Devices Interface Design Guidelines. Specification, Personal Connected Health Alliance (2016) 3. Fang, B., et al.: BodyScan: Enabling radio-based sensing on wearable devices for contactless activity and vital sign monitoring. In: MobiSys 2016 (2016) 4. Gupta, N.: Inside Bluetooth Low Energy. Artech House Publishers, Boston (2013) 5. Hester, J., et al.: Amulet: an energy-efficient, multi-application wearable platform. In: SenSys 2016 (2016) 6. Hughes, R.D., et al.: Health Device Profile. Specification, Bluetooth SIG (2012) 7. IEEE: ISO/IEC/IEEE Health informatics-Personal health device communicationPart 20601. IEEE Standard ISO/IEEE 11073–20601:2014 (2014) 8. Kouris, I., Koutsouris, D.: Identifying risky environments for COPD patients using smartphones and internet of things objects. Int. J. Comput. Intell. Stud. 3(1), 1–17 (2014) 9. Lorincz, K., et al.: Mercury: a wearable sensor network platform for high-fidelity motion analysis. In: SenSys 2009 (2009) 10. Mare, S., et al.: Hide-n-Sense: preserving privacy efficiently in wireless mHealth. Mobile Netw. Appl. 19(3), 331–344 (2014) 11. Masaud-Wahaishi, A., Ghenniwa, H.: Privacy based information brokering for cooperative distributed e-Health systems. J. Emerg. Technol. Web Intell. 1(2), 161–171 (2009) 12. Mishra, S.M.: Wearable Android: Android Wear and Google FIT App Development. Wiley Online Library (2015) 13. Murnane, E.L., et al.: Mobile health apps: adoption, adherence, and abandonment. In: UbiComp/ISWC 2015 (2015) 14. O’Donoghue, J., Herbert, J.: Data management within mHealth environments: patient sensors, mobile devices, and databases. J. Data Inf. Qual. 4(1), 5:1–5:20 (2012)

202

C. Stach et al.

15. Otto, C., et al.: System architecture of a wireless body area sensor network for ubiquitous health monitoring. J. Mobile Multimed. 1(4), 307–326 (2005) 16. Siewiorek, D.: Generation smartphone. IEEE Spectr. 49(9), 54–58 (2012) 17. Silva, B.M., et al.: Mobile-health: a review of current state in 2015. J. Biomed. Inform. 56, 265–272 (2015) 18. Soceanu, A., et al.: Towards interoperability of eHealth system networked components. In: CSCS 2013 (2013) 19. Sorber, J., et al.: An amulet for trustworthy wearable mHealth. In: HotMobile 2012 (2012) 20. Stach, C., Mitschang, B.: Privacy management for mobile platforms - a review of concepts and approaches. In: MDM 2013 (2013) 21. Stach, C., Mitschang, B.: Design and implementation of the privacy management platform. In: MDM 2014 (2014) 22. Stach, C., Mitschang, B.: The secure data container: an approach to harmonize data sharing with information security. In: MDM 2016 (2016) 23. Stollmann: Terminal I/O Profile. Client implementation guide. Stollmann Entwicklungs- und Vertriebs-GmbH (2015) 24. de Toledo, P., et al.: Telemedicine experience for chronic care in COPD. IEEE Trans. Inf Technol. Biomed. 10(3), 567–573 (2006)

Decision Support System for Medical Care Quality Assessment Based on Health Records Analysis in Russia Maksim Taranik1 ✉ and Georgy Kopanitsa1,2 (

)

1

2

Tomsk Polytechnic University, Tomsk, Russia [email protected] Tomsk State University for Architecture and Building, Tomsk, Russia

Abstract. The paper presents developed decision system, oriented for healthcare providers. The system allows to healthcare providers to detect and decrease medical nonconformities in health records and forecast the sum of insurance payments taking into account-detected nonconformities. The main components are ISO13606, fuzzy logic and case-based reasoning concept. The result of system implementation allowed to 10% increase insurance payments for healthcare provider. Keywords: Standards · Case based reasoning · Quality assurance

1

Introduction

Quality of medical care is an important factor that determines the life standard of a country (region) [1, 12]. Unification was one of the steps to increase the quality of medical care in Russia. As a result, treatment standards were developed and imple‐ mented in Russia. A standard provides a reference model of a treatment case and describes the necessary medical services and drug prescriptions. Each medical service and drug prescription has a coefficient determining the probability of its application. Therefore, a medical specialist has to make a treatment decision based on these coeffi‐ cients. This fact identifies medical standards as reference documents with uncertainties and makes fuzzy logic [3] a relevant tool to work with them. Payment for healthcare can be form insurance company, patient or different funds. In the present work payments from insurance companies are figured. In this case there is medical expert’s evaluation of health records and invoices documents. Employees of a medical insurance company perform these procedures. Invoice documents contain the data of insurance payment for a medical service [2]. During the expert evaluation, a medical expert measures a deviation of the medical services presented in the health records from medical standards. Medical experts do not only use standards but also their personal knowledge and experience, which can lead to a subjective conclusion. There‐ fore, the personal experience of a medical expert is the main element of an expert eval‐ uation. As a result, an expert produces a document, which presents all nonconformities. This document evaluates the quality of medical care provided and specifies the sum of insurance payments for the analyzed treatment case.

© Springer International Publishing AG 2017 R. Damaševičius and V. Mikašytė (Eds.): ICIST 2017, CCIS 756, pp. 203–209, 2017. DOI: 10.1007/978-3-319-67642-5_17

204

M. Taranik and G. Kopanitsa

We can distinguish between two approaches to medical care quality assessment during the health records expert evaluation: based on the medical standards (explicit knowledge) and based on the expert’s personal experience (implicit knowledge). In the Russian practice, the use of implicit knowledge is more common. That is why it is necessary to use case-based reasoning (CBR) [4–6, 11] in decision support systems of medical aid quality control and management. In our work, we propose a concept of a decision support system for medical aid quality management. This system allows healthcare providers to detect and ultimately reduce medical nonconformities in health records. Moreover, it makes use of the detected nonconformities to forecast the sum of insurance payments.

2

Methods

The object of the presented research is the process of planned surgical treatment in the Institute of Microsurgery (Tomsk, Russia). It consists of six steps and each step involves registering a set of medical documents in health records. We acquired a set of health records of the year 2015 inspected by medical experts as well as the results and conclu‐ sions of their evaluation. Combinations of treatment cases of 2015 and results of expert evaluation determined a set of treatment cases. Therefore, being the key elements of the CBR concept, the treatment cases represented a training set for the developed system. Linking the medical conclusions to the results of the expert evaluation allowed us to formulate the logical inference rules. To find the treatment cases closest to the one under study, the system primarily selected a set of cases based on the ICD-10 code. Then the obtained set of cases and the investigated case were formalized in vectors, where vector variables conform to the numbers of medical documents at each step of the medical aid process. We used the Euclidean metric to limit the set of cases. The final set of treatment cases was used to form four reference models. We used fuzzy logic (Mamdani algorithm) to determine the probability coefficients of the entities of each reference model. In accordance with the developed models, we determined how many medical documents are required at each step of the medical aid process based on the logical inference rules. Moreover, Mamdani algorithm was used to evaluate the quality of the whole treatment case and to forecast the amount of the insurance payment based on the detected nonconformities. The developed algorithm was tested using the health record archive of the Institute of Microsurgery. The evaluation was based on the accuracy of the forecast of insurance payments. The actual amounts of insurance benefits paid to the Institute of Microsurgery were cross-referenced with the estimated values obtained using the above algorithm. The core of system’s medical aid quality evaluation is reference models forming mechanism, that allow to build models of the steps of healthcare process: registration of white papers, conducting of laboratory tests, conducting of diagnostic tests, conducting of treatment procedures, prescription of medicine, formation documents for insurance company.

Decision Support System for Medical Care Quality Assessment

205

The concept of developed intellectual information system is presented on Fig. 1. Medical standard-based medical insurance forecasting consists of 4 iterations and clinical case-based – consists of 6 iterations.

Fig. 1. The concept of decision support system.

The reference model building process can be presented in several steps: 1. Getting a set of treatment cases, which correspond to researched treatment case by ICD-10 code; 2. Formalization of selected treatment cases; 3. Formalization of researches treatment case; 4. Using Euclidian distance for getting distances between treatment cases and treatment case. Gaussian distribution defines set of distances; 5. Making a restriction for the closest treatment cases using three-sigma rule; 6. Getting a restricted set of treatment cases; 7. Getting entities for reference model; 8. Getting probability coefficient of entities. In the current project, we used archetypes of ISO 13606 [7–10] for storing data.

3

Results

Developed intellectual information system was implemented in the Institute of Micro‐ surgery (Tomsk, Russia). The Institute provides hundreds different surgeries each month. Decision support system was adapted for implementation in the Institute’s medical aid process and cooperation with the local information system. The first stage of system implementation was a definition of treatment case base. This stage represented a data acquisition process by the Institute’s treatment cases of 2015. The developed algorithm was evaluated using this training set. This evaluation allowed to define the estimation in comparison of real results of medical aid control process and fact sums of

206

M. Taranik and G. Kopanitsa

insurance payments. After the series of experiment based on the all treatment cases of 2015, were obtained the following results shown in Table 1. Table 1. The results of system implementation. Month

Insurance payment

Fact insurance payment

January February March April Mai June July August September October November December

1453078.95 1243769.37 1416603.47 1840312.09 2073797.2 1574380.83 968507.14 861201.62 1293392.96 1214080.05 1402607.06 1408544.94

1426719.097 1232996.397 1400698.491 1815457.909 2064890.412 1555655.37 840821.974 853895.934 1279205.718 1204261.377 1388928.78 1385058.59

Precedent-based insurance payments forecasting 1426719.097 1214501.451 135877.536 1815457.909 2064890.412 1555655.37 815597.3148 853895.934 1260017.632 1168133.536 1347260.917 1385058.59

Standard-based insurance payments forecasting 1412451.906 1202356.437 1317917.21 1815457.909 2064890.412 1540098.816 815597.3148 853895.934 1247417.456 1156452.2 1306843.089 1371208.004

By these results, we can conclude that there is a significant divergence between insurance payments computations using treatment cases analysis and medical standards. In the way of using treatment cases, the forecast is more precise. In all treatment, cases received insurance payments values are conformed fully to the real values from learning set of 2015. The graphical results are presented in the Fig. 2. The forecasting of developed system based on the differences recognition between reference model and a formal model of researched treatment case. The conclusion of

Table 2. Comparative analysis of the results before and after system implementation. Month January February March April Mai June July August September October November December

Fine sum before implementation 26359.853 10772.973 15904.979 24854.181 8906.788 18725.46 2990.136 7305.686 14187.242 9818.673 13678.28 23486.35

Fine sum after implementation 10016.74 7002.43 8111.54 10190.21 1068.81 0.00 508.32 3068.39 7093.62 0.00 6018.44 6106.45

Decision Support System for Medical Care Quality Assessment

207

December November October September August July June Mai April March February January 0

500000

1000000

Forecasting sum based on standard

1500000

2000000

Forecasting sum based on precedents

Total sum

2500000 Payment sum

Fig. 2. Graphical results of system implementation.

the end of the first stage of implementation, that the results of inference engine are correspond to the fact. This confirms the accuracy of developed algorithm. The system implementation in Institute of Microsurgery’s treatment process in the beginning of 2016 would allow to significant decrease the total sum of deduction from insurance payments (Table 2).

30000

25000

20000

15000

10000

5000

0 0

2

4

6

8

10

12

14

-5000

Fine sum before implementation

Fine sum after implementation

Fig. 3. Graphical results of comparative analysis before and after implementation per month.

208

M. Taranik and G. Kopanitsa

Figure 3 describes graphs before and after developed system implementation based on the Institute’s data of 2014. The key results of intellectual system implementation: • The possibility of the insurance payments forecasting was implemented • The insurance payments for medical care were increased by timely correction of treatment cases records;

4

Discussion and Conclusion

The results allow to conclude that there is a divergence between quality evaluations of the steps of treatment case. Therefore, the value of sums of insurance payments based on the treatment case reference models represents closer result to the fact. Moreover, presented concept can be also applied to others solution in public health. So, hybrid inference method based on fuzzy logic and CBR can be used for different relevant prob‐ lems which require decision-making process. The system uses case-based reasoning (CBR) technology and performs automated verification of each step of the medical care process locally based on the reference models and reports to medical specialist about deviations. Reference models building process is based on the dual approach. So, the system contains information not only about medical standards, but also about previous treatment cases and their expertise. The methods presented this research has demon‐ strated an effectiveness on insurance payments forecasting.

References 1. Taranik, M.A., Kopanitsa, G.D.: Analysis of the process of control quality of medical service in the scope of compulsory health insurance program. J. Control Comput. Sci. Tomsk State Univ. 3(32), 75–85 (2015) 2. Kopanitsa, G., Yampolsky, V.: Approach to extract billing data from medical documentation in Russia – lessons learned. Stud. Health Technol. Inf. 2010, 349–353 (2015) 3. Zadeh, L.A.: Fuzzy sets. Inf. Control 8, 338–353 (1965) 4. Haghighi, P., Burstein, F., Zaslavsky, A., Arbon, P.: Development and evaluation of ontology for intelligent decision support in medical emergency management for mass gatherings. Decis. Support Syst. 54, 1192–1204 (2013) 5. Bequm, S., Barua, S., Ahmed, M.U.: Physiological sensor signals classification for healthcare using sensor data fusion and case-based reasoning. Sensors 14, 11770–11785 (2014) 6. Gonzalez, C., Lopez, D.M., Blobel, B.: Case-based reasoning in intelligent Health Decision Support Systems. Studies in Health Technology and Informatics 189, 44–49 (2013). pHealth 2013 7. Kopanitsa, G., Taranik, M.: Application of ISO 13606 archetypes for an integration of hospital and laboratory information systems. In: Dregvaite, G., Damasevicius, R. (eds.) ICIST 2015. CCIS, vol. 538, pp. 29–36. Springer, Cham (2015). doi:10.1007/978-3-319-24770-0_3 8. Kopanitsa, G., Hildebrand, C., Stausberg, J., Englmeier, K.H.: Visualization of medical data based on EHR standards. Methods Inf. Med. 52(1), 43–50 (2013)

Decision Support System for Medical Care Quality Assessment

209

9. Martinez-Costa, C., Menarguez-Tortosa, M., Fernández-Breis, J.T.: An approach for the semantic interoperability of ISO EN 13606 and OpenEHR archetypes. J. Biomed. Inform. 43, 736–746 (2010) 10. Kopanitsa, G.: Evaluation study for an ISO 13606 archetype based medical data visualization method. J. Med. Syst. 39(8), 82 (2015) 11. Gu, D., Liang, C., Zhao, H.: A case-based reasoning system based on weighted heterogeneous value distance metric for breast cancer diagnosis. Artif. Intell. Med. 8, 31–47 (2017) 12. Semenov, I., Kopanitsa, G., Karpov, A., Lakovenko, G., Laskovenko, A.: Implementation of a clinical decision support system for interpretation of laboratory tests for patients (2016)

Information Systems: Special Session on Information and Software Technologies for Intelligent Power Systems

Models of Decision Making in Planning the Structure of Hybrid Renewable Energy System Olha Shulyma

, Vira Shendryk(&) , Yuliia Parfenenko and Sergii Shendryk

,

Sumy State University, Sumy, Ukraine {o.shulym,ve-shen}@opm.sumdu.edu.ua, {yuliya_p,s.shendryk}@cs.sumdu.edu.ua

Abstract. This paper is devoted to the development of scientific and methodological foundations of improvement the information support of decision during planning stage of creation hybrid energy system with renewable energy sources. Here are proposed models of multiple-criteria decision-making for choosing the optimal structure of the grid within three interrelated valuation scenarios by defining a plurality of quality criteria in the form of explicit dependencies from linguistic variables. It was improved the model of structure synthesis of hybrid energy grid by using the methods of combinatorial logic. The model of analysis the technical and economic parameters of the system are proposed accordance to operating logic of the real system. Based on developed models in paper is proposed the information technology of decision support planning hybrid renewable energy system structure. Keywords: Information technology  Multiple-criteria decision-making of planning hybrid renewable energy system  Decision support system

1 Introduction Climate change and limited fossil fuels are the greatest global problems facing the world today. Residual houses use about 40% of primary energy consumption. Under these circumstances, energy saving is required. Additionally, the world trends of consistent growth in the cost of energy carriers and severe restrictions in their impact on the environment define significant changes in the requirements for energy systems (ES). The development and the introduction of the energy-saving technologies by increasing the share of renewable energy sources (RES) is a way to meet those needs [1]. Availability of several energy sources makes such system a hybrid renewable energy system (HRES). The process of hybrid system creation is conceived as a set of problems to be solved at each stage, such as planning, designing, installation and operation. Installation and operation are those stages which should be considered during creation and work of the real energy system, so this study is focused on the stages of planning and designing.

© Springer International Publishing AG 2017 R. Damaševičius and V. Mikašytė (Eds.): ICIST 2017, CCIS 756, pp. 213–225, 2017. DOI: 10.1007/978-3-319-67642-5_18

214

O. Shulyma et al.

Despite the significant advantages of such systems, it is very difficult to assess what capacity of RES use in economy. The non-determination of power generation process complicates a decision making process at the stages of planning and designing of a distributed grid; the amount of primary energy depends on the season, day, weather conditions, and RES plants available on the market. In addition, the high cost of the construction of the energy grids with renewable energy sources requires the preliminary detailed analysis of all energy efficiency indexes. This complicates making the right decision regarding the planning system components. The methodological basis of the planning process of HRES is a system analysis, based on the process of building of generalized model system. In practice, this is connected with the creation of relevant information decision support systems that provide advice on choosing components of HRES.

2 Analysis of the Current State Tymchuk S. [2], Schur I.Z, Klymko V.I. [3], S. Lazarou, D.S. Oikonomou, L. Ekonomou [4], T.V. Ramachandra [5], I.M. Muslih, Y. Abdellatif [6] studied scientific and methodological bases of energy system modeling. Control technologies of autonomous energy system with renewable energy sources are examined by Holyk E.P. [7], H. Dagdougui, R. Minciardi, A. Ouammi, M. Robba, R. Sacile [8]. Problems of information support in decision-making during designing of grids with RES are discussed by Sabirzyanov T.G., Kubkina M.V., Soldatenko V.P. [9], C. Tiba, A.L.B. Candeias, N. Fraidenraich [10], Choong-Sung Yi, Jin-Hee Lee, Myung-Pil Shim [11]. In spite of extensive use of information technology to solve specific problems, there is not for the moment a unified integrated approach to addressing the problem of improving the quality of decision-making processes when planning the structure of hybrid energy systems with renewable energy sources. Improvements of information support decision-making processes will allow to increase the effectiveness of the decisions on the planning of grid structure, thereby reducing the cost of building the grid while ensuring a sufficient level of energy efficiency.

3 Aims and Objectives of the Study This study aims at development of a model that solves a multiple-criteria decision-making problem to choose the best structure of the hybrid renewable energy system. The achievement of the aim stated in this study will require solving the following interrelated problems: • To formalize the decision-making problem when planning the structure of a hybrid energy system by developing a set of models; • To develop a planning model for structure of energy grid with renewable energy sources by using the method of structure synthesis;

Models of Decision Making in Planning the Structure

215

• To develop a model that defines technical-and-economical indexes of energy grid; • To generate a set of quantitative and qualitative criteria to evaluate alternatives of HRES structure • To develop a model of decision support when planning the structure of hybrid energy grids of renewable energy; • To develop decision support system models when planning the structure of hybrid energy systems with renewable energy sources.

4 Decision-Making Processes When Planning the Structure of Hybrid Energy Systems Decision support when planning the structure of hybrid energy systems with renewable energy sources is carried out according to the scheme shown in Fig. 1.

Fig. 1. The scheme of the decision making process

During information gathering and its preprocessing, the database (DB) receives data about the implication of factors influencing on energy grid structure. Information support for decision making when planning the structure of hybrid energy systems with renewable energy sources is carried out using a set of models: a model of information gathering and processing, a model that defines technical-and-economical indexes of energy grid, a model that generates the set of alternatives of energy grid structure, a model that creates effective decisions when planning the structures of hybrid energy systems with renewable energy, a model that defines estimation criteria.

216

O. Shulyma et al.

To make a decision on planning the best structure of grid, expert knowledge stored in the knowledge base is used. A decision maker (DM) analysing all data used in the decision-making process receives a feasibility data of the best alternative of grid structure and ranked list of decisions being the closest to the best one. A decision-support system (DSS) that performs the information support for decision making when planning the structure of hybrid energy systems with renewable energy sources is proposed, such DSS contains next components: DSS ¼ hO; Sw; Z; Dsi

ð1Þ

where O – the set of users, who make decision; Sw – the set of software; Z – the set of tasks which are performed in DSS; Ds – the set of data on which decisions are made.

5 DSS Tasks The set of problems Z, which serve DSS can be given as: Z ¼ Z 0 [ Z1 [ Z2 [ Z3 [ Z 4

ð2Þ

where Z0 – set of problems concerning gathering and preprocessing of information, Z1 – set of problems concerning the alternative generation, Z2 – set of problems concerning the definition of technical-and-economical indexes of alternatives, Z3 – set of problems to generate criteria for evaluation, Z4 – set of problems concerning the estimation of efficiency and decision making. 5.1

Tasks of Gathering and Preprocessing of Information

Set Z0 is formed by gathering data about plant Res available on the market, weather conditions Wcg, power consumption Ec, distribution grids available in the area which is planned to be connected to the HRES Pl. This results in formation of the set of the solar panels (P) available on the market, wind turbines (W), batteries (A), determination of the external grid capacity Tpl, day with the worst weather conditions in the area (Objs) which forms the basis for decision-making.   Z0 ¼ Step0 : Res; Wcg ; Ec ; Pl ! fP; W; A; Objs; Wc ; Tplg

ð3Þ

Zo ¼ Wc [ Ec [ Res [ Tpl

ð4Þ

Res ¼ P [ W [ A ð6Þ

ð5Þ

The data set of weather conditions Wcg ¼ ft; v; c; sdg

ð6Þ

where t – ambient temperature in °C, v - wind speed in meters per second, c – cloudiness – is value from the set from 1 to 5, sd - duration of solar day in hour.

Models of Decision Making in Planning the Structure

217

The set of data on the solar panel/wind turbines/storage battery PjW jA ¼ fprice; power; manuf g

ð7Þ

where price – equipment price in euro, power – power for solar panels and Wind turbines in Wh/capacity in AH, manuf – name of manufacturer. 5.2

Tasks of Generating a Set of System Structure Alternatives

The planning process of HRES structure refers to the problems of the structural synthesis. The identification of the system configuration is considered within the morphological analysis for day with a worse weather conditions in the place (ObjsÞ. Z1 ¼ Step1 : fObjs; P; W; Ag ! fi; I g

ð8Þ

Each alternative is characterized by the presence of solar panels P and/or wind turbines W and as well as battery A [12].

ð9Þ The problem of sorting of all possible configurations is proposed to solve using combinatorial analysis. Total number of alternative structures of HRES:

ð10Þ where PVmn ; Wkl – is a number of all possible combinations of solar panels and wind turbines, ABpo is a number of all possible alternatives of batteries, n, l, p is a certain type of solar panel, wind turbine, battery consequently, m, k, o is the total number of types of solar panel, wind turbine, battery. 5.3

Tasks of Forming a Set of Technical-and-Economical Indexes

The set of technical-and-economical indexes B(i) of alternatives is generated with regard to a operating logic of HRES. Z2 ¼ Step2 : fObjs; i; Wc; Ec ; Tplg ! fi; BðiÞg

ð11Þ

The set Z2 for each alternative i forms with the reference to gathering data on capacity of the external grid Tpl, weather conditions Wc based on it the day with the whorse condition is determined (ObjsÞ. The level of a battery charge depending on the consumption in the economy and the real capacity of the solar panel/wind turbine – the capacity that can be generated in areas where the HRES is planned to be built under the worst weather conditions is

218

O. Shulyma et al.

obtained. Indexes of technical and economical efficiency and their limit value are calculated for each alternative [13]. Consumption in the household: RH ¼

XN i¼1

RHi

ð12Þ

The value of energy generated by solar panels: 0  Es  Esmax

ð13Þ

The value of energy generated by wind turbines: 0  Ew  Ewmax

ð14Þ

The value of the battery capacity: 0  Ebmin  Eb  Ebmax

ð15Þ

The value of the total available generated energy: Ea ¼ Es þ Eb þ Ew

ð16Þ

The limit value of excess generated energy that may not exceed the grid capacity: 0  REPG  Tpl

ð17Þ

The limit value of energy deficiency: DPSP  0

ð18Þ

Energy and economic efficiency of the system is calculated on the bases of the following parameters: 1. Deficiency of power supply probability which depends on hourly possible energy scarcity: PT DPSP ¼

t¼1 ðRH ðtÞ  EaðtÞÞ PT t¼1 RH ðt Þ

ð19Þ

2. Relative excess power generated which depends on hourly possible excess energy which can be sold according to a “green” tariff to an external grid. PT REPG ¼

t¼1 ðEaðtÞ  RH ðt ÞÞ PT t¼1 RH ðt Þ

3. The total cost of building the system COE.

ð20Þ

Models of Decision Making in Planning the Structure

5.4

219

Tasks of Definition of Value Criterion

The set of definition problems of value criterion includes the problems of determining the set of K ¼ fjm g; m ¼ 1; m quantitative and qualitative criteria, calculation of membership functions of qualitative criteria given in the form of fuzzy variables, reduction to one space with quality quantitative estimates. Z3 ¼ Step3 : fObjs; i; BðiÞg ! fi; K g

ð21Þ

Such quantitative assessment criteria include the following: deficiency of power supply probability (DPSP), relative excess power generated (REPG) and total cost of building the system (COE). Qualitative criteria are: noise (N), aesthetic integrity (EV), possible repair works (RC), scheduled maintenance (SC) and influence of characteristic features of areas on the energy generation (SA). The list of criterion may be supplemented by experts. K ¼ fREPG; DPSP; COE; N; EV; RC; SC; SAg

ð22Þ

The fuzzy-set theory and expert evaluation methods are used to calculate the membership functions of qualitative criteria llh ðub Þ ¼

1X bk k¼1;K h;b K

ð23Þ

where K – the amount of experts; bkh;b opinion of k-th expert on the presence of properties fuzzy sets in the element ub . In general the model of fuzzy inference for decision on the value of quality criteria can be expressed by: Z ¼ F ðZ1; Z2; . . .; ZN Þ

ð24Þ

where Z1; Z2; . . .; ZN is linguistic variables that characterize the quality criterion. Mamdani’s method is used for fuzzy inference for decision on the value of quality criteria. The centroid method is used for defuzzification. The example of the rule of fuzzy inference decision on the identification of noise level (Z) is given in Table 1.

Table 1. An example of fuzzy rule of value output for criterion “Noise” The preconditions The rule formulation Interpretation

ZY is ZY1, BY is BY2 If ZY is ZY1 and BY is BY2 then Z = Z2. If “TheDistancetoHousehold” = ZY1 and “ThePowerOfWindturbines” = BY2, then value output for criterion “Noise” = Z2.

220

O. Shulyma et al.

Unfussy variable values “TheDistancetoHousehold” (ZY) and “ThePowerOfWindturbines” (BY) make up the rules as prerequisites predicates. Z ¼ fZ1; Z2; . . .Z9g

ð25Þ

Z ¼ FðZY; BYÞ

ð26Þ

ZY ¼ ZY1; ZY2; ZY3

ð27Þ

BY ¼ BY1; BY2; BY3

ð28Þ

The compilation of quantitative criteria estimation to a single space with quality is carried out according to normalization procedure. This procedure involves reducing the criteria to a dimensionless form on the interval [0; 1]. In addition to the current value of the criterion, the maximum and minimum values from all possible values within criterion are taken into account. sij ¼

5.5

  #i vi ð s Þ  v i viþ  v i

ð29Þ

Tasks of Estimation of Efficiency and Decision-Making

The set of efficiency and decision-making estimation problems contains problems of alternative utility functions and methods for the final ranking of alternatives used to determine the best one in term to estimation scenarios. Z4 ¼ Step4 : fObjs; i; I; EF  g ! fio ; K ðio Þg

ð30Þ

The estimation of efficiency consists of two stages: In the first stage all alternatives are ranked on social and economic scenario: 8 < REPGðsÞ  REPG COE ðsÞ  COE  ð32Þ ð31Þ : io ! arg maxðRi ðzÞÞ as well as energy efficiency scenario according to excess power generated: 8 < COE ðsÞ  COE  REPGðsÞ  REPG : io ! arg maxðRi ðzÞÞ

ð32Þ

The estimation of alternatives at the first stage results in generation of Pareto-optimal alternatives set that are combined for estimation in term of energy efficiency scenario according to deficiency of power supply probability:

Models of Decision Making in Planning the Structure



DPSPðsÞ  DPSP io ! arg maxðRi ðzÞÞ

221

ð33Þ

Where Ri ðzÞ is the additive function of general utility, COE  is limit values of the cost of the system, REPG is limit values of the energy efficiency of the system, DPSP is limit values of the energy deficiency in the system. In terms of each scenario the alternative efficiency is estimated according to typical procedure: 1. The calculation of total fuzzy utility function alternatives: Ri ðzÞ ¼

Xm j¼1

wj sij ; z ¼ ðw1 . . .wm ; si1 . . . sim Þ

ð34Þ

According to relation 31 the total fuzzy utility function of each alternatives is produced by considering criterion weight within universal space [0, 1]. The weight of criterion is distributed according to three scenarios. The procedure of criterion weightening is performed by experts and is as follows: in the first stage all criterion is divided into low, medium, high priority. Then, criteria are classified as more or less important within each of this group (Table 2). Table 2. Weight distribution of criteria Socio-economic scenario High priority Medium priority Less More Less More important important important important SC, RC COE EV N Energy efficient scenario of first level High priority Medium priority Less More Less Less important important important important SA REPG N EV, DPSP Energy efficient scenario of second level High priority Medium priority Less More Less Less important important important important REPG DPSP SA, SC RC

Low priority Less important REPG,N

More important SA

Low priority More important COE, SC

Less important RC

Low priority More important N, EV

Less important COE

2. The final ranking of alternatives: for scenarios of stage I - generation of Pareto-optimal solutions, for s of stage II - generation of the matrix of concessions and selection of effective alternative according to max min approach [14]: lm ¼ minfli im ð xÞg

ð35Þ

222

O. Shulyma et al.

lð xÞ ¼ maxflk g

ð36Þ

A decision maker receives feasibility data of the best alternative in terms of estimation according to estimation criterion and weight of criterion as well as recommendations for alternative planning of the latter, which is closest to the best structure of the energy grid.

6 Information Technologies for Decision Support When Planning a Structure of Energy Grid SADT-methodology and IDEF-technology were used as the mathematical tools for modeling. These technologies provide the possibility to display and analyze models of complex systems in a graphic representation of functional, information and logical structures of processes. As a result of the system analysis of information relationships between the planning process components of the grid structure, the functional models for numerical calculation of technical and economic parameters of energy grid, planning of several alternatives of energy grid structure as well as decision generation on planning the structure of hybrid energy systems with renewable energy were developed. The information technology for decision support when planning the structure of the energy grid with RES combining models and algorithmic support the abovementioned process was developed.

Fig. 2. The functional model of information technology of decision support

Models of Decision Making in Planning the Structure

223

The information technology for decision support when planning the structure of the energy grid with RES consists of five interrelated stages. Figure 2 shows the functional model of the proposed information technology. The stage 1 includes gathering of data, verification of data correctness and data storage. The sets of data consist of data about weather conditions in the area, power consumption in the economy, plant RES available on the market. In the stage 2 data received at the stage 1 are used for calculation of all possible combinations of energy grid according to model (8) reported in the Sect. 2. In the stage 3 energy and economic indexes for each configuration is calculated according to model (11) presented at the Sect. 2. The output data are interpreted into quantitative criteria indicating the boundary conditions. In the stage 4 all alternatives are estimated based on the developed rating model for alternatives according to three optimization scenarios (32, 33, 34). In the stage 5 the decision on choice of the best structure of hybrid energy grid among the alternatives ranked on the basis of the utility function model is generated. Thus the decision maker receives recommendations for the best grid structure.

7 Results and Comparison to the Other Methods Outcomes According to proposed methodology were generated 28356 all alternatives which can satisfy household consumption. After socio-economic scenario it were chosen 16 alternatives and after energy efficiency scenario according to excess power generated it were chosen 6775 alternatives. After was formed the new set with 9 alternatives as the intersection of results, and was determined the optimal configuration in term of energy efficiency scenario according to deficiency of power supply probability. This approach helped to determine the best alternative within 3 interrelated estimation scenarios. For a temperate climate with a cold and gloomy winter, it was determined that the configuration consisted of 160 solar panels with a power of 160 W and 7 batteries with a capacity of 1000 Ah. In order to verify the correctness of the calculations, the results were compared with the opinion of the expert group and using software based on the use of ELECTRE III and Promethee methods. The results show that correctness of proposed methodology is higher on 13,5% in accordance to ELECTRE III method, and higher on 16,8% in accordance to Promethee method.

8 Conclusions This study resulted in theoretical generalization of existed approaches regarding to information support of planning the grid structure and developing the model set that implement the task of gathering, processing and analyzing the data on the basis of which decisions on planning of building energy efficiency using RES considering operation logic of real grid and factors influencing on generation and consumption of electric energy are taken on.

224

O. Shulyma et al.

1. The analysis of models, methods and tools used for information support when planning the structure of hybrid energy system was carried out. The aims and objectives of this study were produced at the basis of the results of this analysis. 2. The model of structure synthesis of hybrid energy grid was improved by using the methods of combinatorial logic analysis. 3. The model of technical and economic parameters of the system which allows to consider the operating logic of the real system was improved. 4. The models of multiobjective problem choosing the best structure of the energy grid within three interrelated estimation scenarios were developed.

References 1. Shendryk, V., Shulyma, O., Parfenenko, Y.: The topicality and the peculiarities of the renewable energy sources integration into the ukrainian power grids and the heating system. In: Promoting Sustainable Practices Through Energy Engineering and Asset Management, pp. 162–192 (2015) 2. Tymchuk, S.O., Shendryk, V.V., Shendryk, S.O., Shulyma, O.V.: Pidtrymka pryynyattya rishen’ dlya optymal’noho keruvannya elektropostachannya vid vidnovlyuval’nykh dzherel enerhiyi. Problemy enerhoresursozberezhennya v elektrotekhnichnykh systemakh. Nauka, osvita i praktyka, vol. 1, pp. 208–210 (2016) 3. Shchur, I.Z., Klymko, V.I.: Prohnozuvannya efektyvnosti roboty fotoelektrychnykh paneley u misti L’vovi. Visnyk Natsional’noho universytetu “L’vivs’ka politekhnika”. Elektroenerhetychni ta elektromekhanichni systemy, vol. 785, pp. 88–94 (2014) 4. Lazarou, S., Oikonomou, D.S., Ekonomou, L.: A platform for planning and evaluating distributed generation connected to the hellenic electric distribution grid. In: Proceedings of the 11th WSEAS International Conference on Circuits, Systems, Electronics, Control & Signal Processing, pp. 80–86 (2012) 5. Ramachandra, T.V.: RIEP: Regional integrated energy plan. Renew. Sustain. Energy Rev. 13(2), 285–317 (2009) 6. Muslih, I.M., Abdellatif, Y.: Hybrid micro-power energy station; design and optimization by using HOMER modeling software. In: Proceedings of The 2011 International Conference on Modeling, Simulation and Visualization Methods, pp. 183–193 (2011) 7. Golik, E.P.: Avtomaticheskoe upravlenie processom jenergosnabzhenija avtonomnyh potrebitelej na osnove apparata nechetkoj logiki s nejrosetevoj adaptaciej. Jelektronnoe modelirovanie 35(3), 113–123 (2013) 8. Dagdougui, H., Minciardi, R., Ouammi, A., Robba, M., Sacilea, R.: A dynamic optimization model for smart micro-grid: integration of a mix of renewable resources for a green building. In: Proceedings of the 2010 International Congress on Environmental Modelling and Software, pp. 1–8 (2010) 9. Sabirzyanov, T.H., Kubkin, M.V., Soldatenko, V.P.: Metodyka vyboru struktury i skladu system elektropostachannya z vidnovlyuvanymy dzherelamy. Zbirnyk naukovykh prats’ KNTU 24(2), 146–151 (2011) 10. Tiba, C., Candeias, A.L.B., Fraidenraich, N., de Barbosa, E.M., de Carvalho Neto, P.B., de Melo Filho, J.B.: A GIS-based decision support tool for renewable energy management and planning in semi-arid rural environments of northeast of Brazil. Renew. Energy 35(12), 2921–2932 (2010)

Models of Decision Making in Planning the Structure

225

11. Yi, C.-S., Lee, J.-H., Shim, M.-P.: Site location analysis for small hydropower using geo-spatial information system. Renew. Energy 35(4), 852–861 (2010) 12. Shulyma, O., Shendryk, V., Baranova, I., Marchenko, A.: The features of the smart microgrid as the object of information modeling. In: Dregvaite, G., Damasevicius, R. (eds.) Information and Software Technologies, ICIST 2014. Communications in Computer and Information Science, vol. 465, pp. 12–23 (2014) 13. Pakštas, A., Shulyma, O., Shendryk, V.: On defining and assessing of the energy balance and operational logic within hybrid renewable energy systems. In: Dregvaite, G., Damasevicius, R. (eds.) ICIST 2016. CCIS, vol. 639, pp. 151–160. Springer, Cham (2016). doi:10.1007/ 978-3-319-46254-7_12 14. Dubois, D., Fargier, H., Prade, H.: Refinements of the maximin approach to decision-making in a fuzzy environment. Fuzzy Sets Syst. 81(1), 103–122 (1996)

Software Architecture for an ORC Turbine – Case Study for an Intelligent Technical System in the Era of the Internet of Things Carsten Wolff ✉ , Mathias Knirr, Tobias Pallwitz, Hüseyin Igci, Klaus-Peter Priebe, Peter Schulz, and Jörn Strumberg (

)

Dortmund University of Applied Sciences, Otto-Hahn-Str. 23, 44227 Dortmund, Germany [email protected]

Abstract. Intelligent Technical Systems are the consequent extension of the concept of Mechatronic Systems into the world of software-intensive, networked systems. The concept enhances the functionality and variability of physical (or electro-mechanical) technical systems by adding embedded electronics and soft‐ ware. This adds degrees of freedom (DoF) and controllability to the technical systems. It enhances the effectivity of integrating such systems into distributed infrastructures (e.g. smart grids) via a public network like the internet. Therefore, it enables them for an effective integration into the internet-of-things (IoT) since such Intelligent Technical Systems can add and draw significant functionality and optimisation potential from networking with other systems. They can become an integral part of a distributed system which is coupled via the IoT. Nevertheless, it is important to leverage between local control and distributed control carefully according to the requirements of the technical application. A smart heating grid is an example of a distributed cyber-physical system (CPS) which can be coupled via IoT. Such systems include components like block heat and power plants which produce electricity (fed into the public smart grid) and heat. Smart heating grid benefit from components which can convert heat into electricity in a flexible and controllable way and which can change fast from heat provision to electricity provision and vice-versa. An Organic Rankine Cycle (ORC) Turbine is such a component since it converts exhaust heat into electricity. This takes heat out of the heating grid and puts electricity into the electricity grid instead. Making such an ORC turbine intelligent means optimizing it for the usage in a smart heating grid. The challenge is to design a control software architecture which allows coupling via IoT on the required interaction level of the distributed system while guaranteeing a safe operation on the local level. The paper presents the software architecture of an ORC turbine based on the architecture of the OperatorController-Module (OCM). The OCM provides an architecture pattern which allows a seamless integration into a smart heating grid based on an IoT infra‐ structure while enabling maximum flexibility and efficiency of the local func‐ tionality of the turbine. Keywords: Intelligent technical systems · Operator-Controller-Module (OCM) · Smart heating grid · Organic Rankine Cycle (ORC) turbine

© Springer International Publishing AG 2017 R. Damaševičius and V. Mikašytė (Eds.): ICIST 2017, CCIS 756, pp. 226–237, 2017. DOI: 10.1007/978-3-319-67642-5_19

Software Architecture for an ORC Turbine

1

227

Introduction

1.1 Challenges for IoT in Technical Applications Smart-X applications are an important domain for the market deployment of Internet-ofThings (IoT) technology [30]. For smart heating grids and smart electricity grids a major progress is expected if the coupling is moving from proprietary standards to open proto‐ cols as with the IoT. Nevertheless – apart from general challenges in communication via public infrastructure like security, reliability and standards for interfacing [29] – tech‐ nical applications like smart grids face some specific challenges which need to be addressed carefully [30]: • “Dealing with critical latencies, e.g. in control loops”: Technical systems like the example of the ORC turbine contain control loops which operate the system and its subsystems in certain operation points which are safe, reliable and efficient. The control loop has to react in a defined time to deviations. This requires the fulfilment of certain real-time requirements. Dependent on the re-action time this cannot be fulfilled via the internet. Therefore, the system architecture has to partition the func‐ tionality into control loops with different real time requirements. • “System partitioning (local/cloud based intelligence)”: During partitioning of the system the decision needs to be taken which functionality is implemented locally without coupling via IoT and which functionality can be implemented e.g. as a cloud service. Apart from real-time considerations this has to take into account that the technical system should be able to operate safely or at least to fail safely without IoT connection. Functionality which requires coupling via IoT or certain cloud services needs to be separated from local functionality. • “Real-time models and design methods describing reliable interworking of hetero‐ geneous systems. Identifying and monitoring critical system elements. Detecting critical overall system states in due time.”: The ORC turbine of our example will be embedded into such a heterogeneous system and needs to signal critical states. Furthermore, it has to react appropriately to critical states from the overall system. • “Power grids have to be able to react correctly and quickly to fluctuations” in demand and supply: This ability to react to fluctuations is the main benefit of an intelligent ORC turbine. Only with this flexibility it becomes useful to integrate the turbine into a smart heating grid and therefore connect it to the IoT. The following sections are dealing with the respective steps to design the software architecture of an ORC turbine according to the requirements of an operation in a smart heating grid which is coupled via IoT. This serves as an example and a blue print for the design of Intelligent Technical Systems [15] for effective and efficient integration into IoT-coupled smart systems. The example case of the ORC turbine with its specific characteristics and requirements is presented in Sect. 1.2. Section 2 summarizes the relevant related work on IoT device architectures (briefly in Sect. 2.1) and the applied Operator-Controller-Module (OCM) architecture [3, 17, 20] (in Sect. 2.2). Section 3 describes the software and system architecture of the ORC turbine in more detail. It contains the main consequences for the integration of such an Intelligent Technical

228

C. Wolff et al.

System into the IoT. Section 4 presents results from the implementation of the ORC turbine and the integration into a district heating system. Section 5 summarizes the work and draws the main conclusions. 1.2 Case Study ORC Turbine Organic Rankine Cycle (ORC) turbines implement a thermodynamic process which converts low temperature heat (e.g. exhaust heat from a motor) into electricity [7]. With this functionality, it serves as a valuable component in sustainable energy systems and contributes to long term strategies for mitigating global warming [22]. Nevertheless, ORC turbines are not a big market success so far [25] which is caused by several factors. The price is too high compared to the power which is generated and the flexibility in terms of reaction to the fluctuation in heat and electricity demand is too low due to the slow changes of efficient operating points in the thermodynamic processes. Therefore, we developed the ORC system [31] according to the following main requirements: • Flexibility in electricity production (and heat usage) due to several efficient operating points for different heat sources, temperatures and electricity demands. • Fast and robust change between the different operating points with guaranteed ther‐ modynamic stability. • Intelligent control and planning system with the ability to be connected to electricity and heat production control systems (e.g. smart grid) and to the overall energy system control and planning levels. • Modular system with complete automation of the control and maintenance systems. The main challenge is the design of an ORC turbine with several efficient operating points and a fast and robust change between the operating points. For using different temperature ranges, respective working fluids have been selected [27]. The result is a flexible, cascaded two-stage ORC turbine [8] which is based on four coupled thermo‐ dynamic modules: • The first module contains a direct evaporator driven by exhaust gas from a waste heat source (e.g. biogas block heat and power plant) with temperature levels up to 600 °C, cooling the exhaust gas down to 75 °C. • The second module contains the high temperature and high pressure ORC with a sophisticated turbo generator (HT TuGen). This module contains also the condenser of the working fluid, which produces heat at a level between 90 °C to 110 °C carried by a specific working fluid. • The third module uses solar or waste heat sources in the temperature range between 90 °C and 200 °C. It contains the low temperature und low pressure ORC, also with a sophisticated turbo generator (NT TuGen) using a grouping of nozzles for best efficiency at variable loads. Condensation energy is released on levels between 35 °C and 65 °C. • The fourth module – if required – contains the liquefier of the working fluid of the low temperature ORC.

Software Architecture for an ORC Turbine

229

The ORC turbine and the thermodynamic system were developed in a research project conducted by the authors [31].

Fig. 1. Organic Rankine Cycle (ORC) turbine [31]

One target application for the ORC turbine is the conversion of conventional District Heating Systems in the Ruhr-Metropolitan Area [18]. These heating grids have been supplied with heat from conventional coal and gas fired power plants or from large steel mills in the past. The conventional power plants go offline step by step. They are replaced by de-central heat sources. The university-industry-cluster ruhrvalley [32] is dealing with the development and set up of a smart heating grid for the Ruhr-Metropolitan Area – the so-called Ruhr Valley. The research on the flexible and smart ORC turbine is part of the efforts in ruhrvalley. It is a demonstrator and nlue print for future smart energy systems within ruhrvalley. The IoT-based system and software architecture will be multiplied into a variety of system components. Smart combined heat and power district heating systems [10] are a major area of research for the sustainable energy system of the future. Heat (and cooling) is a bigger amount of energy than electricity in many countries. Since such systems are by nature very heterogeneous and distributed, a centralized control and steering system is not feasible. Technology based on big data and cloud computing [2] is perceived as a way of managing such systems. The Internet-of-things will play an impor‐ tant role in web-enabled smart grid system [5]. For the overall system architecture of the networked energy grids, the reference model for industry 4.0 (RAMI 4.0) [16] can serve as a architecture model. In ruhrvalley, based on this template, a model-driven architec‐ ture for the Internet of Things [26] is developed as a smart heating grid platform. Compo‐ nents like the ORC turbine have to fit into this architecture to play a beneficial role in future smart heating grids. Therefore, the ORC turbine is developed according the refer‐ ence architecture model for intelligent technical systems in ruhrvalley, the OperatorController-Module (OCM) [3, 17, 20].

230

2

C. Wolff et al.

Related Work

2.1 Architectures for Devices in IoT Systems Within a smart heating grid, the intelligent technical system – the ORC turbine in our case study – is not only connected to the information network formed via the IoT. It is also connected with energy and material (e.g. hot water) flows via the physical (tube) network. Meaning, the smart heating grid is a “real” cyber-physical system (CPS) [1, 19] and not just a set of sensors and actuators of independent sub-systems connected via internet, but without physical connection. For such systems, the CERP-IoT [29] roadmap foresees a growing importance of the device architecture in terms of the trend “towards the autonomous and responsible behaviour of resources”. Therefore, it is not sufficient to see the “device” only as an electronic IoT gateway. Devices in smart systems are smart objects or systems themselves. In many cases they are complex mechatronic systems which are equipped with embedded devices which are connected via an IoT gateway to the cloud (Fig. 2).

Fig. 2. Constrained Device Architecture according to Eclipse IoT [9]

The Eclipse IoT project [9] is a major endeavour to develop an open source ecosystem for all aspects of the IoT. Within its IoT architecture, the constrained device architecture plays an important role. Such IoT devices are perceived as traditional (microcontroller based) embedded systems. The IoT functionality is delivered by the implemented communication stacks. For the communication, various standards and interfaces emerged in the past years, e.g. for M2M system (ETSI oneM2M Release 2 specifications [12]), the OGC standards, e.g. the OGC SensorThingsAPI [23], and MQTT - Message Queue Telemetry Transport Protocol [21] as the dominating commu‐ nication protocol for IoT applications. In automation industry, the OPC UA Unified Architecture [24] is an important standard to make programmable logic controllers (PLC) communicate with each other. This technology is typically used to connect

Software Architecture for an ORC Turbine

231

systems like the ORC turbine to the internet or other energy systems. Nevertheless, such standards focus on data exchange with guaranteed qualities without looking deeper into the technical system. Wider approaches like the European Technology Platform on Smart Systems Integration (EPoSS) [11] strive for a system integration of the technical sub-systems. Several technical sub-systems cooperate as multi-agent systems [6] in that case. For the ORC-turbine, such standards (e.g. OPC UA and MQTT) are used, but the focus of this paper is more into the software architecture of the ORC itself then on the technologies for connecting it to the IoT. 2.2 The Operator-Controller-Module (OCM) The architecture of the Operator-Controller-Module (OCM) can be connected to the very basic analysis and structuring provided by Ropohl in his description of a systems theory of technical systems (called “Technology at large”) [28]. Ropohl provides a threelayer-model of a general activity system – which can be a technical system, any ecosystem or even a biological system. The basic execution system deals with the “things” or the interaction with the “real world”. The information system could be IT or a nervous system in biology. We can easily guess that it would be the layer connecting the things in the Internet-of-Things (IoT). The target setting system is a kind of a “brain”. In technical systems, it can be seen as the place where data analytics (in some case with “big data” methods – another buzzword) or artificial intelligence methods find their place. It can be the place where the user or the socio-economic system comes in (Fig. 3).

Fig. 3. Technology stack according to Ropohl [28] and Operator Controller Module [13, 14]

232

C. Wolff et al.

The OCM technology stack [13, 14] is based on such a three layer approach and supports the separation of controllers with hard real time requirements from more complex and strategy oriented planning and controlling tasks. On the lowest level the motor loop is controlled by “classical” controllers. To make the approach flexible, these controllers can be configured with different parameters, that may be exchangeable according to the operation mode and the parameter or controller change may be done during operation (re-configuration). The development and the technology stack for this kind of controllers is state-of-the art. The re-configuration is done by the next layer, the reflective operator. This is a rule-based system with state machines and service func‐ tions, e.g. for emergency notification. The reflective controller is not allowed to interact directly with the technical but only via the controllers of the motor loop. With the reflective operator, the overall system can be operated and it can be connected to other systems in a network or to a smart grid. For intelligent technical systems, a more sophis‐ ticated layer for planning, reasoning and learning is added, the cognitive operator. This layer can include strategies for self-optimization and machine learning [3]. The user interaction can be added to this layer or to the reflective operator. In general, the imple‐ mentation of this technology stack and the combination with a networking module turns mechatronics systems into networked mechatronic systems (NMS) [13, 14].

3

Software and System Architecture

3.1 Overall System Architecture The system and software architecture for the ORC turbine is based on the 3-layer model of the OCM technology stack. The thermodynamic system (see Fig. 1) with its vaporizor, the two turbines (NT and HT), the pumps and tubes and the condenser plus the electrical system with the generators and the electrical converters are considered to be the controlled system. The motor loop with its controllers is based on a real time control via a real-time programmable logic controller (PLC) and operates the system autonomously around the desired operation points. The reflective operator implements the state machines for driving the machine from one operation point to another operation points (and from power on to operation and again back to power off). Furthermore, it imple‐ ments the coupling and synchronization to the electric grid and the service, monitoring and alarm function via the IoT and up to the planning layer. The cognitive operator plans the operating sequence of the ORC turbine system based on the demand for heat and electricity. The controller knows the capabilities of the ORC system and may plan and optimize e.g. daily sequences of operation modes. It can take maintenance intervals into account and it can use self-optimizing and learning strategies. The cognitive operator is connected to smart power grid and smart heating grid interfaces and to the overall opti‐ mization instance of the regional energy system. On the different layers of the system, different architectural concepts, description of components and languages are deployed. The implementation is done on a distributed PLC and Industry-PC system and connected via IoT technology to an IoT cloud [26].

Software Architecture for an ORC Turbine

233

3.2 Motor Controller Loop The controllers of the motor loop are developed in a model-based development approach by setting up a mathematical model of the controlled systems and by developing opti‐ mized controllers which are simulated with the model and later with the real system (Hardware in the Loop – HiL). They are basically data driven continuous systems which need to react real-time to any change of the system (Fig. 4).

Fig. 4. Model Predictive Control (MPC) approach for the motor control loop

The Model Predictive Control (MPC) is used for the controllers [31]. In such a system, the (simplified) mathematical model of the thermodynamic and electro-mechan‐ ical processes of the ORC turbine (controlled system) are simulated online at any time. With this model, the controller can calculate (predict) what actuator values need to be set to achieve a certain system behaviour based on the current state of the system (which is signalled by the sensors). Furthermore, based on the model the optimum placement of the actuators and sensors can be derived and the dynamics of the controlled system can be simulated. The MPC approach is quite powerful but consumes a lot of processing power. Therefore, it is better suited for slower processes like thermodynamic processes. For the high speed supersonic turbine a faster independent control loop is implemented. The controllers are initiated and started by the state machines of the reflective controller. They read their parameters from a shared memory controlled by the reflective controller. All controllers and the system models are described and validated in Matlab/Simulink and deployed via automatic code generation into C-Functions of the PLC [31]. 3.3 Reflective Controller Loop The main functionality of the reflective controller loop is implemented into several state machines and interrupt service functions. It follows a control driven and an event driven paradigm. The functionality is described in CoDeSys which is a domain specific language (DSL) for state charts and event driven systems [4]. The main state machines for ramping the system up (to power up), ramping it down (to safe off) and operating it with changing operation points are coupled via a central shared memory (called SVI) (Fig. 5).

234

C. Wolff et al.

Fig. 5. Thermodynamic Circuit diagram of the ORC turbine with coupling points between reflective controller and motor controller loops

The SVI contain all states of the system and all relevant values for sensors and actuators. Furthermore, it is used to set the operation points for the controllers. The data structure of the SVI is automatically generated from a master system scheme which contains the main thermodynamic circuits and defines the coupling points. The MPC controllers read their parameters from the SVI but can operate the system safely after‐ wards independently. The SVI implements connectivity via OPC-UA [24], too (Fig. 6).

Fig. 6. Coupling of state machines and controllers via SVI shared memory

Software Architecture for an ORC Turbine

235

3.4 Cognitive Controller – Planning Level The cognitive controller implements the integration of the ORC turbine into a biogas power plant (which supplies the exhaust heat via its block heat and power plant) and into a smart heating grid providing heat to residential areas and industry. The cognitive controller is partly implemented on an industrial PC and partly within an M2M cloud solution. The M2M cloud solution provides online access and monitors all operation data since the ORC system is a research prototype where the data is needed for evaluation and validation. The industrial PC implements the operating strategy of the biogas power plant and the smart heating grid. It provides the ORC system with the required infor‐ mation about how much heat and how much electricity is needed at certain times of the day. The cognitive controller will be extended with simulation and optimization compo‐ nents (a learning system for optimized heat and power production planning) in future.

4

Implementation

The MPC motor controllers and the main parts of the reflective controller are imple‐ mented on a Bachmann control system [4] which is tailored to the requirements of renewable energy systems. It includes the required real-time PLC functionality for the MPC and for some additional C++ functionality. It connects to the high speed control‐ lers of the super-sonic turbo generators via CAN-Bus. Bachmann provides the func‐ tionality for the SVI shared memory, too. Other features of the reflective operator are implemented within the industrial PC part of the Bachmann system. This allows the connection to OPC UA Unified Architecture [24]. The connection to the cognitive oper‐ ator is done via the Bachmann WebMI which connects to the SVI, too. All components have been tested on a Bachmann laboratory installation. The ORC system prototype is currently under test at a biogas power plant in Germany (Fig. 7).

Fig. 7. Vaporizer, NT Turbo Generator and PLC cabinet of the ORC prototype

236

5

C. Wolff et al.

Conclusion and Future Work

The ORC system and software architecture will be evaluated and validated during the coming 12 month. Afterwards, the full integration into the ruhvalley smart heating grid platform will be done (see Sect. 1.2). The described system and software architecture allows coupling via IoT into smart systems based on the functionality of the reflective operator and/or the cognitive operator. Therefore, it enables system integration beyond traditional systems which are just extended with an IoT gateway. It will serve as a blue print for the development of other intelligent technical systems as components in smart systems, specifically within the context of ruhrvalley.

References 1. Acatech: AgendaCPS: Integrierte Forschungsagenda Cyber Physical Systems (2012) 2. Agrawal, D., Das, S., El Abbadi, A.: Big data and cloud computing: current state and future opportunities. In: Proceedings of the 14th International Conference on Extending Database Technology, pp. 530–533. ACM (2011) 3. Adelt, P., Donoth, J., Gausemeier, J., Geisler, J., Henkler, S., Kahl, S., Klöpper, B., Krupp, A., Münch, E., Oberthür, S., Paiz, C., Podlogar, H., Porrmann, M., Radkowski, R., Romaus, C., Schmidt, A., Schulz, B., Vocking, H., Wittkowski, U., Witting, K., Znamenshchykov, O.: Selbstoptimierende Systeme des Maschinenbaus – Definitionen, Anwendungen, Konzepte. HNI-Verlagsschriftenreihe, Band 234, Paderborn (2008) 4. Bachmann M1 Automation System (2015). http://www.bachmann.info/branchen/ erneuerbare-energien/. Accessed 20 Nov 2015 5. Bui, N., Castellani, A.P., Casari, P., Zorzi, M.: The internet of energy: a web-enabled smart grid system. Network 26(4), 39–45 (2012). IEEE 6. Bellifemine, F.L., Caire, G., Greenwood, D.: Developing Multi-agent Systems with JADE. Wiley, Hoboken (2007) 7. Chen, H., Goswami, D.Y., Stefanakos, E.K.: A review of thermodynamic cycles and working fluids for the conversion of low-grade heat. Renew. Sustain. Energy Rev. 14, 3059–3067 (2010) 8. Dubberke, F.H., Priebe, K.-P., Vrabec, J., Roedder, M., Neef, M.: Thermodynamic simulation and experimental validation of a cascaded two-stage organic rankine cycle turbine. In: 3rd International Seminar on ORC Power Systems, Belgium (2015) 9. Eclipse IoT Constrained Devices. https://iot.eclipse.org/devices/. Accessed Mar 2017 10. Elci, M., Oliva, A., Herkel, S., Klein, K., Ripka, A.: Grid-interactivity of a solar combined heat and power district heating system. In: International Conference on Solar Heating and Cooling for Buildings and Industry, SHC2014 (2014) 11. EPosSS: Strategic Research Agenda of The European Technology Platform on Smart Systems Integration, Version 2 (2013). www.smart-systems-integration.org 12. ETSI oneM2M Release 2 specifications. http://www.onem2m.org/technical/publisheddocuments. Accessed Mar 2017 13. Gausemeier, J., Steffen, D., Donoth, J., Kahl, S.: Conceptual design of modularized advanced mechatronic systems. In: 17th International Conference on Engineering Design (ICED 2009), August 24–27, 2009, Stanford, CA, USA (2009) 14. Gausemeier, J., Kahl, S.: Architecture and design methodology of self-optimizing mechatronic systems. In: Mechatronic Systems Simulation Modeling and Control. InTech (2010)

Software Architecture for an ORC Turbine

237

15. Gausemeier, J., Rammig, F.J., Schäfer, W. (eds.): Design Methodology for Intelligent Technical Systems: Develop Intelligent Technical Systems of the Future. LNME. Springer, Heidelberg (2014). doi:10.1007/978-3-642-45435-6 16. Hankel, M., Rexroth, B.: Industrie 4.0: Das Referenzarchitekturmodell Industrie 4.0 (RAMI 4.0), Zentralverband Elektrotechnik- und Elektronikindustrie e.V (2015) 17. Hestermeyer, T., Oberschelp, O., Giese, H.: Structured information processing for selfoptimizing mechatronic systems. In: Proceedings of 1st International Conference on Informatics in Control, Automation and Robotics (ICINCO 2004), Setubal, Portugal (2004) 18. Knutzen, L.K., Stolpe, H., Bracke, R., Beese, E.: Conversion of conventional District Heating Systems in the Ruhr-Metropolitan Area, Western Germany, by stepwise integration of Geothermal Sources. In: Proceedings World Geothermal Congress (2015) 19. Lee, E.A.: Cyber physical systems: design challenges. In: International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing (2008) 20. Lückel, J., Hestermeyer, T., Liu-Henke, X.: Generalization of the cascade principle in view of a structured form of mechatronic systems. In: 2001 IEEE/ASME International Conference on Advanced Intelligent Mechatronics (AIM 2001), Como, Italy (2001) 21. MQTT - Message Queue Telemetry Transport Protocol. http://www.ibm.com/ developerworks/webservices/library/ws-mqtt/index.html. Accessed Mar 2017 22. Nakicenovic, N., Grubler, A., Inaba, A., Messner, S., Nilsson, S., Nishimura, Y., Rogner, H.H., Schafer, A., Schrattenholzer, L., Stubegger, M., Swisher, J., Victor, D., Wilson, D.: Long term strategies for mitigating global warming. Energy Int. J. 18(5), 401–609 (1993) 23. OGC, OGC SensorThingsAPI. http://www.opengeospatial.org/standards/sensorthings. Accessed Mar 2017 24. OPC-UA, OPC Unified Architecture (UA) (2008). https://opcfoundation.org/about/opctechnologies/opc-ua/. Accessed Mar 2017 25. Quoilin, S., Van Den Broek, M., Declaye, S., Dewallef, P., Lemort, V.: Techno-economic survey of Organic Rankine Cycle (ORC) systems. Renew. Sustain. Energy 22, 168–186 (2013) 26. Rademacher, F., Peters, M., Sachweh, S.: Model-driven architecture for the internet of things. In: 41st Euromicro Conference on Software Engineering and Advanced Applications, Madeira, Portugal (2015) 27. Roedder, M., Neef, M., Laux, C., Priebe, K.-P.: Systematic fluid selection for organic rankine cycles (ORC) and performance analysis for a combined high and low temperature cycle. In: Proceedings ASME Turbo Expo 2015: Turbine Technical Conference and Exposition, Montreal, Canada (2015) 28. Ropohl, G.: Allgemeine Technologie, Eine Systemtheorie der Technik, 3. überarbeitete Auflage, Universitätsverlag Karlsruhe (2009) 29. Vermesan, O., Friess, P., Guillemin, P., Gusmeroli, S., et al. (eds.) Internet of Things Strategic Research Roadmap, Cluster of European Research Projects on the Internet of Things, CERPIoT (2011) 30. Vermesan, O., Friess, P. (eds.): Internet of Things – From Research and Innovation to Market Deployment. River Publishers Series in Communications. River Publishers, Aalborg (2014) 31. Wolff, C., Knirr, M., Schulz, P., Priebe, K.P., Strumberg, J., Vrabec, J.: Flexible and controllable ORC turbine for smart energy systems. In: Proceedings of the IEEE EnergyCon 2016. IEEE Xplore, Leuven (2016) 32. Wolff, C., Telgmann, L.: Systems engineering for metropolitan mobility and energy – RuhrValley. In: Proceedings of the Dortmund International Research Conference 2016 (2016)

Business Intelligence for Information and Software Systems: Special Session on Intelligent Methods for Data Analysis and Computer Aided Software Engineering

Data Mining in Agri Warehouses Using MODWT Wavelet Analysis Ken Bailey1(&), Mark Roantree1, Martin Crane2, and Andrew McCarren1 1

2

INSIGHT: Insight Centre for Data Analytics, School of Computing, Dublin City University, Glasnevin, Dublin 9, Ireland {ken.bailey4,mark.roantree,andrew.mccarren}@dcu.ie School of Computing, Dublin City University, Glasnevin, Dublin 9, Ireland [email protected]

Abstract. Agri-data analysis is growing rapidly with many parts of the agri-sector using analytics as part of their decision making process. In Ireland, the agri-food sector contributes significant income to the economy and agri-data analytics will become increasingly important in terms of both protecting and expanding this market. However, without a high degree of accuracy, predictions are unusable. Online data for use in analytics has been shown to have significant advantages, mainly due to frequency of updates and to the low cost of data instances. However, agri decision makers must properly interpret fluctuations in data when, for example, they use data mining to forecast prices for their products in the short and medium term. In this work, we present a data mining approach which includes wavelet analysis to provide more accurate predictions when events which may be classified as outliers are instead patterns representing events that may occur over the duration of the data stream used for predictions. Our evaluation shows an improvement over other uses of wavelet analysis as we attempt to predict prices using agri-data.

1 Introduction The purpose of this paper is to show how the predictive power of ARIMA models can be improved using Wavelet Analysis. A series is first decomposed by a wavelet transform and ARIMA models are applied to each series produced by the decomposition from the transform and ARIMA predictions for each level produced. The hypothesis being explored here is whether modelling each of the decomposed wavelet levels with an ARIMA prior to reconstructing the series provides a more accurate prediction than using ARIMA prediction models on the original series. Future prices are regularly used to construct agricultural commodity forecast prices. Both grain elevators and livestock packer buyers forward price off the board, generally using a number of formulae, [1]. These methods are largely used in the United States where well traded future prices exist. Forecasts can be made on commodity future prices, however, long term accuracy and reliability are often found to be weak. Additionally, European markets do not possess high volume trading meat or dairy futures and while prices from the US do correlate with European commodity prices the © Springer International Publishing AG 2017 R. Damaševičius and V. Mikašytė (Eds.): ICIST 2017, CCIS 756, pp. 241–253, 2017. DOI: 10.1007/978-3-319-67642-5_20

242

K. Bailey et al.

relationship is not strong enough to be relied upon on a commercial basis. In many cases, this is caused by market access to individual countries and irregularities within individual markets. Typically, production of animals for a particular product is very much dependent on individual regulations within a country. Much of this knowledge can be found in online data sources. An Autoregressive Integrated Moving Average (ARIMA) model uses regressive components of lags of both the variable in question and the error terms to make predictions of future values in a series. Differencing of the data is also incorporated in these models in order to reduce the effect of non-stationary data. ARIMA models are widely used to model time series data and provide forecasts. In ARIMA methods the parameter settings are extremely difficult to find when dealing with complex combinations of the Moving Average and Auto Regressive components. Implementing wavelet analysis decomposes the complexity of the series and allows the researcher a much higher chance of identifying simpler ARIMA models for each level of the decomposed series. Paper Structure. The paper is structured as follows: in the remainder of this section, we provide the background which motivates this work and provide a statement of our contribution; in Sect. 2, we provide a discussion on early work in this field to more recent application to financial time series; in Sect. 3, we present our algorithm to create predicted prices and compare a Wavelet/ARIMA model generated with the Maximal Overlap Discrete Wavelet Transform to a typical ARIMA prediction; in Sect. 4 we present the experiments that were conducted to compare the predictive power of the DWT and MODWT methods; and finally in Sect. 5, we conclude the paper. Contribution. We investigate the technique introduced by [3] which used a high frequency dataset for forecasting electricity day ahead prices using the Discrete Wavelet Transform (DWT). We apply this technique to a lower frequency dataset, weekly pig prices, with a longer prediction window of 8 weeks. We compare the DWT method with our own method which uses the non-decimated Maximal Overlap Discrete Wavelet Transform (MODWT). We apply the two techniques to the two different datasets with a view to identifying a reliable forecasting method for weekly price data. Bootstrapping was used by resampling with replacement samples of equal size from the datasets, to provide a more robust analysis of the efficacy of our algorithms. In contrast to the related work presented in [3, 14–16], we provide a detailed description of our algorithm to enable it to be used or improved. Our algorithm can be used with any wavelet filter, not just the Haar filter. The Haar filter allows reconstruction of a series by a simple summation of wavelet coefficients. This property does not apply to any other filter although other authors declare that they used this property for the inverse transform with other filters.

Data Mining in Agri Warehouses Using MODWT Wavelet Analysis

243

2 Related Research The authors of [5] provide a basic introduction to wavelets with a more applied focus on financial time series. Their view is that the benefit of wavelets is to reveal features in the original time series at different scales which are possibly hidden in the original time series. The decomposed levels form time series which are then more amenable to techniques such as ARIMA. In [3], the authors proposed a method for forecasting day ahead electricity prices in the Spanish market using a combination of wavelets and ARIMA techniques and compared this approach to an ARIMA forecasting method alone. Their rationale is that using wavelets, the decomposition of historical electricity price series results in a less volatile set of representations of the behaviour of the original time series at several scales. ARIMA models of these constituent series are proposed to be more stable for forecasting techniques. The ARIMA-forecasted constituent series form the input to the wavelet reconstruction process to provide forecast values for the original series. In the paper it is found that these forecast values provide greater accuracy than forecasts from an ARIMA of the original series alone. In our work, we use the MODWT transform to generate the coefficients for the wavelet-ARIMA and ARIMA predictive process which we believe is a more robust method than using DWT. In [4], a similar approach is used to [3] to forecast day ahead electricity prices. The method is extended to apply appropriate prediction models to each wavelet decomposition level. Thus, GARCH models are applied to the high frequency elements of the wavelet decomposition combined with the ARIMA modelling of the low frequency element. The wavelet reconstruction series, created from subseries are then used for prediction. In [6], the approach considers the influence of exogenous variables on the decomposed levels of the wavelet transformation. The process includes selecting the most appropriate variable by a feature selection technique based on the data model. The process combines lagged values of the wavelet subseries and time domain features of the subseries to include lags from the original time series and the exogenous variables. Multiple candidate forecast series are created. They are differentiated by validation error and the inverse wavelet transform applied to produce the overall forecast series. The authors of [7] highlight the limitations of using wavelets for forecasting and instead, make use of a non-decimated form of the discrete wavelet transform. The decimated form DWT halves the number of coefficients produced at each subsequent decomposition. The non-decimated form MODWT results in the same number of coefficients as the original series at each level of decomposition to feed into a predictive model. We use an MODWT transform in our approach to provide a consistent number of coefficients for ARIMA modelling to make the process more robust. The authors of [16] are most similar to our approach. They use the MODWT and ARIMA predictions from the decomposed series. However, the method of reconstruction of the series after prediction at the decomposition levels does not make use of the inverse wavelet transform for the filter which created the decomposition. Instead they make use of a feature of the most basic filter, Haar, which uniquely, allows reconstruction of a series by simply summing corresponding decomposed coefficients.

244

K. Bailey et al.

We show that this method of reconstruction can be used with a Haar filter but is not appropriate for any other filter.

3 Wavelet Analysis of Time Series In this section, we present our methodology for incorporating wavelet analysis into predictive algorithms. We begin by covering some background work necessary to understand the ARIMA and MODWT algorithms for prediction of time series data. We then describe our own approach which uses a combination of both of these algorithms in order to improve the quality of predictions. Finally, we provide a more detailed description of our algorithm. 3.1

Background

A time series consists of a set of observations related to some particular measurement at fixed time intervals. A univariate ARIMA model [2] represents a time series in the form of an algebraic statement describing how values of the variable are statistically related to past values of the same variable [12]. The ARIMA model requires the specification of 3 parameters termed (p,d,q): p, the number of past observations required in the auto regression; d, the levels of differencing to produce a stationary (constant mean and variance) form of the series; and q, the number of past observations required in the moving average. There should be at least 50 past values to use an ARIMA for prediction [12]. Once the methods for identifying the most appropriate values for (p,d,q) e.g. in [2, 12], the ARIMA model can be used to forecast future values. Wavelet Analysis is an approach to signal analysis which identifies patterns of frequencies at different time scales occurring in a signal. This approach applies a well-defined mathematical transform to observed values to produce details of frequencies contained therein while retaining the location of the frequencies in the time domain. In an application where the signal can be observed over very short time intervals, such as a sound wave, a very fine resolution form of the wavelet transform, the Continuous Wavelet Transform (CWT) can be applied. Where the observations are more sparse such as in a financial time series, measured hourly, daily or weekly, the Discrete Wavelet Transform (DWT) is more appropriately applied [10]. The DWT uses a filter which is applied to the data. Fundamentally, a filter is a pair of orthogonal vectors which when applied to the time series produces a decomposed representation of the signal in terms of high frequency components and low frequency components. This representation is in the form of a set of coefficients. The low frequency coefficients can be decomposed repeatedly in the same fashion by the filter to the level of resolution required. The most commonly used wavelet filters are the Haar [13] filter and Daubechies filters [11]. Each iteration or level of the DWT on N values produces a set of N/2 values, producing a decimated transform. Therefore, the limitation on the number of levels L that can be produced is 2L  N. In addition, coefficients at each level are out of phase with respect to each other in the DWT with the result that decomposed coefficients are different depending on the starting point chosen within the time series.

Data Mining in Agri Warehouses Using MODWT Wavelet Analysis

245

When dealing with time series analysis, these limitations can be overcome by using the Maximal Overlap Discrete Wavelet Transform (MODWT). This is a non-decimated transform which produces N coefficients at each level of decomposition. The MODWT uses the same parameters as the DWT to specify the filter being used and the number of levels of decomposition required. Having a constant high number of coefficients makes the ARIMA modelling of these series more robust. 3.2

MODWT Assisted ARIMA Model

A dataset whether in the form of a continuous signal such as sound or a set of discrete points in a financial time series contains a number of underlying frequencies. Frequencies can extract crucial information that is hidden in the aggregated data. The development of wavelets provides a mechanism to identify the frequencies in a signal at different times. A wavelet transform takes a signal and identifies the high frequencies at shorter intervals while smoothing the remaining low frequencies. This process is repeated to the desired number of levels which are particular to the domain from which the data set is drawn, with each level representing the frequencies at higher scales. In the discrete wavelet transform (DWT) case, which is appropriate for financial time series, the transform consists of two functions, a father and mother wavelet. The functions are applied to the data at successively smaller scales, typically reducing the detail by 50% each time. At each level of decomposition, the mother wavelet captures the high frequency components in a zero mean series while the father wavelet captures the remaining smoother components. In this paper, we make use of the Haar transform [13], to extract different frequency levels together with their location in time. The result of a DWT decomposition is 2 vectors representing the wavelet coefficients for the high frequencies and scaling coefficients for the low frequencies of the scale. The coefficients relating to the high frequencies at level 1 are denoted by D1 and the low frequency coefficients by S1. The S1 coefficients are further decomposed into D2 and S2 and so on. The resulting set of coefficients for a J-level decomposition is known as a crystal, as in Definition 1. Definition 1. Decomposition Crystal C ¼ fSJ ; DJ ; DJ1 ; DJ2 ; . . .; D1 g The Haar wavelet samples data points 2 at a time and the coefficient is generated from a sample value and its preceding value. In the case of the first value in the time series, the previous value is taken from the end of the series (periodicity) or from a reflection of the series. The number of coefficients affected by this boundary problem increase at each level of decomposition. In our case, the transform used, MODWT, locates the affected boundary coefficients at the beginning of the series and thus, do not affect the coefficients at the end of the series which are primarily required for prediction. The Maximal Overlap Discrete Wavelet Transform (MODWT) addresses some of the issues with the DWT but is a non-orthogonal redundant transform [8]. The MODWT is a non-decimated transform and so the number of coefficients produced at each level has the same cardinality as the time series.

246

K. Bailey et al.

In our method the price data is divided into a training set and a testing set. The training set is modelled with an ARIMA and predictions produced. The training set is then decomposed using the MODWT. Each of the series of coefficients produced are modelled by an appropriate ARIMA for the series and future values predicted. The inverse MODWT is applied to the sets of predicted values from the coefficients to produce a prediction for the prices. The two sets of predictions from the training set ARIMA and the wavelet coefficients ARIMA are compared against the testing set using a root mean square error (RMSE) test to allow comparison between the results. Our evaluation uses a price dataset consisting of historic weekly pigmeat prices to predict forward prices over an 8 week period. 3.3

Algorithm Description

In Algorithm 1, we present our MODWT Assisted ARIMA (MAM) algorithm for time series prediction, which follows the approach described earlier in this section. It uses the Haar filter to decompose the series into wavelet and scale coefficients.

In Steps 1–3 the dataset of cardinality n is selected and referred to as X, the number of elements, k, to be predicted is decided and the dataset is split into a training set labelled T and testing set Q. In step 4 the MODWT transform using an appropriate filter, in this case Haar, is applied to the training set T to the level of decomposition required J to produce a crystal C consisting of series of coefficients the same length as T. In step 5 a separate ARIMA model is produced for each series of coefficients in the crystal C. Step 6 uses a forecast function in R for ARIMA models to predict the k future values for each series in the crystal C.

Data Mining in Agri Warehouses Using MODWT Wavelet Analysis

247

Step 7 of Algorithm 1 produces k predictions, Wp, for the training set T. In the case of the Haar filter, this can simply be done by adding the corresponding predicted coefficients from the Dj j = 1..J and corresponding predicted coefficients from SJ. In the case of filters other than Haar the steps in Algorithm 2 replace this step. Step 8 produces a predicted set of values Tp from an ARIMA model of the training set T. Step 9 use the Root Mean Square Error (RMSE) to compare the MAM predictions Wp against the testing set Q and the ARIMA predictions Tp against the training set Q.

Algorithm 2 is a modified version of step 7 in Algorithm 1. This is used in the inverse transform procedure for experiments where a non-Haar filter such as a Daubechies filter [11] is used in step 4 of Algorithm 1. Algorithm 2 uses the Inverse MODWT Transform to reconstruct the predicted series. The MODWT is applied to the complete series X to create a container W to hold the coefficients for the inverse transform. The coefficients in the container are replaced at each level j with the corresponding ARIMA model from the Ca and predictions. The inverse transform is applied to the amended container W to generate a series where the last k values form the MAM prediction set Wp.

4 Evaluation In this section, we describe our evaluation process and provide a discussion on the results from each series of experiments. Data. The DATAS project collects agricultural price data from around the world at the frequencies with which the data is published. For this paper, we downloaded the market price of pig meat in Ireland, Denmark and Germany. This data is available weekly. We used a dataset of 459 values from week 1 2007 to week 42 2015. Primarily all initial investigations were carried out with the Irish dataset. The experiments in [3] try to forecast hourly electricity prices over a period of 1 day for the Spanish Electricity market. The data used in [3] provides a contrast to our dataset in that the data has a high frequency of samples, 24 per day, and the historical data is known for a long period. Our data uses weekly pigmeat prices from markets in Ireland, Germany and Denmark and so has a much lower frequency.

248

K. Bailey et al.

Software. Experiments were developed using RStudio with libraries ‘forecast’ and ‘wtmsa’ providing the necessary functionality. The wavModwt function was used with the Haar and Daubechies wavelets with varying filter lengths and levels of decomposition. Hardware. The machine used was a Dell Optiplex 7020 3.6 GHz, 16 GB RAM, running Microsoft Windows 7 Professional. 4.1

Approach

Four separate experiments were carried out as part of our evaluation. 1. Replicating the Conejo experiments [3] as a starting point for our evaluation. 2. Using our MAM Algorithm with Conejo’s high frequency dataset to provide baseline results for comparative purposes. 3. Using Conejo algorithm on our low frequency dataset. 4. Using MAM Algorithm on our low frequency dataset. Replicating Experiment from [3]. As our approach is similar to [3], we set out to duplicate their original experiment and required similar results to act as a baseline for our own approach. Their method used the DWT with a Daubechies 5 wavelet to 3 levels of decomposition, to predict forward using 24 hourly wholesale electricity prices from a training dataset of 1152 instances of hourly values. As the authors did not provide precise details of their DWT implementation nor the ARIMA parameters, it was not possible to deliver an exact replica of their experiments but we achieved similar results. The [3] experiments produced predictions for hourly prices each day from 4 test weeks - labelled Winter, Spring, Summer and Fall weeks - with a total of 28 experiments. The predictions from the ARIMA and DWT/ARIMA are measured and compared by a daily error presented in Definiton 2 where p is hourly price. Definition 2. Daily Error Definition   est  1 X24 ptrue h  ph h¼1 24 ptrue day where ptrue day ¼

1 X24 true p h¼1 h 24

Using MAM Algorithm with High Frequency Dataset. We applied our MAM approach using the same Spanish electricity data as used in [3]. We implemented the MAM algorithm using both the Haar filter and the Daubechies 5 filter used in [3]. For both experiments, we used the daily error for comparing against our replication of the original approach. Using [3] algorithm on Low Frequency datasets. For this experiment, we applied the approach in [3] on the pig meat dataset from Ireland. This experiment used 20 subsets of the data in a sliding window, to produce 8 predicted values for each subset in 20 tests.

Data Mining in Agri Warehouses Using MODWT Wavelet Analysis

249

Using MAM Algorithm on Low Frequency datasets. Our initial experiments aimed at determining an optimum prediction period for Daubechies wavelets of lengths 2 (Haar), 4, 6 and 8. This was repeated for each of 3 to 8 levels of decomposition. The proportion of the data given over to the testing set was varied from 4 to 56 weeks with the remainder used as the training set. The test runs were compared by calculating the Root Mean Square Error (RMSE) of the predicted values against the actual values. The main focus of our experiments was to look at a prediction period of 8 weeks for pigmeat prices from the Irish, German and Danish markets. This provided a maximum of 451 data points in the training set with 8 points to validate the predictions. Using both the suggestions in [7] and our own empirical evidence, we selected a Haar (Daubechies order 1 with 2 coefficients [9]) wavelet with 3 levels of decomposition and the non-decimated MODWT wavelet transform. We split the training set into 20 sliding subsets of 299 values, sliding 8 values at a time. This provided 291 values in the training set and 8 points to compare against our predictions. We then compared the RMSE of the MAM predictions to the ARIMA predictions for each of the 20 experiments for each of the 3 datasets from Ireland, Germany and Denmark in Experiments 4a, 4b and 4c respectively. 4.2

Experiment Results

The results of our experiments are illustrated in Tables 1, 2, 3 and 4. The number of tests within each experiment are shown. The number of tests which showed a lower daily error or RMSE for each method being compared are given. The column headings have the following meaning: Table 1. Experiment 1 results Exp Tests Dataset 1a 1b

Size Period Transform Filter Levels Results DWT/ARIMA ARIMA Electricity 1152 24 DWT D5 3 20 8 Electricity 1152 24 DWT D5 3 22 8

28 28

Table 2. Experiment 2 results Exp Tests Dataset 2a 2b

Size Period Transform Filter Levels Results MAM DWT/ARIMA Electricity 1152 24 MODWT Haar 3 12 16 Electricity 1152 24 MODWT D5 3 13 15

28 28

Table 3. Experiment 3 results Exp Tests Dataset 3

20

Size Period Transform Filter Levels Results MAM DWT Irish Pigmeat 299 8 DWT Haar 3 14 6

250

K. Bailey et al. Table 4. Experiment 4 results Exp Tests Dataset 4a 4b 4c

20 20 20

Size Period Transform Filter Levels Results MAM Arima Irish Pigmeat 299 8 MODWT Haar 3 11 9 German Pigmeat 299 8 MODWT Haar 3 8 12 Danish Pigmeat 299 8 MODWT Haar 3 8 12

– Exp identifies the experiment (1–4 described earlier) being undertaken. – Tests is the number of individual tests run for each experiment. – Dataset is either Electricity for Spanish Electricity Prices or Pigmeat for Irish, German or Danish pigmeat prices. – Size is the cardinality of the dataset used. – Period is the cardinality of the prediction set. – Transform is either the Discrete Wavelet Transform (DWT) or Maximal Overlap Discrete Wavelet Transform (MODWT). – Filter is the wavelet used: the Haar filter or D5 to represent the Daubechies 5 filter. – Level is the number of levels of decomposition by the transform. – Results summarises the number of tests for which the specified parameter was more successful. DWT/AR refers to the Wavelet ARIMA method in [3] For Experiment 1, we sought to replicate the results in [3] to benchmark our tests. The results from [3] show that the Wavelet/ARIMA produced a lower daily error rate than the ARIMA predictions on 20 days of the 28 days predicted (Experiment 1a). When we replicated the Conejo experiment, our results produced a lower daily error rate than ARIMA predictions on 22 days of the 28 days predicted which we felt was a satisfactory reproduction (Experiment 1b). In the second series of experiments, the MAM approach generated lower daily errors in 12 tests compared to lower daily errors in the Conejo experiments in 16 tests (Experiment 2a). However, the MAM process produced lower daily errors in 13 tests compared to lower daily errors in the Conejo in 15 tests (Experiment 2b). In the third series of experiments, the DWT transform is a decimated transform and so the number of coefficients related to 8 values in a prediction series are too few: at the level 3 decomposition there is only one coefficient. The MAM approach produced lower errors in 14 tests with DWT/Conejo producing lower errors in just 6 tests (Experiment 3), as a result of applying the inverse transform. In the final series of experiments, the MAM approach produced a lower RMSE in 11 tests and ARIMA in 9 tests on the Irish pigmeat prices data. MAM produced a lower RMSE in 8 tests and ARIMA was lower in 12 tests for the German pigmeat prices data. Using the Danish pigmeat prices data, MAM produced a lower RMSE in 8 tests and ARIMA was lower in 12 tests. These results show some promise in that in 45% of cases, the MAM approach produced better results than the established and widely used ARIMA prediction model.

Data Mining in Agri Warehouses Using MODWT Wavelet Analysis

4.3

251

Analysis

ARIMA modelling requires significant domain knowledge together with a lot of trial and error runs, to find an appropriate model for a time series. The advantage of the MAM process is that by decomposing a signal, using an MODWT, into statistically better behaved series, ARIMA models can be more readily produced on the decomposed levels. The series produced from recombining the predictions from the decomposed series is as statistically accurate as predictions from an ARIMA method applied to the original series. In our experiments, we have seen that wavelet analysis with ARIMA in both MAM and the process in [3] can produce different results from different subsets of the same dataset. In [3], the test results are presented for each of 4 weeks - Winter, Spring, Summer and Fall. The results indicate that there is an unknown factor affecting certain weeks. For example, the results using the same Daubechies 5 filter with the DWT and MODWT produce significantly different results in Winter and Fall as compared with Spring and Summer. This suggests that further investigation to identify characteristics of this data could potentially further optimise wavelet analysis to time series. The results of the experiments in 2a and 2b show statistically different results between MAM with the HAAR and Daubechies 5 filters against the results using the DWT method. Paired t-tests were carried out to compare the MAM and DWT methods using the daily error measurement from [3] for each of the 4 weeks Winter, Spring, Summer and Autumn. The Winter week showed no significance between MAM with Haar and DWT (p = .419, t = 0.214) but a significant improvement with MAM with Daubechies 5 (p = .032, t = 2.27). The Spring week showed the daily error for DWT to be significantly lower than either MAM with Haar (p = .012, t = 3.0) and MAM with Daubechies 5 (p = .002, t = 4.52). The Summer week showed different results for the different MAM filters. The MAM with Haar showed no significant difference to DWT (p = .418, t = 0.216) whereas DWT had a lower error than MAM with Daubechies 5 (p = .005, t = 3.71). The Autumn week showed that both the MAM methods produced lower errors than DWT, Haar (p = .089 t = 1.525) and Daubechies 5 (p = .121, t = 1.298). The results of applying a DWT to the pigmeat prices dataset show a significantly poorer result than using an MODWT. This is likely due to the cardinality of the pig meat dataset being too small to allow the application of the decimated transform necessary to produce predictions from the decomposed series for longer prediction windows than the 8 predictions used. The MODWT approach which produces the same number of coefficients at each level of decomposition is more suited to a smaller, infrequent dataset. Experiments 3 and 4 (pig pricing data) show that there is statistically no significant difference between applying ARIMA and the MAM process in a long term dataset with low frequency. 20 datasets were extracted for usage as test data. Each method was applied to the test sets and a mean square error was calculated. Paired t-tests were carried out between ARIMA, MAM and DWT methods, with no statistical differences found between the ARIMA and the MAM methods with regard to the mean square

252

K. Bailey et al.

error. However, the DWT had significantly greater mean square error over the other 2 methods over all the test runs (p = 0.0159, t = −2.3173 & p = 0.02, t = 2.2)

5 Conclusions Pricing predictions from agri datasets are very difficult to achieve mainly due to events occurring at different timelines that are present within the datasets. This requires more complex algorithms for prediction. In ARIMA methods, it is extremely difficult to find the correct parameter settings when dealing with complex combinations of Moving Average and Auto Regressive components. Implementing a MODWT decomposes the complexity of the series and allows the researcher a much higher chance of identifying simpler ARIMA models for each level of the decomposed series. While a number of different wavelet approaches have been tested, our approach is to use both the MODWT and ARIMA methods in combination for better predictions in time series data. As a baseline for our results, we used the approach and similar evaluation as [3] to determine what is currently possible using a wavelet approach to time series data. Our evaluation used 4 sets of experiments to try to determine if our approach was better than [3]. The MODWT in conjunction with the ARIMA method was comparable with the DWT ARIMA method proposed by [3] for the high frequency Spanish electricity price data. However, our MAM approach showed superior results to [3] when attempting forecasts for low frequency data streams such as the pig price data. For low frequency data, MAM and ARIMA demonstrated equivalent results, but importantly, MAM demonstrates a resilience and robustness that neither of the other 2 methods demonstrated as it achieved equally good results for both low and high frequency data. The choice of wavelet filter is very much dependent on the characteristics of the data. A suitable wavelet and decomposition level might only be identifiable by trial and error. However, in all uses of wavelets and in particular for prediction, the issue of coefficients affected by the boundary problem becomes more intrusive, the wider the wavelet and the deeper the decomposition. This is of particular concern when using the DWT wavelet transform as opposed to MODWT. Our process, MAM, gives the researcher a level of comfort knowing that it will produce predictions that are robust to the frequency components of the data.

References 1. Kastens, T.L., Jones, R., Schroeder, T.C.: Futures-based price forecast for agricultural producers and buisnesses. J. Agric. Resour. Econ. 23(1), 294–307 (1998) 2. Box, G.E.P., Jenkins, G.M.: Time Series Analysis, Forecasting and Control, 2nd edn. Holden-Day, San Francisco (1976) 3. Conejo, A.J., et al.: Day-ahead electricity price forecasting using the wavelet transform and ARIMA models. IEEE Trans. Power Syst. 20(2), 1035–1042 (2005)

Data Mining in Agri Warehouses Using MODWT Wavelet Analysis

253

4. Zhongfu, T., et al.: Day-ahead electricity price forecasting using wavelet transform combined with ARIMA and GARCH models. Appl. Energy 87(11), 3606–3610 (2010) 5. Schleicher, C.: An Introduction to Wavelets for Economists. Bank of Canada (2002) 6. Amjady, N., Keynia, F.: Day ahead price forecasting of electricity markets by a mixed data model and hybrid forecast method. Int. J. Electr. Power Energy Syst. 30(9), 533–546 (2008) 7. Nguyen, H.T., Nabney, I.T.: Short-term electricity demand and gas price forecasts using wavelet transforms and adaptive models. Energy 35(9), 3674–3685 (2010) 8. Percival, D.B., Walden, A.T.: Wavelet Methods for Time Series Analysis, vol. 4. Cambridge University Press, Cambridge (2006) 9. Yousefi, S., Weinreich, I., Reinarz, D.: Wavelet-based prediction of oil prices. Chaos, Solitons Fractals 25(2), 265–275 (2005) 10. Crowley, P.M.: A guide to wavelets for economists. J. Econ. Surv. 21(2), 207–267 (2007) 11. Daubechies, I.: Ten Lectures on Wavelets. Society for Industrial and Applied Mathematics, Philadelphia (1992) 12. Pankratz, A.: Forecasting with Univariate Box-Jenkins Models: Concepts and Cases, vol. 224. Wiley, New York (2009) 13. Haar, A.: Zur theorie der orthogonalen funktionensysteme. Math. Ann. 69(3), 331–371 (1910) 14. Al Wadi, S., Hamarsheh, A., Alwadi, H.: Maximum overlapping discrete wavelet transform in forecasting banking sector. Appl. Math. Sci. 7(80), 3995–4002 (2013) 15. Zhu, L., Wang, Y., Fan, Q.: MODWT-ARMA model for time series prediction. Appl. Math. Model. 38(5), 1859–1865 (2014) 16. Kriechbaumer, T., et al.: An improved waveletARIMA approach for forecasting metal prices. Resour. Policy 39, 32–41 (2014)

Database Inconsistency Measures and Their Applications Hendrik Decker1(B) and Sanjay Misra2 1

PROS, DSIC, Universidad Politecnica de Valencia, Valencia, Spain [email protected] 2 Covenant University, Canaanland, Ota, Nigeria

Abstract. We investigate the measuring of inconsistency of formal sentences, a field with increasing popularity in the literature about computer science, mathematics and logic. In particular, we look at database inconsistency measures, as featured in various publications in the literature. We focus on similarities and differences between inconsistency measures for databases and for sets of logic sentences. Also some differences to quality measures are pointed out. Moreover, we pace some characteristic applications of database inconsistency measures, which are related to monitoring, maintaining and improving the quality of stored data across updates.

1

Introduction

An inconsistency measure is a mathematical or procedural description to determine the amount of inconsistency of a given set of formal sentences that may contain or imply conflicts, and hence an infringement of informational quality. Conflicts can be described as formal inconsistencies. The innovative feature of the concept of inconsistency measures is its constructive, positivistic handling of inconsistency, uninhibited by the no-go connotations of inconsistency and its potentially devastating effects in classical logic theories [51]. That confident posture is not original of inconsistency measuring, but the latter has helped much to pave the way for the acceptance of paraconsistency and inconsistency tolerance in database theory and artificial intelligence [3,14]. It is hoped that it may have a similar effect in the development of (as of yet still depauperate) formal foundations of data quality theory. The history of inconsistency measuring has its roots in John Grant’s seminal article [27]. After years of ignorance, the field started to blossom about a quarter century later, sparked by papers such as [30,31,34,35]. An early survey is provided in [32], which also traces precursor topics and related subjects in the fields of information theory [38,46], knowledge evolution [24,25,41], paraconsistency [10,13,42] probabilistic logic [11] and possibilistic logic [22]. Most conventional measures in the literature that serve for assessing the amount of inconsistency in a logic setting usually are sculpted to be applied to what is frequently called “knowledge bases”, but what effectively corresponds, c Springer International Publishing AG 2017  R. Damaˇ seviˇ cius and V. Mikaˇ syt˙e (Eds.): ICIST 2017, CCIS 756, pp. 254–265, 2017. DOI: 10.1007/978-3-319-67642-5 21

Database Inconsistency Measures and Their Applications

255

in most cases, either to propositional sets of formulas [4,5,33–35,39,44,47], or first-order theories [27,28,31,40]. As opposed to that, measures for assessing database inconsistency cannot be easily subsumed by any conventional classification of measures for classical logic theories (be they propositional or arbitrary first-order), essentially because, while being closely related, database logic is not classical logic. Moreover, the main application of the database inconsistency measures as defined in [15,17,20] is not to quantify the amount of inconsistency in given databases per se, but to compare the inconsistency of consecutive database states for inconsistencytolerant integrity maintenance. For that purpose, the values of inconsistency between database states before and after updates do not necessarily have to be computed, to become comparable in terms of their level of inconsistency. Rather, only the difference of inconsistency between such states is of interest for integrity checking and repairing. That feature obviously yields a big Brownie point for our database inconsistency measures, since inconsistency measures tend to be notoriously hard to compute [48]. Conceptually speaking, database inconsistency measures are more general than conventional inconsistency measures, since the range of the mappings that define former is not necessarily numerical, and the ordering of that range is not necessarily total. After some preliminaries, we first are going to recall some pertinent similarities and differences between classical logic and database logic. Then, we differentiate the notion of inconsistency in databases from inconsistency in classical logic. Then we elaborate on essential distinctions between measures of inconsistency for databases and conventional measures of quality and inconsistency. After that, we recapitulate two applications of database inconsistency measures that have been investigated so far: integrity checking and inconsistency repair checking.

2

Basic Concepts

As in previous papers about database inconsistency measuring [18,21],we use common database research terminology and formalisms. We now shortly recapitulate some key definitions. Throughout, let D, IC, I, U , μ always stand, respectively, for a database, an integrity theory (i.e., a finite set of first-order sentences called integrity constraints or, simply, constraints), an integrity constraint, an update, and inconsistency measure that determines the amount of integrity violation in pairs (D, IC). We may use “;” for delimiting clauses in sets, instead of “,”, since the latter symbolizes conjunction of literals in database clauses. In Sects. 3 and 4, we are going to determine some further characteristics of the kind of databases and integrity theories dealt with in the remainder.

3

Classical Logic and Databases

Database logic and classical logic have been closely intertwined since the inception of relational databases [9]. This connection has been boosted and further

256

H. Decker and S. Misra

tightened by the rise of deductive databases [23]. Indeed, each relational and each deductive database essentially consists of logic sentences in a restricted syntactic form. However, their interpretation deviates to some extent from both the proof- and model-theoretic semantics of classical logic. In brief, the main differences, which are elaborated in more detail in [1,7], can be summarized as follows. The logic sentences used to describe databases are not as general as to allow arbitrary first-order predicate logic syntax. Rather, the stored relational data consist of ground atomic facts only. More generally, deductive databases contain clauses of the form A ← B where the head A is an atom, the body B is a (possibly empty) conjunction of atoms, and all variables in A and B are taken to be universally quantified. To infer negative answers from such sets of clauses, the latter need to be supplemented by the assumption that formulas that are not true of the database in terms of classical logic are considered to be false by default. Well-known formalizations of that intuition are the closed world assumption [45], the database completion [8] and the distinction of a standard model, i.e., a particular Herbrand model of the database as its meaning (e.g., the least Herbrand model [49] or the stable [26] or the perfect [43] or the well-founded model [50]). where all atoms that are not in that model are taken to be false. Once such an assumption of default negation is taken, also the atoms in the body of clauses can be generalized to contain not only positive, but also negated atoms, where negation again is interpreted by default. Default negation makes database logic non-monotonic [6]. However, in order to guarantee that the standard model is two-valued, unique and total, some syntatic restrictions usually are imposed on clauses that define predicates recursively in terms of negations of themselves. To avoid out-of-context answers, database clauses, queries and constraints usually are asked to be domain-independent [37]. Since domain-independence is undecidable, sufficient syntactic restrictions such as range-restrictedness [12] are imposed. Thus, we assume, for simplicity, that all considered databases are range-restricted, have a consistent completion and a unique and total Herbrand model. Also, queries and integrity theories are required to be range-restricted. Moreover, as soon as any concrete integrity checking method is substituted for the unspecified integrity checking methods that are going to appear in later sections, the restrictions of their applicability to certain classes of databases, queries and constraints also have to be imposed. Queries and integrity constraints (which are processed as queries about the consistency of stored data) may be specified in a more general first-order syntax, but each such query can be mechanically re-written into a normal query of the form ← B, where B is a non-empty conjunction of positive or negated atoms, plus a set of database clauses which are added to the database [12]. As opposed to database logic, classical logic is monotonic, i.e., for each set of sentences S and each sentence s, the logical consequences derivable from S is always a subset of the consequences derivable from S ∪ {s}. As we are going to see, non-monotonicity may invalidate a monotonicity property that is frequently

Database Inconsistency Measures and Their Applications

257

postulated for conventional inconsistency measures, since the addition of new data may render an inconsistent database consistent.

4

Inconsistency

It is well-known that each sentence whatsoever (and hence also the negation of each sentence) is derivable in inconsistent classical logic theories, according to the ex-falso-quodlibet rule (EFQ). Due to that, inconsistency may amount to a problem of monstrous proportions. Not so, however, in databases. Let us see why. A set D of database clauses can never be inconsistent, but the union of D with a set IC of integrity constraints can. Yet, inconsistency in databases can be hedged to become a simple syntactic issue, simply by replacing each integrity constraint of the form ← B in IC by the database clause incon ← B, where incon is a distinguished 0-ary predicate that does not occur in D, thus obtaining a set IC  of database clauses about the predicate incon. Then, inconsistency of D ∪ IC is equivalent to the answer ‘yes’ to the query ← incon against the database D ∪ IC  . Moreover, even if an inconsistent (D, IC) is not rewritten to (D∪IC, ← incon, the usual inference rules employed in database query answering (no matter if logic-programming-style backward reasoning or fixpoint-generating forward reasoning procedures) are not at all computing arbitrary answers that would be invalidated by EFQ, as observed in [13]. In fact, since the disjunctive thinning inference rule of classical logic is not used in database logic, the EFQ sting is taken out of inconsistency, as observed in [16,36]. In fact, one can argue that database logic is inconsistency-tolerant, as done in [14]. However, care must be taken if, for checking the integrity of databases across updates, some procedures on top of database logic are employed. For instance, some well-respected integrity checking procedures are not inconsistency-tolerant, as shown in [19]. In Subsects. 6.1–6.2, we’ll come back on the issue of inconsistency tolerance in more detail, in the context of several examples of inconsistency-tolerant applications based on database inconsistency measures.

5

Inconsistency Measures

In mathematical measure theory [2], a measure μ maps elements (typically, sets) of a measure space S (typically, sets of sets) to the set of non-negative real numbers, which sometimes is augmented with an additional greatest element ∞. Intuitively, for S ∈ S, μ(S) tells how ‘big’ S is. Well-known examples of mathematical measures are statistical measures, whose range is the real numbers interval [0,1], for indicating the probability of certain “events”, formalized as elements of the measure space [29]. Standard properties of measures μ are that they are positive definite, i.e., μ(S) ≥ 0 for each S ∈ (S) (which holds by definition, given the prescribed range of measures) and μ(∅) = 0, and additive, i.e., μ(S ∪ S  ) = μ(S) + μ(S  ), for disjoint sets S, S  ∈ S.

258

H. Decker and S. Misra

Measures for quantifying the inconsistency of sets of logical formulas are axiomatized similarly, in the literature. The positive definiteness of mathematical measures corresponds to the postulate that each consistent set is mapped to 0, and each inconsistent set to a value greater than 0. Apart from that, there is a large diversity of different properties postulated for inconsistency measures, but there is no widely accepted agreement on their stringency, except additivity, although even that is not unanimously agreed upon [47]. A property which is weaker than additivity is monotony, i.e., for S, S  such that S  S  , μ(S) ≤ μ(S  ) is postulated. But even that is not cogent for inconsistency measures, since, e.g., the set I = {p, ¬p} can easily be considered more inconsistent than sets such as S ∪ I, where S is a very large consistent set that is disjoint from I. In fact, neither additivity nor monotony hold, in general, for database inconsistency measures, due to the non-monotonic logic at work. Moreover, as argued in [17], it is possible to imagine database inconsistency measures such that even the inconsistency value of a database with only negligible inconsistency may be mapped to 0. In general, a database inconsistency measure μ maps pairs (D, IC) from a measure space of pairs of databases D and integrity theories IC to a metric space (M, , ø, ⊕), i.e., a commutative monoid (M, ⊕, ø) that is partially ordered by , with neutral element o that also is the infimum of . The algebraic structure of such measure spaces is further detailed in [17,18]. Intuitively speaking, μ(D, IC) sizes the amount of inconsistency in (D, IC). As already indicated in the previous section, database inconsistency measures do not comply with many postulates imposed on conventional inconsistency measures for sets of propositional or first-order predicate logic formulas, mainly because of the non-monotonicity brought about by default negation inference rules in databases.

6

Applications of Inconsistency Measures

Important applications of mathematical measures are of probabilistic or statistical kind. The main application of conventional inconsistency measures is to quantify the amount of inconsistency in sets of logic formulas which formalize a description of some real-world or imagined scenario. As opposed to that, the main application area of database inconsistency measures is the comparison of the amount of inconsistency in databases before and after updates, in order to support decisions of whether to accept, amend or reject the updates. The most essential difference between conventional inconsistency measures and database inconsistency measures is that the latter do not have to be computed for the two applications discussed in this section. Also for mathematical measures μ, there are applications where μ does not have to be determined numerically. For instance, to compare who is the taller one of two persons, their measured height needs not be known; rather, it suffices to put them side by side. Similarly, for determining if an update U of a database D changes the

Database Inconsistency Measures and Their Applications

259

amount of constraint violation in IC, it is easy to see that it suffices to run an inconsistency-tolerant integrity checking method, which tells if U may violate a constraint, or an instance thereof, that has been satisfied before updating D with U . If U violates a hitherto satisfied constraint, it obviously does not decrease the set of extant cases of integrity violation, nor does it leave it invariant. In the remainder of this section, we look into two applications of database inconsistency measures, viz., inconsistency-tolerant relaxations of integrity checking and inconsistency repair checking. More applications will be addressed in an extended version of this paper (in preparation). 6.1

Measure-Based Integrity Checking

The main difference between conventional and measure-based integrity checking is that the former is inconsistency-intolerant while the latter is inconsistencytolerant. Conventional integrity checking is based on the premise that total consistency can be achieved and maintained in databases, irrespective of their size and the complexity of their dynamics. Thus, conventional integrity checking requires that, for an update U to be checked for integrity preservation, the database state to be updated be consistent with its integrity constraints, and only updates that preserve consistency are acceptable. As opposed to that, inconsistency-tolerant integrity checking recognizes that total consistency in reallife databases is rarely achievable and thus a matter of wishful thinking, rather than an assumption with which can be reasoned in practice. Thus, inconsistencytolerant integrity checking does not pursue the illusonary goal to maintain an absolute control in order to completely ban inconsistency from any database. Rather, inconsistency is, for better or worse, not excluded, and the goal is to contain its amount across updates. The basic idea of measure-based integrity checking is to find out, for a given update request U in a database D, whether the amount of inconsistency, i.e., of integrity violation, in the updated database (DU , IC) is equal to or less than the amount of inconsistency in (D, IC) or not. If it is equal or less, then the update may be accepted. If it is neither equal nor less, then the amount of inconsistency in (DU , IC) is either greater than that of (D, IC), or it is incomparable. If inconsistency in (DU , IC) is greater than in (D, IC), then U usually is to be rejected. Incomparability of the amount of inconsistency before and after an update may occur only if the metric space to which the database inconsistency measure maps its output is not totally ordered. For example, if U violates a constraint ι that has been satisfied before but also repairs a previous violation of some other constraint I  , and if the measure is the set of violated constraints (i.e., the metric space is the powerset of IC, partially ordered by ⊆), then, the set of violated constraints in the updated state clearly is neither a subset nor a superset of the set of violated constraints before the update, nor are both sets equal. Hence, they are not comparable. In such cases, the usual policy of integrity checking methods is to either reject the update, or to compute a consistency-preserving repair of I  , or to use some preference criteria that decide which of the two violations of

260

H. Decker and S. Misra

ι and I  is more tolerable, which may include the option to ask the user which of the states before and after the update should be preferred. In case the amount of inconsistency in (D, IC) and (DU , IC) is the same, then that does not necessarily mean that the violations in (D, IC) are the same as the one in (DU , IC), no matter if the metric space is totally ordered or not. For instance, the set of violated constraints is theasure same before and after the update U = {delete p(a, a), insert p(b, b)} in D = {p(a, a)} and IC = {← p(x, x)}, but the cases of violated instances of ← p(x, x) obviously are different before and after applying U . The preceding example also shows that different measures may yield different kinds of inconsistency tolerance. In fact, several different measures can be illustrated. One is the measure ι that maps pairs (D, IC) to {I | I ∈ v(D, IC)}, where v(D, IC) is the set of constraints in IC that are violated in D. In the example, vc(D, IC) = {← p(x, x)}. Related to ι, the measure | ι | simply counts the violated constraints in IC, i.e., | ι | maps (D, IC) to | ι(D, IC) |. Similar to ι, the database inconsistency measure ζ maps pairs (D, IC) to {ζ | C ∈ vc(D, IC)}, where vc(D, IC) is the set of violated cases of constraints in IC. Recall from [19]: Cases are instances of a constraint in prenex form where all ∀- quantified variables that are not governed by an ∃ quantifier are consistently substituted by a ground term. In the example, vc(D, IC) = {← p(a, a)} and vc(DU , IC) = {← p(b, b)}. Instead of sets of cases of violated constraints, the database inconsistency measure κ maps pairs (D, IC) to {ζ | C ∈ c(D, IC)}, where c(D, IC) is the set of causes of the violation in IC. Causes are instances of if- and only-if halves of the completion of D where all ∀-quantified variables that are not governed by an ∃ quantifier are consistently substituted by a ground term. In the example, c(D, IC) = {p(a, a)} and c(DU , IC) = {p(b, b)}. In analogy to ι and to | ι |, there are also cardinality measures | ζ | and | κ |, which map to | ζ(D, IC) | and, resp., | ζ(D, IC) |. In the example, | ι(D, IC) | = | ι(DU , IC) | = | ζ(D, IC) | = | ζ(DU , IC) | = | κ(D, IC) | = | κ(DU , IC) | = 1. Of course, mode measures can be imagined, e.g., those which assign a weight of inconsistency to violated constraints or their cases or their causes, for quantifying their severity, and sum up the weights of elements in the results of ι, ζ or κ, respectively. Or measures that compute the ratio of | ι |, | ζ | or | κ | by the cardinality of D. Then, the amount of extant integrity violations or their causes become less important with each increase of the database that does not increase the amount of violations or of their causes. There are also conventional inconsistency measures that can be adapted to become database inconsistency measures, at least for the monotonic case of relational or definite databases and integrity theories that only consist of conjunctive denial constraints. An example is the inconsistency measure in [28,30], which has been molded as a database inconsistency measure in [20]. 6.2

Measure-Based Repair Checking

Repair checking is to find out if a given update repairs violations of database integrity. Conventional repair checking evaluates the integrity of each constraint

Database Inconsistency Measures and Their Applications

261

brute-force. Alternatively, the authors of [21] propose to compute repair checking by measure-based integrity checking (cf. Subsect. 6.1), as sketched below. Let μ be a database inconsistency measure. A μ-based repair of a tuple (D, IC) is defined as an update of D such that μ(DU , IC)  μ(D, IC) and there  is no update U  such that U   U and μ(DU , IC)  μ(DU , IC). According to this definition, to check if a given update U is a μ-based repair of (D, IC), it is necessary to check two things. Firstly, if U is a μ-based inconsistency reduction of (D, IC), i.e., if μ(DU , IC)  μ(D, IC) holds, and, secondly, ifn μ is minimal in the sense defined above. Now, let us succinctly recapitulate the main characteristics that differentiate the concept and the implementation of generalized measure-based repair checking from conventional brute force repair checking. The main conceptual difference between brute-force and measure-based repair checking: the latter is inconsistency-tolerant, i.e., accepts reductions of integrity violations that do not totally eliminate inconsistency. Brute-force repair checking disqualifies each update that does not yield total consistency. The main technical difference: measure-based repair checking can be implemented by measure-based simplified integrity checking, brute-force repair checking evaluates all constraints bruteforce. The main practical difference: An implementation of measure-based repair checking by simplified integrity checking is more efficient since it exploits the incrementality of updates. In particular, the incrementality of updates makes it possible to refrain from computing the inconsistency measure explicitly. Rather, only the difference of inconsistency between old and new states needs to be looked at for deciding if an update is a repair or not. In terms of the efficiency-enhancing use of measure-based inconsistencytolerant integrity checking, perhaps the most surprising thing with measurebased repair checking is that not only the inconsistency reduction check can be done by measure-based integrity checking, but also the minimality check can recur on that same technology, based on the given database inconsistency measure. Below, we re-state the main results in [21], where measure-based integrity checking is used for the inconsistency reduction check and the minimality check of generalized repair checking. As argued in [21], this way of repair checking is significantly cheaper than brute-force repair checking. Theorem 1. Let ic be a sound μ-based integrity checking method, and rc a function that maps triples (D, IC, U ) to yes, no. rc is a complete μ-based repair checking method if rc obeys the following equivalence, where U  = U \ U  . rc(D, IC, U ) = yes ⇔ ic(DU , IC, U ) = no , and  for each U   U , ic(DU , IC, U ) = no. Theorem 2. Let μ be an inconsistency measure, ic a sound and complete μbased integrity checking method, andrc a function that maps triples (D, IC, U ) to {yes, no}. rc is a sound and complete μ-based repair checking method if rc obeys the following equivalence, where U  = U \ U  . rc(D, IC, U ) = yes ⇔ ic(DU , IC, U ) = no, ic(D, IC, U ) = yes, and  for each U   U , ic(DU , IC, U ) = no.

262

H. Decker and S. Misra

Theorem 3. Let μ be an inconsistency measure with a totally ordered range, ic a sound and complete μ-based integrity checking method, and rc a function that maps triples (D, IC, U ) to {yes, no}. rc is a sound and complete μ-based repair checking method if rc obeys the following equivalence, where U  = U \ U  . rc(D, IC, U ) = yes ⇔ ic(DU , IC, U ) = no, and  for each U   U , ic(DU , IC, U ) = no. Note that the key differences between the three theorems are determined by the different premises, that either don’t postulate or do postulate the completeness of ic, and also don’t or do postulate the totality of the order of the metric space. Depending on the guarantee of completeness and totality, or the lack thereof, more or less strong consequences are obtained, as expressed by the respective equivalences. Further note that the line ic(DU , IC, U ) = no, which is common to each of the three theorems, precisely corresponds to the inconsistency reduction check of the repair checking method rc, realized by the μ-based integrity checking  method ic. The last line, for each U   U , ic(DU , IC, U ) = no, on the right side of the equivalence symbol in each theorem, corresponds to the minimality check. The middle line on the right side of the equivalence symbol in Theorem 2 guarantees the soundness of the inconsistency reduction of rc. Special mention must also be made of the use of the inverse updates U  and U . The rationale for that is the following. Given an update U of (D, IC), an integrity checking method based on database inconsistency measure μ outputs yes only if μ(DU , IC)  μ(D, IC). On the other hand, U properly reduces the amount of integrity violation if and only if μ(DU , IC) ≺ μ(D, IC). So, the use of the inverse update simply is to find out if μ(DU , IC) = μ(D, IC) holds or not. If not, then the desired ≺ relation holds, i.e., U then is a proper inconsistency reduction.

7

Conclusion

The main contribution of this paper is to point out the originality and significance of database inconsistency measures, by comparing them to conventional mathematical measures and inconsistency measures of sets of logical formulas in the literature. For that purpose, we have first scrutinized the differences of the concepts of classical logic and database logic, and the differences of inconsistency in classical theories and in databases. On that basis, the differences between conventional inconsistency measures and database inconsistency measures could be elaborated more clearly and with more poignancy that it had been done in [15,18–23,25]. Yet, we refer to the latter for more technical details on various applications of database inconsistency measures, which we have paced in Sect. 6. To conclude, we briefly recapitulate the main differences that we have carved out in this paper. As opposed to mathematical measures and logical inconsistency measures, the range of database measures is not necessarily numerical, since their

Database Inconsistency Measures and Their Applications

263

main purpose is not to quantify the amount of inconsistency in a given database (although they can be used for that purpose too), but rather to compare the amounts of inconsistency in two consecutive database states. Such comparisons are key for an inconsistency-tolerant monitoring, maintenance and repairing of database quality, and also for an assessment of the quality of answers given in potentially inconsistent databases. An equally important difference is that, for comparing the amount of consistency of consecutive database states by measure-based integrity checking methods, it is not necessary to compute the absolute values of inconsistency measures. Rather, it suffices to gain evidence of the relative difference (i.e., decrease or increase or invariance) between such states, for supporting decisions about accepting or dismissing updates. Also for computing answers that have integrity in inconsistent databases, it is not necessary to compute absolute inconsistency measures. Rather, it suffices to check if there is any overlap of causes that explain a given answer with the causes of integrity violation. Computation of the latter tends to be more expensive than computing causes of answers. However, computing causes of integrity violation can be done in quiescent states, after update requests have been processed, and hence does not have to cope with real-time requirements that are more likely to occur at update time, i.e., the time when causes of answers are computed.

References 1. Abiteboul, S., Hull, R., Vianu, V.: Foundations of Databases. Addison-Wesley, Reading (1995) 2. Bauer, H.: Maß- und Integrationstheorie, 2nd edn. De Greuter, Berlin (1992) 3. Bertossi, L., Hunter, A., Schaub, T. (eds.): Inconsistency Tolerance. LNCS, vol. 3300. Springer, Heidelberg (2005) 4. Besnard, P.: Revisiting postulates for inconsistency measures. In: Ferm´e, E., Leite, J. (eds.) JELIA 2014. LNCS (LNAI), vol. 8761, pp. 383–396. Springer, Cham (2014). doi:10.1007/978-3-319-11558-0 27 5. Besnard, P.: Forgetting-based inconsistency measure. In: Schockaert, S., Senellart, P. (eds.) SUM 2016. LNCS (LNAI), vol. 9858, pp. 331–337. Springer, Cham (2016). doi:10.1007/978-3-319-45856-4 23 6. Brewka, G., Dix, J., Konolige, K.: Nonmonotonic Reasoning: An Overview. CSLI Lecture Notes, vol. 73. CSLI Publications, Stanford (1997) 7. Ceri, S., Gottlob, G., Tanaka, L.: Logic Programming and Databases. Surveys in Computer Science. Springer, Heidelberg (1990) 8. Clark, K.: Negation as failure. In: Gallaire, H., Minker, J. (eds.) Logic and Data Bases, pp. 293–322. Plenum, New York (1978) 9. Codd, E.: A relational model of data for large shared data banks. CACM 13(6), 377–387 (1970) 10. da Costa, N.: On the theory of inconsistent formal systems. Notre Dame J. Form. Log. 15(4), 497–510 (1974) 11. de Bona, G., Finger, M.: Notes on measuring inconsistency in probabilistic logic. University of Sao Paulo (2014)

264

H. Decker and S. Misra

12. Decker, H.: The range form of databases and queries or: how to avoid floundering. ¨ In: Retti, J., Leidlmair, K. (eds.) 5th OGAI, pp. 114–123. Springer, Heidelberg (1989) 13. Decker, H.: Historical and computational aspects of paraconsistency in view of the logic foundation of databases. In: Bertossi, L., Katona, G.O.H., Schewe, K.-D., Thalheim, B. (eds.) SiD 2001. LNCS, vol. 2582, pp. 63–81. Springer, Heidelberg (2003). doi:10.1007/3-540-36596-6 4 14. Decker, H.: A case for paraconsistent logic as a foundation of future information systems. In: 17th CAiSE Workshops, vol. 2, pp. 451–461. FEUP Edi¸coes (2005) 15. Decker, H.: Quantifying the quality of stored data by measuring their integrity. In: Proceedings of ICADIWT 2009, Workshop SMM, pp. 823–828. IEEE (2009) 16. Decker, H.: How to confine inconsistency or, wittgenstein only scratched the surface. In: 8th ECAP, pp. 70–75. Technical University of Munich (2010) 17. Decker, H.: Measure-based inconsistency-tolerant maintenance of database integrity. In: Schewe, K.-D., Thalheim, B. (eds.) SDKB 2011. LNCS, vol. 7693, pp. 149–173. Springer, Heidelberg (2013). doi:10.1007/978-3-642-36008-4 7 18. Decker, H.: New measures for maintaining the quality of databases. In: Murgante, B., Gervasi, O., Misra, S., Nedjah, N., Rocha, A.M.A.C., Taniar, D., Apduhan, B.O. (eds.) ICCSA 2012. LNCS, vol. 7336, pp. 170–185. Springer, Heidelberg (2012). doi:10.1007/978-3-642-31128-4 13 19. Decker, H., Martinenghi, D.: Inconsistency-tolerant integrity checking. IEEE Trans. Knowl. Data Eng. 23(2), 218–234 (2011) 20. Decker, H., Martinenghi, D.: Modeling, measuring and monitoring the quality of information. In: Heuser, C.A., Pernul, G. (eds.) ER 2009. LNCS, vol. 5833, pp. 212–221. Springer, Heidelberg (2009). doi:10.1007/978-3-642-04947-7 26 21. Decker, H., Misra, S.: Measure-based repair checking by integrity checking. In: Gervasi, O., et al. (eds.) ICCSA 2016. LNCS, vol. 9790, pp. 530–543. Springer, Cham (2016). doi:10.1007/978-3-319-42092-9 40 22. Dubois, D., Prade, H.: Possibilistic logic: a retrospective and prospective view. Fuzzy Sets Syst. 144(1), 3–23 (2004) 23. Gallaire, H., Minker, J., Nicolas, J.-M.: Logic and databases: a deductive approach. ACM Comput. Surv. 16(2), 153–185 (1984) 24. Alchourron, C., Gardenfors, A., Makinson, D.: On the logic of theory change: partialo meet contraction and revision functions. J. Symb. Log. 50(2), 510–521 (1985) 25. Gaye, M., Sall, O., Bousso, M., Lo, M.: Measuring inconsistencies propagation from change operation based on ontology partitioning. In: 11th SITIS, pp. 178– 184 (2015) 26. Gelfond, M., Lifschitz, V.: The stable model semantics for logic programming. In: 5th ICLP, pp. 1070–1080. MIT Press (1988) 27. Grant, J.: Classifications for inconsistent theories. Notre Dame J. Form. Log. 19(3), 435–444 (1978) 28. Grant, J., Hunter, A.: Measuring inconsistency in knowledgebases. J. Intell. Inf. Syst. 27(2), 159–184 (2006) 29. Hand, D.: Statistics and the theory of measurement. J. R. Statist. Soc. Ser. A 159(3), 445–492 (1996) 30. Hunter, A.: Measuring inconsistency in knowledge via quasi-classical models. In: 18th AAAI, pp. 68–73 (2002) 31. Hunter, A.: Evaluating significance of inonsistencies. In: 18th IJCAI, pp. 468–478 (2003)

Database Inconsistency Measures and Their Applications

265

32. Hunter, A., Konieczny, S.: Approaches to measuring inconsistent information. In: Bertossi, L., Hunter, A., Schaub, T. (eds.) Inconsistency Tolerance. LNCS, vol. 3300, pp. 191–236. Springer, Heidelberg (2005). doi:10.1007/978-3-540-30597-2 7 33. Hunter, A., Konieczny, S.: On the measure of conflicts: shapley inconsistency values. AI 174(14), 1007–1026 (2010) 34. Knight, K.: Measuring inconsistency. J. Philos. Log. 31, 77–98 (2002) 35. Konieczny, S., Lang, J., Marquis, P.: Quantifying information and contradiction in propositional logic. In: 18th IJCAI, pp. 106–111 (2003) 36. Kowalski, R.: Logic for Problem Solving. North-Holland, New York (1979) 37. Kuhns, J.: Answering Questions by Computer: A Logical Study. Rand Corporation, Santa Monica (1967) 38. Lozinskii, E.: Information and evidence in logic systems. JETAI 6(2), 163–193 (1994) 39. Lang, J., Marquis, P.: Reasoning under inconsistency: a forgetting-based approach. Artif. Intell. 174(12–13), 799–823 (2010) 40. Ma, Y., Guilin Qi, G., Hitzler, P.: Computing inconsistency measure based on paraconsistent semantics. J. Log. Comput. 21(6), 1257–1281 (2011) 41. Popper, K.: Objective Knowledge: an Evolutionary Approach, Revised edn. Oxford University Press, Oxford (1979) 42. Priest, G.: Paraconsistent logic. In: Gabbay, D., Guenthner, F. (eds.) Handbook of Philosophical Logic, vol. 6. Kluwer, Dordrecht (2002) 43. Przymusinski, T.: Perfect model semantics. In: 5th ICLP, pp. 1081–1096. MIT Press (1988) 44. Qi, G., Hitzler, P.: Inconsistency-tolerant Reasoning with Networked Ontologies. Deliverable D1.2.4 of NeOn project. University of Karlsruhe (2008) 45. Reiter, R.: On closed world data bases. In: Gallaire, H., Minker, J. (eds.) Logic and Databases, pp. 55–76. Plenum, New York (1978) 46. Shannon, C.: A mathematical theory of communication. Bell Syst. Tech. J. 27(3), 379–423 (1948) 47. Thimm, M.: On the compliance of rationality postulates for inconsistency measures: a more or less complete picture. KI 31(1), 31–39 (2017) 48. Thimm, M., Wallner, J.: Some complexity results on inconsistency measurement. In: 15th KR, pp. 114–123. AAAI (2016) 49. van Emden, M., Kowalski, R.: The semantics of predicate logic as a programming language. J. ACM 23(4), 733–742 (1976) 50. Van Gelder, A., Ross, K., Schlipf, J.: The well-founded semantics for general logic programs. J. ACM 38(3), 620–650 (1991) 51. Wikipedia: akri. https://en.wikipedia.org/wiki/Principle of explosion

Migration from COBOL to SOA: Measuring the Impact on Web Services Interfaces Complexity Cristian Mateos1,4(&), Alejandro Zunino1,4, Sanjay Misra2, Diego Anabalon3,4, and Andres Flores3,4 1

ISISTAN-UNICEN-CONICET Research Institute, Tandil, Argentina {cristian.mateos, alejandro.zunino}@isistan.unicen.edu.ar 2 Covenant University, Ota, Nigeria [email protected] 3 GIISCO Research Group, National University of Comahue, Neuquén, Argentina {diego.anabalon,andres.flores}@fi.uncoma.edu.ar 4 CONICET, National Scientific and Technical Research Council, Buenos Aires, Argentina

Abstract. SOA and Web Services allow to easily expose business functions to build larger distributed systems. However, legacy systems – mostly in COBOL – are left aside unless applying a migration approach. Main approaches are: direct and indirect migration. The former implies to wrap COBOL programs with a thin layer of a Web Service oriented language/platform. The latter needs reengineering COBOL functions to a modern language/platform. In a previous work, we presented an intermediate approach based on direct migration where developed Web Services are later refactored to improve their interfaces quality. Refactorings mainly capture good practices inherent to indirect migration. In this paper, we measure the complexity of Web Services’ interfaces generated by the three approaches. Both comprehension and interoperability can be affected according to the service interface complexity level. We apply a metric suite (by Baski & Misra) to measure complexity on services interfaces – i.e., WSDL documents. Migrations of two real COBOL systems upon the three approaches were compared on the complexity level of the generated WSDL documents. Keywords: Legacy system migration  Service-oriented architecture services  Direct migration  Indirect migration  WSDL complexity



Web

1 Introduction Organizations still relying on out-of-date supporting systems – e.g., in COBOL – are lately in the urgency to migrate towards new technologies such as Web 2.0, Web Services or mobile devices. The need is mainly avoiding high IT operational costs – e.g., mainframes – while increasing visibility to reach new markets [13]. System migration implies moving to new software environments/platforms while preserving © Springer International Publishing AG 2017 R. Damaševičius and V. Mikašytė (Eds.): ICIST 2017, CCIS 756, pp. 266–279, 2017. DOI: 10.1007/978-3-319-67642-5_22

Migration from COBOL to SOA

267

legacy data and business functions [1]. Nowadays, a common architectural option is SOA (Service Oriented Architecture) [13], where systems are built from independent building blocks called services that can be invoked remotely. Services expose functionality that any system can use within/across the owner organization boundaries. The Web Services technology is the common way to materialize SOA, where services interfaces are described in WSDL (Web Service Description Language). Then, legacy to SOA migration mainly produces a SOA frontier, the set of WSDL documents describing the functionality of a service oriented system, as shown in Fig. 1. 3: Search

1: Publish

Service Registry SOA Frontier Ser1.wsdl

Service Provider

.....

2: Index

4: Understand & Use

Service Consumer

SerN.wsdl

Fig. 1. SOA frontier and SOA roles.

Two main approaches for migration to SOA are: direct and indirect migration [13, 14]. The former implies to add a new software layer to wrap the legacy functionality that remains implemented with old technologies – being rapid and low cost. The latter requires reengineering concepts and techniques, driven by properties of the service-based system from a (non)functional standpoint – leading to higher time/cost. In a previous work [14], we presented an intermediate approach based on direct migration in which developed Web Services are later improved on their interfaces quality – attending concerns inherent to an indirect approach. A quick migration is less costly but WSDLs (the SOA frontier) might suffer from anti-patterns – e.g., bad naming conventions and redundant operations [12] – affecting services readability and discoverability. Direct migration to SOA is often performed via a 1-to-1 mapping between legacy modules and Web Services. Hence, identifying and avoiding anti-patterns is disregarded [13]. Indirect migration may address this issue but at a large investment on cost/time. The intermediate migration approach, called COB2SOA is focused on COBOL systems, and identifies refactoring opportunities to be applied on SOA frontiers. Through an automatic analysis of WSDL documents and COBOL files, anti-patterns evidence detection is done. Specific refactorings are then proposed as remedy actions, to increase the quality level of WSDL documents. All in all, organizations truly need a suitable approach to migrate legacy systems to SOA, and capable to ensure best quality of SOA frontiers. Hence, in this paper we address a specific quality concern related to the complexity of WSDL documents, which may seriously affect comprehension and interoperability. This may impact on

268

C. Mateos et al.

new business opportunities and partners relationships, as services must be consumed from heterogeneous systems. Tightly closed functional constraints of data processing implemented in legacy modules are now openly exposed as operational data exchange protocols through WSDL documents. The use of XML (eXtensible Markup Language) documents serve to data message exchange. Certain message data structure definitions into WSDLs and XMLs might affect understandability. Thereby, we make use of a recent metric suite (proposed by Baski and Misra [2]) to measure complexity of services interfaces – i.e., WSDL documents. Measurable aspects entail the structure of requesting and responding messages of WSDLs operations. A factor that may increase complexity is the number of arguments within a message and their data types. Arguments can include built-in data types or complex data type structures. However, when similarly-structured complex types are defined, a familiarity factor arises that may decrease complexity. As such, this metric suite produces further trade-off information to be aware of design decisions about WSDLs. Concretely, we could prevent from interoperability problems by measuring the complexity that might be injected on a SOA frontier by following a migration approach. We apply the metric suite onto the migration of two real COBOL systems to SOA performed in different stages under the three migration approaches mentioned above. The SOA frontiers produced by the three approaches involved 431 WSDL documents. Our contribution in this paper is threefold: (a) to review the main migration approaches of legacy systems to SOA – i.e., direct and indirect migration; (b) to present an intermediate migration approach, namely COB2SOA, focused in COBOL systems; and (c) to analyze the migration of two real COBOL systems upon the three migration approaches. The complexity level of the generated WSDLs is compared through the Baski & Misra metric suite, which has been designed for that specific purpose.

2 Preliminary Concepts As Web Services functionality is exposed through WSDL documents, their proper specification becomes crucial not to affect understanding and exceed development effort and cost to a consumer application. This can be addressed through identifying anti-patterns affecting services interfaces, and measuring their complexity by a set of metrics – e.g. the Baski & Misra metric suite. These two options are presented below. Anti-Patterns. The catalog of Anti-Patterns in [12] describes bad practices that make WSDL documents less readable. Anti-patterns are concerned with how port-types, operations and messages are structured and specified in WSDLs. Table 1 summarizes the catalog of anti-patterns, classified in three categories: high-level service interface specification, comments and identifiers, and service message exchange. Consumer application developers prefer properly designed WSDL documents [12], so quality should be attended by service providers when building SOA frontiers. In the context of legacy to SOA migration scenarios, applying indirect migration favors achieving good WSDL document quality [13]. However, software engineers usually choose between direct or indirect migration based on classical criteria (e.g., time), disregarding those that may impact on readability and discoverability of SOA frontiers.

Migration from COBOL to SOA

269

Table 1. Catalog of WSDL anti-patterns. Anti-patterns Symptoms High-level service interface specification Enclosed data model Type definitions are placed in the WSDL rather than in separate XSD documents Redundant port-types Several port-types offer the same set of operations, on different binding types (e.g., HTTP, HTTPS, or SOAP) Redundant data models Many types to represent the same domain objects within a WSDL Low cohesive port-type Port-types have operations with weak semantic cohesion Comments and identifiers Inappropriate or lacking (1) a WSDL document has no comments, or (2) comments are comments non explanatory Ambiguous names Ambiguous names are used for denoting the main elements of a WSDL document Service message exchange Whatever types A data-type might represent any domain object Undercover fault Output messages are used to notify service errors information

Baski and Misra Metric Suite. The metric suite (“BM suite”) presented in [2] is concerned with the effort required to understand data flowing to/from a service interface, that can be characterized by the structures of messages used for data exchange. The BM suite includes four metrics, whose formulas are shown in Table 2, which can be computed from a service interface in WSDL. Metrics are explained as follows. Data Weight metric (DW). This metric, with Formula (1), computes the structural complexity of service messages data-types. In (1), Cðmi Þ broadly counts and weights the various XSD elements (simple/complex data-types) exchanged by the parts of message mi . Each element or data-type definition in XSD is assigned with a weight value wpj as a complexity degree. This wpj is equals to we if the part references an element declaration in XSD, or wt if the part references an XSD element definition. In turn, wt depends on the data-type (simple or complex). See [2] for details about we and wt. Then, DW values are positive integers. The bigger the DW of a WSDL is, the more dense the parts of its messages are. Then, DW values should be kept low. Distinct Message Ratio metric (DMR). This metric, with Formula (2), considers that a WSDL may have many messages with the same structure. As the number of similarly-structured messages increases, less effort is likely needed to reason about them. Repetitive messages might allow to gain familiarity when inspecting the WSDL. The DMC function counts the number of distinct-structured messages in a WSDL, from the ½C ðmi Þ; #partsðmi Þ pairs, i.e., the complexity value and the total number of parts (input/output operation arguments) that each message mi contains. Then, the DMR metric is in range ½0; 1, where 0 means that all messages are similarly-structured (lowest complexity), and 1 means that all messages are dissimilar (highest complexity). Then, DMR values should be kept low.

270

C. Mateos et al. Table 2. BM metric suite.

Metrics formulas nm P C ðmi Þ DW ðwsdlÞ ¼

ð1Þ

i¼1

CðmÞ ¼

nm : number of messages (input/output) of a WSDL DMRðwsdlÞ ¼ DMCnðmwsdlÞ MEðwsdlÞ ¼

DMC ðwsdlÞ P

MRSðwsdlÞ ¼

i¼1

Pðmi Þ  ðlog2 Pðmi ÞÞ

DMC ðwsdlÞ P i¼1

ð2Þ

nom2i nm

ð4Þ

ð3Þ

#parts PðmÞ j¼1

wpj

wpj : weight value of the j-th part of message m nm : total number of messages in the WSDL i Pðmi Þ ¼ nom nm nomi : number of occurrences of the ith message nm : total number of messages in the WSDL nomi : number of occurrences of the ith message, nm : total number of messages in the WSDL

Message Entropy metric (ME). This metric, with Formula (3), exploits the percentage of similarly-structured messages that occur within a given WSDL. ME also assumes that repetition of the same messages makes a developer more familiar with the WSDL, but ME bases on an alternative differentiation among WSDLs in this respect. The ME metric has values in the range ½0; log2 ðnm Þ. A low ME value means that messages are consistent in structure, i.e., the complexity of a WSDL is lower than others with equal DMR values [2]. Then, ME values should be kept low. Message Repetition Scale metric (MRS). This metric, with Formula (4), analyzes variety in structures of a WSDL. MRS measures the consistency of messages by considering ½Cðmi Þ; #partsðmi Þ pairs in the given WSDL. MRS values are in the range ½1; nm . A higher MRS means less effort to reason about messages structures due to repetition of similarly-structured messages. Then, MRS values should be kept high.

3 Related Work Direct migration. In [16] individual functions of legacy code are wrapped with an XML shell to be offered as Web Services. For each relevant function/program, a new subroutine of the parent program is built, to be associated to a WSDL document. A proxy is generated to link the Web Services to the underlying legacy business logic. In [3] interactive legacy functions are wrapped to make it accessible as Web Services. A Finite State Automaton is used to manually describe the interaction model between users and the legacy system. For GUI-centered programs, a wrapper produces the request/response scheme interaction with the SOA system on behalf of users. In [10] are presented three design patterns for wrapping legacy systems as Web Services. The Lowest Common Denominator Interface, Most Popular Interface and the Negotiated

Migration from COBOL to SOA

271

Interface patterns are used to create a common interface to wrap similar software components, to be used modularly within the resulting SOA system. Indirect migration. In [5], a reengineering methodology towards SOA is presented, based in the 4 + 1 view model [8]. Some software architectures are combined: 3-tier for business logic design, n-tier for service deployment, and SOA for integrating the legacy system with the new environment. In [6] reengineering of legacy code is based on a three-step process: legacy architecture recovery, evolution plan creation, and plan execution. The QAR workflow is used to recover the architecture on three analysis-based steps: documentation, static and dynamic. For the new architecture is used the OGSi standard framework for service lifecycle management and execution. Finally, the set of services is generated. In [17] is presented the SOAMIG COBOL to SOA migration methodology that consists of four iterative phases. COBOL code is translated to Java that is easier to expose as Web Services. Translation is straightforward without any good object-oriented (OO) design criteria. As such, COBOL limitations are transferred to the SOA frontier – e.g. routine names and comments. Combining direct and indirect migration. In [11] legacy components are identified to be used as services, by the Architecture Reconstruction and MINing (ARMIN) method. Dependencies (functional/data) between legacy components help to identify candidate services. This is used to generate a component view. Some issues found involve implementation and documentation inconsistencies, indicating the need for deeply studying the code prior to migration. In [15] the Service-Oriented and Reuse Technique (SMART) can help to expose legacy functions as Web Services. Wrapping is the initial option, otherwise specific interactions prescribed by SOA are considered to modify legacy modules. The initial step implies architectural design, to then analyze the gap between the target SOA system and the original system. Finally, a migration technique is selected (e.g., quick and dirty or wrapping). Several migration approaches can be combined, but no supported tools are provided.

4 The COB2SOA Migration Approach COB2SOA relies on refactoring opportunities applied upon the SOA frontier of a legacy system, by detecting evidences of anti-patterns. The hypothesis is that enhancing the SOA frontier of a wrapped legacy system can be done in a cheap and fast way by analyzing legacy source code and WSDL interfaces, and supplying developers with guidelines (refactoring opportunities) for manually refining WSDLs based on the evidence of anti-patterns. Main activities of COB2SOA are shown in Fig. 2.

Fig. 2. COB2SOA: main activities.

272

C. Mateos et al.

The input is a legacy system source code (COBOL files) and the set of WSDL documents that result from a direct migration. If the legacy system does not have a SOA frontier yet, a semi-automatic process generates one Web Service per COBOL program. As a pre-processing, COBOL data-types are converted into XSD data-types for WSDLs. Data exchanged by COBOL programs is manually identified to then create a wrapper for it (e.g., using.NET or Java). Then, the WSDLs are automatically generated from the source code of the wrapper. The initial SOA frontier is automatically analyzed to detect evidences of WSDL anti-patterns. Then a list of concrete suggestions is generated to improve the services frontier. After that, developers apply all or some of the suggested refactoring actions. These steps can be done in successive iterations and refinements, where a new, improved SOA frontier can be obtained. To detect the anti-patterns evidences, some heuristics were defined and implemented, allowing assistance during the system migration. Evidences of anti-patterns can be combined to create refactoring opportunities. Six refactoring opportunities have been defined – explained in Sect. 4.1. Most of the heuristics help to analyze WSDLs to detect evidences of anti-patterns that may affect service readability and discoverability (see Sect. 2). Also, two anti-patterns for COBOL source code were added, namely unused parameters and shared dependencies among two COBOL programs representing service implementations. To detect evidences of these two anti-patterns, COBOL code files are reverse engineered with an analysis of the common area for data-type exchange, called COMMAREA. Once evidences of anti-patterns have been identified, practical guidelines to remove them must be provided. For this, OO refactorings are applied, considering that services are described as OO interfaces exchanging messages, with data-types described using XSD. Then, a sub-set of Fowler et al.’s catalog [7] was selected. 4.1

SOA Refactoring Opportunities

The six refactoring opportunities applicable over a SOA frontier are now briefly explained. They allow to remove the evidences of the ten anti-patterns explained in the previous section. Table 3 shows how refactoring opportunities – referred as LegacySystem-to-SOA (LSSOA) Refactorings – are related into one or more logical combinations to OO refactorings from the Fowler et al.’s catalog [7]. For space reasons, the reader is referred to [14] for details of refactoring opportunities. Remove redundant operations. Redundant operations in a SOA frontier is similar to duplicate code in other contexts [12]. This can be detected both in COBOL source code and in WSDLs. Each service exposes an interface that wraps COBOL programs, whose business logic involves an interface including COBOL data-types and dependencies to other programs. The Extract Method OO refactoring may be applied, to create a single operation in a WSDL (grouping several redundant operations) to be invoked for all the points where the redundancy was detected. At the class level, the Extract Class is applied to generate a new service from the redundant services. Improve error handling definitions. This is related to improper handling of errors and exceptions in services, which occurs when WSDL operations exclude elements. Instead, errors are exchanged along with pure data. Thus, the actual result

Migration from COBOL to SOA

273

Table 3. SOA frontier refactorings and Fowler et al.’s refactorings. LSSOA refactoring Remove redundant operations Improve error handling definitions Improve business object definitions

OO refactoring 1: Extract Method ) Extract Class 1: Replace Error Code With Exception 1: Convert Procedural Design to Object ; Replace Conditional with Polymorphism 2: Inline Class 3: Extract Class ; Extract Subclass ; Extract Superclass ;Collapse Hierarchy 4: Remove Control Flag ; Remove Parameter 5: Replace Type Code with Class ; Replace Type Code with Subclasses 1: Extract Method ) Extract Class

Expose shared programs as services Improve names and 1: Rename Method ) Preserve Whole Object ) Introduce comments Parameter Object ) Replace Parameter with Explicit Methods 1: Inline Class ; Rename Method Improve service operations cohesion 2: Move Method ) Move Class Numbers means the steps to be performed to fulfill the OO refactorings. “)” means that only one OO refactoring should applied. “;” means that all OO refactorings should be applied in that strict order.

(correct or error) from an operation is unknown until invoking the service. The Replace Error Code With Exception OO refactoring can be applied here. This refactoring adds the missing elements to WSDLs and the refinement of data-types mixing output and error data. A textual description (string) or a can be used to report details of the error. Improve business object definitions. This can be detected with the lack of a single XSD file for a set of services within the same frontier. This means, a bad business model definition (or the lack of a unique data-type schema) hinders the general readability of services and their reusability. As shown in Table 3, up to five steps and many OO refactorings should be done here. In fact, several aspects of a service are involved: Too many output/input parameters, Redundant data-types definitions, Data-types with inconsistent names and types, and Unused parameters. Some of them can be solved with one OO refactoring, while others require more than one in alternate combinations. For example, Too many output/input parameters, evidences the use of many variables as parameters of procedural modules, that should be arranged among different business objects. The Convert Procedural Design to Object OO refactoring can be applied, to restructure common data-types schema for a set of Web Services. Expose shared programs as services. Usually some programs/routines contain functionality that represents core business itself. Such routines might have several client routines dependents, representing highly reusable business logic modules. Exposing these routines as services can reduce the chance of redundant operations, increasing the

274

C. Mateos et al.

possibility of Web Services composition. The Extract Method OO refactoring can be applied, which is similar to having a long method. In SOA, it means generating new service operations that might help service consumers to identify the requested functionality. If a decomposition of a long routine expose several service operations, a new service could be generated, i.e., by applying Extract Class. Improve names and comments. WSDLs must precisely describe how to invoke certain functionality as well as the meaning of that functionality. This implies to improve names of operations, messages, port-types, parts and elements present in a WSDL, by adding documentation according to the meaning of the service. Improving these elements implies dealing with semantics, and hence they cannot be fully automated. This situation implies several alternatives. For example, renaming service operations is equivalent to apply the Rename Method OO refactoring. Improve service operations cohesion. This improvement consists in grouping semantically similar operations and/or Web Services in terms of business functionality. For similarity between two services is assumed a 1-to-1 association between COBOL programs and Web Services, i.e., produced Web Services contain a single operation. Therefore, this also represents the similarity between two COBOL programs. This implies some aspects with different alternatives as solutions. For example, the Move Method OO refactoring can be applied, which is used to re-locate methods being odd within a class, and mostly invoked by other classes. In SOA, this would be equivalent to moving operations between services. When a group of similar services (of one operation) is identified, a new service could be built by applying Move Class.

5 Experimental Evaluation This section evaluates the effectiveness of migration approaches to SOA regarding frontier complexity in terms of the BM suite (see Sect. 2). Two case studies, concerning COBOL systems, have been subject of migration to SOA by employing the three approaches: Direct and Indirect migration, and COB2SOA. The first case study is the legacy system of the largest Argentinian government agency [13]. The second case study is a legacy system providing support for mill sales management [14]. 5.1

Direct and Indirect Migration

The first system manages information of the entire population in Argentina [13]. It runs on an IBM AS/400 mainframe. Some programs are used via an intranet and others are grouped in CICS transactions that are consumed by Web applications. Direct migration was done by wrapping the CICS-enhanced programs, creating a preliminary Web Services frontier. One 1-operation Web Service for each COBOL program was generated, adding a thin C# .NET service layer. Then, WSDLs were automatically generated from the C# source code. Developers migrated 32 COBOL programs, generating 32 services in about 5 days. Indirect migration was done to completely re-implement the 32 COBOL programs in C#. An indirect SOA frontier was built, consisting of 7 services, and 1 XSD file representing a single data model. The generated WSDLs were

Migration from COBOL to SOA

275

manually refined until an antipatterns-free SOA frontier was obtained. The whole migration process demanded 13 months: 1 month to manually define WSDLs, 3 months to analyze legacy functions, 1 month to refine WSDLs, 6 months to rewrite the business logic, and 2 months to test the obtained indirect SOA frontier. The Mill Sales Management system provides support for sale transaction management between clients, suppliers and creditors [14]. The system comprises 211 COBOL programs and an extra COBOL program acting as a program selector (menu). No databases or CICS transactions are involved. Data storage is programmatically handled via “.dat” files. An independent file – the COMMAREA – is used for data definition of each COBOL program. First, direct migration was done, generating 211 Web Services by wrapping each COBOL program via a 1-to-1 mapping strategy. WSDL interfaces were also generated by building a thin service layer. The migration to SOA demanded 21 days. Then, indirect migration of the original system was also done. Similar to the first case study, the goal was to generate a high quality SOA frontier, i.e., without anti-patterns. After 6 months process, 50 Web Services were built – 2 months to analyze the legacy functions, 1 month to design the WSDLs, and 3 months to refine WSDLs. Since this case study had experimental purposes only, no actual deployment was done. Hence, testing the obtained indirect SOA frontier was left out – which might require more than 2 months compared to case study 1. 5.2

COB2SOA Migration

The direct SOA frontiers of both case studies were taken as input for the COB2SOA approach, to identify refactoring opportunities (see Sect. 4.1). Table 4 summarizes the refactoring opportunities detected. After that, the new SOA frontier – the set of refactored WSDL documents – for both case studies were obtained. For case study 1, there were refactoring opportunities applicable to all the services/programs and others applicable to a subset of the services/programs. Besides, a suggestion came up that the 32 services should be grouped in just 16 services. One specialist applied the proposed refactorings in 2 days, to create the new SOA frontier of

Table 4. Case studies: detected LSSOA refactorings. LSSOA refactoring Remove redundant operations Improve error handling definitions Improve business object definitions Expose shared programs as services Improve names and comments Improve service operations cohesion

Case study 1 (32 services) 7 redundant operations detected 32 services needed to be improved 32 services needed to be improved 6 COBOL programs to be exposed 32 services needed to be improved 16 services identified

Case study 2 (211 services) 35 redundant operations detected 0 services needed to be improved 209 services needed to be improved 0 COBOL programs to be exposed 211 services needed to be improved 115 services identified

276

C. Mateos et al.

16 services + 1 XSD file. For case study 2, one refactoring opportunity was applicable to all the services/programs (211) and other was applicable to most of them (209 services). Finally, after the specialist applied the proposed refactorings (in about 1 month), the new SOA frontier was created containing 115 services + 1 XSD file. 5.3

Comparison of Service Interfaces Quality

SOA frontiers obtained by direct migration strongly depend on the original system design. In turn, interfaces obtained by indirect migration might be more independent [13], since the legacy system functionality is re-implemented using modern technologies and new design criteria. The main goal of this work is to assess the trade-off between cost/time and services frontier quality. Thereby, setting forth empirical evidence can reveal how a migration approach influences a SOA frontier quality – mainly focusing on the complexity level according to the BM suite (see Sect. 2). Besides, a quantitative analysis highlights some results from the migration processes, as follows. Quantitative analysis. Table 4 shows the quantitative results regarding the interfaces generated by the three migration alternatives, for both case studies. The first advantage of indirect migration and COB2SOA compared to direct migration is the unique XSD document generated, to share the definition of common data-types across all WSDLs. In addition, the fewer number of WSDLs means they include more operations, fostering a functional definition of related cohesive operations within a WSDL. In case study 1, 32 COBOL programs were directly migrated, that resulted in 38 operations (one program was divided into 7 operations). After manually analyzing the business logic was detected that only 2 operations were useful and the remaining ones were marked as duplicate. For case study 2, after directly migrating 211 COBOL programs the result was 252 operations – because operations were classified into three transaction types: add, update, or delete of data. In turn, indirect migration and COB2SOA migration resulted in 202 and 206 operations, respectively. There are fewer operations due to redundant operations that were removed in both cases. Qualitative analysis. The BM metric suite was applied on both case studies upon the three migration approaches. The aim is to evaluate how a migration approach influences the complexity level of a generated SOA frontier – with a likely impact on comprehension and interoperability. Before analyzing measurement results from both case studies, we recall the expected (good/bad) values on each metric of the BM suite. Results for case study 1 are shown in Fig. 3. The COB2SOA migration outperforms the direct migration in both DMR and MRS. However, the indirect migration obtained the best values for these two metrics – i.e., the lowest DMR and the highest MRS. This means, refactorings have produced higher use of similarly-structured messages, that improves WSDL comprehension. However, the ME metric, was affected by COB2SOA and indirect migration – the worst value (highest) for indirect migration. This means, a high distribution of similarly-structured messages, instead of being consistent in structure. Finally, the DW metric was also affected by COB2SOA and indirect migration – obtaining higher values than for direct migration. This means, refactorings have produced a larger number of complex data types – probably with a goal to better reflect business domain objects (see Table 4).

Migration from COBOL to SOA

277

Fig. 3. Case study 1: BM suite metrics upon migration approaches.

Fig. 4. Case study 2: BM suite metrics upon migration approaches.

Results for case study 2 are shown in Fig. 4. The general trends are quite similar to case study 1 for the DMR, MRS and DW metrics. However, the ME metric was particularly benefited by COB2SOA, obtaining the lowest (better) value. Then, after the refactorings, most WSDLs resulted with few data structures largely repeated (wrt other similar-structures) being as such highly consistent within the given WSDLs. Discussion. From the quantitative and qualitative analysis above, it can be seen that the COB2SOA migration approach has a midway performance. Regarding the time vs. quality trade-off there is a better performance, considering a quality trend towards the indirect approach, but with a time trend very close to the direct approach and largely far from the indirect migration. As such, the COB2SOA approach comes up as an optimized option for the industry when engaging in a COBOL to SOA migration.

278

C. Mateos et al.

6 Conclusions and Future Work This paper studied how a direct and indirect COBOL to SOA migration approaches perform regarding the quality of the generated SOA frontier. Besides an intermediate approach, called COB2SOA, is also evaluated. Qualities attended by COB2SOA and the indirect migration are related to readability and discoverability of the produced WSDL documents. In particular, a set of anti-patterns – bad practices – is considered at the levels of WSDL and COBOL source code. In this study, we also evaluate the complexity level of a SOA frontier, by using the BM metric suite. Complex WSDLs may impact on comprehension and interoperability, which might affect new business relationships of a target organization. After a quantitative and qualitative analysis a conclusive evidence arises in favor of the COB2SOA approach, in terms of balanced trade-off between quality and time. As future work, we expect to conduct another study concerning well-known OO metrics from Chidamber and Kemerer [4], from which we have found a correlation with the BM metric suite [9]. By considering the OO back-ends of the SOA frontiers that are generated in the three approaches we might early analyze another refactoring opportunities to then generate improved WSDLs with lowest complexity – i.e., increasing comprehension and interoperability. Acknowledgments. This work is supported by PIP 2013-2015 GI code 11220120100185CO (CONICET).

References 1. Almonaies, A., Cordy, J., Dean, T.: Legacy system evolution towards service-oriented architecture. In: SOAME, pp. 53–62 (2010) 2. Baski, D., Misra, S.: Metrics suite for maintainability of extensible markup language web services. IET Softw. 5(3), 320–341 (2011) 3. Canfora, G., Fasolino, A., Frattolillo, G., Tramontana, P.: A wrapping approach for migrating legacy system interactive functionalities to service oriented architectures. J. Syst. Softw. 81(4), 463–480 (2008) 4. Chidamber, S., Kemerer, C.: A metrics suite for object oriented design. IEEE Trans. Softw. Eng. 20(6), 476–493 (1994) 5. Chung, S., An, J., Davalos, S.: Service-oriented software reengineering: SoSR. In: Proceedings of the 40th IEEE HICSS, pp. 172c (2007) 6. Cuadrado, F., Garcia, B., Dueñas, J., Parada, H.: A case study on software evolution towards service-oriented architecture. In: Proceedings of the 22nd IEEE AINA, pp. 1399–1404 (2008) 7. Fowler, M., Beck, K., Brant, J., Opdyke, W., Roberts, D.: Refactoring: Improving the Design of Existing Code. Addison-Wesley Professional, Massachusetts (1999) 8. Kruchten, P.: The 4 + 1 view model of architecture. IEEE Softw. 12(6), 42–50 (1995) 9. Mateos, C., Zunino, A., Misra, S., Anabalon, D., Flores, A.: Keeping web service interface complexity low using an OO metric-based early approach. In: Proceedings of the 42nd CLEI, pp. 1–12 (2016)

Migration from COBOL to SOA

279

10. Millard, D., Howard, Y., Chennupati, S., Davis, H., Jam, E., Gilbert, L., Wills, G.: Design patterns for wrapping similar legacy systems with common service interfaces. In: ECOWS (2006) 11. O’Brien, L., Smith, D., Lewis, G.: Supporting migration to services using software architecture reconstruction. In: Proceedings of the 13th IEEE STEP, pp. 81–91 (2005) 12. Ordiales Coscia, J., Mateos, C., Crasso, M., Zunino, A.: Refactoring code-first web services for early avoiding WSDL anti-patterns: approach and comprehensive assessment. Sci. Comput. Program. 89(Part C), 374–407 (2014) 13. Rodriguez, J., Crasso, M., Mateos, C., Zunino, A., Campo, M.: Bottom-up and top-down cobol system migration to web services. IEEE Internet Comput. 17(2), 44–51 (2013) 14. Rodriguez, J., Crasso, M., Mateos, C., Zunino, A., Campo, M., Salvatierra, G.: The SOA frontier: experiences with 3 migration approaches. In: Migrating Legacy Applications: Challenges in Service Oriented Architecture and Cloud Computing Environments, pp. 26– 152. IGI Global (2013) 15. Smith, D.: Migration of legacy assets to service-oriented architecture environments. In: Proceedings of the 29th ICSE, pp. 174–175. IEEE (2007) 16. Sneed, H.: Wrapping legacy software for reuse in a SOA. In: Multikonferenz Wirtschaftsinformatik, vol. 2, pp. 345–360. GITO-Verlag, Berlin (2006) 17. Zillmann, C., Winter, A., Herget, A., Teppe, W., Theurer, M., Fuhr, A., Horn, T., Riediger, V., Erdmenger, U., Kaiser, U., Uhlig, D., Zimmermann, Y.: The SOAMIG process model in industrial applications. In: Proceedings of the 15th CSMR, pp. 339–342. IEEE (2011)

Quality Model for Evaluating Platform as a Service in Cloud Computing Temitope Olokunde, Sanjay Misra(&), and Adewole Adewumi Center of ICT/ICE Research, CUCRID, Covenant University, Ota, Nigeria {temitope.olokunde,sanjay.misra, wole.adewumi}@covenantuniversity.edu.ng

Abstract. Cloud computing is a style of computing in which dynamically scalable and often virtualized resources are provided as a service over the Internet. Cloud computing can be offered in three ways namely: Software as a Service (SaaS), Platform as a Service (PaaS), and Infrastructure as a Service (IaaS). Researchers have begun to investigate quality in SaaS and have proposed quality models in this regard. There is however a dearth of literature investigating quality in PaaS and IaaS which form the motivation for this work. In this paper, therefore a model is proposed for evaluating quality of PaaS. We first define key features of PaaS. And then, we derive quality attributes from the key features, and define metrics for the quality attributes. To validate our quality model for PaaS, we conduct assessment based on case studies using the Analytic Hierarchy Process. By using the proposed PaaS quality model, developers will be able to select suitable PaaS solutions among alternatives. Keywords: PaaS

 Quality  Analytical hierarchy process

1 Introduction Cloud computing has become an increasingly adopted computing phenomenon. It is defined as a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g. networks, servers, storage applications and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction [1]. Cloud computing services can be offered in three ways namely: Software as a Service (SaaS), Platform as a Service (PaaS), and Infrastructure as a Service (IaaS). Figure 1 shows these service offerings in layers. SaaS is a model in which software is provided by a vendor [2]. The software being provided is hosted at the vendor’s data center under agreed terms of use. The key strength of SaaS is that users do not have to develop their own software but rather can patronize SaaS vendors [3]. An example of this is the Gmail service offered by Google [4]. PaaS is a model where the manufacturers supply services to the users such as development environment, server platform and hardware resources [5]. The users can then use such platforms to develop their own applications and make it available to other customers through their server and Internet. PaaS thus provides the middleware platform, applications development environment, database management systems, and application server for the enterprise and the individual [6]. Examples of PaaS include: © Springer International Publishing AG 2017 R. Damaševičius and V. Mikašytė (Eds.): ICIST 2017, CCIS 756, pp. 280–291, 2017. DOI: 10.1007/978-3-319-67642-5_23

Quality Model for Evaluating Platform as a Service

281

Fig. 1. Cloud computing layered architecture (http://www.ibm.com/developerworks/cloud/ library/cl-cloudintro/)

Google App Engine offered by Google, Windows Azure offered by Microsoft. IaaS is a model that provides the consumer with the capability to provision processing, storage, networks, and other fundamental resources. It also allows the consumer to deploy and run arbitrary software, which can include operating systems and application [7]. In recent times, interest has been shown in investigating quality in cloud computing research and this is pioneered by the work of [8] who proposed a quality model for evaluating the quality of SaaS. However, no work was seen in literature proposing a quality model for IaaS and in particular PaaS. This forms the motivation for this present paper. The aim of this study therefore is to propose a model for evaluating quality of PaaS. We first define key features of PaaS. And then, we derive quality attributes from the key features, and define metrics for the quality attributes. To validate our quality model for PaaS, the Analytic Hierarchy Process (AHP) was applied on three known PaaS systems. The AHP is a multi-criteria decision-making approach introduced by [9]. By using the proposed PaaS quality model, PaaS systems can be evaluated by developers. Furthermore, the evaluation results are utilized as an indicator for PaaS quality management. The rest of this study is organized as follows: Sect. 2 examines related work. In Sect. 3 the proposed model is shown along with all the criteria used in its creation. In Sect. 4 the model is evaluated using specific case studies. In Sect. 5 we discuss the results of the evaluation process and conclude the paper in Sect. 6.

2 Related Work A comprehensive model for evaluating quality of SaaS was proposed by [8]. They achieved this by first defining the key features of SaaS and went on to derive quality attributes for the key features. Metrics were then defined for the quality attributes. They validated their quality model for SaaS by conducting an assessment based on IEEE 106.1. They argued that by using their proposed model, SaaS could be evaluated by service providers. Their evaluation result could also be used as indicator for SaaS quality management. The proposed model however is limited to evaluating quality in SaaS.

282

T. Olokunde et al.

Also, a model based on fuzzy logic for assessing SaaS quality was proposed by [10]. They argue that such a model of quality criteria provides a ground for more comprehensive quality model, which may assist a SaaS customer to choose a higher quality service from available services on Cloud. They also argued that the quality model serves as a guideline to SaaS providers enabling them to improve the quality of service provided. Although the study examined quality assessment using an Artificial Intelligence (fuzzy logic) technique, the model proposed does not apply to PaaS. In addition, researchers in [11] proposed a newer quality model, which addressed the limitation of previously, proposed SaaS quality models. The quality models that existed before their work did not factor in security, quality of service and software quality of the SaaS service. Their proposed quality model is able to clarify SaaS service into four levels, which are: basic level, standard level, optimized level and integrated level. They argued that by using their quality model, a customer could evaluate the provider. The provider on the other hand could use it for quality management. Their quality model however is only suited for SaaS. All the models reviewed in literature focused on evaluating the quality of SaaS cloud computing delivery model. However, apart from SaaS, there is still the PaaS and IaaS model which both have unique attributes separate from SaaS [12]. As a result, there is need to evaluate quality in these other aspects of cloud computing service delivery models. In this study therefore, we will be confining on PaaS, which is the layer directly below the SaaS layer in the Cloud computing layered architecture (as shown in Fig. 1).

3 The Proposed Model In order to propose a quality model, there is a need to first identify the factors that affect quality in PaaS. First, developers do not like to be locked in by any technology platform; as such they would go for a platform that allows them a certain level of freedom especially as it relates to programming languages and operating systems. The quality of a PaaS platform therefore is determined by its ability to interact with specified systems (i.e. interoperability) [13]. Also, the degree to which PaaS enables developers to learn its usage affects such developer’s perspective about its quality [14]. In addition, the degree to which PaaS can be successfully ported to various operating environment can affect its quality [15]. The model in this section therefore measures the quality of PaaS by examining its quality based on its interoperability, usability and portability. These are collectively referred to as the quality criteria. They are discussed as follows. 3.1

Interoperability

This has been defined by ISO as the attribute of software (PaaS) that bear on its ability to interact with specified systems. A PaaS system would be said to be of more quality if it reduces or eliminates vendor-lock-in [16]. The metrics to measure this in PaaS

Quality Model for Evaluating Platform as a Service

283

therefore includes number of operating system supported as well as the number of programming languages supported. 3.2

Usability

This refers to the ease with which a developer is able to master the use of a given platform. Learnability is an important sub-attribute in this regard. It is the degree to which a software product enables users to learn its application [17]. Developers therefore would consider a platform to be of higher quality if such a platform offers documentation and useful learning resources in multiple formats such as wikis, PDF files and video tutorials. Therefore metrics to measure learnability is number of documentation formats available. 3.3

Portability

This refers to the ease with which a system can be transferred from one environment to another. An important sub-attribute in this regard is installability, which refers to the degree of ease with which a software product can be installed and uninstalled in a specified environment. In the context of PaaS, environment can be seen as the operating systems [18]. Metrics to measure installability therefore include installation time on Windows, installation time on Linux and installation time on Mac OS. The quality model proposed in this section is shown in Fig. 2. The goal of the model is to evaluate PaaS alternatives as depicted at the root of the decision hierarchy. As a result, three quality attributes namely: portability, usability and interoperability (taken from the ISO 25010 product quality model) were considered as evaluation criteria. From Fig. 2, interoperability has two metrics – number of operating systems supported as well as number of programming languages supported. Usability has one sub-criterion called learnability which in turn has a metric – number of documentation formats available. Similarly, portability has one sub-criterion (i.e. installability) as well. Installability being a sub-criteria has three metrics as given in Fig. 2.

Fig. 2. Proposed model

284

T. Olokunde et al.

4 Validation of the Model There exist quite a number of PaaS offerings today. To evaluate our model, we will be selecting three namely: Google App Engine, Windows Azure and Engine Yard (GWE). These three are well known among developers. We evaluated the model based on data gotten from their respective websites: (cloud.google.com/appengine, azure.microsoft. com, engineyard.com). We applied the Analytic Hierarchy Process technique to the data in order to validate our model. This technique was adopted because it had earlier been used to evaluate quality in the cloud domain [19]. This section discusses the evaluation process. 4.1

Interoperability

This quality criterion that was formerly a sub-attribute of functionality in ISO 9126 was evaluated using two measures. The first measure determines the number of operating systems on which a PaaS solution is able to run [20]. The second determines the number of programming languages supported by the PaaS solution. In order to measure interoperability therefore in GWE the metrics used are given as follows: Number of operating systems supported: Google App Engine and Windows Azure both support the three major operating system platforms namely: Windows, Mac OSX and Linux/other Unix-based systems. Engine Yard however does not support newer versions of Mac OSX such as 10.9 and 10.10. It only supports the Gentoo Linux distribution1. Number of programming languages supported: Windows Azure demonstrated the highest support for six programming languages namely:.NET, Java, Python, Ruby, PHP and Node.js. In addition to the above, we noted that it also provides support for mobile development especially iOS, Android and Windows phone development. Google App Engine and Engine Yard both come in second place as both equally support four programming languages. Google App Engine supports Python, Java, Go and PHP while Engine Yard supports PHP, Ruby, Node.js and Java. 4.2

Usability

The sub-attribute of this quality criterion is learnability as given in ISO 9126. The metric proposed here is the number of documentation formats available which include: wikis, video tutorials and PDF files. For this metric, we observed that all the PaaS platforms considered had just two formats of presenting documentation. The first was as wiki pages on their website and through video. Videos were often used to record tutorials. We discovered that because of these other sources of documentation provided, platform service providers did not see any need to include PDF documentation.

1

https://support.cloud.engineyard.com/categories/20033681-Engine-Yard-Cloud-Documentation.

Quality Model for Evaluating Platform as a Service

4.3

285

Portability

Installability is the sub-criteria given for this quality criterion. We measure installability through the following metrics namely: Installation time on Windows: Google App Engine and Engine Yard take the lead in this metric being able to install within 5 min on an average Windows machine running Windows 7. It takes about 30 min however to install on Windows Azure due to the installation of dependencies like SQL Server. Installation time on Linux: Engine Yard requires only 5 min to install on a typical Linux machine; followed closely by Google App Engine which requires 6 min to install. Windows Azure however takes longer requiring about 25 min to install. Installation on Mac OSX: In this regard, Google App Engine clearly takes the lead requiring only 3 min to install. Engine Yard takes 15 min to install while Windows Azure takes 25 min. 4.4

Validating the Model with AHP

With reference to Fig. 2, the goal of our metric is to evaluate quality in PaaS and the factors being considered are: Usability, Interoperability and Portability. We now determine the relative ranking of the factors to each other. As given in [22] Usability is more important to the developer followed by Interoperability and then Portability. Hence, Table 1 shows the relative ranking of factors. Table 1. Relative ranking of the proposed model’s criteria Usability Usability 1/1 Interoperability 1/2 Portability 1/3

Interoperability 2/1 1/1 1/2

Portability 3/1 2/1 1/1

From Table 1 we observe a 1/1 relationship (for Usability to Usability, Interoperability to Interoperability and Portability to Portability). The value 2/1 between Usability and Interoperability implies that Usability is twice as important as Interoperability. The value 1/3 between Portability and Usability implies that Usability is thrice as important Portability. Normalizing Table 1 data, we obtain the following matrix (rounding to four decimal places): 2

1:0000 4 0:5000 0:3333

2:0000 1:0000 0:5000

3 3:0000 2:0000 5 1:0000

286

T. Olokunde et al.

We square the normalized result to get the following matrix: 2

3 2 1:0000 2:0000 3:0000 1:0000 2:0000 4 0:5000 1:0000 2:0000 5  4 0:5000 1:0000 0:3333 0:5000 1:0000 0:3333 0:5000 2 3 2:9999 5:5000 10:0000 ¼ 4 1:6666 3:0000 5:5000 5 0:9166 1:6666 2:9999

3 3:0000 2:0000 5 1:0000

Table 2. Process of obtaining the eigenvector for the first iteration Sum of rows 2.9999 + 5.5000 + 10.0000 18.4999 1.6666 + 3.0000 + 5.5000 10.1660 0.9166 + 1.6666 + 2.9999 5.5831 Total 34.2490

Normalization process 18.4999/34.2490 10.1660/34.2490 5.5831/34.2490

Normalized result 0.5402 0.2968 0.1630 1.0000

Summing the rows and normalizing the result we obtain the eigenvector for this first iteration given in Table 2 below. The values in the normalized matrix are added as shown in the table below which results in the sum of rows. We then normalize the result to by dividing each sum by the sum total; this is the normalization process. The resulting eigenvector is: 2 3 0:5402 4 0:2968 5 0:1630 In the next iteration, we square the previous matrix obtained to get the following matrix: 2

3 2 2:9999 5:5000 10:0000 2:9999 5:5000 4 1:6666 3:0000 5:5000 5  4 1:6666 3:0000 0:9166 1:6666 2:9999 0:9166 1:6666 2 3 27:3317 49:6655 90:2480 ¼ 4 15:0407 27:3326 49:6655 5 8:2770 15:0407 27:3317

3 10:0000 5:5000 5 2:9999

Table 3. Process of obtaining the eigenvector for the second iteration 27.3317 + 49.6655 + 90.2480 15.0407 + 27.3326 + 49.6655 8.2770 + 15.0407 + 27.3317 Total

Sum of rows 167.2452 92.0388 50.6494 309.9334

Normalization process 167.2452/309.9334 92.0388/309.9334 50.6494/309.9334

Normalized result 0.5396 0.2970 0.1634 1.0000

Quality Model for Evaluating Platform as a Service

287

Summing the rows and normalizing the result we again obtain the eigenvector for the second iteration in Table 3. Subtracting the eigenvector obtained in the second iteration from the first iteration we get the following, which show that should another iteration be performed, the difference in value will be insignificant. 2

3 2 3 0:5402 0:5396 0:0006 4 0:2968 5  4 0:2970 5 ¼ 0:0002 0:1630 0:1634 0:0004 Thus our resultant eigenvector can be taken as 2

3 0:5396 4 0:2970 5 0:1634 We now proceed to normalize the proposed metrics. For the metrics under the Interoperability criteria we have the following as results, which we normalize (see Tables 4 and 5) to get eigenvectors: The resulting eigenvectors for Interoperability is thus given as: 2

3 2 3 2 3 0:4286 0:2857 0:7143 4 0:4286 5 þ 4 0:4286 5 ¼ 4 0:8572 5 0:1429 0:2857 0:4286 For the metrics under usability we have the following Table 6: The resulting eigenvector for Usability is thus given as: 2

3 0:3333 4 0:3333 5 0:3333 For the metrics under Portability, Table 7 shows the different installation times on Windows. It takes 5 min for Google App Engine to install, 30 min for Windows Azure and 5 min for Engine Yard. The results are normalized in Table 7. Table 8 shows the time it takes for each PaaS platforms to be installed on Linux. It takes 6 min for Google App Engine to install, 25 min for Windows Azure and 5 min for Engine Yard. The results are normalized as seen in Table 8. Table 9 shows the time it takes for each PaaS platforms to be installed on Mac OS. It takes 3 min for Google App Engine to install, 25 min for Windows Azure and 15 min for Engine Yard. The results are normalized as seen in Table 9. The resulting eigenvector for Portability is given as: 2

3 2 3 2 3 2 3 0:1250 0:1667 0:0697 0:3614 4 0:7500 5 þ 4 0:6944 5 þ 4 0:5814 5 ¼ 4 2:0258 5 0:1250 0:1389 0:3488 0:6127

288

T. Olokunde et al. Table 4. Interoperability metric 1 Number of operating Google App Engine Windows Azure Engine Yard

systems 3/7 0.4286 3/7 0.4286 1/7 0.1429 1.0000

Table 5. Interoperability metric 2 Number of programming supported Google App Engine 4 Windows Azure 6 Engine Yard 4 14

languages 4/14 0.2857 6/14 0.4286 4/14 0.2857 1.0000

Table 6. Usability metric Number of documentation formats Google App Engine 2 2/6 0.3333 Windows Azure 2 2/6 0.3333 Engine Yard 2 2/6 0.3333 6 1.0000 Table 7. Portability metric 1 Installation time on windows Google App Engine 5 min 5/40 Windows Azure 30 min 30/40 Engine Yard 5 min 5/40 40

0.1250 0.7500 0.1250 1.0000

Table 8. Portability metric 2 Installation time on Linux Google App Engine 6 min 6/36 Windows Azure 25 min 25/36 Engine Yard 5 min 5/36 36

0.1667 0.6944 0.1389 1.0000

Multiplying the eigenvectors of Interoperability metrics, Usability metrics and Portability metrics with that of the proposed model’s criteria gives the following whose interpretation is given in Table 10:

Quality Model for Evaluating Platform as a Service

289

Table 9. Portability metric 1 Installation time on Mac OS Google App Engine 3 min 3/43 Windows Azure 25 min 25/43 Engine Yard 15 min 15/43 43

0.0697 0.5814 0.3488 1.0000

Table 10. Result of validating the proposed model using GWE PaaS systems considered Google App Engine Windows Azure Engine Yard

2

0:7143 4 0:8572 0:4286

Normalized result 1.4435 0.8925 0.4304

3 2 3 2 3 0:3333 0:3614 0:5396 1:4435 0:3333 2:0258 5  4 0:2970 5 ¼ 4 0:8925 5 0:3333 0:6127 0:1634 0:4304

5 Discussion The challenge of measuring quality in any domain can be regarded as a multiple criteria decision problem. AHP is suited for addressing such problems. It is an approach that allows for objective evaluation and decision making in the midst of multiple criteria. In order to apply AHP, it is important to first define the purpose for adopting it. In this study, the reason was to evaluate quality in PaaS. The next thing to do is to define the quality criteria for PaaS, which include: usability, interoperability and portability. Having performed the aforementioned step, alternatives are selected and in this study, the alternatives that were considered included: Google App Engine, Windows Azure and Engine Yard. These are just three of the several PaaS systems that exist. The preliminary information specified for AHP is then arranged in a hierarchical tree similar to the structure of our model in Fig. 2. The information is then synthesized to determine the relative rankings of the alternatives. AHP allows for comparison of both qualitative and quantitative criteria and can be compared using informed judgments to derive weights and priorities. The metrics of our model however was strictly quantitative. Pairwise comparison was used to determine the relative importance of one criterion over another. In the PaaS domain, usability is crucial. If the platform were not easy to use (e.g. providing relevant documentation to developers) then it would be difficult to adopt. Interoperability is the next important factor in the PaaS domain and

290

T. Olokunde et al.

then portability. In order to get the ranking of the priorities from the pairwise matrix, eigenvector solution is used as proposed by Saaty in 1990. The way to go about obtaining the eigenvector solution is to raise the pairwise matrix to powers that are successively squared each time. The row sums are then calculated and normalized as seen in Tables 2 and 3. The process is discontinued when the difference between these sums in two consecutive calculations is small and insignificant (e.g. 0.0006 or -0.0002). Computing the eigenvector determines the relative ranking of the alternatives under each criterion. Since our model provides only quantitative metrics, the value of each metric is obtained for the alternatives and the result is normalized (as seen in Tables 4, 5, 6, 7, 8 and 9) and used with other rankings. The result of the validation process using Google App Engine, Windows Azure and Engine Yard as case studies (alternatives) shows that AHP ranks Google App Engine higher (1.4435) in terms of the quality criteria defined in the model. Windows Azure is the next highest ranked of the three alternatives with a score of 0.8925. Engine Yard is ranked with a score of 0.4304 as seen in Table 10.

6 Conclusion and Future Work In this paper, a model has been proposed for evaluating quality in PaaS. Although such a model has been proposed for SaaS, no literature was seen addressing PaaS. A model was composed by first identifying the factors that affect quality in PaaS. Sub-factors were also identified and metrics proposed drawing from the ISO 25010 model. The proposed model was then evaluated by applying it to measure quality in Google App Engine, Windows Azure and Engine Yard. The results show that Google App Engine is the candidate software based on the evaluation of the proposed model using AHP. As future work, more factors can be incorporated into the proposed model. Also, more PaaS systems can be evaluated with the resulting model to observe the kind of result it produces compared to this. A tool can also be developed or leveraged to ease the computation process. Acknowledgements. We acknowledge the support and sponsorship provided by Covenant University through the Centre for Research, Innovation and Discovery (CUCRID).

References 1. Mell, P., Grance, T.: The NIST definition of cloud computing. National Institute of Standards and Technology Special Publication (2011). csrc.nist.gov/publication/nistpubs/ 800-145/SPSD-1485.pdf 2. Subashini, S., Kavitha, V.: A survey on security issues in service delivery models of cloud computing. J. Netw. Comput. Appl. 34(1), 1–11 (2011) 3. Buyya, R., Yeo, C.S., Venugopal, S., Broberg, J., Brandic, I.: Cloud computing and emerging IT platforms: vision, hype and reality for delivering computing as the 5th utility. Future Gener. Comput. Syst. 2009, 599–616 (2009)

Quality Model for Evaluating Platform as a Service

291

4. Chang, V., Wills, G., De Roure, D.: A review of cloud business models and sustainability. In: 2010 IEEE 3rd International Conference on Cloud Computing (CLOUD), pp. 43–50. IEEE (2010) 5. Xu, X.: From cloud computing to cloud manufacturing. Rob. Comput.–Integr. Manuf. 28(1), 75–86 (2012) 6. Chavan, P., Kulkarni, G.: PaaS cloud. Int. J. Comput. Sci. Inf. Secur. (IJCSIS) 1, 22–26 (2013) 7. Zissis, D., Lekkas, D.: Addressing cloud computing security issues. Future Gener. Comput. Syst. 28(3), 583–592 (2012) 8. Lee, J.Y., Lee, J.W., Kim, S.D. A quality model for evaluating software-as-a-service in cloud computing. In: 7th ACIS International Conference on Software Engineering Research, Management and Applications, SERA 2009, pp. 261–266. IEEE (2009) 9. Saaty, T.L.: Decision making with the analytic hierarchy process. Int. J. Serv. Sci. 1(1), 83– 98 (2008) 10. Baliyan, N., Kumar, S.: Quality assessment of software as a service on cloud using fuzzy logic. In: IEEE International Conference on Cloud Computing in Emerging Markets (CCEM), pp. 1–6. IEEE (2013) 11. Wen, P.X., Dong, L.: Quality model for evaluating SaaS service. In: Fourth International Conference on Emerging Intelligent Data and Web Technologies (EIDWT), pp. 83–87. IEEE (2013) 12. Zhang, S., Zhang, S., Chen, X., Huo, X.: Cloud computing research and development trends. In: Second International Conference on Future Networks, pp. 93–97. IEEE (2010) 13. Sheth, A., Ranabahu, A.: Semantic modeling for cloud computing. Part 2 Internet Comput. IEEE 14(4), 81–84 (2010) 14. Garg, S.K., Versteeg, S., Buyya, R.: A framework for ranking of cloud computing services. Future Gener. Comput. Syst. 29(4), 1012–1023 (2013) 15. Leavitt, N.: Is cloud computing really ready for prime time? Computer 42(1), 15–20 (2009) 16. Lewis, G.A.: Role of standards in cloud computing interoperability. In: 46th Hawaii International Conference System Sciences (HICSS), pp. 1652–1661. IEEE (2013) 17. Goyal, P.: Enterprise usability of cloud computing environments: issues and challenges. In: Enabling Technologies: Infrastructures for Collaborative Enterprises (WETICE), pp. 54–59 (2010) 18. Takabi, H., Joshi, J.B., Ahn, G.J.: Security and privacy challenges in cloud computing environments. IEEE Secur. Priv. 8(6), 24–31 (2010) 19. Kolb, S.: Towards application portability in platform as a service. In: IEEE 8th International Symposium Service Oriented System Engineering (SOSE), pp. 218–229. IEEE (2014) 20. Godse, M., Mulik, S.: An approach for selecting software-as-a-service (SaaS) product. In: IEEE International Conference on Cloud Computing, CLOUD 2009, pp. 155–158. IEEE (2009) 21. Zhang, Z., Wu, C., Cheung, D.W.: A survey on cloud interoperability: taxonomies, standards, and practice. ACM SIGMETRICS Performance Eval. Rev. 40(4), 13–22 (2013) 22. Haigh, M.: Research versus practice in software engineering: comparison of expert opinions to measured user priorities (2009)

Constraint Modularization Within Multi-level Meta-modeling Zoltán Theisz1(&), Dániel Urbán2, and Gergely Mezei2 1

evopro Innovation Ltd., Hauszmann Alajos u. 2, Budapest 1116, Hungary [email protected] 2 Department of Automation and Applied Informatics, Faculty of Electrical Engineering and Informatics, Budapest University of Technology and Economics, Magyar tudósok krt. 2, Budapest 1117, Hungary [email protected], [email protected]

Abstract. Traditional meta-modeling strictly differentiates between internal and external constraints attached to the meta-models. While for example cardinality and annotations are usually considered existential parts of the meta-modeling techniques, OCL expressions are treated as an independent layer of constraint mechanism. The result is a patchwork because the external constraint notation will not become part of the meta-model, its semantics is only referentially integrated, and thus meta-levels are to be harmonized. In comparison, multi-level meta-modeling may enable a uniform self-contained interpretation of the constraint semantics by encapsulating the constraint modeling constructs into the fabric of the multi-level meta-modeling framework. In this paper, we describe such a modular constraint modeling technique that has been formalized in Dynamic Multi-Layer Algebra (DMLA), an algebraic multi-level meta-modeling method. The paper first describes our constraint modeling approach and then elaborates on the concept of cardinality and its trivial generalization to regular expression patterns. As motivated by one of the interface modeling languages of network management, the approach is also demonstrated on a simple YANG language construct. Keywords: Multi-level meta-modeling

 Modeling constraints  Cardinality

1 Introduction Model-based network management systems mirror the deployed network infrastructure inside a centralized model store. The modeled network elements are managed through their interfaces, which are precisely defined by simple data types and their compositions. One of the preferred languages for interface definition is called YANG [1]. YANG is an XML schema like textual notation that has been conceived for data modeling for the purposes of network management through configuration. In that sense, YANG plays a similar role to that the EMF community has bestowed on emfatic [2]. Although meta-type definitions work very similarly in both languages, the correspondence stops quickly when it comes to introducing additional type constraints. Simple cardinality constraints are still shared by both formalisms, but there exists, for © Springer International Publishing AG 2017 R. Damaševičius and V. Mikašytė (Eds.): ICIST 2017, CCIS 756, pp. 292–302, 2017. DOI: 10.1007/978-3-319-67642-5_24

Constraint Modularization Within Multi-level Meta-modeling

293

example, no genuine concept of pattern constraints in MOF [3]. Although annotations are part of Ecore and might be taken advantage of in order to mimic pattern like constraints, the clean EMF Ecore solution would require full-fledged meta-modeling of the particular pattern constraint and a corresponding promotion operation in order to shift the meta-levels. An essential aspect of any model-based network management solution is that the utilized run-time model store shall be able to validate the compliance of the interface instances to their interface type definition(s) on the various network elements. This requirement can be easily satisfied by our multi-level meta-modeling framework, the so called Dynamic Multi-Layer Algebra (DMLA) [4, 5]. Nevertheless, its first version has limited the allowed sorts of type constraint to the mere checking of cardinality. Therefore, DMLA’s constraint handling facilities had to be modularized in order to be able to incorporate more complex modeling constraints in a consistent way by instantiation. In this paper, the aim is to introduce DMLA’s modular constraint modeling and to illustrate it by a simple YANG pattern construct. The paper is structured as follows: Sect. 2 introduces some technical background; it covers both constraint modeling ideas and YANG’s pattern constraint. Then, in Sect. 3, we introduce DLMA 2.0 [6], mainly focusing on its revamp by describing the most important core entities. Next, in Sect. 4, we focus on DMLA’s constraint entities and their application, as an example, on YANG’s pattern construct. Finally, Sect. 5 concludes the paper and mentions our future research goal.

2 Background 2.1

Constraint Modeling

Constraint modeling is an essential part of any kind of meta-modeling. Unfortunately, the actual implementation of constraint conceptualization is highly dependent on the constraint itself. For example, in Ecore, ETypeElement provides lowerbound and upperbound EInt attributes that containment cardinality originates from. However, for all other purposes Ecore relies on EAnnotation that is used to encode any kind of information not being part of the meta-metamodel, such as OCL constraints in OCLInECore. In multi-level meta-modeling constraint handling is more flexible, but it is not straight-forward to incorporate constraint expressions such as OCL directly into the meta-modeling framework [7]. With DMLA, we provide a flexible and universal modeling formalism, which strongly supports customization by its idea of interchangeable bootstraps. Since constraints are modeled like any other elements in DMLA they can be applied to any “slots” of entity representation in the model. Another important feature of the bootstrap is that none of the constraints must be prioritized or handled exceptionally: both type and cardinality constraints are handled by validation formulae. 2.2

YANG

YANG is a complex data modeling language for interface definition. Since traditional network management relied on hierarchical structuring of the configuration interfaces,

294

Z. Theisz et al.

YANG also relies on a hierarchical data modeling technique with explicitly placed references. The usual basic data types such as string and various sorts of integer can be combined into modules and containers, and also restricted by, for example, range and pattern constraints. One of the most frequently used string constraints is the so called “pattern’s substatement”, which applies a regular expression on a string.

type string {pattern "[0-9a-fA-F]*";} Similar “additional” constraints are frequently taken advantage of in YANG model files, which further challenges any Ecore-based model representation of network elements because Ecore does not provide a built-in mechanism to incorporate them in its meta-metamodel. An ad-hoc solution could be the introduction of a new type for each constrained type, but that would not solve the problem of validating them. However, that would lead to a proliferation of types and the addition of Java code in annotations.

3 DMLA 2.0 Dynamic Multi-Layer Algebra (DMLA) is a multi-level instantiation technique based on Abstract State Machines (ASM). It consists of three major parts: The first part lays out the modeling structure and also defines the core ASM functions operating over this structure. In essence, it defines an ASM and a set of connected functions that specify the transition logic between the states. The second part is the initial set of modeling elements (e.g. built-in types) that are necessary to facilitate the modeling of any practical application. This second part is also referred to as the bootstrap of the algebra. Finally, the third part defines the rules of correct instantiation in the form of validation formulae, which are activated by generic instantiation mechanics. DMLA is structurally self-contained, thus it can work with various bootstraps. Moreover, any concrete bootstrap selection seeds the concrete meta-modeling capability of the generic DMLA framework, which we consider as an additional benefit compared to other potency notion [8] based techniques. 3.1

Data Representation

In DMLA, the model is represented as a Labeled Directed Graph. Each model element can have labels, which represent the attributes of the model elements. For simplicity, we use a dual field notation in labeling Name/Value pairs, thus we refer to a label with the name N of the model item X as XN. In the following, the word entity is only used if we refer to an element with a label structure. The following labels are defined: • • • •

XID: a globally unique ID of the model element XMeta: the ID of the meta-model definition XValue: the values of the model element XAttributes: a list of attributes

Constraint Modularization Within Multi-level Meta-modeling

295

Definition. The superuniverse jAj of a state A of the Multi-Layer Algebra consists of the following universes: • UBool containing logical values {true/false} • UNumber containing rational numbers fQg and a special symbol ∞ representing infinity • UString containing character sequences of finite length • UID containing all the possible entity IDs • UBasic containing elements from fUBool [ UNumber [ UString [ UID g Additionally, all universes contain a special element, undef, which refers to an undefined value. The labels of the entities take their values from the following universes: (i) XID: UID (ii) XMeta: UID (iii) XValue: UBasic[] (iv) XAttrib: UID[]. The label Value is an indexed list of Basic values, and the label Attrib is an indexed list of IDs, which refers to other entities. A simple example could be: RouterInstID = “RouterI”, RouterInstMeta = “RouterM”, RouterValue = undef, RouterAttrib = [“RouterAddr”]

This definition encodes entity RouterInst with its ID being RouterI, the ID of its meta-model being RouterM, and a contained attribute with ID RouterAddr. A more compact textual representation of equal semantics: {“RouterI”, “RouterM”, undef, [ID“RouterAddr”]}

3.2

Functions

Functions serve to determine how state transition in ASM takes place. In DMLA, we rely on shared and derived functions. The current attribute configuration of any model item is represented via shared functions. The values of these functions are modified either by the algebra or the environment thereof. Derived functions represent calculations which must not change the model; they are only utilized to obtain or restructure P existing information within the ASM. The vocabulary of DMLA is assumed to contain the following characteristic functions: (i) Meta(UID): UID, (ii) Value(UID, UNumber): UBasic, and (iii) Attrib(UID, UNumber): UID. The functions are used to access the values stored in the corresponding labels. We suppose that the Value and Attrib functions return undef, whenever index is beyond the available number of stored entities. Note that the functions are not only able to query the requested information, but they can also update it. Moreover, there are two derived functions: (i) Contains(UID, UID): UBool and (ii) DeriveFrom(UID, UID): UBool. The first function takes an ID of an entity and the ID of an attribute and checks if the entity contains the attribute. The second function checks if the entity identified by the first parameter is an instantiation, also transitively, of the entity specified by the second parameter.

296

3.3

Z. Theisz et al.

Bootstrap Mechanism

The ASM functions define the basic structure of the algebra and allow to query and change the model. However, based only on these constructs, it would be hard to use the algebra due to the lack of basic built-in constructs. The bootstrap solves this problem by defining those principal entities that must be available in order to go ahead with further domain specific modeling. In the following, only the core part of the principal entities are introduced, cardinality handling will be dealt with in Sect. 4. The entity Base is the root meta of every entity. In order to eliminate the problem of self-meta recursion, the meta of the Base entity is set to undef. Since Base acts as the root meta, it must be based on the most flexible structure DMLA can facilitate: it consists of an arbitrary amount of slots of any type. This is formally expressed by adding the SlotDef entity as an attribute to Base. We have also added an additional slot called IsPrimitive in order to draw a clear distinction among the instances of Base. IsPrimitive attribute marks only basic types (e.g. string), other entities eliminate this slot, when they get instantiated from Base. Since Base is the meta of every entity in this bootstrap, and Base only has SlotDef attributes. {“Base”, undef, undef, [ “SlotDef”, {“IsPrimitive”, “SlotDef”, undef, [{“BOOL”}, {0, 1}]} ]}

For the rest of the paper, we rely on an intuitive graphical notation of equal semantics to visualize entities: Base: undef SlotDef IsPrimiƟve: SlotDef [BOOL,(0..1)]

The entity Entity is the root meta of every model element except the slots. Flexibility is a key feature here similarly to Base, but we must restrict the type of the contained elements to Base. This restriction is applied via an instance of SlotDef. Entity also clones the IsPrimitive flag of Base because every basic type must be an instance of Entity. The basic type entities represent built-in primitive types of the bootstrap. Basic types instantiate the Entity, and fill in the IsPrimitive slot with true. The entity SlotDef defines a slot of the containing entity. In the bootstrap tailored for modularized constraints, SlotDef has an arbitrary number of contained constraints, which impose particular conditions on the values of the slot, e.g. their type or cardinality.

Constraint Modularization Within Multi-level Meta-modeling

297

SlotDef has two options of being instantiated: either a value is substituted which conforms to the constraints set in the meta of SlotDef, or no value is provided, but some of the constraints within the SlotDef definition is further concretized. Hence, SlotDef is the formal expression of the generic instantiation principle set by DMLA. In effect, SlotDef prescribes and then helps validate the correct contained values, thus SlotDef is the only element which is allowed to be able to contain a value. SlotDef makes DMLA 2.0 more powerful than its original version used to be since being a separate entity in the bootstrap, it can represent every further constraint in the model independently of its nature. Furthermore, by now the bootstrap handles all constraint concretizations explicitly as they were normal instantiations instead of delegating them as hidden additions to the validation formulae. The entity Constraint represents the conditions to be imposed on the values of a SlotDef instance. This entity is defined only as a common meta for every constraint in the bootstrap. Constraint only differs from Entity by dropping its IsPrimitive slot. EnƟty: Base

SlotDef: Base

Constraint: EnƟty

IsPrimiƟve

Constraints: SlotDef

Children

Children: SlotDef [Base,(0..inf)]

[Constraint,(0..inf)]

BOOL: EnƟty

NUMBER: EnƟty

STRING: EnƟty

BoolIsPr: IsPrimiƟve – [True]

NumIsPr: IsPrimiƟve – [True]

StrIsPr: IsPrimiƟve – [True]

3.4

Dynamic Instantiation

Based on the structure of the algebra and the bootstrap, we can now represent our models as states of DMLA. During the instantiation process, instances are being created by constantly checking that no defined constraints have been violated. Thus, we distinguish between valid and invalid models, where validity checking is based on a set of predefined formulae. We also assume that whenever the state of the algebra changes these formulae are evaluated on the current state of the model. The instantiation process is fully determined by the validation rules that ensure that if an invalid model is found it is rejected and an alternative instantiation is selected for validation. The procedure consists of instructions that involve a selector and an action, {kselector, kaction}. kselector takes an entity ID and returns a possibly empty list of IDs referring to the selected entities. kaction takes an entity ID and executes an abstract function on it. Hence, the functions kselector and kaction can be defined by their signature, which allows us to treat them as black box implementations.

298

3.5

Z. Theisz et al.

Validation Formulae

The validation of the model is based on validating every model entity against its meta. The actual validation is carried out by two sorts of formulae. The first kind of formula (alpha formula) validates a meta entity against one instance entity, checking if the instance violates any constraints. The second kind of formula (beta formulae) validates a meta entity within its context, that is, it operates on a list of clone and instance entities. This formula is mostly needed to check the constraints defined by the meta element. The in context checks (beta formulae) are evaluated while validating the first kind (alpha formula) of the validation formula, checking the validity of every child of the meta entity against the relevant children of the instance entity.

4 Extending DMLA’s Constraint System The enabler of DMLA’s constraint customization is the easily extendable Constraint entity, which allows uniform handling of constraints throughout the model. In order to better understand its role, first, the Type and the Cardinality constraints will be presented. Then, we illustrate the flexible constraint system by a simple YANG pattern constraint. 4.1

Type and Cardinality Constraint

The entity TypeConstraint represents the type constraint to be imposed on the values of a slot. The type constraint checks the meta-hierarchy of the value to be validated: if the value is an ID, the referred element has to be a direct, or indirect instance of the provided type. If the value is a built-in type, the respective basic type has to satisfy the same check. Since Base is the topmost meta entity of every other element in the model, setting Base as the type of an attribute implies to allow any sort of entities as its value. The entity Cardinality represents the cardinality constraint one can impose on the values of a slot. Although cardinalities can be of various kinds (e.g. range, min-max, sequence of ranges etc.), the bootstrap default one is defined as min-max semantics for Cardinality. However, the mechanism is flexible as it is based on instantiation. TypeConstraint: Constraint

Cardinality: Constraint

Type: Children [Base,(1..1)]

CardMin: SlotDef [NUMBER,(1..1)] CardMax: SlotDef [NUMBER,(1..1)]

In order for Cardinality to possess its wanted semantics some validation formulae must be plugged-in into the generic modular constraint validation mechanism. As discussed in Sect. 3.5, a formula can be either of type alpha or beta. The constraint validator formulae extend these alpha and beta type formulae, providing additional logic for validating their container entities.

Constraint Modularization Within Multi-level Meta-modeling

299

The helper formula PossMin calculates the possible minimum cardinality of slot instance S based on the number of values and the “structural encoding” of minimum cardinality. The Cont is the meta of a possibly present Cardinality constraint. uPossMin ðS; ContÞ : result : ð9c : c ¼ ChildByMetaðS; ContÞ ^ imin ¼ uCardMin ðValueðc; 0ÞÞ _ imin ¼ 0Þ ^ result ¼ ValueCountðI Þ þ imin The helper formula PossMax works similarly on the possible maximum cardinality of slot instance S based on the number of values and the maximum cardinality. The Cont is the meta of a possibly present Cardinality constraint. uPossMax ðS; ContÞ : result : ð9c : c ¼ ChildByMetaðS; ContÞ ^ imax ¼ uCardMax ðValueðc; 0ÞÞ _ imax ¼ 0Þ ^ result ¼ ValueCount ðI Þ þ imax The alpha type constraint formula of Cardinality checks if the SlotDef instance (I) violates the cardinality constraint (Card) of its meta (M). Note that Cont is the direct container of Card, and Cont is an attribute of M. The formula checks if all of the constraints were discarded by I, or the Cardinality instance was cloned or instantiated. Discarded constraints mean that the slot cannot be instantiated again, but if it is not a final slot, the cardinality constraint must be kept or concretized. Finally, the formula checks if the sum of the maximum cardinality and the number of values contained in I exceeds the meta cardinality maximum. ConstraCard ðI; M; Cont; Card Þ : ðChildrenByMetaðI; IDConstraints Þ ¼ ; _ 9c : c ¼ ChildByMetaðI; ContÞÞ^ uPossMax ðI; ContÞ  uCardMax ðCard ÞÞ The beta type constraint formula of Cardinality checks if the list of relevant SlotDef clones and instances (R) violate the cardinality constraint (Card) of their meta (M). The formula sums the possible minimum and maximum cardinality for every entity in list R, then validates them against the cardinality of M. ConstrbCard ðR; M; Cont; Card Þ : X min ¼ mj8i : r ¼ R½i ^ m ¼ uPossMin ðr; ContÞ^ X max ¼ mj8i : r ¼ R½i ^ m ¼ uPossMax ðr; ContÞ^ min  uCardMin ðCard Þ ^ max  uCardMax ðCard Þ

300

4.2

Z. Theisz et al.

Pattern Constraint

The modular constraint mechanism based on the entity Constraint enables the quick introduction of YANG like patterns into the bootstrap. The regular expressions are composed of “min-max cardinalities”: the pattern sequence and the quantifier operators. Therefore, it is enough to define the constituent entities, the corresponding validation formulae can be derived almost mechanically thanks to the cardinality analogy thereof. However, the concrete formulae are left out due to the page limits of the paper. A YANG pattern has four options, which are reflected in DMLA as five Constraint instances. The first instance is the common meta for the different pattern operators, it also contains a cardinality slot to simplify the validation of the pattern hierarchy. The second instance is the string pattern element, which contains a simple string to be matched against. The third instance represents the quantifier operators which control the occurrence of the pattern groups, such as ?, + or *. In DMLA, they are formalized by their min-max range, which is exactly the semantics of Cardinality! The fourth instance is the | operator, which enables alternatives taken from multiple patterns. The fifth instance is the pattern sequence itself, which allows the concatenation of multiple sub-patterns up to a maximum cardinality of the groups. PaƩern: Constraint

SeqPaƩern: PaƩern

Children

PCard

PCard:Children[Cardinality,(1..1)]

SeqSubs:Children[PaƩern,(1..inf)]

OccPaƩern: PaƩern

OrPaƩern: PaƩern

StringPaƩern: PaƩern

PCard

PCard

StrPCard: PCard - [(1..1)]

SubPat:Children[PaƩern,(1..1)]

PatOpts:Children[PaƩern,(2..inf)]

StrPat:Children[STRING,(1..1)]

4.3

Using the Pattern Constraint

We will now demonstrate the pattern constraint by a simple example. In this example, we model the service identification string of a modular router (Router entity) for selecting one of its components. The components (RouterModule) of a Router instance can be accessed through a hierarchical service name. We will add a Pattern constraint to the name part of RouterModule entity in order to enable only valid hierarchical names. A hierarchical name consists of a security category, an optional subsystem name, and a hierarchical ID. The regular expression enforced on the name is as follows: (Secure|Public)(-[A-Z]+)?(-[0-9]+)+

This can be easily projected onto DLMA Pattern instances. The first section is a simple OrPattern with two StringPatterns:

Constraint Modularization Within Multi-level Meta-modeling

SecureOptPat: OrPaƩern

SecP: StringPaƩern

PubP: StringPaƩern

SOCard: PCard – [(1..1)]

StrPCard

StrPCard

SecOpts: PatOpts–[SecP,PubP]

SecS:StrPat-[“Secure”]

PubS:StrPat-[“Public”]

301

The second group can be interpreted as an OccPattern with a [0..1] range having a sequence inside it. The sequence contains a StringPattern (-), and an OccPattern with [1..inf] range, wrapping an OrPattern containing all uppercase letters: SubSysWrPat: OccPaƩern

SubSysSeq: SeqPaƩern

HyPat:StringPaƩern

SubSysWrCard: PCard – [(0..1)]

SubSysSeqCard: PCard – [(2..2)]

StrPCard

SSWSub: SubPat – [SubSysSeq]

SSS: SeqSubs–[HyPat,LetSeqPat]

HyS: StrPat – [“-”]

LetSeqPat: OccPaƩern

UpLetOr: OrPaƩern

APat:StringPaƩern

LetSeqCard: PCard – [(1..inf)]

ULCard: PCard – [(1..1)]

StrPCard

LSSub: SubPat – [UpLetOr]

ULO: PatOpts – [APat, BPat, ...]

APS: StrPat – [“A”]

The third section consists of an OccPattern with [1..inf] range, which contains a sequence of HyPat and an OccPattern with [1..inf] range, wrapping an OrPattern containing all digits from 0 to 9: UIDOccPat: OccPaƩern

UIDSeq: SeqPaƩern

UIDOccCard: PCard – [(1..inf)]

UIDSeqCard: PCard – [(2..2)]

UIDOSub: SubPat–[UIDSeq]

USS:SeqSubs–[HyPat,DigSeqPat]

DigSeqPat: OccPaƩern

DigitOr: OrPaƩern

0Pat:StringPaƩern

DigSeqCard: PCard – [(1..inf)]

DigitOrCard: PCard – [(1..1)]

StrPCard

DSSub: SubPat – [DigitOr]

DigitO: PatOpts–[0Pat, 1Pat, ...]

0PS: StrPat – [“0”]

Finally, we need to wrap the sub-patterns in a SeqPattern: RouterModNameSeq: SeqPaƩern RMNSeqCard: PCard - [(2..3)] RMNSS: SeqSubs – [SecureOptPat, SubSysWrPat, UIDOccPat]

302

Z. Theisz et al.

5 Conclusion and Future Work DMLA’s flexible multi-level modeling formalism proved to be modular enough to incorporate the concept of a generic constraint handling mechanism through a selected set of bootstrap entities. Although cardinality is simple enough to be extended to similar constraints such as patterns, the modification of the validation formulae may be more challenging in general cases. Also, the parsing mechanism is black box implemented now. Nevertheless, DMLA has managed to establish a modular formal handling of constraint within the model, through its instantiation mechanism. Our future research will investigate how to include operations into DMLA so that models could attain executable functionalities for describing complex algorithms such as parsers of regular expressions. Furthermore, we intend to combine operations and the validation mechanism so that the logic based background of validation do not limit DMLA’s expressivity.

References 1. YANG – A Data Modeling Language for the Network Configuration Protocol (NETCONF). https://tools.ietf.org/html/rfc6020 2. Emfatic. https://www.eclipse.org/emfatic/ 3. OMG’s MetaObject Facility. http://www.omg.org/mof/ 4. Theisz, Z., Mezei, G.: An Algebraic Instantiation Technique Illustrated by Multilevel Design Patterns. MULTI@MoDELS, Ottawa, Canada (2015) 5. Theisz, Z., Mezei, G.: Multi-level dynamic instantiation for resolving node-edge dichotomy. In: Proceedings of the 4th International Conference on Model-Driven Engineering and Software Development, Rome, Italy (2016) 6. Urbán, D., Theisz, Z., Mezei, G.: Formalism for static aspects of dynamic meta-modeling. Period. Polytech. Electr. Eng. Comput. Sci. 61(1), 34–47 (2017) 7. Gogolla, M.: Experimenting with Multi-level Models in a Two-Level Modeling Tool. MULTI@MoDELS, Ottawa, Canada (2015) 8. Atkinson, C., Kühne, T.: The essence of multilevel metamodeling. In: Gogolla, M., Kobryn, C. (eds.) UML 2001. LNCS, vol. 2185, pp. 19–33. Springer, Heidelberg (2001). doi:10.1007/ 3-540-45441-1_3

Statistical Arbitrage Trading Strategy in Commodity Futures Market with the Use of Nanoseconds Historical Data Mantas Vaitonis(&) and Saulius Masteika Vilnius University, Kaunas Faculty, Muitines 8, 44280 Kaunas, Lithuania {mantas.vaitonis,saulius.masteika}@knf.vu.lt

Abstract. This paper confirms the existence of statistical arbitrage opportunities by employing the nanosecond historical data in high frequency trading (HFT). When considering the possible options, the Daniel Herlemont pairs trading strategy has been selected. In order pairs trading could operate, the pair selection algorithm had to be developed. Herlemont pairs trading strategy has not been tested before by using the nanosecond information and the proposed pair selection algorithm. The main objective of the given research is to test the pairs trading strategy in HFT by calculating the returnability in commodity futures market. The statistical arbitrage strategy attempts to achieve profit by exploiting price differences of the futures contracts. The strategy takes long/short positions when the spread between the prices widens with an expectation that the prices will converge in the future. In the given paper, the nanosecond historical data was provided by the Nanotick Company. The applied strategy has been subsequently tested with MatLab software.

1 Introduction The global finance market is hard to predict and is characterized by risky trading. Many investors make profit by using the available information and applying different strategies. The common method, employed by investors, is technical analysis, applied by using high frequency trading. High-frequency trading refers to algorithmic trading that involves the usage of specialized infrastructure and ultra-low latency computing to execute a wide range of strategies on financial markets [29]. While HFT has been present since the digitization of markets, it has only become wide spread over the past decade. Evidence suggests that a very large percentage of the trading activity in many markets is now carried out via HFT algorithms across a variety of assets. Projections indicate that this presence is likely to stay, and even to increase over the next years [30]. HFT has been the recent focus of researchers, particularly, those focusing on the market microstructure, as well as regulators and even the popular media, mainly owing to increasingly frequent incidents of abnormal market behavior supposedly linked to HFT algorithms. [25] HFT accounts for a growing share of total market turnover in a wide-range of financial markets.

© Springer International Publishing AG 2017 R. Damaševičius and V. Mikašytė (Eds.): ICIST 2017, CCIS 756, pp. 303–313, 2017. DOI: 10.1007/978-3-319-67642-5_25

304

M. Vaitonis and S. Masteika

High frequency trading can be found in almost all stocks, currencies, futures and options markets. [4, 5] Although there are many advantages of HFT, e.g., bringing liquidity to the markets, making market more efficient, etc. [6, 7], there are a few papers that explain the trading strategy behavior with high frequency data. Most papers that covers high frequency data consist milliseconds or microsecond data, and only few use nanoseconds, thus this type of data was selected for this research. The objective of this paper is to test high frequency trading, statistical arbitrage and the pair selection algorithm with 5 different futures contracts. The main results of the research are presented in the paper.

2 What Is High-Frequency Trading? High frequency traders seek profit from short-term pricing inefficiencies. However, as there are plenty of market players building more sophisticated algorithms, this will only reduce profitability. Meanwhile, high frequency trading refers to effective trading strategies adopted to perform the trade with guaranteed success [5, 6]. HFT also refers to fully automated trading strategies in different securities as equities, derivatives, and currencies. These types of opportunities have life span from nanoseconds to seconds. Thus, capturing a tiny fraction of profit from each trade in huge number makes HFT an efficient way to generate substantial profit [14]. In general, those traders, who employ HFT strategies, seek to earn small amounts of profit per trade. Evidence suggest that some arbitrage strategies can earn profits close to 100% of the time. However, previous reports concluded that these strategies might make money on only 51% of the trades. Nevertheless, as the trades are transacted hundreds or thousands of times per day, the strategies may still be profitable [26].

3 Pairs Trading Pairs trading is a market neutral statistical arbitrage strategy, based on the convergence of financial instruments prices. First, the pairs of financial instruments, characterized by significant statistical correlation, are selected, then, by adding equivalent long and short positions, zero-investment portfolios can be created. Moreover, if the pairs of financial instruments abnormally deviate for a short period, the excess return can be gained. Thus, this strategy results in abnormal return [3]. It should be noted that pairs trading is a relative-value arbitrage strategy that has been known in the quantitative finance community ever since the mid 1980s [22]. The strategy involves identification of two securities with prices that tend to travel together. Upon divergence, the cheaper security is bought long and the more expensive one is sold short. When the prices converge back to their historical equilibrium, the trade is closed and the profit collected. Thus, the idea is to obtain a quantitative trading strategy by exploiting relative mispricing between two securities [28]. In fact, all financial markets are based on the following general trading rule: buy with low price and sell with high price. Thus, the key aim is to develop the strategies with low risk. It should be noted that pure arbitrage is a category of the strategies with

Statistical Arbitrage Trading Strategy

305

zero risk. As an example, the case could be of buying and selling a financial instrument with a different value in two different exchanges at the same time. The profit results from the difference in prices, breaking the law of one price. Another category is statistical arbitrage, which is not risk free. The strategies of this type are aimed at the expected gain which is greater than the risk. The profit results from the mispricing of the financial instrument. To achieve this, one needs to assess whether the price of a financial instrument is overvalued or undervalued relative to the actual value, however, it is hard to determine. The fundamentals of the financial instrument, the demand of each period and the general economic environment are some of the factors that make the fair value evaluation difficult [24]. 3.1

The Object of Research

The nanosecond data was provided Nanotick company. Historical data used comes from CME group which consist of NYMEX, COMEX and CBOT. All data was used to test the statistical arbitrage and pair selection algorithm with five futures contracts. The five futures contracts used in this research were: NG (natural gas), BZ (Brent crude oil), CL (crude oil), HO (NY Harbor ULSD), RB (RBOB Gasoline). The period for trading covered the futures contract historical data form 01-08-2015 to 31-08-2015. The main objective of this research is to check whether HFT can be applied on these futures contracts with nanosecond information and how efficient the selected trading strategy and the pair selection algorithm is. Efficiency of the strategy was measured by its profitability. More precisely, the pairs trading strategy was applied to high frequency data, and its profitability and risk was calculated. The research was based on the strategy, proposed by D. Herlemont [6]. However, this pairs trading strategy was modified to be able to work with high frequency data. At the end of the research, strategy was measured, according to the generated profit. 3.2

Methodology of Pairs Trading Strategy

The underlying idea of the pairs trading is to identify two financial instruments that move together, taking long and short positions simultaneously when they start to act abnormally. It is expected that in the future the prices of two financial instruments will return to the mean. In order to carry out the research, six main steps of the pairs trading strategy were identified [23, 24]. The proposed methodology for the pairs trading strategy is illustrated in Fig. 1: The steps for creating the algorithm are the following: • • • • • •

Identification of window for training and data normalization; Data normalization; Selection of the correlated pairs; Selection of the trading period; Definition of the parameters for long/short positions; Assessment of the trading strategy [23, 24].

306

M. Vaitonis and S. Masteika

Fig. 1. Pair trading methodology.

First, the window for the training period should be identified. Then, as high frequency data can be sent to the trading strategy, a trader must select the training period. The training period should not be too long, since the algorithm will overtrain. On the other hand, it cannot be too short as the strategy will not be able to notice the abnormal behaviour of the futures contract prices [13, 24]. Next, data normalization follows, which is applied for the trading period too. As this period could be used for both, it is essential to select the right size. Thus, it should be noted that the size of this window is subject to the extent of sensitivity of the strategy: the shorter the period, the more sensitive the trading strategy. In this research, the training window of 5 min and the data normalization window of 10 s was used. Before starting testing the strategy, data must be normalized. Normalization includes the following stages: 1. Normalization of time stamps; 2. Normalization of the futures contract price. 3.3

High Frequency Data Normalization

The algorithmic trading system requires to normalize HFT data. The main problem, related with HFT data, is caused by discrepancies between the time stamps of correlated contracts. The time stamp problem is shown in Tables 1 and 2 below. From Tables 1 and 2 it might be observed that time stamps for trades or bid/ask changes during the same trading second differ, for example, in Table 1 there is a time stamp of Quote for NG contract change at 17:00:00.869053009, while the other contract (HO) has Quote changes at nanoseconds 17:00:00.867756129, and no activity at 17:00:00.869053009. This fact requires comparing the time stamp sequences of correlated financial instruments. If the time stamps differ, the contract, which lacks the time stamp, is filled in with missing time stamp and the previous bid/ask or trade prices. As a result, not only the time stamps of correlated contracts are brought together, but also the prices are kept accurate.

Statistical Arbitrage Trading Strategy

307

Table 1. High frequency data ReceivingDate 20150809 20150809 20150809 20150809 20150809 20150809 20150809 20150809 20150809 20150809 20150809 20150809 20150809 20150809 20150809 20150809 20150809 20150809 20150809 20150809 20150809 20150809

ReceivingTime 17:00:00.869053009 17:00:00.869053009 17:00:00.930168164 17:00:00.930168164 17:00:01.017456320 17:00:01.017456320 17:00:01.059840559 17:00:01.059840559 17:00:01.156791713 17:00:01.156791713 17:00:01.204683812 17:00:01.204683812 17:00:01.205605232 17:00:01.205605232 17:00:01.206755867 17:00:01.206755867 17:00:01.207350519 17:00:01.207350519 17:00:01.208805474 17:00:01.208805474 17:00:01.224604710 17:00:01.224604710

Symbol NGF6 NGF6 NGF6 NGF6 NGF6 NGF6 NGF6 NGF6 NGF6 NGF6 NGF6 NGF6 NGF6 NGF6 NGF6 NGF6 NGF6 NGF6 NGF6 NGF6 NGF6 NGF6

Asset NG NG NG NG NG NG NG NG NG NG NG NG NG NG NG NG NG NG NG NG NG NG

EntryType A B A B A B A B A B A B A B A B A B A B A B

EntryPrice 3227 3221 3226 3221 3226 3219 3227 3219 3238 3216 3238 3216 3238 3215 3238 3215 3231 3215 3231 3217 3233 3217

Obviously, normalization of high frequency data is significant for recalculating the prices of correlated contracts to the certain unit, thus, removing the noise of price changes and being able to compare the changes in a more qualitative way. The normalization steps were the following: price P(i, t), empirical mean µ(i, t) and standard deviation r(i, t) were calculated for each contract i. Afterwards, the Eq. (1) was applied. Perlin [4] in his research, related to the pairs trading in Brazilian financial market, also used this method. pði; tÞ ¼

Pði; tÞ  lði; tÞ rði; tÞ

ð1Þ

Here, value p(i, t) stands for the normalized price of asset i at time t. Normalized prices were calculated within a particular moving window of the time series, discussed in details in the next section. As Eq. (1) is used, all prices of the correlated contracts are converted into normalized units. The total number of records after normalization was 287872500.

308

M. Vaitonis and S. Masteika Table 2. High frequency data RecevingDate 20150809 20150809 20150809 20150809 20150809 20150809 20150809 20150809 20150809 20150809 20150809 20150809 20150809 20150809 20150809 20150809 20150809 20150809 20150809 20150809 20150809 20150809

3.4

ReceivingTime 17:00:00.825207610 17:00:00.825207610 17:00:00.826021615 17:00:00.826021615 17:00:00.838609766 17:00:00.838609766 17:00:00.865890817 17:00:00.865890817 17:00:00.866430043 17:00:00.866430043 17:00:00.867756129 17:00:00.867756129 17:00:00.869125205 17:00:00.869125205 17:00:00.875541527 17:00:00.875541527 17:00:00.884336757 17:00:00.884336757 17:00:01.025686712 17:00:01.025686712 17:00:01.029573686 17:00:01.029573686

Symbol HOF6 HOF6 HOF6 HOF6 HOF6 HOF6 HOF6 HOF6 HOF6 HOF6 HOF6 HOF6 HOF6 HOF6 HOF6 HOF6 HOF6 HOF6 HOF6 HOF6 HOF6 HOF6

Asset HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO

EntryType A B A B A B A B A B A B A B A B A B A B A B

EntryPrice 16040 15950 16035 15950 16040 15950 16040 15945 16040 15944 16040 15943 16040 15938 16040 15934 16040 15928 16040 15950 16019 15950

Pair Selection Algorithm

It is important to note that one of two main parts of this trading methodology is a pair selection algorithm, based on cointegration testing. In our previous research, while selecting the trading pairs, the method of minimum squared distance was applied [13, 23, 24]. However, this research employs cointegration method. What is more, in order to work with nanosecond historical data, new pair selection method must be developed. Cointegration method includes the below steps: 1. Identification of the futures contract pairs that could potentially be cointegrated. 2. Upon identification of the potential pairs, the hypothesis that the futures contract pairs are cointegrated based on information from historical data needs to be verified. 3. Examination of the cointegrated pairs to find out whether they can be trade on [22]. The objective of this phase is to identify the pairs the linear combination of which exhibits a significant predictable component that is uncorrelated with underlying movements in the entire market. Thus, first, it is checked, whether all the series are integrated of the same order. This is done by applying the Augmented Dickey Fuller Test (ADF). Following the ADF test, cointegration tests are performed on all possible combination of pairs. To test for cointegration, the Engle and Grangers 2-step approach

Statistical Arbitrage Trading Strategy

309

and the Johansen test were adopted. All the above procedures were implemented on MATLAB. For the detected cointegrating relations, the second part of the algorithm creates trading signals based on the predefined investment decision rules [5].

4 Proposed Pairs Trading Strategies The suggested methodology presents six steps of the pair trading strategy. In the diagram below, a more detailed view of each step is given in respect of strategy, proposed D. Herlemont. Before research, a window for training and trading need to be defined. As it has already been mentioned, the training window of 5 min and the trading and normalization window 10 s were selected. Upon defining all windows, normalization is in order as it was explained in the previous section (Fig. 2).

Fig. 2. D. Herlemont pairs trading strategy

According to this strategy, the trading signals are created by calculating the mean µt and the standard deviation rt of the difference for normalized prices of paired futures contract for a given trading window. Signals are created, if the difference between the futures contract A and B pair prices is Bt, open short position with At and long position with Bt; When At < Bt, open long position with At and short position with Bt [6]. If the difference between prices of At and Bt < µt or the period for keeping positions opened is reached, all positions are closed [6]. Importantly, a position is kept opened until threshold is reached or a given time to keep the positions open ends. 10 s was the maximum time for keeping the position opened. Lastly, it is essential to assess the performance of the algorithm, based on the pairs trading strategy, offered by D. Herlemont, in a high frequency environment. Thus, it was measured by calculating the price differences, while trading the correlated futures contracts for a given period. Upon passing all data through the algorithm, the arrays with the prices of opening and closing positions were employed, in order to find the profit/loss of the certain period. The following equations were used for calculating the profits from long and short positions:

310

M. Vaitonis and S. Masteika

PL ¼ PS ¼

XK i¼1

XK i¼1

ðlsðiÞ  lbðiÞÞ

ð2Þ

ðssðiÞ  sbðiÞÞ

ð3Þ

Here, the variable PL stands for the profit from a long position, and PS – the profit from a short position, while the variable i represents the trade, where the profit or loss is calculated. In other words, the profit from a long position is equal to the difference between assets i sell – ls and buy – lb values, multiplied by K (number of contracts). Accordingly, the profit from a short position is equal to the difference between assets i sell – ss and buy – sb, multiplied by K (number of contracts). The total profit was found by using the below Eq. (4): TP ¼ PL þ PS

ð4Þ

Then, the total profit, expressed in percentage, was given [4].

5 Results All criteria were kept the same during this research. In this case, the learning period was 5 min, the trading period – 10 s, and the period for keeping position opened was 10 s. While comparing with other research, based on milliseconds information, where all windows were of minute and more [13, 23, 24], it might be observed that in case of nanosecond information, all windows were smaller as one second time stamp consist of more data in nanoseconds than in milliseconds. The main idea of this research was to test the effectiveness of the pair trading strategy, thus, the commissions were not taken into account (Fig. 3).

Fig. 3. Trades made each day

Statistical Arbitrage Trading Strategy

311

Fig. 4. Total profit

The total number of trades made for the entire period was 5869860. The daily number of trades is shown in the figure above (Fig. 4). As it has already been stated, the effectiveness of this strategy was measured by the generated profit. Based on the result, the strategy presented by D. Herlemont did perfume with no days of loss. At the end of the research, it generated 19,27% of profit. It should be noted that previous research have tested the considered strategy by using millisecond data [13, 23, 24]. Importantly, it also resulted in profit. However, this paper changed the method of pair selection and increased the frequency of data from milliseconds to nanoseconds. These changes might have affected the better performance of the strategy (Table 3). Table 3. Trading strategy result Pair trading strategy Profit 19,27% Number of total trades 5869860

As it has already been mentioned, trading costs were not calculated as this paper focused only on the performance of the strategy. In case of applying this strategy to the real market, the results might differ due to commissions. However, there are many markets, which want to attract high frequency traders, offering very low or even no commissions. The reason of this is the fact that high frequency traders bring liquidity to the market.

312

M. Vaitonis and S. Masteika

6 Conclusion Five different futures contracts with nanosecond were used for this research. To compare the futures contracts, this historical data had to be normalized. Data normalization is necessary as you must compare each different futures contract price. Importantly, one disadvantage of normalization is the fact that it requires additional resources. The total number of record after normalization was 287872500. For this research, the strategy proposed by D. Herlemont was used. Before applying on low frequency information and this research, it had to be modified for work with high frequency data. In this research nanosecond information was used. Pair selection was done by implementing the Augmented Dickey Fuller Test (ADF). If a pair passes the ADF test, cointegration tests are performed on all possible combination of pairs. In order to test for cointegration, the Engle and Grangers 2-step approach and the Johansen test were adopted. All calculations were done using MATLAB. At the end of the research, the performance of D. Herlemont pair trading strategy was measured by calculating its profitability. Based on the calculations, the profit generated was equal to 19,27% from the primary investments. The total number of trades was 5869860. When trading in real market, one trades with margin, which could be 1:2 or even 1:4, thus, the generated profitability of 19,27% is fairly high. Before applying the strategy to real market conditions, the performance with different parameters should be tested, the trading infrastructure costs, bidirectional arbitrage should be considered, and the ones that suit the best should be identified. Pair trading, using high frequency data, gives positive results and can be an attractive option for market infrastructure developers and market participants, especially low latency traders. Acknowledgements. We would also like to show our gratitude to the NANOTICK for providing with high frequency data in nanoseconds of 5 futures commodity contracts.

References 1. Barry, E.J.: Hedge funds and financial market dynamics. Intl. Monetary Fund, p. 83 (1998) 2. Madhavaram, G.R.: Statistical arbitrage using pairs trading with support vector machine learning. Saint Mary’s University (2013) 3. Burton, G.M.: The efficient market hypothesis and its critics. J. Econ. Perspect. 17(1), 59–82 (2003) 4. Perlin, M.S.: Evaluation of Pairs-trading strategy at the Brazilian financial market. J. Deriv. Hedge Funds 15(2), 122–136 (2009) 5. Caldeira, J.F., Moura, G.V.: Selection of a portfolio of pairs based on cointegration: a statistical arbitrage strategy. Revista Brasileira de Financas 11(1), 49–80 (2013) 6. Herlemont, D.: Pairs trading, convergence trading, cointegration. Quant. Finan. 12(9) (2013) 7. Zubulake, P., Lee, S.: The high frequency game changer: how automated trading strategies have revolutionized the markets. Aite Group. Wiley Trading (2011) 8. Cifu, D.A.: FORM S-1, Registration Statement Under The Securities Act Of 1933. Virtu Financial, Inc. (2014)

Statistical Arbitrage Trading Strategy

313

9. AFM: Authority for the Financial Markets, High frequency trading: The application of advanced trading technology in the European marketplace (2010). http://www.afm.nl/*/ media/files/rapport/2010/hft-report-engels.ashx. Accessed 20 Feb 2014 10. Aldridge, I.: High-Frequency Trading: A Practical Guide to Algorithmic Strategies and Trading Systems, 2 edn., p. 306. Wiley (2013) 11. Hagströmer, B., Norden, L.: The diversity of high-frequency traders. J. Financ. Mark. 16(4), 741–770 (2013) 12. Driaunys, K., Masteika, S., Sakalauskas, V., Vaitonis, M.: An algorithm-based statistical arbitrage high frequency trading system to forecast prices of natural gas futures. Transform. Bus. Econ. 13(3), 96–109 (2014) 13. Masteika, S., Vaitonis, M.: Quantitative research in high frequency trading for natural gas futures market. In: Abramowicz, W. (ed.) BIS 2015. LNBIP, vol. 228, pp. 29–35. Springer, Cham (2015). doi:10.1007/978-3-319-26762-3_3 14. Cvitanic, J., Kirilenko, A.: High frequency traders and asset prices (2010). SSRN: http://ssrn. com/abstract=1569067 or http://dx.doi.org/10.2139/ssrn.1569067 15. Carrion, A.: Very fast money: high – frequency trading on the NASDAQ. J. Financ. Mark. 16(4), 680–711 (2013) 16. George, M.J.: High frequency and dynamic pairs trading based on statistical arbitrage using a two-stage correlation and cointegration approach. Int. J. Econ. Financ. 6(3), 96–110 (2014) 17. Antoine, B., Cyrille, G., Carlos, A.R., Christian, W., Steffen, N.: High-frequency trading activity in EU equity markets. In: Economic Report, vol. 1 (2014) 18. Botos, B., Nagy, L., Ormos, M.: Pairs Trading Arbitrage Strategy in the Old and New EU Member States, ICFB (2014) 19. Vaitonis, M.: Porų prekybos strategijų taikymo gamtinių dujų rinkose tyrimas. Informacinės Technologijos 117–120 (2015) 20. Krauss, C.: Statistical arbitrage pairs trading strategies: review and outlook. IWQW Discussion Paper Series, No. 09/2015 (2015) 21. Miller, S.J.: The method of least squares. Mathematics Department Brown University (2006) 22. Vidyamurthy, G.: Pairs Trading – Quantitative Methods and Analysis, p. 210. Wiley, New Jersey (2004) 23. Vaitonis, M., Masteika, S.: Research in high frequency trading and pairs selection algorithm with Baltic region stocks. In: Dregvaite, G., Damasevicius, R. (eds.) ICIST 2016. CCIS, vol. 639, pp. 208–217. Springer, Cham (2016). doi:10.1007/978-3-319-46254-7_17 24. Vaitonis, M.: Pairs trading using HFT in OMX Baltic market. Baltic J. Modern Comput. 5 (1), 37–49 (2017) 25. Bogoev, D., Karam, A.: An empirical detection of high frequency trading strategies. In: 6th International Conference of the Financial Engineering and Banking Society, 10–12 June 2016, Melaga (2016) 26. Miller, R.S., Shorter, G.: High frequency trading: overview of recent developments. Report, Washington, D.C., 4 April 2016 27. Drakos, S.: Statistical arbitrage in S&P500. J. Math. Financ. 6, 166–177 (2016) 28. Ahmet, G.: Statistical arbitrage in the Black-Scholes framework. Quant. Financ. 15(9), 1489–1499 (2015) 29. O’Hara, M.: High frequency market microstructure. J. Financ. Econ. 116(2), 257–270 (2015) 30. Goldstein, M.A., Pavitra, K., Frank, C.G.: Computerized and high-frequency trading. Financ. Rev. 49(2), 177–202 (2014)

Knowledge-Based UML Models Generation from Enterprise Model Technique Ilona Veitaitė(&) and Audrius Lopata Department of Informatics, Kaunas Faculty, Vilnius University, Kaunas, Lithuania {Ilona.Veitaite,Audrius.Lopata}@knf.vu.lt

Abstract. The scope of this article is to present knowledge-based Unified Modelling Language (UML) behaviour (dynamic) models generation from Enterprise Model (EM) technique. The main advantage of this method is that problem domain knowledge inducted during user requirements specification and business modelling IS lifecycle phases are validated and verified before formal criteria defined. In this case empirical factors which could adversely influence the whole IS development process are decreased. The beginning of generation process is a selection of concrete UML model and specific element from EM as the main one. In this article main steps of generation from EM are presented. The conclusive result of the generation from EM are UML dynamic models that specifies structure of specific problem domain and can be used by IS developers in further lifecycle phases. Keywords: UML  Enterprise model Transformation algorithms



Knowledge-based IS engineering



1 Introduction There are diverse advanced information system development approaches. Traditional methods and techniques are continually updated, but in spite of this, some fundamental IS development issues are nevertheless essential [4, 5]. One of the most important issues of IS engineering is software validation and verification ahead of user requirements. The essence of this issue contains of: expert is main participant in the problem domain knowledge gaining and analysis process, accordingly user requirement analysis and enterprise modelling process strongly rely on the experience of that expert. That causes insufficient analysis of problem domain and incoherent user requirements [5, 6, 9]. The importance of UML in software development has become more significant since the appearance of model-driven architecture [3]. UML as a modelling language is mostly used in the context of traditional model-driven development, where models are used by IS development process participants as the basis for implementation [8]. This phase is mostly manual and based on empirics. Also it depends on many factors such as analysts’ or designers’ experience, time constraints and user requirements [10, 11, 16]. The main components of IS life cycle design phase models, such as UML, can be generated in semi-automatic mode from knowledge repository – Enterprise model, that © Springer International Publishing AG 2017 R. Damaševičius and V. Mikašytė (Eds.): ICIST 2017, CCIS 756, pp. 314–325, 2017. DOI: 10.1007/978-3-319-67642-5_26

Knowledge-Based UML Models Generation from Enterprise Model

315

implementation will enhance the productivity of the following participants of IS development process: system analyst, system designer and developer [1, 17, 18]. It is important to notice that some elements in UML models store information about EM element from different point of view. Comparing these points of view first level knowledge validation will be executed. It insures data consistency among particular UML models. In case inconsistent data take place among the models, the issues will be resolved at this initial phase. It means that internal EM validation (prior to EMM rules) will be implemented after basic UML models consistency validation [2, 6, 12]. The introduced improvement will intellectualize knowledge-based models composition process by enriching their consistency and reducing the affection of the empirical information in composition process.

2 Relationship Between Enterprise Model and UML Enterprise model elements are sturdy related with UML model’s elements by its matter and value for IS development process. 2.1

Enterprise Meta-model Concept

Enterprise meta-model (EMM) is formally determined enterprise model composition, which contained of a formalized enterprise model alongside with the general principles of control theory (Fig. 1). Enterprise model is the main source of the requisite knowledge of the specific problem domain for IS engineering and IS reengineering processes [7].

Fig. 1. Class diagram of enterprise meta-model [7]

316

I. Veitaitė and A. Lopata

Enterprise meta-model manages Enterprise model structure. Enterprise model stores knowledge that is obligatory for IS development process solely and will be used during all phases of IS development life cycle [13, 14]. Enterprise model is main source of knowledge, which is obligatory for models in life cycle design phase and source code generation process. In particular research UML dynamic models are included. 2.2

OMG UML Description

The Unified Modelling Language (UML) from Object Management Group (OMG) is general language for software architects, business analysts and developers used to indicate, determine, project and document the present or latest business processes and structure. UML specification clarifies software development process: represents control as to the course of a command’s actions, indicates what artefacts should be developed, refers the tasks of the command as whole and individual participants and suggests parameters for evaluating and controlling a project’s actions and products [15, 19]. The current version of UML is UML 2.5, released in June 2015. 2.5 tools maintains a whole UML specification. Information flows, models, and templates are no longer auxiliary UML constructs. Simultaneously, use cases, deployments, and the information flows becomes UML supplementary concepts [15]. UML specification describes two basic types of UML models: structure and behaviour (dynamic). Structure models show the static structure of the system and its parts on different fulfilment and abstraction levels and how they are connected to each other. The elements in structure diagrams represent the meaningful concepts of a system. The elements may include abstract, real world and implementation concepts. Behaviour models reveal the dynamic behaviour of the objects in a system, which can be depicted as a set of changes to the system over time [15]. UML modelling language describes a graphical notation for the miscellaneous aspects of the software modelling [1]. IS design methods indicate the consistency of systems engineering activities, i.e. how, in what order and what UML model to use in the design process and how to realize the process? Plenty of them are based on several kinds of models defining various aspects of the system properties. Sense of each model can be described individually, but more relevant is the fact that each model is the projection of the system model [15, 19]. This type of system definition is pretty confusing, because most of the information in the model overlap and define the same object just in different manner. The specialist without much experience can use UML models improperly and the description of the system will potentially be incomplete, incompatible and contradictory. In cases like that current UML based tools cannot help much for the specialist. 2.3

Compatibility Between of Enterprise Model and UML

UML is one of the most widespread software specification standards. It is a universal IS modelling language used to a number of methodologists and applied in popular modelling tools. In a knowledge-based IS engineering, all project models can be generated interactively by using transformation algorithms, if the requisite knowledge will be collected

Knowledge-Based UML Models Generation from Enterprise Model

317

into knowledge repository into Enterprise model. A minimum analyst and designer participation is demanded for insuring a lacking knowledge enlisting. Knowledge is verified to insure automatically generated design models and software code quality in knowledge collection into knowledge repository phase. Liaison between UML models and Enterprise model is also implemented via the transformation algorithms. All elements stored in Enterprise model can be generated as UML models elements by using these algorithms. The usage of knowledge-based enterprise model in generation process makes it possible to generate knowledge proven by formal parameters into the UML model (Fig. 2). Usage of Enterprise model in knowledge-based IS development process automatization saves working hours of all participants. Enterprise model and enterprise meta-model make UML project models generation process more effective and qualified and ensure lower number of mistakes in the final IS development phase.

Fig. 2. The transformation algorithm role in UML models generation process [1]

3 Enterprise Model Based Generation Process Enterprise model as organization’s knowledge repository permits to generate UML models after using the transformation algorithms. Such repository can be used not only for knowledge of the organization gathering, but also as a tool that minimizes IS reengineering volume of work if changes take place in an organization. UML models generation from Enterprise model is implementation of knowledge-based design phase in the IS development life cycle. In knowledge-based IS engineering all project models are implemented from enterprise model. Enterprise model contains significant elements of business modelling techniques and methodologies, which ensures a appropriate UML models generation process.

318

I. Veitaitė and A. Lopata

Fig. 3. The top level transformation algorithm of UML models generation from EM process

Transformation algorithm of UML models generation from Enterprise model is top level algorithm for enterprise meta-model based UML model generating process (Fig. 3). Main steps for generating process are identifying and selecting UML model for generating process, identifying starting (initial) element for the selected UML model and selecting all elements related to this UML model, generating enterprise model elements to UML model elements and generating the selected UML model. Identifying particular UML model and selecting the initial model element is quite significant, because further generating process depends on it. A lot UML model elements repeats in different UML model, but these elements define various aspects of the system. In example Enterprise model element Actor into several different UML models elements (Table 1). 3.1

UML Use Case Model Generation from EM

UML Use Case models are usually referred to as dynamic models used to describe a series of actions that some system or systems should or can implement in contribution with one or more external users of the system. Each use case should grant some observable and valuable result to the actors or other participants of the system. UML Use Case model elements [15, 19].

Knowledge-Based UML Models Generation from Enterprise Model

319

Table 1. EM Actor elements role variations in UML models [15, 19]. EM element Actor

UML model element Actor

UML model

Description

Use Case Model

Subject Partition

Use Case Model Activity Model

Lifeline Lifeline

Sequence Model Communication Model Timing Model

Represents a role played by some person or system external to the modelled system Represents behaviour of participant Describes actor or actor group actions that have some common characteristic Represents the lifeline of the actor Represents part of sequence model lifeline

Lifeline

Represents an individual participant in the interaction

Input (objects from Enterprise model) and output (objects generated to UML Use Case model) elements are presented in the table (Table 2). Table 2. UML Use Case model elements [15, 19]. EM element Actor

UML Use Case model element Actor Subject

Function, process

Use Case

Business rule

Extend

Include

Association

Description An actor is behavioural classifier which defines a role played by an external entity A subject is a classifier which represents business, software system, physical system or device under analysis, design, or consideration, having some behaviour, and to which a set of use cases applies A use case is a type of behavioural classifier that describes a unit of functionality performed by actors or subjects to which the use case applies in collaboration with one or more actors Extend is a directed relationship that specifies how and when the behaviour defined in usually supplementary (optional) extending use case can be inserted into the behaviour defined in the extended use case Use case include is a directed relationship between two use cases which is used to show that behaviour of the included use case is inserted into the behaviour of the including use case Each use case represents a unit of useful functionality that subjects provide to actors. An association between an actor and a use case indicates that the actor and the use case somehow interact or communicate with each other

320

I. Veitaitė and A. Lopata

Fig. 4. The transformation algorithm of UML Use Case model generation from EM process

Figure presents transformation algorithm of UML Use Case model generation from EM process (Fig. 4). Initial element in this generation process is Actor, after actor element is generated, Use Case element is selected and then Include, Extend and Association relationships. 3.2

UML Activity Model Generation from EM

Activity model is UML dynamic model which shows flow of control or object flow with emphasis on the sequence and conditions of the flow. The actions which are coordinated by activity models can be initiated because other actions finish executing because objects and data become available, or because some events external to the flow occur [19]. Input (objects from Enterprise model) and output (objects generated to UML Activity model) elements are presented in the table (Table 3). 3.3

UML State Machine Model Generation from EM

UML State machine model is used for modelling discrete behaviour through finite state transitions. In addition to expressing the behaviour of a part of the system, state machines can also be used to express the usage protocol of part of a system. These two

Knowledge-Based UML Models Generation from Enterprise Model

321

Table 3. UML Activity model elements [15, 19]. EM element Actor

UML Activity model element Partition

Function, Process

Activity

Material flow, informational flow Business rules

Object Nodes

Control Nodes

Description Describes actor or actor group actions that have some common characteristic Represents a parameterized behaviour as coordinated flow of actions Used to define object flows in an activity

Used to coordinate the flows between other nodes. It includes: initial, flow final, activity final, decision, merge, fork, join

types of state machines are referred to as behavioural state machines and protocol state machines [19]. Input (objects from Enterprise model) and output (objects generated to UML State Machine model and UML Protocol State Machine model) elements are presented in the tables (Tables 4 and 5). Table 4. UML State Machine model elements [15, 19]. EM element

Process, function Information flow Business rule

UML State Machine model element Behavioural State Machine Simply State Composite State Pseudostate

Description

Used to specify discrete behaviour of a part of designed system through finite state transitions Defined as state that has not substates Defined as state that has substates An abstract node that encompasses different types of transient vertices in the state machine graph

Table 5. UML Protocol State Machine model elements [15, 19]. EM element Process, function Information flow Business rule

UML State Machine model element Protocol State Machine Protocol State Protocol Transition

Description Used to express a usage protocol or a lifecycle of some classifier Present an external view of the class that is exposed to its clients Used for the protocol state machines which specifies a legal transition for an operation

322

3.4

I. Veitaitė and A. Lopata

UML Sequence Model Generation from EM

UML Sequence model is most common kind of interaction models which focuses on the message interchange between objects (lifelines). Sequence model shows how the objects interact with others in a particular scenario of a use case [19]. Input (objects from Enterprise model) and output (objects generated to UML Sequence model) elements are presented in the table (Table 6). Table 6. UML Sequence model elements [15, 19]. EM element Actor

UML Sequence model element Lifeline

Process, function Business rules

Message Execution Specification Combined Fragment

Interaction Use State Invariant Destruction Occurrence

3.5

Description Represents an individual participant in the interaction. While parts and structural features may have multiplicity greater than 1, lifelines represent only one interacting entity Defines one specific kind of communication between lifelines of an interaction Represents a period in the participant’s lifetime Defines a combination (expression) of interaction fragments. A combined fragment is defined by an interaction operator and corresponding interaction operands Allows to use (or call) another interaction Represents a runtime constraint on the participants of the interaction. Represents the destruction of the instance described by the lifeline.

UML Communication Model Generation from EM

UML Communication Model (called collaboration model in UML 1.x) is a type of UML interaction model which shows interactions between objects and/or parts (represented as lifelines) using sequenced messages in a free-form arrangement [19]. Input (objects from Enterprise model) and output (objects generated to UML Sequence model) elements are presented in the table (Table 7). 3.6

UML Timing Model Generation from EM

UML Timing model are interaction models which shows interactions when a primary scope of the model is to reason about time. Timing model focus on terms changing within and among lifelines along a linear time axis. Timing models defines behaviour of both individual classifiers and interactions of classifiers, focusing attention on time of events causing changes in the modelled terms of the lifelines [19]. Input (objects from Enterprise model) and output (objects generated to UML Timing model) elements are presented in the table (Table 8).

Knowledge-Based UML Models Generation from Enterprise Model

323

Table 7. UML Communication model elements [15, 19]. EM element

Process, function

UML Communication model element Frame

Actor

Lifeline

Information flow

Message

Description

Represents a unit of behaviour that focuses on the observable exchange of information between connectable elements Represents an individual participant in the interaction Indicates direction of the communication

Table 8. UML Timing model elements [15, 19]. EM element Actor

Information flow Business rules

UML Timing model element Lifeline

State or Condition Timeline Duration constraint Time Constraint

Destruction Occurrence

3.7

Description Represents an individual participant in the interaction. While parts and structural features may have multiplicity greater than 1, lifelines represent only one interacting entity Shows states of the participating classifier or attribute, or some testable conditions Refers to a duration interval. The duration interval is duration used to determine whether the constraint is satisfied Refers to a time interval. The time interval is time expression used to determine whether the constraint is satisfied Represents the destruction of the instance described by the lifeline

UML Interaction Overview Model Generation from EM

UML Interaction Overview model identifies interactions through a variant of activity models in a way that sustains overview of the control flow. Interaction Overview model focus on the overview of the flow of control where the nodes are interactions or interaction uses. The lifelines and the messages do not fulfil at this overview level. UML Interaction Overview model coordinates elements from activity and interaction models [19]: • from the activity model: initial node, flow final node, activity final node, decision node, merge node, fork node, join node; • from the interaction models: interaction, interaction use, duration constraint, time constraint.

324

I. Veitaitė and A. Lopata Table 9. UML Interaction Overview model element [15, 19].

EM element Process, function Business rules

UML Interaction Overview model element Frame

Duration constraint

Time Constraint

Interaction Use Control Nodes

Description

Represents a unit of behaviour that focuses on the observable exchange of information between connectable elements Refers to a duration interval. The duration interval is duration used to determine whether the constraint is satisfied Refers to a time interval. The time interval is time expression used to determine whether the constraint is satisfied Allows to use (or call) another interaction Used to coordinate the flows between other nodes. It includes: initial, flow final, activity final, decision, merge, fork, join

Input (objects from Enterprise model) and output (objects generated to UML Timing model) elements are presented in the table (Table 9).

4 Conclusions The detailed UML dynamic models generation algorithms are requisite for knowledge-based generation from Enterprise model technique. According to previous researches there are presented top level and UML Use Case transformation algorithm in the article. All the UML model elements, which can be generated from Enterprise model are presented in tables of this article. The described solution insures data sequence inter specific Use Case, Activity, State Machine, Sequence, Communication, Timing and Interaction Overview models accordingly granting more precise whole IS development process. All the attention must be concentrated to separate elements, which can define system in different ways according to model which they represent. The future work is to acknowledge the use of described technique with more detailed UML models examples. Moreover, in future works plan is knowledge-based tool’s prototype partial implementation.

References 1. Butleris, R., Lopata, A., Ambraziunas, M., Veitaite, I., Masteika, S.: SysML and UML models usage in knowledge based MDA process. Elektronika ir elektrotechnika 21(2), 50– 57 (2015). Print ISSN: 1392-1215, Online ISSN: 2029-5731 2. Eichelberger, H., Eldogan, Y., Schmid, K.: A comprehensive analysis of UML tools, their capabilities and compliance. Softw. Syst. Eng., versio 2.0, August 2011. Universität Hildesheim

Knowledge-Based UML Models Generation from Enterprise Model

325

3. Dunkel, J., Bruns, R.: Model-driven architecture for mobile applications. In: Abramowicz, W. (ed.) BIS 2007. LNCS, vol. 4439, pp. 464–477. Springer, Heidelberg (2007). doi:10. 1007/978-3-540-72035-5_36 4. IEEE Computer Society. Guide to the Software Engineering Body of Knowledge SWEBOK. Version 3.0 (2014). Paperback ISBN-13:978-0-7695-5166-1 5. Jenney, J.: Modern methods of systems engineering: with an introduction to pattern and model based methods (2010). ISBN-13:978-1463777357 6. Gudas, S.: Informacijos sistemų inzinerijos teorijos pagrindai. Vilniaus universiteto leidykla (2012). ISBN: 978-609-459-075-7 7. Gudas, S., Lopata, A.: Meta-model based development of use case model for business function. Inf. Technol. Control 36(3) (2007). ISSN: 1392-124X 2007 8. Fouad, A., Phalp, K., Kanyaru, J.M., Jeary, S.: Embedding requirements within model-driven architecture. Softw. Q. J. 19(2), 411–430 (2011) 9. Gailly, F., Casteleyn, S., Alkhaldi, N.: On the symbiosis between enterprise modelling and ontology engineering. In: Ng, W., Storey, Veda C., Trujillo, Juan C. (eds.) ER 2013. LNCS, vol. 8217, pp. 487–494. Springer, Heidelberg (2013). doi:10.1007/978-3-642-41924-9_42 10. Kerzazi, N., Lavallée, M., Robillard, P.N.: A knowledge-based perspective for software process modeling. e-Informatica Softw. Eng. J. 7, 25–33 (2013) 11. Lopata, A.: Disertacija. Veiklos modeliu grindziamas kompiuterizuotas funkcinių vartotojo reikalavimų specifikavimo metodas (2004) 12. Lopata, A., Ambraziunas, M., Gudas, S., Butleris, R.: The main principles of knowledge-based information systems engineering. Electron. Electr. Eng. 11(1), 99–102 (2012). ISSN: 2029-5731 13. Lopata, A., Ambraziunas, M., Gudas, S.: Knowledge based MDA requirements specification and validation technique. Transform. Bus. Econ. 11(1), 248–261 (2012) 14. Morkevicius, A., Gudas, S.: Enterprise knowledge based software requirements elicitation. Inf. Technol. Control 40(3), 181–190 (2011). 1392-124X 15. OMG UML. Unified Modelling Language version 2.5. Unified Modelling (2017). http:// www.omg.org/spec/UML/2.5 16. Perjons, E.: Model-driven process design. aligning value networks, enterprise goals, services and IT Systems. Department of Computer and Systems Sciences, Stockholm University, Sweden by US-AB, Stockholm (2011). ISBN: 978-91-7447-249-3 17. Soares, M.S., Vrancken, J.: Model-driven user requirements specification using SysML. J. Softw. 3(6), 57–68 (2008). ISSN: 1796-217X 18. Stirna, J., Persson, A., Sandkuhl, K.: Participative enterprise modeling: experiences and recommendations. In: Krogstie, J., Opdahl, A., Sindre, G. (eds.) CAiSE 2007. LNCS, vol. 4495, pp. 546–560. Springer, Heidelberg (2007). doi:10.1007/978-3-540-72988-4_38 19. UML diagrams. The Unified Modeling Language (2017). http://www.uml-diagrams.org/

Design Automation Systems. Prospects of Development Viktoriia Zakharchenko, Anna Marchenko ✉ , and Viktor Nenia (

)

Sumy State University, Sumy, Ukraine [email protected], [email protected], [email protected]

Abstract. The researches of the design automation systems as systems which themselves manage their work have been considered in this paper. It has been established that insignificant attention is paid to this problem. The structure of the design process as the manufacturing process using the example of a typical process has been examined. The design automation system in its state “As is” has been analyzed on the basis of time factor as a stable and objective indicator. The improved organization of the design process in its state “To be” has been proposed by implementing reserves of time. On the basis of the minimum functional requirements to the design system, which itself manages its work, the function diagram of the information design automation system has been offered as a part of the interacting subsystems such as design, controlling, management, planning and data protection. Keywords: Design system · Manufacturing process · State “As is” · State “To be” · Automation · Information system

1

Introduction

Humanity always will have the need for technical objects. It is due to the fact that they significantly help people at home and at manufacturing. Thus the improvement of design and manufacturing of technical objects not only now but also in future will be urgent and topical tasks. According to modern views on the nearest future [1], conditioned by wide experience of experts, the equipment will develop in the direction of creation of cyber and technical systems. It will allow technical objects and the complexes “independently” to solve problems which arise due to the environment or their own discrepancy between them and current tasks. For example, as for safety of nuclear power plants (NPP) International Atomic Energy Agency (IAEA) requires that models and calculations of probabilistic safety assessment accurately maintained throughout the whole life cycle NPP [2]. Besides, it is necessary to have all the information about the NPP and the environment for calcu‐ lation of possible scenarios of events development during the design accidents [3]. Also it is claimed that “Quality Assurance Programme is a basis for the tasks analysis, development of methods, establishment of standards and defining the necessary skills and equipment”. This basis includes quality assurance, standards or other requirements

© Springer International Publishing AG 2017 R. Damaševičius and V. Mikašytė (Eds.): ICIST 2017, CCIS 756, pp. 326–339, 2017. DOI: 10.1007/978-3-319-67642-5_27

Design Automation Systems. Prospects of Development

327

that must be implemented in the form of instructions, calculations, specifications, draw‐ ings and other documentation” [2]. The last thesis can be implemented due to the presence of the technical object project in it during its functioning. The functioning of the design automation system in a cyber‐ netic subsystem of a technical object is necessary for the possibility of use of a project and performance of modeling using this project. The current state of the design automation systems development does not allow to transfer them from the design organization to technical object as they consist of many diverse subsystems (Computer-aided design (CAD), Computer-aided engineering (CAE), Product Data Management (PDM), Product lifecycle management (PLM) etc.) and integrated with each other by the processes of conversion and data reformatting and structure changes [4]. All this determines the topicality of the design automation system development.

2

Related Work

Subject of the design automation is very popular among experts in various fields. It is so because using a computerization of the design works leads to the acceleration of the design [5]. It allows to reduce the price on the design works implementation. In this paper it is also claimed that such process provides the enterprises with significant competitive advantages which are the driving force of development of methods and software applied to the improvement of the design quality. In the work [6] advantages of the design automation are confirmed. A new view on this process is provided there. Two new components – master model and knowledge base that supports it, are added to architecture of the design system. The model of a design object is built on the basis of the master model. This significantly increases the reliability and quality of design objects for which the knowledge base has been accu‐ mulated. However, this little promotes creation of essentially new objects and subjects of new constructive schemes. Nevertheless, it is an essential contribution to the views development on the design automation. Additionally, it should be noted two essential moments. The first one is that the design automation development is focused on the construction industry as authors mention. The second one is the lack of the design process management means. The application of parallel calculations gains an expansion in the design automation field. The work [7] provides convincing arguments in favor of the fact that existing software should be remained unchanged according to economic reasons, and to develop new programs using previously approved templates that cover a lot of problems. A concrete example of achieving 750-fold acceleration of the computation performance on GPUs (Graphics processing unit), which confirms the topicality of this design computerization direction, is shown in [8]. At the same time the existing design systems are used for development of technical means of parallel calculations, exactly the systems of mass and parallel data processing [9]. Such development is very urgent as its devel‐ opers have encountered the difficulties of the design object modeling.

328

V. Zakharchenko et al.

Electronics developers continue to remain as leaders in the design automation. They have already changed the paradigm of CAD on EDA – Electronic design automation, as a higher level of the design computerization. Among the directions of EDA tools in [10] proposed the following: 1. To divide problems into separate tasks according to the concrete tasks aspects (the users requirements, functional design, the interface etc.). 2. To use component-oriented structures as a basis for the complex systems creation. 3. To highlight the semantic sequences in the problems of each aspect. It allows to use formalism within the sequence. This formalism is determined by semantics. 4. To provide the structure correctness that guarantees a correctly performed function. The authors of this work support the position that “the term “mechanization” is often used to refer to the simple replacement of human labour by machines during the processing of raw materials into a product; the term “automation” generally implies the integration of machines into the management process of the manufacturing process (exactly the processing of raw materials into a product) and into the human resource management within previous process. The aim of automation is to create a self-managed system [11]. Analyzed the publications provided in this work and many other researched papers separately the authors haven’t found the researches according to transformation of the design systems into the self-managed systems meant the design automation systems with its own management. The authors interpret the term automation exactly in this sense. Guided by the presented arguments and considerations the aim of this paper is to examine the performance processes of the design works, to identify the characteristic features of the subprocesses and to offer the functional diagram that corresponds to the concept of the design automation system.

3

Research of the Design in the State “As is”

Design can be considered from the different angles and highlight various aspects. There are different types of the design: integrated, cross-cutting, optimal, competitive etc. We will consider the design as a manufacturing process. Observation of designers’ and constructors’ work at mechanical engineering enterprises, analysis of organizational documents and normative standards allow to represent some conventional and simple design process as a set of precedents (Fig. 1) – the set of processes and persons who carry out them or interact with them. If there is a presence of Terms of References (ToR), the Chief Supervisor of the design organization (design office, design group) analyzes it and initiates the beginning of the design process performance by the elected group of workers. He is the person who is interested in the effectiveness of design and approves its results. The Chief Supervisor delegates to the supervisor of lower level – the Supervisor a part of his powers according to the consultation of the designer, the monitoring and controlling of design‐ er’s work, the management of the design process. The results of the designer’s work are checked for mistakes not only by this Supervisor, but also by other corresponding

Design Automation Systems. Prospects of Development

329

Fig. 1. Use Case Diagram of the design process at the design organization

experts. They check the designer’s work according to the observance of standard requirements for the project documentation and of requirements of technological processes of the designed object manufacturing. The designer not only develops the project as the description of the designed object, but also rectifies the mistakes deter‐ mined during the checking. If there are mistakes, the designer amends the proposed design solution, and, if it is necessary, the designer remakes it from the very beginning. For the purpose of the objective analysis of the manufacturing design process, it will be considered as the Use Case Diagram within one scenario of design. The time axis of all subjects and objects involved into the process of the researched activity are specified in this type of diagram. At some time point the message is sent from one object to another. During the organization of the design process a typical term “message transmission” from Performer_1 to Performer_2 must be understood correctly: in addition to the actual message that means manufacturing operation, the ToR and necessary design documen‐ tation for its implementation are also transmitted. The message transmission takes certain time ΔtT . On the basis of this statement the diagram of the message transmission must be considered as follows presented in Fig. 2. In fact, the considered process begins at the time T0 and finishes at the time T1 = T0 + ΔtT . Considering that transition of the design system from a state “As is” to a state “To be” will be carried out by a computerization of technological design process on the basis of information networks, the time interval of the message transmission will be much less than the period of the design work performance ΔtJ, i.e. ΔtT ≪ ΔtJ . Based on this ratio we accept that ΔtT = 0. Further we will represent the “vector” of the message transmission horizontally, i.e. without any delay in the time.

330

V. Zakharchenko et al.

Fig. 2. Time diagram of message transmission

Taking into consideration the specified assumption the current state of the design has the following view shown in the Fig. 3. The diagram of sequences details the researched scenario during the time. The process begins at some time point T0 when the coordinated and approved ToR for the design of the technical object is transmitted to the design subdivision. The Chief Super‐ visor of the subdivision analyzes the ToR in terms of specifics of the design work connected with a concrete technical object, transmits the ToR to Archive, appoints the executive performer – the Supervisor and transmits him the copy of the ToR. The Supervisor analyzes the ToR in terms of the essence and the volume of the design work, appoints a certain performer (the Designer) for the design work performance and trans‐ mits him the ToR. The designer analyzes the ToR and performs the formation of the design solution. Then, perhaps after some time, he properly prepares the design documentation. The formed design solution is checked by the corresponding performer for compliance with the ToR. Then the design documentation is transmitted to the Design Rule Check. After that starts the Technical supervision of the design solution. There are chances of the identification of mistakes, defects or discrepancies to requirements during the checking and control of the design solutions and the design documentation. It is so because during the work performance by a person it is impossible to avoid influence of a subjective factor. The processes of bringing the design solution to the ToR requirements and manufacturing conditions are shown as the iterative cycles of the project return for the amending. The last development stage is the approval of the project by the Chief Supervisor, its transmission to the Archive and to the Client in accordance with the established procedure at some timepoint Tn. It is established that each expert, who is involved into the design process, begins his work after some period of time, performs it during some time, and then after some time sends results to the next performer. Delays can be caused by the manufacturing need (the need to complete the performance of previously launched work, the need to perform the work with higher priority, the organizational inconsistency) or by the subjective factors.

Design Automation Systems. Prospects of Development

331

Fig. 3. Diagram of the design processes state “As is”

All types of performed work have certain consequences. Experience shows that not all of them are equal due to various objective and subjective circumstances. Of course there are rather simple works and only the fact of their performance is controlled. Works of design are subject to obligatory check for mistakes. Let’s consider the performance of the first type of works. We select a diagram frag‐ ment in the Fig. 3 which shows the process of work performance and this work isn’t checked for mistakes. For example, it will be the ToR analysis by an expert who is responsible for its implementation in the project. This process is presented in Fig. 4.

332

V. Zakharchenko et al.

Fig. 4. Diagram of the uncontrollable work performance

We introduce the following notations:

ΔtJ Δtd1 Δtd2

– the time of the performance of the process implementation. In this case, it is the ToR analysis (J = Job); – the delay time before the work performance (d = Delay); – the delay time after the work performance.

According to this the total time of performance of such work (ΔTJ1 ) is determined by the Eq. (1):

ΔTJ1 = Δtd1 + ΔtJ + Δtd2

(1)

A detailed scheme of work of the design process implementation, the results of which are checked for mistakes, controlled and approved, is shown in Fig. 5. It is presented using as the example the sequences of both the design process and the check process with the introduced notations of the time intervals. According to the Fig. 5 we have the following notations: ΔtJt Δtdt1 Δtdt2 ΔtJa Δtda1 Δtda2

– the performance time of the design results check (t = Test = Check); – the delay time before the check performance; – the delay time after the check performance; – the performance time of the amending process implementation – correction of shortcomings by results of the project check (a = Amending); – the delay time before the amending performance; – the delay time after the amending performance.

Design Automation Systems. Prospects of Development

333

Fig. 5. Diagram of the controllable works performance

The time interval of the work performance that is checked for mistakes or controlled (ΔTJ2 ) is determined by the Eq. (2): ΔTJ2 = Δtd1 + ΔtJ + Δtd2 +

∑k l=1

(Δtdt1 + ΔtJt + Δtdt2 )l +

∑k−1 l=1

(Δtda1 + ΔtJa + Δtda2 )l

(2)

where k – the number of checks or controls; l – the current index of the check iteration. The time interval of the performance of the considered design process (ΔTJ) is determined by the Eq. (3):

ΔTJ =

∑n1 i=1

ΔTJ1i +

∑n2 i=1

ΔTJ2i

(3)

334

V. Zakharchenko et al.

where n1 – the number of works which results are not checked for mistakes (according to the example in Fig. 3 n1 = 4); n2 – the number of works which results are checked for mistakes or controlled (according to the example in Fig. 3 n2 = 3); i – the current index of the performed work. At the multi procedural development of the project the total time interval is deter‐ mined on the basis of the Gantt chart graph by the longest path which is called critical. This path is determined algorithmically. It is not determined by an algebraic formula of the fixed form. The average value of ΔTJ indicator for groups of the one type designed objects is an objective indicator for the characteristic of the design organization in the state “As is”.

4

Justification of the Design Transferring to the State “To be”

The reduction of the value of ΔTJ indicator, i.e. the reduction of time for the design process implementation can be reached due to the implementation of the following actions: 1. The exclusion of Δtd2 delays by releasing the performer from the function of the results transmission of his work to the destination. 2. The exclusion or essential reduction of Δtd1 delays by the improvement of the processes planning and the appropriate scheduling of the manufacturing tasks on the design works. 3. The reduction of time for the design and for the operations of check and control ΔtJ by the computerization of these processes. This time is the basic time of the design work performance. Such solution carries out an essential role in the quality improve‐ ment of the design documentation and a rather significant role in the quality improve‐ ment of the design solutions. Taking into account the aforesaid recommendations 1–3, the diagram of the processes sequences in the scenario of the design is presented in Fig. 6. Delays Δtd1 and Δtd2 have been excluded for the scenario of design represented in Fig. 6. The duration and content of works at the stages of the design work and check of its results don’t influence on the improvement essence of the design process. It is inex‐ pedient to change its composition and the sequence confirmed by the practice of the industry to a full-fledged exception of the person from this process. The reduction of the process duration by an exception of the subprocesses and the effect evaluation from this don’t cause the complications according to the formula (3).

Design Automation Systems. Prospects of Development

335

Fig. 6. Diagram of the design processes state “To be”

5

Proposed Composition of the Design Automation Systems

The UML graphical notation that has been used before, supports the development of information systems only according to the “bottom-up” diagram – the rising develop‐ ment [12, 13]. This approach does not allow to carry out the controlling requirements formed for the developed information system. Therefore, for the development of the design auto‐ mation system we use the IDEF0 approach [14] for the functional modeling of systems. As a fact we perceive the existed statement that the developed system accepts the ToR as the input and gives a full description of the designed object as a set of the design documentation as the output. Design is performed by experts, and their supervisors perform the functions of management. The specified approach to the organization of the design is reflected by the diagram of the highest hierarchical level. It is presented in Fig. 7.

336

V. Zakharchenko et al.

Fig. 7. Functional diagram of the organization of the design

The main way for the work improvement of the design organization is to use the computers and network equipment for the transmission of the part of functions (ideally all functions) performed by a person to the technical means. The complex of technical means that make up the basis of the design automation system must provide the following functions: 1. The computerized support of the organization of the technical objects design and construction. 2. The computerized support of the management of the staff, software and technical means during the design process. 3. The computerized support of the management of designer’s actions and software works algorithms during the design procedures performance. The functional diagram of the design automation system of the design organization as the decomposition of the general diagram is shown in Fig. 8.

Design Automation Systems. Prospects of Development

337

Fig. 8. Functional diagram of the design automation system

The working area is central. It has a previous description of the technical object. There is also the next description which is more detailed. The design process of the corresponding technical object or a separate its part is implemented by the same way. The designer influences on the selected working area by using the computer software over the network equipment. The designer has his supervisor. This supervisor influences on the designer’s work. Management influence occurs both outside and inside the design system. The supervisor can change the employee’s work results in this system. The control subsystem monitors the state of the design object description. If neces‐ sary, it notifies the management subsystem about the making the necessary actions. The management subsystem delegates the responsibility to the supervisor in case of contin‐ gencies. The management subsystem informs the performers about planned tasks for them according to the results of the planning subsystem work. Then it warns them about the deadlines oncoming and finally transfers the task for its performance in time. The data protection subsystem monitors the commands that submit supervisors and designers, the running programs in the system and the processed information. This subsystem also makes the necessary decisions and executes planned actions according to the adopted strategy and tactics of the information security. All subsystems use data from a single repository and store data in it. This allows simply to combine the data of a design stage and the data of other stages of the technical object life cycle if necessary.

338

6

V. Zakharchenko et al.

Further Researches

Experimental part of the research is really an important and significant issue. Authors’ observations of the design processes in the available organizations, measurements of time for various operations, questioning of experts have allowed the authors to receive only a clear picture of the manufacturing process performance. Without computerization of this whole process it is impossible to save up statistically significant volume of data, to carry out numerical (or quantitative) estimates and correlation dependences between various factors. The creation of a separate information system is considered to be inex‐ pedient. Necessary information in the form of log files will be fixed by the system which has been developed on the concept offered in this paper. Now this system is in testing. Log files will be analyzed by the means of Process Mining. This issue is considered as a separate and important research. The authors will present its results in further works.

7

Conclusions

The authors have analyzed the business process of the design organization during the design documentation development for the technical objects description and their manu‐ facturing. They have found out the composition of this process and the order of its components performance, the interdependences between them and the interaction between experts, as the subprocesses performers. The functional diagram of the design automation system has been proposed according to the reasonable consideration of the design as the manufacturing process. Additionally have been done the following: 1. The time balance during the design processes implementation in the design organi‐ zation has been considered. This has allowed specifically and objectively to char‐ acterize the activity of the organization according to the design as a research object in its state “As is”. 2. The reserves of time reduction for the design documentation development have been established. The use of these reserves allows reasonably to transfer the activity of the design organization into the new state “To be”. It is expedient to keep the existing composition of processes of the design procedures performance as the design components of the complex objects until the complete exclusion of the person from the composition of outlines of the design work performance and replacing the person’s intellectual abilities by the computer software. 3. The functional diagram of the design automation system has been offered. It provides a partial exclusion of the person from the outlines of the design work performance and from the outlines of the management of the design processes performers. This system also guarantees the declared system functionality.

Design Automation Systems. Prospects of Development

339

References 1. Beihoff, B., Oster, C., Friedenthal, S., Paredis, C., Kemp, D., Stoewer, H., Wade, J., et al.: A World in Motion–Systems Engineering Vision 2025. INCOSE-SE Leading Indicators Guide (2014) 2. Doklad mezhdunarodnoj konsul’tativnoj gruppy po jadernoj bezopasnosti: Osnovnye principy bezopasnosti atomnih jelektrostancij 75-INSAG-3 Rev.1 INSAG-12. Mezhdunarodnoe agentstvo po atomnoj jenergii, Vienna (2015) 3. Bukrinskij, A.M.: Upravlenie zaproektnymi avarijami v dejstvujushhih normativnyh dokumentah Rossii. Jadernaja i radiacionnaja bezopasnost’ 1, 16–25 (2010) 4. Chang, K.H.: Design Theory and Methods Using CAD/CAE. The Computer Aided Engineering Design Series. Academic Press, Burlington (2014) 5. Cederfeldt, M., Elgh, F.: Design automation in SMEs–current state, potential, need and requirements. In: DS 35: Proceedings ICED 05, the 15th International Conference on Engineering Design, Melbourne, Australia, August 15–18, 2005 (2005) 6. Sandberg, M., Gerth, R., Lu, W., Jansson, G., Mukkavaara, J., Olofsson, T.: Design automation in construction: an overview. In: CIB W78 Conference (2016) 7. Catanzaro, B., Keutzer, K., Su, B.Y.: Parallelizing CAD: A timely research agenda for EDA. In: Proceedings of the 45th annual Design Automation Conference, pp. 12–17. ACM, June 2008 8. Probst, M., Rothlauf, F., Grahl, J.: An implicitly parallel EDA based on restricted boltzmann machines. In: Proceedings of the 2014 Annual Conference on Genetic and Evolutionary Computation, pp. 1055–1062. ACM, July 2014 9. Brown, A., Lester, D., Plana, L., Furber, S., Wilson, P.: SpiNNaker: the design automation problem. In: Köppen, M., Kasabov, N., Coghill, G. (eds.) ICONIP 2008. LNCS, vol. 5507, pp. 1049–1056. Springer, Heidelberg (2009). doi:10.1007/978-3-642-03040-6_127 10. Sifakis, J.: System design automation: challenges and limitations. Proc. IEEE 103(11), 2093– 2103 (2015) 11. Groover, M.: Automation. Encyclopedia Britannica (2017) 12. Macjashek, L.A.: Analiz trebovanij i proektirovanie sistem. Razrabotka informacionnyh sistem s ispol’zovaniem UML (2002) 13. Maciaszek, L.: Requirements Analysis and System Design: Developing Information Systems with UML. Addison-Wesley, Harlow (2001) 14. Lightsey, B.: Systems engineering fundamentals. Defense acquisition univ ft belvoir va (2001)

Software Engineering: Special Session on Intelligent Systems and Software Engineering Advances

Ensemble of Classifiers Based on Simple Granules of Knowledge Piotr Artiemjew(&) Faculty of Mathematics and Computer Science, University of Warmia and Mazury in Olsztyn, Sloneczna 54, 10-710 Olsztyn, Poland [email protected]

Abstract. The idea of classification based on simple granules of knowledge (CSG classifier) is inspired by granular structures proposed by Polkowski. The simple granular classifier turned up to be really effective in the context of real data classification. Classifier among others turned out to be resistant for damages and can absorb missing values. In this work we have presented the continuation of series of experimentations with boosting of rough set classifiers. In the previous works we have proven effectiveness of pair and weighted voting classifier in mentioned context. In this work we have checked a few methods for classifier stabilization in the context of CSG classifier - Bootstrap Ensemble (Simple Bagging), Boosting based on Arcing, and Ada-Boost with Monte Carlo split. We have performed experiments on selected data from the UCI Repository. The results show that the committee of simple granular classifiers stabilized the classification process. Simple Bagging turned out to be most effective for CSG classifier. Keywords: Rough sets  Rough inclusions  Granules of knowledge Classification of data  Bootstrap ensemble  Ada-Boost  Arcing



1 Introduction In the previous works we have developed the group of rough set classifiers based on the granular structures developed by Polkowski [15]. Classification turned out to be really effective with significant reduction in the training decision system size. The ensemble scheme of classification, in the context of rough set methods is really effective - see [7–11, 16] thus we decided to check the selected methods on our classifiers. In the previous experimentations we have proven the effectiveness of boosting scheme for our pair and weighted voting classifier. In this work we have selected for experiments the granular classifier based on simple granules of knowledge [1]. The Boosting consists of sequential production of classifiers, where each classifier is dependent on the previous one and focuses on the previous one’s error [12, 18, 21]. Incorrectly classified objects are chosen more often to training sets The Ensemble of Bootstraps [22] forms the group of classifiers, where each classifier is dependent on the previous one, but there is no influence of classification accuracy.

© Springer International Publishing AG 2017 R. Damaševičius and V. Mikašytė (Eds.): ICIST 2017, CCIS 756, pp. 343–350, 2017. DOI: 10.1007/978-3-319-67642-5_28

344

P. Artiemjew

We have conducted three types of experiment, where the first one consists of the stabilisation of classification based on the mentioned Committee of Boot- straps [17], the second on Boosting based on Arcing [5, 19], and the third on Ada-Boost with Monte Carlo split [12, 18, 21]. Let us to start with the theoretical basics. 1.1

Theoretical Background

An information system [13] is a pair I ¼ ðU; AÞ, where U is a set of objects, entities, and A is a set of attributes; decision system is a triple DS ¼ ðU; A; dÞ, where d 62 A. The basic form of granulation in decision and information systems consists in partitioning U into classes of the indiscernibility relation INDðAÞ defined as INDðAÞ ¼ fðu; vÞ : aðuÞ ¼ aðvÞ; 8a 2 Ag. Each class ½uA ¼ fv 2 U : INDA ðu; vÞg is interpreted as a elementary granule and unions of elementary granules are granules of knowledge. Another approach to granulation, proposed in [15], consists in using rough inclusions, cf. [15] A rough inclusion [15] is a relation lU  U  ½0; 1 which can be regarded as graded similarity relation extending the indiscernibility relation by relaxing restrictions on attribute values. We let INDðu; vÞ ¼ fa 2 A : aðuÞ ¼ aðvÞg. In our approach we use rough inclusion proposed by [15], to classify test objects. Test object u is classified by granules, whichohave been formed from training set as follows, n grgran ðuÞ ¼ v 2 U : jINDðu;vÞj  rgran , where rgran 2 ½0; 1 is the granulation radius. jAj

The most numerous decision class transfers decision to our testing object. If tie occurs, it is resolved by a random choice. This type of classification is the simplest among studied by the author cf. [3, 4, 14]. The results of research for optimal parameters for this method is available in [2]. In this work we continue this approach and our main purpose is to find the threshold of the optimal parameter stability for the random damage of the decision system. In the work [2] we have proposed a method for experimental detecting of the optimal radius value for a given data set, by means of multiple CV-5 and subsequent confirmation by means of Leave One Out method. Once the optimal value is found for the test data, it can be used for classifying incoming objects without any need for full granulation procedure. The rest of the paper has the following content. In Subsects. 1.1–1.3 we have the theoretical introduction to CSG classifier. In Sect. 2 we have described the Boosting methods used in this work. In Sect. 3 we show the results of the experiments, and we conclude the paper in Sect. 4. We now describe background information about how the classifiers are considered in terms of rough set theory.

Ensemble of Classifiers Based on Simple Granules of Knowledge

1.2

345

Classification by Simple Granules of Knowledge Theoretical Background

The Rough inclusion is defined as lp ðx; y; rÞ, where x; y are individual objects, r 2 ½0; 1, which satisfies the following requirements, relative to a given part relation p on a set U of individual objects, see [15], 1: lp ðx; y; 1Þ , ingp ðx; yÞ; 2: lp ðx; y; 1Þ ) ½lp ðz; x; rÞ ) lp ðz; y; rÞ; 3: lp ðx; y; rÞ ^ s\r ) lp ðx; y; sÞ Those requirements seem to be intuitively clear. 1. demands that the predicate lp is an extension to the relation ingp of the underlying system of Mereology; 2. does express monotonicity of lp , and 3. assures the reading. “to degree at least r”. We use here only one rough inclusion, albeit a fundamental one, viz., see [15] for its derivation, lL ðu; v; rÞ ,

jINDðu; vÞj  r: jAj

A granule gl ðu; rÞ about u 2 U of the radius r, relative to l, is defined by letting, gl ðu; rÞ is

ClsFðu; rÞ;

where the property F(u,r) is satisfied with an object v if and only if lðv; u; rÞ holds, and Cls is the class operator, see, e.g., [15]. Practically, in case of lL , the granule gðu; rÞ collects all v 2 U such that jIND(v,u)j  r  jAj: 1.3

Voting by Granules on Decision Values

For granule g ¼ grgran ðuÞ of test objects u in a training decision system ðUtrn ; A,d), for each test object u, the value of decision assigned to u by the granule g is defined as, d(u) ¼ d0 such that, for D as the set of granule’s grgran ðuÞ decision classes, n n o o   d0 ¼ d00 2 D : max v 2 grgran ðuÞ : dðvÞ ¼ d00  The ties are resolved in a random way. 1.4

The Procedure of Classification by Means of Standard Granules (CSG Algorithm)

1. The training decision system ðUtrn ; A; dÞ and the test system ðUtst ; A,d) has been input, where Utst ; Utrn is respectively universe of test and training objects, A is a set of attributes and d is a decision reflecting a partition of objects into classes. 0 1 2. The granular radius rgran 2 fcardfAg ; cardfAg ; . . .; cardfAg cardfAgg has been chosen.

346

P. Artiemjew

3. For classified test object u 2 Utst , the classification granule grgran ðuÞ has been found in the training set Utrn as follows, grgran ðuÞ ¼ fv 2 Utrn :

jINDðu; vÞj  rgran g; where rgran 2 ½0; 1 jAj

4. The most numerous decision class of granule grgran ðuÞ transfers decision to our test object. If tie occurs, it is resolved randomly.

2 Classifiers Stabilisation Methods In order to perform the experimental part we have selected three methods to check the boosting, stabilisation effect on our classifier. The brief description is as follows. 2.1

Bootstrap Ensembles

It is the random committee of bootstraps [22], a method, in which the original decision system - the basic knowledge - is split into (TRN) training data set, and (TSTvalid) validation test data set. And from the TRN system, for a fixed number of iterations, we form new Training systems (NewTRN) by random choice with returning of card {TRN} objects. In all iterations we classify the TRNvalid system in two ways: the first based on the actual NewTRN system and the second based on the committee of all performed classifications. In the committee majority voting is performed and the ties are resolved randomly. 2.2

Boosting Based on Arcing

The similar method to the frst one, but here the TRN is split into two data sets NewTRN and NewTST - see [5, 19]. The split is based on Bootstraps and the NewTRN system is formed by weights assigned to training objects. The objects are chosen for the NewTRN with a fixed probability determined by weights. The weights are initially equal, but after the first classification of the NewTST system based on NewTRN, the weights are modified in such a way that well-classified objects have lowered weights, and after that the normalization of weights is performed. This method of forming Bootstraps is called Arcing. After the classification, the NewTRN classifies the TSTvalid in a single iteration and as the committee of classifiers. In Arcing the factor for weights modification is equal 1-Accuracy/Accuracy. 2.3

Boosting Based on Ada-Boost with Monte Carlo Split

We use a similar method of classification to the one previously described, but here we use a different method for NewTRN and NewTST forming - see [12, 18, 21]. We split the TRN data set according to the fixed ratio, and choose the objects in the NewTRN based on weights. The good split ratio is about 0.6, because it is close to the

Ensemble of Classifiers Based on Simple Granules of Knowledge

347

approximate size of the distinguishable objects in the bootstraps. The rest of the algorithm works in a similar way to the previous one.

3 Results of Experiments We have carried out experiments with use of multiple Cross Validation 5 (CV-5) [6] method and we use the exemplary data from UCI Repository [20], the list of data is in the Table 1. Due to short space we have selected only one exemplary result for three methods of boosting. See the results in the Figs. 1, 2 and 3. In case of Fig. 1 we have results for ensemble of bootstraps for Australian credit data set, we have stable Table 1. The list of examined data sets Name Adult Australian-credit Diabetes German credit Heart disease Hepatitis Congressional voting Mushroom Nursery Soybean large

Attr: type Categorical; integer Categorical; integer; real Categorical; integer Categorical; integer Categorical; real Categorical; integer; real Categorical Categorical Categorical Categorical

Attr:no: Obj:no: Class no: 15 48842 2 15 690 2 9 768 2 21 1000 2 14 270 2 20 155 2 17 435 2 23 8124 2 9 12960 5 36 307 19

Fig. 1. The result for Bagging based on Arcing with CSG classifier – 50 iterations of learning. Data: Australian Credit

348

P. Artiemjew

Fig. 2. The result for Ada Boost with CSG classifier – 50 iterations of learning. Data: Australian Credit

Fig. 3. The result for Simple Bagging with CSG classifier – 50 iterations of learning. Data: Australian Credit

classification starting from the 20th iteration, accuracy error upto 30th iteration is around 0.002 with 0.855 accuracy. In the Figs. 2 and 3 we have similar results, stabilization is in the same interval of iterations, the results is slightly worse with similar accuracy error.

Ensemble of Classifiers Based on Simple Granules of Knowledge

349

4 Conclusions In the paper we have investigated the possibility of stabilization of the classifier based on simple granules of knowledge, which is based on the granules formed from rough inclusions proposed by Polkowski [15]. We have performed the series of experiments based on data from University of Irvine repository. The results show the effectiveness of all investigated boosting methods. The simple granular classifier is significantly stabilized and the simple Bagging wins among checked methods. In the future works we have plan to check the effect of boosting for classifiers based on approximated decision systems. Acknowledgement. The research has been supported by grant 1309-802 from Ministry of Science and Higher Education of the Republic of Poland.

References 1. Artiemjew, P.: Stability of optimal parameters for classifier based on simple granules of knowledge. Tech. Sci. 14(1), 57–69 (2011). UWM Publisher, Olsztyn 2. Artiemjew, P.: In search of optimal parameters for classifier based on simple granules of knowledge. In: III International Interdisciplinary Technical Conference of Young Scientists (InterTech 2010), vol. 3, pp. 138–142. Poznan University Press (2010) 3. Artiemjew, P.: On strategies of knowledge granulation and applications to decision systems, Ph.D. dissertation, Polish Japanese institute of Information Technology. L. Polkowski, Supervisor, Warsaw (2009) 4. Artiemjew, P.: Natural versus granular computing: classifiers from granular structures. In: Chan, C.-C., Grzymala-Busse, J.W., Ziarko, W.P. (eds.) RSCTC 2008. LNCS, vol. 5306, pp. 150–159. Springer, Heidelberg (2008). doi:10.1007/978-3-540-88425-5_16 5. Breiman, L.: Arcing classifier (with discussion and a rejoinder by the author). Ann. Stat. 26 (3), 801–849 (1998). Accessed 18 Jan 2015. Schapire (1990) proved that boosting is possible. (p. 823) 6. Devroye, L., Gyorfi, L., Lugosi, G.: A Probabilistic Theory of Pattern Recognition. Springer, New York (1996) 7. Hu, X.: Construction of an ensemble of classifiers based on rough sets theory and database operations. In: Proceedings of the IEEE International Conference on Data Mining (ICDM 2001) (2001) 8. Hu, X.: Ensembles of classifiers based on rough sets theory and set-oriented database operations. In: Presented at the 2006 IEEE International Conference on Gran-ular Computing, Atlanta, GA (2006) 9. Lei, S.H.I., Mei, W.E.N.G., Xinming, M.A., Lei, X.I.: Rough set based decision tree ensemble algorithm for text classification. J. Comput. Inf. Syst. 6(1), 89–95 (2010) 10. Murthy, C.A., Saha, S., Pal, S.K.: Rough set based ensemble classifier. In: Kuznetsov, S.O., Ślęzak, D., Hepting, D.H., Mirkin, B.G. (eds.) RSFDGrC 2011. LNCS, vol. 6743, p. 27. Springer, Heidelberg (2011). doi:10.1007/978-3-642-21881-1_5

350

P. Artiemjew

11. Nowicki, R.K., Nowak, B.A., Woźniak, M.: Application of rough sets in k nearest neighbours algorithm for classification of incomplete samples. In: Kunifuji, S., Papadopoulos, G.A., Skulimowski, A.M.J., Kacprzyk, J. (eds.) Knowledge, Information and Creativity Support Systems. AISC, vol. 416, pp. 243–257. Springer, Cham (2016). doi:10.1007/978-3-319-27478-2_17 12. Ohno-Machado, L.: Cross-validation and Bootstrap Ensembles, Bag-ging, Boosting, Harvard-MIT Division of Health Sciences and Technology. HST.951J: Medical Decision Support, Fall 2005. http://ocw.mit.edu/courses/health-sciences-and-technology/hst-951jmedical-decision-support-fall-2005/lecture-notes/hst951_6.pdf 13. Pawlak, Z.: Rough sets. Int. J. Comput. Inf. Sci. 11, 341–356 (1982) 14. Polkowski, L., Artiemjew, P.: On granular rough computing: factoring classifiers through granulated decision systems. In: Kryszkiewicz, M., Peters, J.F., Rybinski, H., Skowron, A. (eds.) RSEISP 2007. LNCS, vol. 4585, pp. 280–289. Springer, Heidelberg (2007). doi:10. 1007/978-3-540-73451-2_30 15. Polkowski, L.: A unified approach to granulation of knowledge and granular computing based on rough mereology. a survey. In: Pedrycz, W., Skowron, A., Kreinovich, V. (eds.) Handbook of Granular Computing, pp. 375–401. Wiley, New York (2008) 16. Saha, S., Murthy, C.A., Pal, S.K.: Rough set based ensemble classifier for web page classification. Fundamenta Informaticae 76(1–2), 171187 (2007) 17. Steinhaus, H.: Remarques sur le partage pragmatique. Annales de la SocitPolonaise de Mathmatique 19, 230–231 (1946) 18. Schapire, R.E.: The boosting approach to machine learning: an overview. In: Denison, D.D., Hansen, M.H., Holmes, C.C., Mallick, B., Yu, B. (eds.) Nonlinear Estimation and Classification. LNS, vol. 171, pp. 149–171. Springer, New York (2003) 19. Schapire, R.E.: A Short Introduction to Boosting (1999) 20. UCI Repository. http://www.ics.uci.edu/mlearn/databases 21. Zhou, Z.-H.: Boosting 25 years, CCL 2014 Keynote (2014) 22. Zhou, Z.-H.: Ensemble Methods: Foundations and Algorithms, p. 23. Chapman and Hall/CRC (2012). ISBN: 978-1439830031. The term boosting refers to a family of algorithms that are able to convert weak learners to strong learners

A Method for Solving the Time Fractional Heat Conduction Inverse Problem Based on Ant Colony Optimization and Artificial Bee Colony Algorithms Rafał Brociek and Damian Słota(&) Institute of Mathematics, Silesian University of Technology, Kaszubska 23, 44-100 Gliwice, Poland [email protected]

Abstract. The paper presents an application of ant colony optimization and artificial bee colony algorithms to solve the inverse heat conduction problem of fractional order. In a given fractional heat conduction model, one of the parameters – thermal conductivity coefficient is missing. With output of the model - temperature measurements, functional defining error of approximate solution is created. In order to reconstruct thermal conductivity coefficient we apply swarm intelligence algorithms to minimize created functional. Keywords: Fractional heat conduction equation algorithm  Ant colony algorithm  Inverse problem



Artificial bee colony

1 Introduction Ant colony optimization and artificial bee colony algorithms are swarm intelligence algorithms which can be used to deal with optimization problems. They are inspired by behavior of swarm of ants and bees, which are regarded as intelligent community. Generally, swarm intelligence algorithms have a wide range of applications [1–7]. In this paper, we deal with fractional heat conduction inverse problem. Considered model contains differential equation with fractional derivative. Fractional differential equations can be used to model phenomena of subdiffusion or superdiffusion, for example, the process of heat conduction in porous media [8]. More about fractional calculus and fractional differential equations can be found in [9–11]. Ismailov and Cicek [12] considered an inverse problem of determining a time-dependent source term in a one-dimensional time-fractional diffusion equation from the energy measurement. They proved that the considered inverse problem has a uniqueness solution. Dou and Hon [13] presented a kernel based approximation technique and an efficient and accurate numerical scheme to solve a backward space-time fractional diffusion problem. They used Caputo fractional derivative. The authors in their computation used fast inverse Fourier transform. They also gave a numerical verification of the proposed method. Chen et al. [14] presented an algorithm to solve an inverse problem for identifying the fractional derivative indices in a two-dimensional space-fractional nonlocal model based on a generalization of the two-sided Riemann–Liouville © Springer International Publishing AG 2017 R. Damaševičius and V. Mikašytė (Eds.): ICIST 2017, CCIS 756, pp. 351–361, 2017. DOI: 10.1007/978-3-319-67642-5_29

352

R. Brociek and D. Słota

formulation with variable diffusivity coefficients. First, the authors presented an algorithm for solving a direct problem, and discussed the stability and convergence of the presented method. In order to solve an inverse problem a fast bi-conjugate gradient stabilized method was used. They also applied the Levenberg–Marquardt regularization technique combined with the Armijo rule. In the end, a numerical example is presented. Also, the authors of this paper dealt with inverse problem of fractional order [2, 15]. For example, in [2] a heat transfer coefficient in time fractional diffusion equation is reconstructed. To minimize the functional defining the error of approximate solution, the Nelder-Mead algorithm was used. Various applications of bio inspired solutions can be found in the literature. In [20], these approaches were used to simulate dynamic object over time interval. In [21], an imf demixing method was based on some intelligent algorithm. Similarly, other sounds can be processed, i.e. for classification from the voice samples by the use of Gabor filter [22]. It is also presented that these methodologies can benefit from devoted processing based on latest technology for parallel computing [23]. This paper is organized as follows. In Sect. 2 we present a model – time fractional heat conduction equation with Neumann and Robin boundary conditions. We considered fractional derivative defined in the sense of Caputo. The inverse problem consists of determining thermal conductivity coefficient based on temperature measurements. The problem under consideration is reduced to the optimization problem. A short description of finding a solution of direct problem is presented in Sect. 3. More about solution of direct problem can be found in [16]. In order to solve the optimization problem two algorithms were implemented and compared – Artificial Bee Colony algorithm [17] and a parallel version of the Ant Colony Optimization algorithm [18]. Section 4 presents a numerical example with conclusions.

2 Formulation of the Problem Consider the following time fractional heat conduction equation: c.

@ a uðx; tÞ @ 2 uðx; tÞ ¼ k ð x Þ ; @ta @x2

ð1Þ

where x 2 ½0; Lx , t 2 ½0; T  and c; .; k denote specific heat, density and thermal conductivity coefficient. We also add an initial-boundary conditions, respectively uðx; 0Þ ¼ f ð xÞ; x 2 ½0; Lx ; ð0;tÞ kð0Þ @u@x ¼ qðtÞ; t 2 ð0; T Þ; @uðLx ;tÞ kðLx Þ @x ¼ hðtÞðuðLx ; T Þ  u1 Þ; t 2 ð0; t Þ: Function f defines the initial condition, when heat flux q, heat transfer coefficient h and ambient temperature u1 specifies boundary conditions of second and third kind. Fractional derivative occurring in the left-hand of Eq. (1) is defined in Caputo sense as follows (for a 2 ð0; 1Þ):

A Method for Solving the Time Fractional Heat Conduction

@ a uðx; tÞ 1 ¼ @ta C ð 1  aÞ

Z

t 0

@uðx; sÞ ðt  sÞa ds; @s

353

ð2Þ

where C is the Gamma function. In the presented model, we determine the thermal conductivity coefficient k as quadratic polynomial: kð x Þ ¼ a2 x 2 þ a1 x þ a0 :

ð3Þ

Additional information, which we have to find parameters a0 ; a1 ; a2 , are temperature measurements in selected points of the considered region. Considered inverse problem consists of restoring the parameters ai (and therefore thermal conductivity coefficient). Additional information about temperature measurements (values of function u) at selected points inside considered region ðxi ; tk Þ is called input data and denoted by: b ik ; i ¼ 1; 2; . . .; N1 ; k ¼ 1; 2; . . .; N2 ; uð x i ; t k Þ ¼ U where N1 is the number of measurement points and N2 denotes the number of measurements at each point. Solving the direct problem for fixed values of the coefficients ai , we obtain values approximating function u in selected points ðxi ; tk Þ. These values will be denoted by Uik ðkÞ. Therefore, based on this computation and input data, we create functional defining the error of approximate solution: F ð kÞ ¼

XN1 XN2  i¼1

k¼1

b ik Uik ðkÞ  U

2

:

ð4Þ

The inverse problem is transformed into an optimization problem. By minimizing the functional (4), we determine thermal conductivity coefficient in the form (3).

3 Description of Algorithms In order to solve the inverse problem, first we need to find numerical solution of the direct problem. Using finite difference method, approximation of boundary conditions and Caputo fractional derivative to Eq. (1), we derive numerical scheme of considered equation. More details about numerical solution of the direct problem can be found in [16]. In this section, we focus on the description of Ant Colony Optimization (ACO) and Artificial Bee Colony (ABC) optimization algorithms. Let us start from describing a parallel version of the ACO algorithm. We use the following notations: F nT M ¼ nT  p L I n ¼ 1:0; q ¼ 0:9

– – – – – –

minimized function, number of threads, number of ants ðp 2 ZÞ, number of pheromone spots, number of iterations, parameters of the algorithm.

354

R. Brociek and D. Słota

Below, we present a step-form of the parallel version of the ACO algorithm. ACO algorithm Initialization of the algorithm 1. Setting parameters of the algorithm , , , . 2. Generating L pheromone spots (solutions) at random and creating the initial archive T 0 . 3. Computing values of minimized function for every pheromone spot (solution) and ordering elements in T 0 , according to their qualities (descending). Iterative process 4. Assigning the probabilities to the pheromone spots (solutions) according to the formula: =

l

= 1,2, …, ,

is the weight associated to the l-th solution and expressed by the formula =

(

1

)

.

2

5. The ant chooses the l-th solution according to probabilities p l . 6. The ant transforms the j-th (j=1,2, … , n) coordinate of the l-th solution s j l by sampling the neighborhood by using the probability density function (Gaussian function): ( , , )=

1 2

(

)

,

| , = |. where = 7. Steps 5-6 are repeated for each ant. Hence, we obtain M new solutions (pheromone spots). 8. Dividing the population into nT groups (groups are processed in parallel way). 9. Determinating the value of the minimized function for each new solution in population (parallel calculation). 10. Updating the archive T i . 11. Repeating steps 4-10 times.

For fixed values of parameters L; M; I, the number of minimized function F evaluations is equal to L þ M  I. The second algorithm, which we used to apply to the considered problem, is the ABC algorithm. We use the following notations: F – minimized function, SN – number of food sources = number of employed bees, number of onlookers,

A Method for Solving the Time Fractional Heat Conduction

MCN n

355

– number of iterations, – number of sought parameters. ABC algorithm

, , . 1. Setting parameters of the algorithm = , , …, 2. Generating randomly initial population P (vectors 1,2, …, ). 3. Calculating the value of the minimized function for every element in P. 4. Modify the location of all food sources according to the formula: =

+

, =

,

where {1,2, …, }, , {1,2, …, } and – random index, [ 1,1] is a random generated number. 5. Comparing ( ), then with . If ( ) = , otherwise the source remains unchanged. times. 6. Repeat steps 4 and 5 7. Assign probabilities to all sources according to the formula: ( ) , ( )

=

= 1,2, …,

,

where 1 ( )=

1+ 1+

( )

, ( ) ( ) ,

0,

( ) < 0.

8. Each onlooker selects one source in accordance to the probability (some sources may be repeated) and begins its modification in the same way as it was in steps 4 and 5. 9. Choose the best sources (solutions) from existing sources. If it is the best one, we . Otherwise, skip it and remember the previous best solusave it, denoted by tion. 10. If after steps 4 and 5, a bee could not improve the position of the food source (could not find a better solution), then it is abandoned and replaced by a new source specified by the formula: =

+

where [0,1] is a pseudo-random number. 11. Repeat steps from 4 to 10 times.

,

= 1,2, …,

,

356

R. Brociek and D. Słota

For fixed values of parameters SN; MCN; n, the number of function F evaluations is equal to SN þ ðSN 2  n þ SN Þ  MCN. More about both described algorithms can be found in [17–19].

4 Numerical Verification Assume the following data in the considered model: t 2 ½0; 500; x 2 ½0; 0:2; c ¼ .¼2680; a ¼ 0:5; u1 ¼ 300; f ð xÞ ¼ 900; qðtÞ ¼ 0 and hðtÞ ¼ 1400 exp 1000; t45 7 ln : Thermal conductivity coefficient k is sought in the form: 455 4 ^kð xÞ ¼ a2 x2 þ a1 x þ a0 ; while the exact value of k is 100 þ 400 sinð15tÞ. By finding parameters a0 ; a1 ; a2 we reconstruct k. Solving the direct problem for exact k, we obtain values of temperature (values of function u) at selected points of grid created in finite difference method. Then, from these values, we select only those corresponding to the predetermined grid points (location of the thermocouple). These values simulate temperature measureb ik and were generated in grid 300  5000. In order to ments. They are input data U avoid inverse crime problem, the grid used in the algorithm to reconstruct k was of size 100  1000. Additionally, we assume one measurement point xp ¼ 0:5ðN1 ¼ 1Þ, the measurements from this point are taken every 0.5 s and 1 s ðN2 ¼ 1001; 501Þ. In order to investigate the effect of measurement errors on stability of the proposed method and the results of reconstruction, the input data were perturbed by the pseudo-random error of sizes 1 and 2%. To find the minimum of functional (4), we use and compare two algorithms, namely ABC and ACO. Both algorithms are heuristic, therefore it is required to repeat calculations a certain number of times. In this paper, we assumed that the calculations for each case will be repeated ten times. In these algorithms, we assume the following data: ABC = 5, = 4, = 3, [0,150 ], [7500 , 8500 ],

[ 39000 , 37500 ]. ACO

= 8, = 12 , = 25 , = 4, [0,150 ], [7500 , 8500 ],

[ 39000 , 37500 ].

The data for the algorithms were chosen to compare algorithms, the number of function evaluations in both algorithms is similar. For ABC it is equal to 325, and for ACO it is equal to 308. Additionally, ACO is adopted to parallel computing. Tables 1 and 2 present results of determining a0 ; a1 ; a2 depending on the size of perturbation input data for measurements every 0.5 s and 1 s. The error of reconstruction function k is defined in the following form:

A Method for Solving the Time Fractional Heat Conduction

357

vffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi u 2 uR 0:2 u 0 kð xÞ  ^kð xÞ dx t Err ¼  100%: 2 R 0:2 0 jkð xÞj dx Both algorithms give similar results, particularly in case of measurements every 0.5 s. Errors of reconstruction function k are approximately 4.80% (exact input data), 5.30% (1% perturbed input data) and 17% (2% perturbed input data). We must remember that the exact function of the coefficient k was in the form of a trigonometric function, while the sought function was in the form of a polynomial. The difference in errors of reconstruction function k can be seen in the case of one-second measurements. However, the values of the minimized function F are almost equal in both algorithms

Table 1. Results of calculation in case of measurements every 0.5 s (ai – restored value of ai (i = 0, 1, 2), rp – ratio of standard deviation to the best solution, F(x) – value of minimized function, Err – error of reconstruction k) Noise ai ACO 0% 51,24 7992,89 −37500 1% 48.09 8013.29 −37521.84 2% 0 8012.98 −37500

jrp j 0.344 0.022 0.015 0.292 0.020 0.014 0.013 0.009

F ð xÞ

Err½% ai ABC 0.721 4.82 51.32 7993.22 −37500 8329.37 5.23 47.65 8007.59 −37504.55 33414.78 17.00 0.05 8013.55 −37500

jrp j

F ð xÞ

Err[%]

0.722 4.80 0.303 0.013 0.008 0.126 8329.40 5.38 0.009 0.006 33414.86 16.98 0.012 0.009

Table 2. Results of calculation in case of measurements every 1 s (ai – restored value of ai (i = 0, 1, 2), rp – ratio of standard deviation to the best solution, F(x) – value of minimized function, Err – error of reconstruction k) Noise ai ACO 0% 41.76 8117.84 −37908.91 1% 28.86 8436.37 −39000 2% 51.36 7921.98 −37506.62

jrp j 0.332 0.016 0.011 0.398 0.015 0.010 0.274 0.020 0.013

F ð xÞ

Err½% ai ABC 0.629 5.64 51.29 7993.06 −37500.13 4313.00 5.89 42.45 8293.22 −38532.90 17042.05 6.08 53.18 7918.99 −37503.30

jrp j

F ð xÞ

Err[%]

0.187 0.361 4.81 0.010 0.007 0.300 4313.24 4.53 0.011 0.008 0.245 17042.10 5.69 0.017 0.011

358

R. Brociek and D. Słota 500

400

λx

300

200

100

0.00

0.05

0.10

0.15

0.20

x

Fig. 1. Plots of exact (solid line) and reconstructed (red line - ACO, green line - ABC) thermal conductivity coefficient k in case of the 0% input data perturbation. (Color figure online)

500

400

λx

300

200

100

0.00

0.05

0.10

0.15

0.20

x

Fig. 2. Plots of exact (solid line) and reconstructed (red line - ACO, green line - ABC) thermal conductivity coefficient k in case of the 1% input data perturbation. (Color figure online)

500

λx

400

300

200

100 0.00

0.05

0.10

0.15

0.20

x

Fig. 3. Plots of exact (solid line) and reconstructed (red line - ACO, green line - ABC) thermal conductivity coefficient k in case of the 2% input data perturbation. (Color figure online)

A Method for Solving the Time Fractional Heat Conduction

359

(except one case where the ACO algorithm gives a little bit smaller values of the minimized function F). In the Figs. 1, 2 and 3, we can see plots of reconstructed and exact function k. As we can see plots of reconstructed k function fit to the plot of exact k function, especially in case of 0% and 1% input data. Both algorithms give similar results. The most important criterion for evaluating the obtained results are errors of temperature reconstruction in the measurement point. Tables 3 and 4 present such errors. In each case, the temperature in measurement point is reconstructed very good. The relative error is small enough and does not exceed 0:09%. Both algorithms give similar results. However, we should note that the ACO algorithm is adapted for multithreads computation, so the calculation time is shorter in case of the ACO algorithm.

Table 3. Errors of temperature reconstruction in measurement point xp ¼ 0:5 in case of measurements every 0.5 s (Davg – average absolute error, Dmax – maximal absolute error, davg – average relative error, dmax – maximal relative error) Noise Davg ½K  Dmax ½K  davg ½% dmax ½%

0% ACO 0.0235 0.0626 0.0026 0.0073

ABC 0.0234 0.0643 0.0026 0.0075

1% ACO 0.1111 0.1818 0.0126 0.0206

ABC 0.1101 0.1773 0.0125 0.0201

2% ACO 0.3978 0.7618 0.0458 0.0891

ABC 0.2204 0.4823 0.0250 0.0539

Table 4. Errors of temperature reconstruction in measurement point xp ¼ 0:5 in case of measurements every 1 s (Davg – average absolute error, Dmax – maximal absolute error, davg – average relative error, dmax – maximal relative error) Noise Davg ½K  Dmax ½K  davg ½% dmax ½%

0% ACO 0.0311 0.0792 0.0035 0.0092

ABC 0.0232 0.0666 0.0026 0.0077

1% ACO 0.0694 0.1935 0.0079 0.0226

ABC 0.0687 0.1835 0.0079 0.0214

2% ACO 0.2228 0.4826 0.0253 0.0540

ABC 0.4030 0.7659 0.0464 0.0896

Acknowledgement. Publication supported within the framework of grants in the area of scientific research and developmental works founded by Rector of the Silesian University of Technology, 09/010/RGJ17/0020.

360

R. Brociek and D. Słota

References 1. Birvinskas, D., Jusas, V., Martisius, I., Damasevicius, R.: Data compression of EEG signals for artificial neural network classification. Inf. Technol. Control 42, 238–241 (2013) 2. Brociek, R., Słota, D.: Reconstruction of the boundary condition for the heat conduction equation of fractional order. Therm. Sci. 19, 35–42 (2015) 3. Das, R., Akay, B., Singla, R.K., Singh, K.: Application of artificial bee colony algorithm for inverse modelling of a solar collector. Inverse Probl. Sci. Eng. 25, 887–908 (2017) 4. Hetmaniok, E., Słota, D., Zielonka, A.: Parallel procedure based on the swarm intelligence for solving the two-dimensional inverse problem of binary alloy solidification. In: Wyrzykowski, R., Deelman, E., Dongarra, J., Karczewski, K., Kitowski, J., Wiatr, K. (eds.) PPAM 2015. LNCS, vol. 9574, pp. 287–297. Springer, Cham (2016). doi:10.1007/ 978-3-319-32152-3_27 5. Hetmaniok, E.: Inverse problem for the solidification of binary alloy in the casting mould solved by using the bee optimization algorithm. Heat Mass Transf. 52, 1369–1379 (2016) 6. Jafrasteh, B., Fathianpour, N.: A hybrid simultaneous perturbation artificial bee colony and back-propagation algorithm for training a local linear radial basis neural network on ore grade estimation. Neurocomputing 235, 217–227 (2017) 7. Woźniak, M., Połap, D., Napoli, C., Tramontana, E.: Graphic object feature extraction system based on cuckoo search algorithm. Expert Syst. Appl. 66, 20–31 (2016). doi:10. 1016/j.eswa.2016.08.068. Elsevier 8. Obrączka A., Kowalski J.: Modeling the distribution of heat in the ceramic materials using fractional differential equations. In: Szczygieł, M. (eds.) Materiały XV Jubileuszowego Sympozjum “Podstawowe Problemy Energoelektroniki, Elektromechaniki i Mechatroniki”, PPEEm 2012. Archiwum Konferencji PTETiS, Komitet Organizacyjny Sympozjum PPEE i Seminarium BSE, vol. 32, pp. 133–132 (2012). (in polish) 9. Das, S.: Functional Fractional Calculus for System Identification and Controls. Springer, Berlin (2008) 10. Klafter, J., Lim, S., Metzler, R.: Fractional Dynamics: Resent Advances. World Scientific, New Jersey (2012) 11. Podlubny, I.: Fractional Differential Equations. Academic Press, San Diego (1999) 12. Ismailov, M.I., Cicek, M.: Inverse source problem for a time-fractional diffusion equation with nonlocal boundary conditions. Appl. Math. Model. 40, 4891–4899 (2016) 13. Dou, F.F., Hon, Y.C.: Fundamental kernel-based method for backward space-time fractional diffusion problem. Comput. Math. Appl. 71, 356–367 (2016) 14. Chen, S., Liu, F., Jiang, X., Turner, I., Burrage, K.: Fast finite difference approximation for identifying parameters in a two-dimensional space-fractional nonlocal model with variable diffusivity coefficients. SIAM J. Numer. Anal. 56, 606–624 (2016) 15. Brociek, R., Słota, D.: Application and comparison of intelligent algorithms to solve the fractional heat conduction inverse problem. Inf. Technol. Control 45, 184–194 (2016) 16. Brociek, R.: Implicit finite difference method for time fractional diffusion equations with mixed boundary conditions. Zesz. Nauk. Politech. Śląskiej Matemat. Stosow. 4, 73–87 (2014) 17. Karaboga, D., Akay, B.: A comparative study of artificial bee colony algorithm. Appl. Math. Comput. 214, 108–132 (2009) 18. Socha, K., Dorigo, M.: Ant Colony Optimization in continuous domains. Eur. J. Oper. Res. 185, 1155–1173 (2008) 19. Karaboga, D.: Basturk B,: A powerful and efficient algorithm for numerical function optimization: artificial bee colony (ABC) algorithm. J. Global Optim. 39, 459–471 (2007)

A Method for Solving the Time Fractional Heat Conduction

361

20. Woźniak, M., Połap, D.: Hybrid neuro-heuristic methodology for simulation and control of dynamic systems over time interval. Neural Netw. (2017). doi:10.1016/j.neunet.2017.04.013. Elsevier 21. Damaševičius, R., Napoli, C., Sidekerskiene, T., Woźniak, M.: IMF mode demixing in EMD for jitter analysis. J. Comput. Sci. (2017). doi:10.1016/j.jocs.2017.04.008. Elsevier 22. Połap, D., Woźniak, M.: Voice recognition through the use of Gabor transform and heuristic algorithm. Int. J. Electron. Telecommun. 63(2), 159–164 (2017). doi:10.1515/eletel-20170021. De Gruyter Open Ltd 23. Woźniak, M., Połap, D.: On the manipulation of the initial population search space in heuristic algorithms through the use of parallel processing approach. In: Proceedings of the IEEE Symposium Series on Computational Intelligence – SSCI 2016, December 6–9 Athens, Greece (2016). doi:10.1109/SSCI.2016.7850033

Automated Scheduling for Tightly-Coupled Embedded Multi-core Systems Using Hybrid Genetic Algorithms Pedro Cuadra(B) , Lukas Krawczyk, Robert H¨ ottger, Philipp Heisig, and Carsten Wolff Institute for Digital Transformation of Application and Living Domains (IDiAL), Dortmund University of Applied Sciences and Arts, Otto-Hahn-Str. 23, 44227 Dortmund, Germany [email protected] http://www.idial.institute

Abstract. Deploying software to embedded multi- and many-core hardware has become increasingly complex in the past years. Due to the heterogeneous nature of embedded systems and the complex underlying Network on Chip structures of many-core architectures, aspects such as the runtime of executable software are highly influenced by a variety of factors, e.g. the type, instruction set, and speed of the processor an executable is allocated to as well as its predecessors, their location, ordering and the communication channels in between them. In this work, we propose a semi-automated Hybrid Genetic Algorithm based optimization approach for distributing and re-scheduling executional software to heterogeneous hardware architectures in constrained solution spaces, along with an evaluation of its applicability and efficiency. The evaluation is based on both, publicly available as well as real world examples of automotive engine management systems. Keywords: Hybrid Genetic Algorithms

1

· Many-core · Automotive

Introduction

Nowadays, most of the innovation achieved within the automotive domain is driven by software. For instance, cars in 2014 already featured over 100 million lines of code and had the computing power of 20 PCs [10], which required over 100 Electronic Control Unit (ECU)s. Since then, the complexity increases even further, demanding more and more computation power that can only be addressed by multi- and many-core hardware. One of the challenges in developing embedded multi- and many-core systems is the deployment process, which combines challenges from different domains. The research leading to these results has received funding from the Federal Ministry for Education and Research (BMBF) under Grant 01|S14029K in the context of the ITEA3 EU-Project AMALTHEA4public. c Springer International Publishing AG 2017  R. Damaˇ seviˇ cius and V. Mikaˇ syt˙e (Eds.): ICIST 2017, CCIS 756, pp. 362–373, 2017. DOI: 10.1007/978-3-319-67642-5 30

Automated Scheduling for Tightly-Coupled Embedded Multi-core Systems

363

In terms of multi- and many-core, it is necessary to allocate various elements of the software (executables, data, and communications) to hardware components (processing units, memories, and communication channels), while maintaining constraints such as deadlines or the order of execution. From an embedded point of view, the allocation target usually contains a heterogeneous architecture that consists of processing units (e.g. cores) with a variety of instruction sets and frequencies, multiple communication paths to and from peripherals, and a mixture of shared and distributed memories. Due to their heterogeneous nature, finding valid allocations can become a challenging task, as e.g. allocating data to a single shared memory may result in unnecessary bottlenecks in the same manner as distributing shared data among distributed memories, which would instead increase the overhead on the communication network. Consequently, the satisfaction of constraints highly depends on the allocation decisions, which are well-known to be NP-complete. To support this process, proper tooling has to be utilized. Such tooling, with focus on supporting the development of automotive embedded systems, is provided by the open-source Eclipse Project APP4MC [2]. It allows creating customized tool chains by providing interfaces for both open source as well as proprietary tools and supports a semi-automated artifact exchange. We extended the platforms deployment functionality [9] with a customized Hybrid Genetic Algorithm (HGA) [7] for distributing executable software to multi- and many-core hardware platforms while optimizing the overall execution time in due consideration of all communication overheads. Genetic Algorithms (GAs) are a specific class of evolutionary algorithms and have several disadvantages, such as an extensive search space, slow convergence speed, and they tend to be easily trapped in local optima. To address the later downside, this work implements an Hybrid Genetic Algorithm (HGA) that is constructed by adding Simulated Annealing (SA) to a standard GA. As a result, the HGAs convergence speed is enhanced by decreasing the probability of accepting worse result over time, which allows it to escape local optima [7]. As an evolution over [7], our approach is designed to consider both the load balance across the processors as well as the communication overhead in between them. This paper is organized as follows. Section 2 discusses related work, followed by a detailed description of our proposed HGA based software distribution algorithm in Sect. 3. It provides details about the problem definition and implementation, such as the chromosome encoding, fitness function, operators and the simulated annealing process. Our experimental evaluation of the approach is presented in Sect. 4. Finally, a conclusion along with a further outlook on future work closes this paper in Sect. 5.

2

Related Work

Over the past years, a large amount of approaches using various techniques, such as GA, Integer Lintear Programing (ILP), or Ant Colony Optimization (ACO) have been developed and published for scheduling and allocating software to multi- any many-core hardware.

364

P. Cuadra et al.

The paper [13] introduces a heuristic called Combined dynamic BLevel (CBL) for non-preemptive task scheduling solutions that minimizes the schedule length of a application. While it considers communication overheads as well as heterogeneous architectures, the authors did not mention the applicability of this approach regarding its scalability or runtime for optimizing real-world scenarios. Another heuristic is presented in [12], which proposes a task scheduling algorithm based on the HEFT approach to maximize the performance on heterogeneous systems. The algorithm considers the effect of heterogeneity and performs especially well on systems with large numbers of communicated messages. The work in [4] targets the softwares performance and is realized as a two stage based ACO algorithm for scheduling tasks in heterogeneous embedded systems. Due to the nature of ACO, the approach performs well on a large search space of hard NP-complete problems. The paper [3] proposes an algorithm, which uses SA to minimize the communication costs between Runnables in an AUTOSAR framework. The algorithm effectively finds a schedule with minimal communication overhead and also proposes a refinement approach that attempts to merge the tasks, which communicate among each other and are allocated on the same core to reduce the communication cost between the resp. Runnables.

3

Hybrid GA

The implementation of our HGA, which has been implemented as a Jenetics’ [11] evolution stream, is shown in Algorithm 1. It should be noted that the mutation and crossover operations can be undone if the SA criteria are not fulfilled. The implementation of the mentioned genetic alterers internally check the SA criteria and update the individual if passed. Data: P , G, pm , pc Result: Best fitness chromosome initialize random population of size P ; set g = 1; while g ≤ G do compute fitness of each individual; O, S = rouletteW heel(generations[g]); foreach individual ind of O do mutate with probability, pm ; crossover with probability, pc ; end g = g + 1; generations[g] = merge(O, S); end Algorithm 1. Genetic Algorithm factory [7]

Automated Scheduling for Tightly-Coupled Embedded Multi-core Systems

3.1

365

Problem Definition

Let R = {ρ1 , ρ2 , . . . , ρm } denote the computing resources available in the Heterogeneous Computing Environment (HCE), with m being the maximum number of resources. Similarly, let T = {τ1 , τ2 , . . . , τn } denote the tasks to be scheduled to run on ρk ∈ R | k = 0 . . . , k ≤ n, with n being the maximum number of tasks to schedule.

τ1 γ1,2

τ2

γ2,4

γ1,5

γ2,3

τ3

τ4

γ3,4

γ4,5 γ3,5

τ5

Fig. 1. Exemplary DAG definition consisting of five tasks and their interdependencies

Given a Directed Acyclic Graph (DAG) G = (V, E), with V = {v1 , v2 , . . . , vn } being the vertex set and E the edge set with edges (vi , vj ), vi being the source vertex and vj the destination vertex. For representing a set of tasks and their dependencies as a DAG let V = T and E denote the set of inter-task dependencies. Since the only type of dependencies considered in our work are inter-task dependencies, we’ll refer to them as task dependencies or only dependencies. Figure 1 shows a DAG representation of a task set with task dependencies. The edges of the graph in Fig. 1 are annotated with the communication cost γi,j , i.e. the cost of communicating the data that τj needs and τi generates. Equation 1 shows the definition of the communication cost matrix C. C = [γi,j ]n×n | ∀γi,j = 0

(1)

The dependency matrix is defined using E in Eq. 2. Task’s dependencies also denote its precedence constraints, meaning that this task can’t start executing until all the tasks on which it depends are finished.  1 (i, j) ∈ E D = [δi,j ]n×n | δi,j = (2) 0 otherwise Communication costs matrix and dependency matrix can be merged together given the fact that the existence of communication between tasks denote explicit

366

P. Cuadra et al.

dependencies. It was decided to keep them separate to consider the case where no communication exists between τi and τj while a precedence constraint exists. Π = {T, R, S, D, Γ (C, Ω), Ω}

(3)

Our work is focused on obtaining an optimal schedule Π as defined in Eq. 3, with S being the Expected Time to Compute (ETC) matrix, Ω the allocation matrix and Γ a transform operation performed on the communication costs matrix to modify its elements taking the given allocation into account. S, Ω, and Γ are further explained below. Note that T , R, S, D and C are constants; and Γ (C, Ω), Ω vary from one schedule solution to another depending on the given allocation Ω. (4) S = [σi,j ]n×m The ETC matrix is defined in Eq. 4 with σi,k being the total execution time of τi when executed in ρk . Our work assumes pre-calculation of the ETC values for each task in each computing resource, these could be done by profiling the tasks or running a simulation using models of the computing resources. Let A = T ×R denote the set of all possible allocations of tasks to computing resources. Then τi → ρk = ai,k | ai,k ∈ A, denotes the allocation of task τi to computing resource ρk . Now, let AΠ ⊂ A, denotes the set allocations comprising a possible schedule solution defined in Eq. 5 AΠ = {α0,k0 , α1,k1 , . . . , αn,kn } | ki ∈ {0, 1, . . . , m}

(5)

Using the matrix representation of AΠ , the allocation matrix can be defined as in Eq. 6.  1 τi → ρk ∈ AΠ Ω = [ωi,k ]n×m | ωi,k = (6) 0 otherwise The Γ transform operation in Eq. 7 sets the communication costs to zero if two tasks are allocated to the same computing resource.  0 τi → ρk , τj → ρk ∈ AΠ   (7) Γ (C, Ω) = [γi,j ]n×n | γi,j = γi,j otherwise For a schedule Π, its makespan M S can be calculated using Eq. 8. Makespan stands for the total execution time of a given schedule, taking into account communications as shown in Eq. 9 with F T (τi ) being the finish time of task i. M S(Π) = max(F T (τ1 ), . . . , F T (τn )) F T (τi ) = max(F T (τj ) +

nr  k=1

 σi,k · ωi,k + γi,j | ∀τj ∈ preds(τi ))

(8)

(9)

Automated Scheduling for Tightly-Coupled Embedded Multi-core Systems

367

The load balancing is performed using the standard deviation calculated in Eq. 10 using the makespans per computing resource as defined in Eq. 11.   nr  1  σ(Π) =  (M Sk (Π) − M Sk (Π))2 (10) nr − 1 k=1

M Sk (Πs ) = max(F T (τi ) | ∀τi | (τi → ρk ) ∈ AΠ )

(11)

Chromosome Encoding. The chromosome encoding is needed to represent a temporal running sequence of the tasks. Therefore, the encoding shown in Fig. 2 is used as in [7]. Each gene comprises of a task and the resource to which it is allocated to. The gene’s sequence represents the temporal running sequence of the tasks. τ1

τ2

τ3

...

τn

ρτ1

ρ τ2

ρτ3

...

ρ τn

Fig. 2. Chromosome Encoding used for describing the running sequence and resource allocation

The chromosomes are randomly created as stated in Algorithm 2. Data: One list per topological level with all tasks in the corresponding level Result: Random chromosome get maximum topological level lmax ; set l = 0; while l = l + 1 ≤ lmax do get topological level list, Tl ; while Tl is not empty do shuffle Tl ; τi = Tl [0]; select random resource, ρk ; create gene, g, with {τi , ρk }; push g to chromosome sequence; remove τi form Tl ; end end Algorithm 2. Chromosomes factory [7] The topological level of a task is given by the maximum numbers of vertices of every possible path between all source vertices (vertices without incoming edges) and the task’s vertex. By definition, a source vertex has topological level 1, while the maximum topological level is given by maximum number of vertices of all possible paths.

368

3.2

P. Cuadra et al.

Optimization Approach

Fitness Function. The fitness function in Eqs. 12–14 combines load balancing and makespan functions from [1], but also factors in the communication overhead in the schedule sequence; replacing the load balancing function with the standard deviation of the makespans of the computing resources as calculated in Eq. 10. fT (Πs ) = α · fl (Πs ) + (1 − α) · fe (Πs )

(12)

fl (Πs ) = σM Sk (Πs )

(13)

fe = M S(Πs )

(14)

Crossover inherits “characteristics” or “genes” by an offspring from its parents by combing the genes from both parent chromosomes to produce one or more offsprings. Our paper uses an improved Single-point crossover which eliminates the possibility of an invalid offspring. The crossover point is selected so that the tasks across the crossover site have the same topological levels. The implementation of our mutation algorithm is shown in Algorithm 3. Data: C1 , C2 Result: C1 , C2 select random crossover site, gc ; if topoLevel(gc ) == topoLevel(gc−1 ) then C1 = C1 ; C2 = C2 ; swap C1 and C2 genes sequence from gc and on; if not checkSACriteria(C1 , C1 ) then C1 = C1 ; end if not checkSACriteria(C2 , C2 ) then C2 = C2 ; end end Algorithm 3. Crossover operation Mutation. This paper’s mutation operator is inherited from the single point mutation in [7]. However, the gene is not randomly mutated and the task at the mutation point is interchanged with another task at the same topological level. This ensures a valid solution after every mutation, though the probability of retaining it is decided by the simulated annealing criteria. Although mutation is vital to a genetic algorithm to maintain genetic diversity across generations, the mutation probability should be kept low. If set too high, the search will turn into a random search. The implementation of our mutation algorithm is shown in Algorithm 4.

Automated Scheduling for Tightly-Coupled Embedded Multi-core Systems

369

Data: C Result: C  get topological level task list, Tl , of random level, l; Ts = shuf f le(Tl ); get locus in C of Ts [0], l0 ; get locus in C of Ts [1], l1 ; C  = C; swap C  ’s genes in l0 and l1 ; if not checkSACriteria(C, C  ) then C  = C; end Algorithm 4. Mutation operation Simulated Annealing is inspired by annealing in metallurgy, which is based on the principle that slow cooling of a molten solid results in large crystals with less structural defects. Simulated annealing interprets slow cooling as a slow decrease in the probability of accepting worse solutions as it explores the solution space. A fundamental property of such meta-heuristics is accepting even worse solutions, thus allowing the algorithm to ’go with a leap’ through a more extensive search for the global optimum. In this paper, we combine GA with the principle of another randomized metaheuristic, i.e. SA, to equip the algorithm with a higher probability of avoiding the local optimum trap. This heuristic ensures that after every genetic alteration, the new solutions are first screened through an acceptance criteria and only inserted into the genetic pool. The worse solutions are also accepted to avoid a local optimum trap and converge faster with better results. Data: Old chromosome, Cold , new chromosomes, Cnew Result: SA criteria fulfillment Set an initial temperature Tk = T0 ; Compute fitness value of old and new chromosomes; if f (Cnew ) > f (Cold ) then SA criteria fulfilled; end generate  a random number r such that r∈ [0], [1]; if min 1, exp[−(f (Cold ) − f (Cnew ))/Tk ] > r then Tk+1 = β ∗ Tk , k → k + 1. Where, β ∈ [0], [1]; SA criteria fulfilled; else SA criteria unfulfilled; end

Algorithm 5. Simulated annealing acceptance criteria [7]

370

4

P. Cuadra et al.

Experimental Evaluation

In order to evaluate the efficiency of our proposed HGA w.r.t its runtime as well as the generated outcome we have implemented and integrated it into the software distribution functionality of the APP4MC Plattform [2] and applied it in on the problem models of three unrelated engine control applications with different sizes and levels of difficulty. The major characteristics of the models are illustrated in Table 1 along with their level of parallelism and the amount of tasks per topological level in Table 3. The evaluation results for applying our HGA are shown in Table 2. All results are based on the average of 5 subsequent runs of the HGA on a Linux PC with 8 GB of RAM and an i7-3632QM CPU with up to 3.20 GHz. The algorithm is configured to evolve over 10000 Generations, with a mutation probability of 0.01%, crossover probability of 0.50%, and an population size of 15. Moreover, it is set to an initial temperature of 900 and a cooling factor of 0.9. Table 1. Comparison of evaluated engine control applications Application Instructions Labels Runnables Tasks Democar

4260966

71

43

6

FMTV

5814540

10000

1250

21

Industrial

3600000

46929

1297

77

Our first application is based on an re-engineered engine control ECU from the ETAS DemoCar Project [5] and is publicly available as part of the APP4MC platform. It consists of 6 Tasks, 43 Runnables and 71 Labels with a total of 4260966 instructions. It was initially developed to operate on a single-core ECU and, as shown in Table 3, consists completely of sequential Task. Our second application is publicly available as part of the Formal Methods for Timing Verification (FMTV) Challenge [6] and describes a modern and accordingly more complex engine management system. It consists of 10000 Labels and 1250 Runnables with 5814540 instructions, which are already partitioned into 21 Tasks. Due to its complexity, it is supposed to be executed on a 200 Mhz quad core ECU. Compared to the Democar Example, this application has much potential for concurrent execution in the first topological level (up to 12 concurrently executable tasks). All other tasks are strictly sequential. Finally, the industrial application is based on a real-world engine control system and consists of 46929 Labels, 1297 Runnables consisting of 3600000 Instructions distributed to 77 Tasks. It provides the highest potential for concurrent execution, having 50 concurrently executable Tasks of the first topological level, while Tasks in other topological levels have a medium to low level of parallelism. For the evaluation, we have applied our HGA based approach on all application models using three different hardware platform models [8] consisting of

Automated Scheduling for Tightly-Coupled Embedded Multi-core Systems

371

one, three, and six cores. The single core hardware platform consists of an single NXP e200z7 core with 300 MHz and is used to illustrate the sequential execution on a single-core hardware platform with no parallelization and inter-core communication. The triple core hardware platform is based on an NXP MPC5777M consisting of two e200z7 cores operating at 300 Mhz and one e200z4 core operating at 200 MHz. Both cores are connected using a High Bandwidth Crossbar Switch. Finally, the hexa-core example consists of two NXP MPC5777M boards which have been connected to each other using a CAN bus. Table 2. Outcome of evaluated engine control applications Democar FMTV

Industrial

HGA run-time 1 Core (rt1c)

1.68 s

12.83 s

100.76 s

HGA run-time 3 Cores (rt3c)

1.70 s

13.72 s

103.01 s

HGA run-time 6 Cores (rt6c)

1.64 s

14.78 s

106.76 s

Makespan 1 Core (ms1c)

16.53 ms 19.38 ms 14.91 ms

Makespan 3 Cores (ms3c)

16.53 ms 18.56 ms 13.67 ms

Makespan 6 Cores (ms6c)

16.53 ms 18.50 ms 13.61 ms

Max. computing time 1 Core (ct1c)

16.53 ms 19.38 ms 14.91 ms

Max. computing time 3 Cores (ct3c) 11.20 ms 16.65 ms 8.88 ms Max. computing time 6 Cores (ct6c) 7.47 ms

9.94 ms

4.83 ms

As shown in Table 2, the run-times rt1c, rt3c, and rt6c for deploying the applications on all three hardware platforms were almost constant and only minimally influenced by the hardware attributes, e.g. number of cores. Because of the nature of the HGA and its chromosome encoding, this behavior is expected. On the other hand, we can see that the run-times are highly dependent on the complexity of the software, more specific on the number of Tasks and inter-Task dependencies. The first makes the chromosomes longer and the second increases the operations needed to get valid chromosomes. Both these factors affect directly the computation needed by our HGA. The makespan values ms1c, ms3c, and ms6c, i.e. the total execution time of a single schedule, for the DemoCar application remains constant along all hardware platforms. This is caused by the strictly sequential nature of the applications Tasks. Since the Industrial and FMTV examples have a slightly greater level of parallelism, the evaluation of their makespan values ms1c, ms3c, and ms6c shows a constant reduction with an increasing number of cores by up to 4% (FMTV) resp. 8.6% (Industrial). However, this increase is not proportional to the number of cores, due to the sequential Tasks in later topological levels as shown in Table 3. Consequently, a hardware platform with a fast processor for the sequential parts as well as additional (comparable slower) co-processors for the parallel executable parts of the software would likely represent a better suited hardware target for these applications.

372

P. Cuadra et al. Table 3. Concurrently executable Tasks per topological level Application 1 Democar

2 3 4 5 6 7 8 9 10 11 12 13 1 1 1 1 1 1 - - - -

-

-

-

FMTV

12 1 1 1 1 1 1 1 1 1

-

-

-

Industrial

50 2 2 1 1 1 1 2 5 6

1

3

2

Finally, the max. computing times ct1c, ct3c, and ct6c illustrate how long the core with the highest utilization on a hardware platform is performing its computations during a single schedule (makespan). Obviously, this value equals the makespan of a single core platform, and should ideally decrease with a rising amount of cores without increasing the makespan. Although all three applications have a high amount of sequential Tasks, our approach is capable of reducing the load by up to 66% (Industrial application) for the core with the highest utilization. Interestingly, it also reduces the highest load by over 54% on the DemoCar application without noticeably increasing its makespan, despite its strictly sequential nature. This is caused by its low number of data transfers as well as the High-Bandwidth Crossbar Switch of the hardware.

5

Conclusion and Future Outlook

In this work we presented a new HGA based approach for deploying executable software to processing hardware components, i.e. cores. We discussed which steps are required to adapt an existing GA and how to enrich it with SA to enhance one of its disadvantages. Our integration to the open-source APP4MC platform, allowed extensive evaluation on three independent engine control examples on three hardware platforms. Our evaluation shows that the approach is indeed capable of creating results in a reasonable short amount of time (≤2 minutes) and provides a minor speedup for tightly-coupled software on multi-core platforms while balancing the load among cores and revealing opportunities for further optimizations, e.g. energy minimization. In the future, we will extend the approach and integrate further optimization goals, such as increasing reliability, reducing memory accesses or a more detailed energy model for lowering the energy consumption. Especially the later would be highly beneficial due to the heterogeneous nature of embedded systems. Moreover, the approach could be further extended to support multi-criteria optimization, which would allow to fine-tune the deployment as well as supporting design space exploration in early development phases. Other important aspects are the degrees of freedom, i.e. the criteria which are altered by the approach. As mentioned in the introduction, the allocation of data to memories as well as communications to channels can be crucial for the execution time. Consequently, we intent to extend our HGA accordingly.

Automated Scheduling for Tightly-Coupled Embedded Multi-core Systems

373

References 1. Alexandrescu, A., Agavriloaei, I., Craus, M.: A genetic algorithm for mapping tasks in heterogeneous computing systems. In: 15th International Conference on System Theory, Control and Computing, pp. 1–6, October 2011 2. Eclipse: App4mc website (2017). http://www.eclipse.org/app4mc/ 3. Faragardi, H.R., Lisper, B., Sandstr¨ om, K., Nolte, T.: An efficient scheduling of autosar runnables to minimize communication cost in multi-core systems. In: 2014 7th International Symposium on Telecommunications (IST), pp. 41–48, September 2014 4. Ferrandi, F., Lanzi, P.L., Pilato, C., Sciuto, D., Tumeo, A.: Ant colony heuristic for mapping and scheduling tasks and communications on heterogeneous embedded systems. IEEE Trans. Comput. Aided Design Integr. Circuits Syst. 29(6), 911–924 (2010) 5. Frey, P.: A timing model for real-time control-systems and its application on simulation and monitoring of autosar systems (2011). doi:10.18725/OPARU-1743 6. Hamann, A., Ziegenbein, D., Kramer, S., Lukasiewycz, M.: Demo abstract: demonstration of the FMTV 2016 timing verification challenge. In: 2016 IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS), p. 1, April 2016 7. Jiang, Z., Feng, S.: A fast hybrid genetic algorithm in heterogeneous computing environment. In: 2009 Fifth International Conference on Natural Computation, vol. 4, pp. 71–75, August 2009 8. Krawczyk, L., Kamsties, E.: Hardware models for automated partitioning and mapping in multi-core systems. In: 2013 IEEE 7th International Conference on Intelligent Data Acquisition and Advanced Computing Systems (IDAACS), vol. 02, pp. 721–725, September 2013 9. Krawczyk, L., Wolff, C., Fruhner, D.: Automated distribution of software to multicore hardware in model based embedded systems development. In: Dregvaite, G., Damasevicius, R. (eds.) ICIST 2015. CCIS, vol. 538, pp. 320–329. Springer, Cham (2015). doi:10.1007/978-3-319-24770-0 28 10. Mohr, D., Kaas, H.W., Gao, P., Cornet, A., Wee, D., Inampudi, S., Krieger, A., Richter, G., Habeck, A., Newman, J.: Connected car, automotive value chain unbound (2014) 11. Wilhelmst¨ otter, F.: Jenetics: Java genetic algorithm library (2017). http://jene tics.io/ 12. Xie, G., Li, R., Xiao, X., Chen, Y.: A high-performance dag task scheduling algorithm for heterogeneous networked embedded systems. In: 2014 IEEE 28th International Conference on Advanced Information Networking and Applications, pp. 1011–1016, May 2014 13. Zeng, B., Wei, J., Liu, H.: Research of optimal task scheduling for distributed realtime embedded systems. In: 2008 International Conference on Embedded Software and Systems, pp. 77–84, July 2008

The Bag-of-Words Methods with Pareto-Fronts for Similar Image Retrieval Marcin Gabryel ✉ (

)

Institute of Computational Intelligence, Częstochowa University of Technology, Al. Armii Krajowej 36, 42-200 Częstochowa, Poland [email protected]

Abstract. This paper presents an algorithm for similar image retrieval which is based on the Bag-of-Words model. In Computer Vision the classic BoW algo‐ rithm is mainly used in image classification. Its operation is based on processing of one image, creating a visual words dictionary, and specifying the class to which a query image belongs. In the presented modification of the BoW algorithm two different image feature have been chosen, namely a visual words’ occurrence frequency histogram and a color histogram. As a result, using multi-criteria comparison, which so far has not been used in the BoW algorithms, a set of images similar to a query image is obtained, which is located on the Pareto-optimal nondominated solutions front. Keywords: Image features · Bag-of-Words · Multi-objective optimization

1

Introduction

One of the most popular and widely spread algorithms used for indexation and image retrieval is the Bag-of-Words model (BoW, which is also known as the Bag-of-VisualWords or the Bag-of-Features algorithm) [1]. The classic BoW algorithm is used in natural language processing. A text (such as a sentence or a document) is represented as a bag of words. In image retrieval or image classification this algorithm also works on one characteristic image feature and most often it is a descriptor defining the surrounding of a keypoint obtained by using e.g. the SURF algorithm. In presented method each image is assigned two histograms of features. One histo‐ gram stores information connected with visual words’ occurrence frequency, i.e. it stores information on local image features. The other histogram contains information on gray‐ scale intensity occurrence frequency, i.e. it stores global information on a given image. Those histograms are compared by the distance metric between them. Thus, it is possible to obtain two distances between the histograms, i.e. two probability criteria: the distance between the histograms of visual words occurrence and the distance between the histo‐ grams of grayscale. By using multiple criteria comparison of the two distances it becomes possible to obtain a set of similar non-dominated images from the so-called Pareto front. In order to search for similar images the first two Pareto fronts are used, and to obtain that a fast sorting algorithm called Fast Non Dominated Sort, which actually constitutes a fragment of the well-known NSGA-II algorithm [2], is used. © Springer International Publishing AG 2017 R. Damaševičius and V. Mikašytė (Eds.): ICIST 2017, CCIS 756, pp. 374–384, 2017. DOI: 10.1007/978-3-319-67642-5_31

The Bag-of-Words Methods with Pareto-Fronts

375

An example comparison process is shown in Fig. 1. Figure 1a shows a schematic repre‐ sentation of images stored in a database and query image. Each image 𝐈i has two histo‐ grams: 𝐡pi – representing visual words occurrence in an image, and 𝐡ci – the color histo‐ gram. In the search process the distances dip and dic between query image histograms and histograms stored in the database are calculated. Those distances are used in multiplecriteria comparison, where fronts of non-dominated points are created. This is presented in Fig. 1b. Each point in the diagram corresponds to one of the images stored in the database. The points are located on the intersections of the values of the distances dip and dic. It can be seen in the Figure that the sample points 1, 3 and 4 are located on the first non-dominated front. These are non-dominated solutions, i.e. solutions which it is not possible to improve in relation to any of the criteria without simultaneously compro‐ mising the others. Having rejected the images from the first front subsequent Pareto fronts can be created. In the presented algorithm the images which are most similar to the query image are the images whose points are located on the first two fronts.

Fig. 1. (a) Schematic representation of the process of retrieving similar images by calculating the metric between the query image histograms and the images stored in the database, (b) two example Pareto fronts obtained as the result of multiple-criteria comparison of 4 different query images with the query image.

In the algorithm being presented in this paper an analytical model is used. This model is supposed to analyze visual words occurrence in images stored in a database [3, 4]. The main idea behind this algorithm is to eliminate those visual words which have spare occurrence in the cluster of all images stored in the whole database. The algorithm starts its task with the count of each visual word occurrence in histograms of a given cluster of images. If the occurrence number is lower than the previously set threshold value, then the visual word is removed from the dictionary for this image cluster. In practice occurrence of such visual word in all histograms in a given image cluster is reset. For the purpose of this paper this algorithm is called the Nonactive Visual Words Tresholding (NVWT). The algorithm which is proposed in this paper has been divided into three main modules:

376

M. Gabryel

1. The initiating module – in this phase histograms describing each image are created and stored in the database. Its operation is similar to the operation of the classical BoW method. 2. The analytical module – an analysis of the visual words dictionary is conducted, which results in changes of the values of histograms’ bins. 3. The retrieval and classification module –in this phase the database is searched so as to classify and retrieve images similar to the query image. The diagram with particular elements of the algorithm along with its division into three main modules as well as the methods which are used and which are discussed in Sect. 3 are all presented in Fig. 2. A more detailed description of particular algorithm components is presented in Sect. 3. The iniƟaƟng module

SURF

GSOM

Images

ExtracƟng characterisƟc features

Query image

ExtracƟng of the grayscale histogram

ExtracƟng characterisƟc features

The retrieval and classificaƟon module

SURF

Clustering

CreaƟng visual words

CreaƟng visual words

The analyƟcal module Visual words analysis

MulƟple-criteria comparison

Retrieval results

Database Fast Non Dominated Sort

Fig. 2. Diagram of the algorithm with its division into the three main modules.

This article is divided into the following parts. Section 2 presents familiar algorithms such as Speeded Up Robust Features (SURF), the GSOM algorithm, Fast Non-Domi‐ nated Sort, and the classical Bag-of-Words method. In the last section the results of the experiments as well as a summary of this work are presented.

2

Algorithms Used in the Proposed Approach

This section contains short descriptions of all the algorithms used in the proposed BoW method including Speeded Up Robust Features, Growing Self-Organizing Map, Fast Non-Dominated Sort, and the classical BoW algorithm). 2.1 Speeded up Robust Features The Speeded Up Robust Features (SURF) algorithm is a Fast algorithm used for retrieving and describing characteristic points in an image [13]. A characteristic feature

The Bag-of-Words Methods with Pareto-Fronts

377

of those points is that they are not sensitive to any changes in the scale of an image, image rotation or changes in illumination. When applied this algorithm produces descriptors describing the surroundings of the located key points. In this paper an algo‐ rithm generating descriptors in the form of 64 element vectors is used. 2.2 Growing Self-organizing Map The Growing Self-Organizing Map (GSOM) algorithm is a modification of Self Organ‐ izing Map (SOM) which additionally was equipped in the ability of expansion. When in operation the number of neurons adjusts to the number of data. One of the parameters which has to be defined and given as 𝜏max (and called neuron activity threshold) deter‐ mines how fast a neural network grows, which directly affects the number of neurons. Operation of this algorithm is supposed to generate NC number of neurons whose weights ] [ 𝐰j = wi1 , wi2 , … , wiK are used as cluster centers, i = 1, … , NC, K is data dimensions size in a given problem. A detailed presentation of the operation of the GSOM algorithm can be found in [3]. 2.3 Fast Non-dominated Sort Operation of the BoW algorithm involves comparing image representation histograms, which carry the count of particular clusters of visual words. It is assumed that the images between which there is the minimum distance are similar to each other. At this stage, when comparing two images with each other the minimum distance between their histo‐ grams needs to be found. In the presented algorithm it has been suggested to add the second histogram to the image representation. This histogram is the histogram of the grayscale intensity, which stores global information about the image. Correspondingly, in this case the similarity between the images is computed on the basis of the minimum distance between their histograms. Having two independent histograms and comparing the images with each other two similarity criteria are obtained, on the basis of which a set of non-dominated solutions (known as Pareto-optimal solutions) is created. These non-dominated solutions are solutions for which it is not possible to find better solutions in relation to any of the criteria without compromising the other criteria at the same time. Generally, in the case of objective function minimization this problem can be presented by the following formula: x ≻ y ⇔ ∃i fi (x) ≤ fi (y)

(1)

where the solution x dominates over y if and only if the value of the function for the objective for x is not greater for y. In the method which is being proposed the images are retrieved from the first two non-dominated Pareto fronts. In order to find Pareto-optimal solutions the Fast NonDominated Sort algorithm presented in [2] has ) used. This algorithm boasts fast ( been operation as its computational complexity is O MN 2 as opposed to the other algorithms ) ( searching for non-dominated solutions, whose complexity is O MN3 .

378

M. Gabryel

2.4 The Bag-of-Words Algorithm The classical Bag-of-Words algorithm is based on a concept of text search methods within collections of documents. Single words are stored in dictionaries with an emphasis on appearing in various documents. The Bag-of-Words version applied in Computer Vision comprised three main steps: (i) feature extraction, (ii) learning visual vocabulary and (iii) image representation. In the first phase characteristic features are detected from an image. Characteristic features are usually descriptions of the surround‐ ings of the points which do not respond to changes in the image scale, illumination and rotation, [1, 5], and they are also color features [6], texture features [7], features of selected image fragments [8, 9], and others. The number of data obtained in such way is extremely high and thus, it is rather difficult to compare it. In order to reduce the number of data clustering algorithms are applied. Those algorithms generate clusters of similar image features. Cluster centers are called visual words and they work in a similar way to the way in which words work in text documents. The last phase of the BoW algorithm is supposed to create a normalized histogram of visual words occurrence frequency in a given image, which in the literature on the subject is referred to as code‐ book or image representation. Those histograms are vectors which are stored in a data‐ base. Such database can then be searched in order to retrieve similar images with regard to minimum distances between histograms or its data is used to learn a classifier. Clas‐ sification, i.e. determining to which class a particular image belongs, uses all images from a given database along with class labels assigned to them. They form the basis on which a classifier learns (Support Vector Machine SVM is the most frequently used one) by providing positive examples (containing histograms of a particular class) and nega‐ tive examples (remaining histograms not belonging to a particular class).

3

The Proposed Method

The algorithm presented herein is different from the classical BoW model in terms of innovative elements: • When creating visual words it is not necessary to give the initial number of clusters of image characteristic features. When using the clustering algorithm which is applied herein will automatically choose the number of clusters. • Two histograms are used to represent each of the images stored in the database, i.e. the histogram of the frequency of occurrence of characteristic keypoints’ clusters and the histogram of grayscale intensity. • The proposed algorithm is used for both image classification and image retrieval. • Two criteria are used as a metric to evaluate image similarity: the minimum distance between visual words’ occurrence frequency histograms and the minimum distance between the histograms of colors. Having two comparison criteria a multi-criteria comparison is applied, which results in retrieval of a set of similar images from the Pareto front. • As a result of the conducted phase of the analysis each of the histograms of an image stored in the database is modified. The histograms bins assigned to those visual words

The Bag-of-Words Methods with Pareto-Fronts

379

whose number is below a certain threshold are reset. Threshold value is set for each class separately. As it is said in the introduction (Sect. 1), the presented algorithm consists of three parts: • the initiating module, which is supposed to prepare the images stored in a database, • the analytical module, responsible for the visual words’ dictionary analysis and histogram modification, • the retrieval module, whose task is to retrieve and classify similar images. The initiating module is meant to save images in a data base in the way the Bag-ofWords algorithm does. Local characteristic features are retrieved from an image, and next, they are clustered in order to create a visual words’ dictionary. Each image 𝐈i has the following histograms saved in the database to which it belongs: histogram 𝐡pi – mapping characteristic points to group centers and histogram 𝐡ci – the color histogram created on the basis of the grayscale intensity. The number of the grayscale intensity levels Hc is one of the algorithm’s parameters. There are 256 grayscale intensity levels most often used when creating a histogram. However, it has turned out during the work on this algorithm that using a smaller number of grayscale intensity levels produces better results. The operation of the initiating algorithm looks as follows: [ ] 1. Finding characteristic points 𝐱i = xi1 , xi2 , … , xiK , for each image 𝐈i, i = 1, … , L, L – the total number of all characteristic points, K – the dimension of the vector describing characteristic points. 2. Grouping obtained points 𝐱i with the use of the GSOM algorithm. Obtain group centers 𝐰j of neurons Nj, j = 1, … , Nc, Nc – the number of groups. ] [ 3. Creating and storing in a database histograms 𝐡pi = hpi1 , … , hpiN for an image 𝐈i, c where hpik =

∑L n=1

𝛿nk (i), k = 1, … , Nc

(2)

Variable 𝛿nk (i) is an indictor if a group wk is the closest vector (a winner) for any sample 𝐱i from an image 𝐈i. 4. Create a color histogram 𝐡ci = [hci1 , … , hpiH ] for each image 𝐈i, where Hc is the length c of the histogram. The next module of the proposed algorithm analyzes the words dictionary 𝐰j creating histograms 𝐡pi so as to improve the BoW recognition and classification. The applied NVWT algorithm involves the following steps: (i) analyzing occurrence of the visual words in images in a given group (all the images or in a given class of images),

380

M. Gabryel

(ii) removing from the dictionary those visual words whose occurrence number is below the set threshold, and (iii) filtering histogram 𝐡pi and to reset those histogram elements which contain infor‐ mation on removed visual words. After this operation the histograms are normalized and the remaining histogram element values which have not been reset increase their values automatically. This is why the histogram has information on the most significant visual words occurring in a given group of images. Detailed information on the algorithm along with the experiment description can be found in of [3]. The last module of the presented algorithm is responsible for retrieving similar images of the query image (marked as IQ) from the database. The process starts with initiation of the SURF algorithm and retrieval of the image local features from IQ. Next, similar to formula a histogram of visual words’ frequency occurrence 𝐡pQ and a color histogram 𝐡cQ with the grayscale intensity of Hc are created. The next stage involves calculating distances dip (between histograms 𝐡pi and 𝐡pQ) and dic (between histograms 𝐡ci and 𝐡cQ) using the L1 metric; yet, for the histogram 𝐡pQ we also use the NVWT algorithm. The next stage comprises multi-criteria comparison of the obtained values dip and dic, and obtaining the first two non-dominated Pareto-optimal fronts by using the Fast Non Dominated Sort algorithm (see Sect. 2.3). The images which belong to the first two Pareto fronts are treated as images similar to the query image IQ, and they can be retrieved as the retrieval operation result.

4

Experiments

This section presents the operation of the proposed algorithm which shows how the parameters affect its operation and efficiency of the image retrieval algorithm. The algo‐ rithm is in Java and uses JavaCV library [10], which makes the function of the commonly used OpenCV library [11].The experiments utilize 6 image classes selected from the Caltech 101 database [12]. Each of the image classes has been divided into two parts in the proportion of 80/20 with one part used for creating a database with the use of the BoW algorithm, and the other part used for testing of the algorithm operation. A database utilizing 180 images has been created in which 100,000 characteristic points generated by the SURF algorithm have been processed. The first of the experiments aimed at identifying the optimum grayscale intensity number value of the color histogram 𝐇c. For the purpose of the research grayscale intensity histograms with the power value of number 2 i.e. from 8 to 256 were chosen. At the same time, the experiments were conducted for five sample values 𝜏max (see the operation of the GSOM algorithm in Sect. 2.2). The system being launched comprises only the initiating part and the retrieval and classification part. The NVWT algorithm is not applied. In the Table 1 the recall values on the intersections of rows and columns are expressed as percentage. The recall value expressed as a percentage was used to calculate the classification efficiency according to the following formula:

The Bag-of-Words Methods with Pareto-Fronts

Recall =

TruePositiveCount ⋅ 100% TruePositiveCount + FalseNegativeCount

381

(3)

Table 1. Recall values obtained by presented algorithm in the experiment searching for the optimum length values of the color histogram 𝐇c in relation to the parameter 𝜏max.

Color histogram length Hc

8 16 32 64 128 256

Parameter 𝜏max for the GSOM network 125 250 500 72.20 69.93 69.41 72.45 70.63 69.44 72.36 70.80 70.59 73.38 71.40 70.73 73.18 71.05 70.73 72.97 70.77 70.15

750 68.29 69.37 69.62 69.72 69.62 69.65

1000 68.71 69.02 69.69 69.79 69.69 69.37

The rows show the results for various length of the color histogram 𝐇c, while in the columns the values change in relation to the value 𝜏max. As it can be noticed the most optimum value of 𝐇c is 64. For each value 𝜏max the classification results are the best. Hence, for the other experiments it is assumed that 𝐇c = 64. The Fig. 3 present the recall values for various values of the parameter 𝜏max (neuron activity threshold, cf Sect. 2.2) in relation to the parameter 𝐇c.

Fig. 3. Diagram show recall classification efficiency [%] for different values of 𝐇c in relation to parameter 𝜏max.

The next experiments aims at presenting retrieval efficiency of the proposed algo‐ rithm. The whole complete algorithm with the following parameters 𝜏max = 250, 𝐇c = 64 was operated and the NVWT module had the option of individual selection of the threshold. The results of the experiment are presented in the Fig. 4. They are sample

382

M. Gabryel

retrieval results of the query image. On the left there are sample query images from the testing image set and on the right there are the responses of the system from the first two Pareto-optimal fronts.

Fig. 4. Sample images from the 6 classes (revolver, car side, leopard, motorbike, wrench, airplane) selected for learning.

5

Conclusions

In this paper a version of the BoW is presented. This version makes it possible to generate a list of images similar to the query image. This is a result of using multi-criteria comparison in which distances from the two histograms containing information about two image features are compared. Additionally, the NVWT analysis histogram has been applied to the histogram containing key point descriptors, which improved image recog‐ nition efficiency. In the case of simple calculations the presented. The algorithm presented in this paper can still be improved by adding new methods from the realm of artificial intelligence in the initial image recognition, for example adding elements of evolutionary algorithms or similar [14, 15, 18] or neuro-fuzzy systems [19]. The presented algorithm can be successfully used in computer systems which do not require additional equipment including databases [16, 17].

The Bag-of-Words Methods with Pareto-Fronts

383

References 1. Csurka, G., Dance, C.R., Fan, L., Willamowski, J., Bray, C.: Visual categorization with bags of keypoints. In: Workshop on Statistical Learning in Computer Vision, ECCV, pp. 1–22 (2004) 2. Deb, K., Pratap, A., Agarwal, S., Meyarivan, T.: A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Trans. Evol. Comput. 6(2), 182–197 (2002) 3. Gabryel, M., Grycuk, R., Korytkowski, M., Holotyak, T.: Image indexing and retrieval using GSOM algorithm. In: Rutkowski, L., Korytkowski, M., Scherer, R., Tadeusiewicz, R., Zadeh, Lotfi A., Zurada, Jacek M. (eds.) ICAISC 2015. LNCS, vol. 9119, pp. 706–714. Springer, Cham (2015). doi:10.1007/978-3-319-19324-3_63 4. Gabryel, M., Capizzi, G.: The bag-of-words method with dictionary analysis by evolutionary algorithm. In: Rutkowski, L., Korytkowski, M., Scherer, R., Tadeusiewicz, R., Zadeh, Lotfi A., Zurada, Jacek M. (eds.) ICAISC 2017. LNCS, vol. 10246, pp. 43–51. Springer, Cham (2017). doi:10.1007/978-3-319-59060-8_5 5. Sivic, J., Russell, B., Efros, A., Zisserman, A., Freeman, W.: Discovering objects and their location in images. In: 2005 Tenth IEEE International Conference on Computer Vision, ICCV 2005, Vol. 1, pp. 370–377 (2005). doi:10.1109/ICCV.2005.77 6. Chang, B.-M., Tsai, H.-H., Chou, W.-L.: Using visual features to design a content-based image retrieval method optimized by particle swarm optimization algorithm. Eng. Appl. Artif. Intell. 26(10), 2372–2382 (2013). doi:10.1016/j.engappai.2013.07.018 7. Nanni, L., Melucci, M.: Combination of projectors, standard texture descriptors and bag of features for classifying images. Neurocomputing 173, 1062–1614 (2015). doi:10.1016/ j.neucom.2015.09.032 8. Lazebnik, S., Schmid, C., Ponce, J.: Beyond bags of features: Spatial pyramid matching for recognizing natural scene categories. In: 2006 IEEE Computer Society Conference on Computer Vision and Pattern Recognition, Vol. 2, pp. 2169–2178 (2006). doi:10.1109/ CVPR.2006.68 9. Li, W., Dong, P., Xiao, B., Zhou, L.: Object recognition based on the region of interest and optimal bag of words model. Neurocomputing 172, 271–280 (2016). doi:10.1016/j.neucom. 2015.01.083 10. Audet, S.: JavaCV. http://bytedeco.org/. Accessed 22 May 2017 11. Bradski, G.: The OpenCV Library, Dr. Dobb’s Journal of Software Tools 12. Fei-Fei, L., Fergus, R., Perona, P.: Learning generative visual models from few training examples: An incremental bayesian approach tested on 101 object categories. In: 2004 Conference on Computer Vision and Pattern Recognition Workshop, CVPRW 2004, pp. 178– 178 (2004). doi:10.1109/CVPR.2004.109 13. Bay, H., Tuytelaars, T., Van Gool, L.: SURF: Speeded up robust features. In: Leonardis, A., Bischof, H., Pinz, A. (eds.) ECCV 2006. LNCS, vol. 3951, pp. 404–417. Springer, Heidelberg (2006). doi:10.1007/11744023_32 14. Woźniak, M.: Novel image correction method based on swarm intelligence approach. In: Dregvaite, G., Damasevicius, R. (eds.) ICIST 2016. CCIS, vol. 639, pp. 404–413. Springer, Cham (2016). doi:10.1007/978-3-319-46254-7_32. ISBN 1865-0929 15. Woźniak, M., Połap, D., Napoli, C., Tramontana, E.: Graphic object feature extraction system based on cuckoo search algorithm. Expert Syst. Appl. 66, 20–31 (2016). doi:10.1016/j.eswa. 2016.08.068. Elsevier

384

M. Gabryel

16. Gabryel, M.: The bag-of-features algorithm for practical applications using the MySQL database. In: Rutkowski, L., Korytkowski, M., Scherer, R., Tadeusiewicz, R., Zadeh, Lotfi A., Zurada, Jacek M. (eds.) ICAISC 2016. LNCS, vol. 9693, pp. 635–646. Springer, Cham (2016). doi:10.1007/978-3-319-39384-1_56 17. Gabryel, M.: A bag-of-features algorithm for applications using a NoSQL database. In: Dregvaite, G., Damasevicius, R. (eds.) ICIST 2016. CCIS, vol. 639, pp. 332–343. Springer, Cham (2016). doi:10.1007/978-3-319-46254-7_26 18. Damaševičius, R., Maskeliūnas, R., Venčkauskas, A., Woźniak, M.: Smartphone user identity verification using gait characteristics. Symmetry 8(10), 1001–10020 (2016). doi:10.3390/ sym8100100 19. Cpalka, K.: A new method for design and reduction of neuro-fuzzy classification systems. IEEE Trans. Neural Netw. 20(4), 701–714 (2009)

Buffer Overflow Duration in a Model of WSN Node with Power Saving Mechanism Based on SV Policy Wojciech M. Kempa(&) Faculty of Applied Mathematics, Institute of Mathematics, Silesian University of Technology, 23 Kaszubska Str., 44-100 Gliwice, Poland [email protected]

Abstract. A model of a wireless sensor network node with power saving mechanism based on single vacation policy is investigated. The input/output traffic is supposed to be described by an MX/G/1/N-type queueing system with finite buffer capacity and batch packets’ arrivals. In the case the queue of packets directed to the node becomes empty the radio transmitter/receiver is switched off for a random and generally distributed period of time (single vacation). During the vacation the transmission of packets via the node is suspended. Using analytical approach, based on the total probability formula, integral equations and linear algebra, the closed-form representation for the cumulative distribution function of the first buffer overflow duration is found. Hence, the corresponding results for next such periods are obtained. Finally, probability distributions of the number of losses in successive buffer overflow periods are derived. Keywords: Buffer overflow  Packet loss policy  Wireless sensor network



Power saving



Single vacation

1 Introduction Wireless sensor networks (WSNs) are commonly used nowadays in control of different-type activities and phenomena, e.g. in fire prevention, road traffic and hospital patients’ monitoring. A typical wireless sensor node is equipped with an energy source (battery), a radio transmitter/receiver and a microprocessor. Since sensors are often located in places being hardly to reach, where the replacement of the battery (or the whole sensor) is problematic and costly, the power saving monitoring is essential one in WSNs. One can observe variety of different-type mechanisms proposed in the literature for power saving modelling. An infinite-buffer M/G/1-type system with multiple vacation policy is considered in [17] as a model of WSN’s node with energy saving. The M/G/1/N-type queueing model of the base station in Mobile WiMAX network is analyzed in [18] according to modelling system vacations. In [1] a queue with repeated vacations is proposed in modelling the node sleep-mode operation. An infinite-capacity M/G/1-type queueing system with the threshold-type policy is investigated as a model of WSN’s node with battery saving mechanism in [9] (compare also [7, 8]). As it can © Springer International Publishing AG 2017 R. Damaševičius and V. Mikašytė (Eds.): ICIST 2017, CCIS 756, pp. 385–394, 2017. DOI: 10.1007/978-3-319-67642-5_32

386

W.M. Kempa

be noted, the analytical results are obtained mainly for performance measures in the steady state of the system. As it seems, however, transient (time-dependent) investigation is often recommended or even necessary, e.g. during the analysis of the model just after a repair, technical break or together with application of the new control algorithm. Besides, in practice, the system behavior can be destabilized, especially in relation to wireless communication, by the phenomena like fade-out or interference. The phenomenon of packet losses is a typical one in packet-oriented networks with finite buffer capacities. Because during the buffer overflow period all the arriving packets are rejected without processing, the knowledge of the probabilistic behavior of successive buffer overflow periods’ durations is essentially important. Besides, the statistical structure of the loss process is important (it makes a difference whether the arriving packets are rejected in long series or not). Results on probability distributions of buffer overflow durations in the finite- and infinite-buffer M/G/1-type models without “perturbations” in access to the service station can be found e.g. in [2–5]. In [6, 19] the system with general independent input flow and single server vacations is considered and optimized by using genetic algorithms. The closed-form formulae for the distributions of the time to buffer overflow are derived in [10, 15], where the GI/M/1/N-type model and the M/G/1/N-type queue with setup and closedown periods are considered, respectively. In [11–14] the nonstationary analysis of queueing systems with single vacation policy (SVP for short) or some other control mechanisms implemented in the service process can be found. In the article we consider the M/G/1/N-type finite-capacity queueing model operating under SVP. Using the analytical approach based on the concept of embedded Markov chain, integral equations and linear algebra, we obtain the explicit formula for the tail of cumulative distribution function (CDF for short) of the first buffer overflow duration, conditioned by the initial buffer state. Hence we obtain similar result for next such periods’ durations. Besides, we get the formulae for the total numbers of losses during successive buffer overflow periods. The paper is organized as follows. In the next section we give the mathematical description of the considered queueing model and necessary notations. In Sect. 3 we obtain the formula for the tail of conditional CDF of the first buffer overflow duration. Section 4 is devoted to next buffer overflow periods and to probability distributions of the number of consecutively lost packets. Finally, the last Sect. 5 contains a short conclusion.

2 Description of Queueing System We deal with the M/G/1/N-type queue in which packets occur according to a Poisson process with intensity k in batches of random sizes and are being processed individually with a CDF FðÞ, according to the FIFO service discipline. The size of the arriving group equals k with probability pk : The capacity of the system equals N packets, i.e. we have N  1 places in the buffer queue and one place “in processing”. The system may start the operation with a number n of packets accumulated in the buffer, where 0  n  N  1: Every time when the server becomes idle, the single server vacation with a general-type CDF VðÞ is being initialized. During the vacation

Buffer Overflow Duration in a Model of WSN Node

387

Fig. 1. The scheme of the considered system’s evolution

period the processing of packets is suspended. At the completion epoch of the vacation period, if there is at least one packet accumulated in the buffer, the service station restarts processing immediately. In the case of empty buffer, the service station remains active and waits for the first packet occurrence (see Fig. 1). If the arriving packet finds the system being saturated, it is lost without processing (see Fig. 2).

Fig. 2. Typical Tail Drop (TD) algorithm using in finite-buffer queues

388

W.M. Kempa

Let us denote by ck ; k  1; the k th buffer overflow duration of the system. We are interested in the explicit formula for the tail of conditional CDF of ck , namely for GðnkÞ ðtÞ ¼ Pfck [ tjX(0 = nÞg; def

ð1Þ

where t [ 0; 0  n  N  1 and X ð0Þ stands for the number of packets accumulated in the buffer queue at the starting epoch t ¼ 0: Moreover, we derive the formula for the conditional distribution of the number hk of packets lost during ck ; so for HnðkÞ ðlÞ ¼ Pfhk ¼ ljX(0 = nÞg; def

ð2Þ

where l  1:

3 First Buffer Overflow Duration Let us start with the first buffer overflow duration, and consider firstly the case of the buffer being empty before the opening of the system. By virtue of the continuous version of total probability formula, we obtain the following equation: ð1Þ

G 0 ðt Þ " Nk1 r Ru N1 R1 P P P ½kðuxÞ j kðuxÞ ð1Þ dV ðuÞ pk kekx pj e Gk þ r ðtÞdx ¼ r j! þ

u¼0 Ru

N P

r¼0

x¼0 k¼1

kj j1 kx pj e F ðt N ðj1Þ! x

j¼0

 u þ xÞdx x¼0 j¼1 N1  1 P P ð1Þ pk G k ð t Þ þ F ð t Þ pk ; þ eku k¼1

def

ð3Þ

k¼N

where F ð xÞ ¼ 1  F ð xÞ: Let us comment (3) in few words. If the system is empty at the starting moment, the server vacation begins at this t ¼ 0: The first summand on the right side of (3) describes the situation in which the buffer does not become saturated before the completion epoch u of the vacation time, however at least one group of packets occurs during the vacation. In the second summand the buffer overflow period starts at time x\u and hence its duration exceeds t if only the processing time of the first packet will be greater than t  u þ x: The last summand on the right side of (3) relates to the case in which the first group of packets arrives after completion of the server vacation. For the system containing n packets at the starting epoch, where 1  n  N  1; applying the total probability formula with respect to the first departure moment after the opening (renewal or Markovian moment), we obtain the following equations:

Buffer Overflow Duration in a Model of WSN Node

Gðn1Þ ðtÞ ¼

k R1 Nn1 P P 0

k¼0

þ

j¼0 R1 y¼0

j

ð1Þ

ðkyÞ ky pj Gn þ k1 ðtÞdF ð yÞ k j! e

dF ð yÞ

389

Ry Nn P x¼0 j¼1

k j1 kx pj e I fy  x [ tgdx; Nn ðj1Þ! x j

ð4Þ

where I f Ag stands for the indicator of the random event A. The first summand on the right side of (4) relates to the case in which the buffer does not become saturated before the first departure occurring at time y [ 0: In the second summand the first buffer overflow period starts at time 0\x\y: Introduce the following functionals: def

ak ¼

Z1 X k j¼0

0

def

Z1

bk ð t Þ ¼

dF ð yÞ

Zy X k j¼1

x¼0

y¼0

def

ck ¼

Z1 X k j¼0

0

def

Z1

d ðt Þ ¼

dV ðuÞ u¼0

ðktÞ j kt e dF ðtÞ; j!

ð5Þ

pj k

kj xj1 ekx I fy  x [ tgdx; ðj  1Þ!

ð6Þ

pj k

Zu X N j¼1

x¼0

pj k

ðktÞj þ 1 kt e dV ðtÞ; ðj þ 1Þ!

pj N

ð7Þ

kj xj1 ekx F ðt  u þ xÞdx: ðj  1Þ!

ð8Þ

Now we can convert the system (3) and (4) into the following one: ð1Þ G 0 ðt Þ

¼

N1 X k¼1

pk

Nk1 X r¼0

ð1Þ c k G k þ r ð t Þ þ v ð kÞ

Gðn1Þ ðtÞ ¼

Nn1 X

0

e

k¼1

ð1Þ pk Gk ðtÞ þ F ðtÞ

1 X

! pk

þ d ðtÞ;

ð9Þ

k¼N

ð1Þ

ak Gn þ k1 ðtÞ þ bNn ðtÞ;

k¼0

def 1 R kt

where 1  n  N  1 and vðkÞ ¼

N1 X

ð10Þ

dV ðtÞ:

Moreover, if we use in (9) and (10) the following substitution: def

ð1Þ

Tn ðtÞ ¼ GNn ðtÞ; 1  n  N; then we obtain for 1  n  N  1

ð11Þ

390

W.M. Kempa n1 X k¼1

ak þ 1 Tnk ðtÞ  Tn ðtÞ ¼ /n ðtÞ;

ð12Þ

where def

/n ðtÞ ¼ T1 ðtÞan  bn ðtÞ;

ð13Þ

and, moreover, TN ðtÞ ¼

N 1 X k¼1

pk

N k X

N 1 X

cNkr Tr ðtÞ þ vðkÞ

r¼1

pk TNk ðtÞ þ F ðtÞ

k¼1

1 X

! pk

þ d ðtÞ:

ð14Þ

k¼N

In [16] it is shown that each solution of the infinite-sized (written for n  1) system of equations of type (12) can be written in the form Tn ðtÞ ¼ M ðtÞRn þ

n X k¼1

Rnk /k ðtÞ;

ð15Þ

where successive terms of the sequence ðRn Þ1 n¼0 can be found from the representations 1 X k¼0

zk Rk ¼

z ; jzj\1; AðzÞ  z

ð16Þ

where def

AðzÞ ¼

1 X

ak z k :

ð17Þ

k¼0

In consequence, to find the representations for successive functions Tn ðtÞ; we need the formulae for T1 ðtÞ (see (13)) and for M ðtÞ. Because the number of equations in (12) is finite, we can use the Eq. (14) as a specific-type boundary condition. Substituting n ¼ 1 into (15), we get T1 ðtÞ ¼ M ðtÞR1 : Implementing (15) in (14) and referring to (18), we obtain

ð18Þ

Buffer Overflow Duration in a Model of WSN Node

M ðtÞRN þ

N P k¼1

ðM ðtÞR1 ak  bk ðtÞÞRNk   N1 Nk P P ¼ ck M ðtÞRNk þ ðM ðtÞR1 ai  bi ðtÞÞRNki i¼1 k¼1   N1 P þ vðkÞ M ðtÞRN1 þ ðM ðtÞR1 ak  bk ðtÞÞRN1k

391

ð19Þ

k¼1

þ d ðtÞ: If we denote def

B 1 ðt Þ ¼

N P k¼1

bk ðtÞRNk 

N1 P k¼1

ck

Nk P i¼1

bi ðtÞRNki  vðkÞ

N1 P k¼1

ð20Þ bk ðtÞRN1k þ d ðtÞ

and  N P B2 ðtÞ ¼ RN þ R1 ak RNk k¼1   N1 Nk P P  ck RNk þ R1 ai RNki i¼1 k¼1  1 N1 P vðkÞ RN1 þ R1 ak RN1k ; def

ð21Þ

k¼1

we can eliminate M ðtÞ from (19) as M ðt Þ ¼

2 Y

Bi ðtÞ:

ð22Þ

i¼1

Now, the formulae (11), (13), (15), (18) and (22) lead to the following main result: Theorem 1. In the MX/G/1/N-type queueing model operating under the SVP the tail Gðn1Þ ðtÞ of CDF of the first buffer overflow duration, conditioned by the number n of packets accumulated in the buffer before the opening can be found as follows: Gðn1Þ ðtÞ

¼

RNn þ R1

N n X k¼1

! ak RNnk

2 Y i¼1

Bi ðtÞ 

N n X

bk RNnk ;

ð23Þ

k¼1

where 0  n  N  1 and the representations for ak ; bk ðtÞ; Rk ; B1 ðtÞ and B2 ðtÞ are given in (5), (6), (16), (20) and (21), respectively.

392

W.M. Kempa

4 Next Buffer Overflow Periods As it can be easily noticed, after finishing each buffer overflow period, due to the fact that the service process is organized “individually”, the number of packets present in the system always equals N  1: In consequence, distribution functions of next buffer overflow periods’ durations ck ; where k  2, are independent on the number of packets accumulated in the buffer at the opening. Moreover, these distributions coincide with the distribution of the first buffer overflow period c1 conditioned by X ð0Þ ¼ N  1: Concluding, from Theorem 1 we get Corollary 1. The CDF of the k th buffer overflow duration for k  2 in the MX/G/1/Ntype model with SVP can be found from the formula ð1Þ

GðkÞ ðtÞ ¼ Pfck [ tg ¼ GN1 ðtÞ ¼ R1

2 Y

Bi ðtÞ;

ð24Þ

i¼1

where 0  n  N  1. The following theorem is a consequence of the fact that the arrival process in the considered queueing system is described by a compound Poisson process with rate k: Theorem 2. Probability mass function HnðkÞ ðlÞ of the number hk of consecutively lost packets during the k th buffer overflow period in the MX/G/1/N-type queueing model with SVP can be found from the following formulae: Hnð1Þ ðlÞ ¼

l X 1 Z

ðktÞ j kt ð1Þ e dGn ðtÞ j!

ð25Þ

l P 1 ðktÞ j kt R pj dGðkÞ ðtÞ l j! e 0 j¼0 l P 1 ð1Þ ðktÞ j kt R pj dGN1 ðtÞ; l j! e 0 j¼0

ð26Þ

0 j¼0

pj l

and HnðkÞ ðlÞ ¼ H ðkÞ ðlÞ ¼ ¼ where 0  n  N  1 and k  2:

5 Conclusion In the article the explicit formulae for the tails of CDFs of successive buffer overflow durations in the MX/G/1/N-type finite-buffer queueing model with SVP are found. Moreover, probability mass functions of the number of losses in successive buffer overflow periods are derived. The investigated system can be used in modelling of energy saving mechanism in nodes of WSN. The analytical methods is based on the concept of embedded Markov chain, integral equations and linear algebraic approach.

Buffer Overflow Duration in a Model of WSN Node

393

References 1. Alouf, S., Altman, E., Azad, A.: M/G/1 queue with repeated inhomogeneous vacations applied to IEEE 802.16e power saving. In: Proceedings of ACM SIGMETRICS 2008, Performance Evaluation Review, vol. 36, pp. 451–452 (2008) 2. de Boer, P.T., Nicola, V.F., van Ommeren, J.C.W.: The remaining service time upon reaching a high level in M/G/1 queues. Queueing Syst. 39, 55–78 (2001) 3. Chae, K.C., Kim, K., Kim, N.K.: Remarks on the remaining service time upon reaching a target level in the M/G/1 queue. Oper. Res. Lett. 35, 308–310 (2007) 4. Chydziński, A.: On the remaining service time upon reaching a target level in M/G/1 queues. Queueing Syst. 47, 71–80 (2004) 5. Fakinos, D.: The expected remaining service time in a single server queue. Oper. Res. 30, 1014–1018 (1982) 6. Gabryel, M., Nowicki, Robert K., Woźniak, M., Kempa, W.M.: Genetic cost optimization of the GI/M/1/N finite-buffer queue with a single vacation policy. In: Rutkowski, L., Korytkowski, M., Scherer, R., Tadeusiewicz, R., Zadeh, L.A., Zurada, J.M. (eds.) ICAISC 2013. LNCS, vol. 7895, pp. 12–23. Springer, Heidelberg (2013). doi:10.1007/978-3-64238610-7_2 7. Jiang, F.-C., Huang, D.-C., Wang, K.-H.: Design approaches for optimizing power consumption of sensor node with N-policy M/G/1. In: Proceedings of QTNA 2009, Singapore, 29–31 July 2009 (2009) 8. Jiang, F.-C., Huang, D.-C., Yang, C.-T., Wang, K.-H.: Mitigation techniques for the energy hole problem in sensor networks using N-policy M/G/1 queueing models. In: Proceedings of the IET International Conference: Frontier Computing: Theory, Technologies and Applications 2010, Taichung, 4–6 August 2010 (2010) 9. Jiang, F.-C., Huang, D.-C., Yang, C.-T., Leu, F.-Y.: Lifetime elongation for wireless sensor network using queue-based approaches. J. Supercomput. 59, 1312–1335 (2012) 10. Kempa, W.M.: On the distribution of the time to buffer overflow in a queueing system with a general-type input stream. In: 35th International Conference on Telecommunication and Signal Processing (TSP 2012), Prague, Czech Republic, 3–4 July 2012, Piscataway, pp. 207–211 (2012) 11. Kempa, W.M.: On transient queue-size distribution in the batch-arrivals system with a single vacation policy. Kybernetika 50, 126–141 (2014) 12. Kempa, W.M.: On queueing delay in WSN with energy saving mechanism based on queued wake up. In: Mustra, M., et al. (eds.) Proceedings of 21st International Conference on Systems, Signals and Image Processing (IWSSIP 2014), Dubrovnik, Croatia, 12–15 May 2014, Zagreb, pp. 187–190 (2014) 13. Kempa, W.M.: Time-dependent analysis of transmission process in a wireless sensor network with energy saving mechanism based on threshold waking up. In: IEEE 16th International Workshop on Signal Processing Advances in Wireless Communications (SPAWC 2015), Stockholm, Sweden, June 28–July 1, 2015, Piscataway, pp. 26–30 (2015) 14. Kempa, W.M.: Transient workload distribution in the M/G/1 finite-buffer queue with single and multiple vacations. Ann. Oper. Res. 239, 381–400 (2016) 15. Kempa, W.M., Paprocka, I.: Time to buffer overflow in a finite-capacity queueing model with setup and closedown times. In: Świątek, J., Wilimowska, Z., Borzemski, L., Grzech, A. (eds.) Information Systems Architecture and Technology: Proceedings of 37th International Conference on Information Systems Architecture and Technology – ISAT 2016 – Part III. AISC, vol. 523, pp. 215–224. Springer, Cham (2017). doi:10.1007/978-3-319-46589-0_17

394

W.M. Kempa

16. Korolyuk, V.S.: Boundary-value problems for compound Poisson processes. Naukova Dumka, Kiev (1975) 17. Mancuso, V., Alouf, S.: Analysis of power saving with continuous connectivity. Comput. Netw. 56, 2481–2493 (2012) 18. Seo, J., Lee, S., Park, N., Lee, H., Cho, C.: Performance analysis of sleep mode operation in IEEE 802.16e. In: Proceedings of IEEE VTC 2004-Fall, Los Angeles, vol. 2, pp. 1169–1173 (2004) 19. Woźniak, M., Kempa, W.M., Gabryel, M., Nowicki, R.: A finite-buffer queue with a single vacation policy: an analytical study with evolutionary positioning. Int. J. Appl. Math. Comput. Sci. 24, 887–900 (2014)

Departure Counting Process in a Wireless Network Node with Sleep Mode Modelled via Repeated Vacations Wojciech M. Kempa(&) and Rafał Marjasz Faculty of Applied Mathematics, Institute of Mathematics, Silesian University of Technology, 23 Kaszubska Str, 44-100 Gliwice, Poland {wojciech.kempa,rafal.marjasz}@polsl.pl

Abstract. A finite-capacity queueing model with Poisson packet arrivals and generally-distributed processing times is investigated. The system operates under the multiple vacation policy, i.e. every time when the server becomes idle a number of independent vacation times is initialized until at least one packet is accumulated in the buffer. Using the analytical approach based on the concept of embedded Markov chain and total probability law, the explicit representation for the mixed double transform of the probability distribution of the number of packets completely processed until the given time t is found. Hence the mean number of departures in a fixed-length time period can be obtained easily. The considered queueing system can be efficiently used in modelling the nodes in wireless telecommunication networks, where the multiple vacation policy is a kind of energy saving mechanism. An illustrating numerical example is attached. Keywords: Departure process  Finite buffer vacation policy  Wireless communication



Markov chain



Multiple

1 Introduction Queueing systems with finite buffer capacities have wide network applications, in particular in modelling network nodes’ operation. Due to the fact that the energy saving problem is one of the most essential in wireless communication, systems with different-type limitations in the access to the service station are of particular importance. Evidently, each busy period of the queueing system may correspond to the active mode and, similarly, each idle time may correspond to the sleep mode in the operation of wireless network node (e.g. in sensor network). Different mechanisms are proposed in the literature for supporting power saving modelling. One of them is the so called multiple vacation policy (MVP in short). The idea of MVP is in that the node (more precisely, the radio transmitter/receiver of the node), every time when the queue of packets directed to the node empties, initializes a number of repeated independent vacation periods, until at the end of one of them at least one packet accumulated in the buffer is detected. An infinite-buffer M/G/1-type queue with repeated (multiple) server vacations is proposed e.g. in [19] as a model of Type I power-saving mode in IEEE 802.16e standard, and some performance measures are derived there (compare also [4, 20]). © Springer International Publishing AG 2017 R. Damaševičius and V. Mikašytė (Eds.): ICIST 2017, CCIS 756, pp. 395–407, 2017. DOI: 10.1007/978-3-319-67642-5_33

396

W.M. Kempa and R. Marjasz

As one can observe, analytical results obtained for different-type queueing models with different service limitations relate mainly to the stable queues, i.e. to the stochastic characteristics in the case of t ! 1. However, quite often time-dependent analysis of the system behavior seems to be more desired, in particular due to the high variability network traffic, e.g. in TCP/IP connections. Moreover, in rare traffic (like in some wireless sensor networks) the system stabilizes longer, so the investigation of its performance shortly after the opening or the application of a new control mechanism requires transient analysis (at fixed time t). In the paper we deal with the transient departure process in the M/G/1-type queueing model of the wireless network node with the mechanism of energy saving based on MVP. The departure process at any fixed time epoch t takes a random value equal to the number of packets completely processed by the node until t and is one of the most important stochastic characteristics of each queueing model. Indeed, in network applications, the departure process from one node corresponds to the arrival process to the next node. Applying the analytical approach based on the idea of embedded Markov chain and total probability law, the explicit representation for the mixed double transform of the probability distribution of the number of packets completely processed until the given time t is found. Hence the mean number of departures in a fixed-length time period can be obtained easily. The bibliography on transient departure process analysis is rather modest. In [8] a stationary-case joint density function of k successive departure intervals is obtained in the M/G/1/N system. Some results related to the service process in the MX/G/1/N model are derived in [5]. In [9] a technique based on the of resolvent sequences of the process being the difference of a compound Poisson process and a compound general-type renewal process is proposed in the case of finite systems. Transient results for the departure process in the case of the system with batch arrivals and infinite queue can be found in [10], and in [11, 12], where additionally multiple and single vacation policies are analyzed. Analytical results for the transient departure counting process in some other queueing models with different-type limitations in the access to server can be found in [13–17]. The remaining part of the article is organized as follows. In the next section we give the detailed description of the considered queueing system. In Sect. 3 we build a system of equations for conditional departure process. The main result, namely the solution of the corresponding system written for double transforms, is stated in Sect. 4. In Sect. 5 we discuss the mean number of departures as a consequence of the result from previous section. Finally, the last section contains examples of numerical results.

2 Queueing System We deal with an M/G/1/N-type queueing system in which packets arrive according to a Poisson process with rate k and are being processed individually under the FIFO service discipline. The processing time is assumed to be generally-distributed with cumulative distribution function (CDF in short) F ðÞ and Laplace-Stieltjes transform

Departure Counting Process in a Wireless Network Node

397

(LST in short) f ðÞ. The number of packets that are allowed to be present in the system simultaneously is bounded by a non-random value N; so there are N  1 places in the buffer queue and one place in the processing station (service unit). Whenever the system becomes empty an MVP is initialized, during which successive vacations are being started, one by one, until at least one job accumulated in the buffer is detected at the completion epoch of one of them. We assume that all the vacations are independent and identically distributed random variables with a common general-type CDF GðÞ with LST gðÞ. Let us denote by hðtÞ the (random) number of packets completely processed up to the fixed time t (departure process). We are interested in the explicit compact-form representation for the double transform of the probability distribution of hðtÞ, i.e. for the functional ~hn ðs; zÞ def ¼

1 X m¼0

zm

1 Z

est PfhðtÞ ¼ mjX ð0Þ ¼ ngdt;

ð1Þ

0

where jzjh1;