![]() |
![]() |
Your cart is empty |
||
Books > Computing & IT > Computer programming > Software engineering
The modern application server is a complex platform that is the linchpin of an enterprise environment that includes a very wide range of technologies-web document formatting, web protocols, server-side scripts, servlets, applets, programming languages, distributed object technologies, security capabilities, directory and naming services, load balancing, system management, and others. As such, it can be a daunting task to try to comprehend these systems. Application Servers for E-Business helps you understand the use of application servers in e-business. The book presents a comprehensive overview of the technologies related to application servers in their facilitation of E-business. These technologies include CORBA, Java, Enterprise Java Beans, Java 2, web servers, and legacy systems. It explores the role these servers play in the modern enterprise IT infrastructure and the environment in which they operate. The material also includes implementation considerations for application servers, including security, scalability, load balancing, and fault tolerance.
The control-flow issues presented in this textbook are extremely relevant in modern computer languages and programming styles. In addition to the basic control-flow mechanisms, virtually all new computer languages provide some form of exceptional control flow to support robust programming introduced in this textbook. Also, concurrency capabilities are appearing with increasing frequency in both new and old programming languages, and are covered in this book. Understanding Control Flow: With Concurrent Programming Using C++ starts with looping, and works through each of the basic control-flow concepts, examining why each is fundamental and where it is useful. Time is spent on each concept according to its level of difficulty. Examples and exercises are also provided in this textbook. New programming methodologies are requiring new forms of control flow, and new programming languages are supporting these methodologies with new control structures, such as the concurrency constructs discussed in this textbook. Most computers now contain multi-threading and multi-cores, while multiple processors and distributed systems are ubiquitous - all of which require advanced programming methodologies to take full advantage of the available parallelism summarized in this textbook. Advance forms of control flow are becoming basic programming skills needed by all programmers, not just graduate students working in the operating systems or database disciplines. This textbook is designed for advanced-level students studying computer science and engineering. Professionals and researchers working in this field, specifically programming and software engineering, will find this book useful as a reference.
Data-Oriented Programming teaches you to design and implement software using the data-oriented programming paradigm. In it, you'll learn author Yehonathan Sharvit's unique approach to DOP that he has developed over a decade of experience. Every chapter contains a new light bulb moment that will change the way you think about programming. As you read, you'll build a library management system using the DOP paradigm. You'll design data models for business entities, manipulate immutable data collections, and write unit tests for data-oriented systems. About the Technology Data-oriented programming is an exciting new paradigm that eliminates the usual complexity caused by combining data and code into objects and classes. In DOP, you maintain application data in persistent generic data structures separated from the program's code. You use general-purpose functions to manipulate the data without mutating it. This approach rids your applications of state-related bugs and makes your code much easier to understand and maintain.
This volume constitutes the refereed proceedings of the 8th Workshop on Engineering Applications, WEA 2021, held in Medellin, Colombia, in October 2021. Due to the COVID-19 pandemic the conference was held in a hybrid mode. The 33 revised full papers and 11 short papers presented in this volume were carefully reviewed and selected from 127 submissions. The papers are organized in the following topical sections: computational intelligence; bioengineering; Internet of Things (IoT); optimization and operations research; engineering applications.
The topics covered in this book range from modeling and programming languages and environments, via approaches for design and verification, to issues of ethics and regulation. In terms of techniques, there are results on model-based engineering, product lines, mission specification, component-based development, simulation, testing, and proof. Applications range from manufacturing to service robots, to autonomous vehicles, and even robots than evolve in the real world. A final chapter summarizes issues on ethics and regulation based on discussions from a panel of experts. The origin of this book is a two-day event, entitled RoboSoft, that took place in November 2019, in London. Organized with the generous support of the Royal Academy of Engineering and the University of York, UK, RoboSoft brought together more than 100 scientists, engineers and practitioners from all over the world, representing 70 international institutions. The intended readership includes researchers and practitioners with all levels of experience interested in working in the area of robotics, and software engineering more generally. The chapters are all self-contained, include explanations of the core concepts, and finish with a discussion of directions for further work. Chapters 'Towards Autonomous Robot Evolution', 'Composition, Separation of Roles and Model-Driven Approaches as Enabler of a Robotics Software Ecosystem' and 'Verifiable Autonomy and Responsible Robotics' are available open access under a Creative Commons Attribution 4.0 International License via link.springer.com.
Find the right bootloader solution or combination of firmware required to boot a platform considering its security, product features, and optimized boot solutions. This book covers system boot firmware, focusing on real-world firmware migration from closed source to open source adaptation. The book provides an architectural overview of popular boot firmware. This includes both closed sourced and/or open source in nature, such as Unified Extensible Firmware Interface (UEFI), coreboot, and Slim Bootloader and their applicable market segments based on product development and deployment requirements. Traditional system firmware is often complex and closed sourced whereas modern firmware is still a kind of hybrid between closed and open source. But what might a future firmware model look like? The most simplistic boot firmware solution uses open source firmware development. This book helps you decide how to choose the right boot firmware for your products and develop your own boot firmware using open source. Coverage includes: Why open source firmware is used over closed source The pros and cons of closed and open source firmware A hybrid work model: for faster bring-up activity using closed source, binary integrated with open source firmware What You Will Learn Understand the architecture of standard and popular boot firmware Pick the correct bootloader for your required target hardware Design a hybrid workflow model for the latest chipset platform Understand popular payload architectures and offerings for embedded systems Select the right payload for your bootloader solution to boot to the operating system Optimize the system firmware boot time based on your target hardware requirement Know the product development cycle using open source firmware development Who This Book Is For Embedded firmware and software engineers migrating the product development from closed source firmware to open source firmware for product adaptation needs as well as engineers working for open source firmware development. A secondary audience includes engineers working on various bootloaders such as open source firmware, UEFI, and Slim Bootloader development, as well as undergraduate and graduate students working on developing firmware skill sets.
OCUP 2 Certification Guide: Preparing for the OMG Certified UML 2.5 Professional 2 Foundation Exam both teaches UML (R) 2.5 and prepares candidates to become certified. UML (R) (Unified Modeling Language) is the most popular graphical language used by software analysts, designers, and developers to model, visualize, communicate, test, and document systems under development. UML (R) 2.5 has recently been released, and with it a new certification program for practitioners to enhance their current or future career opportunities. There are three exam levels: Foundation, Intermediate, and Advanced. The exam covered in this book, Foundation, is a prerequisite for the higher levels. Author Michael Jesse Chonoles is a lead participant in the current OCUP 2 program-not only in writing and reviewing all the questions, but also in designing the goals of the program. This book distills his experience in modeling, mentoring, and training. Because UML (R) is a sophisticated language, with 13 diagram types, capable of modeling any type of modern software system, it takes users some time to become proficient. This effective resource will explain the material in the Foundation exam and includes many practice questions for the candidate, including sample problems similar to those found in the exam, and detailed explanations of why correct answers are correct and why wrong answers are wrong.
This book constitutes the thoroughly revised selected papers from the 17th International Symposium, FACS 2021, which was hel virtually in October 2021. The 7 full papers and 1 short contribution were carefully reviewed and selected from 16 submissions and are presented in the volume together with 1 invited paper. FACS 2021 is concerned with how formal methods can be applied to component-based software and system development. The book is subdivided into two blocks: Modelling & Composition and Verification. Chapter "A Linear Parallel Algorithm to Compute Bisimulation and Relational Coarsest Partitions" is available open access under a Creative Commons Attribution 4.0 International License via link.springer.com.
Here is an ideal textbook on software visualization, written especially for students and teachers in computer science. It provides a broad and systematic overview of the area including many pointers to tools available today. Topics covered include static program visualization, algorithm animation, visual debugging, as well as the visualization of the evolution of software. The author's presentation emphasizes common principles and provides different examples mostly taken from seminal work. In addition, each chapter is followed by a list of exercises including both pen-and-paper exercises as well as programming tasks.
In modern computing a program is usually distributed among several processes. The fundamental challenge when developing reliable and secure distributed programs is to support the cooperation of processes required to execute a common task, even when some of these processes fail. Failures may range from crashes to adversarial attacks by malicious processes. Cachin, Guerraoui, and Rodrigues present an introductory description of fundamental distributed programming abstractions together with algorithms to implement them in distributed systems, where processes are subject to crashes and malicious attacks. The authors follow an incremental approach by first introducing basic abstractions in simple distributed environments, before moving to more sophisticated abstractions and more challenging environments. Each core chapter is devoted to one topic, covering reliable broadcast, shared memory, consensus, and extensions of consensus. For every topic, many exercises and their solutions enhance the understanding This book represents the second edition of "Introduction to Reliable Distributed Programming". Its scope has been extended to include security against malicious actions by non-cooperating processes. This important domain has become widely known under the name "Byzantine fault-tolerance".
This book provides a concise but comprehensive guide to the disciplines of database design, construction, implementation, and management. Based on the authors' professional experience in the software engineering and IT industries before making a career switch to academia, the text stresses sound database design as a necessary precursor to successful development and administration of database systems. The discipline of database systems design and management is discussed within the context of the bigger picture of software engineering. Students are led to understand from the outset of the text that a database is a critical component of a software infrastructure, and that proper database design and management is integral to the success of a software system. Additionally, students are led to appreciate the huge value of a properly designed database to the success of a business enterprise. The text was written for three target audiences. It is suited for undergraduate students of computer science and related disciplines who are pursuing a course in database systems, graduate students who are pursuing an introductory course to database, and practicing software engineers and information technology (IT) professionals who need a quick reference on database design. Database Systems: A Pragmatic Approach, 3rd Edition discusses concepts, principles, design, implementation, and management issues related to database systems. Each chapter is organized into brief, reader-friendly, conversational sections with itemization of salient points to be remembered. This pragmatic approach includes adequate treatment of database theory and practice based on strategies that have been tested, proven, and refined over several years. Features of the third edition include: Short paragraphs that express the salient aspects of each subject Bullet points itemizing important points for easy memorization Fully revised and updated diagrams and figures to illustrate concepts to enhance the student's understanding Real-world examples Original methodologies applicable to database design Step-by-step, student-friendly guidelines for solving generic database systems problems Opening chapter overviews and concluding chapter summaries Discussion of DBMS alternatives such as the Entity-Attributes-Value model, NoSQL databases, database-supporting frameworks, and other burgeoning database technologies A chapter with sample assignment questions and case studies This textbook may be used as a one-semester or two-semester course in database systems, augmented by a DBMS (preferably Oracle). After its usage, students will come away with a firm grasp of the design, development, implementation, and management of a database system.
Software Architecture for Big Data and the Cloud is designed to be a single resource that brings together research on how software architectures can solve the challenges imposed by building big data software systems. The challenges of big data on the software architecture can relate to scale, security, integrity, performance, concurrency, parallelism, and dependability, amongst others. Big data handling requires rethinking architectural solutions to meet functional and non-functional requirements related to volume, variety and velocity. The book's editors have varied and complementary backgrounds in requirements and architecture, specifically in software architectures for cloud and big data, as well as expertise in software engineering for cloud and big data. This book brings together work across different disciplines in software engineering, including work expanded from conference tracks and workshops led by the editors.
Microservices in .NET Core, Second Edition is a comprehensive guide to building microservice applications using the .NET stack. After a crystal-clear introduction to the microservices architectural style, it teaches you practical microservices development skills using MVC Core and ASP.NET Core. This second edition of the bestselling original has been revised with up-to-date tools for the .NET ecosystem, and more new coverage of scoping microservices and deploying to Kubernetes. about the technologyMicroservice applications are built by connecting single-capability, autonomous components that communicate via APIs. Microservice architectures boost productivity, support Agile workflows, and decrease the risks of catastrophic failures. However, they can be a big challenge to develop, as they demand clearly defined interfaces and reliable infrastructure. Luckily for developers, Microsoft's own MVC Core and ASP.NET Core frameworks help manage the tricky API and simplify the task of building microservice-based applications. about the book Microservices in .NET Core, Second Edition provides a complete guide to building microservice applications. You'll start by getting to grips with the unique architectural style of microservices, explained in a way that's clear and accessible. You'll move on quickly to practical development skills for building your own microservices using MVC Core and ASP.NET Core, working on real-world projects such as an ecommerce shopping cart. You'll design and build individual services in C# and learn how to compose them into a simple but functional application back end. In brand-new coverage for the second edition, you'll also learn about scoping microservices and how to handle the complexities of deploying to Kubernetes. Along the way, you'll address production and operations concerns like monitoring, logging, and security. what's inside Build scalable microservices that are reliable in production Optimized microservices for continuous delivery Design event-based collaboration between microservices Deploy microservices to Kubernetes Set up Kubernetes in Azure about the readerThis book is written for C# developers. No previous experience with microservices required. about the author Christian Horsdal is an independent consultant with 20 years of experience building systems from large scale microservice systems to tiny embedded systems--and lots of stuff in between. He is a .NET expert, author of the books Microservices in .NET Core and Instant Nancy Web Development, a trainer, and an occasional open source contributor.
This book constitutes the refereed proceedings of the 14th International Conference on the Quality of Information and Communications Technology, QUATIC 2021, held in Algarve, Portugal*, in September 2021. The 30 full papers and 9 short papers were carefully reviewed and selected from 98 submissions. The papers are organized in topical sections: ICT verification and validation; software evolution; process modeling, improvement and assessment; quality aspects in quantum computing; safety, security, and privacy; quality aspects in machine learning, AI and data analytics; evidence-based software quality engineering; quality in cyber-physical systems; software quality education and training. *The conference was held virtually due to the COVID-19 pandemic.
In this book the author explains domain engineering and the underlying science, and he then shows how we can derive requirements prescriptions for computing systems from domain descriptions. A further motivation is to present domain descriptions, requirements prescriptions, and software design specifications as mathematical quantities. The author's maxim is that before software can be designed we must understand its requirements, and before requirements can be prescribed we must analyse and describe the domain for which the software is intended. He does this by focusing on what it takes to analyse and describe domains. By a domain we understand a rationally describable discrete dynamics segment of human activity, of natural and man-made artefacts, examples include road, rail and air transport, container terminal ports, manufacturing, trade, healthcare, and urban planning. The book addresses issues of seemingly large systems, not small algorithms, and it emphasizes descriptions as formal, mathematical quantities. This is the first thorough monograph treatment of the new software engineering phase of software development, one that precedes requirements engineering. It emphasizes a methodological approach by treating, in depth, analysis and description principles, techniques and tools. It does this by basing its domain modeling on fundamental philosophical principles, a view that is new for a computer science monograph. The book will be of value to computer scientists engaged with formal specifications of software. The author reveals this as a field of interesting problems, most chapters include pointers to further study and exercises drawn from practical engineering and science challenges. The text is supported by a primer to the formal specification language RSL and extensive indexes.
This book is proof that debugging has graduated from a black art to
a systematic discipline. It demystifies one of the toughest aspects
of software programming, showing clearly how to discover what
caused software failures, and fix them with minimal muss and fuss.
This book presents interdisciplinary research in software engineering with applications for the social sector. The author focuses on software applications that are used for social good and that serve the needs of society. The author aims to bridge the knowledge gap between requirement engineers, industry, and users in order to help identify a diverse range of needs in the social sector (taking into account user crowd diversity in terms of technological competencies, geography, demographics, and behavioral and psychographic aspects). The book provides rigorous empirical studies and validates solutions that serve as a guide to the software engineering community, researchers, graduate students, and teachers. Provides interdisciplinary research in software engineering and the needs of the social sector, helping to increase success rates of society focused startups and applications Ideal for social entrepreneurs who can use the book for doing customer development with diverse users Establishes a new research line of social sector requirement engineering, taking into account user age, language, ability, and access
Azure Infrastructure as Code is a comprehensive guide to seamlessly managing your application infrastructure with Azure's native IaC tools. The book is aimed at supporting collaboration between operations professionals and software developers, to help speed up and improve the quality of software delivery. After you master the basics, you'll dive into niche and advanced topics such as testing, reusing templates between multiple teams, and how you can define policy as code. Discover cutting-edge Deployment Stacks, and how they can help you clean up unused resources, group resources in logical containers to help visualize potential changes, and build starting plateaus for other teams to work on. About the Technology Infrastructure as code does away with time-consuming manual tasks-no more detailed scripts for creating the correct database or virtual machine. Instead, Azure's native IaC tools create infrastructure from a declarative specification in JSON (ARM) or a domain-specific language (Bicep). They empower users to create or recreate complete infrastructures with just a line of code, as well as take advantage of automation tools like Github Actions or Azure Pipelines.
This book gathers a collection of high-quality peer-reviewed research papers presented at First International Conference on Innovations in Software Architecture and Computational Systems (ISACS 2021), held at Guru Nanak Institute of Technology, Kolkata, India, during 2 - 3 April 2021. The book primarily focuses on developing artificial intelligence-based algorithms and methodologies for enabling intelligent hardware and software systems. This book brings together the latest findings on efficient technological solutions for developing intelligent and hybrid systems, intelligent software architecture, machine intelligence-based analytical tools and also smart sensors and networks. The prime focus is on solving technological problems using state-of-the-art research finding like fuzzy computing, evolutionary and hybrid frameworks, neuro-computing, etc., along with other AI-based computation platforms. The book offers a valuable resource for all undergraduate, postgraduate students and researchers interested in exploring solution frameworks for social good problems using artificial intelligence.
This book constitutes the refereed proceedings of the 27th International Symposium on Model Checking Software, SPIN 2021, held virtually in July 2021.The 3 full papers, 4 tool papers, and 1 case study presented together with 2 invited talks were carefully reviewed and selected from 20 submissions. Topics covered include formal verification techniques for automated analysis of software; formal analysis for modeling languages, such as UML/state charts; formal specification languages, temporal logic, design-by-contract; model checking, automated theorem proving, including SAT and SMT; verifying compilers; abstraction and symbolic execution techniques; and much more.
This book constitutes selected papers from the Second International Conference on Microelectronic Devices, Circuits and Systems, ICMDCS 2021, held in Vellore, India, in February 2021. The 32 full papers and 6 short papers presented were thoroughly reviewed and selected from 103 submissions. They are organized in the topical sections on digital design for signal, image and video processing; VLSI testing and verification; emerging technologies and IoT; nano-scale modelling and process technology device; analog and mixed signal design; communication technologies and circuits; technology and modelling for micro electronic devices; electronics for green technology.
A comprehensive guide to understanding the standard and most recent advances in the design of reliable computer systems. It is organized into three sections, beginning with an in-depth review of existing reliability techniques and evaluation criteria for both hardware and software. also examined are the models for detecting faults and predicting failures, and the financial considerations which are inherent in the design, purchase, operation, and maintenance of a reliable system.
This book addresses mechanisms for reducing model heterogeneity induced by the absence of explicit semantics expression in the formal techniques used to specify design models. More precisely, it highlights the advances in handling both implicit and explicit semantics in formal system developments, and discusses different contributions expressing different views and perceptions on the implicit and explicit semantics. The book is based on the discussions at the Shonan meeting on this topic held in 2016, and includes contributions from the participants summarising their perspectives on the problem and offering solutions. Divided into 5 parts: domain modelling, knowledge-based modelling, proof-based modelling, assurance cases, and refinement-based modelling, and offers inspiration for researchers and practitioners in the fields of formal methods, system and software engineering, domain knowledge modelling, requirement analysis, and explicit and implicit semantics of modelling languages.
This book focuses on mathematical modeling, describes the process of constructing and evaluating models, discusses the challenges and delicacies of the modeling process, and explicitly outlines the required rules and regulations so that the reader will be able to generalize and reuse concepts in other problems by relying on mathematical logic.Undergraduate and postgraduate students of different academic disciplines would find this book a suitable option preparing them for jobs and research fields requiring modeling techniques. Furthermore, this book can be used as a reference book for experts and practitioners requiring advanced skills of model building in their jobs.
This book presents contemporary empirical methods in software engineering related to the plurality of research methodologies, human factors, data collection and processing, aggregation and synthesis of evidence, and impact of software engineering research. The individual chapters discuss methods that impact the current evolution of empirical software engineering and form the backbone of future research. Following an introductory chapter that outlines the background of and developments in empirical software engineering over the last 50 years and provides an overview of the subsequent contributions, the remainder of the book is divided into four parts: Study Strategies (including e.g. guidelines for surveys or design science); Data Collection, Production, and Analysis (highlighting approaches from e.g. data science, biometric measurement, and simulation-based studies); Knowledge Acquisition and Aggregation (highlighting literature research, threats to validity, and evidence aggregation); and Knowledge Transfer (discussing open science and knowledge transfer with industry). Empirical methods like experimentation have become a powerful means of advancing the field of software engineering by providing scientific evidence on software development, operation, and maintenance, but also by supporting practitioners in their decision-making and learning processes. Thus the book is equally suitable for academics aiming to expand the field and for industrial researchers and practitioners looking for novel ways to check the validity of their assumptions and experiences. Chapter 17 is available open access under a Creative Commons Attribution 4.0 International License via link.springer.com. |
![]() ![]() You may like...
Further Advances in Pragmatics and…
Alessandro Capone, Marco Carapezza, …
Hardcover
R3,156
Discovery Miles 31 560
Meaning Making in Text - Multimodal and…
S. Starc, C. Jones, …
Hardcover
Formal Approaches to Semantics and…
Elin McCready, Katsuhiko Yabushita, …
Hardcover
R3,710
Discovery Miles 37 100
|