首页 理论教育多序列比对算法开发-构件组装与修改

多序列比对算法开发-构件组装与修改

【摘要】:图6-1模块交互关系构件库模块。该模块主要包括两部分,一部分是存储在文件中已完成转换的构件源代码,另一部分是存储在数据库中需进行人工开发或修改的Apla构件组装代码。在完成构件选择后,该模块根据选择的构件,从后台数据库中获取所需的Apla组装代码,用户可对组装代码进行相应的修改,以正确调用构件库中被选择的构件。

产生式编程最终的目标是一系列软件构件可以在生成器中自动符合需求地生成软件系统。开发序列比对算法构件装配平台的目的是尽可能地减少人工装配的工作,提高整个构件系统的自动化水平。

该平台主要包括三种功能需求,分别是构件转换、构件组装和代码运行。构件转换功能利用的主要是PAR平台中的Apla转换系统,这里不加以阐述。构件组装功能和代码运行功能可以分为四个模块:构件库、构件选择、代码组装、代码运行。各个模块之间的交互关系如图6-1所示。

图6-1 模块交互关系

构件库模块。该模块主要包括两部分,一部分是存储在文件中已完成转换的构件源代码,另一部分是存储在数据库中需进行人工开发或修改的Apla构件组装代码。构件库模块起相应的管理作用,可以对构件进行维护,例如对构件进行增、删、改、查操作,支持未来构件的扩充修改需求。(www.chuimin.cn)

构件选择模块。该模块读取构件库中的构件,根据构件的必选、可选特征和其归属的类型特征显示在平台界面上,比如对构件进行分类显示,必选特征无须用户选择,直接默认选择且不允许修改。用户在选择构件后,进行构件组合合法性检查,根据领域建模时维度-值的多选一或多选多关系以及构件之间的依赖关系对构件组合进行相应的约束,防止非法组合进入后续步骤。例如在没有选择渐进式比对时,渐进式比对模式构件无法选择,一些多选一的构件不可多选,等等。

代码组装模块。在完成构件选择后,该模块根据选择的构件,从后台数据库中获取所需的Apla组装代码,用户可对组装代码进行相应的修改,以正确调用构件库中被选择的构件。组装代码开发完成后,通过PAR中的转换系统,将Apla代码转换为相应的C++代码。最后,在平台后台完成可执行代码的组装编译操作,生成可执行程序。

代码运行模块。该模块在用户输入比对信息后,运行相应的可执行比对算法程序,使用户可直接在平台上进行序列比对操作,并将最终的算法运行结果显示在页面上。