Аннотация

Over the past 20 years, software architectures have significantly contributed to the development of complex and distributed systems. Nowadays, it is recognized that one of the critical problems in the design and development of any complex software system is its architecture, i.e. the organization of its architectural elements. Software Architecture presents the software architecture paradigms based on objects, components, services and models, as well as the various architectural techniques and methods, the analysis of architectural qualities, models of representation of architectural templates and styles, their formalization, validation and testing and finally the engineering approach in which these consistent and autonomous elements can be tackled.

Аннотация

The Art of Videogames explores how philosophy of the arts theories developed to address traditional art works can also be applied to videogames. Presents a unique philosophical approach to the art of videogaming, situating videogames in the framework of analytic philosophy of the arts Explores how philosophical theories developed to address traditional art works can also be applied to videogames Written for a broad audience of both philosophers and videogame enthusiasts by a philosopher who is also an avid gamer Discusses the relationship between games and earlier artistic and entertainment media, how videogames allow for interactive fiction, the role of game narrative, and the moral status of violent events depicted in videogame worlds Argues that videogames do indeed qualify as a new and exciting form of representational art

Аннотация

This book covers the most essential techniques for designing and building dependable distributed systems. Instead of covering a broad range of research works for each dependability strategy, the book focuses only a selected few (usually the most seminal works, the most practical approaches, or the first publication of each approach) are included and explained in depth, usually with a comprehensive set of examples. The goal is to dissect each technique thoroughly so that readers who are not familiar with dependable distributed computing can actually grasp the technique after studying the book. The book contains eight chapters. The first chapter introduces the basic concepts and terminologies of dependable distributed computing, and also provide an overview of the primary means for achieving dependability. The second chapter describes in detail the checkpointing and logging mechanisms, which are the most commonly used means to achieve limited degree of fault tolerance. Such mechanisms also serve as the foundation for more sophisticated dependability solutions. Chapter three covers the works on recovery-oriented computing, which focus on the practical techniques that reduce the fault detection and recovery times for Internet-based applications. Chapter four outlines the replication techniques for data and service fault tolerance. This chapter also pays particular attention to optimistic replication and the CAP theorem. Chapter five explains a few seminal works on group communication systems. Chapter six introduces the distributed consensus problem and covers a number of Paxos family algorithms in depth. Chapter seven introduces the Byzantine generals problem and its latest solutions, including the seminal Practical Byzantine Fault Tolerance (PBFT) algorithm and a number of its derivatives. The final chapter covers the latest research results on application-aware Byzantine fault tolerance, which is an important step forward towards practical use of Byzantine fault tolerance techniques.

Аннотация

It is currently quite easy for students or designers/engineers to find very general books on the various aspects of safety, reliability and dependability of computer system architectures, and partial treatments of the elements that comprise an effective system architecture. It is not so easy to find a single source reference for all these aspects of system design. However, the purpose of this book is to present, in a single volume, a full description of all the constraints (including legal contexts around performance, reliability norms, etc.) and examples of architectures from various fields of application, including: railways, aeronautics, space, automobile and industrial automation. The content of the book is drawn from the experience of numerous people who are deeply immersed in the design and delivery (from conception to test and validation), safety (analysis of safety: FMEA, HA, etc.) and evaluation of critical systems. The involvement of real world industrial applications is handled in such as a way as to avoid problems of confidentiality, and thus allows for the inclusion of new, useful information (photos, architecture plans/schematics, real examples).

Аннотация

Explains the theory behind basic computer vision and provides a bridge from the theory to practical implementation using the industry standard OpenCV libraries Computer Vision is a rapidly expanding area and it is becoming progressively easier for developers to make use of this field due to the ready availability of high quality libraries (such as OpenCV 2). This text is intended to facilitate the practical use of computer vision with the goal being to bridge the gap between the theory and the practical implementation of computer vision. The book will explain how to use the relevant OpenCV library routines and will be accompanied by a full working program including the code snippets from the text. This textbook is a heavily illustrated, practical introduction to an exciting field, the applications of which are becoming almost ubiquitous. We are now surrounded by cameras, for example cameras on computers & tablets/ cameras built into our mobile phones/ cameras in games consoles; cameras imaging difficult modalities (such as ultrasound, X-ray, MRI) in hospitals, and surveillance cameras. This book is concerned with helping the next generation of computer developers to make use of all these images in order to develop systems which are more intuitive and interact with us in more intelligent ways. Explains the theory behind basic computer vision and provides a bridge from the theory to practical implementation using the industry standard OpenCV libraries Offers an introduction to computer vision, with enough theory to make clear how the various algorithms work but with an emphasis on practical programming issues Provides enough material for a one semester course in computer vision at senior undergraduate and Masters levels Includes the basics of cameras and images and image processing to remove noise, before moving on to topics such as image histogramming; binary imaging; video processing to detect and model moving objects; geometric operations & camera models; edge detection; features detection; recognition in images Contains a large number of vision application problems to provide students with the opportunity to solve real problems. Images or videos for these problems are provided in the resources associated with this book which include an enhanced eBook

Аннотация

Covers fundamental and advanced Java database programming techniques for beginning and experienced readers This book covers the practical considerations and applications in database programming using Java NetBeans IDE, JavaServer Pages, JavaServer Faces, and Java Beans, and comes complete with authentic examples and detailed explanations. Two data-action methods are developed and presented in this important resource. With Java Persistence API and plug-in Tools, readers are directed step by step through the entire database programming development process and will be able to design and build professional data-action projects with a few lines of code in mere minutes. The second method, runtime object, allows readers to design and build more sophisticated and practical Java database applications. Advanced and updated Java database programming techniques such as Java Enterprise Edition development kits, Enterprise Java Beans, JavaServer Pages, JavaServer Faces, Java RowSet Object, and Java Updatable ResultSet are also discussed and implemented with numerous example projects. Ideal for classroom and professional training use, this text also features: A detailed introduction to NetBeans Integrated Development Environment Java web-based database programming techniques (web applications and web services) More than thirty detailed, real-life sample projects analyzed via line-by-line illustrations Problems and solutions for each chapter A wealth of supplemental material available for download from the book's ftp site, including PowerPoint slides, solution manual, JSP pages, sample image files, and sample databases Coverage of two popular database systems: SQL Server 2008 and Oracle This book provides undergraduate and graduate students as well as database programmers and software engineers with the necessary tools to handle the database programming issues in the Java NetBeans environment. To obtain instructor materials please send an email to: [email protected]

Аннотация

A cookbook of algorithms for common image processing applications Thanks to advances in computer hardware and software, algorithms have been developed that support sophisticated image processing without requiring an extensive background in mathematics. This bestselling book has been fully updated with the newest of these, including 2D vision methods in content-based searches and the use of graphics cards as image processing computational aids. It’s an ideal reference for software engineers and developers, advanced programmers, graphics programmers, scientists, and other specialists who require highly specialized image processing. Algorithms now exist for a wide variety of sophisticated image processing applications required by software engineers and developers, advanced programmers, graphics programmers, scientists, and related specialists This bestselling book has been completely updated to include the latest algorithms, including 2D vision methods in content-based searches, details on modern classifier methods, and graphics cards used as image processing computational aids Saves hours of mathematical calculating by using distributed processing and GPU programming, and gives non-mathematicians the shortcuts needed to program relatively sophisticated applications. Algorithms for Image Processing and Computer Vision, 2nd Edition provides the tools to speed development of image processing applications.

Аннотация

Computer-assisted translation (CAT) has always used translation memories, which require the translator to have a corpus of previous translations that the CAT software can use to generate bilingual lexicons. This can be problematic when the translator does not have such a corpus, for instance, when the text belongs to an emerging field. To solve this issue, CAT research has looked into the leveraging of comparable corpora, i.e. a set of texts, in two or more languages, which deal with the same topic but are not translations of one another. This work had two primary objectives. The first is to assess the input of lexicons extracted from comparable corpora in the context of a specialized human translation task. The second objective is to identify bilingual-lexicon-extraction methods which best match the translators’ needs, determining the current limits of these techniques and suggesting improvements. The author focuses, in particular, on the identification of fertile translations, the management of multiple morphological structures, and the ranking of candidate translations. The experiments are carried out on two language pairs (English–French and English–German) and on specialized texts dealing with breast cancer. This research puts significant emphasis on applicability – methodological choices are guided by the needs of the final users. This book is organized in two parts: the first part presents the applicative and scientific context of the research, and the second part is given over to efforts to improve compositional translation. The research work presented in this book received the PhD Thesis award 2014 from the French association for natural language processing (ATALA).

Аннотация

Ant colony optimization is a metaheuristic which has been successfully applied to a wide range of combinatorial optimization problems. The author describes this metaheuristic and studies its efficiency for solving some hard combinatorial problems, with a specific focus on constraint programming. The text is organized into three parts. The first part introduces constraint programming, which provides high level features to declaratively model problems by means of constraints. It describes the main existing approaches for solving constraint satisfaction problems, including complete tree search approaches and metaheuristics, and shows how they can be integrated within constraint programming languages. The second part describes the ant colony optimization metaheuristic and illustrates its capabilities on different constraint satisfaction problems. The third part shows how the ant colony may be integrated within a constraint programming language, thus combining the expressive power of constraint programming languages, to describe problems in a declarative way, and the solving power of ant colony optimization to efficiently solve these problems.

Аннотация

The most up-to-date Visual Basic.NET programming textbook—covering both fundamentals and advanced-level programming techniques—complete with examples and solutions Visual Basic.NET (VB.NET) is an object-oriented computer programming language that can be viewed as an evolution of the classic Visual Basic (VB), which is implemented on the .NET Framework. Microsoft currently supplies two major implementations of Visual Basic: Microsoft Visual Studio (which is commercial software) and Microsoft Visual Studio Express (which is free of charge). Forgoing the large amounts of programming codes found in most database programming books, Practical Database Programming with Visual Basic.NET shows students and professionals both how to develop professional and practical database programs in a Visual Basic.NET environment by using Visual Studio.NET Data Tools and Wizards related to ADO.NET 4.0, and how to apply codes that are auto-generated by solely using Wizards. The fully updated Second Edition: Covers both fundamentals and advanced database programming techniques Introduces three popular database systems with practical examples including MS Access, SQL Server 2008, and Oracle Features more than fifty sample projects with detailed illustrations and explanations to help students understand key techniques and programming technologies Includes downloadable programming codes and exercise questions This book provides undergraduate and graduate students as well as database programmers and software engineers with the necessary tools to handle the database programming issues in the Visual Studio.NET environment.