Experimental Results of Pattern-Based Automatic

advertisement
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.
Download