The first part of this paper reviews our efforts on knowledge-based software engineering, namely PROMIS, started from 1990s. The key point of PROMIS is to generate applications automatically based on domain knowledge as well as software knowledge. That is featured by separating the development of domain knowledge from the development of software. But in PROMIS, we did not find an appropriate representation for the domain knowledge. Fortunately, in our recent work, we found such a carrier for knowledge modules, i.e. knowware. Knowware is a commercialized form of domain knowledge. This paper briefly introduces the basic definitions of knowware, knowledge middleware and knowware engineering. Three life circle models of knowware engineering and the design of corresponding knowware implementations are given. Finally we discuss application system automatic generation and domain knowledge modeling on the J2EE platform, which combines the techniques of PROMIS, knowware and J2EE, and the development and deployment framework, i.e. PROMIS/KW**.PROMIS, knowledge based software engineering, knowware, J2EE, PROMIS/KW**, knowware based software engineering
Generating applications automatically based on domain modeling and pseudo natural language understandingThe practice of software engineering tells us that, most failures of software development rely on the bad requirement analysis, and the reason for that falls upon lack of good cooperation between users and software engineers. Users, usually being unable to exactly and clearly give their requirements, want to keep the right of freely changing the requirements during the process of software developing so that it becomes difficult for software engineers to make a proper requirement analysis and to guarantee the accomplishment of the development job successfully.