![]() |
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 is a how-to book for solving geometric problems robustly or error free in actual practice. The contents and accompanying source code are based on the feature requests and feedback received from industry professionals and academics who want both the descriptions and source code for implementations of geometric algorithms. The book provides a framework for geometric computing using several arithmetic systems and describes how to select the appropriate system for the problem at hand. Key Features: A framework of arithmetic systems that can be applied to many geometric algorithms to obtain robust or error-free implementations Detailed derivations for algorithms that lead to implementable code Teaching the readers how to use the book concepts in deriving algorithms in their fields of application The Geometric Tools Library, a repository of well-tested code at the Geometric Tools website, https://www.geometrictools.com, that implements the book concepts
Due to increasing practical needs, software support of environmental protection and research tasks is growing in importance and scope. Software systems help to monitor basic data, to maintain and process relevant environmental information, to analyze gathered information and to carry out decision processes, which often have to take into account complex alternatives with various side effects. Therefore software is an important tool for the environmental domain. When the first software systems in the environmental domain grew - 10 to 15 years ag- users and developers were not really aware of the complexity these systems are carrying with themselves: complexity with respect to entities, tasks and procedures. I guess nobody may have figured out at that time that the environmental domain would ask for solutions which information science would not be able to provide and - in several cases - can not provide until today. Therefore environmental informatics - as we call it today - is also an important domain of computer science itself, because practical solutions need to deal with very complex, interdisciplinary, distributed, integrated, sometimes badly defined, user-centered decision processes. I doubt somebody will state that we are already capable of building such integrated systems for end users for reasonable cost on a broad range. The development of the first scientific community for environmental informatics started around 1985 in Germany, becoming a technical committee and working group of the German Computer Society in 1987.
The 6th meeting sponsored by IFIP Working Group 7.5, on reliability and optimization of structural systems, took place in September 1994 in Assisi, Italy. This book contains the papers presented at the working conference including topics such as reliability of special structures, fatigue, failure modes and time-variant systems relibility.
This book will provide a comprehensive guide to creating and managing a game jam. The book will also provide an overview of how and where game jams have been held, the type of game jams, the tools and technologies used in organising and participating in game jams.
This open access book discusses the most modern approach to auditing complex digital systems and technologies. It combines proven auditing approaches, advanced programming techniques and complex application areas, and covers the latest findings on theory and practice in this rapidly developing field. Especially for those who want to learn more about novel approaches to testing complex information systems and related technologies, such as blockchain and self-learning systems, the book will be a valuable resource. It is aimed at students and practitioners who are interested in contemporary technology and managerial implications.
This textbook offers theoretical, algorithmic and computational guidelines for solving the most frequently encountered linear-quadratic optimization problems. It provides an overview of recent advances in control and systems theory, numerical line algebra, numerical optimization, scientific computations and software engineering.
Developing software systems which are easy to use while simultaneously increasing the productivity, performance and satisfaction of users is still a major challenge in software engineering. Thus a large number of usability engineering methods have been proposed to systematically develop software with high usability. A large number of studies indicate that even basic usability engineering methods are not integrated in software development lifecycles practiced in industrial settings. Yet problems in the adoption of methods by project teams are rarely examined. This book provides a new perspective on the integration and adoption of usability engineering methods by software development teams. The adoption of methods by project teams - contrary to popular belief - is not assured just because it is mandated by the organization. This work argues that usability engineering methods can only be regarded as integrated in the software development process of an organization when these methods are practiced and accepted by development teams. So far no frameworks for examining the acceptance of methods by project teams and for exploiting such data for guiding project teams in method deployment are available. To address this problem, this book presents an approach which consists of a process meta-model for guiding project teams in the deployment of usability en- neering methods and a measurement framework for measuring the acceptance of the deployed methods. The approach is called Adoption-Centric Usability Engineering.
The advanced state of computer networking and telecommunications technology makes it possible to view computers as parts of a global computation platform, sharing their resources in terms of hardware, software and data. The possibility of exploiting the resources on a global scale has given rise to a new paradigm - the mobile computation paradigm - for computation in large scale distributed networks. The key characteristic of this paradigm is to give programmers control over the mobility of code or active computations across the network by providing appropriate language features. The dynamism and flexibility offered by mobile computation however, brings about a set of problems, the most challenging of which are relevant to safety and security. Several recent experiences prove that identifying the causes of these problems usually requires a rigorous investigation using formal methods. Functional languages are known for their well-understood computational models and their amenability to formal reasoning. They also have strong expressive power due to higher-order features. Functions can flow from one program point to another as other first-class values. These facts suggest that functional languages can provide the core of mobile computation language. Functions that represent mobile agents and formal systems for reasoning about functional programs can be further exploited to reason about the behavior of agents. Mobile Computation with Functions explores distributed computation with languages which adopt functions as the main programming abstraction and support code mobility through the mobility of functions between remote sites. It aims to highlight the benefits of using languages of this family in dealing with the challenges of mobile computation. The possibility of exploiting existing static analysis techniques suggests that having functions at the core of mobile code language is a particularly apt choice. A range of problems which have impact on the safety, security and performance are discussed. It is shown that types extended with effects and other annotations can capture a significant amount of information about the dynamic behavior of mobile functions, and offer solutions to the problems under investigation. This book includes a survey of the languages Concurrent ML, Facile and PLAN which inherit the strengths of the functional paradigm in the context of concurrent and distributed computation. The languages which are defined in the subsequent chapters have their roots in these languages. Mobile Computation with Functions is designed to meet the needs of a professional audience composed of researchers and practitioners in industry and graduate level students in Computer Science.
The papers in this volume aim at obtaining a common understanding of the challenging research questions in web applications comprising web information systems, web services, and web interoperability; obtaining a common understanding of verification needs in web applications; achieving a common understanding of the available rigorous approaches to system development, and the cases in which they have succeeded; identifying how rigorous software engineering methods can be exploited to develop suitable web applications; and at developing a European-scale research agenda combining theory, methods and tools that would lead to suitable web applications with the potential to implement systems for computation in the public domain.
Software Reqiuirements and Specifications is the latest book from Michael Jackson, one of the foremost contributors to software development method and practice. The book brings together some 75 short pieces about principles and techniques for requirements analysis, specification and design. The ideas discussed are deep, but at the same time lightly and wittily expressed. The book is fun to read, rewarding the reader with many valuble and novel insights. Some sacred cows, including top-down development, dataflow diagrams and the distinction between What and How, are led to the slaughter. Readers will be provoked--perhaps to fury, perhaps to enthusiasm, but surely to think more deeply about topics and issues of central importance in the field of software development. There are new ideas about problem structuring, based on the concept of a problem frame, leading to a clearer notion of complexity and how to deal with it. And other important topics include:
0201877120B04062001
This handbook distils the wealth of expertise and knowledge from a large community of researchers and industrial practitioners in Software Product Lines (SPLs) gained through extensive and rigorous theoretical, empirical, and applied research. It is a timely compilation of well-established and cutting-edge approaches that can be leveraged by those facing the prevailing and daunting challenge of re-engineering their systems into SPLs. The selection of chapters provides readers with a wide and diverse perspective that reflects the complementary and varied expertise of the chapter authors. This perspective covers the re-engineering processes, from planning to execution. SPLs are families of systems that share common assets, allowing a disciplined software reuse. The adoption of SPL practices has shown to enable significant technical and economic benefits for the companies that employ them. However, successful SPLs rarely start from scratch, but instead, they usually start from a set of existing systems that must undergo well-defined re-engineering processes to unleash new levels of productivity and competitiveness. Practitioners will benefit from the lessons learned by the community, captured in the array of methodological and technological alternatives presented in the chapters of the handbook, and will gain the confidence for undertaking their own re-engineering challenges. Researchers and educators will find a valuable single-entry point to quickly become familiar with the state-of-the-art on the topic and the open research opportunities; including undergraduate, graduate students, and R&D engineers who want to have a comprehensive understanding of techniques in reverse engineering and re-engineering of variability-rich software systems.
This is the book for Gophers who want to learn how to build distributed systems. You know the basics of Go and are eager to put your knowledge to work. Build distributed services that are highly available, resilient, and scalable. This book is just what you need to apply Go to real-world situations. Level up your engineering skills today. Take your Go skills to the next level by learning how to design, develop, and deploy a distributed service. Start from the bare essentials of storage handling, then work your way through networking a client and server, and finally to distributing server instances, deployment, and testing. All this will make coding in your day job or side projects easier, faster, and more fun. Create your own distributed services and contribute to open source projects. Build networked, secure clients and servers with gRPC. Gain insights into your systems and debug issues with observable services instrumented with metrics, logs, and traces. Operate your own Certificate Authority to authenticate internal web services with TLS. Automatically handle when nodes are added or removed to your cluster with service discovery. Coordinate distributed systems with replicated state machines powered by the Raft consensus algorithm. Lay out your applications and libraries to be modular and easy to maintain. Write CLIs to configure and run your applications. Run your distributed system locally and deploy to the cloud with Kubernetes. Test and benchmark your applications to ensure they're correct and fast. Dive into writing Go and join the hundreds of thousands who are using it to build software for the real world. What You Need: Go 1.13+ and Kubernetes 1.16+
Elucidating the spatial and temporal dynamics of how things connect has become one of the most important areas of research in the 21st century. Network science now pervades nearly every science domain, resulting in new discoveries in a host of dynamic social and natural systems, including: how neurons connect and communicate in the brain, how information percolates within and among social networks, the evolution of science research through co-authorship networks, the spread of epidemics and many other complex phenomena. Over the past decade, advances in computational power have put the tools of network analysis in the hands of increasing numbers of scientists, enabling more explorations of our world than ever before possible. Information science, social sciences, systems biology, ecosystems ecology, neuroscience and physics all benefit from this movement, which combines graph theory with data sciences to develop and validate theories about the world around us. This book brings together cutting-edge research from the network science field and includes diverse and interdisciplinary topics such as: modeling the structure of urban systems, behavior in social networks, education and learning, data network architecture, structure and dynamics of organizations, crime and terrorism, as well as network topology, modularity and community detection.
Software programs are formal entities with precise meanings independent of their programmers, so the transition from ideas to programs necessarily involves a formalisation at some point. The first part of this graduate-level introduction to formal methods develops an understanding of what constitutes formal methods and what their place is in Software Engineering. It also introduces logics as languages to describe reasoning and the process algebra CSP as a language to represent behaviours. The second part offers specification and testing methods for formal development of software, based on the modelling languages CASL and UML. The third part takes the reader into the application domains of normative documents, human machine interfaces, and security. Use of notations and formalisms is uniform throughout the book. Topics and features: Explains foundations, and introduces specification, verification, and testing methods Explores various application domains Presents realistic and practical examples, illustrating concepts Brings together contributions from highly experienced educators and researchers Offers modelling and analysis methods for formal development of software Suitable for graduate and undergraduate courses in software engineering, this uniquely practical textbook will also be of value to students in informatics, as well as to scientists and practical engineers, who want to learn about or work more effectively with formal theories and methods. Markus Roggenbach is a Professor in the Dept. of Computer Science of Swansea University. Antonio Cerone is an Associate Professor in the Dept. of Computer Science of Nazarbayev University, Nur-Sultan. Bernd-Holger Schlingloff is a Professor in the Institut fur Informatik of Humboldt-Universitat zu Berlin. Gerardo Schneider is a Professor in the Dept. of Computer Science and Engineering of University of Gothenburg. Siraj Ahmed Shaikh is a Professor in the Institute for Future Transport and Cities of Coventry University.
A large international conference in Intelligent Automation and Computer Engineering was held in Hong Kong, March 18-20, 2009, under the auspices of the International MultiConference of Engineers and Computer Scientists (IMECS 2009). The IMECS is organized by the International Association of Engineers (IAENG). Intelligent Automation and Computer Engineering contains 37 revised and extended research articles written by prominent researchers participating in the conference. Topics covered include artificial intelligence, decision supporting systems, automated planning, automation systems, control engineering, systems identification, modelling and simulation, communication systems, signal processing, and industrial applications. Intelligent Automation and Computer Engineering offers the state of the art of tremendous advances in intelligent automation and computer engineering and also serves as an excellent reference text for researchers and graduate students, working on intelligent automation and computer engineering.
This authoritative text/reference describes the state of the art in requirements engineering for software systems for distributed computing. A particular focus is placed on integrated solutions, which take into account the requirements of scalability, flexibility, sustainability and operability for distributed environments. Topics and features: discusses the latest developments, tools, technologies and trends in software requirements engineering; reviews the relevant theoretical frameworks, practical approaches and methodologies for service requirements; examines the three key components of the requirements engineering process, namely requirements elicitation, requirements specification, and requirements validation and evaluation; presents detailed contributions from an international selection of highly reputed experts in the field; offers guidance on best practices, and suggests directions for further research in the area.
With the widespread use of VRML browsers, e.g., as part of the Netscape and Internet Explorer standard distributions, everyone connected to the Internet can directly enter a virtual world without installing a new kind of software. The VRML technology offers the basis for new forms of customer service such as interactive three-dimensional product configuration, spare part ordering, or customer training. Also, this technology can be used for CSCW in intranets.The reader should be familiar with programming languages and computers and, in particular, should know Java or at least an object-oriented programming language. The book not only provides and explains source code, which can be used as a starting point for own implementations, but it also describes the fundamental problems and how currently known solutions work. It discusses a variety of different techniques and trade-offs. Many illustrations help the reader to understand and memorize the underlying principles.
This book gives an overview of existing models that cover the whole lifecycle of an IoT application, ranging from its design, implementation, deployment, operation, and monitoring to its final termination and retirement. Models provide abstraction and can help IoT application developers into creating more robust, secure, and reliable applications. Furthermore, adaptation of applications can be eased by using these models, leading to an increased dynamic of the developed IoT applications. In the book, research of the last years in the area of model based approaches to the Internet of Things is described and these approaches are incorporated into the lifecycle of IoT applications. Finally, use cases from different domains are introduced that show how these models could be applied in real-world applications.
In the past, rendering systems used a range of different approaches, each compatible and able to handle certain kinds of images. However, the last few years have seen the development of practical techniques, which bring together many areas of research into stable, production ready rendering tools. Written by experienced graphics software developers, Production Rendering: Design and Implementation provides not only a complete framework of different topics including shading engines and compilers, but discusses also the techniques used to implement feature film quality rendering engines. Key Topics ??A Rendering framework for managing a micro polygon-oriented graphics pipeline ??Problems presented by different types of geometry showing how different surface types can be made ready for shading ??Shading and how it fits into a rendering pipeline ??How to write a good shader compiler ??Ray tracing in a production renderer ??Incorporating global illumination into a renderer ??Gathering surface samples into a final image ??Tips and tricks in rendering About the authors Mark Elendt, Senior Mathematician, has been with Side Effects Software Inc, Canada for 11 years and has written at least 5 renderers over these years. He was chief architect for the Houdini renderers Mantra and VMantra. In 1997 he received a Technical Achievement Award from the Academy of Motion Picture Arts and Sciences. Rick LaMont, co-founder and CTO of Dot C Software, USA, currently acts as lead programmer of RenderDotC and Mai-Tai. He received the Computerworld Smithsonian Award for Technology Benefiting Mankind for his work on the WeyerhaeuserDesign Center (Foley and van Dam, Second Edition, color plate I.8). Jacopo Pantaleoni, is currently a Developer for LightFlow Technologies, Italy, which he founded in 1999. His interests in mathematics, computer programming and, realistic rendering lead to the publication of Lightflow Rendering Tools. In 2000, he also began working with a team of beta testers, on a connection between his rendering software and MayaTM. Scott Iverson, is the chief developer of the AIR renderer, and founder of Sitex Graphics Inc, USA Paul Gregory, works for the Aqsis Team, UK. He is the originator, and lead developer of the open source renderer "Aqsis." Matthew Bentham, is currently at ART VPS Ltd, UK. He is also the software developer responsible for compiler technology at ART VPS, creators of the RenderDrive rendering appliance. Ian Stephenson, is a Senior Lecturer at the National Centre for Computer Animation (NCCA), Bournemouth University, UK. Developer of the Angel rendering system, he is also the author of Essential RenderMan Fast.
Model checking is a powerful approach for the formal verification of software. When applicable, it automatically provides complete proofs of correctness, or explains, via counter-examples, why a system is not correct.This book provides a basic introduction to this new technique. The first part describes in simple terms the theoretical basis of model checking: transition systems as a formal model of systems, temporal logic as a formal language for behavioral properties, and model-checking algorithms. The second part explains how to write rich and structured temporal logic specifications in practice, while the third part surveys some of the major model checkers available.
Zero-defect software is the Holy Grail of all software developers. It has proved to be an elusive goal - until now. The Inspection techniques illustrated in this book have brought clear benefits in terms of lower (or even zero) defects, higher productivity, better project tracking and improved documentation. Features
This edited book presents scientific results of the 17th IEEE/ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD 2016) which was held on May 30 - June 1, 2016 in Shanghai, China. The aim of this conference was to bring together researchers and scientists, businessmen and entrepreneurs, teachers, engineers, computer users, and students to discuss the numerous fields of computer science and to share their experiences and exchange new ideas and information in a meaningful way. Research results about all aspects (theory, applications and tools) of computer and information science, and to discuss the practical challenges encountered along the way and the solutions adopted to solve them.
Explains how software reliability can be applied to software programs of various sizes, functions and languages, and businesses. This work provides real-life examples from industries such as defence engineering, and finance. It is suitable for software and quality assurance engineers and graduate students.
Computer software and technologies are advancing at an amazing rate. The accessibility of these software sources allows for a wider power among common users as well as rapid advancement in program development and operating information. Free and Open Source Software in Modern Data Science and Business Intelligence: Emerging Research and Opportunities is a critical scholarly resource that examines the differences between the two types of software, integral in the FOSS movement, and their effect on the distribution and use of software. Featuring coverage on a wide range of topics, such as FOSS Ecology, graph mining, and project tasks, this book is geared towards academicians, researchers, and students interested in current research on the growing importance of FOSS and its expanding reach in IT infrastructure.
In establishing a framework for dealing with uncertainties in software engineering, and for using quantitative measures in related decision-making, this text puts into perspective the large body of work having statistical content that is relevant to software engineering. Aimed at computer scientists, software engineers, and reliability analysts who have some exposure to probability and statistics, the content is pitched at a level appropriate for research workers in software reliability, and for graduate level courses in applied statistics computer science, operations research, and software engineering. |
You may like...
Research Anthology on Architectures…
Information R Management Association
Hardcover
R12,630
Discovery Miles 126 300
Dark Silicon and Future On-chip Systems…
Suyel Namasudra, Hamid Sarbazi-Azad
Hardcover
R3,940
Discovery Miles 39 400
Essential Java for Scientists and…
Brian Hahn, Katherine Malan
Paperback
R1,266
Discovery Miles 12 660
Hardware Accelerator Systems for…
Shiho Kim, Ganesh Chandra Deka
Hardcover
R3,950
Discovery Miles 39 500
Principles of Big Graph: In-depth…
Ripon Patgiri, Ganesh Chandra Deka, …
Hardcover
R3,925
Discovery Miles 39 250
|