![]() |
Welcome to Loot.co.za!
Sign in / Register |Wishlists & Gift Vouchers |Help | Advanced search
|
Your cart is empty |
||
|
Books > Computing & IT > Computer programming > Software engineering
This comprehensive book unveils the working relationship of blockchain and the fog/edge computing. The contents of the book have been designed in such a way that the reader will not only understand blockchain and fog/edge computing but will also understand their co-existence and their collaborative power to solve a range of versatile problems. The first part of the book covers fundamental concepts and the applications of blockchain-enabled fog and edge computing. These include: Internet of Things, Tactile Internet, Smart City; and E-challan in the Internet of Vehicles. The second part of the book covers security and privacy related issues of blockchain-enabled fog and edge computing. These include, hardware primitive based Physical Unclonable Functions; Secure Management Systems; security of Edge and Cloud in the presence of blockchain; secure storage in fog using blockchain; and using differential privacy for edge-based Smart Grid over blockchain. This book is written for students, computer scientists, researchers and developers, who wish to work in the domain of blockchain and fog/edge computing. One of the unique features of this book is highlighting the issues, challenges, and future research directions associated with Blockchain-enabled fog and edge computing paradigm. We hope the readers will consider this book a valuable addition in the domain of Blockchain and fog/edge computing.
Mashups are mostly lightweight Web applications that offer new functionalities by combining, aggregating and transforming resources and services available on the Web. Popular examples include a map in their main offer, for instance for real estate, hotel recommendations, or navigation tools. Mashups may contain and mix client-side and server-side activity. Obviously, understanding the incoming resources (services, statistical figures, text, videos, etc.) is a precondition for optimally combining them, so that there is always some undercover semantics being used. By using semantic annotations, neutral mashups permute into the branded type of semantic mashups. Further and deeper semantic processing such as reasoning is the next step. The chapters of this book reflect the diversity of real-life semantic mashups. Two overview chapters take the reader to the environments where mashups are at home and review the regulations (standards, guidelines etc.) mashups are based on and confronted with. Chapters focusing on DBpedia, search engines and the Web of Things inspect the main Web surroundings of mashups. While mashups upgrading search queries may be nearer to the everyday experience of readers, mashups using DBpedia input and sensor data from the real world lead to important new and therefore less known developments. Finally, the diversity of mashups is tracked through a few application areas: mathematical knowledge, speech, crisis and disaster management, recommendations (for games), inner-city information, and tourism. Participants of the AI Mashup Challenge wrote all the chapters of this book. The authors were writing for their current and future colleagues - researchers and developers all over the Web who integrate mashup functionalities into their thinking and possibly into their applications.
This book will serve as a guide in understanding workflow scheduling techniques on computing systems such as Cluster, Supercomputers, Grid computing, Cloud computing, Edge computing, Fog computing, and the practical realization of such methods. It offers a whole new perspective and holistic approach in understanding computing systems' workflow scheduling. Expressing and exposing approaches for various process-centric cloud-based applications give a full coverage of most systems' energy consumption, reliability, resource utilization, cost, and application stochastic computation. By combining theory with application and connecting mathematical concepts and models with their resource management targets, this book will be equally accessible to readers with both Computer Science and Engineering backgrounds. It will be of great interest to students and professionals alike in the field of computing system design, management, and application. This book will also be beneficial to the general audience and technology enthusiasts who want to expand their knowledge on computer structure.
Unique selling point: Focuses solely on entity-relationship model diagramming and design Core audience: Undergraduate CS students and professionals Place in the market: Undergraduate textbook
If you want to push your Java skills to the next level, this book provides expert advice from Java leaders and practitioners. You'll be encouraged to look at problems in new ways, take broader responsibility for your work, stretch yourself by learning new techniques, and become as good at the entire craft of development as you possibly can Edited by Kevlin Henney and Trisha Gee, 97 Things Every Java Programmer Should Know reflects lifetimes of experience writing Java software and living with the process of software development. Great programmers share their collected wisdom to help you rethink Java practices, whether working with legacy code or incorporating changes since Java 8 A few of the 97 things you should know: "Behavior Is Easy, State Is Hard"-Edson Yanaga "Learn Java Idioms and Cache in Your Brain"-Jeanne Boyarsky "Java Programming from a JVM Performance Perspective"-Monica Beckwith "Garbage Collection Is Your Friend"-Holly K Cummins "Java's Unspeakable Types"-Ben Evans "The Rebirth of Java"-Sander Mak "Do You Know What Time It Is?"-Christin Gorman
Edsger Wybe Dijkstra (1930-2002) was one of the most influential researchers in the history of computer science, making fundamental contributions to both the theory and practice of computing. Early in his career, he proposed the single-source shortest path algorithm, now commonly referred to as Dijkstra's algorithm. He wrote (with Jaap Zonneveld) the first ALGOL 60 compiler, and designed and implemented with his colleagues the influential THE operating system. Dijkstra invented the field of concurrent algorithms, with concepts such as mutual exclusion, deadlock detection, and synchronization. A prolific writer and forceful proponent of the concept of structured programming, he convincingly argued against the use of the Go To statement. In 1972 he was awarded the ACM Turing Award for "fundamental contributions to programming as a high, intellectual challenge; for eloquent insistence and practical demonstration that programs should be composed correctly, not just debugged into correctness; for illuminating perception of problems at the foundations of program design." Subsequently he invented the concept of self-stabilization relevant to fault-tolerant computing. He also devised an elegant language for nondeterministic programming and its weakest precondition semantics, featured in his influential 1976 book A Discipline of Programming in which he advocated the development of programs in concert with their correctness proofs. In the later stages of his life, he devoted much attention to the development and presentation of mathematical proofs, providing further support to his long-held view that the programming process should be viewed as a mathematical activity. In this unique new book, 31 computer scientists, including five recipients of the Turing Award, present and discuss Dijkstra's numerous contributions to computing science and assess their impact. Several authors knew Dijkstra as a friend, teacher, lecturer, or colleague. Their biographical essays and tributes provide a fascinating multi-author picture of Dijkstra, from the early days of his career up to the end of his life.
1) Provides a levelling approach, bringing students at all stages of programming experience to the same point 2) Focuses Python, a general language, to an engineering and scientific context 3) Uses a classroom tested, practical approach to teaching programming 4) Teaches students and professionals how to use Python to solve engineering calculations such as differential and algebraic equations
This book describes a cross-domain architecture and design tools for networked complex systems where application subsystems of different criticality coexist and interact on networked multi-core chips. The architecture leverages multi-core platforms for a hierarchical system perspective of mixed-criticality applications. This system perspective is realized by virtualization to establish security, safety and real-time performance. The impact further includes a reduction of time-to-market, decreased development, deployment and maintenance cost, and the exploitation of the economies of scale through cross-domain components and tools. Describes an end-to-end architecture for hypervisor-level, chip-level, and cluster level. Offers a solution for different types of resources including processors, on-chip communication, off-chip communication, and I/O. Provides a cross-domain approach with examples for wind-power, health-care, and avionics. Introduces hierarchical adaptation strategies for mixed-criticality systems Provides modular verification and certification methods for the seamless integration of mixed-criticality systems. Covers platform technologies, along with a methodology for the development process. Presents an experimental evaluation of technological results in cooperation with industrial partners. The information in this book will be extremely useful to industry leaders who design and manufacture products with distributed embedded systems in mixed-criticality use-cases. It will also benefit suppliers of embedded components or development tools used in this area. As an educational tool, this material can be used to teach students and working professionals in areas including embedded systems, computer networks, system architecture, dependability, real-time systems, and avionics, wind-power and health-care systems.
Unique selling point: Focuses solely on entity-relationship model diagramming and design Core audience: Undergraduate CS students and professionals Place in the market: Undergraduate textbook
This book describes in contributions by scientists and practitioners the development of scientific concepts, technologies, engineering techniques and tools for a service-based society. The focus is on microservices, i.e cohesive, independent processes deployed in isolation and equipped with dedicated memory persistence tools, which interact via messages. The book is structured in six parts. Part 1 "Opening" analyzes the new (and old) challenges including service design and specification, data integrity, and consistency management and provides the introductory information needed to successfully digest the remaining parts. Part 2 "Migration" discusses the issue of migration from monoliths to microservices and their loosely coupled architecture. Part 3 "Modeling" introduces a catalog and a taxonomy of the most common microservices anti-patterns and identifies common problems. It also explains the concept of RESTful conversations and presents insights from studying and developing two further modeling approaches. Next , Part 4 is dedicated to various aspects of "Development and Deployment". Part 5 then covers "Applications" of microservices, presenting case studies from Industry 4.0, Netflix, and customized SaaS examples. Eventually, Part 6 focuses on "Education" and reports on experiences made in special programs, both at academic level as a master program course and for practitioners in an industrial training. As only a joint effort between academia and industry can lead to the release of modern paradigm-based programming languages, and subsequently to the deployment of robust and scalable software systems, the book mainly targets researchers in academia and industry who develop tools and applications for microservices.
Control system design is a challenging task for practicing engineers. It requires knowledge of different engineering fields, a good understanding of technical specifications and good communication skills. The current book introduces the reader into practical control system design, bridging the gap between theory and practice. The control design techniques presented in the book are all model based., considering the needs and possibilities of practicing engineers. Classical control design techniques are reviewed and methods are presented how to verify the robustness of the design. It is how the designed control algorithm can be implemented in real-time and tested, fulfilling different safety requirements. Good design practices and the systematic software development process are emphasized in the book according to the generic standard IEC61508. The book is mainly addressed to practicing control and embedded software engineers - working in research and development - as well as graduate students who are faced with the challenge to design control systems and implement them in real-time."
This short-format book will provide a set of practical processes
and techniques used for multicore software development. The book is
written with a focus on solving day to day problems using practical
tips and tricks and industry case studies to reinforce the key
concepts in multicore software development. Principles of parallel computing Parallelism in all of its forms Multicore SoC architectures Multicore programming models The Multicore development process Multicore programming with threads Achieving Performance in Multicore systems Example of sequential to parallel migration Parallel programming abstractions Concurrency abstraction layers Debugging Multicore Systems Practical techniques for getting started in multicore development Case Studies in Multicore Systems Development "
This textbook was written from the perspective of someone who began his software security career in 2005, long before the industry began focusing on it. This is an excellent perspective for students who want to learn about securing application development. After having made all the rookie mistakes, the author realized that software security is a human factors issue rather than a technical or process issue alone. Throwing technology into an environment that expects people to deal with it but failing to prepare them technically and psychologically with the knowledge and skills needed is a certain recipe for bad results. Practical Security for Agile and DevOps is a collection of best practices and effective implementation recommendations that are proven to work. The text leaves the boring details of software security theory out of the discussion as much as possible to concentrate on practical applied software security that is useful to professionals. It is as much a book for students' own benefit as it is for the benefit of their academic careers and organizations. Professionals who are skilled in secure and resilient software development and related tasks are in tremendous demand. This demand will increase exponentially for the foreseeable future. As students integrate the text's best practices into their daily duties, their value increases to their companies, management, community, and industry. The textbook was written for the following readers: Students in higher education programs in business or engineering disciplines AppSec architects and program managers in information security organizations Enterprise architecture teams with a focus on application development Scrum Teams including: Scrum Masters Engineers/developers Analysts Architects Testers DevOps teams Product owners and their management Project managers Application security auditors Agile coaches and trainers Instructors and trainers in academia and private organizations
Software Quality Assurance in Large Scale and Complex Software-intensive Systems presents novel and high-quality research related approaches that relate the quality of software architecture to system requirements, system architecture and enterprise-architecture, or software testing. Modern software has become complex and adaptable due to the emergence of globalization and new software technologies, devices and networks. These changes challenge both traditional software quality assurance techniques and software engineers to ensure software quality when building today (and tomorrow's) adaptive, context-sensitive, and highly diverse applications. This edited volume presents state of the art techniques, methodologies, tools, best practices and guidelines for software quality assurance and offers guidance for future software engineering research and practice. Each contributed chapter considers the practical application of the topic through case studies, experiments, empirical validation, or systematic comparisons with other approaches already in practice. Topics of interest include, but are not limited, to: quality attributes of system/software architectures; aligning enterprise, system, and software architecture from the point of view of total quality; design decisions and their influence on the quality of system/software architecture; methods and processes for evaluating architecture quality; quality assessment of legacy systems and third party applications; lessons learned and empirical validation of theories and frameworks on architectural quality; empirical validation and testing for assessing architecture quality.
Understanding Interaction explores the interaction between people and technology in the broader context of the relations between the human-made and the natural environments. It is not just about digital technologies - our computers, smartphones, the Internet - but all our technologies, such as mechanical, electrical, and electronic. Our ancestors started creating mechanical tools and shaping their environments millions of years ago, developing cultures and languages, which in turn influenced our evolution. Volume 1 looks into this deep history, starting from the tool-creating period (the longest and most influential on our physical and mental capacities) to the settlement period (agriculture, domestication, villages and cities, written language), the industrial period (science, engineering, reformation, and renaissance), and finally the communication period (mass media, digital technologies, and global networks). Volume 2 looks into humans in interaction - our physiology, anatomy, neurology, psychology, how we experience and influence the world, and how we (think we) think. From this transdisciplinary understanding, design approaches and frameworks are presented to potentially guide future developments and innovations. The aim of the book is to be a guide and inspiration for designers, artists, engineers, psychologists, media producers, social scientists, etc., and, as such, be useful for both novices and more experienced practitioners. Image Credit: Still of interactive video pattern created with a range of motion sensors in the Facets kaleidoscopic algorithm (based underwater footage of seaweed movement) by the author on 4 February 2010, for a lecture at Hyperbody at the Faculty of Architecture, TU Delft, NL.
As long as humans write software, the key to successful software security is making the software development program process more efficient and effective. Although the approach of this textbook includes people, process, and technology approaches to software security, Practical Core Software Security: A Reference Framework stresses the people element of software security, which is still the most important part to manage as software is developed, controlled, and exploited by humans. The text outlines a step-by-step process for software security that is relevant to today's technical, operational, business, and development environments. It focuses on what humans can do to control and manage a secure software development process using best practices and metrics. Although security issues will always exist, students learn how to maximize an organization's ability to minimize vulnerabilities in software products before they are released or deployed by building security into the development process. The authors have worked with Fortune 500 companies and have often seen examples of the breakdown of security development lifecycle (SDL) practices. The text takes an experience-based approach to apply components of the best available SDL models in dealing with the problems described above. Software security best practices, an SDL model, and framework are presented in this book. Starting with an overview of the SDL, the text outlines a model for mapping SDL best practices to the software development life cycle (SDLC). It explains how to use this model to build and manage a mature SDL program. Exercises and an in-depth case study aid students in mastering the SDL model. Professionals skilled in secure software development and related tasks are in tremendous demand today. The industry continues to experience exponential demand that should continue to grow for the foreseeable future. This book can benefit professionals as much as students. As they integrate the book's ideas into their software security practices, their value increases to their organizations, management teams, community, and industry.
This volume provides an overview and an understanding of REST (Representational State Transfer). Discussing the constraints of REST the book focuses on REST as a type of web architectural style. The focus is on applying REST beyond Web applications (i.e., in enterprise environments), and in reusing established and well-understood design patterns when doing so. The reader will be able to understand how RESTful systems can be designed and deployed, and what the results are in terms of benefits and challenges encountered in the process. Since REST is relatively new as an approach for designing Web Services, the more advanced part of the book collects a number of challenges to some of the assumptions and constraints of REST, and looks at current research work on how REST can be extended and applied to scenarios that often are considered not to be a good match for REST. This work will help readers to reach a deeper understanding of REST on a practical as well as on an advanced level.
This book is open access under a CC BY-NC 4.0 license. This volume presents several case studies highlighting the latest findings in Industry 4.0 projects utilizing S-BPM features. Their potential is explored in detail, while the limits of engineering a company from a communication-centred perspective are also discussed. After a general introduction and an overview of the book in chapter 1, chapter 2 starts by condensing the industrial challenges driven by the German "Industry 4.0" trend to form a concrete vision for future production industries. Subsequently, chapter 3 introduces the basic concepts of S-BPM and its capabilities, in particular for supporting the restructuring of processes. The next three chapters then present various case studies, e.g. at an SME offering the production of atypical, unique and special purpose machinery, equipment and technologically complex units particularly useful in the automotive and electronic industries; and at a further SME producing highly-customized floor cleaning machines. Rounding out the coverage, the last two chapters summarize the achievements and lessons learned with regard to the road ahead. Overall, the book provides a realistic portrait of the status quo based on current findings, and outlines the future activities to be pursued in order to establish stakeholder-centred digital production systems. As such, developers, educators, and practitioners will find both the conceptual background and results from the field reflecting the state-of-the-art in vertical and horizontal process integration.
The Unified Modeling Language, better known as UML, has become the de facto standard modeling language for analyzing and designing software applications and systems. Software analysis and design is just as much an art as it is a science. UML Diagramming: A Catalog of Cases shows the art and the science behind successful software analysis and design with more than 35 case studies of applications of a variety of industries, including: Transportation Healthcare Supply chain management Education Agriculture Manufacturing The book explains UML diagramming through case studies to help systems and software developers specify, visualize, construct, and document the artifacts of software systems. The cases demonstrate how UML embodies software engineering best practices for modeling large and complex systems. They show how UML is an intuitive diagramming language that can be easily understood by end-users and business professionals. These cases studies also demonstrate how UML is a powerful language for communicating software designs to help developers and end users validate application scope, requirements, and features. Case studies highlighted in the book included: WEBMED healthcare service system services Inventory management system Business process outsourcing (BPO) management system Weather monitoring system Product recommendation system Textile management system Smart traffic management system Online pharmacy management system Placement automation system Farm management system Art gallery management system Website development This catalog of UML case studies is an invaluable reference for students studying software engineering, programmers starting out their careers, and seasoned systems developers needing a reference guide.
The Unified Modeling Language, better known as UML, has become the de facto standard modeling language for analyzing and designing software applications and systems. Software analysis and design is just as much an art as it is a science. UML Diagramming: A Catalog of Cases shows the art and the science behind successful software analysis and design with more than 35 case studies of applications of a variety of industries, including: Transportation Healthcare Supply chain management Education Agriculture Manufacturing The book explains UML diagramming through case studies to help systems and software developers specify, visualize, construct, and document the artifacts of software systems. The cases demonstrate how UML embodies software engineering best practices for modeling large and complex systems. They show how UML is an intuitive diagramming language that can be easily understood by end-users and business professionals. These cases studies also demonstrate how UML is a powerful language for communicating software designs to help developers and end users validate application scope, requirements, and features. Case studies highlighted in the book included: WEBMED healthcare service system services Inventory management system Business process outsourcing (BPO) management system Weather monitoring system Product recommendation system Textile management system Smart traffic management system Online pharmacy management system Placement automation system Farm management system Art gallery management system Website development This catalog of UML case studies is an invaluable reference for students studying software engineering, programmers starting out their careers, and seasoned systems developers needing a reference guide.
This book is a collection of chapters from the IFIP working groups 13.8 and 9.4. The 10 papers included present experiences and research on the topic of digital transformation and innovation practices in the global south. The topics span from digital transformation initiatives to novel innovative technological developments, practices and applications of marginalised people in the global south.
Metaheuristic algorithms are considered as generic optimization tools that can solve very complex problems characterized by having very large search spaces. Metaheuristic methods reduce the effective size of the search space through the use of effective search strategies. Book Features: Provides a unified view of the most popular metaheuristic methods currently in use Includes the necessary concepts to enable readers to implement and modify already known metaheuristic methods to solve problems Covers design aspects and implementation in MATLAB (R) Contains numerous examples of problems and solutions that demonstrate the power of these methods of optimization The material has been written from a teaching perspective and, for this reason, this book is primarily intended for undergraduate and postgraduate students of artificial intelligence, metaheuristic methods, and/or evolutionary computation. The objective is to bridge the gap between metaheuristic techniques and complex optimization problems that profit from the convenient properties of metaheuristic approaches. Therefore, engineer practitioners who are not familiar with metaheuristic computation will appreciate that the techniques discussed are beyond simple theoretical tools, since they have been adapted to solve significant problems that commonly arise in such areas.
The Lean Approach to Digital Transformation: From Customer to Code and From Code to Customer is organized into three parts that expose and develop the three capabilities that are essential for a successful digital transformation: 1. Understanding how to co-create digital services with users, whether they are customers or future customers. This ability combines observation, dialogue, and iterative experimentation. The approach proposed in this book is based on the Lean Startup approach, according to an extended vision that combines Design Thinking and Growth Hacking. Companies must become truly "customer-centric", from observation and listening to co-development. The revolution of the digital age of the 21st century is that customer orientation is more imperative -- the era of abundance, usages rate of change, complexity of experiences, and shift of power towards communities -- are easier, using digital tools and digital communities. 2. Developing an information system (IS) that is the backbone of the digital transformation - called "exponential information system" to designate an open IS (in particular on its borders), capable of interfacing and combining with external services, positioned as a player in software ecosystems and built for processing scalable and dynamic data flows. The exponential information system is constantly changing and it continuously absorbs the best of information processing technology, such as Artificial Intelligence and Machine Learning. 3. Building software "micro-factories" that produce service platforms, which are called "Lean software factories." This "software factory" concept covers the integration of agile methods, tooling and continuous integration and deployment practices, a customer-oriented product approach, and a platform approach based on modularity, as well as API-based architecture and openness to external stakeholders. This software micro-factory is the foundation that continuously produces and provides constantly evolving services. These three capabilities are not unique or specific to this book, they are linked to other concepts such as agile methods, product development according to lean principles, software production approaches such as CICD (continuous integration and deployment) or DevOps. This book weaves a common frame of reference for all these approaches to derive more value from the digital transformation and to facilitate its implementation. The title of the book refers to the "lean approach to digital transformation" because the two underlying frameworks, Lean Startup and Lean Software Factory, are directly inspired by Lean, in the sense of the Toyota Way. The Lean approach is present from the beginning to the end of this book -- it provides the framework for customer orientation and the love of a job well done, which are the conditions for the success of a digital transformation.
Asynchronous On-Chip Networks and Fault-Tolerant Techniques is the first comprehensive study of fault-tolerance and fault-caused deadlock effects in asynchronous on-chip networks, aiming to overcome these drawbacks and ensure greater reliability of applications. As a promising alternative to the widely used synchronous on-chip networks for multicore processors, asynchronous on-chip networks can be vulnerable to faults even if they can deliver the same performance with much lower energy and area compared with their synchronous counterparts - faults can not only corrupt data transmission but also cause a unique type of deadlock. By adopting a new redundant code along with a dynamic fault detection and recovery scheme, the authors demonstrate that asynchronous on-chip networks can be efficiently hardened to tolerate both transient and permanent faults and overcome fault-caused deadlocks. This book will serve as an essential guide for researchers and students studying interconnection networks, fault-tolerant computing, asynchronous system design, circuit design and on-chip networking, as well as for professionals interested in designing fault-tolerant and high-throughput asynchronous circuits. |
You may like...
Role of 6g Wireless Networks in AI and…
Malaya Dutta Borah, Steven A. Wright, …
Hardcover
R6,206
Discovery Miles 62 060
The All Red Line [microform] - the…
George 1837-1911 Johnson
Hardcover
R1,045
Discovery Miles 10 450
Principles of Digital Communication and…
Andrew J. Viterbi, Jim K. Omura
Hardcover
R1,082
Discovery Miles 10 820
Distributed Sensor Networks: Technology…
Marvin Heather
Hardcover
Antennas and Propagation for 5g and…
Qammer H. Abbasi, Syeda Fizzah Jilani, …
Hardcover
|