Theories of Programming and Formal Methods

Theories of Programming and Formal Methods PDF Author: Jonathan P. Bowen
Publisher: Springer Nature
ISBN: 303140436X
Category : Computers
Languages : en
Pages : 417

Get Book

Book Description
This Festschrift volume, dedicated to Jifeng He on the occasion of his 80th birthday, includes refereed papers by leading researchers, many of them current and former colleagues, presented at a dedicated celebration in the Shanghai Science Hall in September 2023. Jifeng was an important researcher on the European ESPRIT ProCoS project and the Working Group on Provably Correct Systems, subsequently he collaborated with Tony Hoare on Unifying Theories of Programming. Jifeng returned to China in 1998, first to the United Nations University in Macau and then to the East China Normal University in Shanghai. He has since founded an Artificial Intelligence research institute that focuses on the application of technology in large-scale industrial software systems. His scientific contributions have been recognized through his election to membership of the Chinese Academy of Sciences. The first paper in the volume provides an overview of Jifeng’s research contributions, especially in the area of formal methods, and the following two papers detail developments in UTP and rCOS (refinement calculus of object systems). In the next two sections of the book, the editors included papers by colleagues and coauthors of Jifeng while he was at the University of Oxford and engaged with the European ProCoS project. The section that follows includes papers authored by colleagues from his later research in China and Europe. The final section includes a paper related to Jifeng’s recent roadmap for UTP.

Theories of Programming and Formal Methods

Theories of Programming and Formal Methods PDF Author: Jonathan P. Bowen
Publisher: Springer Nature
ISBN: 303140436X
Category : Computers
Languages : en
Pages : 417

Get Book

Book Description
This Festschrift volume, dedicated to Jifeng He on the occasion of his 80th birthday, includes refereed papers by leading researchers, many of them current and former colleagues, presented at a dedicated celebration in the Shanghai Science Hall in September 2023. Jifeng was an important researcher on the European ESPRIT ProCoS project and the Working Group on Provably Correct Systems, subsequently he collaborated with Tony Hoare on Unifying Theories of Programming. Jifeng returned to China in 1998, first to the United Nations University in Macau and then to the East China Normal University in Shanghai. He has since founded an Artificial Intelligence research institute that focuses on the application of technology in large-scale industrial software systems. His scientific contributions have been recognized through his election to membership of the Chinese Academy of Sciences. The first paper in the volume provides an overview of Jifeng’s research contributions, especially in the area of formal methods, and the following two papers detail developments in UTP and rCOS (refinement calculus of object systems). In the next two sections of the book, the editors included papers by colleagues and coauthors of Jifeng while he was at the University of Oxford and engaged with the European ProCoS project. The section that follows includes papers authored by colleagues from his later research in China and Europe. The final section includes a paper related to Jifeng’s recent roadmap for UTP.

Theories of Programming and Formal Methods

Theories of Programming and Formal Methods PDF Author: Zhiming Liu
Publisher: Springer
ISBN: 3642396984
Category : Computers
Languages : en
Pages : 413

Get Book

Book Description
This Festschrift volume, dedicated to He Jifeng on the occasion of his 70th birthday in September 2013, includes 24 refereed papers by leading researchers, current and former colleagues, who congratulated at a celebratory symposium held in Shanghai, China, in the course of the 10th International Colloquium on Theoretical Aspects of Computing, ICTAC 2013. The papers cover a broad spectrum of subjects, from foundational and theoretical topics to programs and systems issues and to applications, comprising formal methods, software and systems modeling, semantics, laws of programming, specification and verification, as well as logics. He Jifeng is known for his seminal work in the theories of programming and formal methods for software engineering. He is particularly associated with Unifying Theories of Programming (UTP) , the theory of data refinement and the laws of programming, and the rCOS formal method for object and component system construction. His book on UTP with Tony Hoare has been widely read and followed by a large number of researchers, and it has been used in many postgraduate courses. He was a senior researcher at Oxford during 1984-1998, and then a senior research fellow at the United Nations University International Institute for Software Technology (UNU-IIST) in Macau during 1998-2005. He has been a professor and currently the Dean of the Institute of Software Engineering at East China Normal University, Shanghai, China. In 2005, He Jifeng was elected as an academician to the Chinese Academy of Sciences. He also received an honorary doctorate from the University of York. He won a number of prestigious science and technology awards, including a 2nd prize of Natural Science Award from the State Council of China, a 1st prize of Natural Science Award from the Ministry of Education of China, a 1st prize of Technology Innovation from the Ministry of Electronic Industry, and a number awards from Shanghai government.

A Practical Theory of Programming

A Practical Theory of Programming PDF Author: Eric C.R. Hehner
Publisher: Springer Science & Business Media
ISBN: 1441985964
Category : Computers
Languages : en
Pages : 257

Get Book

Book Description
There are several theories of programming. The first usable theory, often called "Hoare's Logic", is still probably the most widely known. In it, a specification is a pair of predicates: a precondition and postcondition (these and all technical terms will be defined in due course). Another popular and closely related theory by Dijkstra uses the weakest precondition predicate transformer, which is a function from programs and postconditions to preconditions. lones's Vienna Development Method has been used to advantage in some industries; in it, a specification is a pair of predicates (as in Hoare's Logic), but the second predicate is a relation. Temporal Logic is yet another formalism that introduces some special operators and quantifiers to describe some aspects of computation. The theory in this book is simpler than any of those just mentioned. In it, a specification is just a boolean expression. Refinement is just ordinary implication. This theory is also more general than those just mentioned, applying to both terminating and nonterminating computation, to both sequential and parallel computation, to both stand-alone and interactive computation. And it includes time bounds, both for algorithm classification and for tightly constrained real-time applications.

Unifying Theories of Programming and Formal Engineering Methods

Unifying Theories of Programming and Formal Engineering Methods PDF Author: Zhiming Liu
Publisher: Springer
ISBN: 3642397212
Category : Computers
Languages : en
Pages : 283

Get Book

Book Description
This book presents 5 tutorial lectures by leading researchers given at the ICTAC 2013 Software Engineering School on Unifying Theories of Programming and Formal Engineering Methods, held in Shanghai, China in August 2013.The lectures are aimed at postgraduate students, researchers, academics, and industrial engineers. They cover topics such as component-based and service-oriented systems, real-time systems, hybrid systems, cyber physical systems, and present techniques such as inductive theorem proving, model checking, correction by construction through refinement and model transformations, synthesis, and computer algebra. Two of the courses are explicitly related to Hoare and He's Unifying Theories of Programming.

Theories of Programming Languages

Theories of Programming Languages PDF Author: John C. Reynolds
Publisher: Cambridge University Press
ISBN: 1139936255
Category : Computers
Languages : en
Pages : 840

Get Book

Book Description
First published in 1998, this textbook is a broad but rigourous survey of the theoretical basis for the design, definition and implementation of programming languages and of systems for specifying and proving programme behaviour. Both imperative and functional programming are covered, as well as the ways of integrating these aspects into more general languages. Recognising a unity of technique beneath the diversity of research in programming languages, the author presents an integrated treatment of the basic principles of the subject. He identifies the relatively small number of concepts, such as compositional semantics, binding structure, domains, transition systems and inference rules, that serve as the foundation of the field. Assuming only knowledge of elementary programming and mathematics, this text is perfect for advanced undergraduate and beginning graduate courses in programming language theory and also will appeal to researchers and professionals in designing or implementing computer languages.

Programming Language Theory and Formal Methods

Programming Language Theory and Formal Methods PDF Author: Zoran Gacovski
Publisher: Arcler Press
ISBN: 9781774694473
Category :
Languages : en
Pages : 0

Get Book

Book Description
In this book - we present topics from: formal grammars in programming, programming languages semantics, finite automata, and formal methods and semantics in distributed software. Section 1 focuses on formal methods in programming, describing integrating formal methods in XP (extreme programming) - a conceptual solution, formal methods for commercial, applications issues vs. solutions, why formal methods are considered for safety critical systems, and integration of UML sequence diagram with formal specification methods-a formal solution based on Z. Section 2 focuses on programming languages semantics, describing declarative programming with temporal constraints, in the language CG, Lolisa: formal syntax and semantics for a subset of the solidity programming language in mathematical tool coq, ontology of domains. ontological description software engineering domain - the standard life cycle, guidelines based software engineering for developing software components, intelligent agent based mapping of software requirement specification to design model. Section 3 focuses on finite automata, describing the equivalent conversion between regular grammar and finite automata, controllability, reachability, and stabilizability of finite automata: a controllability matrix method, bounded model checking of ETL cooperating with finite and looping automata connectives, an automata-based approach to pattern matching, tree automata for extracting consensus from partial replicas of a structured document. Section 4 focuses on formal methods and semantics in distributed software, describing building requirements semantics for networked software interoperability, formal semantics of OWL-s with rewrite logic, web semantic and ontology, web services conversation adaptation using conditional substitution semantics of application domain concepts.

Understanding Formal Methods

Understanding Formal Methods PDF Author: Jean-Francois Monin
Publisher: Springer Science & Business Media
ISBN: 9781852332471
Category : Computers
Languages : en
Pages : 300

Get Book

Book Description
This volume provides a comprehensive introduction to the field of formal methods for students and practitioners. It strikes a careful balance between rigorous exposition of the underlying mathematics and concrete examples of implementations using real-life tools, thus making it easy to grasp the underlying concepts and theories. It does not aim to provide guidelines for using a particular method, or comparisons of different approaches, but rather a conceptual framework that the reader can use to master any given method. It therefore makes an invaluable practical companion to introductory texts on logic and to books dedicated to a particular formal method. Understanding Formal Methods will be of interest to advanced students and engineers who need to learn the basics of this topic, and also professionals who need to broaden their knowledge or bring themselves up-to-date with the latest techniques.

Formal Methods for Software Engineering

Formal Methods for Software Engineering PDF Author: Markus Roggenbach
Publisher: Springer Nature
ISBN: 303038800X
Category : Computers
Languages : en
Pages : 538

Get Book

Book Description
Software programs are formal entities with precise meanings independent of their programmers, so the transition from ideas to programs necessarily involves a formalisation at some point. The first part of this graduate-level introduction to formal methods develops an understanding of what constitutes formal methods and what their place is in Software Engineering. It also introduces logics as languages to describe reasoning and the process algebra CSP as a language to represent behaviours. The second part offers specification and testing methods for formal development of software, based on the modelling languages CASL and UML. The third part takes the reader into the application domains of normative documents, human machine interfaces, and security. Use of notations and formalisms is uniform throughout the book. Topics and features: Explains foundations, and introduces specification, verification, and testing methods Explores various application domains Presents realistic and practical examples, illustrating concepts Brings together contributions from highly experienced educators and researchers Offers modelling and analysis methods for formal development of software Suitable for graduate and undergraduate courses in software engineering, this uniquely practical textbook will also be of value to students in informatics, as well as to scientists and practical engineers, who want to learn about or work more effectively with formal theories and methods. Markus Roggenbach is a Professor in the Dept. of Computer Science of Swansea University. Antonio Cerone is an Associate Professor in the Dept. of Computer Science of Nazarbayev University, Nur-Sultan. Bernd-Holger Schlingloff is a Professor in the Institut für Informatik of Humboldt-Universität zu Berlin. Gerardo Schneider is a Professor in the Dept. of Computer Science and Engineering of University of Gothenburg. Siraj Ahmed Shaikh is a Professor in the Institute for Future Transport and Cities of Coventry University. The companion site for the book offers additional resources, including further material for selected chapters, prepared lab classes, a list of errata, slides and teaching material, and virtual machines with preinstalled tools and resources for hands-on experience with examples from the book. The URL is: https://sefm-book.github.io

Leveraging Applications of Formal Methods, Verification and Validation: Foundational Techniques

Leveraging Applications of Formal Methods, Verification and Validation: Foundational Techniques PDF Author: Tiziana Margaria
Publisher: Springer
ISBN: 331947166X
Category : Computers
Languages : en
Pages : 974

Get Book

Book Description
The two-volume set LNCS 9952 and LNCS 9953 constitutes the refereed proceedings of the 7th International Symposium on Leveraging Applications of Formal Methods, Verification and Validation, ISoLA 2016, held in Imperial, Corfu, Greece, in October 2016. The papers presented in this volume were carefully reviewed and selected for inclusion in the proceedings. Featuring a track introduction to each section, the papers are organized in topical sections named: statistical model checking; evaluation and reproducibility of program analysis and verification; ModSyn-PP: modular synthesis of programs and processes; semantic heterogeneity in the formal development of complex systems; static and runtime verification: competitors or friends?; rigorous engineering of collective adaptive systems; correctness-by-construction and post-hoc verification: friends or foes?; privacy and security issues in information systems; towards a unified view of modeling and programming; formal methods and safety certification: challenges in the railways domain; RVE: runtime verification and enforcement, the (industrial) application perspective; variability modeling for scalable software evolution; detecting and understanding software doping; learning systems: machine-learning in software products and learning-based analysis of software systems; testing the internet of things; doctoral symposium; industrial track; RERS challenge; and STRESS.

Rigorous Software Development

Rigorous Software Development PDF Author: José Bacelar Almeida
Publisher: Springer Science & Business Media
ISBN: 0857290185
Category : Computers
Languages : en
Pages : 269

Get Book

Book Description
The use of mathematical methods in the development of software is essential when reliable systems are sought; in particular they are now strongly recommended by the official norms adopted in the production of critical software. Program Verification is the area of computer science that studies mathematical methods for checking that a program conforms to its specification. This text is a self-contained introduction to program verification using logic-based methods, presented in the broader context of formal methods for software engineering. The idea of specifying the behaviour of individual software components by attaching contracts to them is now a widely followed approach in program development, which has given rise notably to the development of a number of behavioural interface specification languages and program verification tools. A foundation for the static verification of programs based on contract-annotated routines is laid out in the book. These can be independently verified, which provides a modular approach to the verification of software. The text assumes only basic knowledge of standard mathematical concepts that should be familiar to any computer science student. It includes a self-contained introduction to propositional logic and first-order reasoning with theories, followed by a study of program verification that combines theoretical and practical aspects - from a program logic (a variant of Hoare logic for programs containing user-provided annotations) to the use of a realistic tool for the verification of C programs (annotated using the ACSL specification language), through the generation of verification conditions and the static verification of runtime errors.