Experimental Results of Pattern-Based Automatic Program Generator Makoto Yoshida, Mitunori Sakamoto Oki Software Co.,Ltd, Japan Abstract In this paper, we describe the pattern-based automatic program generator. The new approach that mitigates restrictions between general package approach and application-oriented approach in software development is described. It provides efficient solutions for developing application-oriented systems. Experimental results show that our approach results in significant improvement as compared to the traditional software development. 4) Components should be designed as general as possible, be small enough, and be easy to use. The software development process is illustrated in Fig.1. Analysis Design Analysis Design Implement Test Traditional process Test Proposed process Toolkit Automatic Generation 1. Introduction Component The features required to develop business application systems are the low cost, the flexibility, and the openness [1]. For the openness, de-facto standard is adopted. However, there exists trade-off between the cost and the flexibility in developing software systems. To intermediate this trade-off, the application-oriented package, called componentware, is emerged [3, 4, 5], and some OO toolkits are proposed [2]. These will reduce quantities of own-coding programs and increase qualities by reusing the components. However, these change the paradigm of traditional software development methodology. In our approach, the toolkit generates source code programs automatically from design specifications without changing the traditional methodology. 2. Methodology Warehouse Figure 1. Software development process 3. Toolkit Toolkit consists of basic libraries and a set of tools. The tools we supported in the toolkit are ASP program generation tool, COM program generation tool, and database script generation tool. Fig.2 shows the COM program generation tool. There exists interface definition part and logic definition part. Inputting the specification to the toolkit, it outputs the IDL (Interface definition Language) and the C++ source codes. GustMrg Interface definition class name mthod name insertcustmer parameter Our concept in software development is: pcustno pjoined plastorder 1) Do not change the methodology of the traditional software development. psendmail return value 2) Encapsulate the techniques and patterns that the experienced programmers know into the toolkit, and make the implementation process automatic. 3) Implement component-based techniques into the toolkit. Proceedings of the 2002 Symposium on Applications and the Internet (SAINT’02) 0-7695-1447-2/02 $17.00 © 2002 IEEE insert custmertable custno pcustno parameter number joined pjoined parameter date lastorder plastordered parameter date sendmail psendmail parameter char Logic definition SQL Figure 2. COM program generation tool Fig.3 shows the ASP program generation tool. It generates ASP source codes; COM and DHTML. Table 2. Development cost (%) COM name method name analysis design implementation test total cost standard 18 19 34 29 100(%) toolkit 18 9 4 13 45(%) automatic program generation ratio is 92application programs can be generated automatically. It drastically reduces the cost of implementations; as is shown in Table 2. Experimental results show that our approach results in significant improvement as compared to the traditional software development cost. program steps 25000 column definition 20000 15000 10000 5000 Figure 3. ASP program generation tool 0 Total steps revise steps 4. Experience Table 1. Automatic program generation ratio No. of program step function COM 13894 1099 19100 124 Figure 4. Program step revised The size of code generated and the workload distribution along with software development processes are collected and evaluated. Table 1 illustrates the results of the automatic program generation ratio resulted from developing SCM systems, and Table 2 illustrates the development cost along with the software development processes. Fig.4 illustrates the other cases experienced. Case A is the example of sales application, in which 18 screens and 58 COMs are implemented. Case B is the example of customer information management system, in which 13 screens and 18 COMs are implemented. Case C is the example of the SCM systems. ASP 23063 3753 10 file 6.3Ks revised generation step ratio 40s 99.4% 8 7Ks 0 100% 14 1.4Ks 40 97.4% 12 1.2Ks 40 96.9% 32 3.2Ks 4 99.9% The result in Table-1 indicates that the automatic program generation ratio of the ASP-file is 99all programs in SCM systems are automatically generated from design specification by the toolkit. Fig.4 indicates that the average Proceedings of the 2002 Symposium on Applications and the Internet (SAINT’02) 0-7695-1447-2/02 $17.00 © 2002 IEEE 5. Conclusion The toolkit that automatically generate source code programs is introduced, and applied to several business application systems. Experimental results confirmed dramatic cost reduction in the software development processes. This paper provides one of the directions for the design of component-based software development. References [1] R. B.Grady. Successful software process improvement. Prentice-Hall, 1997. [2] A. W. Desmond D’Souza. Objects, Components and Frameworks with UML The Catalysis Approach. Addison-Wesley,, 1998. [3] M.Aoki. New Age of Software Development How Component-Based Software Engineering Changes the Way of Software Development. http://www.sei.cmu.edu/cbs/icse98/papers/p14.html. [4] M.Aoyama. Component-based software engineering can it change the way of software development? Proc.20thICSE, II, Apr. 1998. [5] P.G.Bassett. Framing Software Reuse:lessons from the Real World. Yourdon Press, 1997.