Semantics with Applications: An Appetizer

Semantics with Applications: An Appetizer
Author: Hanne Riis Nielson
Publisher: Springer Science & Business Media
Total Pages: 285
Release: 2007-04-18
Genre: Computers
ISBN: 1846286921

Semantics will play an important role in the future development of software systems and domain-specific languages. This book provides a needed introductory presentation of the fundamental ideas behind these approaches, stresses their relationship by formulating and proving the relevant theorems, and illustrates the applications of semantics in computer science. Historically important application areas are presented together with some exciting potential applications. The text investigates the relationship between various methods and describes some of the main ideas used, illustrating these by means of interesting applications. The book provides a rigorous introduction to the main approaches to formal semantics of programming languages.

Concrete Semantics

Concrete Semantics
Author: Tobias Nipkow
Publisher: Springer
Total Pages: 304
Release: 2014-12-03
Genre: Computers
ISBN: 3319105426

Part I of this book is a practical introduction to working with the Isabelle proof assistant. It teaches you how to write functional programs and inductive definitions and how to prove properties about them in Isabelle’s structured proof language. Part II is an introduction to the semantics of imperative languages with an emphasis on applications like compilers and program analysers. The distinguishing feature is that all the mathematics has been formalised in Isabelle and much of it is executable. Part I focusses on the details of proofs in Isabelle; Part II can be read even without familiarity with Isabelle’s proof language, all proofs are described in detail but informally. The book teaches the reader the art of precise logical reasoning and the practical use of a proof assistant as a surgical tool for formal proofs about computer science artefacts. In this sense it represents a formal approach to computer science, not just semantics. The Isabelle formalisation, including the proofs and accompanying slides, are freely available online, and the book is suitable for graduate students, advanced undergraduate students, and researchers in theoretical computer science and logic.

Formal Methods

Formal Methods
Author: Flemming Nielson
Publisher: Springer
Total Pages: 160
Release: 2019-07-16
Genre: Computers
ISBN: 3030051560

This textbook is an introduction to the use of formal methods ranging from semantics of key programming constructs to techniques for the analysis and verification of programs. The authors use program graphs as the mechanism for representing the control structure of programs in order to find a balance between generality and conceptual complexity. The early chapters on program graphs and the Guarded Commands language are sufficient introduction for most readers to then enjoy a plug-and-play approach to the remaining chapters. These explain formal methods for analysing the behaviour of programs in various ways ranging from verification, via program analysis and language-based security, to model checking. The remaining chapters present language extensions with procedures and concurrency and cover their semantics. The book is suitable for advanced undergraduate and graduate courses in software development, and the text is supported throughout with exercises of varying grades of difficulty. The authors have developed an online learning environment that allows students to create examples beyond those covered in the main text, and in the book appendices they present programming projects aimed at implementing central parts of the development using the functional language F#.

Transitions and Trees

Transitions and Trees
Author: Hans Hüttel
Publisher: Cambridge University Press
Total Pages: 291
Release: 2010-04-29
Genre: Computers
ISBN: 0521197465

A rigorous, self-contained introduction to the theory of operational semantics of programming languages and its use.

Dependable Software Engineering. Theories, Tools, and Applications

Dependable Software Engineering. Theories, Tools, and Applications
Author: Shengchao Qin
Publisher: Springer Nature
Total Pages: 327
Release: 2021-11-18
Genre: Computers
ISBN: 3030912655

This book constitutes the proceedings of the 7th International Symposium on Dependable Software Engineering, SETTA 2021, held in Beijing, China, in November 2021. The 16 full papers in this volume were carefully reviewed and selected from 39 submissions, and are presented with 3 abstracts of keynote speeches. They deal with latest research results and ideas on bridging the gap between formal methods and software engineering.

Rewriting Logic and Its Applications

Rewriting Logic and Its Applications
Author: Santiago Escobar
Publisher: Springer
Total Pages: 307
Release: 2014-11-15
Genre: Computers
ISBN: 331912904X

This book constitutes the thoroughly refereed post-workshop proceedings of the 10th International Workshop on Rewriting Logic and its Applications, WRLA 2014, held as a satellite event of ETAPS 2014, in Grenoble, France, in March 2014. The 13 revised full papers presented together with 3 invited papers were carefully reviewed and selected from 21 submissions. The papers address a great diversity of topics in the fields of foundations and models of RL; languages based on RL; RL as a logical framework; RL as a semantic framework; use of RL to provide rigorous support for model-based software engineering; formalisms related to RL; verification techniques for RL specifications; comparisons of RL with existing formalisms having analogous aims; application of RL to specification and analysis of distributed systems and physical systems.

Introduction to Computer Graphics

Introduction to Computer Graphics
Author: Frank Klawonn
Publisher: Springer Science & Business Media
Total Pages: 296
Release: 2008-02-07
Genre: Computers
ISBN: 1846288487

This book provides an introduction to the most important basic concepts of computer graphics. It couples the technical background and theory immediately with practical examples and applications. The reader can follow up the theory and then literally see the theory at work in numerous example programs. With only elementary knowledge of the programming language Java, the reader will be able to create his or her own images and animations immediately using Java 2D and Java 3D. A website for this book includes programs with source code, exercises with solutions and slides as teaching material.

Formal Methods: Foundations and Applications

Formal Methods: Foundations and Applications
Author: Sérgio Campos
Publisher: Springer Nature
Total Pages: 149
Release: 2021-11-25
Genre: Computers
ISBN: 3030921379

This book constitutes the refereed proceedings of the 24rd Brazilian Symposium on Formal Methods, SBMF 2021, which was held in December 2021. Due to COVID 19-pandemic it took place virtually. The 8 regular papers presented in this book were carefully reviewed and selected from 15 submissions. The papers detail the development, dissemination, and use of formal methods for the construction of high-quality computational systems, aiming to promote opportunities for researchers and practitioners with an interest in formal methods to discuss the recent advances in this area

Concepts and Semantics of Programming Languages 1

Concepts and Semantics of Programming Languages 1
Author: Therese Hardin
Publisher: John Wiley & Sons
Total Pages: 336
Release: 2021-04-13
Genre: Computers
ISBN: 1119824044

This book – the first of two volumes – explores the syntactical constructs of the most common programming languages, and sheds a mathematical light on their semantics, while also providing an accurate presentation of the material aspects that interfere with coding. Concepts and Semantics of Programming Languages 1 is dedicated to functional and imperative features. Included is the formal study of the semantics of typing and execution; their acquisition is facilitated by implementation into OCaml and Python, as well as by worked examples. Data representation is considered in detail: endianness, pointers, memory management, union types and pattern-matching, etc., with examples in OCaml, C and C++. The second volume introduces a specific model for studying modular and object features and uses this model to present Ada and OCaml modules, and subsequently Java, C++, OCaml and Python classes and objects. This book is intended not only for computer science students and teachers but also seasoned programmers, who will find a guide to reading reference manuals and the foundations of program verification.