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 > General
The growing demand for systems of ever-increasing complexity and precision has stimulated the need for higher level concepts, tools, and techniques in every area of Computer Science. Some of these areas, in particular Artificial Intelligence, Databases, and Programming Lan guages, are attempting to meet this demand by defining a new, more abstract level of system description. We call this new level conceptual in recognition of its basic conceptual nature. In Artificial Intelligence, the problem of designing an expert system is seen primarily as a problem of building a knowledge base that repre sents knowledge about an enterprise. Consequently, Knowledge Repre sentation is viewed as a central issue in Artificial Intelligence research. Database design methodologies developed during the last five years are almost unanimous in offering semantic data models in terms of which the designer directly and naturally models an enterprise before proceed ing to a detailed logical and physical database design. In Programming Languages, different forms of abstraction which allow implementation independent specifications of data, functions, and control have been a major research theme for a decade. To emphasize the common goals of these three research efforts, we call this new activity conceptual modelling."
There is an established interest in integrating databases and programming languages. This book on Data Types and Persistence evolved from the proceedings of a workshop held at the Appin in August 1985. The purpose of the Appin workshop was to focus on these two aspects: persistence and data types, and to bring together people from various disciplines who have thought about these problems. Particular topics of"interest include the design of type systems appropriate for database work, the representation of persistent objects such as data types and modules, and the provision of orthogonal persistence and certain aspects of transactions and concurrency. The programme was broken into three sessions: morning, late afternoon and evening to allow the participants to take advantage of two beautiful days in the Scottish Highlands. The financial assistance of the Science and Engineering Research Council, the National Science Foundation and International Computers Ltd. is gratefully acknowledged. We would also like to thank Isabel Graham, Anne Donnelly and Estelle Taylor for their help in organising the workshop. Finally our thanks to Pete Bailey, Ray Carick and Dave Munro for the immense task they undertook in typesetting the book. The convergence of programming languages and databases to a coherent and consistent whole requires ideas from, and adjustment in, both intellectual camps. The first group of chapters in this book present ideas and adjustments coming from the programming language research community. This community frequently discusses types and uses them as a framework for other discussions.
The microcomputer has put a vast amount of computational power in the hands of the practicing chemical engineer. However, a microcomputer is of little use unless there are programs available to solve chemical engineer ing problems; In this book, I have put together a collection of BASIC pro grams that w~ll help the practicing engineer be more productive and able to solve complex problems that are normally handled on mainframe com puters. The plant engineer will find the book particularly useful. The plant en gineer is calle~ upon to investigate problems that range from simple trouble shooting to tQe detailed design of complex chemical plants. The larger proj ects are usually add-on jobs to the regular duties of keeping a chemical plant running. In t~day's business climate, answers to problems must be obtained quickly and ~ccurately. The computer is capable of testing hypothesis, thereby allo~ing engineers to evaluate alternative solutions to problems quickly and provide answers to management's questions that invariably shift like the sand~ in a desert.
Research into Fully Integrated Data Environments (FIDE) has the goal of substantially improving the quality of application systems while reducing the cost of building and maintaining them. Application systems invariably involve the long-term storage of data over months or years. Much unnecessary complexity obstructs the construction of these systems when conventional databases, file systems, operating systems, communication systems, and programming languages are used. This complexity limits the sophistication of the systems that can be built, generates operational and usability problems, and deleteriously impacts both reliability and performance. This book reports on the work of researchers in the Esprit FIDE projects to design and develop a new integrated environment to support the construction and operation of such persistent application systems. It reports on the principles they employed to design it, the prototypes they built to test it, and their experience using it.
Most computer users are familiar with the problems of sharing software with others, and the transfer of programs from one computing environment to another. Software represents an ever-increasing proportion of the cost of computing and these costs tend to nullify all the economic advantages flowing from the wider availability of cheap hardware. Years ago it was hoped that the widespread use of high-level programming languages would help in alleviating the problems of software production, by increasing productivity and by making it simpler for users with similar problems to be able to use the same programs, possibly on different types of machines. It is a common experience that in practice this simple optimism has proved to be unfounded. It was these considerations which led us in 1979 to organize a two-week course on "Programming for Software Sharing" at the European Community Joint Research Centre, Ispra Establishment (Italy), forming part of the regular series of "Ispra Courses." With prominent invited lecturers, local contributions and through discussion sessions we examined with an audience from many countries the problems involved in the sharing and transfer of software, as well as suggesting ways of overcoming them. In our local environment we are faced daily with three problems both from engagements in software exchange in the scientific-technical field on a Europe-wide or world-wide basis, and from work with programming techniques and contributions to the international standardization process.
The NeWS Book leads the technical reader through the discovery of a revolutionary window system: the Network extensible Window System, developed by Sun Microsystems. Independent of computer hardware and systems software, NeWS has been ported to a number of platforms and licensed to many computer vendors and software developers. NeWS will be part of the standard UNIX distribution from AT&T in the future as it is combined with the well-known X Window System from MIT in the X11/NeWS product. The specifications are in the public domain. Based on the popular PostScript page description language, NeWS provides a uniquely extensible interpretive programming environment for application developers in a networked graphics and window system environment. Networking is integral to NeWS; NeWS-based programs may span a heterogeneous set of distributed sites. NeWS is the first system to extend the PostScript language's already wide acceptance in printing applications into the realm of graphics and window-based applications. The NeWS Book is intended for a technical audience who may or may not have experience with window system design and programming.It gives practical examples of how to write PostScript programs, that implement interactive user interface techniques, while also exploring how the advanced imaging of the PostScript language model applies to the display as well as the printer. UNIX, NeWS, and graphics programmers, developers of graphical applications, computer science students, PostScript language devotees in desktop publishing, and sophisticated end-users who want to understand leading-edge solutions in window system design all will benefit from The NeWS Book.
I am very pleased to write these few brief paragraphs introducing this book, and would like to take this opportunity to attempt to set the Toolpack project in an appropriate historical context. The Toolpack project must be considered to have actually began in the Fall of 1978, when Prof. Webb C. Miller, at a meeting at Jet Propulsion Laboratories in Pasadena, California, suggested that there be a large-scale project, called Toolpack, aimed at pulling together a comprehensive collection of mathematical software development tools. It was suggested that the project follow the pattern of other "Pack" projects, such as Eispack, Linpack, and Funpack which had assembled and systematized comprehensive collections of mathematical software in such areas as eigenvalue computation, linear equation solution and special function approximation. From the that the Toolpack project would differ significantly from beginning it was recognized these earlier "Pack" projects in that it was attempting to assemble and systematize software in an area which was not well established and understood. Thus it was not clear how to organize and integrate the tools we were to collect into Toolpack. As a consequence Toolpack became simultaneously a research project and a development project. The research was aimed at determining effective strategies for large-scale integration of large-scale software tools, and the development project was aimed at implementing these strategies and using them to put high quality tools at the disposal of working mathematical software writers.
Accompanying the book, as with all TELOS sponsored publications, is an electronic component. In this case it is a DOS-Diskette produced by one of the coauthors, Paul Wellin. This diskette consists of "Mathematica "notebooks and packages which contain the codes for all examples and exercises in the book, as well as additional materials intended to extend many ideas covered in the text. It is of great value to teachers, students, and others using this book to learn how to effectively program with "Mathematica" .
The second half of the 1970s was marked with impressive advances in array/vector architectures and vectorization techniques and compilers. This progress continued with a particular focus on vector machines until the middle of the 1980s. The major ity of supercomputers during this period were register-to-register (Cray 1) or memory-to-memory (CDC Cyber 205) vector (pipelined) machines. However, the increasing demand for higher computational rates lead naturally to parallel comput ers and software. Through the replication of autonomous processors in a coordinated system, one can skip over performance barriers due technology limitations. In princi ple, parallelism offers unlimited performance potential. Nevertheless, it is very difficult to realize this performance potential in practice. So far, we have seen only the tip of the iceberg called "parallel machines and parallel programming." Parallel programming in particular is a rapidly evolving art and, at present, highly empirical. In this book we discuss several aspects of parallel programming and parallelizing compilers. Instead of trying to develop parallel programming methodologies and paradigms, we often focus on more advanced topics assuming that the reader has an adequate background in parallel processing. The book is organized in three main parts. In the first part (Chapters 1 and 2) we set the stage and focus on program transformations and parallelizing compilers. The second part of this book (Chapters 3 and 4) discusses scheduling for parallel machines from the practical point of view macro and microtasking and supporting environments). Finally, the last part (Le."
This book constitutes the refereed proceedings of the 14th International Conference on Model Driven Engineering Languages and Systems, MODELS 2011, held in Wellington, New Zealand, in October 2011. The papers address a wide range of topics in research (foundations track) and practice (applications track). For the first time a new category of research papers, vision papers, are included presenting "outside the box" thinking. The foundations track received 167 full paper submissions, of which 34 were selected for presentation. Out of these, 3 papers were vision papers. The application track received 27 submissions, of which 13 papers were selected for presentation. The papers are organized in topical sections on model transformation, model complexity, aspect oriented modeling, analysis and comprehension of models, domain specific modeling, models for embedded systems, model synchronization, model based resource management, analysis of class diagrams, verification and validation, refactoring models, modeling visions, logics and modeling, development methods, and model integration and collaboration.
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.
Distributed computer systems are now widely available but, despite a number of recent advances, the design of software for these systems remains a challenging task, involving two main difficulties: the absence of a shared clock and the absence of a shared memory. The absence of a shared clock means that the concept of time is not useful in distributed systems. The absence of shared memory implies that the concept of a state of a distributed system also needs to be redefined. These two important concepts occupy a major portion of this book. Principles of Distributed Systems describes tools and techniques that have been successfully applied to tackle the problem of global time and state in distributed systems. The author demonstrates that the concept of time can be replaced by that of causality, and clocks can be constructed to provide causality information. The problem of not having a global state is alleviated by developing efficient algorithms for detecting properties and computing global functions. The author's major emphasis is in developing general mechanisms that can be applied to a variety of problems. For example, instead of discussing algorithms for standard problems, such as termination detection and deadlocks, the book discusses algorithms to detect general properties of a distributed computation. Also included are several worked examples and exercise problems that can be used for individual practice and classroom instruction. Audience: Can be used to teach a one-semester graduate course on distributed systems. Also an invaluable reference book for researchers and practitioners working on the many different aspects of distributed systems.
This book constitutes the thoroughly refereed post-conference proceedings of the 14th Brazilian Symposium on Formal Methods, SBMF 2011, held in Sao Paulo, Brazil, in September 2011; co-located with CBSoft 2011, the second Brazilian Conference on Software: Theory and Practice. The 13 revised full papers were carefully reviewed and selected from 37 submissions. The papers presented cover a broad range of foundational and methodological issues in formal methods for the design and analysis of software and hardware systems as well as applications in various domains.
Natural language generation is a field within artificial intelligence which looks ahead to the future when machines will communicate complex thoughts to their human users in a natural way. Generation systems supply the sophisticated knowledge about natural languages that must come into play when one needs to use wordings that will overpower techniques based only on symbolic string manipulation techniques. Topics covered in this volume include discourse theory, mechanical translation, deliberate writing, and revision. "Natural Language Generation Systems" contains contributions by leading researchers in the field. Chapters contain details of grammatical treatments and processing seldom reported on outside of full length monographs.
This book constitutes the refereed proceedings of the 5th International Workshop on Reachability Problems, RP 2011, held in Genoa, Italy, in September 2011. The 16 papers presented together with 4 invited talks were carefully reviewed and selected from 24 submissions. The workshop deals with reachability problems that appear in algebraic structures, computational models, hybrid systems, logic, and verification. Reachability is a fundamental problem that appears in several different contexts: finite- and infinite-state concurrent systems, computational models like cellular automata and Petri nets, decision procedures for classical, modal and temporal logic, program analysis, discrete and continuous systems, time critical systems, and open systems modelled as games.
This book constitutes the proceedings of the 16th International Workshop on Formal Methods for Industrial Critical Systems, FMICS 2011, held in Trento, Italy, in August 2011. The 16 papers presented together with 2 invited talks were carefully reviewed and selected from 39 submissions. The aim of the FMICS workshop series is to provide a forum for researchers who are interested in the development and application of formal methods in industry. It also strives to promote research and development for the improvement of formal methods and tools for industrial applications.
This book constitutes the thoroughly refereed post-conference proceedings of the 11th International Symposium on Trends in Functional Programming, TFP 2010, held in Norman, OK, USA, in May 2010. The 13 revised full papers presented were carefully reviewed and selected from 26 submissions during two rounds of reviewing and improvement. The papers cover new ideas for refactoring, managing source-code complexity, functional language implementation, graphical languages, applications of functional programming in pure mathematics, type theory, multitasking and parallel processing, distributed systems, scientific modeling, domain specific languages, hardware design, education, and testing.
This book constitutes the refereed proceedings of the 9th International Conference on Formal Modeling and Analysis of Timed Systems, FORMATS 2011, held in Aalborg, Denmark, in September 2011. The 20 revised full papers presented together with three invited talks were carefully reviewed and selected from 43 submissions. The papers are organized in topical sections on probabilistic methods, robustness, games, verification and testing, verification, hybrid systems, and applications.
This book is a guide to getting started with ILDJIT, a compilation framework designed to be both easily extensible and easily configurable. Within this framework, it is possible to build a tool-chain by customizing ILDJIT for specific purposes. Customizations can be used within both static and dynamic compilers already included in the framework without adaptations. Moreover, customizations allow modification of both the behaviors and the characteristics of these compilers to better satisfy the particular need. Currently, ILDJIT is able to translate bytecode programs to generate machine code for both Intel x86 and ARM processors. By relying on ILDJIT technology, more input languages or platforms can be supported. After an introduction to ILDJIT, this guide goes into detail on how to exploit it by extending the framework to match specific requirements. Finally, there is an introduction and discussion of the design choices followed during the authors years of development efforts towards ILDJIT.
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."
TEX has always been regarded as the most elegant and powerful system for computer typesetting. However, its widespread use, beyond academia, was hampered by its complexity. Recently, fairly good TEX implementations have come out for PCs putting TEX on the desks of many people: writers, designers, desktop publishers, engineers, and consequently, the interest in TEX has surged. What is needed at this point is a book that teaches step-by-step how to use TEX, illustrating each step by meaningful examples. This is exactly what S.v. Bechtolsheim's book does. It is a tutorial and guide for the first-time users of TEX, as well as a reference for the most experienced "TEXpert." TEX in Practice will appear as a four volume set, starting with volume 1 "Basics," followed by volume 2 "Paragraphs, Math and " "Fonts," volume 3 "Tokens, Macros" and volume 4 "Output Routines, " "Tables." TEX in Practice will be an indispensable reference for the TEX community and a guide through the first steps for the TEX novice.
This book constitutes the refereed proceedings of the 18th International Symposium on Static Analysis, SAS 2011, held in Venice, Italy, in September 2011. The 22 revised full papers were selected from 67 submissions. Also included in this volume are the abstracts of the invited talks that were given at the symposium by renowned experts in the field. The papers address all aspects of static analysis, including abstract domains, abstract interpretation, abstract testing, data flow analysis, bug detection, program transformation, program verification, security analysis and type checking.
Models of Sharing Graphs presents a sound mathematical basis for reasoning about models of computation involving shared resources, including graph rewriting systems, denotational semantics and concurrency theory. An algebraic approach, based on the language of category theory, is taken throughout this work, which enables the author to describe several aspects of the notion of sharing in a systematic way. In particular, a novel account of recursive computation created from cyclic sharing is developed using this framework.
Not long ago" Dennis Merritt wrote one of the best books that I know of about implementing expert systems in Prolog, and I was very glad he published it in our series. The only problem is there are still some unfortunate people around who do not know Prolog and are not sufficiently prepared either to read Merritt's book, or to use this extremely productive language, be it for knowledge-based work or even for everyday programming. Possibly this last statement may surprise you if you were under the impression that Prolog was an "artificial intelligence language" with very limited application potential. Please believe this editor's statement that quite the opposite is true: for at least four years, I have been using Prolog for every programming task in which I am given the option of choosing the language. Therefore, I 'am indeed happy that Dennis Merritt has written another good book on my language of choice, and that it meets the high standard he set with his prior book, Building Expert Systems in Prolog. All that remains for me to do is to wish you success and enjoyment when taking off on your Adventure in Prolog.
Beginning with an informal introduction to language equations, this book presents a framework for a general theory for solving systems of equations and relations between languages. Classical language equations, generalized derivatives, Boolean language equations, and implicit equations are presented systematically. An exploration of mixed systems and open problems rounds out the presentation. |
You may like...
C++ How to Program: Horizon Edition
Harvey Deitel, Paul Deitel
Paperback
R1,779
Discovery Miles 17 790
Java How to Program, Late Objects…
Paul Deitel, Harvey Deitel
Paperback
C How to Program: With Case Studies in…
Paul Deitel, Harvey Deitel
Paperback
R2,192
Discovery Miles 21 920
|