• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>
    當前位置: 首頁 > 專利查詢>夏壽民專利>正文

    一種基于動態系統實現復合斷言計算的方法技術方案

    技術編號:8271244 閱讀:136 留言:0更新日期:2013-01-31 03:24
    本發明專利技術是一種基于動態系統實現復合斷言計算的方法。本發明專利技術所述的方法將有效地支持將任意復合斷言轉換為動態系統,并進一步實現其計算求值。這些斷言包括單個簡單斷言、多個簡單斷言的順序多個復合斷言的順序組合、多個簡單斷言的并行組合、多個復合斷言的并行組合、以及上述多個斷言的順序和并行混合組合。本發明專利技術與現有的復合斷言實現方法相比,具有表達方式更通用、高效率并行化求值、以及使用更簡單更簡潔的特點。

    【技術實現步驟摘要】
    本專利技術是有關于圖形表達法或者圖形語言的設計,用來描述斷言、布爾表達式、條件表達式、流程控制、活動、業務流程、系統行為以及如何借助軟件工具來進行系統行為的實施。
    技術介紹
    由于基于文本的電腦語言具有連貫順序的特性,而對一個有很多并行活動的復雜行為,比如業務流程,用文本型語言就不太容易來描述。半個世紀以來,流程圖已被用于克服文本型語言的這個弱點。但是,流程圖有它自己的局限性。近年來,許多新的電腦圖形語言被設計出來用以克服其中的一些限制,比如Business Process ModelingNotation (BPMN)、United Modeling Language (UML)活動圖(Activity Diagram)和動態系統圖(Dynamic Systems Chart, DSC)。雖然相對于流程圖有很多改進,但這些新的圖形語言仍有一個和流程圖同樣的弱點,就是在描述復雜判斷或者條件時,仍然是使用了基于文本型的表達式。在流程圖中,決策點(decision point) —般是用菱形來表示的。在菱形的內部,布爾表達式則是用文本描述的。一個決策點可以有兩個或者更多向外的箭頭,而每個箭頭則指向下一個步驟。例如,一個菱形有兩個箭頭。菱形里面的布爾表達式可以定義為“X和Y”,一個箭頭可能被標注為“真”,另一個箭頭可能被標注為“假”。這個決策點所描述的是,如果X和Y都為真,為“真”的箭頭將會繼續。否則,為“假”的箭頭將會繼續。在BPMN中,有多種形式的“Gateway”用來描述一個決策點。一個“ConditionExpression屬性可以用來定義一個Gateway或者其向外的箭頭(在BPMN中叫做“sequence flow”)。而這個 ConditionExpression 屬性通常是用 XML Path Language(XPath)的基于文本的表達式來定義的。在UML活動圖(Activity Diagram)中,一個決策節點(node)可以有多個向外的直線(edge),其中每條直線有一個guard條件定義了什么情況下該直線將被選擇。UML活動圖中的join節點也可以有一個join條件的定義,該join條件的定義描述了在什么情況下會沿著其單一的輸出直線繼續。在這兩種情況下,這些條件都是由基于文本的布爾表達式來定義的。DSC是一種以動態系統(Dynamic System, DS)為單元來描述行為的圖形語言。在DSC中,有兩個地方需要制訂決策。一個是在和遷移箭頭相關聯的遷移條件中,另一個是在和結束點相關聯的結束條件中。遷移條件和結束條件都可以定義為布爾表達式。當描述一個簡單條件時,基于文本的布爾表達式就可以做的很好,比如“X和Y”。但是,當描述一個需要使用“和”或“或”的邏輯操作符來連接多個簡單表達式的復雜條件時,由于下面一些原因,一個基于文本的布爾表達式就不是很理想了。首先,基于文本的行為描述、復雜布爾表達式可能是違反直覺的,因為運算的順序依賴于一些隱含的優先法則。比如“A| B&&C ID&&E”是一個C/C++/Java表達式,其中,I I代表“或”的邏輯符,而&&代表“和”的邏輯符。在這些編程語言中,有一些隱含的優先法則,比如&&比I I有更高的優先級。因此,“Al B&&C |D&&E”實際上意味著“Al I (B&&C) I I (D&&E)”,而不是一些人可能期望的 “((A| B)&&C |D)&&E”。第二,基于文本的布爾表達式在同一時間只能有兩個操作數,所以不能同時操作多個操作數。如果許多操作數需要被同時檢驗,就需要重復定義一些邏輯操作符,比如AND和0R。例如如果我們想要描述一個條件“A,B,C,D,和E全都為真”,那么表達式必須定義 為“A&&B&&C&&D&&E”。而理想情況下,應當不需要重復地定義這些邏輯操作符。另外,因為同一時間只有兩個操作數被運算,重復應用這些操作符無意中可能產生一些不必要的副作用。第三,當有多個操作數時,基于文本的布爾表達式通常不能描述若這些操作數中有任何兩個為真,該條件即滿足。它也不能描述若這些操作數中至少或者至多有兩個為真,該條件即滿足。如果一個決策是基于有多少個為真的操作數,那么又如何來定義呢? 一個布爾表達式是沒有一個機制來簡單地處理這些情況的。但是,這些都是可能需要在電腦系統中被描述的現實世界的條件。第四,一個布爾表達式通常只被運算為兩個不同的結果,叫做是(真)或者否(偽)。但用來定義需要同時選擇多個選項的一個決策,這就不合適了。為了要定義一個決策的多個選項,這些多個選項中的每個都要定義一個布爾表達式,使得當相關聯的布爾表達式被測試為真時,這些選項中的一個就會被選擇。在BPMN中,可以通過為一個Gateway的每個向外的sequence flow定義一個布爾表達式來做到這點。如果該條件比較簡單,這個方法是可行的。但是,對于比較復雜的條件,寫多個長的布爾表達式會顯得冗長。比如,下面是可能需要定義布爾表達式的部分列表I)如果年齡小于5歲,宗教信仰為X,國籍為A ;2)如果年齡小于5歲,宗教信仰為Y,國籍為A ;3)如果年齡大于20歲,宗教信仰為X,國籍為B ;4)如果年齡大于20歲,宗教信仰為X,國籍為C等等。最壞的情況下,需要定義Ν*Μ*0個布爾表達式,其中N是年齡范圍,M是宗教種類數目,O是國家種類數目。更壞的情況下,為了找到一個為真的條件,年齡、宗教、國籍可能會被重復測試Ν*Μ*0次。因此,有必要對復雜條件有更加結構化的描述。第五,復雜的決策邏輯和條件不能像其他行為的定義一樣用圖形來顯示。因為決策邏輯是任何復雜行為的基礎部分,如果仍然保持復雜決策邏輯為文本的形式,則不能達到將一個計算機系統行為徹底地圖形化。需要解決的問題是如何將復雜的決策和條件也能以圖形語言來描述,并克服了上面談到的所有基于文本的布爾表達式的不足。本專利技術就提供了這樣一個解決方案。
    技術實現思路
    本專利技術描述了 如何使用復合斷言和圖形用戶界面(GUI)來定義作為計算機系統行為的一部分的復雜決策或者條件。此外,可以對復合斷言的GUI廣義化,使得計算機系統的整個行為都可以用一致的方式圖形化地加以描述。本專利技術的一個目的是在應用系統中通過圖形表現來定義復雜決策和復雜條件,從而能夠更加方便地理解系統中的決策是如何做出來的。另一個目標是改進如何對可能有多個參數和多個結果的復雜決策或者條件進行定義。為了達到這些目標,本專利技術中提供了如何定義復合斷言的系統和如何圖形化地展示這些復合斷言。 本專利技術使用復合斷言來描述復雜決策或者條件。復合斷言有如下組件1)子斷言;2)遷移;3)終點;4)結束點。并且描述了處理或者執行一個復合斷言的過程。本專利技術也描述了如何使用一種圖形語言將復合斷言用圖形展現出來,包括動態系統圖(DSC),BPMN和UML活動圖。為了描述計算機系統更多的常見行為,復合斷言的復合結構被廣義化為復合動態系統(以下簡稱為復合DS)。一個復合DS有如下組件1)子動態系統(子DS本文檔來自技高網
    ...

    【技術保護點】
    一種將軟件中做決策時來檢驗一個條件集是否為真的斷言轉換為動態系統并計算的方法,包括步驟如下:第1、將所述斷言轉化為對應的動態系統;第2、將步驟1中所述斷言作為一個當前斷言;第3、若所述當前斷言為簡單斷言,直接計算所述簡單斷言以得到所述當前斷言的結果,所述當前斷言的計算即結束;第4、所述當前斷言為復合斷言,其所對應的所述動態系統中包括第一多個并行序列,而每個序列包括對應的順序子斷言,則遍歷所述第一多個并行序列并將所述第一多個并行序列中的每個序列分別作為當前序列以執行如下子步驟:第4.1、在步驟4中的遍歷操作中,若存在下一個序列,則執行第4.2步驟;若不存在下一個序列,則所述當前斷言的結果為假值,所述當前斷言的計算即結束;第4.2、將步驟4.1中的所述下一個序列作為當前序列;第4.3、將當前序列中第一個子斷言作為當前子斷言,并執行如下子步驟:第4.3.1、以當前子斷言作為一個當前斷言,遞歸執行步驟3以獲得所述當前子斷言的結果;第4.3.2、獲取當前子斷言的第一個遷移,作為當前遷移;第4.3.3、計算所述當前遷移的遷移條件值;第4.3.4、若所述遷移條件值為假,則執行步驟4.3.7;否則執行接下來步驟;第4.3.5、將當前遷移的目標所指的子斷言設定為當前子斷言,判斷所述當前子斷言是否為終點;第4.3.6、若所述當前子斷言是終點,則終點值就是所述當前序列的結果,執行步驟5;否則執行4.3.1步驟;第4.3.7、獲取所述當前子斷言的下一個遷移,若存在下一個遷移,則將下一個遷移作為當前遷移,并執行步驟4.3.3;否則執行接下來步驟;第4.3.8、所述當前序列的結果為假值,執行下面步驟5;第5、檢查步驟4中所述復合斷言的每個結束條件,若有結束條件為真,則所對應的結束點的結束值就是所述當前斷言的結果,所述當前斷言的計算即結束;否則執行步驟4.1。...

    【技術特征摘要】
    2007.09.11 US 60/993,2581.一種將軟件中做決策時來檢驗一個條件集是否為真的斷言轉換為動態系統并計算的方法,包括步驟如下 第I、將所述斷言轉化為對應的動態系統; 第2、將步驟I中所述斷言作為一個當前斷言; 第3、若所述當前斷言為簡單斷言,直接計算所述簡單斷言以得到所述當前斷言的結果,所述當前斷言的計算即結束; 第4、所述當前斷言為復合斷言,其所對應的所述動態系統中包括第一多個并行序列,而每個序列包括對應的順序子斷言,則遍歷所述第一多個并行序列并將所述第一多個并行序列中的每個序列分別作為當前序列以執行如下子步驟 第4. I、在步驟4中的遍歷操作中,若存在下一個序列,則執行第4. 2步驟;若不存在下一個序列,則所述當前斷言的結果為假值,所述當前斷言的計算即結束; 第4. 2、將步驟4. I中的所述下一個序列作為當前序列; 第4. 3、將當前序列中第一個子斷言作為當前子斷言,并執行如下子步驟 第4. 3. I、以當前子斷言作為一個當前斷言,遞歸執行步驟3以獲得所述當前子斷言的結果; 第4. 3. 2、獲取當前子斷言的第一個遷移,作為當前遷移; 第4. 3. 3、計算所述當前遷移的遷移條件值; 第4. 3. 4、若所述遷移條件值為假,則執行步驟4. 3. 7 ;否則執行接下來步驟; 第4. 3. 5、將當前遷移的目標所指的子斷言設定為當前子斷言,判斷所述當前子斷言是否為終點; 第4. 3. 6、若所述當前子斷言是終點,則終點值就是所述當前序列的結果,執行步驟5 ;否則執行4. 3. I步驟; 第4. 3. 7、獲取所述當前子斷言的下一個遷移,若存在下一個遷移,則將下一個遷移作為當前遷移,并執行步驟4. 3. 3 ;否則執行接下來步驟; 第4. 3. 8、所述當前序列的結果為假值,執行下面步驟5; 第5、檢查步驟4中所述復合斷言的每個結束條件,若有結束條件為真,則所對應的結束點的結束值就...

    【專利技術屬性】
    技術研發人員:夏壽民
    申請(專利權)人:夏壽民
    類型:發明
    國別省市:

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 久久午夜伦鲁片免费无码| 无码少妇一区二区浪潮av| 欧洲精品无码一区二区三区在线播放 | 国产莉萝无码AV在线播放| 无码熟熟妇丰满人妻啪啪软件| 十八禁视频在线观看免费无码无遮挡骂过 | 日韩乱码人妻无码中文字幕视频| 久久国产加勒比精品无码| 夜夜精品无码一区二区三区| 亚洲AV无码无限在线观看不卡 | 国产麻豆天美果冻无码视频| 2024你懂的网站无码内射| 亚洲中文字幕久久精品无码APP| 国产精品久久无码一区二区三区网| 国产精品va无码一区二区| 亚洲熟妇少妇任你躁在线观看无码| 亚洲av无码专区在线观看亚| 久久午夜无码鲁丝片直播午夜精品 | 久久久久亚洲av无码专区蜜芽| 亚洲无码黄色网址| 一本大道久久东京热无码AV| 92午夜少妇极品福利无码电影 | 国产精品免费看久久久无码| 精品深夜AV无码一区二区| 亚洲国产精品无码av| 国产白丝无码免费视频| 中文字幕无码人妻AAA片| 精品人妻无码专区中文字幕| 日韩中文无码有码免费视频 | 中文无码vs无码人妻| 亚洲 无码 在线 专区| 蕾丝av无码专区在线观看| 国产精品无码久久久久久久久久| 亚洲AV无码国产一区二区三区| 婷婷四虎东京热无码群交双飞视频| 日韩精品无码一区二区三区 | 亚洲中文字幕久久精品无码APP | 国产精品无码AV一区二区三区| 国模GOGO无码人体啪啪| 国产成人AV片无码免费| 久久久久久亚洲Av无码精品专口|