Lecture Notes on Data Engineering and Communications Technologies 40 Aneta Poniszewska-Marańda Natalia Kryvinska Stanisław Jarząbek Lech Madeyski Editors Data-Centric Business and Applications Towards Software Development (Volume 4) Lecture Notes on Data Engineering and Communications Technologies Volume 40 Series Editor Fatos Xhafa, Technical University of Catalonia, Barcelona, Spain Theaimofthebookseriesistopresentcuttingedgeengineeringapproachestodata technologiesandcommunications.Itwillpublishlatestadvancesontheengineering taskofbuildinganddeployingdistributed,scalableandreliabledatainfrastructures and communication systems. The series will have a prominent applied focus on data technologies and communications with aim to promote the bridging from fundamental research on data science and networking to data engineering and communications that lead to industry products, business knowledge and standardisation. ** Indexing: The books of this series are submitted to ISI Proceedings, MetaPress, Springerlink and DBLP ** More information about this series at http://www.springer.com/series/15362 ń Aneta Poniszewska-Mara da Natalia Kryvinska (cid:129) (cid:129) ł ą Stanis aw Jarz bek Lech Madeyski (cid:129) Editors Data-Centric Business and Applications Towards Software Development (Volume 4) 123 Editors Aneta Poniszewska-Marańda Natalia Kryvinska Institute of Information Technology Department ofe-Business, Faculty Lodz University of Technology of Business,Economics andStatistics Łódź,Poland University of Vienna Vienna,Wien, Austria Stanisław Jarząbek Faculty of Computer Science Lech Madeyski Bialystok University of Technology Faculty of Computer Science Białystok,Poland andManagement Wrocław University of Science andTechnology Wrocław,Poland ISSN 2367-4512 ISSN 2367-4520 (electronic) Lecture NotesonDataEngineering andCommunications Technologies ISBN978-3-030-34705-5 ISBN978-3-030-34706-2 (eBook) https://doi.org/10.1007/978-3-030-34706-2 ©SpringerNatureSwitzerlandAG2020 Thisworkissubjecttocopyright.AllrightsarereservedbythePublisher,whetherthewholeorpart 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 orinformationstorageandretrieval,electronicadaptation,computersoftware,orbysimilarordissimilar methodologynowknownorhereafterdeveloped. The use of general descriptive names, registered names, trademarks, service marks, etc. in this publicationdoesnotimply,evenintheabsenceofaspecificstatement,thatsuchnamesareexemptfrom therelevantprotectivelawsandregulationsandthereforefreeforgeneraluse. The publisher, the authors and the editors are safe to assume that the advice and information in this book are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or the editors give a warranty, expressed or implied, with respect to the material contained hereinorforanyerrorsoromissionsthatmayhavebeenmade.Thepublisherremainsneutralwithregard tojurisdictionalclaimsinpublishedmapsandinstitutionalaffiliations. ThisSpringerimprintispublishedbytheregisteredcompanySpringerNatureSwitzerlandAG Theregisteredcompanyaddressis:Gewerbestrasse11,6330Cham,Switzerland Preface With the fourth volume we continue to analyze challenges and opportunities for doing business with information emphasizing development of the software from differentpointsofview.Wecoveralsomethodsandtechniques,aswellasstrategies for the efficient software production toward business information processing and management. Explicitly, starting with the first chapter “Towards a Unified Requirements Model for Distributed High Performance Computing”, the authors discuss the conceptualmodel,functionalscope,andresearchagendaforcreatingandvalidating aDistributedHigh-PerformanceComputing(DHPC)softwaredevelopmentsystem that fulfills defined requirements. A generic requirements model consisting of a conceptual domain specification, unified domain vocabulary, and use-case-based functional requirements is proposed. Vocabulary definition provides detailed clar- ifications of HPC fundamental component elements and their role in the system. Moreover, the authors describe the security issues by providing transparency principles for HPC. A research agenda that leads to the creation of a model-based softwaredevelopmentsystemdedicatedtobuildingDistributedHPCapplicationsat a high level of abstraction is also proposed. Inthenextchaptertitled“RequirementEngineeringasaSoftwareDevelopment Process”,definitionofmodelofrequirementsmanagementplatformaimedatAgile practitioners to bridge the gap between source code tooling and requirements engineering is given. The chapter describes a requirements management tool, incorporating software development practices into requirements engineering. The authors’aimistoprovideanopenarchitectureforvariousrequirementsengineering activitiesbyproposingamappingofvariousaspectsofsoftwaredevelopmentbased on Continuous Integration to requirements engineering and describing a prototype of requirements management tool built to validate the proposed concept. In the work called “Information Management System for an Administrative Office with RFID-Tagged Classified Documents”, the authors present the devel- opment of system for electronic and paper document traceability based on RFID tags. Starting from describing the system architecture for the RFID-equipped restrictedaccessadministrativeoffice,thechapterdealswithhardwareandsoftware v vi Preface components as well as business and simulation models which are the result of analytical work performed by the group of experts. Such group was composed of specialist in different fields, such as document management, IT, data security, and radiofrequencyidentificationtodevelopandevaluatethesystempropositionbased on computer simulation. The chapter authored by Bogumiła Hnatkowska and Martyna Litkowska, “Framework for Processing Behavioral Business Rules Written in a Controlled NaturalLanguage”presentstheideaofprocessingthebehavioralbusinessrulesthat were written in controlled natural language that is highly recommended to be understandableforallinterestedparties.Thepaperpresentsthestateofaframework for business rules processing to be able to serve the business rules written in controlled language. As the authors mentioned, there exists a very limited number of solutions enabling processing business rules expressed that way. The proof-of- conceptimplementationthatprovedthecorrectnessandusefulnessoftheproposed approach was also presented. “Software Defect Prediction Using Bad Code Smells: A Systematic Literature Review” presents the state of the art in the field of fault prediction models that include code smell information—the authors give the current state of the art in the fieldofbugpredictionwiththeuseofcodesmellsandattempttoidentifytheareas requiringfurtherresearch.Toachievethisgoal,asystematicliteraturereviewof27 researchpapers published between 2006and2019wasconducted.Foreachpaper, thereportedrelationshipbetweensmellinessandbugginesswasanalyzed,aswellas theperformanceofcodesmelldatausedasadefectpredictorinmodelsdeveloped using machine learning techniques was evaluated. The results of this investigation confirm that code smells are positively correlated with software defects and can positively influence the performance offault detection models. The chapter “Software Development Artifacts in Large Agile Organizations: A Comparison of Scaling Agile Methods” focuses on higher complexity related to multiple value streams development pipelines orchestration, communications among many distributed teams, inter-team dependencies management, and infor- mation flow between teams. The purpose of the authors is to compare the possible agile frameworks for scaling development organizations working in an agile cul- ture, and their outcomes materialized as artifacts. The work entitled “Tabu Search Algorithm for Vehicle Routing Problem with Time Windows” emphases the transportation as an important task in the society because economies of modern world are based on internal and foreign trade. The authorfocusesononeoftheproblemsinthefieldoftransportationwhichisVehicle Routing Problem (VRP) proposing the solution to some aspects of it using the general vehicle routing heuristics needed for real-life problems. One of them is Tabu Search that is presented as an efficient algorithm to solve Vehicle Routing Problem with Time Windows constraint. The optimistic and interesting results of using the algorithms for benchmark cases were also presented. Moreover, the obtained results were compared with world’s best values to show that the imple- mentation of heuristic has improved the best known solutions to benchmark cases for many problems. Preface vii In the chapter authored by Hanna Grodzicka, Arkadiusz Ziobrowski, Zofia Łakomiak,MichałKawa, and Lech Madeyski,“Code Smell Prediction Employing Machine Learning Meets Emerging Java Language Constructs” contributes to definition of code smell that recognition tends to be highly subjective. However, there exist some code smells detection tools and some of them use the machine learning techniques to overcome the disadvantages of automatic detection tools. The main purpose of the authors was to develop a research infrastructure and reproduce the process of code smell prediction proposed by Arcelli Fontana et al. To do that they investigatedmachine learning algorithms performance for samples including major modern Java language features. This study was performed with dataset of 281 Java projects. The detection rules derived from the best performing algorithms incorporated newly introduced metrics that were described. The next chapter “Cloud Cognitive Services Based on Machine Learning Methods in Architecture of Modern Knowledge Management Solutions” presents the concept of cloud cognitive services as cloud computing services available to help developers to build the intelligent applications based on Machine Learning methodswithpretrainedmodelsasaservice.Currently,MachineLearningplatform is one of the fastest growing services of the cloud because machine learning and artificial intelligence platforms are available through diverse delivery models such ascognitivecomputing,automatedmachinelearning,andmodelmanagement.The authorproposesanewcognitiveservicebasedapproachtobuildanarchitectureof knowledge management system. The possibilities of using cognitive service were analyzed and some of the relevant aspects of cloud cognitive service and machine learning in knowledge management context were discussed. In the next chapter titled “Anti-Cheat Tool for Detecting Unauthorized User InterferenceintheUnityEngineUsingBlockchain”,theconceptofblockchainwas used for security aspects such as detecting of unauthorized user interference in the Unity engine.Themainaimoftheauthorswastoanalyzetheproblemofcheating in online games and to design a comprehensive tool for the Unity engine that detectsandprotectstheapplicationsagainstunauthorizedinterferencebyauser.To do that, the basic functions such as detecting and blocking of unauthorized inter- ference in the device’s memory, detecting the modification of the speed of time flowing the game, and detecting time changes in the operating system were intro- duced. The analysis of current potential of blockchain technology as a secure database for the game was also presented. In the chapter “Approaches to Business Analysis in Scrum at StepStone—Case Study”,theauthordiscussesthepossibilitiesofusingtheagilemethodsfordifferent areas of a business analysis because the opinions about the role of a Business Analyst in Agile teams vary greatly—from negation of its existence to acceptance of a business analyst as a team member, working side by side with programmers. The author presents his own experience is this domain, experimented with several modelsofteamorganization,withorwithoutdedicatedBAs.Twomostprominent casesarepresented:whentheBAwasafull-timememberofthedevelopmentteam andwhen theBA’srolewas distributed between otherteam members—developers and Product Owner. Moreover, the advantages, disadvantages, and the transition viii Preface process are discussed together with the techniques to help in development of necessary analytical skills and transforming team organization. The chapter called “Development Method of Innovative Projects in Higher Education Based on Traditional Software Building Process” refines the earlier establishedmetricsofprojectqualityandprojectefficiency,categorizesthemalong the proposed success dimensions, providing the necessary adaptations for an aca- demicsettingandgeneralizingthemsothattheycanbeappliedtoabroadspectrum of student software undertakings. The authors focus on the students’ projects and their success metrics such as three dimensions of success that have been elicited basingonpriorindustrialstudies:projectquality,projectefficiencyaswellassocial factors (teamwork quality and learning outcomes). A further chapter “Light-Weight Congestion Control for the DCCP: Implementation in the Linux Kernel” aims to present the prototype implementa- tion of the light-weight DCCP’s congestion control algorithm, designed for mul- timedia transmission. This algorithm was based on the RTP linear throughput equation and the prototype implementation in the Linux kernel includes a new congestion control module and updates to the DCCP kernel API. The implemen- tation was tested and the results of the tests were presented by the authors. And, the final chapter “Light-Weight Congestion Control for the DCCP: Implementation in the Linux Kernel” presents the prototype implementation of modified TFRC congestion control, designed for multimedia transmission. The described implementation in Linux kernel includes both a new congestion control module and updates to the DCCP kernel API. The proposed solution causes the DCCP to be not fully TCP-friendly, but still remains TCP-tolerant and does not cause unnecessary degradation of competing TCP flows. Łódź, Poland Aneta Poniszewska-Marańda [email protected] Vienna, Austria Natalia Kryvinska [email protected] Białystok, Poland Stanisław Jarząbek [email protected] Wrocław, Poland Lech Madeyski [email protected] Contents Towards a Unified Requirements Model for Distributed High Performance Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Michał Śmiałek, Kamil Rybiński, Radosław Roszczyk and Krzysztof Marek Requirement Engineering as a Software Development Process. . . . . . . . 21 Pawel Baszuro and Jakub Swacha Information Management System for an Administrative Office with RFID-Tagged Classified Documents . . . . . . . . . . . . . . . . . . . . . . . . 41 Robert Waszkowski and Tadeusz Nowicki Framework for Processing Behavioral Business Rules Written in a Controlled Natural Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Bogumiła Hnatkowska and Martyna Litkowska Software Defect Prediction Using Bad Code Smells: A Systematic Literature Review. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 Paweł Piotrowski and Lech Madeyski Software Development Artifacts in Large Agile Organizations: A Comparison of Scaling Agile Methods . . . . . . . . . . . . . . . . . . . . . . . . 101 Ewelina Wińska and Włodzimierz Dąbrowski Tabu Search Algorithm for Vehicle Routing Problem with Time Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 Joanna Ochelska-Mierzejewska CodeSmellPredictionEmployingMachineLearningMeetsEmerging Java Language Constructs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 Hanna Grodzicka, Arkadiusz Ziobrowski, Zofia Łakomiak, Michał Kawa and Lech Madeyski ix