A Simulation Framework for the Validation of Event-B Specifications Faqing Yang

Total Page:16

File Type:pdf, Size:1020Kb

A Simulation Framework for the Validation of Event-B Specifications Faqing Yang A Simulation Framework for the Validation of Event-B Specifications Faqing Yang To cite this version: Faqing Yang. A Simulation Framework for the Validation of Event-B Specifications. Formal Languages and Automata Theory [cs.FL]. Université de Lorraine, 2013. English. NNT : 2013LORR0158. tel- 01750224v2 HAL Id: tel-01750224 https://tel.archives-ouvertes.fr/tel-01750224v2 Submitted on 25 Feb 2014 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. AVERTISSEMENT Ce document est le fruit d'un long travail approuvé par le jury de soutenance et mis à disposition de l'ensemble de la communauté universitaire élargie. Il est soumis à la propriété intellectuelle de l'auteur. Ceci implique une obligation de citation et de référencement lors de l’utilisation de ce document. D'autre part, toute contrefaçon, plagiat, reproduction illicite encourt une poursuite pénale. Contact : [email protected] LIENS Code de la Propriété Intellectuelle. articles L 122. 4 Code de la Propriété Intellectuelle. articles L 335.2- L 335.10 http://www.cfcopies.com/V2/leg/leg_droi.php http://www.culture.gouv.fr/culture/infos-pratiques/droits/protection.htm École Doctorale IAEM Lorraine DFD en informatique ——————————————————————————————————— Un environnement de simulation pour la validation de spécifications B événementiel THÈSE présentée et soutenue publiquement le 29 Novembre 2013 pour l’obtention du Doctorat de l’Université de Lorraine (Spécialité : informatique) par Faqing YANG Composition du jury Rapporteurs : Michael LEUSCHEL Professeur, Université de Düsseldorf, Allemagne Catherine DUBOIS Professeur, ENSIIE, Evry Examinateurs : Pascale LE GALL Professeur, Ecole Centrale, Paris Stephan MERZ Directeur de recherche, INRIA, Nancy Directeurs de thèse : Jeanine SOUQUIÈRES Professeur, Université de Lorraine, Nancy, LORIA Jean-Pierre JACQUOT Maître de conférences, Université de Lorraine, Nancy, LORIA ——————————————————————————————————— UMR 7503 Laboratoire Lorrain de Recherche en Informatique et ses Applications Acknowledgments ——————————————————————————————————— Foremost, I would like to express my sincere gratitude to my advisor Prof. Jeanine Souquières and my co-advisor Dr. Jean-Pierre Jacquot for the continuous support during my Ph.D. study and research, for their patience, motivation, enthusiasm, and immense knowledge. Without their guidance, I cannot imagine to successfully achieve my research goals. I would also like to thank their helps in my life, especially in a foreign country. I would always remember them as the best advisors and the mentors for the lifetime. Furthermore, I would like to thank the rest of my thesis committee : Prof. Michael Leuschel, Prof. Catherine Dubois, Prof. Pascale Le Gall, and Dr. Stephan Merz, for their participation, insightful comments, and constructive criticism. In addition, I am indebted to the colleagues from MAIA and TRIO teams at LORIA with special thanks to Dr. Alexis Scheuer for his development of the 2D platooning mathematical model. I would like to especially dedicate this thesis to my family, for their love, support, patience, and understanding. They allowed me to spend most of the time on this thesis. Last, but certainly not least, I am thankful to my friends, for all the moral encouragement and support. Contents 1 Introduction 1 1.1 Motivation ................................. 1 1.1.1 Research Context ......................... 1 1.1.2 Scientific Problem ........................ 2 1.1.3 Technical Problems ........................ 2 1.1.4 Objectives ............................. 3 1.2 Contributions ............................... 3 1.3 Case Studies ................................ 4 1.4 Publications ................................ 4 1.5 Thesis Outline ............................... 6 2 State of the Art 7 2.1 Introduction ................................ 7 2.2 Development Process ........................... 8 2.2.1 Construction Activities ...................... 9 2.2.2 Verification and Validation Activities . 10 2.2.3 Other Activities .......................... 11 2.2.4 Some Process Models ...................... 11 2.3 Formal Methods .............................. 13 2.3.1 Formal Specification ....................... 13 2.3.2 Formal Verification ........................ 14 2.3.3 Code Generation ......................... 14 2.4 B Method ................................. 14 2.4.1 Overview ............................. 14 2.4.2 Presentation of Event-B ..................... 15 2.4.3 Rodin Platform .......................... 18 2.5 Animation of Event-B Models ...................... 20 2.5.1 Animation Difficulties ...................... 20 2.5.2 Event-B Animators ........................ 20 2.5.3 Multi-level Animation of Refinement . 22 2.6 Platooning Models ............................ 23 2.6.1 Platooning Problem ........................ 23 2.6.2 1D Platooning Models ...................... 24 2.6.3 2D Platooning Model ....................... 25 2.7 Summary ................................. 27 i ii CONTENTS I Assessment of Event-B Usability 29 3 Analysis of the 1D Platooning Model 31 3.1 Introduction ................................ 31 3.2 Proofs ................................... 32 3.2.1 Interactive Proof ......................... 32 3.2.2 False Statement .......................... 33 3.2.3 Unprovable Goal ......................... 34 3.3 Non-Collision Property .......................... 36 3.3.1 Machine platoon0 ......................... 36 3.3.2 Machine platoon1 ......................... 37 3.3.3 Machine platoon2 ......................... 37 3.3.4 Machine platoon3 and platoon4 . 38 3.4 Summary ................................. 38 4 Automatic Generation of DLF Theorems 39 4.1 Introduction ................................ 39 4.2 Deadlock-Freeness Rule ......................... 40 4.2.1 Deadlock-Freeness of Complete Model . 40 4.2.2 Deadlock-Freeness of a Subset of Events . 40 4.3 Exigence of a Tool ............................ 41 4.4 Implementation Issue ........................... 42 4.5 Usage ................................... 42 4.6 Summary ................................. 43 5 Scaling Up with Event-B 45 5.1 Introduction ................................ 45 5.2 Model Structure .............................. 46 5.2.1 Decomposition of Events ..................... 46 5.2.2 Increase in Complexity ...................... 48 5.3 Physical and Mathematical Equations . 48 5.3.1 1D Equation Adaptation ..................... 48 5.3.2 2D Equation Adaptation ..................... 49 5.4 Temporal Properties ............................ 50 5.5 Adaptation of Tools ............................ 51 5.5.1 Edition .............................. 52 5.5.2 Verification ............................ 52 5.5.3 Validation ............................. 52 5.6 Summary ................................. 53 II JavaScript Simulation Framework for Event-B 55 6 JeB Design 57 6.1 Introduction ................................ 57 6.2 Requirements for a Simulation Generator . 58 6.3 Architecture of the Simulation Framework . 60 CONTENTS iii 6.4 Implementation Choices ......................... 61 6.5 Translation Strategies ........................... 62 6.5.1 Annotations vs. Set Library ................... 62 6.5.2 Interfaces for User Hand-coded Functions . 63 6.5.3 Invariant, Witness and Variant . 63 6.5.4 Quantified Formulas ....................... 64 6.6 Summary ................................. 64 7 JeB Implementation 65 7.1 Introduction ................................ 66 7.2 Namespace ................................ 66 7.3 Translation of Contexts .......................... 67 7.3.1 Sets and Constants ........................ 68 7.3.2 Axioms .............................. 68 7.3.3 Constant Checker ......................... 68 7.4 Translation of Machines ......................... 68 7.4.1 Variables ............................. 69 7.4.2 Invariants ............................. 70 7.4.3 Events ............................... 70 7.4.4 Event Parameters ......................... 71 7.4.5 Event Guards ........................... 72 7.4.6 Event Actions ........................... 73 7.4.7 User Interface ........................... 74 7.5 Translation of Formulas .......................... 75 7.5.1 Predicates ............................. 75 7.5.2 Expressions ............................ 76 7.5.3 Assignments ........................... 78 7.6 Interpretation of Translated Formulas . 79 7.7 Simulation Control ............................ 79 7.7.1 Simulation Scheduler ....................... 79 7.7.2 Parameters of a Simulation .................... 80 7.7.3 Scenario Controller ........................ 80 7.7.4 Animator ............................. 80 7.8 Event-B Project Diagram ......................... 81 7.9 Summary ................................. 81 8 JeB Utilization and Analysis of Simulations 83 8.1 Introduction ................................ 83 8.2 Simulation of the 1D Platooning ..................... 84 8.2.1 Minimal Simulation ....................... 84 8.2.2 Graphic Display ......................... 86 8.2.3 Simulation of the Refinements . 86 8.3
Recommended publications
  • Journal of Applied Logic
    JOURNAL OF APPLIED LOGIC AUTHOR INFORMATION PACK TABLE OF CONTENTS XXX . • Description p.1 • Impact Factor p.1 • Abstracting and Indexing p.1 • Editorial Board p.1 • Guide for Authors p.5 ISSN: 1570-8683 DESCRIPTION . This journal welcomes papers in the areas of logic which can be applied in other disciplines as well as application papers in those disciplines, the unifying theme being logics arising from modelling the human agent. For a list of areas covered see the Editorial Board. The editors keep close contact with the various application areas, with The International Federation of Compuational Logic and with the book series Studies in Logic and Practical Reasoning. Benefits to authors We also provide many author benefits, such as free PDFs, a liberal copyright policy, special discounts on Elsevier publications and much more. Please click here for more information on our author services. Please see our Guide for Authors for information on article submission. This journal has an Open Archive. All published items, including research articles, have unrestricted access and will remain permanently free to read and download 48 months after publication. All papers in the Archive are subject to Elsevier's user license. If you require any further information or help, please visit our Support Center IMPACT FACTOR . 2016: 0.838 © Clarivate Analytics Journal Citation Reports 2017 ABSTRACTING AND INDEXING . Zentralblatt MATH Scopus EDITORIAL BOARD . Executive Editors Dov M. Gabbay, King's College London, London, UK Sarit Kraus, Bar-llan University,
    [Show full text]
  • Fiendish Designs
    Fiendish Designs A Software Engineering Odyssey © Tim Denvir 2011 1 Preface These are notes, incomplete but extensive, for a book which I hope will give a personal view of the first forty years or so of Software Engineering. Whether the book will ever see the light of day, I am not sure. These notes have come, I realise, to be a memoir of my working life in SE. I want to capture not only the evolution of the technical discipline which is software engineering, but also the climate of social practice in the industry, which has changed hugely over time. To what extent, if at all, others will find this interesting, I have very little idea. I mention other, real people by name here and there. If anyone prefers me not to refer to them, or wishes to offer corrections on any item, they can email me (see Contact on Home Page). Introduction Everybody today encounters computers. There are computers inside petrol pumps, in cash tills, behind the dashboard instruments in modern cars, and in libraries, doctors’ surgeries and beside the dentist’s chair. A large proportion of people have personal computers in their homes and may use them at work, without having to be specialists in computing. Most people have at least some idea that computers contain software, lists of instructions which drive the computer and enable it to perform different tasks. The term “software engineering” wasn’t coined until 1968, at a NATO-funded conference, but the activity that it stands for had been carried out for at least ten years before that.
    [Show full text]
  • PDF (Dissertation.Pdf)
    Kind Theory Thesis by Joseph R. Kiniry In Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy California Institute of Technology Pasadena, California 2002 (Defended 10 May 2002) ii © 2002 Joseph R. Kiniry All Rights Reserved iii Preface This thesis describes a theory for representing, manipulating, and reasoning about structured pieces of knowledge in open collaborative systems. The theory's design is motivated by both its general model as well as its target user commu- nity. Its model is structured information, with emphasis on classification, relative structure, equivalence, and interpretation. Its user community is meant to be non-mathematicians and non-computer scientists that might use the theory via computational tool support once inte- grated with modern design and development tools. This thesis discusses a new logic called kind theory that meets these challenges. The core of the work is based in logic, type theory, and universal algebras. The theory is shown to be efficiently implementable, and several parts of a full realization have already been constructed and are reviewed. Additionally, several software engineering concepts, tools, and technologies have been con- structed that take advantage of this theoretical framework. These constructs are discussed as well, from the perspectives of general software engineering and applied formal methods. iv Acknowledgements I am grateful to my initial primary adviser, Prof. K. Mani Chandy, for bringing me to Caltech and his willingness to let me explore many unfamiliar research fields of my own choosing. I am also appreciative of my second adviser, Prof. Jason Hickey, for his support, encouragement, feedback, and patience through the later years of my work.
    [Show full text]
  • On a New Notion of Partial Refinement
    On a New Notion of Partial Refinement Emil Sekerinski Tian Zhang McMaster University McMaster University Hamilton, Canada Hamilton, Canada [email protected] [email protected] Formal specification techniques allow expressing idealized specifications, which abstract from re- strictions that may arise in implementations. However, partial implementations are universal in soft- ware development due to practical limitations. Our goal is to contribute to a method of program refinement that allows for partial implementations. For programs with a normal and an exceptional exit, we propose a new notion of partial refinement which allows an implementation to terminate ex- ceptionally if the desired results cannot be achieved, provided the initial state is maintained. Partial refinement leads to a systematic method of developing programs with exception handling. 1 Introduction In software development, specifications are meant to be concise by stating abstractly only the intention of a program rather than elaborating on a possible implementation. However, practical restrictions can prevent idealized specifications from being fully implemented. In general, there are three sources of partiality in implementations: there may be inherent limitations of the implementation, some features may intentionally not (yet) be implemented, or there may be a genuine fault. As an example of inherent limitations of an implementation, consider a class for the analysis of a collection of integers. The operations are initialization, inserting an integer, and summing all its elements. Assume that int is a type for machine-representable integers, bounded by MIN and MAX, and machine arithmetic is bounded, i.e. an overflow caused by arithmetic operations on int is detected and raises an exception, as available in x86 assembly language [11] and .NET [20].
    [Show full text]
  • Lecture Notes in Computer Science 5014 Commenced Publication in 1973 Founding and Former Series Editors: Gerhard Goos, Juris Hartmanis, and Jan Van Leeuwen
    Lecture Notes in Computer Science 5014 Commenced Publication in 1973 Founding and Former Series Editors: Gerhard Goos, Juris Hartmanis, and Jan van Leeuwen Editorial Board David Hutchison Lancaster University, UK Takeo Kanade Carnegie Mellon University, Pittsburgh, PA, USA Josef Kittler University of Surrey, Guildford, UK Jon M. Kleinberg Cornell University, Ithaca, NY, USA Alfred Kobsa University of California, Irvine, CA, USA Friedemann Mattern ETH Zurich, Switzerland John C. Mitchell Stanford University, CA, USA Moni Naor Weizmann Institute of Science, Rehovot, Israel Oscar Nierstrasz University of Bern, Switzerland C. Pandu Rangan Indian Institute of Technology, Madras, India Bernhard Steffen University of Dortmund, Germany Madhu Sudan Massachusetts Institute of Technology, MA, USA Demetri Terzopoulos University of California, Los Angeles, CA, USA Doug Tygar University of California, Berkeley, CA, USA Gerhard Weikum Max-Planck Institute of Computer Science, Saarbruecken, Germany Jorge Cuellar Tom Maibaum Kaisa Sere (Eds.) FM 2008: Formal Methods 15th International Symposium on Formal Methods Turku, Finland, May 26-30, 2008 Proceedings 13 Volume Editors Jorge Cuellar Siemens Corporate Technology Otto-Hahn-Ring 6 81730 München, Germany E-mail: [email protected] Tom Maibaum McMaster University Software Quality Research Laboratory and Department of Computing and Software 1280 Main St West, Hamilton, ON L8S 4K1, Canada E-mail: [email protected] Kaisa Sere Åbo Akademi University Department of Information Technology 20520 Turku, Finland E-mail: kaisa.sere@abo.fi Library of Congress Control Number: 2008927062 CR Subject Classification (1998): D.2, F.3, D.3, D.1, J.1, K.6, F.4 LNCS Sublibrary: SL 2 – Programming and Software Engineering ISSN 0302-9743 ISBN-10 3-540-68235-X Springer Berlin Heidelberg New York ISBN-13 978-3-540-68235-6 Springer Berlin Heidelberg New York This work is subject to copyright.
    [Show full text]
  • Specifications for Intelligent Software Synthesis
    Czech Technical University in Prague Faculty of Electrical Engineering Department of Computer Science Specifications for Intelligent Software Synthesis Doctoral Thesis Ing. Josef Kufner Prague, January 2020 Ph.D. Programme: Electrical Engineering and Information Technology Branch of study: Artificial Intelligence and Biocybernetics Supervisor: Ing. Radek Mařík, CSc. Abstract Abstrakt To relieve programmers of repetitive and tir- Implementace jednoduchých, avšak příliš ing work on simple, yet too diverse, entities různorodých, entit ve webových aplikacích je in web applications, this thesis searches for únavná úloha, jejíž řešení se pokusíme au- an assistive framework, where machines aid tomatizovat. Tato práce směřuje k vytvoření the programmers with implementing such en- asistivní technologie, kdy počítače programá- tities. The first question to answer is how to torům s implementací pomáhají, ale nesnaží se tell the computer what we want without spec- je plně nahradit. První otázkou je, jak počítači ifying all the details; otherwise, we could just sdělit, co po něm chceme tak, aby taková spe- implement the application instead. The sec- cifikace byla jednodušší, než kdybychom to ond question is how to effectively reason about sami naprogramovali. Druhá otázka cílí na the software so that we can analyze what we možnosti uvažování o programech – jak ana- have and infer what we miss. The proposed lyzovat to, co máme a jak odvozovat, co nám solution introduces Smalldb state machines as chybí. V rámci navrhovaného řešení předsta- a formal model that describes the behavior of víme Smalldb, které formálně popisuje chování the entities in a web application. Such a model entit webové aplikace pomocí konečných auto- is not designed to cover every aspect of the ap- matů, avšak nesnaží se zachytit každý aspekt plication; instead, it leaves well-defined gaps takové aplikace.
    [Show full text]
  • FM'99 - Formal Methods
    Lecture Notes in Computer Science 1708 FM'99 - Formal Methods World Congress on Formal Methods in the Developement of Computing Systems, Toulouse, France, September 20-24, 1999, Proceedings, Volume I Bearbeitet von Jeannette M. Wing, Jim Woodcook, Jim Davies 1. Auflage 1999. Taschenbuch. xxxvi, 940 S. Paperback ISBN 978 3 540 66587 8 Format (B x L): 15,5 x 23,5 cm Gewicht: 1427 g Weitere Fachgebiete > Technik > Technik Allgemein > Computeranwendungen in der Technik Zu Inhaltsverzeichnis schnell und portofrei erhältlich bei Die Online-Fachbuchhandlung beck-shop.de ist spezialisiert auf Fachbücher, insbesondere Recht, Steuern und Wirtschaft. Im Sortiment finden Sie alle Medien (Bücher, Zeitschriften, CDs, eBooks, etc.) aller Verlage. Ergänzt wird das Programm durch Services wie Neuerscheinungsdienst oder Zusammenstellungen von Büchern zu Sonderpreisen. Der Shop führt mehr als 8 Millionen Produkte. Preface Formal methods are coming of age. Mathematical techniques and tools are now regarded as an important part of the development process in a wide range of industrial and governmental organisations. A transfer of technology into the mainstream of systems development is slowly, but surely, taking place. FM'99, the First World Congress on Formal Methods in the Development of Computing Systems, is a result, and a measure, of this new-found maturity. It brings an impressive array of industrial and applications-oriented papers that show how formal methods have been used to tackle real problems. These proceedings are a record of the technical symposium of FM'99 :along- side the papers describing applications of formal methods, you will find technical reports, papers, and abstracts detailing new advances in formal techniques, from mathematical foundations to practical tools.
    [Show full text]
  • On Software Certification: We Need Product-Focused Approaches
    On Software Certification: We Need Product-Focused Approaches Alan Wassyng, Tom Maibaum, and Mark Lawford Software Quality Research Laboratory Department of Computing and Software McMaster University, Hamilton, Canada L8S 4K1 [email protected], [email protected], [email protected] Abstract. In this paper we begin by examining the “certification” of a consumer product, a baby walker, that is product-focused, i.e., the certifi- cation process requires the performance of precisely defined tests on the product with measurable outcomes. We then review current practices in software certification and contrast the software regime’s process-oriented approach to certification with the product-oriented approach typically used in other engineering disciplines. We make the case that product- focused certification is required to produce reliable software intensive systems. These techniques will have to be domain and even product specific to succeed. 1 Introduction This paper deals briefly with the current state of software certification, why it is generally ill-conceived and some reasons for how (and why) we landed in this mess, and suggestions for improving the situation. 2 Motivation A certification story: Let us start the discussion with an item that has little to do with software, but is typical of engineered artifacts - a baby walker. Consider a typical baby walker, as shown in Figure 1. In recent years, there has been considerable concern regarding the safety and effectiveness of baby walkers. In reaction to this concern, we can now consider a certification process we may wish to advocate in order that we may regulate the sale of particular baby walkers. So, what should be the overall thrust of such a certification process? Well, humbly we may suggest that we model the process on certification processes that are common in our domain (software).
    [Show full text]
  • Self-Enforcing Automatic Rational Contracts Between Computers
    UCAM-CL-TR-600 Technical Report ISSN 1476-2986 Number 600 Computer Laboratory Trust for resource control: Self-enforcing automatic rational contracts between computers Brian Ninham Shand August 2004 15 JJ Thomson Avenue Cambridge CB3 0FD United Kingdom phone +44 1223 763500 http://www.cl.cam.ac.uk/ c 2004 Brian Ninham Shand This technical report is based on a dissertation submitted February 2004 by the author for the degree of Doctor of Philosophy to the University of Cambridge, Jesus College. This research was supported by ICL, now part of Fujitsu, through the Computer Laboratory’s ICL studentship, and by the Overseas Research Students award scheme, the Cambridge Commonwealth Trust, and the SECURE EU consortium. Technical reports published by the University of Cambridge Computer Laboratory are freely available via the Internet: http://www.cl.cam.ac.uk/TechReports/ ISSN 1476-2986 Abstract Computer systems need to control access to their resources, in order to give precedence to urgent or important tasks. This is increasingly important in networked applications, which need to interact with other machines but may be subject to abuse unless protected from attack. To do this effectively, they need an explicit resource model, and a way to assess others’ actions in terms of it. This dissertation shows how the actions can be represented using resource- based computational contracts, together with a rich trust model which monitors and enforces contract compliance. Related research in the area has focused on individual aspects of this problem, such as resource pricing and auctions, trust modelling and reputation systems, or resource-constrained computing and resource-aware middleware.
    [Show full text]
  • Search-Based Model Transformations
    Die approbierte Originalversion dieser Dissertation ist in der Hauptbibliothek der Technischen Universität Wien aufgestellt und zugänglich. http://www.ub.tuwien.ac.at The approved original version of this thesis is available at the main library of the Vienna University of Technology. http://www.ub.tuwien.ac.at/eng Search-Based Model Transformations DISSERTATION zur Erlangung des akademischen Grades Doktor der Technischen Wissenschaften eingereicht von Martin Fleck, MSc Matrikelnummer 1248308 an der Fakultät für Informatik der Technischen Universität Wien Betreuung: Priv.-Doz. Mag. Dr. Manuel Wimmer Diese Dissertation haben begutachtet: Gerti Kappel Marouane Kessentini Wien, 20. April 2016 Martin Fleck Technische Universität Wien A-1040 Wien Karlsplatz 13 Tel. +43-1-58801-0 www.tuwien.ac.at Search-Based Model Transformations DISSERTATION submitted in partial fulfillment of the requirements for the degree of Doktor der Technischen Wissenschaften by Martin Fleck, MSc Registration Number 1248308 to the Faculty of Informatics at the TU Wien Advisor: Priv.-Doz. Mag. Dr. Manuel Wimmer The dissertation has been reviewed by: Gerti Kappel Marouane Kessentini Vienna, 20th April, 2016 Martin Fleck Technische Universität Wien A-1040 Wien Karlsplatz 13 Tel. +43-1-58801-0 www.tuwien.ac.at Erklärung zur Verfassung der Arbeit Martin Fleck, MSc Barawitzkagasse 34/4/50 1190 Wien Österreich Hiermit erkläre ich, dass ich diese Arbeit selbständig verfasst habe, dass ich die verwen- deten Quellen und Hilfsmittel vollständig angegeben habe und dass ich die Stellen der Arbeit – einschließlich Tabellen, Karten und Abbildungen –, die anderen Werken oder dem Internet im Wortlaut oder dem Sinn nach entnommen sind, auf jeden Fall unter Angabe der Quelle als Entlehnung kenntlich gemacht habe.
    [Show full text]
  • Foundations of Algebraic Specification and Formal Software Development
    Donald Sannella and Andrzej Tarlecki Foundations of Algebraic Specification and Formal Software Development September 29, 2010 Springer Page: v job: root macro: svmono.cls date/time: 29-Sep-2010/17:47 Page: xiv job: root macro: svmono.cls date/time: 29-Sep-2010/17:47 Contents 0 Introduction .................................................... 1 0.1 Modelling software systems as algebras . 1 0.2 Specifications . 5 0.3 Software development . 8 0.4 Generality and abstraction . 10 0.5 Formality . 12 0.6 Outlook . 14 1 Universal algebra .............................................. 15 1.1 Many-sorted sets . 15 1.2 Signatures and algebras . 18 1.3 Homomorphisms and congruences . 22 1.4 Term algebras . 27 1.5 Changing signatures . 32 1.5.1 Signature morphisms . 32 1.5.2 Derived signature morphisms . 36 1.6 Bibliographical remarks . 38 2 Simple equational specifications ................................. 41 2.1 Equations . 41 2.2 Flat specifications . 44 2.3 Theories . 50 2.4 Equational calculus . 54 2.5 Initial models . 58 2.6 Term rewriting . 66 2.7 Fiddling with the definitions . 72 2.7.1 Conditional equations . 72 2.7.2 Reachable semantics . 74 2.7.3 Dealing with partial functions: error algebras . 78 2.7.4 Dealing with partial functions: partial algebras . 84 2.7.5 Partial functions: order-sorted algebras . 87 xv xvi Contents 2.7.6 Other options . 91 2.8 Bibliographical remarks . 93 3 Category theory................................................ 97 3.1 Introducing categories. 99 3.1.1 Categories . 99 3.1.2 Constructing categories . 105 3.1.3 Category-theoretic definitions . 109 3.2 Limits and colimits . 111 3.2.1 Initial and terminal objects .
    [Show full text]
  • Full List of DIRC Publications
    DIRC Dependability of Computer-Based Systems List of Publications and Reports January 15, 2007 This document lists known citations to publications and Technical Reports for the first five years of DIRC. It was generated by simply listing everything in the full BibTeX file so there are some multiple entries where the same text appeared in two places (e.g. Newcastle produce Technical Reports on submission to a journal). Furthermore, although reasonable efforts were made, we suspect that the list is incomplete (currently there are 546 entries on this list). 1 Publications Arranged by Site 1.1 NEWCASTLE [dLGR04, BR04a, BKR05a, BKR04, SBM04, BR04b, DJP+02a, BGB04, BG03a, DdC03, BB03b, BA04, GA04, Jon03f, JHR04, JR05, Jon03b, Jon03c, HJJ03a, JR04, CJJ04, AB03, ABGR02, AGL01, Bes01, BC01, BA03, BG02, BG03b, BL01, CB02, DJP+02b, GLA01, GLA02, LG02, HJJ03b, Jon00a, Jon00b, Jon01, Jon03d, Jon03a, CJ00, JRW02, JPRW03, Jon03e, LJ02, SO02, GIJ+03, Ran00, BR03a, BR03b, dLGR02a, dLGR02b, dLGR03b, dLGR03a, dLGR03c, Gac01, Gac02, GA02, BKR05b] 1.2 LANCASTER [S+03, ADH+04, CHR+03a, PR01, CHR01, DJP+02a, RHR04, CFR04b, CHRT02, CHRT01, CFDR02, DRSS03, CFDR03, CHR+03b, CDFR03, CFR04a, WKR04b, WKRR04a, WKRR04b, WKR04a, CFGR04, Loc04, ML03, SDCR05, DCR+04, DSBJ03, KCC+02a, BD04a, BDS04, DCRS04, DRSC04, BD04b, MMR04, DCR03, DE03, DTE01a, DTW01, DTE01c, DTE01b, ABGR02, CCD+02, CCH+01a, CDFR02, CFPR01, CDH+02, CHPR01d, CHPR01a, CHPR01b, CHPR01c, CHHR03, CRH+02, CHP+02b, Dew01, DCH+03a, DE01, DCH+02, DCRS02, DCH+03b, DE00, DTE02, DJP+02b, ETDG00, HPRR01, HPRS02, HPRS00,
    [Show full text]