2002 · 23 citations · 6 references
EngineeringSoftware SystemsSoftware EngineeringSystem-level DesignSoftware AnalysisStraightforward FormalizationFormal SpecificationFormal ModelingSoftware SynthesisDesignSynthesis EnvironmentSoftware VisualizationSoftware DesignFormal EnvironmentSpecification LanguageDiagrammatic ReasoningProgram AnalysisFormal MethodsProgram SynthesisSystem SoftwareSystem Specification
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 xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">></ETX>
6
Top-down synthesis of divide-and-conquer algorithms
Douglas R. Smith · Artificial Intelligence · 1985 · 155 citations
The specification of computer programs
Microprocessors and Microsystems · 1987 · 134 citations
Peter Freeman · Computer · 1974 · 117 citations
Software Maintenance, Engineering, Computer Architecture +20
Applying formal software synthesis
Richard Jüllig · IEEE Software · 1993 · 22 citations