1.一種用于機器人分布式控制系統(tǒng)的形式建模方法,其特征在于,所述方法包括:
針對所述機器人分布式控制系統(tǒng),根據(jù)各微體系結(jié)構(gòu)模型xMAS元件的同步等式,對各xMAS元件在邏輯編程語言ACL2中形式化,得到所述機器人分布式控制系統(tǒng)對應(yīng)的xMAS元模型;其中,所述各xMAS元件包括Arbiter及以下至少一項:Fork、Join、Switch、Merge、Queue、Sink、Source、和Function;
在ACL2中對所述xMAS元模型中的組合邏輯元件和時序邏輯元件進行預(yù)設(shè)屬性的驗證;
根據(jù)所述xMAS元模型,建立所述機器人分布式控制系統(tǒng)對應(yīng)的xMAS網(wǎng)絡(luò)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
通過所述xMAS網(wǎng)絡(luò),對所述機器人分布式控制系統(tǒng)進行自動驗證。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述機器人分布式控制系統(tǒng)為基于控制器局域網(wǎng)CAN總線的機器人分布式控制系統(tǒng),所述通過所述xMAS網(wǎng)絡(luò),對所述機器人分布式控制系統(tǒng)進行自動驗證的步驟包括:驗證以下條件是否均成立:
當(dāng)所述xMAS網(wǎng)絡(luò)中每個接收端都有存儲空間時,所述xMAS網(wǎng)絡(luò)輸出數(shù)據(jù);
所述CAN總線從每個發(fā)送端仲裁出優(yōu)先級最高的數(shù)據(jù)包輸入所述CAN總線上;
當(dāng)所述CAN總線上有數(shù)據(jù)發(fā)送時,所述數(shù)據(jù)將發(fā)送到接收端;
發(fā)送端發(fā)出的數(shù)據(jù)包有接收端接收;
當(dāng)接收端收到的數(shù)據(jù)包是發(fā)送給自己時,接收該數(shù)據(jù)包;當(dāng)接收端收到的數(shù)據(jù)包不是發(fā)送給自己時,遺棄該數(shù)據(jù)包;
當(dāng)接收端收到的數(shù)據(jù)是正確的命令時,執(zhí)行并且反饋正常信息;當(dāng)接收端收到的數(shù)據(jù)是錯誤的命令時,直接反饋錯誤信息。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述通過所述xMAS網(wǎng)絡(luò),對所述機器人分布式控制系統(tǒng)進行自動驗證之前,所述方法還包括:
對所述xMAS網(wǎng)絡(luò)進行正確性驗證。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述xMAS網(wǎng)絡(luò)包括:xMAS元件、xMAS信道、xMAS時序網(wǎng)絡(luò);所述對所述xMAS網(wǎng)絡(luò)進行正確性驗證的步驟包括:驗證以下條件是否均成立:
所述xMAS元件、所述xMAS信道、所述xMAS時序網(wǎng)絡(luò)中的每一項都不重復(fù);
所有的xMAS元件的輸入輸出端口數(shù)量的總和為所述xMAS信道中所有信道數(shù)量總和的兩倍;
針對每條xMAS信道,該xMAS信道為與該信道相連的終端xMAS元件的輸入信道,且為與該信道相連的起始端xMAS元件的輸出信道;
針對每個xMAS元件,該xMAS元件為該元件輸入信道的終端元件,且為該元件輸出信道的起始端元件。
6.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述對所述xMAS網(wǎng)絡(luò)進行正確性驗證的步驟包括:
通過預(yù)設(shè)的驗證函數(shù),對所述xMAS網(wǎng)絡(luò)進行正確性驗證。
7.根據(jù)權(quán)利要求1-6任一項所述的方法,其特征在于,所述方法還包括:
創(chuàng)建xMAS模型庫,其中,所述xMAS模型庫包括所述xMAS元模型和所述xMAS網(wǎng)絡(luò)。
8.根據(jù)權(quán)利要求1-6任一項所述的方法,其特征在于,當(dāng)所述各xMAS元件包括Arbiter、Fork、Join、Switch、Merge、Queue、Sink、Source、和Function時,所述在ACL2中對所述xMAS元模型中的組合邏輯元件和時序邏輯元件進行預(yù)設(shè)屬性的驗證的步驟包括:驗證以下條件是否均成立:
針對Fork元件,當(dāng)輸入信道連通時,兩個輸出信道同時連通;
針對Join元件,當(dāng)兩個輸入信道連通時,輸出信道同時連通;
針對Switch元件,當(dāng)輸入信道連通時,其中一個輸出信道同時連通;
針對Merge元件,當(dāng)其中一個輸入信道連通時,輸出信道同時連通;
針對Function元件,當(dāng)輸入信道連通時,輸出信道同時連通;
針對Queue元件,當(dāng)隊列為空時,下一個狀態(tài)輸入信道的讀信號為真,且輸出信道的寫信號為假;當(dāng)隊列滿時,下一個狀態(tài)輸入信道的讀信號為假,且輸出信道的寫信號為真;當(dāng)隊列不空不滿時,下一個狀態(tài)輸入信道的讀信號為真,且輸出信道的寫信號為真;
針對Sink元件,當(dāng)輸入信號oracle為真時,下一個狀態(tài)輸入信道的讀信號為真;
針對Source元件,當(dāng)輸入信號oracle為真時,下一個狀態(tài)輸出信道的寫信號為真。
9.一種用于機器人分布式控制系統(tǒng)的形式建模裝置,其特征在于,所述裝置包括:
形式化模塊,用于針對所述機器人分布式控制系統(tǒng),根據(jù)各微體系結(jié)構(gòu)模型xMAS元件的同步等式,對各xMAS元件在邏輯編程語言ACL2中形式化,得到所述機器人分布式控制系統(tǒng)對應(yīng)的xMAS元模型;其中,所述各xMAS元件包括Arbiter及以下至少一項:Fork、Join、Switch、Merge、Queue、Sink、Source、和Function;
第一驗證模塊,用于在ACL2中對所述xMAS元模型中的組合邏輯元件和時序邏輯元件進行預(yù)設(shè)屬性的驗證;
建立模塊,用于根據(jù)所述xMAS元模型,建立所述機器人分布式控制系統(tǒng)對應(yīng)的xMAS網(wǎng)絡(luò)。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述裝置還包括:
第二驗證模塊,用于通過所述xMAS網(wǎng)絡(luò),對所述機器人分布式控制系統(tǒng)進行自動驗證。
11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述機器人分布式控制系統(tǒng)為基于控制器局域網(wǎng)CAN總線的機器人分布式控制系統(tǒng),所述第二驗證模塊,具體用于驗證以下條件是否均成立:
當(dāng)所述xMAS網(wǎng)絡(luò)中每個接收端都有存儲空間時,所述xMAS網(wǎng)絡(luò)輸出數(shù)據(jù);
所述CAN總線從每個發(fā)送端仲裁出優(yōu)先級最高的數(shù)據(jù)包輸入所述CAN總線上;
當(dāng)所述CAN總線上有數(shù)據(jù)發(fā)送時,所述數(shù)據(jù)將發(fā)送到接收端;
發(fā)送端發(fā)出的數(shù)據(jù)包有接收端接收;
當(dāng)接收端收到的數(shù)據(jù)包是發(fā)送給自己時,接收該數(shù)據(jù)包;當(dāng)接收端收到的數(shù)據(jù)包不是發(fā)送給自己時,遺棄該數(shù)據(jù)包;
當(dāng)接收端收到的數(shù)據(jù)是正確的命令時,執(zhí)行并且反饋正常信息;當(dāng)接收端收到的數(shù)據(jù)是錯誤的命令時,直接反饋錯誤信息。
12.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述裝置還包括:
第三驗證模塊,用于對所述xMAS網(wǎng)絡(luò)進行正確性驗證。
13.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述xMAS網(wǎng)絡(luò)包括:xMAS元件、xMAS信道、xMAS時序網(wǎng)絡(luò);所述第三驗證模塊,具體用于驗證以下條件是否均成立:
所述xMAS元件、所述xMAS信道、所述xMAS時序網(wǎng)絡(luò)中的每一項都不重復(fù);
所有的xMAS元件的輸入輸出端口數(shù)量的總和為所述xMAS信道中所有信道數(shù)量總和的兩倍;
針對每條xMAS信道,該xMAS信道為與該信道相連的終端xMAS元件的輸入信道,且為與該信道相連的起始端xMAS元件的輸出信道;
針對每個xMAS元件,該xMAS元件為該元件輸入信道的終端元件,且為該元件輸出信道的起始端元件。
14.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述第三驗證模塊,具體用于通過預(yù)設(shè)的驗證函數(shù),對所述xMAS網(wǎng)絡(luò)進行正確性驗證。
15.根據(jù)權(quán)利要求9-14任一項所述的裝置,其特征在于,所述裝置還包括:
創(chuàng)建模塊,用于創(chuàng)建xMAS模型庫,其中,所述xMAS模型庫包括所述xMAS模型和所述xMAS網(wǎng)絡(luò)。
16.根據(jù)權(quán)利要求8-14任一項所述的裝置,其特征在于,當(dāng)所述各xMAS元件包括Arbiter、Fork、Join、Switch、Merge、Queue、Sink、Source、和Function時,所述第一驗證模塊,具體用于驗證以下條件是否均成立:
針對Fork元件,當(dāng)輸入信道連通時,兩個輸出信道同時連通;
針對Join元件,當(dāng)兩個輸入信道連通時,輸出信道同時連通;
針對Switch元件,當(dāng)輸入信道連通時,其中一個輸出信道同時連通;
針對Merge元件,當(dāng)其中一個輸入信道連通時,輸出信道同時連通;
針對Function元件,當(dāng)輸入信道連通時,輸出信道同時連通;
針對Queue元件,當(dāng)隊列為空時,下一個狀態(tài)輸入信道的讀信號為真,且輸出信道的寫信號為假;當(dāng)隊列滿時,下一個狀態(tài)輸入信道的讀信號為假,且輸出信道的寫信號為真;當(dāng)隊列不空不滿時,下一個狀態(tài)輸入信道的讀信號為真,且輸出信道的寫信號為真;
針對Sink元件,當(dāng)輸入信號oracle為真時,下一個狀態(tài)輸入信道的讀信號為真;
針對Source元件,當(dāng)輸入信號oracle為真時,下一個狀態(tài)輸出信道的寫信號為真。