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