![]() |
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
Welcome to the European Conference on Software Architecture (ECSA), which is the premier European software engineering conference. ECSA provides researchers and practitioners with a platform to present and discuss the most recent, innovative, and significant findings and experiences in the field of software architecture research and practice. The fourth edition of ECSA was built upon a history of a successful series of European workshops on software architecture held from 2004 through 2006 and a series of European software architecture conferences from 2007 through 2009. The last ECSA was merged with the 8th Working IEEE/IFIP Conference on Software Architecture (WICSA). Apart from the traditional technical program consisting of keynote talks, a main - search track, and a poster session, the scope of the ECSA 2010 was broadened to incorporate other tracks such as an industry track, doctoral symposium track, and a tool demonstration track. In addition, we also offered several workshops and tutorials on diverse topics related to software architecture. We received more than 100 submissions in the three main categories: full research and experience papers, emerging research papers, and research challenges papers. The conference attracted papers (co-)authored by researchers, practitioners, and academics from 30 countries (Algeria, Australia, Austria, Belgium, Brazil, Canada, Chile, China, Colombia, Czech Republic, Denmark, Finland, France, Germany, Hong Kong, I- land, India, Ireland, Israel, Italy, The Netherlands, Poland, Portugal, Romania, Spain, Sweden, Switzerland, Tunisia, United Kingdom, United States).
This Festschrift volume, published in honor of Symeon Bozapalidis on the occasion of his retirement after more than 35 years of teaching activity, focuses on the subjects taught by Symeon, namely: algebra, linear algebra, mathematical logic, number theory, automata theory, tree languages and series, algebraic semantics, and fuzzy languages. Since 1982 -- at the Aristotle University of Thessaloniki -- Symeon's main interests have been closely connected with the algebraic foundations in computer science. In particular, he contributed to the development of the theory of tree languages and series, the axiomatization of graphs, picture theory, and fuzzy languages. The volume contains 15 invited papers, written by colleagues, friends, and students of Symeon. All of the papers were carefully refereed and are connected to his research topics. Most of the papers were presented at the Workshop on Algebraic Foundations in Computer Science, held in Thessaloniki, Greece, during November 7--8, 2011.
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."
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).
The professional programmer's Deitel (R) guide to C++20 Written for programmers with a background in another high-level language, in this book, you'll learn Modern C++ development hands on using C++20 and its "Big Four" features--Ranges, Concepts, Modules and Coroutines. (For more details, see the Preface, and the table of contents diagram inside the front cover.) In the context of 200+, hands-on, real-world code examples, you'll quickly master Modern C++ coding idioms using popular compilers--Visual C++ (R), GNU (R) g++, Apple (R) Xcode (R) and LLVM (R)/Clang. After the C++ fundamentals quick start, you'll move on to C++ standard library containers array and vector; functional-style programming with C++20 Ranges and Views; strings, files and regular expressions; object-oriented programming with classes, inheritance, runtime polymorphism and static polymorphism; operator overloading, copy/move semantics, RAII and smart pointers; exceptions and a look forward to C++23 Contracts; standard library containers, iterators and algorithms; templates, C++20 Concepts and metaprogramming; C++20 Modules and large-scale development; and concurrency, parallelism, the C++17 and C++20 parallel standard library algorithms and C++20 Coroutines. Features Rich coverage of C++20's "Big Four": Ranges, Concepts, Modules and Coroutines Objects-Natural Approach: Use standard libraries and open-source libraries to build significant applications with minimal code Hundreds of real-world, live-code examples Modern C++: C++20, 17, 14, 11 and a look to C++23 Compilers: Visual C++ (R), GNU (R) g++, Apple Xcode (R) Clang, LLVM (R)/Clang Docker: GNU (R) GCC, LLVM (R)/Clang Fundamentals: Control statements, functions, strings, references, pointers, files, exceptions Object-oriented programming: Classes, objects, inheritance, runtime and static polymorphism, operator overloading, copy/move semantics, RAII, smart pointers Functional-style programming: C++20 Ranges and Views, lambda expressions Generic programming: Templates, C++20 Concepts and metaprogramming C++20 Modules: Large-Scale Development Concurrent programming: Concurrency, multithreading, parallel algorithms, C++20 Coroutines, coroutines support libraries, C++23 executors Future: A look forward to Contracts, range-based parallel algorithms, standard library coroutine support and more "C++20 for Programmers builds up an intuition for modern C++ that every programmer should have in the current software engineering ecosystem. The unique and brilliant ordering in which the Deitels present the material jibes much more naturally with the demands of modern, production-grade programming environments. I strongly recommend this book for anyone who needs to get up to speed on C++, particularly in professional programming environments where the idioms and patterns of modern C++ can be indecipherable without the carefully crafted guidance that this book provides." --Dr. Daisy Hollman, ISO C++ Standards Committee Member "This is a fine book that covers a surprising amount of the very large language that is C++20. An in-depth treatment of C++ for a reader familiar with how things work in other programming languages." --Arthur O'Dwyer, C++ trainer, Chair of CppCon's Back to Basics track, author of several accepted C++17/20/23 proposals and the book Mastering the C++17 STL "Forget about callback functions, bare pointers and proprietary multithreading libraries--C++20 is about standard concurrency features, generic lambda expressions, metaprogramming, tighter type-safety and the long-awaited concepts, which are all demonstrated in this book. Functional programming is explained clearly with plenty of illustrative code listings. The excellent chapter, 'Parallel Algorithms and Concurrency: A High-Level View,' is a highlight of this book." --Danny Kalev, Ph.D. and Certified System Analyst and Software Engineer, Former ISO C++ Standards Committee Member Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details. Note: eBooks are 4-color and print books are black and white.
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.
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 referred proceedings of the First
International Conference on Certified Programs and Proofs, CPP
2011, held in Kenting, Taiwan, in December 2011.
Ada is the only ISO-standard, object-oriented, concurrent, real-time programming language. It is intended for use in large, long-lived applications where reliability and efficiency are essential, particularly real-time and embedded systems. In this book, Alan Burns and Andy Wellings give a thorough, self-contained account of how the Ada tasking model can be used to construct a wide range of concurrent and real-time systems. This is the only book that focuses on an in-depth discussion of the Ada tasking model. Following on from the authors' earlier title Concurrency in Ada, this book brings the discussion up to date to include the new Ada 2005 language and the recent advances in real-time programming techniques. It will be of value to software professionals and advanced students of programming alike: indeed every Ada programmer will find it essential reading and a primary reference work that will sit alongside the language reference manual.
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.
This book constitutes the thoroughly refereed post-workshop proceedings of the 8th International Workshop on Declarative Agent Languages and Technologies, DALT 2010, held in Toronto, Canada, on May 10, 2010, as a satellite workshop of the 9th International Joint Conference on Autonomous Agents and Multiagent Systems, AAMAS 2010. The 7 revised full papers presented together with 4 invited lectures were carefully selected during two rounds of reviewing and improvement from 24 initial submissions. DALT aims to make formal methods and declarative technologies and approaches available to and understood by a broader segment of the multi-agent research community; the papers are organized in topical sections on BDI rational agents, communication, coordination and negotiation, as well as social aspects and control systems.
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
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.
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."
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.
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.
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.
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.
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.
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.
R is the amazing, free, open-access software package for scientific graphs and calculations used by scientists worldwide. The R Student Companion is a student-oriented manual describing how to use R in high school and college science and mathematics courses. Written for beginners in scientific computation, the book assumes the reader has just some high school algebra and has no computer programming background. The author presents applications drawn from all sciences and social sciences and includes the most often used features of R in an appendix. In addition, each chapter provides a set of computational challenges: exercises in R calculations that are designed to be performed alone or in groups. Several of the chapters explore algebra concepts that are highly useful in scientific applications, such as quadratic equations, systems of linear equations, trigonometric functions, and exponential functions. Each chapter provides an instructional review of the algebra concept, followed by a hands-on guide to performing calculations and graphing in R. R is intuitive, even fun. Fantastic, publication-quality graphs of data, equations, or both can be produced with little effort. By integrating mathematical computation and scientific illustration early in a student s development, R use can enhance one's understanding of even the most difficult scientific concepts. While R has gained a strong reputation as a package for statistical analysis, The R Student Companion approaches R more completely as a comprehensive tool for scientific computing and graphing.
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."
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.
This book constitutes the refereed proceedings of the 9th
International Symposium on Automated Technology for Verification
and Analysis, ATVA 2011, held in Taipei, Taiwan, in October
2011. |
You may like...
Graphical Programming Using LabVIEW (TM…
Julio Cesar Rodriguez-Quinonez, Oscar Real-Moreno
Hardcover
Introducing Delphi Programming - Theory…
John Barrow, Linda Miller, …
Paperback
(1)R751 Discovery Miles 7 510
Introduction to Computational Economics…
Hans Fehr, Fabian Kindermann
Hardcover
R4,258
Discovery Miles 42 580
|