![]() |
![]() |
Your cart is empty |
||
Books > Computing & IT > Computer programming > Programming languages
In conjunction with the 1993 International Conference on Logic Programming (ICLP'93), held in Budapest Hungary, two workshops were held concerning the implementations of logic programming systems: Practical Implementations and Sys- tems Experience in Logic Programming Systems, and Concurrent, Distributed, and Parallel Implementations of Logic Programming Systems. This collection presents 16 research papers in the area of the implementation of logic programming systems. The two workshops aimed to bring together sys- tems implementors for discussing real problems coming from their direct experience, therefore these papers have a special emphasis on practice rather than on theory. This book will be of immediate interest to practitioners who seek understanding of how to efficiently manage memory, generate fast code, perform sophisticated static analyses, and design high-performance runtime features. A major theme, throughout the papers, is how to effectively leverage host imple- mentation systems and technologies to implement target systems. Debray discusses implementing Janus in SICStus Prolog by exploiting the delay primitive, which is fur- ther expounded by Meier in his discussion of various ECRC systems implementations of delay primitives. Hausman discusses implementing Erlang in C, and Czajkowski and Zielinski discuss embedding Linda primitives in Strand. Denti et ai. discuss implementing object-oriented logic programs within SICStus Prolog, a theme also explored and compared to a WAM-based implementation by Bugliesi and Nardiello.
Software engineering is widely recognized as one of the most exciting, stimulating, and profitable research areas, with a significant practical impact on the software industry. Thus, training future generations of software engineering researchers and bridging the gap between academia and industry are vital to the field. The International Summer School on Software Engineering (ISSSE), which started in 2003, aims to contribute both to training future researchers and to facilitating the exchange of knowledge between academia and industry. This volume consists of chapters originating from a number of tutorial lectures given in 2009, 2010, and 2011 at the International Summer School on Software Engineering, ISSSE, held in Salerno, Italy. The volume has been organized into three parts, focusing on software measurement and empirical software engineering, software analysis, and software management. The topics covered include software architectures, software product lines, model driven software engineering, mechatronic systems, aspect oriented software development, agile development processes, empirical software engineering, software maintenance, impact analysis, traceability management, software testing, and search-based software engineering.
This book constitutes the proceedings of the 18th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, TACAS 2012, held as part of the joint European Conference on Theory and Practice of Software, ETAPS 2012, which took place in Tallinn, Estonia, in March/April 2012. The 25 research papers, 2 case study papers, 3 regular tool papers, and 6 tool demonstrations papers presented in this book were carefully reviewed and selected from a total of 147 submissions. The papers are organized in topical sections named: SAT and SMT based methods; automata; model checking; case studies; memory models and termination; internet protocol verification; stochastic model checking; synthesis; provers and analysis techniques; tool demonstrations; and competition on software verification.
Computersystemsresearch is heavilyinfluencedby changesincomputertechnol- ogy. As technology changes alterthe characteristics ofthe underlying hardware com- ponents of the system, the algorithms used to manage the system need to be re- examinedand newtechniques need to bedeveloped. Technological influencesare par- ticularly evident in the design of storage management systems such as disk storage managers and file systems. The influences have been so pronounced that techniques developed as recently as ten years ago are being made obsolete. The basic problem for disk storage managers is the unbalanced scaling of hard- warecomponenttechnologies. Disk storage managerdesign depends on the technolo- gy for processors, main memory, and magnetic disks. During the 1980s, processors and main memories benefited from the rapid improvements in semiconductortechnol- ogy and improved by several orders ofmagnitude in performance and capacity. This improvement has not been matched by disk technology, which is bounded by the me- chanics ofrotating magnetic media. Magnetic disks ofthe 1980s have improved by a factor of 10in capacity butonly a factor of2 in performance. This unbalanced scaling ofthe hardware components challenges the disk storage manager to compensate for the slower disks and allow performance to scale with the processor and main memory technology. Unless the performance of file systems can be improved over that of the disks, I/O-bound applications will be unable to use the rapid improvements in processor speeds to improve performance for computer users. Disk storage managers must break this bottleneck and decouple application perfor- mance from the disk.
This fast-moving tutorial introduces you to OCaml, an industrial-strength programming language designed for expressiveness, safety, and speed. Through the book's many examples, you'll quickly learn how OCaml stands out as a tool for writing fast, succinct, and readable systems code using functional programming. Real World OCaml takes you through the concepts of the language at a brisk pace, and then helps you explore the tools and techniques that make OCaml an effective and practical tool. You'll also delve deep into the details of the compiler toolchain and OCaml's simple and efficient runtime system. This second edition brings the book up to date with almost a decade of improvements in the OCaml language and ecosystem, with new chapters covering testing, GADTs, and platform tooling. This title is also available as open access on Cambridge Core, thanks to the support of Tarides. Their generous contribution will bring more people to OCaml.
Call-by-push-value is a programming language paradigm that,
surprisingly, breaks down the call-by-value and call-by-name
paradigms into simple primitives. This monograph, written for
graduate students and researchers, exposes the call-by-push-value
structure underlying a remarkable range of semantics, including
operational semantics, domains, possible worlds, continuations and
games.
This book constitutes the proceedings of the 6th International Conference on Software and Data Technologies, ICSOFT 2011, held in Seville, Spain, in July 12011. The 13 revised full papers presented together with 4 invited papers were carefully reviewed and selected from 220 submissions. The papers are organized in topical sections on enterprise software technology; software engineering; distributed systems; data management; knowledge-based systems.
Source Code Availability All of the source code found in this volume, and some that is not, is available from the author at a nominal fee. The author is interested in learning of any errors that may be found, though care has been taken in the construction of the modules to minimize these. The author is also interested in other comments, suggestions, recommendations, questions or experiences with the use of these modules. Contact the author through the following address: Modula-2 Software c/o Springer-Verlag 815 De La Vina St. Santa Barbara, CA 93101 As of February 1988, source code is available on 3.5" Macintosh diskettes (800K HFS format) for the TML Modula-2 compiler for MPW and the Mac METH Modula-2 compiler from ETH Ziirich. 1 Specification Requirements for specification of procedure and data abstractions were previously covered in Volume 1, Chapter 2. A summary is provided of the specification for mat used in this book. The format is adapted from that Guttag and Liskov 10] developed for the CLU language. It consists of relatively few constructs, is semi formal by providing a rigorous definition of the syntax and semantics of opera tions, and it provides powerful facilities for defining abstract data types. 1.1 Specification of Procedure Abstractions Specification of a procedure requires a full description of syntax and semantics. Syntax the name of the procedure by name, the name and type of each ar gument or result, and the order in which the arguments and results occur."
This book constitutes the proceedings of the 18th International Conference on Logic for Programming, Artificial Intelligence, and Reasoning, LPAR-18, held in Merida, Venezuela, in March 2012. The 25 regular papers and 6 tool descriptions and experimental papers presented were carefully reviewed and selected from 74 submissions. The series of International Conferences on Logic for Programming, Artificial Intelligence and Reasoning (LPAR) is a forum where, year after year, some of the most renowned researchers in the areas of logic, automated reasoning, computational logic, programming languages and their applications come to present cutting-edge results, to discuss advances in these fields, and to exchange ideas in a scientifically emerging part of the world.
This book constitutes the thoroughly refereed post-proceedings of
the 4th International Conference on Software Language Engineering,
SLE 2011, held in Braga, Portugal, in July 2011.
This Festschrift volume is published in honor of Dexter Kozen on the occasion of his 60th birthday. Dexter Kozen has been a leader in the development of Kleene Algebras (KAs). The contributions in this volume reflect the breadth of his work and influence. The volume includes 19 full papers related to Dexter Kozen's research. They deal with coalgebraic methods, congruence closure; the completeness of various programming logics; decision procedure for logics; alternation; algorithms and complexity; and programming languages and program analysis. The second part of this volume includes laudatios from several collaborators, students and friends, including the members of his current band.
In the past few decades Computer Hardware Description Languages (CHDLs) have been a rapidly expanding subject area due to a number of factors, including the advancing complexity of digital electronics, the increasing prevalence of generic and programmable components of software-hardware and the migration of VLSI design to high level synthesis based on HDLs. Currently the subject has reached the consolidation phase in which languages and standards are being increasingly used, at the same time as the scope is being broadened to additional application areas. This book presents the latest developments in this area and provides a forum from which readers can learn from the past and look forward to what the future holds.
This Festschrift, published in honor of Bernhard Thalheim on the occasion of his 60th birthday presents 20 articles by colleagues from all over the world with whom Bernhard Thalheim had cooperation in various respects; also included is a scientific biography contributed by the volume editors. The 20 contributions reflect the breadth and the depth of the work of Bernhard Thalheim in conceptual modeling and database theory during his scientific career spanning more than 35 years of active research. In particular, ten articles are focusing on topics like database dependency theory, object-oriented databases, triggers, abstract state machines, database and information systems design, web semantics, and business processes.
This book constitutes the proceedings of the 8th International Workshop on Programming Multi-Agent Systems held in Toronto, Canada, in May 2010 in conjunction with AAMAS 2010, the 9th International Joint Conference on Autonomous Agents and Multiagent Systems. The 7 revised full papers presented together with 1 invited paper were carefully reviewed and selected for inclusion in the book. The papers cover a broad range of mostly practical topics like decision component of agent systems; practical examples of programming languages; interaction with the environment, and are thus organized in topical sections on reasoning, programming languages, and environments.
Appropriate for use as a graduate text or a professional reference, Languages for Digital Embedded Systems is the first detailed, broad survey of hardware and software description languages for embedded system design. Instead of promoting the one language that will solve all design problems (which does not and will not ever exist), this book takes the view that different problems demand different languages, and a designer who knows the spectrum of available languages has the advantage over one who is trapped using the wrong language. Languages for Digital Embedded Systems concentrates on successful, widely-used design languages, with a secondary emphasis on those with significant theoretical value. The syntax, semantics, and implementation of each language is discussed, since although hardware synthesis and software compilation technology have steadily improved, coding style still matters, and a thorough understanding of how a language is synthesized or compiled is generally necessary to take full advantage of a language. Practicing designers, graduate students, and advanced undergraduates will all benefit from this book. It assumes familiarity with some hardware or software languages, but takes a practical, descriptive view that avoids formalism.
I love virtual machines (VMs) and I have done for a long time.If that makes me "sad" or an "anorak," so be it. I love them because they are so much fun, as well as being so useful. They have an element of original sin (writing assembly programs and being in control of an entire machine), while still being able to claim that one is being a respectable member of the community (being structured, modular, high-level, object-oriented, and so on). They also allow one to design machines of one's own, unencumbered by the restrictions of a starts optimising it for some physical particular processor (at least, until one processor or other). I have been building virtual machines, on and off, since 1980 or there abouts. It has always been something of a hobby for me; it has also turned out to be a technique of great power and applicability. I hope to continue working on them, perhaps on some of the ideas outlined in the last chapter (I certainly want to do some more work with register-based VMs and concur rency). I originally wanted to write the book from a purely semantic viewpoint."
This book constitutes the refereed proceedings of the 4th International Conference on Algebraic Biology, ANB 2010, held at the Castle of Hagenberg, Austria in July/August 2010. The conference is a follow up of the AB Conference. The 10 papers were carefully reviewed and selected from numerous submissions. The papers are organized in topical sections on mathematical modeling, system analysis and design, genomics, molecular structure analysis, automata theory, artificial intelligence, sequence analysis, automated reasoning, formal language and hybrid symbolic numerical methods.
This book constitutes the refereed proceedings of the Fourth International Symposium on NASA Formal Methods, NFM 2012, held in Norfolk, VA, USA, in April 2012. The 36 revised regular papers presented together with 10 short papers, 3 invited talks were carefully reviewed and selected from 93 submissions. The topics are organized in topical sections on theorem proving, symbolic execution, model-based engineering, real-time and stochastic systems, model checking, abstraction and abstraction refinement, compositional verification techniques, static and dynamic analysis techniques, fault protection, cyber security, specification formalisms, requirements analysis and applications of formal techniques.
This volume contains a selection of papers that focus on the state-of the-art in real-time scheduling and resource management. Preliminary versions of these papers were presented at a workshop on the foundations of real-time computing sponsored by the Office of Naval Research in October, 1990 in Washington, D.C. A companion volume by the title Foundations of Real-Time Computing: Fonnal Specifications and Methods complements this book by addressing many of the most advanced approaches currently being investigated in the arena of formal specification and verification of real-time systems. Together, these two texts provide a comprehensive snapshot of current insights into the process of designing and building real-time computing systems on a scientific basis. Many of the papers in this book take care to define the notion of real-time system precisely, because it is often easy to misunderstand what is meant by that term. Different communities of researchers variously use the term real-time to refer to either very fast computing, or immediate on-line data acquisition, or deadline-driven computing. This text is concerned with the very difficult problems of scheduling tasks and resource management in computer systems whose performance is inextricably fused with the achievement of deadlines. Such systems have been enabled for a rapidly increasing set of diverse end-uses by the unremitting advances in computing power per constant-dollar cost and per constant-unit-volume of space. End-use applications of deadline-driven real-time computers span a spectrum that includes transportation systems, robotics and manufacturing, aerospace and defense, industrial process control, and telecommunications."
For real-time systems, the worst-case execution time (WCET) is the key objective to be considered. Traditionally, code for real-time systems is generated without taking this objective into account and the WCET is computed only after code generation. Worst-Case Execution Time Aware Compilation Techniques for Real-Time Systems presents the first comprehensive approach integrating WCET considerations into the code generation process. Based on the proposed reconciliation between a compiler and a timing analyzer, a wide range of novel optimization techniques is provided. Among others, the techniques cover source code and assembly level optimizations, exploit machine learning techniques and address the design of modern systems that have to meet multiple objectives. Using these optimizations, the WCET of real-time applications can be reduced by about 30% to 45% on the average. This opens opportunities for decreasing clock speeds, costs and energy consumption of embedded processors. The proposed techniques can be used for all types real-time systems, including automotive and avionics IT systems.
This book constitutes the refereed proceedings of the 15th International Conference on Fundamental Approaches to Software Engineering, FASE 2012, held in Tallinn, Estonia, in March/April 2012, as part of ETAPS 2012, the European Joint Conferences on Theory and Practice of Software. The 33 full papers presented together with one full length invited talk were carefully reviewed and slected from 134 submissions. The papers are organized in topical sections on software architecture and components, services, verification and monitoring, intermodelling and model transformations, modelling and adaptation, product lines and feature-oriented programming, development process, verification and synthesis, testing and maintenance, and slicing and refactoring.
This book constitutes the proceedings of the 15th International Conference on Foundations of Software Science and Computational Structures, FOSSACS 2012, held as part of the joint European Conference on Theory and Practice of Software, ETAPS 2012, which took place in Tallinn, Estonia, in March/April 2012. The 29 papers presented in this book together with two invited talks in full paper length were carefully reviewed and selected from 100 full paper submissions. The papers deal with theories and methods to support analysis, synthesis, transformation and verification of programs and software systems.
Welcome to the 5th International Conference on Open Source Systems! It is quite an achievement to reach the five-year mark - that's the sign of a successful enterprise. This annual conference is now being recognized as the primary event for the open source research community, attracting not only high-quality papers, but also building a community around a technical program, a collection of workshops, and (starting this year) a Doctoral Consortium. Reaching this milestone reflects the efforts of many people, including the conference founders, as well as the organizers and participants in the previous conferences. My task has been easy, and has been greatly aided by the hard work of Kevin Crowston and Cornelia Boldyreff, the Program Committee, as well as the Organizing Team led by Bjoern Lundell. All of us are also grateful to our attendees, especially in the difficult economic climate of 2009. We hope the participants found the conference valuable both for its technical content and for its personal networking opportunities. To me, it is interesting to look back over the past five years, not just at this conference, but at the development and acceptance of open source software. Since 2004, the business and commercial side of open source has grown enormously. At that time, there were only a handful of open source businesses, led by RedHat and its Linux distribution. Companies such as MySQL and JBoss were still quite small.
This book constitutes the refereed proceedings of the 21st European Symposium on Programming, ESOP 2012, held in Tallinn, Estonia, as part of ETAPS 2012, in March/April 2012. The 28 full papers, presented together with one full length invited talk, were carefully reviewed and selected from 92 submissions. Papers were invited on all aspects of programming language research, including: programming paradigms and styles, methods and tools to write and specify programs and languages, methods and tools for reasoning about programs, methods and tools for implementation, and concurrency and distribution.
Behavioral Specifications of Businesses and Systems deals with the reading, writing and understanding of specifications. The papers presented in this book describe useful and sometimes elegant concepts, good practices (in programming and in specifications), and solid underlying theory that is of interest and importance to those who deal with increased complexity of business and systems. Most concepts have been successfully used in actual industrial projects, while others are from the forefront of research. Authors include practitioners, business thinkers, academics and applied mathematicians. These seemingly different papers address different aspects of a single problem - taming complexity. Behavioral Specifications of Businesses and Systems emphasizes simplicity and elegance in specifications without concentrating on particular methodologies, languages or tools. It shows how to handle complexity, and, specifically, how to succeed in understanding and specifying businesses and systems based upon precise and abstract concepts. It promotes reuse of such concepts, and of constructs based on them, without taking reuse for granted. Behavioral Specifications of Businesses and Systems is the second volume of papers based on a series of workshops held alongside ACM's annual conference on Object-Oriented Programming Systems Languages and Applications (OOPSLA) and European Conference on Object-Oriented Programming (ECOOP). The first volume, Object-Oriented Behavioral Specifications, edited by Haim Kilov and William Harvey, was published by Kluwer Academic Publishers in 1996. |
![]() ![]() You may like...
Design and Implementation of the FreeBSD…
Marshall McKusick, George Neville-Neil, …
Hardcover
Foundations of CentOS Linux - Enterprise…
Chivas Sicam, Ryan Baclit, …
Paperback
News Search, Blogs and Feeds - A Toolkit
Lars Vage, Lars Iselid
Paperback
R1,412
Discovery Miles 14 120
|