AnyLogic是一個專業虛擬原型環境,用於設計包括離散,連續和混合行為的複雜系統。AnyLogic協助你快速地構建被設計系統的模擬模型(虛擬原型)和系統的外圍環境,包括物理裝置和操作人員。
使用AnyLogic, 使用者並不需要另外再學習什麼語言或圖形語言。AnyLogic所有的建模技術都是以UML-RT,Java和微分方程(若使用者想要為連續行為建模)為基礎的,這些也是目前大多數先進使用者所熟悉的技術。如果你比較喜歡快速的“拖-拉式”建模,AnyLogic也提供一系列針對不同領域的專業庫。
AnyLogic的動態模擬具有獨創的結構,使用者可以通過模型的階層,以模組化的方式快速地構建複雜互動式動態模擬。AnyLogic的動態模擬是100% Java的,因此可以通過Internet訪問並在Web頁上顯示。
AnyLogic獨特的核心技術和領先的使用者介面使其成為設計大型複雜系統的理想工具,因為構建物理原型進行實驗代價高昂,耗時太長,有時還不一定成功。
1、什麼是AnyLogic?
AnyLogic是一款應用廣泛的,對離散,連續和混合系統建模和模擬的工具。它的應用領域包括:控制系統,交通,動態系統,製造業,供給線,後勤部門,電信,網路,電腦系統,機械,化工,汙水處理,軍事,教育等等。
AnyLogic是一款獨創的模擬軟體,它以最新的複雜系統設計方法論為基礎,是第一個將 UML語言引入模型模擬領域的工具,也是唯一支援混合狀態機器這種能有效描述離散和連續行為的語言的商業化軟體。AnyLogic提供客戶獨特的模擬方法,即在任何Java支援的平台,或是Web頁上運行模型模擬。AnyLogic是唯一可以建立真實動態模型的視覺化檢視,即帶有動態發展結構及組件間互相聯絡的動態模型。
2、AnyLogic的建模語言
AnyLogic強大而靈活,並提供多種建模方法:
基於UML語言的物件導向的建模方法
基於方圖的流程圖建模方法
Statecharts(狀態機器),分為普通的和混合的
微分和代數方程
用Java建模
AnyLogic的建模語言是UML-RT的擴充。UML-RT在許多複雜大系統的建模設計中被證明是一組最佳設計方法的集合。構建AnyLogic模型的主要方圖是使用中的物件。
使用中的物件有其內部結構和行為,可以任意向下封裝其他對象。設計AnyLogic模型,實際上就是設計使用中的物件的類並定義它們之間的關係。運行時模型可看作使用中的物件瞬間展開的層次。
(使用中的物件圖)
使用中的物件通過邊界對象與周圍互動作用,如:連接埠(用於離散交流)或變數(用於連續交流)。
3、離散建模
AnyLogic的離散建模結構包括對象間通訊層的資訊傳遞機制,狀態圖和位於對象內部行為層上的各種基本資料單元(如時鐘和事件)。
(AnyLogic的連接埠和資訊傳遞)
資訊通過連接埠發送和接收。連接埠是雙向的,並且接收的資訊有可能在連接埠排成隊列。資訊一經發送,就在連接埠所有的外部串連通道上廣播。接收的資訊可能被儲存在隊列中,也可能沿著內部串連通道前進。連接埠的預設行為可以任意修改。
對象內部的行為如果簡單,可以用時鐘來定義,但如果事件和時間順序較為複雜的話就用狀態圖來定義。
(AnyLogic的狀態圖)
AnyLogic支援UML中的狀態圖,包括綜合狀態,分枝,曆史狀態等等。資訊,各種事件,條件和延時都可以觸發狀態圖中的轉移。
(AnyLogic中的靜態時鐘和動態時鐘)
AnyLogic中有靜態時鐘和動態時鐘之分,後者是用來確定由多個對象和資訊組成的多個事件的時間進度。
AnyLogic的模擬器執行離散事件的模擬,並保留模擬的順序和原子數。同時發生的事件模擬時的順序是隨機的。
4、連續建模
在AnyLogic中,離散邏輯關係用狀態圖,事件,時鐘和資訊來描述,而連續過程則用微分方程表示不斷變化的變數。這些變數可以放在使用中的物件的外面與其他對象串連。
(AnyLogic中的變數和方程)
AnyLogic支援一般的微分方程,代數方程以及兩者的結合。方程中的變數類型可以是標量或向量。模擬器的多種數學計算方法可以處理簡單或複雜的系統,此外使用者還可以使用外部的數學庫檔案。
(AnyLogic的數學計算方法)
模擬器自動檢查方程的正確性,調整計算方法,監測並打斷數學迴圈。
5、混合建模
事實上,我們周圍的世界是混合的,時間連續的過程中又包含離散的事件。在許多真實的系統中,這兩種類型的行為相互依賴,這就需要在模擬建模時使用特殊的方法。傳統的工具往往只支援完全離散或完全連續的建模,也有的工具將兩者結合,但笨拙不易使用。
AnyLogic是唯一一款創新開發混合建模的商用模擬工具。它的離散建模和連續建模能力都非常強,尤其是當兩種行為緊密結合的時候。
(AnyLogic的混合狀態圖)
AnyLogic混合建模最顯著的特點體現在混合狀態圖上。在混合狀態圖中,使用者可以將方程與圖中的狀態圖結合起來,狀態的轉移可以引發連續行為的改變。使用者也可以在連續變化的變數上定義條件,觸發狀態的轉移,這樣,連續的過程就能驅動離散的邏輯關係了。
AnyLogic將UML加以簡單擴充,自然地將兩種類型的行為結合在一起,因此,所建的混合系統模型簡潔而高效。
6、先進的建模技術
AnyLogic模型的可視化圖形是由Java編寫的,使用者可方便地定義對象,連接埠,資訊,時鐘等的功能;並且在模型的任一層次,都可直接在模型編輯器中添加Java代碼。有了Java,再加上物件導向的模型圖,使用者便可以得心應手地構建任何複雜棘手的模型了。
(AnyLogic可以方便地構建普通拓撲結構的系統)
規則結構的系統
假設需要對一些有規則結構的系統建模,如網,托,鏈,環等,使用者只需複製一些對象,定義對象的個數作為參量,然後用Java語句將對象串連起來即可。
動態變化結構的系統
如果被設計系統中的對象或對象的串連被限定了生命週期,(即隨著系統的發展被建立和刪除),那麼使用者就需要在適當的時候調用“建立/處理或串連/斷開”等功能。
(AnyLogic的資訊傳遞)
定製資訊傳遞
使用者可通過定義資訊傳遞的方式使AnyLogic的資訊智能化,如在資訊中封裝另一條資訊,或是忽略連接埠的預設行為,改變資訊傳遞的文法。例如,如果使用者需要建一個資訊傳遞的模型,並且在廣播時註明地址,他只需要在資訊類中定義目的域,並在連接埠寫上簡單的代碼。
增加Java模組
如果使用者覺得直接用Java寫演算法比畫狀態圖更方便的話,那也可以。手寫的Java模組與模型中其他部分並行運行。
總之,使用者可以添加任何Java編寫的類,在模型中豐富現有的Java控制與庫。使用者也可以設計模型與物理裝置的網路通訊,也可以通過JNI訪問其他語言編寫的代碼。
7、動畫模擬
AnyLogic獨創的技術使得使用者能夠快速地在模型編輯器中建立互動的二維動畫模擬,但這種動畫模擬與模型是相互獨立的。
(動畫模擬的內容與模型的對象)
使用者可以將單獨的使用中的物件圖與使用中的物件的類串連起來,將封裝的對象圖放入容器物件圖中。建立模型的時候再把這些對象圖組裝起來。這樣,圖形的利用效率就很高。
動畫模擬包括一些基本圖形,各種形狀的指標和圖表,另外,添加的互動部分,如按鍵,捲軸,編輯地區等,使使用者可以在模型模擬時進行操作。設計較為複雜的動畫模擬時,可運用AnyLogic提供的多個API自訂動畫。
AnyLogic的動畫模擬和它的模型一樣,100% Java,使用者在模型中執行Applet程式,即可在瀏覽器上顯示動畫模擬。
8、跨平台模擬和網上模擬
AnyLogic模型是100% Java的,因此它們可以在任何支援Java的平台上運行。需要的話,模型可以通過TCP與遠端Windows顯示器相串連。
(AnyLogic模型是如何啟動並執行)
此外,使用者還可以將模型放入Applet程式中。Applet顯示互動的動畫模擬和一個用於開啟,關閉和重啟模型模擬的控制台。Applet使用的模擬器大小不超過300K, 載入使用者電腦後可被所有模型共用。
9、架構結構
AnyLogic的架構結構包括隨機的模型輸入條件,對經過統計的輸出結果進行收集,分析和表示,參數變化機制,與資料庫的介面,電子資料工作表,資料存放區,工具箱的最佳化和豐富的API。
隨機建模
AnyLogic的模型可以是隨機或確 定的。AnyLogic預設標準的Java隨機產生的號碼,使用者也可自行插入號碼。在AnyLogic軟體包中,有超過35種的功能分類。
資料庫
AnyLogic的資料庫協助使用者收集,顯示和分析模型執行過程中的資料。資料庫包括可帶有時間標識的標量和向量。每個資料集都有一組包括平均值,方差,最小值,最大值,confidence intervals等的統計資料。AnyLogic的模型瀏覽器支援不同的資料集表示方法,如,曲線圖,柱狀圖和甘特圖等。
與外部資料儲存串連
AnyLogic模型可與資料庫,電子資料工作表和其他檔案協同工作。例如,使用者可以從資料庫中摘模數型中定義的參數,並輸入到電子資料工作表中。
最佳化
AnyLogic的最佳化工具箱包括簡單的最小值尋找,牛頓和隨機尋找等。AnyLogic同時提供與外部最佳化軟體的介面。使用AnyLogic的API,使用者可以自行寫入模擬的控制語句,改變參數的值,或執行一個定製的最佳化演算法。
10、其他特性庫
AnyLogic的庫包括:對象類,動畫模擬,資訊類,以及為某些特殊應用領域或模型開發的 Java模組。有了庫,不同模型的對象可以得到很好的重複利用。AnyLogic內建了許多庫檔案,使用者以此為基礎,可以方便的建立自己的模型。使用者在 AnyLogic中正確開發針對某一領域的庫檔案,以後建模就非常方便。
模型編輯器
AnyLogic的模型編輯器是最先進的Windows使用者介面。它包括為使用者定製的視窗,工具條,色彩選擇,圖形,拖拽式操作,視圖縮放,句法加亮顯示等。工作區間提供整個項目的分類樹。編輯器還快速檢查類型,參數和圖表句法的正確性,一旦發現錯誤就加亮顯示。編輯器還產生HTML或XML格式的報告,其中包括圖表,要素和代碼等。
模型瀏覽器/調試器
AnyLogic還包括一個可視化模型瀏覽器/調試器,特徵為:
模型的遠端或近端TCP串連
運行模型時的多種選項
使用模型探測器做導航,可以訪問任何對象
結構和狀態圖的快速動畫顯示
圖形化的斷點,日誌和視窗
統計資料的表示(柱狀圖,甘特圖,曲線圖)
事件瀏覽器
運行時改變變數和參數的值
支援HLA的分布式模擬
AnyLogic支援HLA這種描述模擬分布和協同工作的標準結構。AnyLogic的Java HLA模組通過特定的介面與模擬器通訊,從而與AnyLogic的模擬或任意一個模型呈分布式結構協同工作。
11、系統要求
AnyLogic 4.1編輯器和瀏覽器
Microsoft Windows NT4, 2000, 98, or Millennium
Java 2 Platform SE v 1.3.1,
RAM 64MB (128MB recommended)
HDD space 20MB
Video mode 800x600 or better
Mouse
Technorati 標籤: anylogic,模擬,軟體