Software synthesis for trade-off design

This paper details a case study of trade-off design in software synthesis. Domain-oriented software synthesis technology enables software designers to encode their own specific knowledge of software design into transformation rules. Thus, generated software is optimal and actually usable for the domain. However, the optimal implementation cannot be decided in advance if performance specifications, e.g., memory size limits and execution time limits, are unclear. That is, it is difficult to develop transformation rules which generate optimal software for their domain or situation if performance requirements are unclear beforehand. This paper proposes a method of trade-off design in software synthesis, and applies this method to develop a file access program generator called POT-DB. The proposed method includes procedures for: extracting trade-off parameters as input specifications; designing transformation rules for trade-off parameters to generate programs; and designing performance measurement rules to allow designers to notice the effects of trade-off parameters. Based on the results of applying POT-DB in developing a sales analysis and ordering system, all performance requirements have been satisfied, and application productivity has been improved 1.9 times.

[1]  Toru Yamanouchi,et al.  Software synthesis shell SOFTEX/S , 1992, Proceedings of the Seventh Knowledge-Based Software Engineering Conference.

[2]  Bashar Nuseibeh,et al.  Method engineering for multi-perspective software development , 1996, Inf. Softw. Technol..

[3]  David R. Barstow Domain-Specific Automatic Programming , 1985, IEEE Transactions on Software Engineering.

[4]  Michal Rimon,et al.  A knowledge-based software development environment for scientific model-building , 1992, Proceedings of the Seventh Knowledge-Based Software Engineering Conference.

[5]  Toru Yamanouchi,et al.  Domain-oriented software process re-engineering with software synthesis shell SOFTEX/S , 1995, Proceedings 1995 10th Knowledge-Based Software Engineering Conference.

[6]  Michael R. Lowry,et al.  A formal approach to domain-oriented software design environments , 1994, Proceedings KBSE '94. Ninth Knowledge-Based Software Engineering Conference.

[7]  Dorothy E. Setliff,et al.  Towards supporting design phase synthesis , 1993, Proceedings of 8th Knowledge-Based Software Engineering Conference.

[8]  Bashar Nuseibeh Meta-CASE Support for Method-Based Software Development , 1995 .