Page Tools:
  • print-friendly version

Generating Software from Specifications

Author(s): Uwe Kastens, University of Paderborn
Anthony M. Sloane, Macquarie University
William M. Waite, University of Colorado, Colorado
Details:
  • ISBN-13: 9780763741242
  • ISBN-10:0763741248
  • Paperback    413 pages      © 2007
Price: International Sales $95.95 US List
Add to Cart

Overview

Generating Software From Specifications discusses how to leverage existing generation technology to achieve software reuse and thereby reduce the cost and improve the reliability of software.  The authors approach can be applied incrementally, without disrupting current projects or requiring changes in existing programs or methodology. Robust, public-domain tools are available to support these component-based software development techniques on a number of levels, from simple turn key operations to custom software generation.

ShowKey Features

The text is applicable to any software development task, and can be combined with virtually any existing methodology to gain additional leverage with little cost.

 

The text familiarizes the reader with software development as a process of composing systems from reusable components.

Tools that generate code according to some particular style can be developed quickly and easily.  These tools can then be used to ensure that a product family is consistent in some way.

Management can use the technology to create a variety of quality assurance tools that help programmers follow company standard practice.

Back to top

ShowTable of Contents

Chapter 1:        Introduction

1.1  Generators

1.2  Domain-Specific Languages

1.3  Reuse

 

I.   How Generators Provide Leverage

 

Chapter 2:        Structured Output

2.1    The Web Site Maintenance Problem

2.2    Generating the Memex Web Site Text Module

2.3    Programming the Memex Web Site Text Module

2.4    Hand Coding vs. Generation

 

Chapter 3:        Storing Entities with Properties

3.1    The Student Data Problem

3.2    Generating a Property Storage Module

3.3    Programming a Property Storage Module

3.4    Hand Coding vs. Generation

 

Chapter 4:        Visiting Trees

4.1    The Table Layout Problem

4.2    Generating the Table Layout Module

4.3    Programming the Table Layout Module

4.4    Hand Coding vs. Generating a Table Layout Program

 

Chapter 5:         Names and Entities

5.1    The Structure Generator Task

5.2    Specifying Name Analysis for the Structure Generator

5.3    Programming the Name Analysis Phase

 

Chapter  6:        Constructing Trees

6.1    The Calendar Tree Construction Problem

6.2    Generating a Calendar Structuring Program

6.3    Programming a Calendar Structuring Program

6.4    Hand Coding vs. Generation

 

Chapter 7:        An Integrated Approach

7.1    Task Decomposition

7.2    Generation a Structure Generator

7.3    Programming a Structure Generator

7.4    Hand Coding vs. Generation

 

II.   Support Infrastructure

 

Chapter 8:         Execution Monitoring

                        8.1    Source-Level Execution Models

                        8.2   Specification-level Execution Models

                        8.3   The Noosa Execution Monitor

                        8.4   Debugging Situations

                        8.5   Implementing Execution Monitors

 

Chapter 9:         Modularity and Generators

                        9.1    A File-based Module Mechanism

                        9.2    Literate Programming

                        9.3   FunnelWeb Specifications

 

Chapter 10:       Software Manufacturing

10.1      Two Manufacturing Scenarios

10.2      Defining a Manufacturing Process

10.3      Implementing the Process

 

III.   Complete Examples

 

Chapter 11:      Desk Calculator

11.1      Expressions

11.2      Expression Values

11.3      Extensions

11.4      Lessons Learned

 

Chapter 12:       Language Extensions

12.1      Extending Java with Formal Specifications

12.2      Implementing Strategy  

12.3      Unparsing

12.4      Implementing the Java Extension

12.5      Lessons Learned

 

Chapter 13:       A Pattern-Based Text Generator

13.1      Introduction

13.2      Structuring

13.3      Name Analysis

13.4      Property Analysis

13.5      Transformation

 

Chapter 14:       A Manufacturing Problem

14.1      The Document Manufacturing Process

14.2      Automating the Process

14.3      The tex Package

 


Back to top

ShowAbout the Author(s)

Uwe Kastens-University of Paderborn

Anthony M. Sloane-Macquarie University

William M. Waite-University of Colorado, Colorado

Back to top