{"title":"Algebraic specification of concurrent systems","authors":"Stéphane Kaplan","doi":"10.1016/0304-3975(89)90090-X","DOIUrl":null,"url":null,"abstract":"<div><p>This article presents an extension of the formalism of <em>algebraic specifications</em> to the specification of concurrent systems. The key concept is that of <em>process specifications</em>, which have two hierarchical layers: processes and data. Processes apply to data via an <em>application operator</em>, eventually yielding a set of data as a result. Syntax and semantics of process specifications are presented, with emphasis on methodological issues (how to write hierarchically consistent and complete specifications). A suitable notion of <em>observational congruence</em> is introduced and characterized. A notion of <em>implementation</em> is defined, and a general method for proving correction is considered, based on the notion of serializability proof. A primitive for putting specifications together, in parallel, is analyzed. Finally, richer primitives for building basic specifications are discussed. Our proposal is illustrated via several examples including the one of the systematic, stepwise development of a complex specification.</p></div>","PeriodicalId":49438,"journal":{"name":"Theoretical Computer Science","volume":"69 1","pages":"Pages 69-115"},"PeriodicalIF":1.0000,"publicationDate":"1989-12-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/0304-3975(89)90090-X","citationCount":"4","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Theoretical Computer Science","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/030439758990090X","RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"COMPUTER SCIENCE, THEORY & METHODS","Score":null,"Total":0}
引用次数: 4
Abstract
This article presents an extension of the formalism of algebraic specifications to the specification of concurrent systems. The key concept is that of process specifications, which have two hierarchical layers: processes and data. Processes apply to data via an application operator, eventually yielding a set of data as a result. Syntax and semantics of process specifications are presented, with emphasis on methodological issues (how to write hierarchically consistent and complete specifications). A suitable notion of observational congruence is introduced and characterized. A notion of implementation is defined, and a general method for proving correction is considered, based on the notion of serializability proof. A primitive for putting specifications together, in parallel, is analyzed. Finally, richer primitives for building basic specifications are discussed. Our proposal is illustrated via several examples including the one of the systematic, stepwise development of a complex specification.
期刊介绍:
Theoretical Computer Science is mathematical and abstract in spirit, but it derives its motivation from practical and everyday computation. Its aim is to understand the nature of computation and, as a consequence of this understanding, provide more efficient methodologies. All papers introducing or studying mathematical, logic and formal concepts and methods are welcome, provided that their motivation is clearly drawn from the field of computing.