Allgemein
PHP 8 Objects, Patterns, and Practice
Learn how to develop elegant and rock-solid systems using PHP, aided by three key elements: object fundamentals, design principles, and best practices. The 6th edition of this popular book has been fully updated for PHP 8, including attributes, constructor property promotion, new argument and return pseudo-types, and more. It also covers many features new since the last edition including typed properties, the null coalescing operator, and void return types. This book provides a solid grounding in PHP's support for objects, it builds on this foundation to instill core principles of software design and then covers the tools and practices needed to develop, test, and deploy robust code.PHP 8 Objects, Patterns, and Practice begins by covering PHP's object-oriented features. It introduces key topics including class declarations, inheritance, and reflection. The next section is devoted to design patterns. It explains the principles that make patterns powerful. You’ll cover many of the classic design patterns including enterprise and database patterns. The last segment of the book covers the tools and practices that can help turn great code into a successful project. The section shows how to manage multiple developers and releases with git, and how to manage builds and dependencies with Composer. It also explores strategies for automated testing and continuous integration.After reading and using this book, you will have mastered object-oriented enhancements, design patterns, and the essential development tools available for PHP 8.WHAT YOU WILL LEARN* Work with object fundamentals: write classes and methods, instantiate objects, and create powerful class hierarchies using inheritanceMaster advanced object-oriented features, including static methods and properties, managing error conditions with exceptions, and creating abstract classes and interfaces * Understand and use design principles to deploy objects and classes effectively in your projects* Discover a set of powerful patterns that you can implement in your own projects* Guarantee a successful project including unit testing; version control and build, installation, and package management; and continuous integrationWHO THIS BOOK IS FORAnyone with at least a basic knowledge of PHP who wants to use its object-oriented features in their projects. It is also for PHP coders who want to learn about the practices and tools (version control, testing, continuous integration, etc) that can make projects safe, elegant and stable.MATT ZANDSTRA has worked as a web programmer, consultant, and writer for over two decades. He is the author of SAMS Teach Yourself PHP in 24 Hours (three editions) and is a contributor to DHTML Unleashed. He has written articles for Linux Magazine, Zend, IBM DeveloperWorks, and php|architect Magazine, among others. Matt was a senior developer/tech lead at Yahoo and API tech lead at LoveCrafts. Matt works as a consultant advising companies on their architectures and system management, and also develops systems primarily with PHP, and Java. Matt also writes fiction.Part I. Objects.-1. PHP: Design and Management.-2. PHP and Objects.-3. Object Basics.-4. Advanced Features.-5. Object Tools.-6. Objects and Design.-Part II. Patterns.-7. What Are Design Patterns? Why Use Them?.-8. Some Pattern Principles.-9. Generating Objects.-10. Patterns for Flexible Object Programming.-11. Performing and Representing Tasks.-12. Enterprise Patterns.-13. Database Patterns.-Part III. Practice.-14. Good (and Bad) Practice.-15. PHP Standards.-16. PHP Using and Creating Components with Composer.-17. Version Control with Git.-18. Testing.-19. Automated Build with Phing.-20. Vagrant.-21. Continuous Integration.-22. Objects, Patterns, and Practice.-23. App A: Bibliography.-24. App B: A Simple Parser.
Visualizing Data in R 4
Master the syntax for working with R’s plotting functions in graphics and stats in this easy reference to formatting plots. The approach in Visualizing Data in R 4 toward the application of formatting in ggplot() will follow the structure of the formatting used by the plotting functions in graphics and stats. This book will take advantage of the new features added to R 4 where appropriate including a refreshed color palette for charts, Cairo graphics with more fonts/symbols, and improved performance from grid graphics including ggplot 2 rendering speed.Visualizing Data in R 4 starts with an introduction and then is split into two parts and six appendices. Part I covers the function plot() and the ancillary functions you can use with plot(). You’ll also see the functions par() and layout(), providing for multiple plots on a page. Part II goes over the basics of using the functions qplot() and ggplot() in the package ggplot2. The default plots generated by the functions qplot() and ggplot() give more sophisticated-looking plots than the default plots done by plot() and are easier to use, but the function plot() is more flexible. Both plot() and ggplot() allow for many layers to a plot.The six appendices will cover plots for contingency tables, plots for continuous variables, plots for data with a limited number of values, functions that generate multiple plots, plots for time series analysis, and some miscellaneous plots. Some of the functions that will be in the appendices include functions that generate histograms, bar charts, pie charts, box plots, and heatmaps.WHAT YOU WILL LEARN* Use R to create informative graphics* Master plot(), qplot(), and ggplot()* Discover the canned graphics functions in stats and graphicsFormat plots generated by plot() and ggplot()WHO THIS BOOK IS FORThose in data science who use R. Some prior experience with R or data science is recommended.Margot Tollefson, PhD is a semi-retired freelance statistician, with her own consulting business, Vanward Statistics. She received her PhD in statistics from Iowa State University and has many years of experience applying R to statistical research problems. Dr. Tollefson has chosen to write this book because she often creates graphics using R and would like to share her knowledge and experience. Her professional blog is on WordPress at vanwardstat. Social media: @vanstat1) Introduction: plot(), qplot(), and ggplot(), Plus Somea) plot() – arguments, ancillary functions, and methods; par() and layout()b) qplot() and ggplot() – aesthetics, geometries, and other useful functionsc) other plotting functions in graphics and statsPart I. An Overview of plot()2) The plot() Functiona) what the function is and how the function worksb) will use method .xy for example3) The Arguments to plot()a) Type of plot, axis labels, plot titles, display formatb) Plotting characters, character size, fonts, colors, line styles and widths4) Ancillary Functions to use with plot()a) axis(), box(), clip(), grid(), legend(), mtext(), rug()b) abline(), contour(), curve(), lines(), polypath()c) arrows(), image(), points(), polygon(), rect(), segments(), symbols(), text()d) axTicks(), identify(), locator(), pch(), strwidth(),5) The Methods for plot()a) What are methods?b) Methods in the graphics packagec) Methods in the stats package6) How to Use the Functions par() and layout()a) What par() doesb) Arguments specific to par()c) Multiple plotsPart II. A look at the ggplot2 Package7) The Functions qplot(), ggplot(), and the Specialized Notation in ggplot2a) Working with qplot()b) The ggplot() functionc) Specialized notation8) Themesa) The theme() functionb) The element_*() functions9) Aesthetics and Geometriesa) The aes() functionb) The geom_*() functions10) Controlling the Appearancea) The annotate_*() functionsb) The coord_*() functionsc) The facet_*() functionsd) The guide_*() functionse) The position_*() functionsf) The scale_*() functionsg) The stat_*() functionsAppendix I. Plots for Contingency TablesAppendix II. Plots for Continuous VariablesAppendix III. Plots for Data with a Limited Number of ValuesAppendix IV. Functions that Generate Multiple PlotsAppendix V. Plots for Time SeriesAppendix VI. Miscellaneous Plots
R2DBC Revealed
Understand the newest trend in database programming for developers working in Java, Kotlin, Clojure, and other JVM-based languages. This book introduces Reactive Relational Database Connectivity (R2DBC), a modern way of connecting to and querying relational databases from Java and other JVM languages. The book begins by helping you understand not only what reactive programming is, but why it is necessary. Then building on those fundamentals, the book takes you into the world of databases and the newly released Reactive Relational Database Connectivity (R2DBC) specification.Examples in the book are worked using the freely available MariaDB database along with MariaDB’s vendor-implementation of the R2DBC service-provider interface (SPI). Following along with the examples and the provided example code helps prepare you to work with any of the growing number of R2DBC implementations for popular enterprise databases such as Oracle Database and SQL Server. You’ll be well prepared for what is becoming the future of database access from Java and other languages built on the JVM.WHAT YOU WILL LEARN* Understand why R2DBC was created and how it utilizes the Reactive Streams API * Understand the components of the R2DBC service-provider interface* Create and manage reactive database connections and connection pools using an R2DBC client* Programmatically execute queries on a relational database using an R2DBC client* Effectively utilize transactions using an R2DBC client* Build relational database-driven applications that are event-driven and non-blockingWHO THIS BOOK IS FORSoftware developers building solutions using JVM languages and the JVM ecosystem, and developers who need an introduction to the R2DBC specification and reactive programming with relational databases and want to understand what Reactive Relational Database Connectivity is and why it came about. This book includes practical examples of using the R2DBC specification with Java and MariaDB that will provide developers with the knowledge they need to create their own solutions.ROB HEDGPETH is a professional software engineer and developer relations enthusiast residing in the bustling metropolis of Chicago, Illinois. Rob has more than 12 years of professional development experience, primarily in the application development space. Throughout the years he has contributed to the architecture and development of many apps, using a large array of languages and technologies. Now as a developer advocate and evangelist for MariaDB, Rob gets to combine his love for technology with his mission to fuel developers' curiosity and passion. IntroductionPART I. THE REACTIVE MOVEMENT AND R2DBC1. The Case for Reactive Programming2. Introduction to R2DBCPART II. THE R2DBC SERVICE-PROVIDER INTERFACE3. The Path to Implementation4. Connections5. Transactions6. Statements7. Handling Results8. Result Metadata9. Mapping Data Types10. Handling ExceptionsPART III. GETTING STARTED WITH R2DBC AND MARIADB11. Getting Stated with R2DBC12. Managing Connections13. Managing Data14. Managing Transactions15. Connection Pooling16. Practical Applications with Spring Data and R2DBC
Big Data Analytics
Mit diesem Herausgeberwerk führen die Autoren den Begriff „Big Data Analytics“ ein und geben Fallstudien aus unterschiedlichen Anwendungsgebieten. Unter Big Data Analytics wird das Aufbereiten, Analysieren und Interpretieren von großen, oft heterogenen Datenbeständen verstanden, mit dem Ziel, Muster und Zusammenhänge in den Daten aufzudecken und Entscheidungsgrundlagen für wissenschaftliche, betriebliche oder gesellschaftliche Fragestellungen zu erhalten.Nebst den theoretischen Grundlagen widmet sich das Herausgeberwerk der Vielfalt verschiedener Anwendungsmöglichkeiten. Fallbeispiele geben Einblick in die Anwendung von Big Data Analytics und dessen Nutzenpotenziale.Das Werk richtet sich gleichermaßen an Studierende, Fachleute aller Fachrichtungen als auch an interessierte Anwender. Es hilft den Leserinnen und Leser, die Bedeutungsvielfalt des Begriffs Big Data Analytics zu verstehen und verschiedene Einsatzmöglichkeiten im eigenen Umfeld zu erkennen und zu bewerten.SARA D'ONOFRIO ist IT Business Partner Manager eines der größten Detailhandelsunternehmen der Schweiz, Autorin und Herausgeberin der Zeitschrift HMD - Praxis der Wirtschaftsinformatik bei Springer, Gastdozentin an Hochschulen und Mitglied der Stiftung FMsquare, welche die Anwendung von Fuzzy-Logik zur Lösung von wirtschaftlichen und sozialen Problemen fördert. Sie hat Betriebswirtschaft und Wirtschaftsinformatik studiert und in Informatik promoviert.ANDREAS MEIER hat Musik an der Musikakademie in Wien und Mathematik an der Eidgenössischen Technischen Hochschule (ETH) in Zürich studiert, wo er doktorierte und habilitierte. Er arbeitete bei IBM Schweiz, gehörte zum Direktionskader der internationalen Bank SBV und trug Mitverantwortung in der Geschäftsleitung des Versicherers CSS. In der Forschung war er am IBM Research Lab in Kalifornien tätig und gründete das Research Center Fuzzy Management Methods an der Universität Fribourg in der Schweiz.Grundlagen - Textanalyse - Machine Learning - Prädiktive Modelle - Trendforschung
Robotic Process Automation using UiPath StudioX
Learn about Robotic Processing Automation (RPA) and how to build bots using UiPath. This book uses hands-on examples to explain the basics of UiPath and then walks you through real-world prototypes for testing your knowledge.Organizations around the world are implementing RPA in some capacity, and there is a shortage of RPA developers in the market. Analysts predict that the RPA market size will be worth $4 Billion by 2025. With UiPath as one of the three major players in the RPA market, professionals and students can use this book to get ahead of the curve.This book helps you kick-start your automation journey with a special focus on one of the most popular RPA tools: UiPath. Robotic Process Automation using UiPath explains in detail the various features and functionalities of the RPA platform including development, debugging, and error handling.WHAT YOU'LL LEARN* Create robots from scratch, using one of the market leaders in RPA* Develop automation apps and deploy them to all the computers in your department* Build, test and perform enterprise automation tasks with UiPath* Understand the key building blocks and components of UiPath * Apply UiPath programming techniques to deploy robot configurations* Review email Automation* Automate Excel and PDF interactionsWHO THIS BOOK IS FORRPA developers and business users alike, bringing the power and skill set of automation to anyone interested in citizen-led development, specifically UiPath StudioX. The simple exercises and no-code platform require no prior programming or RPA knowledge to follow along with this beginner's guide.ADEEL JAVED is an intelligent automation architect, an author, and a speaker. He helps organizations automate work using low-code, business process management (BPM), robotic process automation (RPA), analytics, integrations and ML. He loves exploring new technologies and writing about them. He published his first book, "Building Arduino Projects for the Internet of Things", with Apress back in 2015. He shares his thoughts on various technology trends on his personal blog (adeeljaved.com).ANUM SUNDRANI is a business systems analyst and technology enthusiast who specializes in Business Process Management and Robotic Process Automation. Anum is a Certified Appian Analyst, Tableau Author, Six Sigma Green Belt and Scrum Master, alongside her several trainings in the areas of RPA development and the automation delivery lifecycle. She has an inquisitive eye for simplifying complex business processes and has focused on implementing automation solutions for business users since 2017.NADIA MALIK is a Presales Engineer with a background in software development. She has started her journey as a Software Engineer at IBM developing Cloud storage applications and then joining the UiPath rocket-ship in June of 2018 helping customers design, implement, and provide training in robotics process automation. Today she continues to evangelize RPA and mentor young women in STEM.SIDNEY MADISON PRESCOTT is a senior technology leader, keynote speaker, and robotics evangelist specializing in the creation of Robotic Process Automation Centers of Excellence for Fortune 500 companies. Sidney currently heads up the Global Intelligent Automation initiative at music streaming powerhouse Spotify. In addition to her enterprise technology expertise, Sidney is an executive board member for three global non-profit organizations, where she contributes valuable automation insights to enhance overall program objectives. To round out her career accolades, Sidney was also named a global recipient of the 2020 Top 50 Technology Visionaries award.Part I: IntroductionChapter 1. Robotic Process Automation Overview* Overview* Benefits* Market trends* Major vendors* Real-life use cases* Attended/unattendedChapter 2. UiPath StudioX Overview* Download* Install* Interface OverviewPart II: Activities – Your Building BlocksGoal of this section is to list down each activity under these tiles in UiPath StudioX, provide a brief description of what that activity does, screenshots of different configurations, quick examples. Essentially make this as the ultimate reference material.Chapter 3. Common ActivitiesChapter 4. UI AutomationChapter 5. Outlook AutomationChapter 6. Word AutomationChapter 7. Excel AutomationChapter 8. CSV AutomationChapter 9. File AutomationPart III: Building PrototypesGoal of this section is to build couple of real-life prototypes that uses knowledge acquired in prior sections. We have already developed two sample target applications, one browser-based, the other windows-based.Chapter 10. Real-life prototype 1 (Inventory Management)* Outlook Automation* CSV Automation* UI Automation (Browser)* File AutomationChapter 11. Real-life prototype 2 (Order Management)* UI Automation (App)* Excel Automation* Word Automation* File AutomationChapter 12. Real-life prototype 3 (Excel Management)* Excel AutomationPart IV: Scaling UpGoal of this section/chapter is to help people think about next steps. Most organizations have difficulty scaling up the concepts of citizen development.Chapter 13. Scaling RPA – high-level ideas
Deep Reinforcement Learning with Python
Deep reinforcement learning is a fast-growing discipline that is making a significant impact in fields of autonomous vehicles, robotics, healthcare, finance, and many more. This book covers deep reinforcement learning using deep-q learning and policy gradient models with coding exercise.You'll begin by reviewing the Markov decision processes, Bellman equations, and dynamic programming that form the core concepts and foundation of deep reinforcement learning. Next, you'll study model-free learning followed by function approximation using neural networks and deep learning. This is followed by various deep reinforcement learning algorithms such as deep q-networks, various flavors of actor-critic methods, and other policy-based methods.You'll also look at exploration vs exploitation dilemma, a key consideration in reinforcement learning algorithms, along with Monte Carlo tree search (MCTS), which played a key role in the success of AlphaGo. The final chapters conclude with deep reinforcement learning implementation using popular deep learning frameworks such as TensorFlow and PyTorch. In the end, you'll understand deep reinforcement learning along with deep q networks and policy gradient models implementation with TensorFlow, PyTorch, and Open AI Gym.WHAT YOU'LL LEARN* Examine deep reinforcement learning * Implement deep learning algorithms using OpenAI’s Gym environment* Code your own game playing agents for Atari using actor-critic algorithms* Apply best practices for model building and algorithm training WHO THIS BOOK IS FORMachine learning developers and architects who want to stay ahead of the curve in the field of AI and deep learning.Nimish is a passionate technical leader who brings to table extreme focus on use of technology for solving customer problems. He has over 25 years of work experience in the Software and Consulting. Nimish has held leadership roles with P&L responsibilities at PwC, IBM and Oracle. In 2006 he set out on his entrepreneurial journey in Software consulting at SOAIS with offices in Boston, Chicago and Bangalore. Today the firm provides Automation and Digital Transformation services to Fortune 100 companies helping them make the transition from on-premise applications to the cloud.He is also an angel investor in the space of AI and Automation driven startups. He has co-founded Paybooks, a SaaS HR and Payroll platform for Indian market. He has also cofounded a Boston based startup which offers ZipperAgent and ZipperHQ, a suite of AI driven workflow and video marketing automation platforms. He currently hold the position as CTO and Chief Data Scientist for both these platforms.Nimish has an MBA from Indian Institute of Management in Ahmedabad, India and a BS in Electrical Engineering from Indian Institute of Technology in Kanpur, India. He also holds multiple certifications in AI and Deep Learning.Chapter 1: Introduction to Deep Reinforcement LearningChapter Goal: Introduce the reader to field of reinforcement learning and setting the context of what they will learn in rest of the bookSub -Topics1. Deep reinforcement learning2. Examples and case studies3. Types of algorithms with mind-map4. Libraries and environment setup5. SummaryChapter 2: Markov Decision ProcessesChapter Goal: Help the reader understand models, foundations on which all algorithms are built.Sub - Topics1. Agent and environment2. Rewards3. Markov reward and decision processes4. Policies and value functions5. Bellman equationsChapter 3: Model Based AlgorithmsChapter Goal: Introduce reader to dynamic programming and related algorithmsSub - Topics:1. Introduction to OpenAI Gym environment2. Policy evaluation/prediction3. Policy iteration and improvement4. Generalised policy iteration5. Value iterationChapter 4: Model Free ApproachesChapter Goal: Introduce Reader to model free methods which form the basis for majority of current solutionsSub - Topics:1. Prediction and control with Monte Carlo methods2. Exploration vs exploitation3. TD learning methods4. TD control5. On policy learning using SARSA6. Off policy learning using q-learningChapter 5: Function ApproximationChapter Goal: Help readers understand value function approximation and Deep Learning use in Reinforcement Learning.1. Limitations to tabular methods studied so far2. Value function approximation3. Linear methods and features used4. Non linear function approximation using deep LearningChapter 6: Deep Q-LearningChapter Goal: Help readers understand core use of deep learning in reinforcement learning. Deep q learning and many of its variants are introduced here with in depth code exercises.1. Deep q-networks (DQN)2. Issues in Naive DQN3. Introduce experience replay and target networks4. Double q-learning (DDQN)5. Duelling DQN6. Categorical 51-atom DQN (C51)7. Quantile regression DQN (QR-DQN)8. Hindsight experience replay (HER)Chapter 7: Policy Gradient AlgorithmsChapter Goal: Introduce reader to concept of policy gradients and related theory. Gain in depth knowledge of common policy gradient methods through hands-on exercises1. Policy gradient approach and its advantages2. The policy gradient theorem3. REINFORCE algorithm4. REINFORCE with baseline5. Actor-critic methods6. Advantage actor critic (A2C/A3C)7. Proximal policy optimization (PPO)8. Trust region policy optimization (TRPO)Chapter 8: Combining Policy Gradients and Q-LearningChapter Goal: Introduce reader to the trade offs between two approaches ways to connect together the two seemingly dissimilar approaches. Gain in depth knowledge of some land mark approaches.1. Tradeoff between policy gradients and q-learning2. The connection3. Deep deterministic policy gradient (DDPG)4. Twin delayed DDPG (TD3)5. Soft actor critic (SAC)Chapter 9: Integrated Learning and PlanningChapter Goal: Introduce reader to the scalable approaches which are sample efficient for scalable problems.1. Model based reinforcement learning2. Dyna and its variants3. Guided policy search4. Monte Carlo tree search (MCTS)5. AlphaGoChapter 10: Further Exploration and Next StepsChapter Goal: With the backdrop of having gone through most of the popular algorithms, readers are now introduced again to exploration vs exploitation dilemma, central to reinforcement learning.1. Multi arm bandits2. Upper confidence bound3. Thompson sampling
Beginning Machine Learning in the Browser
Apply Artificial Intelligence techniques in the browser or on resource constrained computing devices. Machine learning (ML) can be an intimidating subject until you know the essentials and for what applications it works. This book takes advantage of the intricacies of the ML processes by using a simple, flexible and portable programming language such as JavaScript to work with more approachable, fundamental coding ideas.Using JavaScript programming features along with standard libraries, you'll first learn to design and develop interactive graphics applications. Then move further into neural systems and human pose estimation strategies. For training and deploying your ML models in the browser, TensorFlow.js libraries will be emphasized.After conquering the fundamentals, you'll dig into the wilderness of ML. Employ the ML and Processing (P5) libraries for Human Gait analysis. Building up Gait recognition with themes, you'll come to understand a variety of ML implementation issues. For example, you’ll learn about the classification of normal and abnormal Gait patterns.With Beginning Machine Learning in the Browser, you’ll be on your way to becoming an experienced Machine Learning developer.WHAT YOU’LL LEARN* Work with ML models, calculations, and information gathering* Implement TensorFlow.js libraries for ML models* Perform Human Gait Analysis using ML techniques in the browserWHO THIS BOOK IS FORComputer science students and research scholars, and novice programmers/web developers in the domain of Internet TechnologiesNAGENDER KUMAR SURYADEVARA received his Ph.D. from the School of Engineering and Advanced Technology, Massey University, New Zealand, in 2014. He has authored two books and over 45 publications in different international journals, conferences, and book chapters. His research interests lie in the domains of wireless sensor networks, Internet of Things technologies, and time-series data mining.Chapter 1: What is Machine Learning (ML)?Basics of Java Script (JS)Programming in the browser using Java ScriptGraphics and Interactive processing in the browser using Java Script librariesGetting started with P5.JS and ML5.JSReferencesChapter 2: Human Pose Estimation in the BrowserBrowser based data processingPosenet vs Openpose modelsHuman pose estimation using ML5.PosenetInputs, Outputs and Data structures of Posenet modelReferencesChapter 3: Human Pose ClassificationClassification techniques using ML Neural Network in the browserHuman Pose classification based on the outputs of Posenet modelConsideration of poses using Confidence scores of Posenet modelStorage of data using JSON formats related to the outputs of Posenet modelReferencesChapter 4: Gait AnalysisNormal vs Abnormal Gait patternsDetermination of Gait patterns using threshold values of the modelsUser Interface design and development for monitoring of Gait patternsReal-Time data visualization of the Gait patterns on the browserReferencesChapter 5: Future Possible Applications of Key Concepts
MongoDB Performance Tuning
Use this fast and complete guide to optimize the performance of MongoDB databases and the applications that depend on them. You will be able to turbo-charge the performance of your MongoDB applications to provide a better experience for your users, reduce your running costs, and avoid application growing pains. MongoDB is the world’s most popular document database and the foundation for thousands of mission-critical applications. This book helps you get the best possible performance from MongoDB.MONGODB PERFORMANCE TUNING takes a methodical and comprehensive approach to performance tuning that begins with application and schema design and goes on to cover optimization of code at all levels of an application. The book also explains how to configure MongoDB hardware and cluster configuration for optimal performance. The systematic approach in the book helps you treat the true causes of performance issues and get the best return on your tuning investment. Even when you’re under pressure and don’t know where to begin, simply follow the method in this book to set things right and get your MongoDB performance back on track.WHAT YOU WILL LEARN* Apply a methodical approach to MongoDB performance tuning* Understand how to design an efficient MongoDB application* Optimize MongoDB document design and indexing strategies* Tune MongoDB queries, aggregation pipelines, and transactions* Optimize MongoDB server resources: CPU, memory, disk* Configure MongoDB Replica sets and Sharded clusters for optimal performanceWHO THIS BOOK IS FORDevelopers and administrators of high-performance MongoDB applications who want to be sure they are getting the best possible performance from their MongoDB system. For developers who wish to create applications that are fast, scalable, and cost-effective. For administrators who want to optimize their MongoDB server and hardware configuration.GUY HARRISON is CTO at ProvenDB, a partner at Toba Capital, and a software professional with more than 20 years of experience in database design, development, administration, and optimization. He is the author of Next Generation Databases (Apress) and other books and articles on database technology. He is a MongoDB certified DBA and developer, and an Oracle ACE.MICHAEL HARRISON is the lead developer at ProvenDB, working intimately with MongoDB from both an application and database perspective. He is a co-author of The MongoDB Workshop as well as senior developer of DBKoda, an open-source development environment for MongoDB.PART I. METHODS AND TOOLS1. Methodical Performance Tuning2. MongoDB Architecture and Concepts3. Tools of the TradePART II. APPLICATION AND DATABASE DESIGN4. Schema Modelling5. IndexingPART III. TUNING MONGODB CODE6. Query Tuning7. Tuning Aggregation Pipelines8. Inserts, Updates and Deletes9. Transactions10. Server MonitoringPART IV. SERVER TUNING11. Memory Tuning12. Disk IO13. Replica Sets and Atlas14. Sharding
Automated Unit Testing with ABAP
Write automated unit tests for the ABAP language. This book teaches programmers using simple examples and metaphors and explains the underlying concepts of writing effective automated unit tests. Many, if not most, ABAP programmers learned their programming and testing skills before the ABAP development environment provided an automated unit testing facility.AUTOMATED UNIT TESTING WITH ABAP: A PRACTICAL APPROACH offers hope and salvation to ABAP programmers who continue to toil with antiquated manual unit testing processes, taking them by the hand and lifting them out of that dungeon of despair with a modern and proven alternative. It begins by explaining how the xUnit family of automated testing frameworks provides a quick and effective means of insuring high-quality software. It then focuses on the ABAP Unit Testing Facility, the xUnit framework applicable specifically to the ABAP language, showing how it can be used to bring ABAP applications underautomated testing control, from old legacy applications to those newly written.Whereas xUnit testing has been widely accepted with developers writing in many other programming languages, it is an unfortunate fact in the ABAP community that many programmers still are unfamiliar with xUnit concepts and do not know how to begin implementing automated unit testing into their development process. This book demonstrates how to refactor programs so they become designed for testability, showing how to use process encapsulation and test isolation to facilitate automated testing, including a thorough explanation of test-driven development and the use of test doubles. The book:* Shows how to write automated unit tests for ABAP* Instills ABAP programmers with the confidence to refactor poorly written code* Explains how an automated testing harness facilitates rapid software development* Teaches how to utilize test-driven development (TDD) withABAP* Offers advice and tips on the best ways to write automated unit testsWHAT YOU WILL LEARN* Become familiar with the xUnit approach to testing* Know the ABAP statements that interfere with running automated unit tests and how to accommodate them* Understand what it means to isolate code for testing and how this is achieved* Gain the confidence to refactor poorly written code* Make ABAP programs designed for testability* Reap the benefits of spending less time manually unit testing ABAP programs* Use test-driven development (TDD) with ABAP programming* Use configurable test doubles in ABAPWHO THIS BOOK IS FORABAP programmers who remain unfamiliar with the automated unit testing facility and those who already use it butwant to improve their skill writing and using automated tests. The book addresses the reluctance and trepidation felt by procedural ABAP programmers who need to know some object-oriented concepts to use this facility, expands their horizons, and helps them step through the doorway leading to a different approach to program design. JAMES E. MCDONOUGH received a degree in music education from Trenton State College. After teaching music for only two years in the New Jersey public school system, he spent the past 38 years as a computer programmer while also maintaining an active presence as a freelance jazz bassist between New York and Philadelphia. Having switched from mainframe programming to ABAP in 1997, he now works as a contract ABAP programmer designing and writing ABAP programs on a daily basis. An advocate of using the object-oriented programming features available with ABAP, he has been teaching private ABAP education courses over the past few years, where his background in education enables him to present and explain complicated concepts in a way that makes sense to beginners.Chapter 1: Introduction.- Chapter 2: Preparing to Take the First Step.- Chapter 3: Software Quality.- Chapter 4: The Origins of Automated Unit Testing.- Chapter 5: Automated Unit Testing with ABAP.- Chapter 6: Rudiments.- Chapter 7: Design for Testability.- Chapter 8: Test Doubles.- Chapter 9: Service Locator.- Chapter 10: Leveraging the Service Locator.- Chapter 11: Test-Driven Development.- Chapter 12: Configurable Test Doubles.- Chapter 13: Obtaining Code Coverage Information Through ABAP Unit Testing.- Chapter 14: Cultivating Good Test Writing Skills.- Chapter 15: Welcome to Autropolis.- Appendix A: Requirements Documentation and ABAP Exercise Programs.- Appendix B: Answers to Chapter Quizzes.- Appendix C: Concepts Associated with Defining Local Test Classes.-
Set Up and Manage Your Virtual Private Server
The need for every professional to have a solid presence on the Internet is more important than ever before. Having a presence beyond an email account, such as a custom web page or web application, usually requires a clumsy assortment of outside services or hiring a dedicated administrator. Thus it is more sensible for the average professional to become adept at managing their own private server.In Set Up and Manage Your Virtual Private Server, author Jon Westfall expertly designs interesting, understandable lessons for professionals such as teachers, doctors, lawyers, and more to deploy their own virtual private server. He walks you through choosing the right service and customizing it for your specific business or personal needs, and does this with great ease while instilling invaluable knowledge. Basics such as setting up users, managing security and firewalls, installing and updating software, and troubleshooting by reviewing log files, backing up data, and so much more.Set Up and Manage Your Virtual Private Server equips you with the power of knowledge to set your web presence apart from the rest. You now have complete control over your virtual brand that is your own—separate from any employer or affiliate. Your career mobility is in your hands with the ability to run your own private server at your fingertips. The digital era centers this technical literacy and independence as a critical skillset.WHAT YOU WILL LEARN* Understand basic server terminology and the way servers operate and are networked together* See how software is used on a server and its role (for example, Linux, Apache, MySQL, PHP, and so on)* Get comfortable with the basic command-line operation of a virtual private server to set up users, manage security and firewalls, install software, update software, and troubleshoot by reviewing log files* Store and back up important information* Identify, analyze, and deploy open-source software products that can enhance productivityWHO THIS BOOK IS FORNon-tech professionals, individuals who have an established professional career, looking to understand more about how to set up and manage a private server. Jon Westfall is an award-winning professor, published author, and practicing cognitive scientist. He teaches a variety of courses in psychology, from introduction to psychology to upper-level seminars. His current research focuses on the variables that influence economic and consumer finance decisions, and the retention of college students. With applications to both psychology and marketing, his work finds an intersection between basic and applied science. His current appointment is as an assistant professor of psychology, coordinator of the first year seminar program, and coordinator of the Okra Scholars program at Delta State University. Previously he was a visiting assistant professor at Centenary College of Louisiana, and the associate director for research and technology at the Center for Decision Sciences, a center within Columbia Business School at Columbia University in New York City. He now maintains a role with Columbia as a research affiliate and technology consultant.In addition to his research, Dr. Westfall has career ties in information technology, where he has worked as a consultant since 1997, founding his own firm, Bug Jr. Systems. As a consultant he has developed custom software solutions (including native Windows 32 applications, Windows .NET applications, Windows Phone 7 and Android mobile applications, as well as ASP, ASP.NET, and PHP web applications). He has also served as a senior network and systems architect and administrator (on both Windows and Unix networks, and hybrids) and has also been recognized as a Microsoft Most Valuable Professional (MVP) 2008 – 2012. He has authored several books, and presented at academic as well as technology conferences and gatherings.Chapter 1: What is a Virtual Private Server?Chapter Goal: Go over basic terminology of how the internet operates, how servers run, and how virtualization allows individuals to have their own server for a very small cost per month.• How does the magic happen?o How does a webpage appear on my screen? How does email route through the internet to someone else? How do domain names work?• What options does someone have if they want to get into this?o Who provides services (data centers, co-locations, virtual servers, cloud computing)o How much does it cost?o How much do I have to do?o How much time does it take?• Am I ready for this?o Do I have the necessary skills and time to learn skills I need?o Am I OK with being my own system administrator?o Who do I call if I need help? Or can I call someone?Chapter 2: Selecting a VPS ProviderChapter Goal: Walk the reader through identifying and selecting a VPS provider.• How do I find a provider?o Low-end, High-end, Cloudo Trust and Reliability, what is an SLA?o Warning signs• Resources & Budgetingo What do I really need?o How much does it cost?o Extras that can cost money.• Setting up a New Accounto Security of your account.o Extras you may or may not need.o Terms of Serviceo Choosing your Linux distribution: CentOS or Debian (Throughout the book, commands for both CentOS 8 and Debian 10 will be provided).Chapter 3: Basic Linux Administration via Command-LineChapter Goal: Providing the basic commands to administer your server, finding files, and adding and configuring software.• Logging into your servero Shell accesso SSHo SFTPo Setting up your user account• Basic commandso Linux Directory Structureo Ls, cp, mv, and the most dangerous: rmo Finding fileso Su / sudo and file permissions.o Disk usage, memory usage, and overall server health commands.o How do I edit files: Vim and Nano• How your System Starts up and Shuts Downo Services, what they are and how to enable/disableo The right and wrong way to shutdown, and why it’s important.o Graphical user modes versus command-line.o Files that you might want to keep copies of.• How do I install software?o Package managers (apt / yum)o Compiling from Sourceo Updating / upgrading / removing softwareo Configuring software through configuration files.Chapter 4: Basic Linux Administration via GUI (Webmin)Chapter Goal: To provide a basic overview of the Open Source project “Webmin” for configuration of your server though a graphical interface.• Deciding if a GUI is needed or not. Pros and Cons• Downloading and installing Webmin• Setting up Webmin security, including SSL and 2 Factor authentication.• Delegating tasks to others using Webmin Users.• Basic walkthrough of the modules that you’ll need to access, with an eye on settings you don’t want to change.• Webmin’s Usermin module: GUI for users to access files, mail, databases, and more.Chapter 5: Basics of Linux SecurityChapter Goal: The basics of setting up security on your server, with a discussion of auditing and verifying files haven’t changed.• What is a firewall and how do I set it up?• How do I give some users access to administrative functions, but not all?• Advanced File Permissions, and more on users and groups.• SELinux• Auditing and log file management.Chapter 6: Basics of Backups and Version ControlChapter Goal: How to keep your files backed up and safe.• Backup Basics: What to back up, where to back it up, and how often to back up.• Backup Method 1: Gzipped Tar files and shell scripts.• Backup Method 2: Duplicati GUI• Simulated disaster recovery, and migration to a new server.Chapter 7: Basics of Server Software AdministrationChapter Goal: How to get the most common software up and running on your VPS, customizing it to be secure and reliable.• Web Server Basics (Apache 2)o Extending the Server with PHPo SSL certificates.• Database Server Basics (MySQL)• Mail Server Basics (Postfix)• DNS Server Basics (Bind)• Monitoring your Server (Nagios)Chapter 8: Installing an Open Source Software Product – WordpressChapter Goal: How to get a basic website up and running quickly using an open source content management system, Wordpress.• Do you need a full CMS or are your needs more basic?• Downloading and installing Wordpress• Configuring Wordpress to be secure.• Backing up Wordpress• Extending Wordpress with Plugins.Chapter 9: Administrators Weekly ChecklistChapter Goal: Describe concept of preventive maintenance – what one needs to do regularly to keep the server running smoothly.• Software update basics• Following mailing lists and security discussions.• Monitoring for potential security breaches.• Verifying backups.Chapter 10: Open Source Application PossibilitiesChapter Goal: Introduce the reader to software packages that will allow them to up their productivity by hosting their own content on their server. Basic installations will be covered, but not in-depth customization as was done in Chapter 8.• Moodle: Open Source Learning Management System• osTicket: Open Source Helpdesk / Issue Tracking.• YoURLS: Open Source URL Shortener• OpenVPN: Open Source VPN software• Odoo: Open Source CRM Software• LimeSurvey: Open Source Survey Software (Covered in my previous book, Practical R 4 – but less in-depth here)• Other possibilities, including writing
Der Mensch als Rohstoff
Gentechnik, Nanotechnik, Robotik, Künstliche Intelligenz. Welche Revolutionen stehen uns bevor und wie denken die großen Konzerne darüber? Mit welchen Gefahren ist zu rechnen, wie hat sich unser Leben bereits verändert und wohin führt diese Reise? Zur Beantwortung dieser Fragen wagt Christian Blasge einen Ausflug in die menschliche Psyche und untersucht dabei, inwieweit sich unsere Gesellschaft mittlerweile in einem Modus der vollständigen Konkurrenz befindet.Getrieben ist die Entwicklung durch die Stigmatisierung des Menschen als "Mängelwesen", das überwunden werden soll. Dazu dienen die Digitalisierung und Automatisierung menschlicher Arbeitskraft, deren Auswirkung auf den Arbeitsmarkt und den Menschen selbst untersucht werden. Viele der technologischen Neuerungen des beginnenden 21. Jahrhunderts haben einerseits neue Freiheiten mit sich gebracht, die andererseits zu Überforderung, Entwurzelung und Entfremdung führen können. Verbunden ist das Zeitalter der Digitalisierung aber auch mit dem Mythos, Probleme ließen sich durch Konsum lösen, gekoppelt mit dem Trend, sich (freiwillig oder unfreiwillig) zu dem Vermarkter einer Ware und gleichzeitig selbst zu einer Ware zu machen.Im Kontext von Künstlicher Intelligenz und fortschreitenden persönlicher Optimierung drängt sich die Frage auf: "Was ist der Mensch und darf er so bleiben, wie er ist?" Technik-Utopisten (alb)träumen von Maschinen mit Bewusstsein und von Superintelligenzen, die unsere Lebenswelt neu gestalten. Sie schwärmen von der Überwindung der menschlichen Biologie, der Abschaffung aller Krankheiten bis hin zur Unsterblichkeit; und sie bestehen auf der bestmöglichen genetischen Ausstattung für unsere Nachkommen.Das Buch endet mit der brisanten Debatte über den Trans- bzw. Posthumanismus. Eine (schöne?) neue Gesellschaft mit optimierten Menschen, autonomen Robotern und virtuellen Entitäten wird unsere Lebenswelt von Grund auf verändern. Daher bedarf es, so der Autor, dringend eines neuen Gesellschaftsvertrags, wie mit den Früchten des Fortschritts umgegangen werden soll.Christian Blasge, geboren 1988 in Klagenfurt, ist als Schullehrer sowie als Fachlehrer im Bereich Ethik, Bewegung und Sport an der Pädagogischen Hochschule Steiermark sowie an der Karl-Franzens-Universität Graz tätig.
Big Data Analytics for Internet of Things
BIG DATA ANALYTICS FOR INTERNET OF THINGSDISCOVER THE LATEST DEVELOPMENTS IN IOT BIG DATA WITH A NEW RESOURCE FROM ESTABLISHED AND EMERGING LEADERS IN THE FIELDBig Data Analytics for Internet of Things delivers a comprehensive overview of all aspects of big data analytics in Internet of Things (IoT) systems. The book includes discussions of the enabling technologies of IoT data analytics, types of IoT data analytics, challenges in IoT data analytics, demand for IoT data analytics, computing platforms, analytical tools, privacy, and security.The distinguished editors have included resources that address key techniques in the analysis of IoT data. The book demonstrates how to select the appropriate techniques to unearth valuable insights from IoT data and offers novel designs for IoT systems.With an abiding focus on practical strategies with concrete applications for data analysts and IoT professionals, Big Data Analytics for Internet of Things also offers readers:* A thorough introduction to the Internet of Things, including IoT architectures, enabling technologies, and applications* An exploration of the intersection between the Internet of Things and Big Data, including IoT as a source of Big Data, the unique characteristics of IoT data, etc.* A discussion of the IoT data analytics, including the data analytical requirements of IoT data and the types of IoT analytics, including predictive, descriptive, and prescriptive analytics* A treatment of machine learning techniques for IoT data analyticsPerfect for professionals, industry practitioners, and researchers engaged in big data analytics related to IoT systems, Big Data Analytics for Internet of Things will also earn a place in the libraries of IoT designers and manufacturers interested in facilitating the efficient implementation of data analytics strategies. TAUSIFA JAN SALEEM is currently pursuing her Doctor of Philosophy (Ph.D) from National Institute of Technology Srinagar, India. She has received the Bachelor of Technology (B. Tech.) degree in Information Technology (IT) from National Institute of Technology Srinagar, India and the M.Tech. degree in Computer Science from University of Jammu, India. She has published more than 10 research articles in reputed journals (indexed by Scopus and SCI) and conferences (indexed by Scopus). Her research areas of interest include Internet of Things, Data Analytics, Machine Learning, and Deep Learning.MOHAMMAD AHSAN CHISHTI, PH.D, is Dean at the School of Engineering & Technology and Associate Professor in the Department of Information Technology at the Central University of Kashmir. He has published over 100 scholarly papers and holds 12 patents. He is the recipient of “Young Engineers Award 2015-2016” from IEI and “Young Scientist Award 2009-2010” from the government of Jammu and Kashmir. He is a Senior Member of the IEEE, MIEI, MCSI & MIETE.List of Contributors xvList of Abbreviations xix1 BIG DATA ANALYTICS FOR THE INTERNET OF THINGS: AN OVERVIEW 1Tausifa Jan Saleem and Mohammad Ahsan Chishti2 DATA, ANALYTICS AND INTEROPERABILITY BETWEEN SYSTEMS (IOT) IS INCONGRUOUS WITH THE ECONOMICS OF TECHNOLOGY: EVOLUTION OF POROUS PARETO PARTITION (P3) 7Shoumen Palit Austin Datta, Tausifa Jan Saleem, Molood Barati, María Victoria López López, Marie-Laure Furgala, Diana C. Vanegas, Gérald Santucci, Pramod P. Khargonekar, and Eric S. McLamore2.1 Context 82.2 Models in the Background 122.3 Problem Space: Are We Asking the Correct Questions? 142.4 Solutions Approach: The Elusive Quest to Build Bridges Between Data and Decisions 152.5 Avoid This Space: The Deception Space 172.6 Explore the Solution Space: Necessary to Ask Questions That May Not Have Answers, Yet 172.7 Solution Economy: Will We Ever Get There? 192.8 Is This Faux Naïveté in Its Purest Distillate? 212.9 Reality Check: Data Fusion 222.10 “Double A” Perspective of Data and Tools vs. The Hypothetical Porous Pareto (80/20) Partition 282.11 Conundrums 292.12 Stigma of Partition vs. Astigmatism of Vision 382.13 The Illusion of Data, Delusion of Big Data, and the Absence of Intelligence in AI 402.14 In Service of Society 502.15 Data Science in Service of Society: Knowledge and Performance from PEAS 522.16 Temporary Conclusion 60Acknowledgements 63References 633 MACHINE LEARNING TECHNIQUES FOR IOT DATA ANALYTICS 89Nailah Afshan and Ranjeet Kumar Rout3.1 Introduction 893.2 Taxonomy of Machine Learning Techniques 943.2.1 Supervised ML Algorithm 953.2.1.1 Classification 963.2.1.2 Regression Analysis 983.2.1.3 Classification and Regression Tasks 993.2.2 Unsupervised Machine Learning Algorithms 1033.2.2.1 Clustering 1033.2.2.2 Feature Extraction 1063.2.3 Conclusion 107References 1074 IOT DATA ANALYTICS USING CLOUD COMPUTING 115Anjum Sheikh, Sunil Kumar, and Asha Ambhaikar4.1 Introduction 1154.2 IoT Data Analytics 1174.2.1 Process of IoT Analytics 1174.2.2 Types of Analytics 1184.3 Cloud Computing for IoT 1184.3.1 Deployment Models for Cloud 1204.3.1.1 Private Cloud 1204.3.1.2 Public Cloud 1204.3.1.3 Hybrid Cloud 1214.3.1.4 Community Cloud 1214.3.2 Service Models for Cloud Computing 1224.3.2.1 Software as a Service (SaaS) 1224.3.2.2 Platform as a Service (PaaS) 1224.3.2.3 Infrastructure as a Service (IaaS) 1224.3.3 Data Analytics on Cloud 1234.4 Cloud-Based IoT Data Analytics Platform 1234.4.1 Atos Codex 1254.4.2 AWS IoT 1254.4.3 IBM Watson IoT 1264.4.4 Hitachi Vantara Pentaho, Lumada 1274.4.5 Microsoft Azure IoT 1284.4.6 Oracle IoT Cloud Services 1294.5 Machine Learning for IoT Analytics in Cloud 1324.5.1 ML Algorithms for Data Analytics 1324.5.2 Types of Predictions Supported by ML and Cloud 1364.6 Challenges for Analytics Using Cloud 1374.7 Conclusion 139References 1395 DEEP LEARNING ARCHITECTURES FOR IOT DATA ANALYTICS 143Snowber Mushtaq and Omkar Singh5.1 Introduction 1435.1.1 Types of Learning Algorithms 1465.1.1.1 Supervised Learning 1465.1.1.2 Unsupervised Learning 1465.1.1.3 Semi-Supervised Learning 1465.1.1.4 Reinforcement Learning 1465.1.2 Steps Involved in Solving a Problem 1465.1.2.1 Basic Terminology 1475.1.2.2 Training Process 1475.1.3 Modeling in Data Science 1475.1.3.1 Generative 1485.1.3.2 Discriminative 1485.1.4 Why DL and IoT? 1485.2 DL Architectures 1495.2.1 Restricted Boltzmann Machine 1495.2.1.1 Training Boltzmann Machine 1505.2.1.2 Applications of RBM 1515.2.2 Deep Belief Networks (DBN) 1515.2.2.1 Training DBN 1525.2.2.2 Applications of DBN 1535.2.3 Autoencoders 1535.2.3.1 Training of AE 1535.2.3.2 Applications of AE 1545.2.4 Convolutional Neural Networks (CNN) 1545.2.4.1 Layers of CNN 1555.2.4.2 Activation Functions Used in CNN 1565.2.4.3 Applications of CNN 1585.2.5 Generative Adversarial Network (GANs) 1585.2.5.1 Training of GANs 1585.2.5.2 Variants of GANs 1595.2.5.3 Applications of GANs 1595.2.6 Recurrent Neural Networks (RNN) 1595.2.6.1 Training of RNN 1605.2.6.2 Applications of RNN 1615.2.7 Long Short-Term Memory (LSTM) 1615.2.7.1 Training of LSTM 1615.2.7.2 Applications of LSTM 1625.3 Conclusion 162References 1636 ADDING PERSONAL TOUCHES TO IOT: A USER-CENTRIC IOT ARCHITECTURE 167Sarabjeet Kaur Kochhar6.1 Introduction 1676.2 Enabling Technologies for BDA of IoT Systems 1696.3 Personalizing the IoT 1716.3.1 Personalization for Business 1726.3.2 Personalization for Marketing 1726.3.3 Personalization for Product Improvement and Service Optimization 1736.3.4 Personalization for Automated Recommendations 1746.3.5 Personalization for Improved User Experience 1746.4 Related Work 1756.5 User Sensitized IoT Architecture 1766.6 The Tweaked Data Layer 1786.7 The Personalization Layer 1806.7.1 The Characterization Engine 1806.7.2 The Sentiment Analyzer 1826.8 Concerns and Future Directions 1836.9 Conclusions 184References 1857 SMART CITIES AND THE INTERNET OF THINGS 187Hemant Garg, Sushil Gupta, and Basant Garg7.1 Introduction 1877.2 Development of Smart Cities and the IoT 1887.3 The Combination of the IoT with Development of City Architecture to Form Smart Cities 1897.3.1 Unification of the IoT 1907.3.2 Security of Smart Cities 1907.3.3 Management of Water and Related Amenities 1907.3.4 Power Distribution and Management 1917.3.5 Revenue Collection and Administration 1917.3.6 Management of City Assets and Human Resources 1927.3.7 Environmental Pollution Management 1927.4 How Future Smart Cities Can Improve Their Utilization of the Internet of All Things, with Examples 1937.5 Conclusion 194References 1958 A ROADMAP FOR APPLICATION OF IOT-GENERATED BIG DATA IN ENVIRONMENTAL SUSTAINABILITY 197Ankur Kashyap8.1 Background and Motivation 1978.2 Execution of the Study 1988.2.1 Role of Big Data in Sustainability 1988.2.2 Present Status and Future Possibilities of IoT in Environmental Sustainability 1998.3 Proposed Roadmap 2028.4 Identification and Prioritizing the Barriers in the Process 2048.4.1 Internet Infrastructure 2048.4.2 High Hardware and Software Cost 2048.4.3 Less Qualified Workforce 2048.5 Conclusion and Discussion 205References 2059 APPLICATION OF HIGH-PERFORMANCE COMPUTING IN SYNCHROPHASOR DATA MANAGEMENT AND ANALYSIS FOR POWER GRIDS 209C.M. Thasnimol and R. Rajathy9.1 Introduction 2099.2 Applications of Synchrophasor Data 2109.2.1 Voltage Stability Analysis 2119.2.2 Transient Stability 2129.2.3 Out of Step Splitting Protection 2139.2.4 Multiple Event Detection 2139.2.5 State Estimation 2139.2.6 Fault Detection 2149.2.7 Loss of Main (LOM) Detection 2149.2.8 Topology Update Detection 2149.2.9 Oscillation Detection 2159.3 Utility Big Data Issues Related to PMU-Driven Applications 2159.3.1 Heterogeneous Measurement Integration 2159.3.2 Variety and Interoperability 2169.3.3 Volume and Velocity 2169.3.4 Data Quality and Security 2169.3.5 Utilization and Analytics 2179.3.6 Visualization of Data 2189.4 Big Data Analytics Platforms for PMU Data Processing 2199.4.1 Hadoop 2209.4.2 Apache Spark 2219.4.3 Apache HBase 2229.4.4 Apache Storm 2229.4.5 Cloud-Based Platforms 2239.5 Conclusions 224References 22410 INTELLIGENT ENTERPRISE-LEVEL BIG DATA ANALYTICS FOR MODELING AND MANAGEMENT IN SMART INTERNET OF ROADS 231Amin Fadaeddini, Babak Majidi, and Mohammad Eshghi10.1 Introduction 23110.2 Fully Convolutional Deep Neural Network for Autonomous Vehicle Identification 23310.2.1 Detection of the Bounding Box of the License Plate 23310.2.2 Segmentation Objective 23410.2.3 Spatial Invariances 23410.2.4 Model Framework 23410.2.4.1 Increasing the Layer of Transformation 23410.2.4.2 Data Format of Sample Images 23510.2.4.3 Applying Batch Normalization 23610.2.4.4 Network Architecture 23610.2.5 Role of Data 23610.2.6 Synthesizing Samples 23610.2.7 Invariances 23710.2.8 Reducing Number of Features 23710.2.9 Choosing Number of Classes 23810.3 Experimental Setup and Results 23910.3.1 Sparse Softmax Loss 23910.3.2 Mean Intersection Over Union 24010.4 Practical Implementation of Enterprise-Level Big Data Analytics for Smart City 24010.5 Conclusion 244References 24411 PREDICTIVE ANALYSIS OF INTELLIGENT SENSING AND CLOUD-BASED INTEGRATED WATER MANAGEMENT SYSTEM 247Tanuja Patgar and Ripal Patel11.1 Introduction 24711.2 Literature Survey 24811.3 Proposed Six-Tier Data Framework 25011.3.1 Primary Components 25111.3.2 Contact Unit (FC-37) 25311.3.3 Internet of Things Communicator (ESP8266) 25311.3.4 GSM-Based ARM and Control System 25311.3.5 Methodology 25311.3.6 Proposed Algorithm 25611.4 Implementation and Result Analysis 25711.4.1 Water Report for Home 1 and Home 2 Modules 26311.5 Conclusion 263References 26312 DATA SECURITY IN THE INTERNET OF THINGS: CHALLENGES AND OPPORTUNITIES 265Shashwati Banerjea, Shashank Srivastava, and Sachin Kumar12.1 Introduction 26512.2 IoT: Brief Introduction 26612.2.1 Challenges in a Secure IoT 26712.2.2 Security Requirements in IoT Architecture 26812.2.2.1 Sensing Layer 26812.2.2.2 Network Layer 26912.2.2.3 Interface Layer 27112.2.3 Common Attacks in IoT 27112.3 IoT Security Classification 27212.3.1 Application Domain 27212.3.1.1 Authentication 27212.3.1.2 Authorization 27412.3.1.3 Depletion of Resources 27412.3.1.4 Establishment of Trust 27512.3.2 Architectural Domain 27512.3.2.1 Authentication in IoT Architecture 27512.3.2.2 Authorization in IoT Architecture 27612.3.3 Communication Channel 27612.4 Security in IoT Data 27712.4.1 IoT Data Security: Requirements 27712.4.1.1 Data: Confidentiality, Integrity, and Authentication 27812.4.1.2 Data Privacy 27912.4.2 IoT Data Security: Research Directions 28012.5 Conclusion 280References 28113 DDOS ATTACKS: TOOLS, MITIGATION APPROACHES, AND PROBABLE IMPACT ON PRIVATE CLOUD ENVIRONMENT 285R. K. Deka, D. K. Bhattacharyya, and J. K. Kalita13.1 Introduction 28513.1.1 State of the Art 28713.1.2 Contribution 28813.1.3 Organization 29013.2 Cloud and DDoS Attack 29013.2.1 Cloud Deployment Models 29013.2.1.1 Differences Between Private Cloud and Public Cloud 29313.2.2 DDoS Attacks 29413.2.2.1 Attacks on Infrastructure Level 29413.2.2.2 Attacks on Application Level 29613.2.3 DoS/DDoS Attack on Cloud: Probable Impact 29713.3 Mitigation Approaches 29813.3.1 Discussion 30913.4 Challenges and Issues with Recommendations 30913.5 A Generic Framework 31013.6 Conclusion and Future Work 312References 31214 SECURING THE DEFENSE DATA FOR MAKING BETTER DECISIONS USING DATA FUSION 321Syed Rameem Zahra14.1 Introduction 32114.2 Analysis of Big Data 32214.2.1 Existing IoT Big Data Analytics Systems 32214.2.2 Big Data Analytical Methods 32414.2.3 Challenges in IoT Big Data Analytics 32414.3 Data Fusion 32514.3.1 Opportunities Provided by Data Fusion 32614.3.2 Data Fusion Challenges 32614.3.3 Stages at Which Data Fusion Can Happen 32614.3.4 Mathematical Methods for Data Fusion 32614.4 Data Fusion for IoT Security 32714.4.1 Defense Use Case 32914.5 Conclusion 329References 33015 NEW AGE JOURNALISM AND BIG DATA (UNDERSTANDING BIG DATA AND ITS INFLUENCE ON JOURNALISM) 333Asif Khan and Heeba Din15.1 Introduction 33315.1.1 Big Data Journalism: The Next Big Thing 33415.1.2 All About Data 33615.1.3 Accessing Data for Journalism 33715.1.4 Data Analytics: Tools for Journalists 33815.1.5 Case Studies – Big Data 34015.1.5.1 BBC Big Data 34015.1.5.2 The Guardian Data Blog 34215.1.5.3 Wikileaks 34415.1.5.4 World Economic Forum 34415.1.6 Big Data – Indian Scenario 34515.1.7 Internet of Things and Journalism 34615.1.8 Impact on Media/Journalism 347References 34816 TWO DECADES OF BIG DATA IN FINANCE: SYSTEMATIC LITERATURE REVIEW AND FUTURE RESEARCH AGENDA 351Nufazil Altaf16.1 Introduction 35116.2 Methodology 35316.3 Article Identification and Selection 35316.4 Description and Classification of Literature 35416.4.1 Research Method Employed 35416.4.2 Articles Published Year Wise 35516.4.3 Journal of Publication 35616.5 Content and Citation Analysis of Articles 35616.5.1 Citation Analysis 35616.5.2 Content Analysis 35716.5.2.1 Big Data in Financial Markets 35816.5.2.2 Big Data in Internet Finance 35916.5.2.3 Big Data in Financial Services 35916.5.2.4 Big Data and Other Financial Issues 36016.6 Reporting of Findings and Research Gaps 36016.6.1 Findings from the Literature Review 36116.6.1.1 Lack of Symmetry 36116.6.1.2 Dominance of Research on Financial Markets, Internet Finance, and Financial Services 36116.6.1.3 Dominance of Empirical Research 36116.6.2 Directions for Future Research 362References 362Index 367
Basiswissen Requirements Engineering
KOMPAKTES GRUNDLAGENWERK FÜR DEN REQUIREMENTS ENGINEER * Standardwerk in 5. Auflage * konform zum IREB-Lehrplan Version 3.0 * mit interaktiven Elementen: animierte Grafiken, Videos Dieses Lehrbuch umfasst den erforderlichen Stoff zum Ablegen der Prüfung "Certified Professional for Requirements Engineering (Foundation Level)" nach IREB-Standard. Es vermittelt das Grundlagenwissen und behandelt die wesentlichen Prinzipien und Praktiken sowie wichtige Begriffe und Konzepte. Die Themen im Einzelnen: - Grundlegende Prinzipien des Requirements Engineering - Arbeitsprodukte und Dokumentationspraktiken - Praktiken für die Erarbeitung von Anforderungen - Prozess und Arbeitsstruktur - Praktiken für das Requirements Management - Werkzeugunterstützung Das Buch eignet sich gleichermaßen für das Selbststudium, zur Vorbereitung auf die Zertifizierung sowie als kompaktes Basiswerk zum Thema in der Praxis und an Hochschulen. Die 5. Auflage wurde komplett überarbeitet, ist konform zum IREB-Lehrplan Foundation Level Version 3.0 und wurde angereichert mit interaktiven Elementen wie animierte Grafiken und Videos.
Data Science
KNOW-HOW FÜR DATA SCIENTISTS * übersichtliche und anwendungsbezogene Einführung * zahlreiche Anwendungsfälle und Praxisbeispiele aus unterschiedlichen Branchen * Potenziale, aber auch mögliche Fallstricke werden aufgezeigt Data Science steht derzeit wie kein anderer Begriff für die Auswertung großer Datenmengen mit analytischen Konzepten des Machine Learning oder der künstlichen Intelligenz. Nach der bewussten Wahrnehmung der Big Data und dabei insbesondere der Verfügbarmachung in Unternehmen sind Technologien und Methoden zur Auswertung dort gefordert, wo klassische Business Intelligence an ihre Grenzen stößt. Dieses Buch bietet eine umfassende Einführung in Data Science und deren praktische Relevanz für Unternehmen. Dabei wird auch die Integration von Data Science in ein bereits bestehendes Business-Intelligence-Ökosystem thematisiert. In verschiedenen Beiträgen werden sowohl Aufgabenfelder und Methoden als auch Rollen- und Organisationsmodelle erläutert, die im Zusammenspiel mit Konzepten und Architekturen auf Data Science wirken. Diese 2., überarbeitete Auflage wurde um neue Themen wie Feature Selection und Deep Reinforcement Learning sowie eine neue Fallstudie erweitert.
Design and Development of Efficient Energy Systems
There is not a single industry which will not be transformed by machine learning and Internet of Things (IoT). IoT and machine learning have altogether changed the technological scenario by letting the user monitor and control things based on the prediction made by machine learning algorithms. There has been substantial progress in the usage of platforms, technologies and applications that are based on these technologies. These breakthrough technologies affect not just the software perspective of the industry, but they cut across areas like smart cities, smart healthcare, smart retail, smart monitoring, control, and others. Because of these “game changers,” governments, along with top companies around the world, are investing heavily in its research and development. Keeping pace with the latest trends, endless research, and new developments is paramount to innovate systems that are not only user-friendly but also speak to the growing needs and demands of society.This volume is focused on saving energy at different levels of design and automation including the concept of machine learning automation and prediction modeling. It also deals with the design and analysis for IoT-enabled systems including energy saving aspects at different level of operation.The editors and contributors also cover the fundamental concepts of IoT and machine learning, including the latest research, technological developments, and practical applications. Valuable as a learning tool for beginners in this area as well as a daily reference for engineers and scientists working in the area of IoT and machine technology, this is a must-have for any library.SUMAN LATA TRIPATHI, PHD, is a professor at Lovely Professional with more than seventeen years of experience in academics. She has published more than 45 research papers in refereed journals and conferences. She has organized several workshops, summer internships, and expert lectures for students, and she has worked as a session chair, conference steering committee member, editorial board member, and reviewer for IEEE journals and conferences. She has published one edited book and currently has multiple volumes scheduled for publication, including volumes available from Wiley-Scrivener.DUSHYANT KUMAR SINGH, is an assistant professor and Head of Embedded Systems Domain at Lovely Professional University. With a masters degree from Punjab Engineering College, University of Technology, Chandigarh, he has several years of industrial experience and more than ten years of teaching experience.SANJEEVIKUMAR PADMANABAN, PHD, is a faculty member with the Department of Energy Technology, Aalborg University, Esbjerg, Denmark. He has almost ten years of teaching, research and industrial experience and is an associate editor on a number of international scientific refereed journals. He has published more than 300 research papers and has won numerous awards for his research and teaching.P. RAJA is currently working as an assistant professor at Lovely Professional University. His expertise is in VLSI and embedded systems. He has more than 14 years of experience with 5 years in embedded industry. He has 14 publications in UGC-approved and other reputable journals. He also has 10 patents to his credit.Preface xv1 DESIGN OF LOW POWER JUNCTION-LESS DOUBLE-GATE MOSFET 1Namrata Mendiratta and Suman Lata Tripathi1.1 Introduction 11.2 MOSFET Performance Parameters 21.3 Comparison of Existing MOSFET Architectures 31.4 Proposed Heavily Doped Junction-Less Double Gate MOSFET (AJ-DGMOSFET) 31.5 Heavily Doped JL-DG MOSFET for Biomedical Application 81.6 Conclusion 9References 102 VLSI IMPLEMENTATION OF VEDIC MULTIPLIER 13Abhishek Kumar2.1 Introduction 132.2 8x8 Vedic Multiplier 142.3 The Architecture of 8x8 Vedic Multiplier (VM) 162.3.1 Compressor Architecture 172.3.1.1 3:2 Compressor 182.3.1.2 4:3 Compressor 182.3.1.3 5:3 Compressor 182.3.1.4 8:4 Compressor 192.3.1.5 10:4 Compressor 192.3.1.6 12:5 Compressor 202.3.1.7 15:5 Compressor 212.3.1.8 20:5 Compressor 212.4 Results and Discussion 232.4.1 Instance Power 232.4.2 Net Power 242.4.3 8-Bit Multiplier 252.4.4 16-Bit Multiplier 262.4.5 Applications of Multiplier 272.5 Conclusion 28References 283 GAS LEAKAGE DETECTION FROM DRAINAGE TO OFFER SAFETY FOR SANITARY WORKERS 31Dr. D. Jeyabharathi, Dr. D. Kesavaraja and D. Sasireka3.1 Introduction 313.1.1 IOT-Based Sewer Gas Detection 313.1.1.1 IoT Sensors 323.1.2 Objective 323.1.3 Contribution of this Chapter 333.1.4 Outline of the Chapter 333.2 Related Works 333.2.1 Sewer Gas Leakage Detection 333.2.2 Crack Detection 343.3 Methodology 343.3.1 Sewer Gas Detection 343.3.1.1 Proposed Tristate Pattern 353.3.2 Crack Detection 363.3.3 Experimental Setup 373.4 Experimental Results 393.5 Conclusion 40References 404 MACHINE LEARNING FOR SMART HEALTHCARE ENERGY-EFFICIENT SYSTEM 43S. Porkodi, Dr. D. Kesavaraja and Dr. Sivanthi Aditanar4.1 Introduction 434.1.1 IoT in the Digital Age 434.1.2 Using IoT to Enhance Healthcare Services 444.1.3 Edge Computing 444.1.4 Machine Learning 444.1.5 Application in Healthcare 454.2 Related Works 454.3 Edge Computing 474.3.1 Architecture 474.3.2 Advantages of Edge Computing over Cloud Computing 474.3.3 Applications of Edge Computing in Healthcare 484.3.4 Edge Computing Advantages 494.3.5 Challenges 504.4 Smart Healthcare System 504.4.1 Methodology 504.4.2 Data Acquisition and IoT End Device 514.4.3 IoT End Device and Backend Server 514.5 Conclusion and Future Directions 52References 525 REVIEW OF MACHINE LEARNING TECHNIQUES USED FOR INTRUSION AND MALWARE DETECTION IN WSNS AND IOT DEVICES 57Dr. Jeyabharathi, Dr. A. Sherly Alphonse, Ms. E.L. Dhivya Priya and Dr. M. Kowsigan5.1 Introduction 575.2 Types of Attacks 585.3 Some Countermeasures for the Attacks 595.4 Machine Learning Solutions 595.5 Machine Learning Algorithms 595.6 Authentication Process Based on Machine Learning 605.7 Internet of Things (IoT) 625.8 IoT-Based Attacks 625.8.1 Botnets 625.8.2 Man-in-the-Middle 625.9 Information and Identity Theft 625.10 Social Engineering 635.11 Denial of Service 635.12 Concerns 635.13 Conclusion 64References 646 SMART ENERGY-EFFICIENT TECHNIQUES FOR LARGE-SCALE PROCESS INDUSTRIES 67B Koti Reddy and N V Raghavaiah6.1 Pumps Operation 676.1.1 Parts in a Centrifugal Pump 686.1.2 Pump Efficiency 686.1.3 VFD 706.1.4 VFD and Pump Motor 726.1.5 Large HT Motors 736.1.6 Smart Pumps 736.2 Vapour Absorption Refrigeration System 746.2.1 Vapour Compression Refrigeration 746.2.2 Vapour Absorption Refrigeration 756.3 Heat Recovery Equipment 776.3.1 Case Study 776.3.2 Advantages of Heat Recovery 786.4 Lighting System 786.4.1 Technical Terms 786.4.2 Introduction 786.4.3 LED Lighting 796.4.4 Energy-Efficiency Techniques 796.4.5 Light Control with IoT 806.4.5.1 Wipro Scheme 806.4.5.2 Tata Scheme 806.4.6 EU Practices 816.5 Air Conditioners 826.5.1 Technical Terms 826.5.2 Types of Air Conditioners 826.5.3 Star Rating of BEE 836.5.4 EU Practices 836.5.5 Energy-Efficiency Tips 836.5.6 Inverter Air Conditioners 856.5.7 IoT-Based Air Conditioners 856.6 Fans and Other Smart Appliances 866.6.1 BLDC Fan Motors 876.6.2 Star Ratings 876.6.3 Group Drive of Fans 886.6.4 Other Smart Appliances 886.7 Motors 926.7.1 Motor Efficiency 926.7.2 Underrated Operation 936.7.3 Energy-Efficient Motors 946.7.3.1 Energy-Efficiency Ratings of BEE 946.7.3.2 Energy-Efficiency Ratings of IEC 946.7.4 Retrofit of Standard Motors with Energy-Efficient Motors 966.7.5 Other Salient Points 976.7.6 Use of Star-Delta Starter Motor 976.8 Energy-Efficient Transformers 986.8.1 IEC Recommendation 986.8.2 Super Conducting Transformers 99References 997 LINK RESTORATION AND RELAY NODE PLACEMENT IN PARTITIONED WIRELESS SENSOR NETWORK 101Manwinder Singh and Anudeep Gandam7.1 Introduction 1017.2 Related Work 1037.2.1 Existing Techniques 1057.3 Proposed K-Means Clustering Algorithm 1057.3.1 Homogenous and Heterogeneous Network Clustering Algorithms 1057.3.2 Dynamic and Static Clustering 1057.3.2.1 Routing 1067.3.3 Flow Diagram 1067.3.4 Objective Function 1067.4 System Model and Assumption 1087.4.1 Simulation Parameters 1087.4.1.1 Residual Energy 1087.4.1.2 End-to-End Delay 1097.4.1.3 Number of Hops or Hop Count in the Network 1097.5 Results and Discussion 1097.6 Conclusions 114References 1158 FREQUENCY MODULATED PV POWERED MLI FED INDUCTION MOTOR DRIVE FOR WATER PUMPING APPLICATIONS 119Arunkumar S, Mohana Sundaram N and K. Malarvizhi8.1 Introduction 1198.2 PV Panel as Energy Source 1208.2.1 Solar Cell 1208.3 Multi-Level Inverter Topologies 1218.3.1 Types of Inverters Used for Drives 1218.3.2 Multi-Level Inverters 1218.4 Experimental Results and Discussion 1228.4.1 PV Powered H Bridge Inverter-Fed Drive 1238.4.2 PV Powered DCMLI Fed Drive 1268.5 Conclusion and Future Scope 128References 1299 ANALYSIS AND DESIGN OF BIDIRECTIONAL CIRCUITS FOR ENERGY STORAGE APPLICATION 131Suresh K, Sanjeevikumar Padmanaban and S Vivek9.1 Introduction 1319.2 Modes of Operation Based on Main Converters 1339.2.1 Single-Stage Rectification 1349.2.2 Single-Stage Inversion 1359.2.3 Double-Stage Rectification 1379.2.3.1 Duty Mode - Interval -I 1379.2.3.2 Freewheeling Mode - Interval -II 1389.2.4 Double-Stage Inversion 1399.2.4.1 Charging Mode - Interval -I 1409.2.4.2 Duty Mode - Interval -II 1419.3 Proposed Methodology for Three-Phase System 1419.3.1 Control Block of Overall System 1439.3.2 Proposed Carrier-Based PWM Strategy 1449.3.3 Experiment Results 1459.4 Conclusion 148References 14810 LOW-POWER IOT-ENABLED ENERGY SYSTEMS 151Yogini Dilip Borole and Dr. C. G. Dethe10.1 Overview 15110.1.1 Conceptions 15110.1.2 Motivation 15210.1.3 Methodology 15410.2 Empowering Tools 15610.2.1 Sensing Components 15610.2.2 Movers 15910.2.3 Telecommunication Technology 16010.2.4 Internet of Things Information and Evaluation 16610.2.4.1 Distributed Evaluation 16610.2.4.2 Fog Computing (Edge Computing) 16710.3 Internet of Things within Power Region 16710.3.1 Internet of Things along with Vitality Production 16810.3.2 Smart Metropolises 16810.3.3 Intelligent Lattice Network 17110.3.4 Smart Buildings Structures 17210.3.5 Powerful Usage of Vitality in Production 17310.3.6 Insightful Transport 17410.4 Difficulties - Relating Internet of Things 17410.4.1 Vitality Ingestion 17810.4.2 Synchronization via Internet of Things through Sub-Units 17810.4.3 Client Confidentiality 18010.4.4 Safety Challenges 18010.4.5 IoT Standardization and Architectural Concept 18110.5 Upcoming Developments 18210.5.1 IoT and Block Chain 18210.5.2 Artificial Intelligence and IoT 18410.5.3 Green IoT 18510.6 Conclusion 187References 18811 EFFICIENT RENEWABLE ENERGY SYSTEMS 199Prabhansu and Nayan KumarIntroduction 19911.1 Renewable-Based Available Technologies 20011.1.1 Wind Power 20111.1.1.1 Modeling of the Wind Turbine Generator (WTG) 20111.1.1.2 Categorization of Wind Turbine 20211.1.2 Solar Power 20211.1.2.1 PV System 20211.1.2.2 Network-Linked Photovoltaic Grid-Connected PV Set-Up 20311.1.3 Tidal Energy 20311.1.4 Battery Storage System 20411.1.5 Solid Oxide Energy Units for Enhancing Power Life 20411.1.5.1 Common Utility of SOFC 20411.1.5.2 Integrated Solid Oxide Energy Components and Sustainable Power Life 20511.2 Adaptability Frameworks 20611.2.1 Distributed Energy Resources (DER) 20611.2.2 New Age Grid Connection 20911.3 Conclusion 210References 21112 EFFICIENT RENEWABLE ENERGY SYSTEMS 215Dr. Arvind Dhingra12.1 Introduction 21512.1.1 World Energy Scenario 21512.2 Sources of Energy: Classification 21712.3 Renewable Energy Systems 21712.3.1 Solar Energy 21812.3.2 Wind 21812.3.3 Geothermal 21812.3.4 Biomass 21812.3.5 Ocean 21812.3.6 Hydrogen 21812.4 Solar Energy 21812.5 Wind Energy 22312.6 Geothermal Energy 22512.7 Biomass 22612.7.1 Forms of Biomass 22612.8 Ocean Power 22712.9 Hydrogen 22712.10 Hydro Power 22712.11 Conclusion 227References 22713 AGRICULTURE-IOT-BASED SPRINKLER SYSTEM FOR WATER AND FERTILIZER CONSERVATION AND MANAGEMENT 229Dilip Kumar and Ujala Choudhury13.1 Introduction 22913.1.1 Novelty of the Work 23213.1.2 Benefit to Society 23213.2 Development of the Proposed System 23313.3 System Description 23313.3.1 Study of the Crop Under Experiment 23313.3.2 Hardware of the System 23513.3.3 Software of the System 23513.4 Layers of the System Architecture 23613.4.1 Application Layer 23613.4.2 Cloud Layer 23713.4.3 Network Layer 23713.4.4 Physical Layer 23713.5 Calibration 23713.6 Layout of the Sprinkler System 23913.7 Testing 23913.8 Results and Discussion 24113.9 Conclusion 242References 24214 A BEHAVIOUR-BASED AUTHENTICATION TO INTERNET OF THINGS USING MACHINE LEARNING 245Mohit Goyal and Durgesh Srivastava14.1 Introduction 24614.2 Basics of Internet of Things (IoT) 24614.2.1 The IoT Reference Model 24814.2.2 Working of IoT 24914.2.2.1 Device 24914.2.2.2 Connectivity to Cloud 25014.2.2.3 Data Analysis 25014.2.2.4 User Interface 25014.2.3 Utilization of Internet of Things (IoT) 25014.3 Authentication in IoT 25114.3.1 Methods of Authentication 25114.3.1.1 Authentication Based on Knowledge 25214.3.1.2 Authentication Based on Possession 25214.3.1.3 Authentication Based on Biometric 25314.4 User Authentication Based on Behavioral-Biometric 25514.4.1 Machine Learning 25614.4.1.1 Supervised Machine Learning 25614.4.1.2 Unsupervised Machine Learning 25614.4.2 Machine Learning Algorithms 25714.4.2.1 RIPPER 25714.4.2.2 Multilayer Perceptron 25714.4.2.3 Decision Tree 25714.4.2.4 Random Forest 25814.4.2.5 Instance-Based Learning 25814.4.2.6 Bootstrap Aggregating 25814.4.2.7 Naïve Bayes 25814.5 Threats and Challenges in the Current Security Solution for IoT 25814.6 Proposed Methodology 25914.6.1 Collection of Gait Dataset 25914.6.2 Gait Data Preprocessing 25914.6.3 Reduction in Data Size 26014.6.4 Gaits Feature 26014.6.5 Classification 26014.7 Conclusion and Future Work 261References 26115 A FUZZY GOAL PROGRAMMING MODEL FOR QUALITY MONITORING OF FRUITS DURING SHIPMENT OVERSEAS 265Pushan Kr. Dutta, Somsubhra Gupta, Simran Kumari and Akshay Vinayak15.1 Introduction 26515.2 Proposed System 26615.2.1 Problem Statement 26615.2.2 Overview 26615.2.3 System Components 26815.3 Work Process 27115.3.1 System Hardware 27115.3.2 Connections and Circuitry 27115.4 Optimization Framework 27115.4.1 Fuzzy Goal Description 27115.4.2 Characterizing Fuzzy Membership Function 27215.4.3 Construction of FGP Model 27215.4.4 Definition of Variables and Parameters 27315.4.5 Fuzzy Goal Description 27415.5 Creation of Database and Website 27515.5.1 Hosting PHP Application and Creation of MySQL Database 27515.5.2 Creation of API (Application Programming Interfaces) Key 27515.5.2.1 $api_key_value = “3mM44UaC2DjFcV_63GZ14aWJcRDNmYBMsxceu”; 27515.5.2.2 Preparing Mysql Database 27515.5.2.3 Structured Query Language (SQL) 27515.5.2.4 Use of HTTP (Hypertext Transfer Protocol) in Posting Request 27615.5.2.5 Adding a Dynamic Map to the Website 27715.5.2.6 Adding Dynamic Graph to the Website 27715.5.2.7 Adding the Download Option of the Data Set 27815.6 Libraries Used and Code Snipped 27815.7 Mode of Communication 28015.8 Conclusion 280Abbreviations 282References 28216 INTERNET OF THINGS – DEFINITION, ARCHITECTURE, APPLICATIONS, REQUIREMENTS AND KEY RESEARCH CHALLENGES 285Dushyant Kumar Singh, Himani Jerath and P. Raja16.1 Introduction 28516.2 Defining the Term Internet of Things (IoT) 28616.3 IoT Architecture 28716.4 Applications of Internet of Things (IoT) 28916.5 Requirement for Internet of Things (IoT) Implementation 29016.6 Key Research Challenges in Internet of Things (IoT) 29116.6.1 Computing, Communication and Identification 29116.6.2 Network Technology 29216.6.3 Greening of Internet of Things (IoT) 29216.6.4 Security 29316.6.5 Diversity 29316.6.6 Object Safety and Security 29316.6.7 Data Confidentiality and Unauthorized Access 29316.6.8 Architecture 29316.6.9 Network and Routing Information Security 293References 29417 FINFET TECHNOLOGY FOR LOW-POWER APPLICATIONS 297Bindu Madhavi, Suman Lata Tripathi and Bhagwan Shree Ram17.1 Introduction 29717.2 Exiting Multiple-Gate MOSFET Architectures 29917.3 FinFET Design and Analysis 30117.4 Low-Power Applications 30417.4.1 FinFET-Based Digital Circuit Design 30417.4.2 FinFET-Based Memory Design 30417.4.3 FinFET-Based Biosensors 30417.5 Conclusion 305References 30518 AN ENHANCED POWER QUALITY SINGLE-SOURCE LARGE STEP-UP SWITCHED-CAPACITOR BASED MULTI-LEVEL INVERTER CONFIGURATION WITH NATURAL VOLTAGE BALANCING OF CAPACITORS 307Mahdi Karimi, Paria Kargar, Kazem Varesi and Sanjeevikumar Padmanaban18.1 Introduction 30718.2 Suggested Topology 30918.2.1 Circuit Configuration 30918.2.2 Generation of Output Voltage Steps 31018.2.3 Voltage Stress of Switches 32018.3 Cascaded Configuration of Suggested Topology 32018.4 Modulation Technique 32118.5 Power Loss Analysis 32418.5.1 Conduction Losses 32418.5.2 Switching Losses 32618.5.3 Capacitor Losses 32718.6 Design of Capacitors 32818.7 Comparative Analysis 33018.8 Simulation Results 33318.9 Conclusions 336References 336Index 339
Equity of Cybersecurity in the Education System
Every organization faces cyberthreats, cyberattacks, and technology breaches. Schools are no different.But professors, instructors, educators, and school systems have mostly failed to promote cybersecurity, leaving themselves—and their students—at risk.Joseph O. Esin highlights the serious nature of the problem in this book. He answers questions such as:• What does a well-structured plan to prevent cyber-threats look like?• How can we promote equity of cybersecurity in education system?• Where do cyber threats rank compared with other dangers?• How can high schools, colleges, and universities promote cybersecurity endeavors?The best way to prevent cyberattacks is to create a professional education alliance that promotes meaningful change. High school, colleges, universities, professors, educators, and support personnel must come to the table to make prevention a priority.Get a clear understanding of the problem and respond with meaningful measures with the insights and information in The Equity of Cybersecurity in the Education System.
Multi-Processor System-on-Chip 1
A Multi-Processor System-on-Chip (MPSoC) is the key component for complex applications. These applications put huge pressure on memory, communication devices and computing units. This book, presented in two volumes – Architectures and Applications – therefore celebrates the 20th anniversary of MPSoC, an interdisciplinary forum that focuses on multi-core and multi-processor hardware and software systems. It is this interdisciplinarity which has led to MPSoC bringing together experts in these fields from around the world, over the last two decades.Multi-Processor System-on-Chip 1 covers the key components of MPSoC: processors, memory, interconnect and interfaces. It describes advance features of these components and technologies to build efficient MPSoC architectures. All the main components are detailed: use of memory and their technology, communication support and consistency, and specific processor architectures for general purposes or for dedicated applications. LILIANA ANDRADE is Associate Professor at TIMA Lab, Universite Grenoble Alpes in France. She received her PhD in Computer Science, Telecommunications and Electronics from Universite Pierre et Marie Curie in 2016. Her research interests include system-level modeling/validation of systems-on-chips, and the acceleration of heterogeneous systems simulation. FREDERIC ROUSSEAU is Full Professor at TIMA Lab, Universite Grenoble Alpes in France. His research interests concern Multi-Processor Systems-on-Chip design and architecture, prototyping of hardware/software systems including reconfigurable systems and highlevel synthesis for embedded systems. Foreword xiiiAhmed JERRAYAAcknowledgments xvLiliana ANDRADE and Frédéric ROUSSEAUPART 1. PROCESSORS 1CHAPTER 1. PROCESSORS FOR THE INTERNET OF THINGS 3Pieter VAN DER WOLF and Yankin TANURHAN1.1. Introduction 31.2. Versatile processors for low-power IoT edge devices 41.2.1. Control processing, DSP and machine learning 41.2.2. Configurability and extensibility 61.3. Machine learning inference 81.3.1. Requirements for low/mid-end machine learning inference 101.3.2. Processor capabilities for low-power machine learning inference 141.3.3. A software library for machine learning inference 171.3.4. Example machine learning applications and benchmarks 201.4. Conclusion 231.5. References 24CHAPTER 2. A QUALITATIVE APPROACH TO MANY-CORE ARCHITECTURE 27Benoît DUPONT DE DINECHIN2.1. Introduction 282.2. Motivations and context 292.2.1. Many-core processors 292.2.2. Machine learning inference 302.2.3. Application requirements 322.3. The MPPA3 many-core processor 342.3.1. Global architecture 342.3.2. Compute cluster 362.3.3. VLIW core 382.3.4. Coprocessor 392.4. The MPPA3 software environments 422.4.1. High-performance computing 422.4.2. KaNN code generator 432.4.3. High-integrity computing 462.5. Conclusion 472.6. References 48CHAPTER 3. THE PLURAL MANY-CORE ARCHITECTURE – HIGH PERFORMANCE AT LOW POWER 53Ran GINOSAR3.1. Introduction 543.2. Related works 553.3. Plural many-core architecture 553.4. Plural programming model 563.5. Plural hardware scheduler/synchronizer 583.6. Plural networks-on-chip 613.6.1. Schedule rNoC 613.6.2. Shared memory NoC 613.7. Hardware and software accelerators for the Plural architecture 623.8. Plural system software 633.9. Plural software development tools 653.10. Matrix multiplication algorithm on the Plural architecture 653.11. Conclusion 673.12. References 67CHAPTER 4. ASIP-BASED MULTI-PROCESSOR SYSTEMS FOR AN EFFICIENT IMPLEMENTATION OF CNNS 69Andreas BYTYN, René AHLSDORF and Gerd ASCHEID4.1. Introduction 704.2. Related works 714.3. ASIP architecture 744.4. Single-core scaling 754.5. MPSoC overview 784.6. NoC parameter exploration 794.7. Summary and conclusion 824.8. References 83PART 2. MEMORY 85CHAPTER 5. TACKLING THE MPSOC DATA LOCALITY CHALLENGE 87Sven RHEINDT, Akshay SRIVATSA, Oliver LENKE, Lars NOLTE, Thomas WILD and Andreas HERKERSDORF5.1. Motivation 885.2. MPSoC target platform 905.3. Related work 915.4. Coherence-on-demand: region-based cache coherence 925.4.1. RBCC versus global coherence 935.4.2. OS extensions for coherence-on-demand 945.4.3. Coherency region manager 945.4.4. Experimental evaluations 975.4.5. RBCC and data placement 995.5. Near-memory acceleration 1005.5.1. Near-memory synchronization accelerator 1025.5.2. Near-memory queue management accelerator 1045.5.3. Near-memory graph copy accelerator 1075.5.4. Near-cache accelerator 1105.6. The big picture 1115.7. Conclusion 1135.8. Acknowledgments 1145.9. References 114CHAPTER 6. MMPU: BUILDING A MEMRISTOR-BASED GENERAL-PURPOSE IN-MEMORY COMPUTATION ARCHITECTURE 119Adi ELIAHU, Rotem BEN HUR, Ameer HAJ ALI and Shahar KVATINSKY6.1. Introduction 1206.2. MAGIC NOR gate 1216.3. In-memory algorithms for latency reduction 1226.4. Synthesis and in-memory mapping methods 1236.4.1. SIMPLE 1246.4.2. SIMPLER 1266.5. Designing the memory controller 1276.6. Conclusion 1296.7. References 130CHAPTER 7. REMOVING LOAD/STORE HELPERS IN DYNAMIC BINARY TRANSLATION 133Antoine FARAVELON, Olivier GRUBER and Frédéric PÉTROT7.1. Introduction 1347.2. Emulating memory accesses 1367.3. Design of our solution 1407.4. Implementation 1437.4.1. Kernel module 1437.4.2. Dynamic binary translation 1457.4.3. Optimizing our slow path 1477.5. Evaluation 1497.5.1. QEMU emulation performance analysis 1507.5.2. Our performance overview 1517.5.3. Optimized slow path 1537.6. Related works 1557.7. Conclusion 1577.8. References 158CHAPTER 8. STUDY AND COMPARISON OF HARDWARE METHODS FOR DISTRIBUTING MEMORY BANK ACCESSES IN MANY-CORE ARCHITECTURES 161Arthur VIANES and Frédéric ROUSSEAU8.1. Introduction 1628.1.1. Context 1628.1.2. MPSoC architecture 1638.1.3. Interconnect 1648.2. Basics on banked memory 1658.2.1. Banked memory 1658.2.2. Memory bank conflict and granularity 1668.2.3. Efficient use of memory banks: interleaving 1688.3. Overview of software approaches 1708.3.1. Padding 1708.3.2. Static scheduling of memory accesses 1728.3.3. The need for hardware approaches 1728.4. Hardware approaches 1728.4.1. Prime modulus indexing 1728.4.2. Interleaving schemes using hash functions 1748.5. Modeling and experimenting 1818.5.1. Simulator implementation 1828.5.2. Implementation of the Kalray MPPA cluster interconnect 1828.5.3. Objectives and method 1848.5.4. Results and discussion 1858.6. Conclusion 1918.7. References 192PART 3. INTERCONNECT AND INTERFACES 195CHAPTER 9. NETWORK-ON-CHIP (NOC): THE TECHNOLOGY THAT ENABLED MULTI-PROCESSOR SYSTEMS-ON-CHIP (MPSOCS) 197K. Charles JANAC9.1. History: transition from buses and crossbars to NoCs 1989.1.1.NoC architecture 2029.1.2. Extending the bus comparison to crossbars 2079.1.3. Bus, crossbar and NoC comparison summary and conclusion 2079.2. NoC configurability 2089.2.1. Human-guided design flow 2089.2.2. Physical placement awareness and NoC architecture design 2099.3. System-level services 2119.3.1. Quality-of-service (QoS) and arbitration 2119.3.2. Hardware debug and performance analysis 2129.3.3. Functional safety and security 2129.4. Hardware cache coherence 2159.4.1. NoC protocols, semantics and messaging 2169.5. Future NoC technology developments 2179.5.1. Topology synthesis and floorplan awareness 2179.5.2. Advanced resilience and functional safety for autonomous vehicles 2189.5.3. Alternatives to von Neumann architectures for SoCs 2199.5.4. Chiplets and multi-die NoC connectivity 2219.5.5. Runtime software automation 2229.5.6. Instrumentation, diagnostics and analytics for performance, safety and security 2239.6. Summary and conclusion 2249.7. References 224CHAPTER 10. MINIMUM ENERGY COMPUTING VIA SUPPLY AND THRESHOLD VOLTAGE SCALING 227Jun SHIOMI and Tohru ISHIHARA10.1. Introduction 22810.2. Standard-cell-based memory for minimum energy computing 23010.2.1. Overview of low-voltage on-chip memories 23010.2.2. Design strategy for area- and energy-efficient SCMs 23410.2.3. Hybrid memory design towards energy- and area-efficient memory systems 23610.2.4. Body biasing as an alternative to power gating 23710.3. Minimum energy point tracking 23810.3.1. Basic theory 23810.3.2. Algorithms and implementation 24410.3.3. OS-based approach to minimum energy point tracking 24610.4. Conclusion 24910.5. Acknowledgments 24910.6. References 250CHAPTER 11. MAINTAINING COMMUNICATION CONSISTENCY DURING TASK MIGRATIONS IN HETEROGENEOUS RECONFIGURABLE DEVICES 255Arief WICAKSANA, OlivierMULLER, Frédéric ROUSSEAU and Arif SASONGKO11.1. Introduction 25611.1.1. Reconfigurable architectures 25611.1.2. Contribution 25711.2. Background 25711.2.1. Definitions 25811.2.2. Problem scenario and technical challenges 25911.3. Related works 26111.3.1. Hardware context switch 26111.3.2. Communication management 26211.4. Proposed communication methodology in hardware context switching 26311.5. Implementation of the communication management on reconfigurable computing architectures 26611.5.1. Reconfigurable channels in FIFO 26711.5.2. Communication infrastructure 26811.6. Experimental results 26911.6.1. Setup 26911.6.2. Experiment scenario 27011.6.3. Resource overhead 27111.6.4. Impact on the total execution time 27311.6.5. Impact on the context extract and restore time 27511.6.6. System responsiveness to context switch requests 27611.6.7. Hardware task migration between heterogeneous FPGAs 28011.7. Conclusion 28211.8. References 283List of Authors 287Authors Biographies 291Index 299
Smart and Sustainable Intelligent Systems
The world is experiencing an unprecedented period of change and growth through all the electronic and technilogical developments and everyone on the planet has been impacted. What was once ‘science fiction’, today it is a reality.This book explores the world of many of once unthinkable advancements by explaining current technologies in great detail. Each chapter focuses on a different aspect - Machine Vision, Pattern Analysis and Image Processing - Advanced Trends in Computational Intelligence and Data Analytics - Futuristic Communication Technologies - Disruptive Technologies for Future Sustainability. The chapters include the list of topics that spans all the areas of smart intelligent systems and computing such as: Data Mining with Soft Computing, Evolutionary Computing, Quantum Computing, Expert Systems, Next Generation Communication, Blockchain and Trust Management, Intelligent Biometrics, Multi-Valued Logical Systems, Cloud Computing and security etc. An extensive list of bibliographic references at the end of each chapter guides the reader to probe further into application area of interest to him/her.NAMITA GUPTA is the Head of Computer Science and Engineering Department at Maharaja Agrasen Institute of Technology, GGSIP University, Delhi, India. She has more than 20 years of teaching experience and has played active role in research and project development. Her current areas of interest and research includes data mining, databases and machine learning.PRASENJIT CHATTERJEE is an associate professor in the Mechanical Engineering Department at MCKV Institute of Engineering, India. He has more than 80 research papers in various international SCI journals. Dr. Chatterjee is one of the developers of a new multiple-criteria decision-making method called Measurement of Alternatives and Ranking according to Compromise Solution (MARCOS).TANUPRIYA CHOUDHURY received his PhD degree in the year 2016 and is an associate professor in Dept. of Computer Science and Engineering at UPES Dehradun, India. His areas of interests include human computing, soft computing, cloud computing, and data mining. He has filed 14 patents till date and received 16 copyrights from MHRD for his own software. He has authored more than 85 research papers.
Building Secure Cars
BUILDING SECURE CARSEXPLORES HOW THE AUTOMOTIVE INDUSTRY CAN ADDRESS THE INCREASED RISKS OF CYBERATTACKS AND INCORPORATE SECURITY INTO THE SOFTWARE DEVELOPMENT LIFECYCLEWhile increased connectivity and advanced software-based automotive systems provide tremendous benefits and improved user experiences, they also make the modern vehicle highly susceptible to cybersecurity attacks. In response, the automotive industry is investing heavily in establishing cybersecurity engineering processes. Written by a seasoned automotive security expert with abundant international industry expertise, Building Secure Cars: Assuring the Automotive Software Development Lifecycle introduces readers to various types of cybersecurity activities, measures, and solutions that can be applied at each stage in the typical automotive development process.This book aims to assist auto industry insiders build more secure cars by incorporating key security measures into their software development lifecycle. Readers will learn to better understand common problems and pitfalls in the development process that lead to security vulnerabilities. To overcome such challenges, this book details how to apply and optimize various automated solutions, which allow software development and test teams to identify and fix vulnerabilities in their products quickly and efficiently. This book balances technical solutions with automotive technologies, making implementation practical. Building Secure Cars is:* One of the first books to explain how the automotive industry can address the increased risks of cyberattacks, and how to incorporate security into the software development lifecycle* An optimal resource to help improve software security with relevant organizational workflows and technical solutions* A complete guide that covers introductory information to more advanced and practical topics* Written by an established professional working at the heart of the automotive industry* Fully illustrated with tables and visuals, plus real-life problems and suggested solutions to enhance the learning experienceThis book is written for software development process owners, security policy owners, software developers and engineers, and cybersecurity teams in the automotive industry. All readers will be empowered to improve their organizations’ security postures by understanding and applying the practical technologies and solutions inside. DR. DENNIS KENGO OKA is an automotive cybersecurity expert with more than 15 years of global experience in the automotive industry. He received his Ph.D. in Computer Science and Engineering, with a focus on automotive security, from Chalmers University of Technology in Sweden. In the past, Dennis has worked with Volvo Car Corporation in Sweden where he bootstrapped automotive security research for remote diagnostics and over-the-air updates on vehicles. He has also worked for the Bosch Group in Japan serving both Japanese and global customers. Specifically, Dennis co-launched the automotive security practice (ESCRYPT) in Japan and was the Head of Engineering and Consulting Asia-Pacific. Dennis has also been involved in several automotive standardization activities, including the development of fuzz testing guidelines and cybersecurity testing frameworks. He has over 60 publications consisting of conference papers, journal articles, and book chapters, and is a frequent public speaker at international automotive and cybersecurity conferences and events.Preface xiAbout the Author xiii1 OVERVIEW OF THE CURRENT STATE OF CYBERSECURITY IN THE AUTOMOTIVE INDUSTRY 11.1 Cybersecurity Standards, Guidelines, and Activities 31.2 Process Changes, Organizational Changes, and New Solutions 61.3 Results from a Survey on Cybersecurity Practices in the Automotive Industry 81.3.1 Survey Methods 81.3.2 Report Results 91.3.2.1 Organizational Challenges 91.3.2.2 Technical Challenges 101.3.2.3 Product Development and Security Testing Challenges 111.3.2.4 Supply Chain and Third-Party Components Challenges 111.3.3 How to Address the Challenges 121.3.3.1 Organizational Takeaways 121.3.3.2 Technical Takeaways 131.3.3.3 Product Development and Security Testing Takeaways 131.3.3.4 Supply Chain and Third-Party Components Takeaways 131.3.3.5 Getting Started 141.3.3.6 Practical Examples of Organizations Who Have Started 151.4 Examples of Vulnerabilities in the Automotive Industry 161.5 Chapter Summary 18References 192 INTRODUCTION TO SECURITY IN THE AUTOMOTIVE SOFTWARE DEVELOPMENT LIFECYCLE 232.1 V-Model Software Development Process 242.2 Challenges in Automotive Software Development 252.3 Security Solutions at each Step in the V-Model 262.3.1 Cybersecurity Requirements Review 272.3.2 Security Design Review 272.3.3 Threat Analysis and Risk Assessment 272.3.4 Source Code Review 282.3.5 Static Code Analysis 282.3.6 Software Composition Analysis 292.3.7 Security Functional Testing 292.3.8 Vulnerability Scanning 292.3.9 Fuzz Testing 302.3.10 Penetration Testing 302.3.11 Incident Response and Updates 312.3.12 Continuous Cybersecurity Activities 322.3.13 Overall Cybersecurity Management 322.4 New Technical Challenges 322.5 Chapter Summary 34References 353 AUTOMOTIVE-GRADE SECURE HARDWARE 373.1 Need for Automotive Secure Hardware 393.2 Different Types of HSMs 413.3 Root of Trust: Security Features Provided by Automotive HSM 433.3.1 Secure Boot 443.3.2 Secure In-Vehicle Communication 453.3.3 Secure Host Flashing 463.3.4 Secure Debug Access 473.3.5 Secure Logging 473.4 Chapter Summary 48References 484 NEED FOR AUTOMATED SECURITY SOLUTIONS IN THE AUTOMOTIVE SOFTWARE DEVELOPMENT LIFECYCLE 514.1 Main Challenges in the Automotive Industry 534.2 Automated Security Solutions During the Product Development Phases 554.2.1 Static Code Analysis 554.2.2 Software Composition Analysis 574.2.3 Security Testing 584.2.4 Automation and Traceability During Software Development 594.3 Solutions During Operations and Maintenance Phases 594.3.1 Cybersecurity Monitoring, Vulnerability Management, Incident Response, and OTA Updates 594.4 Chapter Summary 61References 615 STATIC CODE ANALYSIS FOR AUTOMOTIVE SOFTWARE 635.1 Introduction to MISRA and AUTOSAR Coding Guidelines 685.2 Problem Statement: MISRA and AUTOSAR Challenges 755.3 Solution: Workflow for Code Segmentation, Guideline Policies, and Deviation Management 795.3.1 Step 1: Segment the Codebase into Different Categories/Components Based on Risk 805.3.2 Step 2: Specify Guideline Policies (Set of Guidelines to Apply) Depending on Risk Categories 815.3.3 Step 3: Perform the Scan and Plan the Approach for Prioritization of Findings 825.3.4 Step 4: Prioritize Findings Based on the Risk Categories and Guideline Policies and Determine How to Handle Each Finding, e.g. Fix or Leave as Deviation 835.3.5 Step 5: Follow a Defined Deviation Management Process, Including Approval Steps 845.3.6 Step 6: Report on MISRA or AUTOSAR Coding Guidelines Compliance Including Deviations 865.4 Chapter Summary 87References 886 SOFTWARE COMPOSITION ANALYSIS IN THE AUTOMOTIVE INDUSTRY 916.1 Software Composition Analysis: Benefits and Usage Scenarios 956.2 Problem Statement: Analysis of Automotive Software Open-Source Software Risks 986.2.1 Analysis Results 986.2.1.1 zlib 996.2.1.2 libpng 996.2.1.3 OpenSSL 996.2.1.4 curl 996.2.1.5 Linux Kernel 1006.2.2 Discussion 1006.3 Solution: Countermeasures on Process and Technical Levels 1016.3.1 Fully Inventory Open-Source Software 1016.3.2 Use Appropriate Software Composition Analysis Approaches 1026.3.3 Map Open-Source Software to Known Security Vulnerabilities 1026.3.4 Identify License, Quality, and Security Risks 1036.3.5 Create and Enforce Open-Source Software Risk Policies 1046.3.6 Continuously Monitor for New Security Threats and Vulnerabilities 1046.3.7 Define and Follow Processes for Addressing Vulnerabilities in Open-Source Software 1056.3.8 How to Get Started 1066.4 Chapter Summary 107References 1087 OVERVIEW OF AUTOMOTIVE SECURITY TESTING APPROACHES 1117.1 Practical Security Testing 1157.1.1 Security Functional Testing 1177.1.2 Vulnerability Scanning 1197.1.3 Fuzz Testing 1217.1.4 Penetration Testing 1227.2 Frameworks for Security Testing 1257.3 Focus on Fuzz Testing 1297.3.1 Fuzz Engine 1307.3.2 Injector 1347.3.3 Monitor 1367.4 Chapter Summary 140References 1418 AUTOMATING FUZZ TESTING OF IN-VEHICLE SYSTEMS BY INTEGRATING WITH AUTOMOTIVE TEST TOOLS 1458.1 Overview of HIL Systems 1478.2 Problem Statement: SUT Requires External Input and Monitoring 1508.3 Solution: Integrating Fuzz Testing Tools with HIL Systems 1528.3.1 White-Box Approach for Fuzz Testing Using HIL System 1578.3.1.1 Example Test Setup Using an Engine ECU 1598.3.1.2 Fuzz Testing Setup for the Engine ECU 1618.3.1.3 Fuzz Testing Setup Considerations 1658.3.2 Black-Box Approach for Fuzz Testing Using HIL System 1668.3.2.1 Example Target System Setup Using Engine and Body Control Modules 1688.3.2.2 Fuzz Testing Setup Using Duplicate Engine and Body Control Modules 1718.3.2.3 Fuzz Testing Setup Considerations 1758.4 Chapter Summary 176References 1779 IMPROVING FUZZ TESTING COVERAGE BY USING AGENT INSTRUMENTATION 1799.1 Introduction to Agent Instrumentation 1829.2 Problem Statement: Undetectable Vulnerabilities 1839.2.1 Memory Leaks 1849.2.2 Core Dumps and Zombie Processes 1859.2.3 Considerations for Addressing Undetectable Vulnerabilities 1879.3 Solution: Using Agents to Detect Undetectable Vulnerabilities 1879.3.1 Overview of the Test Environment 1889.3.2 Modes of Operation 1899.3.2.1 Synchronous Mode 1909.3.2.2 Asynchronous Mode 1919.3.2.3 Hybrid Approach 1929.3.3 Examples of Agents 1939.3.3.1 Agent Core Dump 1939.3.3.2 Agent Log Tailer 1949.3.3.3 Agent Process Monitor 1949.3.3.4 Agent PID 1949.3.3.5 Agent Address Sanitizer 1959.3.3.6 Agent Valgrind 1959.3.3.7 An Example config.json Configuration File 1969.3.4 Example Results from Agent Instrumentation 1979.3.4.1 Bluetooth Fuzz Testing 1989.3.4.2 Wi-Fi Fuzz Testing 1999.3.4.3 MQTT Fuzz Testing 2019.3.4.4 File Format Fuzz Testing 2039.3.5 Applicability and Automation 2069.4 Chapter Summary 207References 20810 AUTOMATING FILE FUZZING OVER USB FOR AUTOMOTIVE SYSTEMS 21110.1 Need for File Format Fuzzing 21310.2 Problem Statement: Manual Process for File Format Fuzzing 21510.3 Solution: Emulated Filesystems to Automate File Format Fuzzing 21610.3.1 System Architecture Overview 21710.3.2 Phase One Implementation Example: Prepare Fuzzed Files 21910.3.3 Phase Two Implementation Example: Automatically Emulate Filesystems 22310.3.4 Automating User Input 22810.3.5 Monitor for Exceptions 23110.4 Chapter Summary 236References 23711 AUTOMATION AND TRACEABILITY BY INTEGRATING APPLICATION SECURITY TESTING TOOLS INTO ALM SYSTEMS 24111.1 Introduction to ALM Systems 24211.2 Problem Statement: Tracing Secure Software Development Activities and Results to Requirements and Automating Application Security Testing 24511.3 Solution: Integrating Application Security Testing Tools with ALM Systems 24811.3.1 Concept 24911.3.1.1 Static Code Analysis – Example 24911.3.1.2 Software Composition Analysis – Example 25011.3.1.3 Vulnerability Scanning – Example 25011.3.1.4 Fuzz Testing – Example 25011.3.1.5 Concept Overview 25111.3.2 Example Implementation 25211.3.2.1 Defensics 25211.3.2.2 code Beamer ALM 25211.3.2.3 Jenkins 25211.3.2.4 SUT 25311.3.2.5 Implementation Overview 25311.3.3 Considerations 25811.4 Chapter Summary 262References 26412 CONTINUOUS CYBERSECURITY MONITORING, VULNERABILITY MANAGEMENT, INCIDENT RESPONSE, AND SECURE OTA UPDATES 26712.1 Need for Cybersecurity Monitoring and Secure OTA Updates 26812.2 Problem Statement: Software Inventory, Monitoring Vulnerabilities, and Vulnerable Vehicles 27112.3 Solution: Release Management, Monitoring and Tracking, and Secure OTA Updates 27212.3.1 Release Management 27312.3.2 Monitoring and Tracking 27612.3.2.1 Solutions in Other Industries 27612.3.2.2 Solutions in the Automotive Industry 27712.3.2.3 Example Automotive SOC Overview 27712.3.2.4 Example Automotive SOC Workflow 27912.3.2.5 Newly Detected Vulnerabilities in Open-Source Software – Example 27912.3.3 Secure OTA Updates 28012.3.3.1 Identify Vulnerable Vehicles Targeted for OTA Updates 28112.3.3.2 Perform Secure OTA Updates 28112.3.3.3 Target Systems for OTA Updates 28212.3.3.4 Overview of Secure OTA Update Process for ECUs 28312.3.3.5 Standardization and Frameworks for OTA Updates 28412.4 Chapter Summary 285References 28613 SUMMARY AND NEXT STEPS 289Index 293
Augmented Exploitation
Artificial Intelligence is a seemingly neutral technology, but it is increasingly used to manage workforces and make decisions to hire and fire employees. Its proliferation in the workplace gives the impression of a fairer, more efficient system of management. A machine can't discriminate, after all._Augmented Exploitation_ explores the reality of the impact of AI on workers' lives. While the consensus is that AI is a completely new way of managing a workplace, the authors show that, on the contrary, AI is used as most technologies are used under capitalism: as a smokescreen that hides the deep exploitation of workers.Going beyond platform work and the gig economy, the authors explore emerging forms of algorithmic governance and AI-augmented apps that have been developed to utilise innovative ways to collect data about workers and consumers, as well as to keep wages and worker representation under control. They also show that workers are not taking this lying down, providing case studies of new and exciting form of resistance that are springing up across the globe.FiguresSeries PrefaceAcknowledgementsIntroduction: AI: Making it, Faking it, Breaking it - Phoebe V. Moore and Jamie WoodcockPART I - MAKING IT1. AI Trainers: Who is the Smart Worker Today? - Phoebe V. Moore2. Work Now, Profit Later: AI Between Capital, Labour and Regulation - Toni Prug and Paško Bilić3. Delivering Food on Bikes: Between Machinic Subordination and Autonomy in the Algorithmic Workplace - Benjamin Herr4. Putting the Habitus to Work: Digital Prosumption, Surveillance and Distinction - Eduard Müller5. The Power of Prediction: People Analytics at Work - Uwe Vormbusch and Peter KelsPART II - FAKING IT6. Manufacturing Consent in the Gig Economy - Luca Perrig7. Automated and Autonomous? Technologies Mediating the Exertion and Perception of Labour Control - Beatriz Casas González8. Can Robots Produce Customer Confidence? Contradictions Among Automation, New Mechanisms of Control and Resistances in the Banking Labour Process - Giorgio BoccardoPART III - BREAKING IT9. It Gets Better With Age: AI and the Labour Process in Old and New Gig-Economy Firms - Adam Badger10. Self-Tracking and Sousveillance at Work: Insights from Human-Computer Interaction and Social Science - Marta E. Cecchinato, Sandy J. J. Gould and Frederick Harry Pitts11. Breaking Digital Atomisation: Resistant Cultures of Solidarity in Platform-Based Courier Work - Heiner Heiland and Simon Schaupp12. Resisting the Algorithmic Boss: Guessing, Gaming, Reframing and Contesting Rules in App-Based Management - Joanna Bronowicka and Mirela IvanovaNotes on ContributorsIndex
Beginning Entity Framework Core 5
Use the code-driven approach of Entity Framework Core 5 to build a functional web application that accesses a database on the backend server. This book covers the common use cases of Entity Framework that a developer needs to master in order to begin building applications that run against a database. Throughout the book you will be shown how to use Entity Framework Core 5 by implementing a simple ASP.NET Core Razor Pages line-of-business application. This example application will be similar to those you might write yourself and deploy to your users on a web or intranet site via a browser.This book takes a code-first approach in which your database will be created and seeded programmatically. You won’t need to create the database through your database engine’s interface. Instead, you will be shown how to define your data model in Entity Framework, and then let Entity Framework do the work of creating your database and schema for you. From there you will learn how to seed your database with example data, then to implement the common, so-called CRUD operations consisting of creating, retrieving, updating, and deleting rows of data. By the end of the book you will have built a well-designed application that you can use as the basis for future applications that you create in your job.WHAT YOU WILL LEARN* Download and install Entity Framework Core 5* Perform create, read, update, and delete (CRUD) operations* Create and seed a database with example data using Entity Framework Core 5* Incrementally add new database functionality through Entity Framework Core 5 migrations* Recognize when to take advantage of new features introduced in Entity Framework Core 5* Deliver line-of-business applications using ASP.NET Core that run in a browserWHO THIS BOOKS IS FORDevelopers who are familiar with C# and the .NET Framework who want to learn database access using Entity Framework Core 5. For developers creating web-based, line-of-business applications who want to create those applications more quickly and efficiently when databases are involved.ERIC VOGEL is a seasoned contributor to Visual Studio Magazine and Senior Software Developer at Red Cedar Solutions Group. He has been developing .NET framework web and desktop solutions for 13 years. He holds a bachelor of science degree in computer science from Michigan State University. He is Acting President of the Greater Lansing User Group for .NET. IntroductionPART I. GETTING STARTED1. Installation2. Project StructurePART II. CORE FEATURES3. Entities4. Database Context5. Creating a Database from Code6. Seeding Data7. Getting Data8. Inserting Data9. Updating Data10. Deleting Data11. Navigation PropertiesPART III. ADVANCED FEATURES12. Aggregations13. Stored Procedures14. MigrationsPART IV. A MODEL WEB APPLICATION15. Authentication on the Web16. Displaying Data on the Web17. Inserting Data on the Web18. Updating Data on the Web19. Deleting Data on the Web20. Reporting on the Web21. Authorization on the WebPART V. LEARNING MORE22 Delving Deeper23 Conclusion
Beginning Power Apps
Transform the way your business works with easy-to-build apps. With this updated and expanded second edition, you can build business apps that work with your company's systems and databases, without having to enlist the expertise of costly, professionally trained software developers.In this new edition, business applications expert Tim Leung offers step-by-step guidance on how you can improve all areas of your business. He shows how you can replace manual or paper processes with modern apps that run on phone or tablet devices. For administrative and back-office operations, he covers how to build apps with workflow and dashboard capabilities. To facilitate collaboration with customers and clients, you’ll learn how to build secure web portals with data entry capabilities, including how to customize those portals with code.This hands-on new edition has 10 new chapters—including coverage on model-driven and portal apps, artificial intelligence, building components using the Power Apps Component Framework, using PowerShell for administration, and more—complete with context, explanatory screenshots, and non-technical terminology.WHAT YOU WILL LEARN* Create offline capable mobile apps and responsive web apps* Carry out logic, data access, and data entry through formulas* Embellish apps with charting, file handling, photo, barcode, and location features* Set up Common Data Service, SharePoint, and SQL data sources* Use AI to predict outcomes, recognize images, and analyze sentiment * Integrate apps with external web services and automate tasks with Power Automate * Build reusable code and canvas components, make customizations with JavaScript* Transfer apps and data, and secure, administer, and monitor Power Apps environmentsWHO THIS BOOK IS FORBeginners and non-developers, and assumes no prior knowledge of Power AppsTIM LEUNG is a software developer with more than 10 years of experience in designing and building large-scale commercial applications. He is a recognized expert in the field of rapid application development and his previous publication with Apress, Visual Studio LightSwitch, covers this topic in depth. Tim is a Microsoft certified developer, a chartered member of the British Computer Society, and holds a degree in information technology.PART I: POWER APP FUNDAMENTALSChapter 1: Introducing Power AppsChapter 2: Subscribing to Power AppsChapter 3: Creating Your First AppChapter 4: Sharing AppsChapter 5: Using FormulasPART II: WORKING WITH DATAChapter 6: Setting Up SharePoint, SQL, and moreChapter 7: Working with Tables and RowsChapter 8: Searching and Retrieving DataPART III: DEVELOPING CANVAS APPSChapter 9: Canvas App DesignChapter 10: Using Simple ControlsChapter 11: Using Table/Record Data ControlsPART IV: DEVELOPING MODEL DRIVEN AND PORTAL APPSChapter 12: Building a Dataverse DatabaseChapter 13:Developing Model-Driven AppsChapter 14: Building Portal AppsChapter 15: Retrieving Data from Portal Apps.PART V: ENHANCING APPSChapter 16: Working with Images and MediaChapter 17: Storing and Retrieving FilesChapter 18: Integrating Maps and Location ServicesChapter 19: Charting DataChapter 20: Adding Artificial Intelligence to AppsPART VI: REUSABILITYChapter 21: Building Reusable Canvas ComponentsChapter 22: Building Reusable Code ComponentsPART VII: OFFLINE AND INTEGRATIONChapter 23: Working OfflineChapter 24: Creating Custom Data ConnectorsPART VIII: ADMINISTRATIONChapter 25: Using Power AutomateChapter 26: Transferring Apps and DataChapter 27: Administering SecurityAppendix A - Sample App Data Structure
Quantum Machine Learning with Python
Quickly scale up to Quantum computing and Quantum machine learning foundations and related mathematics and expose them to different use cases that can be solved through Quantum based algorithms.This book explains Quantum Computing, which leverages the Quantum mechanical properties sub-atomic particles. It also examines Quantum machine learning, which can help solve some of the most challenging problems in forecasting, financial modeling, genomics, cybersecurity, supply chain logistics, cryptography among others.You'll start by reviewing the fundamental concepts of Quantum Computing, such as Dirac Notations, Qubits, and Bell state, followed by postulates and mathematical foundations of Quantum Computing. Once the foundation base is set, you'll delve deep into Quantum based algorithms including Quantum Fourier transform, phase estimation, and HHL (Harrow-Hassidim-Lloyd) among others.You'll then be introduced to Quantum machine learning and Quantum deep learning-based algorithms, along with advanced topics of Quantum adiabatic processes and Quantum based optimization. Throughout the book, there are Python implementations of different Quantum machine learning and Quantum computing algorithms using the Qiskit toolkit from IBM and Cirq from Google Research.WHAT YOU'LL LEARN* Understand Quantum computing and Quantum machine learning* Explore varied domains and the scenarios where Quantum machine learning solutions can be applied* Develop expertise in algorithm development in varied Quantum computing frameworks* Review the major challenges of building large scale Quantum computers and applying its various techniquesWHO THIS BOOK IS FORMachine Learning enthusiasts and engineers who want to quickly scale up to Quantum Machine LearningSantanu Pattanayak works as a staff machine learning specialist at Qualcomm Corp R&D and is an author of the book “Pro Deep Learning with TensorFlow” published by Apress. He has around 12 years of work experience and has worked at GE, Capgemini, and IBM before joining Qualcomm. He graduated with a degree in electrical engineering from Jadavpur University, Kolkata and is an avid math enthusiast. Santanu has a master’s degree in data science from Indian Institute of Technology (IIT), Hyderabad. He also participates in Kaggle competitions in his spare time where he ranks in top 500. Currently, he resides in Bangalore with his wife.QUANTUM MACHINE LEARNING WITH PYTHONChapter 1: Introduction to Quantum Mechanics and Quantum ComputingChapter Goal: Introduce the concept of Quantum mechanics and Quantum computing to the readersNo of pages 50-60Sub-Topics1. Introduction to Quantum computing2. Quantum bit and its realization3. Quantum superposition and Quantum entanglement4. Bloch Sphere representation of Qubit5. Stern Gerlach Experiment6. Bell State7. Dirac Notations8. Single Qubit Gates9. Multiple Qubit Gates10. Quantum No Cloning Theorem11. Measurement in different basis12. Quantum Teleportation13. Quantum parallelism with Deuth Jozsa14. Reversibility of quantum computingChapter 2: Mathematical Foundations and Postulates of Quantum ComputingChapter Goal: Lays the mathematical foundation along with the postulates of Quantum computingNo of pages 50-60Sub -Topics1. Topics from Linear algebra2. Pauli Operators3. Linear Operators and their properties4. Hermitian Operators5. Normal Operators6. Unitary Operators7. Spectral Decomposition8. Linear Operators on Tensor Product of Vectors9. Exponential Operator10. Commutator Anti commutator Operator11. Postulates of Quantum Mechanics12. Measurement Operators13. Heisenberg Uncertainty Principle14. Density Operators and Mixed States15. Solovay-Kitaev Theorem and Universality of Quantum gatesChapter 3: Introduction to Quantum AlgorithmsChapter Goal: Introduce to the readers Quantum algorithms to express the Quantum computing supremacy over classical computationNo of pages: 70-80Sub - Topics:1. Introduction to Cirq and Qiskit2. Bell State creation and measurement in Cirq and qiskit3. Quantum teleportation Implementation4. Quantum Random Number generator5. Deutsch Jozsa Implementation8. Hadamard Sampling6. Bernstein Vajirani Algorithm Implementation7. Bell’s Inequality Implementation8. Simon’s Algorithm of secret string search Implementation9 Grover’s Algorithm Implementation10. Algorithmic complexity in Quantum and Classical computing paradigmChapter 4: Quantum Fourier Transform Related AlgorithmsGoal: Introduce to the readers Quantum Fourier related algorithmsNo of pages: 60-70Sub - Topics:1. Fourier Series2. Fourier Transform3. Discrete Fourier Transform4. Quantum Fourier Transform(QFT)5. QFT implementation6. Hadamard Transform as Fourier Transform7. Quantum Phase Estimation(QPE)8. Quantum Phase Estimation Implementation9. Error Analysis in Quantum Phase Estimation10. Shor’s Period Finding Algorithm and Factoring11. Period Finding Implementation12. Prime Factoring and ImplementationPART 2Chapter 5: Introduction to Quantum Machine LearningGoal: Introduce to the readers Quantum machine learning paradigmNo of pages: 60-70Sub - Topics:1. Harrow, Hassidim and Lloyd Algorithm (HHL) for solving Linear Equation2. HHL algorithm Implementation3. Quantum Linear Regression and Implementation4. Quantum SWAP Test for dot product Computation5. Quantum SWAP Test Implementation6. Quantum Amplitude Scaling7. Quantum Euclidean Distance Computation8. Quantum Euclidean Distance Implementation9. Quantum K means10. Quantum K means Implementation11. Quantum Random Access Memory(QRAM)12. Quantum Principle Component Analysis13. Quantum Support Vector Machines14. Quantum Least Square Support Vector Machines(LS -SVM)15. Least Square SVM ImplementationChapter 6: Quantum Deep Learning and Quantum Optimization Based AlgorithmsGoal: Introduce to the readers Quantum deep learning algorithms and Quantum Optimization Based AlgorithmsNo of pages: 40-50Sub - Topics:1. Quantum Neural network and Implementation2. Quantum Convolutional Neural Network and Implementation3. Variational Quantum Eigen solvers(VQE)4. Graph Coloring Problem using VQE5. Travelling Salesman problem using VQEChapter 7: Quantum Adiabatic Processes and Quantum based Optimization.
Developing Web Components with TypeScript
Create professional and progressive web apps with the native HTML API on the latest technology stack. This book describes the basics of web components and how to create them using plain JavaScript as well as how to make professional applications based on web components using TypeScript.Developing Web Components with TypeScript looks at APIs using examples, techniques, and tricks. You will start with a brief introduction to web components, including slots and templates, handling custom events, and styling components with or without shadow DOM. Then, it introduces TypeScript as part of the tool set. It shows the internal construction of a professional thin library. It also helps you learn how to deal with web components in real-life projects; this includes techniques such as creating a single-page app without framework code. All code samples used here are supported by all modern browsers for you to follow along. Library code and examples are available on GitHub.WHAT YOU WILL LEARN* Create isolated web components using shadow DOM, slots, and templates* Understand the advantage of an enhanced toolset, especially TypeScript* Pick up styles and customizations* Master professional web apps using native APIs* Understand the life cycle of a componentWHO THIS BOOK IS FORProfessional developers who want to move from desktop to web and away from fat frameworks to achieve their goal.JÖRG KRAUSE has been working with software and software technology since the early 1980s, beginning with a ZX 81 and taking his first steps as a programmer in BASIC and assembly language. He studied information technology at Humboldt University, Berlin, but left early, in the 1990s, to start his own company. He has worked with Internet technology and software development since the early days when CompuServe and FidoNet dominated. He has worked with Microsoft technologies and software since Windows 95. In 1998, he worked on one of the first commercial e-commerce solutions and wrote his first book. Due to its wide success, he started working as a freelance consultant and author in order to share his experience and knowledge with others. He has written several books for Apress, Hanser, Addison Wesley, and other major publishers along with several self-published books—a total of over 60 titles. He also publishes articles in magazines and speaks at major conferences in Germany. Currently, Jörg works as an independent consultant, software developer, and author in Berlin, Germany.In his occasional spare time, Jörg enjoys reading thrillers and science fiction novels and going on a round of golf.Follow him on Twitter at @JOERGISGEEK for updates and insights.CHAPTER 1: IntroductionCHAPTER 2: Making Web ComponentsCHAPTER 3: Shadow DOMCHAPTER 4: EventsCHAPTER 5: TemplatesCHAPTER 6: SlotsCHAPTER 7: Components and StylesCHAPTER 8: Making Single Page AppsCHAPTER 9: Professional Web ComponentsAPPENDIX A - Component Library Documentation