论文部分内容阅读
自动程序设计是使用自动化手段进行程序设计的技术和过程,后发展成为使用自动化手段进行软件系统生成的方法,被称为软件自动化。其目的在于提高软件生产率和软件产品质量。软件自动化过程通常包括从问题的非形式化描述到形式化的软件需求规格说明、功能规格说明、设计规格说明,再到可执行代码生成、调试以及确认交付的全过程。传统的软件自动化方法通常是基于代码生成的,而这些方法难以适应大型系统构建的要求。基于软件复用的软件系统自动生成技术在此方面则很有潜力,与传统的软件自动化不同的是,这里的系统生成是基于可复用程序代码或称组件的。研究使用面向服务的架构,将可复用组件作为服务提供,根据项目的非形式化描述生成功能规格说明、设计规格说明,然后对服务库里的服务进行检索匹配,最后使用基于SOA(Service Oriented Architecture)的服务组装技术生成系统。研究的重点在于系统的自动生成,首先讨论了系统规格说明的自动生成、需求与服务组件的形式化描述以及服务的检索、匹配和组装技术,然后将人工智能技术和遗传算法用于软件系统自动化,同时结合SOA技术进行系统生成。在上述系统自动生成理论的基础上,得到一个基于SOA的系统自动生成平台的设计方案,实现了自动生成系统框架AutoSOM。AutoSOM是一个基于SOA的系统生成平台,作为软件自动生成系统SoftMaker的重要组成部分,AutoSOM在企业服务总线的基础上构建了一个从需求理解到服务组装的系统生成平台,使用户需求得到充分的理解,减轻软件工程沟通环节的负担,对已有可复用的软件资产以服务的方式进行充分利用,并进行智能匹配组装、生成系统。本系统功能完全符合自动化程序设计的思想,根据用户非形式化的需求描述,即只要输入对系统各个方面的要求就可以自动生成基于SOA的系统解决方案。