![]() |
![]() |
Your cart is empty |
||
Books > Computing & IT > Computer programming > Programming languages > General
This book is an anthology of the results of research and development in database query processing during the past decade. The relational model of data provided tremendous impetus for research into query processing. Since a relational query does not specify access paths to the stored data, the database management system (DBMS) must provide an intelligent query-processing subsystem which will evaluate a number of potentially efficient strategies for processing the query and select the one that optimizes a given performance measure. The degree of sophistication of this subsystem, often called the optimizer, critically affects the performance of the DBMS. Research into query processing thus started has taken off in several directions during the past decade. The emergence of research into distributed databases has enormously complicated the tasks of the optimizer. In a distributed environment, the database may be partitioned into horizontal or vertical fragments of relations. Replicas of the fragments may be stored in different sites of a network and even migrate to other sites. The measure of performance of a query in a distributed system must include the communication cost between sites. To minimize communication costs for-queries involving multiple relations across multiple sites, optimizers may also have to consider semi-join techniques.
At least four research fields detennine the theoretical background of specification and deduction in computer science: recursion theory, automated theorem proving, abstract data types and tenn rewriting systems. As these areas approach each other more and more, the strong distinctions between functional and relational views, deductive and denotational approaches as well as between specification and programming are relieved in favour of their integration. The book will not expose the lines of this development; conversely, it starts out from the nucleus of Hom clause logic and brings forth both known and unknown results, most of which affect more than one of the fields mentioned above. Chapter 1 touches on historical issues of specification and prototyping and delimits the topics handled in this book from others which are at the core of related work. Chapter 2 provides the fundamental notions and notations needed for the presentation and interpretation of many-sorted Horn clause theories with equality. Chapter 3 supplies a number of sample Hom clause specifications ranging from arithmetic through string manipulation to higher data structures and interpreters of programming languages. Some of these examples serve as a reference to illustrate definitions and results, others may throw a light on the strong link between specifications and programs, which are executed by applying deduction rules. Thus we have included examples of how to use program trans/ormation methods in specification design.
" .. .1 always worked with programming languages because it seemed to me that until you could understand those, you really couldn't understand computers. Understanding them doesn't really mean only being able to use them. A lot of people can use them without understanding them." Christopher Strachey The development of programming languages is one of the finest intellectual achievements of the new discipline called Computer Science. And yet, there is no other subject that I know of, that has such emotionalism and mystique associated with it. Thus, my attempt to write about this highly charged subject is taken with a good deal of in my role as professor I have felt the need for a caution. Nevertheless, modern treatment of this subject. Traditional books on programming languages are like abbreviated language manuals, but this book takes a fundamentally different point of view. I believe that the best possible way to study and understand today's programming languages is by focusing on a few essential concepts. These concepts form the outline for this book and include such topics as variables, expressions, statements, typing, scope, procedures, data types, exception handling and concurrency. By understanding what these concepts are and how they are realized in different programming languages, one arrives at a level of comprehension far greater than one gets by writing some programs in a xii Preface few languages. Moreover, knowledge of these concepts provides a framework for understanding future language designs.
This book provides a superb introduction to and overview of the MIT PI System for custom VLSI placement and routing. Alan Sher man has done an excellent job of collecting and clearly presenting material that was previously available only in various theses, confer ence papers, and memoranda. He has provided here a balanced and comprehensive presentation of the key ideas and techniques used in PI, discussing part of his own Ph. D. work (primarily on the place ment problem) in the context of the overall design of PI and the contributions of the many other PI team members. I began the PI Project in 1981 after learning first-hand how dif ficult it is to manually place modules and route interconnections in a custom VLSI chip. In 1980 Adi Shamir, Leonard Adleman, and I designed a custom VLSI chip for performing RSA encryp tion/decryption [226]. I became fascinated with the combinatorial and algorithmic questions arising in placement and routing, and be gan active research in these areas. The PI Project was started in the belief that many of the most interesting research issues would arise during an actual implementation effort, and secondarily in the hope that a practically useful tool might result. The belief was well-founded, but I had underestimated the difficulty of building a large easily-used software tool for a complex domain; the PI soft ware should be considered as a prototype implementation validating the design choices made.
This book comprises selected papers of the International Conferences, ASEA, DRBC and EL 2011, held as Part of the Future Generation Information Technology Conference, FGIT 2011, in Conjunction with GDC 2011, Jeju Island, Korea, in December 2011. The papers presented were carefully reviewed and selected from numerous submissions and focuse on the various aspects of advances in software engineering and its Application, disaster recovery and business continuity, education and learning.
Combinatory logic started as a programme in the foundation of mathematics and in an historical context at a time when such endeavours attracted the most gifted among the mathematicians. This small volume arose under quite differ ent circumstances, namely within the context of reworking the mathematical foundations of computer science. I have been very lucky in finding gifted students who agreed to work with me and chose, for their Ph. D. theses, subjects that arose from my own attempts 1 to create a coherent mathematical view of these foundations. The result of this collaborative work is presented here in the hope that it does justice to the individual contributor and that the reader has a chance of judging the work as a whole. E. Engeler ETH Zurich, April 1994 lCollected in Chapter III, An Algebraization of Algorithmics, in Algorithmic Properties of Structures, Selected Papers of Erwin Engeler, World Scientific PubJ. Co., Singapore, 1993, pp. 183-257. I Historical and Philosophical Background Erwin Engeler In the fall of 1928 a young American turned up at the Mathematical Institute of Gottingen, a mecca of mathematicians at the time; he was a young man with a dream and his name was H. B. Curry. He felt that he had the tools in hand with which to solve the problem of foundations of mathematics mice and for all. His was an approach that came to be called "formalist" and embodied that later became known as Combinatory Logic."
This book constitutes the thoroughly refereed post-conference proceedings of the 15th International SDL Forum, SDL 2011, held in Toulouse, France, in July 2011. The 16 revised full papers presented together were carefully reviewed and selected for inclusion in the book. The papers cover a wide range of topics such as SDL and related languages; testing; and services and components to a wide range presentations of domain specific languages and applications, going from use maps to train station models or user interfaces for scientific dataset editors for high performance computing.
This book constitutes the referred proceedings of the First
International Conference on Certified Programs and Proofs, CPP
2011, held in Kenting, Taiwan, in December 2011.
This book constitutes the refereed proceedings of the 9th Asian Symposium on Programming Languages and Systems, APLAS 2011, held in Kenting, Taiwan, in December 2011. The 22 revised full papers presented together with 4 invited talks and one system and tool presentations were carefully reviewed and selected from 64 submissions. The papers are organized in topical sections on program analysis; functional programming; compiler; concurrency; semantics; as well as certification and logic.
At present one of the main obstacles to a broader application of expert systems is the lack of a theory to tell us which problem-solving methods areavailable for a given problem class. Such a theory could lead to significant progress in the following central aims of the expert system technique: - Evaluating the technical feasibility of expert system projects: This depends on whether there is a suitable problem-solving method, and if possible a corresponding tool, for the given problem class. - Simplifying knowledge acquisition and maintenance: The problem-solving methods provide direct assistance as interpretation models in knowledge acquisition. Also, they make possible the development of problem-specific expert system tools with graphical knowledge acquisition components, which can be used even by experts without programming experience. - Making use of expert systems as a knowledge medium: The structured knowledge in expert systems can be used not only for problem solving but also for knowledge communication and tutorial purposes. With such a theory in mind, this book provides a systematic introduction to expert systems. It describes the basic knowledge representations and the present situation with regard tothe identification, realization, and integration of problem-solving methods for the main problem classes of expert systems: classification (diagnostics), construction, and simulation.
Now available in paperback With Beginning C: From Novice to Professional, Fourth Edition, you'll come to understand the fundamentals of the C language and learn how to program. All you need is this book and any one of the widely available free or commercial C or C++ compilers, and you'll soon be writing real C programs. You'll learn C from the first principles, using step-by-step working examples that you'll create and execute yourself. This book will increase your programming expertise by guiding you through the development of fully working C applications that use what you've learned in a practical context. You'll also be able to strike out on your own by trying the exercises included at the end of each chapter. Pick up a copy of this book by renowned author, Ivor Horton, because: It is the only beginning-level book to cover the latest ANSI standard in C Is approachable and aimed squarely at people new to C Emphasizes writing code after the first chapter Includes substantial examples relevant to intermediate users
Object-oriented database systems have been approached with mainly two major intentions in mind, namely to better support new application areas including CAD/CAM, office automation, knowledge engineering, and to overcome the impendance mismatch' between data models and programming languages. This volume gives a comprehensive overwiew of developments in this flourishing area of current database research. Data model and language aspects, interface and database design issues, architectural and implementation questions are covered. Although based on a series of workshops, the contents of this book has been carefully edited to reflect the current state of international research in object oriented database design and implementation.
Object-oriented systems have gained a great deal of popularity recently and their application to graphics has been very successful. This book documents a number of recent advances and indicates numerous areas of current research. The purpose of the book is: - to demonstrate the extraordinary practical utility of object-oriented methods in computer graphics (including user interfaces, image synthesis, CAD), - to examine outstanding research issues in the field of object-oriented graphics, and in particular to investi- gate extensions and shortcomings of the methodology when applied to computer graphics. Papers included in the book extend existing object-oriented graphical techniques, such as Smalltalk's "model view controller" or "constraints," introduce the use of complex and persistent objects in graphics, and give approaches to direct manipulation interfaces. The reader is presented with an in-depth treatment of a number of significant existing graphics systems, both for user interfaces and for image synthesis. There are theoretical surveys and chapters pointing to new directions in the broad field of computer graphics. Computer language scientists will find a useful critique of object-oriented language constructs and suggested ways to extend object-oriented theory.
The topics covered in this text are those usually covered in a full year's course in finite mathematics or mathematics for liberal arts students. They correspond very closely to the topics I have taught at Western New England College to freshmen business and liberal arts students. They include set theory, logic, matrices and determinants, functions and graph ing, basic differential and integral calculus, probability and statistics, and trigonometry. Because this is an introductory text, none of these topics is dealt with in great depth. The idea is to introduce the student to some of the basic concepts in mathematics along with some of their applications. I believe that this text is self-contained and can be used successfully by any college student who has completed at least two years of high school mathematics including one year of algebra. In addition, no previous knowledge of any programming language is necessary. The distinguishing feature of this text is that the student is given the opportunity to learn the mathematical concepts via A Programming Lan guage (APL). APL was developed by Kenneth E. Iverson while he was at Harvard University and was presented in a book by Dr. Iverson entitled A i Programming Language in 1962. He invented APL for educational purpo ses. That is, APL was designed to be a consistent, unambiguous, and powerful notation for communicating mathematical ideas. In 1966, APL became available on a time-sharing system at IBM."
This Festschrift published in honor of Vladimir Lifschitz on the occasion of his 65th birthday presents 39 articles by colleagues from all over the world with whom Vladimir Lifschitz had cooperation in various respects. The 39 contributions reflect the breadth and the depth of the work of Vladimir Lifschitz in logic programming, circumscription, default logic, action theory, causal reasoning and answer set programming.
Previous works on industrial robots dealt with "programming" and "programming languages" only in passing; no comparison was made between characteristics of the individual programming lan guages. This book, therefore, gives a detailed account of industrial robot programming and its environment. Mter introducing basic concepts special attention is paid to the language constructs relevant to robot programming. The features of various elements of the languages ex amined are compared. The languages are based on the following concepts: SRL - high-level programming language based on AL with PASCAL elements (University of Karlsruhe, F. R G. ) PASRO - integrated into PASCAL, based on the geometrical data types of SRL (I. I. -BIOMATIC Informatics Institute, Freiburg, F. RG. ) AL - derived from the high-level programming language ALGOL (Stanford University, U. S. A., and University of Karls ruhe, F. RG. ) AML - high-level programming language, influenced by PL/1 (IBM, U. S. A. ) VAL - language specifically developed for robots (Unimation, U. S. A. ) HELP - mixture of high-level language elements and robot l- guage elements and real-time processing (DEA, Italy) SIGLA - a simple machine language (Olivetti, Italy) ROBEX - based on NC programming (Technical College (RWTH), Aachen, F. RG. ) RAIL - high-level programming language for industrial robots with elements for graphic processing (Automatix, U. S. A. ) IRDATA - general software interface between programming and robot controller (Association of German Engineers (VDI), F. R G."
This text is an introduction to programming in general, and a manual for programming with the language Modula-2 in particular. It is oriented primarily towards people who have already acquired some basic knowledge of programming and would like to deepen their understanding in a more structured way. Neveltheless, an introductory chapter is included for the benefit of the beginner, displaying in a concise form some of the fundamental concepts of computers and their programming. The text is therefore also suitable as a self-contained tutorial. The notation used is Modula-2, which lends itself well for a structured approach and leads the student to a working style that has generally become known under the title of structured programming. As a manual for programming in Modula-2, the text covers practically all facilities of that language. Part 1 covers the basic notions of the variable, expression, assignment, conditional and repetitive statement, and array data structure. Together with Palt 2 which introduces the important concept of the procedure or subroutine, it contains essentially the material commonly discussed in introductory programming courses. Part 3 concerns data types and structures and constitutes the essence of an advanced course on programming. Palt 4 introduces the notion of the module, a concept that is fundamental to the design of larger programmed systems and to programming as team work. The most commonly used utility programs for input and output are presented as examples of modules.
In the two and a half years since the frrst edition of this book was published, the field of logic programming has grown rapidly. Consequently, it seemed advisable to try to expand the subject matter covered in the first edition. The new material in the second edition has a strong database flavour, which reflects my own research interests over the last three years. However, despite the fact that the second edition has about 70% more material than the first edition, many worthwhile topic!! are still missing. I can only plead that the field is now too big to expect one author to cover everything. In the second edition, I discuss a larger class of programs than that discussed in the first edition. Related to this, I have also taken the opportunity to try to improve some of the earlier terminology. Firstly, I introduce "program statements", which are formulas of the form A+-W, where the head A is an atom and the body W is an arbitrary formula. A "program" is a finite set of program statements. There are various restrictions of this class. "Normal" programs are ones where the body of each program statement is a conjunction of literals. (The terminology "general", used in the first edition, is obviously now inappropriate).
When I compare the books on expert systems in my library with the production expert systems I know of, I note that there are few good books on building expert systems in Prolog. Of course, the set of actual production systems is a little small for a valid statistical sample, at least at the time and place of this writing - here in Gennany, and in the first days of 1989. But there are at least some systems I have seen running in real life commercial and industrial environments, and not only at trade shows. I can observe the most impressive one in my immediate neighborhood. It is installed in the Telephone Shop of the Gennan Federal PTT near the Munich National Theater, and helps configure telephone systems and small PBXs for mostly private customers. It has a neat, graphical interface, and constructs and prices an individual telephone installation interactively before the very eyes of the customer. The hidden features of the system are even more impressive. It is part of an expert system network with a distributed knowledge base that will grow to about 150 installations in every Telephone Shop throughout Gennany. Each of them can be updated individually overnight via Teletex to present special offers or to adapt the selection process to the hardware supplies currently available at the local ware houses."
Although you only have one volume in front of you, writing four volumes and 1600 pages on a single subject needs some form of justification. And then on the other hand, why write even more?! Can't, at least, the preface of something that long be short?! Very well, so let's keep it short. It is my sincere hope that the series "'lEX in Practice" will be useful for your own 'lEX work. But please, before you get started, read the "Notes on ''lEX in Practice' ," because it instructs you how to use this series. You will find these notes on pages xxvii-xxxvi. The fourth and last volume deals with two different subject areas. First of all, there are the so-called output routines which are responsible for putting together the pages as generated by 'lEX. You will be amazed at how many different things can be done with 'lEX's output routines. The second subject area we are dealing with in this volume are tables. About a hundred different tables you can choose from should provide you with a starting point in the selection of tables.
The title of this book contains the words ALGORITHMIC LANGUAGE, in the singular. This is meant to convey the idea that it deals not so much with the diversity of program ming languages, but rather with their commonalities. The task of formal program develop It allows classifying ment proved to be the ideal frame for demonstrating this unity. concepts and distinguishing fundamental notions from notational features; and it leads immediately to a systematic disposition. This approach is supported by didactic, practical, and theoretical considerations. The clarity of the structure of a programming language de signed according to the principles of program transformation is remarkable. Of course there are various notations for such a language. The notation used in this book is mainly oriented towards ALGOL 68, but is also strongly influenced by PASCAL - it could equally well have been the other way round. In the appendices there are occa sional references to the styles used in ALGOL, PASCAL, LISP, and elsewhere."
The aim of this book is to present fundamentals of algebraic specifications with respect to the following three aspects: fundamentals in the sense of a carefully motivated introduction to algebraic specifications, which is easy to understand for computer scientists and mathematicians; fundamentals in the sense of mathematical theories which are the basis for precise definitions, constructions, results, and correctness proofs; and fundamentals in the sense of concepts, which are introduced on a conceptual level and formalized in mathematical terms. The book is equally suitableas a text book for graduate courses and as a reference for researchers and system developers.
This book is an updated version of my Ph.D. dissertation, The AND/OR Process Model for Parallel Interpretation of Logic Programs. The three years since that paper was finished (or so I thought then) have seen quite a bit of work in the area of parallel execution models and programming languages for logic programs. A quick glance at the bibliography here shows roughly 50 papers on these topics, 40 of which were published after 1983. The main difference between the book and the dissertation is the updated survey of related work. One of the appendices in the dissertation was an overview of a Prolog implementation of an interpreter based on the AND/OR Process Model, a simulator I used to get some preliminary measurements of parallelism in logic programs. In the last three years I have been involved with three other implementations. One was written in C and is now being installed on a small multiprocessor at the University of Oregon. Most of the programming of this interpreter was done by Nitin More under my direction for his M.S. project. The other two, one written in Multilisp and the other in Modula-2, are more limited, intended to test ideas about implementing specific aspects of the model. Instead of an appendix describing one interpreter, this book has more detail about implementation included in Chapters 5 through 7, based on a combination of ideas from the four interpreters.
This Festschrift volume, published in honor of Carolyn Talcott on the occasion of her 70th birthday, contains a collection of papers presented at a symposium held in Menlo Park, California, USA, in November 2011. Carolyn Talcott is a leading researcher and mentor of international renown among computer scientists. She has made key contributions to a number of areas of computer science including: semantics and verification of progamming languages; foundations of actor-based systems; middleware, meta-architectures, and systems; Maude and rewriting logic; and computational biology. The 21 papers presented are organized in topical sections named: Essays on Carolyn Talcott; actors and programming languages; cyberphysical systems; middleware and meta-architectures; formal methods and reasoning tools; and computational biology.
GPSS-FORTRAN is a simulator for the simulation of discrete, continuous, and combined models. Provides a reference for GPSS-FORTRAN Version 3 and illustrates the use of the lan- guage by numerous examples. |
![]() ![]() You may like...
Java How to Program, Late Objects…
Paul Deitel, Harvey Deitel
Paperback
C++ How to Program: Horizon Edition
Harvey Deitel, Paul Deitel
Paperback
R1,861
Discovery Miles 18 610
Dark Silicon and Future On-chip Systems…
Suyel Namasudra, Hamid Sarbazi-Azad
Hardcover
R4,084
Discovery Miles 40 840
Advanced Visual Basic 6 - Power…
Matthew Curland, Gary Clarke
Paperback
R1,304
Discovery Miles 13 040
|