{"title":"Diagrams for software synthesis","authors":"Richard Jüllig, Yellamraju V. Srinivas","doi":"10.1109/KBSE.1993.341202","DOIUrl":null,"url":null,"abstract":"The authors describe the formal environment at Kesteral for synthesizing programs. The authors show that straightforward formalization, persistently applied at all levels of system description and system derivation, produces a scalable architecture for a synthesis environment. The primitive building blocks for framework are specifications, which encapsulate types and operations, and specification arrows, which are relations between specifications. The design of a system is represented as a diagram of specifications and arrows. Synthesis steps manipulate such diagrams, for example, by adding design detail to some specification, or by building new diagrams. A design history is a diagram of diagrams. Thus, they have a formal, knowledge-based, and machine-supported counterpart to such software engineering methodologies as CASE and OOP.<<ETX>>","PeriodicalId":371606,"journal":{"name":"Proceedings of 8th Knowledge-Based Software Engineering Conference","volume":"31 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1993-09-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"34","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of 8th Knowledge-Based Software Engineering Conference","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/KBSE.1993.341202","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 34
Abstract
The authors describe the formal environment at Kesteral for synthesizing programs. The authors show that straightforward formalization, persistently applied at all levels of system description and system derivation, produces a scalable architecture for a synthesis environment. The primitive building blocks for framework are specifications, which encapsulate types and operations, and specification arrows, which are relations between specifications. The design of a system is represented as a diagram of specifications and arrows. Synthesis steps manipulate such diagrams, for example, by adding design detail to some specification, or by building new diagrams. A design history is a diagram of diagrams. Thus, they have a formal, knowledge-based, and machine-supported counterpart to such software engineering methodologies as CASE and OOP.<>