![]() |
![]() |
Your cart is empty |
||
Books > Computing & IT > Computer programming > Programming languages
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."
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.
This book constitutes the refereed proceedings of the International Conference on Multiscore Software Engineering, Performance, and Tools, MSEPT 2012, held in Prague in May/June 2012. The 9 revised papers, 4 of which are short papers were carefully reviewed and selected from 24 submissions. The papers address new work on optimization of multicore software, program analysis, and automatic parallelization. They also provide new perspectives on programming models as well as on applications of multicore systems.
FOSAD has been one of the foremost educational events established with the goal of disseminating knowledge in the critical area of security in computer systems and networks. Offering a timely spectrum of current research in foundations of security, FOSAD also proposes panels dedicated to topical open problems, and giving presentations about ongoing work in the field, in order to stimulate discussions and novel scientific collaborations. This book presents thoroughly revised versions of nine tutorial lectures given by leading researchers during three International Schools on Foundations of Security Analysis and Design, FOSAD, held in Bertinoro, Italy, in September 2010 and August/September 2011. The topics covered in this book include privacy and data protection; security APIs; cryptographic verification by typing; model-driven security; noninterfer-quantitative information flow analysis; and risk analysis.
During the last three decades several different styles of semantics for program ming languages have been developed. This book compares two of them: the operational and the denotational approach. On the basis of several exam ples we show how to define operational and denotational semantic models for programming languages. Furthermore, we introduce a general technique for comparing various semantic models for a given language. We focus on different degrees of nondeterminism in programming lan guages. Nondeterminism arises naturally in concurrent languages. It is also an important concept in specification languages. In the examples discussed, the degree of non determinism ranges from a choice between two alternatives to a choice between a collection of alternatives indexed by a closed interval of the real numbers. The former arises in a language with nondeterministic choices. A real time language with dense choices gives rise to the latter. We also consider the nondeterministic random assignment and parallel composition, both couched in a simple language. Besides non determinism our four example languages contain some form of recursion, a key ingredient of programming languages."
Intended for first- or second-year undergraduates, this introduction to discrete mathematics covers the usual topics of such a course, but applies constructivist principles that promote - indeed, require - active participation by the student. Working with the programming language ISETL, whose syntax is close to that of standard mathematical language, the student constructs the concepts in her or his mind as a result of constructing them on the computer in the syntax of ISETL. This dramatically different approach allows students to attempt to discover concepts in a "Socratic" dialog with the computer. The discussion avoids the formal "definition-theorem" approach and promotes active involvement by the reader by its questioning style. An instructor using this text can expect a lively class whose students develop a deep conceptual understanding rather than simply manipulative skills. Topics covered in this book include: the propositional calculus, operations on sets, basic counting methods, predicate calculus, relations, graphs, functions, and mathematical induction.
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.
The two-volume set LNCS 6852/6853 constitutes the refereed proceedings of the 17th International Euro-Par Conference held in Bordeaux, France, in August/September 2011.The 81 revised full papers presented were carefully reviewed and selected from 271 submissions. The papers are organized in topical sections on support tools and environments; performance prediction and evaluation; scheduling and load-balancing; high-performance architectures and compilers; parallel and distributed data management; grid, cluster and cloud computing; peer to peer computing; distributed systems and algorithms; parallel and distributed programming; parallel numerical algorithms; multicore and manycore programming; theory and algorithms for parallel computation; high performance networks and mobile ubiquitous computing.
This book constitutes the thoroughly refereed
post-conference The 13 revised full papers presented were carefully reviewed and
were
It is universally accepted today that parallel processing is here to stay but that software for parallel machines is still difficult to develop. However, there is little recognition of the fact that changes in processor architecture can significantly ease the development of software. In the seventies the availability of processors that could address a large name space directly, eliminated the problem of name management at one level and paved the way for the routine development of large programs. Similarly, today, processor architectures that can facilitate cheap synchronization and provide a global address space can simplify compiler development for parallel machines. If the cost of synchronization remains high, the pro gramming of parallel machines will remain significantly less abstract than programming sequential machines. In this monograph Bob Iannucci presents the design and analysis of an architecture that can be a better building block for parallel machines than any von Neumann processor. There is another very interesting motivation behind this work. It is rooted in the long and venerable history of dataflow graphs as a formalism for ex pressing parallel computation. The field has bloomed since 1974, when Dennis and Misunas proposed a truly novel architecture using dataflow graphs as the parallel machine language. The novelty and elegance of dataflow architectures has, however, also kept us from asking the real question: "What can dataflow architectures buy us that von Neumann ar chitectures can't?" In the following I explain in a round about way how Bob and I arrived at this question."
An up-to-date and comprehensive account of set-oriented symbolic manipulation and automated reasoning methods. This book is of interest to graduates and researchers in theoretical computer science and computational logic and automated reasoning.
by Luea Cardelli Ever since Strachey's work in the 1960's, polymorphism has been classified into the parametric and overloading varieties. Parametric polymorphism has been the subject of extensive study for over two decades. Overloading, on the other hand, has often been considered too ad hoc to deserve much attention even though it has been, in some form, an ingredient of virtually every programming lan guage (much more so than parametric polymorphism). With the introduction of object-oriented languages, and in particular with multiple-dispatch object-oriented languages, overloading has become less of a programming convenience and more of a fundamental feature in need of proper explanation. This book provides a compelling framework for the study of run-time over loading and of its interactions with subtyping and with parametric polymorphism. The book also describes applications to object-oriented programming. This new framework is motivated by the relatively recent spread of programming languages that are entirely based on run-time overloading; this fact probably explains why this subject was not investigated earlier. Once properly understood, overloading reveals itself relevant also to the study of older and more conventional (single dispatch) object-oriented languages, clarifying delicate issues of covariance and contravariance of method types, and of run-time type analysis. In the final chapters, a synthesis is made between parametric and overloading polymorphism."
The area of computer graphics is characterized by rapid evolution. New techniques in hardware and software developments, e. g., new rendering methods, have led to new ap plications and broader acceptance of graphics in fields such as scientific visualization, multi-media applications, computer aided design, and virtual reality systems. The evolving functionality and the growing complexity of graphics algorithms and sys tems make it more difficult for the application programmer to take full advantage of these systems. Conventional programming methods are no longer suited to manage the increasing complexity, so new programming paradigms and system architectures are re quired. One important step in this direction is the introduction and use of object-oriented methods. Intuition teils us that visible graphical entities are objects, and experience has indeed shown that object-oriented software techniques are quite useful for graphics. The expressiveness of object-oriented languages compared to pure procedurallanguages gives the graphics application programmer much better support when transforming his mental intentions into computer code. Moreover, object-oriented software development is a, weil founded technology, allowing software to be built from reusable and extensible compo nents. This book contains selected, reviewed and thoroughly revised vers ions of papers submit ted to and presented at the Fourth Eurographies Workshops on Object-Oriented Graphics, held on May 9-11, 1994 in Sintra, Portugal."
This book constitutes the refereed proceedings of the Second
International Conference on Interactive Theorem proving, ITP 2011,
held in Berg en Dal, The Netherlands, in August 2011.
This book constitutes the refereed proceedings of the 8th International Workshop on OpenMP, held in in Rome, Italy, in June 2012. The 18 technical full papers presented together with 7 posters were carefully reviewed and selected from 30 submissions. The papers are organized in topical sections on proposed extensions to OpenMP, runtime environments, optimization and accelerators, task parallelism, validations and benchmarks
This book constitutes the refereed proceedings of the 9th International Conference on Integrated Formal Methods, IFM 2012, held Pisa, Italy, in June 2012. The 20 revised full papers presented together with 2 invited papers were carefully reviewed and selected from 59 submissions. The papers cover the spectrum of integrated formal methods, ranging from formal and semiformal notations, semantics, proof frameworks, refinement, verification, timed systems, as well as tools and case studies.
This book constitutes the thoroughly refereed post-conference proceedings of the Second IFIP TC 2 Central and East-European Conference on Software Engineering Techniques, CEE-SET 2008, held in Brno, Czech Republic, in October 2008. The 20 revised full papers presented together with a keynote speech were carefully reviewed and selected from 69 initial submissions. The papers are organized in topical sections on requirements specification, design, modeling, software product lines, code generation, project management, and quality.
This book constitutes the refereed conference proceedings of the 20th International Workshop on Functional and Constraint Logic Programming, WFLP 2011, held in Odense, Denmark, in July 2011 as Part of the 13th International Symposium on Principles and Practice of Declarative Programming (PPDP 2011), the 22st International Symposium on Logic-Based Program Synthesis and Transformation (LOPSTR 2011), and the 4th International Workshop on Approaches and Applications of Inductive Programming (AAIP 2011). From the 10 papers submitted, 9 were accepted for presentation the proceeding. The papers cover current research in all areas of functional and logic programming as well as the integration of constraint logic and object-oriented programming, and term rewriting.
This book constitutes the proceedings of the 12th International
Workshop on Computational Logic in Multi-Agent Systems, CLIMA XII,
held in Barcelona, Spain, in July 2011.
The two-volume set LNCS 6852/6853 constitutes the refereed proceedings of the 17th International Euro-Par Conference held in Bordeaux, France, in August/September 2011. The 81 revised full papers presented were carefully reviewed and selected from 271 submissions. The papers are organized in topical sections on support tools and environments; performance prediction and evaluation; scheduling and load-balancing; high-performance architectures and compilers; parallel and distributed data management; grid, cluster and cloud computing; peer to peer computing; distributed systems and algorithms; parallel and distributed programming; parallel numerical algorithms; multicore and manycore programming; theory and algorithms for parallel computation; high performance networks and mobile ubiquitous computing.
This book constitutes the refereed proceedings of the 23rd International Conference on Computer Aided Verification, CAV 2011, held in Snowbird, UT, USA, in July 2011. The 35 revised full papers presented together with 20 tool papers were carefully reviewed and selected from 161 submissions. The papers are organized in topical sections on the following workshops: 4th International Workshop on Numerical Software Verification (NSV 2011), 10th International Workshop on Parallel and Distributed Methods in Verifications (PDMC 2011), 4th International Workshop on Exploiting Concurrency Efficiently and Correctly (EC2 2011), Frontiers in Analog Circuit Synthesis and Verification (FAC 2011), International Workshop on Satisfiability Modulo Theories, including SMTCOMP (SMT 2011), 18th International SPIN Workshop on Model Checking of Software (SPIN 2011), Formal Methods for Robotics and Automation (FM-R 2011), and Practical Synthesis for Concurrent Systems (PSY 2011).
The book constitutes the refereed proceedings of the 10th International Conference on Software Composition, SC 2011, held in Zurich, Switzerland, in June/July 2011, co-located with TOOLS 2011 Federated Conferences. The 10 revised full papers and 2 short papers were carefully reviewed and selected from 32 initial submissions for inclusion in the book. The papers reflect all current research in software composition and are organized in topical sections on composition and interfaces, aspects and features, and applications.
This book constitutes the refereed proceedings of the 11th International Symposium on Functional and Logic Programming, FLOPS 2012, held in Kobe, Japan, in May 2012. The 19 research papers and 3 system demonstrations presented in this volume were carefully reviewed and selected from 39 submissions. They deal with declarative programming, including functional programming and logic programming.
This book constitutes the refereed proceedings of the 18th International SPIN workshop on Model Checking Software, SPIN 2011, held in Snowbird, UT, USA, in July 2011. The 10 revised full papers presented together with 2 tool demonstration papers and 1 invited contribution were carefully reviewed and selected from 29 submissions. The papers are organized in topical sections on abstractions and state-space reductions; search strategies; PROMELA encodings and extensions; and applications of model checking.
Describes how to design object-oriented code and accompanying algorithms that can be reverse engineered for greater flexibility in future code maintenance and alteration.
|
![]() ![]() You may like...
Hybrid ADCs, Smart Sensors for the IoT…
Pieter Harpe, Kofi A. A. Makinwa, …
Hardcover
R5,412
Discovery Miles 54 120
Research Anthology on Recent Trends…
Information Reso Management Association
Hardcover
R10,621
Discovery Miles 106 210
Introduction to Microlithography
Larry F. Thompson, C. Grant Willson, …
Hardcover
R5,071
Discovery Miles 50 710
Online Learning Systems - Methods and…
Zdzislaw Polkowski, Samarjeet Borah, …
Hardcover
R3,423
Discovery Miles 34 230
Data Science with Semantic Technologies…
Archana Patel, Narayan C Debnath
Hardcover
R5,217
Discovery Miles 52 170
Advanced Techniques for Power, Energy…
Santiago Pagani, Jian-Jia Chen, …
Hardcover
R4,300
Discovery Miles 43 000
|