張日花 劉婷婷 陳紅娟
(山東華宇工學(xué)院 山東省德州市 253034)
對(duì)于交互流建模語(yǔ)言IFML來說,從一定程度上是omg標(biāo)準(zhǔn),可支持多種設(shè)備圖形,同時(shí)IFML也可允許計(jì)算機(jī)開發(fā)人員指定交互式應(yīng)用程序的多個(gè)方面。比如:
(1)視圖結(jié)構(gòu)和相關(guān)內(nèi)容接口的一般組織是通過viewelements形式進(jìn)行表達(dá)的,同時(shí)還涉及企業(yè)包容關(guān)系可見性。
(2)事件,能夠用于影響用戶界面狀態(tài)事件,是由應(yīng)用程序用戶交互以及外部系統(tǒng)共同構(gòu)成的。
(3)事件轉(zhuǎn)換,在用戶界面中事件導(dǎo)致的后果,是以viewcontainei更改以及內(nèi)容顯示,觸發(fā)動(dòng)作等多種效果混合形成的??赏ㄟ^三種方式來表示IFML的模型結(jié)構(gòu),分別為Productofcategory和productcategories以及productinformation。
Omg標(biāo)準(zhǔn)非正式定義了FM與語(yǔ)義,而對(duì)于MDD開發(fā)以及操作性要求來說,要求其具備相對(duì)精確語(yǔ)義的MDD語(yǔ)言,在本研究中IFML語(yǔ)義能夠通過將IFML圖映射于PCN及以模塊化原語(yǔ)作為特征的petri網(wǎng)變體。PCN基礎(chǔ)結(jié)構(gòu)實(shí)際上是一種位置圖,有能夠用于代表地方層次結(jié)構(gòu)。從形象角度上分析,假設(shè)我們將無孩子和父母的電腦即被稱為一個(gè)地方,由于其相當(dāng)于一個(gè)pn地方,對(duì)于一個(gè)有父母但無孩子的地方,則被稱為是底部地圖,對(duì)于有孩子的地方,但無父母的地方則被稱為是頂級(jí)地圖,在無孩子的地圖中記號(hào)數(shù)量,是指petri網(wǎng),而具有孩子的地圖記號(hào)數(shù)量是指孩子記號(hào)數(shù)量最大值。過度從一組位置圖刪除記號(hào),并將該記號(hào)添加至其他人的位置上面,當(dāng)所有原位置圖所需記號(hào)數(shù)僅需啟用轉(zhuǎn)換時(shí),這時(shí)可從無孩子地圖刪除,之后會(huì)將數(shù)量減少一個(gè),同時(shí)具有自己位置圖中刪除記號(hào),則能夠清空所有的記號(hào)。為避免非確定性因素的產(chǎn)生,僅能夠在5個(gè)孩子的地方圖表完成記號(hào)插入,作為減少弧的組合中其中一種方法,引入默認(rèn)弧,即可將父位置圖連接至一個(gè)甚至多個(gè)后代中,如下圖所示為相對(duì)空IFML模型中的PCN。
PCN涉及兩個(gè)關(guān)閉和打開的轉(zhuǎn)換,初始標(biāo)記設(shè)計(jì)等待中其中一個(gè)記號(hào)以及viewapplscon中的一種記號(hào),能夠描述用戶打開最初且不在視圖中的應(yīng)用程序,打開后轉(zhuǎn)移從應(yīng)用程序移除并且添加一個(gè)記號(hào),能夠?qū)⒃撚浱?hào)由開始移動(dòng)到等待禁用自身并合理啟用,關(guān)閉,關(guān)閉轉(zhuǎn)換,能夠?qū)⒂浱?hào)由應(yīng)用程序移動(dòng)至Viewapplication同時(shí)將該記號(hào)由等待轉(zhuǎn)移至開始。禁止自身同時(shí)啟用打開可將應(yīng)用程序狀態(tài)設(shè)置為默認(rèn)初始標(biāo)記。單個(gè)空默認(rèn)v iewcontainer模型能夠顯示其具體映射過程由PCN通過引入m ails應(yīng)用程序的子進(jìn)程進(jìn)行擴(kuò)展郵件地圖表,還有兩個(gè)孩子底部圖表,這兩個(gè)viewmails狀態(tài)能夠用于表示。 Viewcont AI ne是否位于視圖中打開轉(zhuǎn)換觸發(fā)添加的記號(hào)傳遞給viewmails,在一定程度上能夠表示viewcontainer被顯示。
對(duì)于應(yīng)用程序底部位置圖來說,其涉及聯(lián)系人以及兩個(gè)地圖圖表郵件,不同圖表中還有兩個(gè)子頁(yè)面底部圖表,郵件是通過應(yīng)用程序初始化,主要由于郵件為默認(rèn)頂級(jí)viewcontainer,其會(huì)是默認(rèn)基礎(chǔ)的viewmails放置圖初始化相應(yīng),如果聯(lián)系人未初始化是默認(rèn)值,此時(shí)應(yīng)用程序的初始化和目標(biāo)是viewcontacts的放置圖,可將其用于表示初期未查看聯(lián)系人viewcontainer,這兩個(gè)viewcontaines之間的導(dǎo)航是通過contacts轉(zhuǎn)換進(jìn)行表示的,能夠就表示兩個(gè)viewcontainer顯示狀態(tài)變化,轉(zhuǎn)換可從記號(hào)到郵件視圖,郵件聯(lián)系人可轉(zhuǎn)換到聯(lián)系人,視圖郵件。根據(jù)頂級(jí)viewcontainers之間的導(dǎo)航結(jié)構(gòu),基于部分參數(shù)數(shù)值的包含Viewcomponents在接口中計(jì)算,并且呈現(xiàn)模型映射過程。Viewcomponent的行為能夠被認(rèn)為是兩個(gè)內(nèi)容相互作用結(jié)果。
(1)模型,能夠用于表示和向viewcomponent所提供內(nèi)容數(shù)據(jù)源兩者之間的交互狀態(tài)。
(2)視圖模型,能夠用于表示界面內(nèi)容顯示,對(duì)于Web應(yīng)用程序中模型是保存由數(shù)據(jù)庫(kù)所提取對(duì)象數(shù)據(jù)bean,視圖模型是對(duì)象html的呈現(xiàn)在安卓應(yīng)用中,這一模型實(shí)際上是java對(duì)象,并且視圖模型能夠?qū)ui窗口綁定到該對(duì)象中。
Viewcomponent的模型,可通過下列環(huán)節(jié)進(jìn)行狀態(tài)建模。
(1)clear,假設(shè)Viewcomponent需要進(jìn)行計(jì)算輸入,基于這種情況下無法顯示任意內(nèi)容,并且保持為空狀態(tài);
(2)ready,基于這種情況下會(huì)產(chǎn)生兩種狀態(tài),即viewcomponent,無需任意數(shù)參數(shù)或已連接到所需輸入;
(3)計(jì)算,如果相應(yīng)內(nèi)容為計(jì)算狀態(tài),那么該狀態(tài)這個(gè)變化是通過PCN進(jìn)行轉(zhuǎn)換,建模以及傳播的,由清楚到就緒,同時(shí)可將輸入?yún)?shù)及時(shí)傳遞給 Viewcomponent,如圖2所示。
圖2:?jiǎn)蝹€(gè)Viewcomponent的模型結(jié)構(gòu)示意圖
根據(jù)該圖可以清楚的顯示IFML模型中的PCN具體映射過程,由maillist郵件中的子郵件地址表用于表示由負(fù)向數(shù)字化等 maillistviewconponent能夠分別包含兩個(gè)子位置圖及viewmodelmaillist以及mo de L M aillist分別用于表示viewcomponent的視圖模型以及模型結(jié)構(gòu)圖。modelmaillist包含前面所定義的4個(gè)底部位置圖表。Transitioncomputemaillist表示內(nèi)容計(jì)算其能夠從 inmaillist中刪除記號(hào),同時(shí)可將該記號(hào)添加至inmaillist,用于表示輸入消耗,同時(shí)還可從outmaillist中進(jìn)行記號(hào)刪除,并將該記號(hào)添加至outmaillist可表示模型內(nèi)容可用性。
在本研究中以具體事例作為研究對(duì)象,其涉及事件和導(dǎo)航流郵件列表為交互式,可從列表中啟用郵件選擇同時(shí)在另一頁(yè)界面組件中進(jìn)行,顯示在啟動(dòng)應(yīng)用程序的過程中即能夠顯示列表,用戶能夠從列表中選擇項(xiàng)目,同時(shí)將顯示具體信息。目前viewcontainer郵件的位置圖中涉及兩個(gè)對(duì)應(yīng)mailviewcomponents以及maillist的孩子繪制圖,尤其是其被初始化就緒狀態(tài),雖然和mailviewcomponent所關(guān)聯(lián)地方圖被初始化為就緒狀態(tài),但由于所輸入?yún)?shù)為空值,主要由于用戶沒有進(jìn)行信息選擇,因此這種情況下經(jīng)過計(jì)算和渲染轉(zhuǎn)換之后的視圖模型顯示通知內(nèi)容。
在IFMLeditoid中實(shí)現(xiàn)映射計(jì)算機(jī)開發(fā)人員可利用在線編輯器進(jìn)行IFML模型的創(chuàng)建之后,可將模型映射與PCN并且模擬該模型,研究具體的動(dòng)態(tài)變化,將為網(wǎng)絡(luò)或者跨平臺(tái)移動(dòng)語(yǔ)言生成相應(yīng)的代碼執(zhí)行并驗(yàn)證原型,通過定制外觀和采用真實(shí)調(diào)用替換模擬數(shù)據(jù)訪問,最后能夠?qū)⑵滢D(zhuǎn)為真實(shí)應(yīng)用程序,IFMLeditorg可利用javascript開發(fā)客戶端編輯器以及代碼生成器,加載之后可實(shí)現(xiàn)離線使用,整個(gè)系統(tǒng)中涉及4個(gè)組件。
(1)模型編輯器在模型中,可視化編輯器能夠插入元素,用于屬性和連接的編輯。
(2)由模型到JSON轉(zhuǎn)換框架,是一個(gè)基于規(guī)則的javascript引擎,其作為輸入模型對(duì)象能夠生成輸出任意JSON結(jié)構(gòu),
(3)瀏覽器,服務(wù)器仿真器能夠用于外部瀏覽器的模擬,Nodegs服務(wù)器和兩者連接的請(qǐng)求響應(yīng)周期,
(4)移動(dòng)仿真器,可用于模擬跨平臺(tái)環(huán)境javascript組件能夠用于支持并生成跨平臺(tái)移動(dòng)代碼執(zhí)行,計(jì)算機(jī)開發(fā)人員能夠由IFML模型到PCN模型轉(zhuǎn)換已生成應(yīng)用程序,在網(wǎng)絡(luò)中移動(dòng)信號(hào)能夠可視化,呈現(xiàn)PCN的具體動(dòng)態(tài)變化,顯示界面中控制流和viewelements的狀態(tài)變化。
總而言之,在本研究中詳細(xì)闡述了可用于由IFML規(guī)范自動(dòng)生成跨平臺(tái)Web以及移動(dòng)應(yīng)用程序的MDD具體方法,IFML語(yǔ)義是通過將其映射于PCN中進(jìn)行定義的,由PCN平臺(tái)規(guī)范以交付可執(zhí)行應(yīng)用程序原型,該原型能夠采用自動(dòng)生成的數(shù)據(jù)進(jìn)而進(jìn)行 UI填充,允許計(jì)算機(jī)開發(fā)人員測(cè)試接口,而并不是簡(jiǎn)單的內(nèi)容加載,針對(duì)實(shí)際測(cè)試開發(fā)人員能夠由自動(dòng)數(shù)據(jù)庫(kù)編輯添加刪除實(shí)體,進(jìn)而重復(fù)采用 IFMLeditog,以評(píng)估不同用戶方法所生成原型,可用于下載和完善,其是通過在線IFMLedatorg工具來支持具體的開發(fā)過程的。