{"title":"Pandora's Box","authors":"R. Middelkoop, C. Huizing, R. Kuiper, E. Luit","doi":"10.29007/l7kx","DOIUrl":"https://doi.org/10.29007/l7kx","url":null,"abstract":"Irrespective of the many different implementation paradigms, it is important that client level specifications allow to balance freedom from implementation bias and properly restricting the possible implementations to the ones that the client desires. Algebraic specification of the black-box behavior of a system provides just this, if a careful choice of what comprises desired output is made. We propose a new notion, canonicity, to achieve this. We take as client specification an algebraic one, in terms of operators from the client’s problem domain. Such a specification generally has multiple algebras as semantics. Rather than designating a specific one, e.g., the initial one, as implementation, we stay at the level of abstraction of the client specification: input and output are in terms of combinations of operators from the algebra. We use that each algebra determines which combinations of specified operators are equal to others as a first criterion that input/output combinations have to satisfy to qualify as an implementation. Then we argue that for a client only certain combinations of, in a sense, basic operators are acceptable to occur as output. We then investigate a notion of canonicity to make this precise. We thus provide a novel syntax and semantics for client specifications. The semantics matches the client’s view of the implementation as a black box. The paper is structured as follows. We concentrate on looking at algebraic specifications from the perspective of the client and the specifier. In Sect. 2.1, we give a brief overview of firstorder logic, on which algebraic specifications are based. In Sect. 2.2, we discuss and formalize algebraic specifications. We introduce a syntax and semantics of algebraic specifications that regards the implementation as a black box, and that is independent of the implementation language. After this, we briefly consider the step towards OO implementations, in Sect. 3. Sect. 4 contains some thoughts about the consequences of the approach and about future work. We first discuss the meta-level notation that is used.","PeriodicalId":422904,"journal":{"name":"HOWARD-60","volume":"63 4","pages":"258-270"},"PeriodicalIF":0.0,"publicationDate":"2024-04-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140675673","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"On the Expressiveness of some Runtime Validation Techniques","authors":"Yliès Falcone, Jean-Claude Fernandez, L. Mounier","doi":"10.29007/j7qv","DOIUrl":"https://doi.org/10.29007/j7qv","url":null,"abstract":"Runtime validation techniques have been proposed as artifacts to detect and/or correct unforeseen behaviours of computer systems. Their common features is to give only partial validation results, based on a restricted set of system executions produced in the real execution environment. A key issue is thus to better understand which kind of properties can (or cannot) be validated using such techniques. We focus on three techniques known as runtime verification, property-oriented testing, and runtime enforcement. We present these approaches at an abstract level and in a unified framework, and we discuss their respective ability to deal with properties on infinite execution sequences, that are commonly encountered in many application domains.","PeriodicalId":422904,"journal":{"name":"HOWARD-60","volume":"310 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-02-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123249297","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Philip J. Armstrong, G. Lowe, J. Ouaknine, B. Roscoe
{"title":"Model checking Timed CSP","authors":"Philip J. Armstrong, G. Lowe, J. Ouaknine, B. Roscoe","doi":"10.29007/6fqk","DOIUrl":"https://doi.org/10.29007/6fqk","url":null,"abstract":"Though Timed CSP was developed 25 years ago and the CSP-based refinement checker FDR [25] was first released 20 years ago, there has never been a version of this tool for Timed CSP. In this paper we report on the creation of such a version, based on the digitisation results of Ouaknine [16, 17] and the associated development of discrete-time versions of Timed CSP with associated models [19, 14, 11, 27]. Dedication: I have happy memories of chasing time in the 1980s with Howard Barringer and others. Now it seems to be catching us up!","PeriodicalId":422904,"journal":{"name":"HOWARD-60","volume":"78 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-02-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122891787","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Stone duality for first-order logic: a nominal approach to logic and topology","authors":"M. Gabbay","doi":"10.29007/tp3z","DOIUrl":"https://doi.org/10.29007/tp3z","url":null,"abstract":"What are variables, and what is universal quantification over a variable? Nominal sets are a notion of ‘sets with names’, and using equational axioms in nominal algebra these names can be given substitution and quantification actions. So we can axiomatise first-order logic as a nominal logical theory. We can then seek a nominal sets representation theorem in which predicates are interpreted as sets; logical conjunction is interpreted as sets intersection; negation as complement. Now what about substitution; what is it for substitution to act on a predicate-interpreted-as-a-set, in which case universal quantification becomes an infinite sets intersection? Given answers to these questions, we can seek notions of topology. What is the general notion of topological space of which our sets representation of predicates makes predicates into ‘open sets’; and what specific class of topological spaces corresponds to the image of nominal algebras for first-order logic? The classic Stone duality answers these questions for Boolean algebras, representing them as Stone spaces. Nominal algebra lets us extend Boolean algebras to ‘FOL-algebras’, and nominal sets let us correspondingly extend Stone spaces to ‘∀-Stone spaces’. These extensions reveal a wealth of structure, and we obtain an attractive and self-contained account of logic and topology in which variables directly populate the denotation, and open predicates are interpreted as sets rather than functions from valuations to sets.","PeriodicalId":422904,"journal":{"name":"HOWARD-60","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-02-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121246376","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Howard Barringer: the Man who Invented the Past","authors":"K. Havelund","doi":"10.29007/65lt","DOIUrl":"https://doi.org/10.29007/65lt","url":null,"abstract":"This article is an introduction to Professor Howard Barringer, in honor of his 60th birthday on December 20, 2011, which was celebrated by the HOWARD-60 workshop (Higher-Order Workshop on Automated Runtime verification and Debugging), held on the same day at University of Manchester. 1 A 60 Second Overview Howard Barringer was born on December 20, 1951, is married to Margaret, and has three children. This forms the concrete part of Howard’s life. Beyond this, Howard has had an abstract life centred around mathematics, physics, and computer science. At secondary school (1964-1969) Howard moved into the science stream and finished with ’A’ levels in mathematics (pure and applied) and physics. He went on to University of Manchester where he first received a B.Sc in Physics (1972), then an M.Sc in Computer Science (1973), and finally a Ph.D in Computer Science (1978). His adult academic life has been centred at University of Manchester. He became a Research Associate in Computer Science at Manchester in 1975, a Lecturer in 1977, a Senior Lecturer in 1986 and was then rapidly promoted to Professor in Computer Science in 1987. For the majority of his career, his research and teaching has been focussed around the development and application of logics, in particular temporal and modal logics, in the specification, design, and analysis of software and hardware systems. Howard insisted on the importance of past time logic in temporal logic, and hence got named “the man who invented the past”. He has taught classes in the theory of computation, compiling techniques, specification and verification, concurrency, modal and temporal logic, algorithms, and programming in Java. Howard also spent a significant portion of his career in senior and highly influential administrative positions at University of Manchester. He has been invited to present over 100 seminars and research lectures in Austria, Belgium, Canada, China (Beijing, Shanghai, Wuhan), Denmark, England, France, Germany, Greece, Israel, Italy, the Netherlands, Norway, Scotland, South Africa, Spain, Sweden, USA (Arizona, California, New York, Pennsylvania, Texas) and Wales. He was visiting professor at Kings College (2001 and 2006), and visited Silicon Valley numerous times including NASA Ames Research Center, Moffett Field, CA in 2002 and 2003, and the Computer Science Laboratory at SRI International, Menlo Park, CA in 2002. It has been observed that, temporally speaking, a series of Mars Rovers were launched after Howard visited NASA. Howard was one of the ∗The writing of this article was carried out at Jet Propulsion Laboratory, California Institute of Technology, under a contract with the National Aeronautics and Space Administration. 1This title was assigned to Howard in connection with his 60th birthday by Andrei Voronkov. A. Voronkov, M. Korovina (eds.), HOWARD-60, pp. 1–12 1 Howard Barringer Klaus Havelund founding editors of the Journal of Logic and Computation in 1989 and is now Co-Chief Edito","PeriodicalId":422904,"journal":{"name":"HOWARD-60","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-02-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130515814","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"A Tableau Proof System with Names for Modal Mu-calculus","authors":"C. Stirling","doi":"10.29007/lwqm","DOIUrl":"https://doi.org/10.29007/lwqm","url":null,"abstract":"Howard Barringer was a pioneer in the study of temporal logics with fixpoints [1]. Their addition adds considerable expressive power. One general issue is how to define proof systems for such logics. Here we examine proof systems for modal logic with fixpoints. We present a tableau proof system for checking validity of formulas which uses names to keep track of unfoldings of fixpoint variables as devised in [8].","PeriodicalId":422904,"journal":{"name":"HOWARD-60","volume":"49 2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-02-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123559634","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Can a system learn from interactive proofs?","authors":"Leo Freitas, Cliff B. Jones, A. Velykis","doi":"10.29007/s478","DOIUrl":"https://doi.org/10.29007/s478","url":null,"abstract":"This paper sets out the on-going research in a project which is investigating how to learn from one interactive proof so that other similar proofs can be completed automatically.","PeriodicalId":422904,"journal":{"name":"HOWARD-60","volume":"2013 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-02-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114712295","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Distributed Control Synthesis","authors":"D. Peled, S. Schewe","doi":"10.29007/4wwx","DOIUrl":"https://doi.org/10.29007/4wwx","url":null,"abstract":"Synthesis of control for distributed systems is considered to be an undecidable problem, under the assumption that control is performed by supervisors synchronizing with the original processes and selectively blocking or supporting the enabled transitions. We described a decidable distributed control problem, where additional communications are allowed between supervisors. In this way, we synthesize control for invariants, reachability, repeated reachability and parity conditions. Special attention is given to reducing the number of added communications.","PeriodicalId":422904,"journal":{"name":"HOWARD-60","volume":"27 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-02-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133627630","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"On Incremental Quantitative Verification for Probabilistic Systems","authors":"M. Kwiatkowska, D. Parker, Hongyang Qu, M. Ujma","doi":"10.29007/bmcf","DOIUrl":"https://doi.org/10.29007/bmcf","url":null,"abstract":"Quantitative verification techniques offer an effective means of computing performance and reliability properties for a wide range of systems. In many cases, it is necessary to perform repeated analyses of a system, for example to identify trends in results, determine optimal system parameters or when performing online analysis for adaptive systems. We argue the need for incremental quantitative verification techniques which are able to re-use results from previous verification runs in order to improve efficiency. We report on recently proposed techniques for incremental quantitative verification of Markov decision processes, based on a decomposition of the model into its strongly connected components. We give an overview of the method, describe a number of useful optimisations and show experimental results that illustrate significant gains in run-time performance using the incremental approach.","PeriodicalId":422904,"journal":{"name":"HOWARD-60","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-12-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126631670","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Closing the Gap Between Specification and Programming: VDM++ and Scala","authors":"K. Havelund","doi":"10.29007/2w2f","DOIUrl":"https://doi.org/10.29007/2w2f","url":null,"abstract":"We argue that a modern programming language such as Scala offers a level of succinctness, which makes it suitable for program and systems specification as well as for high-level programming. We illustrate this by comparing the language with the Vdm++ specification language. The comparison also identifies areas where Scala perhaps could be improved, inspired by Vdm++. We furthermore illustrate Scala's potential as a specification language by augmenting it with a combination of parameterized state machines and temporal logic, defined as a library, thereby forming an expressive but simple runtime verification framework.","PeriodicalId":422904,"journal":{"name":"HOWARD-60","volume":"18 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-12-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122297725","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}