![]() |
Welcome to Loot.co.za!
Sign in / Register |Wishlists & Gift Vouchers |Help | Advanced search
|
Your cart is empty |
||
|
Books > Computing & IT > Computer programming > Programming languages
The author's aim in this textbook is to provide students with a clear understanding of the relationship between the principles of object-oriented programming and software engineering. Professor Zeigler takes an approach based on state representation to formal specification. Consequently, this book is unique through its - emphasis on formulating primitives from which all other functionality can be built; - integral use of a semi-formal behaviour specification language based on state transition concepts; -differentiation between behaviour and implementation; -a reusable heterogeneous container class library; -ability to show the elegance and power of ensemble methods with non-trivial examples. As a result, students studying software engineering will find this a distinctive and valuable approach to programming and systems engineering.
Reasoning under uncertainty is always based on a specified language or for malism, including its particular syntax and semantics, but also on its associated inference mechanism. In the present volume of the handbook the last aspect, the algorithmic aspects of uncertainty calculi are presented. Theory has suffi ciently advanced to unfold some generally applicable fundamental structures and methods. On the other hand, particular features of specific formalisms and ap proaches to uncertainty of course still influence strongly the computational meth ods to be used. Both general as well as specific methods are included in this volume. Broadly speaking, symbolic or logical approaches to uncertainty and nu merical approaches are often distinguished. Although this distinction is somewhat misleading, it is used as a means to structure the present volume. This is even to some degree reflected in the two first chapters, which treat fundamental, general methods of computation in systems designed to represent uncertainty. It has been noted early by Shenoy and Shafer, that computations in different domains have an underlying common structure. Essentially pieces of knowledge or information are to be combined together and then focused on some particular question or domain. This can be captured in an algebraic structure called valuation algebra which is described in the first chapter. Here the basic operations of combination and focus ing (marginalization) of knowledge and information is modeled abstractly subject to simple axioms."
In recent years there has been a remarkable convergence of interest in programming languages based on ALGOL 60. Researchers interested in the theory of procedural and object-oriented languages discovered that ALGOL 60 shows how to add procedures and object classes to simple imperative languages in a general and clean way. And, on the other hand, researchers interested in purely functional languages discovered that ALGOL 60 shows how to add imperative mechanisms to functional languages in a way that does not compromise their desirable properties. Unfortunately, many of the key works in this field have been rather hard to obtain. The primary purpose of this collection is to make the most significant material on ALGoL-like languages conveniently available to graduate students and researchers. Contents Introduction to Volume 1 1 Part I Historical Background 1 Part n Basic Principles 3 Part III Language Design 5 Introduction to Volume 2 6 Part IV Functor-Category Semantics 7 Part V Specification Logic 7 Part VI Procedures and Local Variables 8 Part vn Interference, Irreversibility and Concurrency 9 Acknowledgements 11 Bibliography 11 Introduction to Volume 1 This volume contains historical and foundational material, and works on lan guage design. All of the material should be accessible to beginning graduate students in programming languages and theoretical Computer Science."
C++/CLI is Microsofts latest extension to C++ that targets the heart of .NET 2.0, the common language runtime. "Expert Visual C++/CLI" is written by visual C++ MVP -->Marcus Heege-->, who examines the core of the C++/CLI language. He explains both how the language elements work and how Microsoft intends them to be used. Even if you're new to C++/CLI and are planning to migrate to it from another language, this book will ground you in the core language elements and give you the confidence to explore further and migrate effectively. It provides concise, yet in-depth coverage of all major C++/CLI features; short code examples succinctly illustrate syntax and concepts, and more elaborate examples show how C++/CLI should be used.
VHDL Coding Styles and Methodologies, Second Edition is a follow-up book to the first edition of the same book and to VHDL Answers to Frequently Asked Questions, first and second editions. This new edition provides practical information on reusable software methodologies for the design of bus functional models for testbenches. It provides guidelines in the use of VHDL for synthesis. All VHDL code described in the book is on a companion CD, which also includes the GNU toolsite with EMACS language-sensitive editor (with VHDL, Verilog, and other language templates), and TSHELL tools that emulate a Unix shell. Model Technology graciously included an evaluation version of ModelSim, a recognized industry standard VHDL/Verilog compiler and simulator that supports easy viewing of the models under analysis, along with many debug features. In addition, Synplicity is kindly making available an evaluation version of Synplicity, a very efficient, user-friendly and easy-to-use FPGA synthesis tool. Synplify provides a user with both the RTL and gate-level views of the synthesized model, and a performance report of the design. Optimization mechanisms are provided in the tool. Intended for professional engineers as well as students, it is organized in thirteen chapters, each covering a separate aspect of the language, with complete examples. It provides a practical approach to learning VHDL. Combining methodologies and coding styles, along with VHDL rules, leads the reader in the right direction from the beginning.
Making VHDL a simple and easy-to-use hardware description language Many engineers encountering VHDL (very high speed integrated circuits hardware description language) for the first time can feel overwhelmed by it. This book bridges the gap between the VHDL language and the hardware that results from logic synthesis with clear organisation, progressing from the basics of combinational logic, types, and operators; through special structures such as tristate buses, register banks and memories, to advanced themes such as developing your own packages, writing test benches and using the full range of synthesis types. This third edition has been substantially rewritten to include the new VHDL-2008 features that enable synthesis of fixed-point and floating-point hardware. Extensively updated throughout to reflect modern logic synthesis usage, it also contains a complete case study to demonstrate the updated features. Features to this edition include: a common VHDL subset which will work across a range of different synthesis systems, targeting a very wide range of technologiesa design style that results in long design lifetimes, maximum design reuse and easy technology retargeting a new chapter on a large scale design example based on a digital filter from design objective and design process, to testing strategy and test benchesa chapter on writing test benches, with everything needed to implement a test-based design strategyextensive coverage of data path design, including integer, fixed-point and floating-point arithmetic, logic circuits, shifters, tristate buses, RAMs, ROMs, state machines, and decoders Focused specifically on logic synthesis, this book is for professional hardware engineers using VHDL for logic synthesis, and digital systems designers new to VHDL but familiar with digital systems. It offers all the knowledge and tools needed to use VHDL for logic synthesis. Organised in themed chapters and with a comprehensive index, this complete reference will also benefit postgraduate students following courses on microelectronics or VLSI/ semiconductors and digital design.
by Phil Moorby The Verilog Hardware Description Language has had an amazing impact on the mod em electronics industry, considering that the essential composition of the language was developed in a surprisingly short period of time, early in 1984. Since its introduc tion, Verilog has changed very little. Over time, users have requested many improve ments to meet new methodology needs. But, it is a complex and time consuming process to add features to a language without ambiguity, and maintaining consistency. A group of Verilog enthusiasts, the IEEE 1364 Verilog committee, have broken the Verilog feature doldrums. These individuals should be applauded. They invested the time and energy, often their personal time, to understand and resolve an extensive wish-list of language enhancements. They took on the task of choosing a feature set that would stand up to the scrutiny of the standardization process. I would like to per sonally thank this group. They have shown that it is possible to evolve Verilog, rather than having to completely start over with some revolutionary new language. The Verilog 1364-2001 standard provides many of the advanced building blocks that users have requested. The enhancements include key components for verification, abstract design, and other new methodology capabilities. As designers tackle advanced issues such as automated verification, system partitioning, etc., the Verilog standard will rise to meet the continuing challenge of electronics design."
Written expressly for hardware designers, this book presents a formal model of VHDL clearly specifying both the static and dynamic semantics of VHDL. It provides a mathematical framework for representing VHDL constructs and shows how those constructs can be formally manipulated to reason about VHDL.
The first edition of Principles of Verifiable RTL Design offered a common sense method for simplifying and unifying assertion specification by creating a set of predefined specification modules that could be instantiated within the designer's RTL. Since the release of the first edition, an entire industry-wide initiative for assertion specification has emerged based on ideas presented in the first edition. This initiative, known as the Open Verification Library Initiative (www.verificationlib.org), provides an assertion interface standard that enables the design engineer to capture many interesting properties of the design and precludes the need to introduce new HDL constructs (i.e., extensions to Verilog are not required). Furthermore, this standard enables the design engineer to specify once, ' then target the same RTL assertion specification over multiple verification processes, such as traditional simulation, semi-formal and formal verification tools. The Open Verification Library Initiative is an empowering technology that will benefit design and verification engineers while providing unity to the EDA community (e.g., providers of testbench generation tools, traditional simulators, commercial assertion checking support tools, symbolic simulation, and semi-formal and formal verification tools). The second edition of Principles of Verifiable RTL Design expands the discussion of assertion specification by including a new chapter entitled Coverage, Events and Assertions'. All assertions exampled are aligned with the Open Verification Library Initiative proposed standard. Furthermore, the second edition provides expanded discussions on the following topics: start-up verification; theplace for 4-state simulation; race conditions; RTL-style-synthesizable RTL (unambiguous mapping to gates); more bad stuff'. The goal of the second edition is to keep the topic current. Principles of Verifiable RTL Design, A Functional Coding Style Supporting Verification Processes, Second Edition tells you how you can write Verilog to describe chip designs at the RTL level in a manner that cooperates with verification processes. This cooperation can return an order of magnitude improvement in performance and capacity from tools such as simulation and equivalence checkers. It reduces the labor costs of coverage and formal model checking by facilitating communication between the design engineer and the verification engineer. It also orients the RTL style to provide more useful results from the overall verification process.
Hardware description languages (HDL) such as VHDL and Verilog have found their way into almost every aspect of the design of digital hardware systems. Since their inception they gradually proved to be an essential part of modern design methodologies and design automation tools, ever exceeding their original goals of being description and simulation languages. Their use for automatic synthesis, formal proof, and testing are good examples. So far, HDLs have been mainly dealing with digital systems. However, integrated systems designed today require more and more analog parts such as A/D and D/A converters, phase locked loops, current mirrors, etc. The verification of the complete system therefore asks for the use of a single language. Using VHDL or Verilog to handle analog descriptions is possible, as it is shown in this book, but the real power is coming from true mixed-signal HDLs that integrate discrete and continuous semantics into a unified framework. Analog HDLs (AHDL) are considered here a subset of mixed-signal HDLs as they intend to provide the same level of features as HDLs do but with a scope limited to analog systems, possibly with limited support of discrete semantics. Analog and Mixed-Signal Hardware Description Languages covers several aspects related to analog and mixed-signal hardware description languages including: The use of a digital HDL for the description and the simulation of analog systems The emergence of extensions of existing standard HDLs that provide true analog and mixed-signal HDLs. The use of analog and mixed-signal HDLs for the development of behavioral models of analog (electronic) building blocks (operational amplifier, PLL) and for the design of microsystems that do not only involve electronic parts. The use of a front-end tool that eases the description task with the help of a graphical paradigm, yet generating AHDL descriptions automatically. Analog and Mixed-Signal Hardware Description Languages is the first book to show how to use these new hardware description languages in the design of electronic components and systems. It is necessary reading for researchers and designers working in electronic design.
* With this book readers might well be able to build the next Mars Rover. * First book out on Java robotics. * The biggest selling point about this book is that no one else shows readers how to combine the power of their PC with a robust programming language in Java to create exciting robotics. * The book is a great teaching aid (in robotics or software) that establishes a new paradigm for thinking about robotics along with simpler ways to do things, i.e., vs. the old way using microcontrollers.
Numerical computation, knowledge discovery and statistical data analysis integrated with powerful 2D and 3D graphics for visualization are the key topics of this book. The Python code examples powered by the Java platform can easily be transformed to other programming languages, such as Java, Groovy, Ruby and BeanShell. This book equips the reader with a computational platform which, unlike other statistical programs, is not limited by a single programming language.The author focuses on practical programming aspects and covers a broad range of topics, from basic introduction to the Python language on the Java platform (Jython), to descriptive statistics, symbolic calculations, neural networks, non-linear regression analysis and many other data-mining topics. He discusses how to find regularities in real-world data, how to classify data, and how to process data for knowledge discoveries. The code snippets are so short that they easily fit into single pages. Numeric Computation and Statistical Data Analysis on the Java Platform is a great choice for those who want to learn how statistical data analysis can be done using popular programming languages, who want to integrate data analysis algorithms in full-scale applications, and deploy such calculations on the web pages or computational servers regardless of their operating system. It is an excellent reference for scientific computations to solve real-world problems using a comprehensive stack of open-source Java libraries included in the DataMelt (DMelt) project and will be appreciated by many data-analysis scientists, engineers and students.
Floating-point arithmetic is the most widely used way of implementing real-number arithmetic on modern computers. However, making such an arithmetic reliable and portable, yet fast, is a very difficult task. As a result, floating-point arithmetic is far from being exploited to its full potential. This handbook aims to provide a complete overview of modern floating-point arithmetic. So that the techniques presented can be put directly into practice in actual coding or design, they are illustrated, whenever possible, by a corresponding program. The handbook is designed for programmers of numerical applications, compiler designers, programmers of floating-point algorithms, designers of arithmetic operators, and more generally, students and researchers in numerical analysis who wish to better understand a tool used in their daily work and research.
As the conversion of legacy systems continues, the ability to understand embedded business rules becomes more and more critical. This ability is directly related to the structure of the programs within those systems. We also see the need to teach structured programming to a new generation of programmers who must maintain the billions of lines of existing COBOL code. The ultimate purpose of this text is to discuss how to judge the level of structure of a program. We do this by defining structured programming and then discussing how a structured program can be built through the application of the concepts of coupling and cohesion. We also show how embedded business rules of the program can be separated from the data and presentation functions. The reader will be able to use to these skills to judge and to improve the structure of a new program or an existing program.
Constraint Logic Programming (CLP), an area of extreme research interest in recent years, extends the semantics of Prolog in such a way that the combinatorial explosion, a characteristic of most problems in the field of Artificial Intelligence, can be tackled efficiently. By employing solvers dedicated to each domain instead of the unification algorithm, CLP drastically reduces the search space of the problem, which leads to increased efficiency in the execution of logic programs. CLP offers the possibility of solving complex combinatorial problems in an efficient way, and at the same time maintains the advantages offered by the declarativeness of logic programming. The aim of this book is to present parallel and constraint logic programming, offering a basic understanding of the two fields to the reader new to the area. The first part of the book gives an introduction to the fundamental aspects of conventional logic programming which is necessary for understanding the parts that follow. The second part includes an introduction to parallel logic programming, architectures and implementations proposed in the area. Finally, the third part presents the principles of constraint logic programming. The last two parts also include descriptions of the supporting facilities for the two paradigms in two popular systems; ECLIPSe and SICStus. These platforms have been selected mainly because they offer both parallel and constraint features. Annotated and explained examples are also included in the relevant parts, offering a valuable guide and a first practical experience to the reader. Finally, applications of the covered paradigms are presented. The authors felt that a book of this kind should provide some theoretical background necessary for the understanding of the covered logic programming paradigms, and a quick start for the reader interested in writing parallel and constraint logic programming programs. However it is outside the scope of this book to provide a deep theoretical background of the two areas. In that sense, this book is addressed to a public interested in obtaining a knowledge of the domain, without spending the time and effort to understand the extensive theoretical work done in the field &endash; namely postgraduate and advanced undergraduate students in the area of logic programming. This book fills a gap in the current bibliography, since there is no comprehensive book of this level that covers the areas of conventional, parallel, and constraint logic programming. Parallel and Constraint Logic Programming: An Introduction to Logic, Parallelism and Constraints is appropriate for an advanced level course on Logic Programming or Constraints, and as a reference for practitioners and researchers in industry.
What will be the next revolution in software technology to follow XML and generics? Whatever it may be, it is likely to come from functional programming, where many of the key ideas of the last decade originated. In this textbook, the leading researchers of the field take you on a tour of the current hot topics in functional programming, with applications ranging from financial contracts to circuit design. There are also chapters on new idioms for structuring programs, such as monads and arrows. All new concepts are illustrated with many examples, and exercises appear throughout to further enliven the material. Several of the chapters describe a substantial piece of software, and most of these programs are collected on a website for free downloading. This book was edited in honour of Richard S.Bird, Professor of Computer Science at the University of Oxford, on his 60th birthday.
This book contains leading survey papers on the various aspects of Abduction, both logical and numerical approaches. Abduction is central to all areas of applied reasoning, including artificial intelligence, philosophy of science, machine learning, data mining and decision theory, as well as logic itself.
This work fills an important gap in the literature by providing an important link between MAPLE and its successful use in solving problems in Operations Research (OR). The symbolic, numerical, and graphical aspects of MAPLE make this software package an ideal tool for treating certain OR problems and providing descriptive and optimization-based analyses of deterministic and stochastic models. Detailed is MAPLE's treatment of some of the mathematical techniques used in OR modeling: e.g., algebra and calculus, ordinary and partial differential equations, linear algebra, transform methods, and probability theory. A number of examples of OR techniques and applications are presented, such as linear and nonlinear programming, dynamic programming, stochastic processes, inventory models, queueing systems, and simulation. Throughout the text MAPLE statements used in the solutions of problems are clearly explained. At the same time, technical background material is presented in a rigorous mathematical manner to reach the OR novice and professional. Numerous end-of- chapter exercises, a good bibliography and overall index at the end of the book are also included, as well as MAPLE worksheets that are easily downloadable from the author's website at www.business.mcmaster.ca/msis/profs/parlar, or from the Birkhauser website at www.birkhauser.com/cgi-win/ISBN/0-8176-4165-3. The book is intended for advanced undergraduate and graduate students in operations research, management science departments of business schools, industrial and systems engineering, economics, and mathematics. As a self-study resource, the text can be used by researchers and practitioners who want a quick overview ofMAPLE's usefulness in solving realistic OR problems that would be difficult or impossible to solve with other software packages.
"ASN.1 Complete" teaches you everything you need to know about
ASN.1-whether you're specifying a new protocol or implementing an
existing one in a software or hardware development project. Inside,
the author begins with an overview of ASN.1's most commonly
encountered features, detailing and illustrating standard
techniques for using them. He then goes on to apply the same
practice-oriented approach to all of the notation's other features,
providing you with an easy-to-navigate, truly comprehensive
tutorial. Features * Covers all the features-common and not so common-available to you when writing a protocol specification using ASN.1.* Teaches you to read, understand, and implement a specification written using ASN.1.* Explains how ASN.1 tools work and how to use them.* Contains hundreds of detailed examples, all verified using OSS's ASN.1 Tools package.* Considers ASN.1 in relation to other protocol specification standards.
Welcome to the 6th International Conference on Open Source Systems of the IFIP Working Group 2. 13. This year was the ?rst time this international conf- ence was held in North America. We had a large number of high-quality papers, highlyrelevantpanelsandworkshops, acontinuationofthepopulardoctoralc- sortium, and multiple distinguished invited speakers. The success of OSS 2010 was only possible because an Organizing Committee, a Program Committee, Workshop and Doctoral Committees, and authors of research manuscripts from over 25 countries contributed their time and interest to OSS 2010. In the spirit of the communities we study, you self-organized, volunteered, and contributed to this important research forum studying free, libre, open source software and systems. We thank you Despite our modest success, we have room to improve and grow our conf- ence and community. At OSS 2010 we saw little or no participation from large portions of the world, including Latin America, Africa, China, and India. But opportunitiestoexpandarepossible. InJapan, weseeahotspotofparticipation led by Tetsuo Noda and his colleagues, both with full-paper submissions and a workshopon"OpenSourcePolicyandPromotionofITIndustries inEastAsia. " The location of OSS 2011 in Salvador, Brazil, will hopefully result in signi?cant participation from researchers in Brazil - already a strong user of OSS - and otherSouthAmericancountries. UndertheleadershipofMeganSquire, Publicity Chair, we recruited RegionalPublicity Co-chairscovering Japan (Tetsuo Noda), Africa(SulaymanSowe), the MiddleEastandSouthAsia(FaheenAhmed), R- sia and Eastern Europe (Alexey Khoroshilov), Western Europe (Yeliz Eseryel), UK and Ireland (Andrea Capiluppi), and the Nordic countries (Bj] orn Lundell)."
A broad-ranging survey of our current understanding of visual languages and their theoretical foundations. Its main focus is the definition, specification, and structural analysis of visual languages by grammars, logic, and algebraic methods and the use of these techniques in visual language implementation. Researchers in formal language theory, HCI, artificial intelligence, and computational linguistics will all find this an invaluable guide to the current state of research in the field.
The art, craft, discipline, logic, practice, and science of developing large-scale software products needs a believable, professional base. The textbooks in this three-volume set combine informal, engineeringly sound practice with the rigour of formal, mathematics-based approaches. Volume 3 is based on the maxim: "Before software can be designed its requirements must be well understood, and before the requirements can be expressed properly the domain of the application must be well understood." This book covers the process from the development of domain descriptions, via the derivation of requirements prescriptions from domain models, to the refinement of requirements into software designs, i.e., architectures and component design. Emphasis is placed on what goes into proper domain descriptions and requirements prescriptions, how one acquires and analyses the domain knowledge and requirements expectations, and how one validates and verifies domain and requirements models. The reader can take an informal route through Vol. 3, and this would be suitable for undergraduate courses on software engineering. Advanced students, lecturers, and researchers may instead follow the formal route through Vol. 3, and in this case Vol. 1 is a prerequisite text. Lecturers will be supported with a comprehensive guide to designing modules based on the textbooks, with solutions to many of the exercises presented, and with a complete set of lecture slides.
Both object orientation and parallelism are modern programming paradigms which have gained much popularity in the last 10-15 years. Object orientation raises hopes for increased productivity of software generation and maintenance methods. Parallelism can serve to structure a problem but also promises faster program execution. The two areas of computing science in which these paradigms play the most prominent role are programming languages and databases. In programming languages, one can take an academic approach with a primary focus on the generality of the semantics of the language constructs which support the respective paradigm. In databases, one is willing to restrict the power of the constructs in the interest of increased efficiency. Inter- and intra-object parallelism have received an increasing amount of attention in the last few years by researchers in the area of object- oriented programming. At first glance, an object is very similar to a process which offers services to other processes and demands services from them. It has, however, transpired that object-oriented concepts cause problems when combined with parallelism. In programming languages, the introduction of parallelism and the synchronization constraints it brings with it can get in the way of code reusability. In databases, the combination of object orientation and parallelism requires, for example, a generalization of the transaction model, new approaches to the specification of information systems, an implementation model of object communication, and the design of an overall system architecture. There has been insufficient communication between researchers in programming languages and in databases on these issues. Object Orientation with Parallelism and Persistence grew out of a Dagstuhl Seminar of the same title in April 1995 whose goal it was to put the new research area object orientation with parallelism' on an interdisciplinary basis. Object Orientation with Parallelism and Persistence will be of interest to researchers and professionals working in software engineering, programming languages, and database systems.
Rule-Based Programming is a broad presentation of the rule-based programming method with many example programs showing the strengths of the rule-based approach. The rule-based approach has been used extensively in the development of artificial intelligence systems, such as expert systems and machine learning. This rule-based programming technique has been applied in such diverse fields as medical diagnostic systems, insurance and banking systems, as well as automated design and configuration systems. Rule-based programming is also helpful in bridging the semantic gap between an application and a program, allowing domain specialists to understand programs and participate more closely in their development. Over sixty programs are presented and all programs are available from an ftp site. Many of these programs are presented in several versions allowing the reader to see how realistic programs are elaborated from back of envelope' models. Metaprogramming is also presented as a technique for bridging the semantic gap'. Rule-Based Programming will be of interest to programmers, systems analysts and other developers of expert systems as well as to researchers and practitioners in artificial intelligence, computer science professionals and educators. |
You may like...
Database Principles - Fundamentals of…
Carlos Coronel, Keeley Crockett, …
Paperback
Demand-Driven Web Services - Theory…
Zhaohao Sun, John Yearwood
Hardcover
R8,127
Discovery Miles 81 270
SQL Cookbook - Query Solutions and…
Anthony Molinaro, Robert de Graaf
Paperback
Web Services - Concepts, Methodologies…
Information Reso Management Association
Hardcover
R8,959
Discovery Miles 89 590
Research Anthology on Convergence of…
Information R Management Association
Hardcover
R11,904
Discovery Miles 119 040
|