Understanding Programming Languages
This book is about describing the meaning of programming languages. While a compiler or an interpreter offers a form of formal description of a language, it is not something that can be used as a basis for reasoning about that language nor can it serve as a definition of a programming language itself since this must allow a range of implementations. By writing a formal semantics of a language a designer can yield a far shorter description and tease out, analyse and record design choices.Early in the book the author introduces a simple notation, a meta-language, used to record descriptions of the semantics of languages. In a practical approach, he considers dozens of issues that arise in current programming languages and the key techniques that must be mastered in order to write the required formal semantic descriptions. The book concludes with a discussion of the eight key challenges: delimiting a language (concrete representation), delimiting the abstract content of a language, recording semantics (deterministic languages), operational semantics (non-determinism), context dependency, modelling sharing, modelling concurrency, and modelling exits.
Theoretical Aspects of Computing – ICTAC 2007 ; 4th International Colloquium, Macau, China, September 26-28, 2007, Proceedings
Constitutes the refereed proceedings of the 4th International Colloquium on Theoretical Aspects of Computing, ICTAC 2007 held in Macau, China in September 2007. The 29 revised full papers presented together with 3 invited talks and summaries of 2 tutorials were carefully reviewed and selected from 69 submissions. The aim of the colloquium is to bring together practitioners and researchers from academia, industry and government to present research results, and exchange experience, ideas, and solutions for their problems in theoretical aspects of computing such as automata theory and formal languages, principles and semantics of programming languages, software architectures and their description languages, software specification, refinement, and verification, model checking and theorem proving, real-time, embedded and hybrid systems, theory of parallel, distributed, and internet-based (grid) computing, simulation and modeling, and service-oriented development.
Structure for Dependability : Computer-Based Systems from an Interdisciplinary Perspective
Breaks new ground by presenting an interdisciplinary approach to a crucial problem – system dependability. Computer-based systems include hardware, software and people. Achieving dependability for such systems requires an interdisciplinary approach. In Structure for Dependability: Computer-Based Systems from an Interdisciplinary Perspective, computer scientists, sociologists, statisticians and psychologists bring together their latest research on the structure of dependable computer-based systems. The result is a highly readable overview of ways to achieve dependability in large computer-based systems with practical advice on designing dependable systems. This book is one of the outcomes of a six year Interdisciplinary Research Collaboration. Topics covered include fault tolerance, system evolution, determining software specifications, HCI, architecture, certification, dependability arguments, organisations, diagrams, time and procedures.
Rigorous Development of Complex Fault-Tolerant Systems
This volume is an outcome of the REFT 2005 Workshop on Rigorous Engineering of Fault-Tolerant Systems held in conjunction with the Formal Methods 2005 conference at Newcastle upon Tyne, UK, in July 2005. The authors of the best workshop papers were asked to enhance and expand their work and a number of well-established researchers working in the area contributed invited chapters. From the 19 refereed and revised papers presented, 12 are versions reworked from the workshop; 9 of them are totally new. The book is rounded off by two provocatively different position on the role of programming languages.
Formal Methods and Hybrid Real-Time Systems : Essays in Honour of Dines Bjorner and Zhou Chaochen on the Occasion of Their 70th Birthdays
This paper presents a few of these, including a distributed garbage collection problem, distributed consensus problems for reconciling tree-like data structures, using model-based test case generation, and the use of software model checking in design and development process.
Communicating sequential processes : The first 25 years : Symposium on the Occasion of 25 Years of CSP, London, UK, July 7-8, 2004. Revised Invited Papers
This volume, like the symposium CSP25 which gave rise to it, commemorates the semi-jubilee of Communicating Sequential Processes. 1 Tony Hoare’s paper “Communicating Sequential Processes” is today widely regarded as one of the most in?uential papers in computer science. To comm- orate it, an event was organized under the auspices of BCS-FACS (the British Computer Society’s Formal Aspects of Computing Science specialist group). CSP25 was one of a series of such events organized to highlight the use of formal methods, emphasize their relevance to modern computing and promote their wider application.





