韓春燕
摘 要: 為了提高Web應(yīng)用界面的代碼自動生成能力,在Linux內(nèi)核源代碼中進行代碼自動生成軟件的開發(fā)設(shè)計,提出基于代碼驅(qū)動自動配置和交叉編譯路徑多線程加載的Web應(yīng)用界面的代碼自動生成軟件設(shè)計方法。首先進行軟件開發(fā)的總體設(shè)計描述,建立虛擬文件系統(tǒng)接口,由網(wǎng)絡(luò)驅(qū)動、協(xié)議、防火墻等部分組成代碼自動生成軟件的網(wǎng)絡(luò)管理系統(tǒng),建立操作系統(tǒng)負責管理和存儲Web應(yīng)用界面的文件信息,在代碼的輸出層為用戶建立可視化的操作界面,實現(xiàn)對代碼的存入、讀出、修改。通過代碼驅(qū)動自動配置在交叉編譯路徑下實現(xiàn)軟件優(yōu)化開發(fā)設(shè)計。軟件測試結(jié)果表明,采用該系統(tǒng)進行Web應(yīng)用界面的代碼自動生成設(shè)計,具有較好的可靠性和交互性。
關(guān)鍵詞: Web應(yīng)用界面; 代碼生成; 軟件設(shè)計; 交叉編譯
中圖分類號: TN911?34; TP319 文獻標識碼: A 文章編號: 1004?373X(2017)14?0055?03
Abstract: In order to improve the ability to automatically generate Web application interface code for development and design of code automatic generation software in the Linux kernel source code, a code automatic generation software design method based on Web application interface for automatic code drive configuration and cross compiling path multi?thread load is put forward. The overall design for software development is described. The system interface of virtual file is established. The network management system of the automatic code generation software is composed of network driver, protocol, firewall, etc. file information to the operating system is established for the management and storage of file information of Web application interface. A visual operating interface for the user is built in the code output layer to achieve code deposition, read?out and modification. The code driver automatic configuration is used to implement software optimization development and design in cross compiling path. The software test results show that the system has good reliability and interactivity in code automatic generation design for Web application interface.
Keywords: Web application interface; code generation; software design; cross compiling
計算機軟件設(shè)計是建立在代碼編寫和程序控制基礎(chǔ)上的,對Web應(yīng)用界面設(shè)計中,需要進行代碼的自動編寫設(shè)計,提高Web界面的面向?qū)ο笮院蛙浖嫒菪訹1]。研究面向Web應(yīng)用界面的代碼自動生成軟件設(shè)計方法,同樣在操作系統(tǒng)的桌面設(shè)計、嵌入式程序開發(fā)和交叉編譯環(huán)境中具有重要的意義,嵌入式軟件系統(tǒng)的開發(fā)通常采用交叉編譯環(huán)境,在嵌入式環(huán)境下進行代碼自動生成軟件設(shè)計[2],在Intel X86構(gòu)架的PC機上進行軟件移植,在虛擬機中安裝桌面版的Linux系統(tǒng)進行代碼自動生成軟件。本文針對傳統(tǒng)的代碼生成軟件的可移植能力較差、兼容性不好的問題,提出一種基于代碼驅(qū)動自動配置和交叉編譯路徑多線程加載的Web應(yīng)用界面的代碼自動生成軟件設(shè)計方法,通過軟件優(yōu)化開發(fā)設(shè)計,提高代碼的自動生成能力。
1 代碼生成軟件的總體設(shè)計
1.1 開發(fā)環(huán)境
為了實現(xiàn)對Web應(yīng)用界面的代碼自動生成軟件的優(yōu)化設(shè)計,首先分析軟件系統(tǒng)的總體結(jié)構(gòu)模型,Web應(yīng)用界面的代碼自動生成軟件是建立在對Cygwin系統(tǒng)的Windows系統(tǒng)安裝虛擬機的純命令操作基礎(chǔ)上的,系統(tǒng)采用LabWindows/CVI進行Web應(yīng)用界面的代碼自動生成的信息檢索[3],使用大量的Windows中的應(yīng)用程序構(gòu)建代碼模式,代碼生成軟件的開發(fā)環(huán)境建立在Windows、Linux或者Mac系統(tǒng)中,保持穩(wěn)定性[4]。在Windows操作系統(tǒng)下安裝Oracle公司的VirtualBox虛擬機構(gòu)建Web應(yīng)用界面的嵌入式Linux平臺,在嵌入式Linux系統(tǒng)中構(gòu)建Web應(yīng)用界面的數(shù)據(jù)輸出總線和核心控制模塊以及抗攻擊模塊[5],實現(xiàn)代碼編寫的控制程序的加載。基于Web應(yīng)用界面的代碼自動生成軟件由嵌入式Linux由啟動引導程序(Boot Loader)、Linux內(nèi)核、文件系統(tǒng)、應(yīng)用程序組成。在本文設(shè)計的基于Web應(yīng)用界面的代碼自動生成軟件中,編譯器可以編譯C,C++,F(xiàn)ortran等各類語言的程序,GCC編譯器編譯分為兩個過程,首先將嵌入式應(yīng)用二進制接口文件轉(zhuǎn)換為統(tǒng)一的代碼,再利用編譯連接工具進行編譯器路徑加載,將整個內(nèi)核配置編譯為二進制代碼。在上述設(shè)計的基于Web應(yīng)用界面的代碼自動生成軟件的開發(fā)環(huán)境中,進行軟件開發(fā)設(shè)計[6]。
1.2 Web應(yīng)用界面代碼自動生成軟件總體構(gòu)架
Web應(yīng)用界面代碼自動生成軟件移動分為四個層次,分別為引導加載程序(Boot Loader)層、內(nèi)核(Kernel)層、文件系統(tǒng)(File System)層、用戶應(yīng)用程序(Application)。引導加載程序?qū)邮峭ㄟ^Linux內(nèi)核程序進行虛擬文件系統(tǒng)接口設(shè)計,實現(xiàn)對Web應(yīng)用界面代碼自動生成過程的進程管理、進程間通信、中斷字設(shè)計,在驅(qū)動程序是操作系統(tǒng)與硬件直接對話的部分,在PC機上搭建一個桌面版的Linux操作系統(tǒng),構(gòu)建Web應(yīng)用界面代碼自動生成軟件的總體構(gòu)架連接圖如圖1所示。
在內(nèi)核(Kernel)層,選用了Linux系統(tǒng)作為嵌入式操作系統(tǒng)組成Web應(yīng)用界面代碼自動生成軟件的Unix模擬環(huán)境,在Windows上進行嵌入式系統(tǒng)開發(fā),使用宿主機的CPU通過局部總線修改最上層的Makefile文件,發(fā)送FLASH設(shè)備上的文件系統(tǒng)內(nèi)核到整個內(nèi)核配置層中,在Linux的缺省目標平臺成為ARM。在進行內(nèi)核配置中,MVB總線控制模型觸發(fā)數(shù)據(jù)采集總線進行代碼自動編寫,RAM將存儲預(yù)觸發(fā)器通過Linux內(nèi)核編譯下載到目標板運行,下載過程為:
export KBROFFKJ_BUIKIDIHST := $(SUFJISO)
ARCH ?= $(SUDJIOH)
CROSS_COPDJFI?=
建立文件系統(tǒng),執(zhí)行“Make menuconfig ”后,內(nèi)核配置為:
export KBDIJIDNID_BUILDHOST := $(SUBARCH)
Device Drivers?= arm
CROSS_C Buttons ?= arm?linux? ADC
在Device Drivers 菜單中,利用嵌入式ARM平臺的HP E1562D/E SCSI數(shù)據(jù)硬盤進行大容量、高性能的數(shù)據(jù)傳送和物理規(guī)范設(shè)計,在Web應(yīng)用界面的代碼自動生成的MVB總線控制模型中,選擇SD/MMC 設(shè)備選項建立VXI總線控制模型,再把所有驅(qū)動配置完成后輸入make zImage命令,中斷Web應(yīng)用界面的VXI總線數(shù)據(jù)的采集。通過文件系統(tǒng)節(jié)點可以訪問字符設(shè)備,利用字符設(shè)備驅(qū)動執(zhí)行Web應(yīng)用界面代碼自動生成軟件的系統(tǒng)控制臺,可以像文件一樣挖掘字符設(shè)備信息[7?8]。根據(jù)上述分析,構(gòu)建Web應(yīng)用界面代碼自動生成軟件總體流程如圖2所示。
2 代碼自動生成軟件開發(fā)實現(xiàn)
在Linux驅(qū)動程序中的執(zhí)行如下程序構(gòu)建軟件源代碼:
for (i = 0; i <6; i++)
{
s3c2410_gpio_ gpio_getpin S3C2410 [i], IO_cfg_table[i]);
}
讀取GPF2的值,通過GPFDAT寄存器的GPF0對A/D進行復(fù)位操作。復(fù)位程序如下:
s3c2410_gpio_seIOndf( S3CIOm_GPDOF(0) , 1);
udpdlemiji(5);
s3c2410_gpio_setiejn( SSIOKMSO0_GPF(0) , 0);
for (k=0;k<16;k++)
{
slinux?2.6.32.2/driver0_gpio_setIDNin(IODM2410_GPF(4), 1);
udelay(1);
s3c2410_gIfo_setpin(S3C2IDJojfl0_GPceoriufio(4),0);
data=s3cIOmcel10_gpio_geIkofnen(S3C2410_GPF(5));
data &=32;
Makefile =(data>>5);
AD7656 |= (data<<(15?k));
udelay(1);
}
3 系統(tǒng)測試實驗分析
基于Web應(yīng)用界面的代碼自動生成軟件的仿真測試建立在Linux內(nèi)核下設(shè)備驅(qū)動開發(fā)平臺上,通過測試軟件以代碼自動生成的時效性和準確性為測試標準,采用Qt設(shè)計嵌入式圖形用戶界面,點擊界面中的“啟動”調(diào)用內(nèi)核中的AD7656.ko驅(qū)動模塊,點擊“結(jié)論”按鍵進入代碼自動生成的結(jié)果顯示,得到面向Web應(yīng)用界面的代碼自動生成軟件的測試界面如圖3所示。
通過設(shè)置門限進行代碼自動生成的時效性測試,得到不同方法進行代碼生成的時間開銷對比如圖4所示。
分析圖4中測試結(jié)果得知,采用本文方法進行Web應(yīng)用界面的代碼自動生成,運行時間開銷較小,保證了對代碼自動生成的實時性要求,可靠性和面向?qū)ο笮暂^高。
4 結(jié) 語
本文研究了Web應(yīng)用界面的代碼自動生成軟件設(shè)計問題,采用基于代碼驅(qū)動自動配置和交叉編譯路徑多線程加載的Web應(yīng)用界面的代碼自動生成軟件設(shè)計方法。研究得知,用本文方法進行代碼生成的運行時間較短、可靠性較好。
參考文獻
[1] AREFI M M, ZAREI J, KARIMI H R. Adaptive output feedback neural network control of uncertain non?affine systems with unknown control direction [J]. Journal of the Franklin Institute, 2014, 351(8): 4302?4316.
[2] MAHMOUD E E. Complex complete synchronization of two nonidentical hyperchaotic complex nonlinear systems [J]. Mathematical methods in the applied sciences, 2014, 37(3): 321?328.
[3] PALOMARES I, MARTINEZ L, HERRERA F. A consensus model to detect and manage non?cooperative behaviors in large scale group decision making [J]. IEEE transactions on fuzzy system, 2014, 22(3): 516?530.
[4] 明平松,劉建昌.隨機多智能體系統(tǒng)一致穩(wěn)定性分析[J].控制與決策,2016,31(3):385?393.
[5] 陳凱,許海銘,徐震,等.適用于移動云計算的抗中間人攻擊的SSP方案[J].電子學報,2016,44(8):1806?1813.
[6] LIU Z, YUAN Y, GUAN X, et al. An approach of distributed joint optimization for cluster?based wireless sensor networks [J]. IEEE/CAA journal of Automatica Sinica, 2015, 2(3): 267?273.
[7] 徐開勇,龔雪容,成茂才.基于改進Apriori算法的審計日志關(guān)聯(lián)規(guī)則挖掘[J].計算機應(yīng)用,2016,36(7):1847?1851.
[8] LIANG J J, QU B Y, MAO X B, et al. Differential evolution based on fitness Euclidean?distance ratio for multimodal optimization [J]. Neurocomputing, 2014, 137(8): 252?260.