{"title":"PK/C++: an object-oriented, logic-based, executable specification language","authors":"R. B. Terwilliger, P. A. Kirslis","doi":"10.1109/HICSS.1989.48019","DOIUrl":null,"url":null,"abstract":"ENCOMPASS is an environment that supports software development using formal techniques similar to the Vienna development method (VDM). In ENCOMPASS, software can be specified using the PLEASE family of executable specification languages, PK/C++, the latest number of the PLEASE family, differs from its predecessor by having C++ rather than Ada as its base language, by having an operational as well as declarative semantics, and by being based on flat rather than standard Prolog. PK/C++ specifications can be used in proofs of correctness. They are also executable, so that initial specifications can be validated and refinements can be verified using testing-based techniques. The authors give an overview of ENCOMPASS, describe PK/C++ in reasonable detail, and give an example of development using the language.<<ETX>>","PeriodicalId":325958,"journal":{"name":"[1989] Proceedings of the Twenty-Second Annual Hawaii International Conference on System Sciences. Volume II: Software Track","volume":"19 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1989-01-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"8","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"[1989] Proceedings of the Twenty-Second Annual Hawaii International Conference on System Sciences. Volume II: Software Track","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/HICSS.1989.48019","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 8
Abstract
ENCOMPASS is an environment that supports software development using formal techniques similar to the Vienna development method (VDM). In ENCOMPASS, software can be specified using the PLEASE family of executable specification languages, PK/C++, the latest number of the PLEASE family, differs from its predecessor by having C++ rather than Ada as its base language, by having an operational as well as declarative semantics, and by being based on flat rather than standard Prolog. PK/C++ specifications can be used in proofs of correctness. They are also executable, so that initial specifications can be validated and refinements can be verified using testing-based techniques. The authors give an overview of ENCOMPASS, describe PK/C++ in reasonable detail, and give an example of development using the language.<>