




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1. 創(chuàng)建AnyLogic模型1.1 AnyLogicTM建模語言AnyLogicTM建模語言已經(jīng)成功應(yīng)用于對(duì)大規(guī)模和復(fù)雜系統(tǒng)的建模。AnyLogicTM模型的主要構(gòu)建模塊是活動(dòng)對(duì)象(active object)。活動(dòng)對(duì)象可以用于建模現(xiàn)實(shí)世界中類型廣泛的各種對(duì)象,例如加工工作臺(tái),資源,人員,硬件,具體的物體,控制器,等等。一個(gè)活動(dòng)對(duì)象即是活動(dòng)對(duì)象類的一個(gè)實(shí)例。在你開發(fā)一個(gè)AnyLogicTM模型時(shí),你實(shí)際上是在開發(fā)活動(dòng)對(duì)象的類,以及定義這些類之間的關(guān)系。你也可以很方便地使用AnyLogicTM庫(kù)中的活動(dòng)對(duì)象類。活動(dòng)對(duì)象類被映射到JavaTM類上。因此,活動(dòng)對(duì)象類允許繼承,虛函數(shù),多態(tài)等等特性。
2、面向?qū)ο蟮姆椒ńo建模帶來了顯著的益處。使用類進(jìn)行建模提供了結(jié)構(gòu)分解和活動(dòng)對(duì)象重用的特性。在定義了一個(gè)具有所需結(jié)構(gòu)的活動(dòng)對(duì)象類之后,你就可以在你的模型中創(chuàng)建此類的多個(gè)活動(dòng)對(duì)象。類等級(jí)結(jié)構(gòu)允許對(duì)上述這些概念進(jìn)行更進(jìn)一步的擴(kuò)展。活動(dòng)對(duì)象繼承由于活動(dòng)對(duì)象類都是JavaTM類,因此一個(gè)活動(dòng)對(duì)象類可以繼承自另一個(gè)活動(dòng)對(duì)象類。子類繼承了父類的接口,并且可以加入自己獨(dú)有的結(jié)構(gòu)元素和方法。繼承允許對(duì)代碼的重用,并使得對(duì)模型的修改變得簡(jiǎn)單易行。在你定義了基礎(chǔ)類之后,例如此基類代表一輛汽車,則它的通用屬性可以被子類所繼承,例如子類可以分別代表運(yùn)動(dòng)型車輛和卡車。實(shí)際上現(xiàn)實(shí)世界中的所有對(duì)象都具有復(fù)雜的結(jié)構(gòu)。為便于管理和
3、掌握大規(guī)模系統(tǒng)的復(fù)雜結(jié)構(gòu),分解就成了一條重要原則。通過將一個(gè)整體的系統(tǒng)分解為各個(gè)部分,并且對(duì)這些部分進(jìn)一步分解,這樣我們就克服了人類認(rèn)知能力的局限。等級(jí)化分解由于一個(gè)活動(dòng)對(duì)象可能在任意所需的深度上封裝其他活動(dòng)對(duì)象,因此AnyLogicTM模型可以等級(jí)化地分層分解。由于每個(gè)活動(dòng)對(duì)象通常代表模型中的一個(gè)邏輯部分,因此你就可以根據(jù)需要,將一個(gè)模型分解為具有不同細(xì)節(jié)的多個(gè)層次。每個(gè)AnyLogicTM模型中都有一個(gè)根活動(dòng)對(duì)象,其中包含了被封裝起來的其他對(duì)象,而這些對(duì)象又包含其各自的被封裝對(duì)象,以此類推。這樣,我們就創(chuàng)建了活動(dòng)對(duì)象的等級(jí)樹。封裝也使你能夠隱藏被建模對(duì)象中的所有復(fù)雜細(xì)節(jié)。結(jié)構(gòu)分解由于Any
4、LogicTM模型都具有定義良好的交互接口,因此這些模型可以被結(jié)構(gòu)化地分解。活動(dòng)對(duì)象只通過邊界對(duì)象與它們周圍的環(huán)境進(jìn)行交互。通過定義連接器以建模實(shí)際的耦合關(guān)聯(lián),我們就可以很方便地描述不同對(duì)象之間的關(guān)聯(lián)。這樣就將對(duì)象的內(nèi)部實(shí)現(xiàn)與關(guān)于環(huán)境的直接知識(shí)分離開,使得活動(dòng)對(duì)象可以重用。活動(dòng)對(duì)象重用除了使用繼承之外,對(duì)包含模型類的庫(kù)的使用也支持了對(duì)建模知識(shí)的重用。AnyLogicTM允許你創(chuàng)建可重用的活動(dòng)對(duì)象類庫(kù),這些庫(kù)可以在一些特定的應(yīng)用領(lǐng)域或建模工作中進(jìn)行創(chuàng)建。庫(kù)允許在不同模型中對(duì)類的更好的重用。你只需要對(duì)一個(gè)類開發(fā)一次,并進(jìn)行存儲(chǔ),即可在多個(gè)工程中使用這個(gè)類。1.2 開始使用AnyLogicTM在此后
5、你都將使用AnyLogicTM開發(fā)環(huán)境開發(fā)和運(yùn)行模型。首先,你需要打開AnyLogicTM,并創(chuàng)建一個(gè)新工程,或打開一個(gè)已有的工程。接著,你需要使用由AnyLogicTM提供的構(gòu)建工具構(gòu)建此模型。然后你就可以運(yùn)行仿真。這一章節(jié)為你提供了如何開始使用AnyLogicTM的參考信息。 打開AnyLogicTM1. 從Windows開始菜單中打開AnyLogic快捷方式(默認(rèn)位于如下菜單路徑中:開始|所有程序|AnyLogic 5.2|AnyLogic)。2. 此時(shí)即出現(xiàn)注冊(cè)向?qū)А槭褂肁nyLogicTM構(gòu)建模型,你需要擁有試用(有限時(shí)間)或永久的全功能產(chǎn)品密鑰。 使用試用版AnyLogicTM1
6、. 獲得一個(gè)試用版密鑰。如果你下載了AnyLogicTM用于評(píng)估測(cè)試,則這一密鑰將通過電子郵件發(fā)送給你。其他情況,請(qǐng)打開如下網(wǎng)頁:ogic/evaluate/并填寫其中的表格。然后產(chǎn)品密鑰將通過電子郵件發(fā)送給你。2. 打開了注冊(cè)向?qū)е螅x擇向?qū)е械腅nter permanent or evaluation key(輸入永久或試用密鑰)選項(xiàng),然后輸入你通過電子郵件接收到的試用版產(chǎn)品密鑰。3. 為繼續(xù)運(yùn)行AnyLogicTM,你可以選擇Continue evaluation(繼續(xù)評(píng)估)選項(xiàng)。 獲得全功能的AnyLogicTM產(chǎn)品密鑰1. 在打開注冊(cè)向?qū)е螅x擇Send request for
7、permanent key(發(fā)送永久密鑰請(qǐng)求)選項(xiàng),然后按照向?qū)崾静僮鳌D銓⒈惶崾疽ㄟ^電子郵件發(fā)送請(qǐng)求信息到請(qǐng)求處理中心。2. 在你通過電子郵件接收到你的個(gè)人解鎖密鑰之后,再次打開注冊(cè)向?qū)Вㄈ缬斜匾?qǐng)點(diǎn)擊AnyLogicTM的Help(幫助)菜單,選擇Register product(產(chǎn)品注冊(cè)),接著選擇Enter permanent or evaluation key(輸入永久或試用密鑰)選項(xiàng),然后輸入你的個(gè)人解鎖密鑰。3. 在完成了產(chǎn)品注冊(cè)向?qū)е螅珹nyLogicTM即開始運(yùn)行(圖1)。 運(yùn)行AnyLogicTM,并打開指定工程在Windows資源管理器中點(diǎn)擊一個(gè)AnyLogicT
8、M工程文件(擴(kuò)展名為.alp,圖標(biāo)為)。如果你已經(jīng)完成了產(chǎn)品注冊(cè)向?qū)В瑒t此時(shí)AnyLogicTM應(yīng)開始運(yùn)行。如果沒有,請(qǐng)先完成產(chǎn)品注冊(cè)向?qū)В缓笤俅吸c(diǎn)擊此文件圖標(biāo)。 圖 1 AnyLogicTM用戶界面請(qǐng)注意點(diǎn)擊另一個(gè)模型文件并不會(huì)打開一個(gè)新的AnyLogicTM窗口。另一個(gè)模型文件將在同一個(gè)AnyLogicTM窗口中打開(如有必要,你將被提示要保存現(xiàn)在正在打開的文件)。 1.2.1 使用工程在啟動(dòng)之后,AnyLogicTM即顯示Start Page(開始頁),如圖2所示。開始頁將提示你創(chuàng)建一個(gè)新工程,打開現(xiàn)有工程,或打開一個(gè)最新的AnyLogicTM實(shí)例。圖2. AnyLogicTM開始頁一
9、個(gè)工程即是你在開發(fā)模型時(shí)的一個(gè)工作區(qū)。你可以使用開始頁或AnyLogicTM的File(文件)菜單對(duì)AnyLogicTM工程進(jìn)行管理。 創(chuàng)建一個(gè)新工程1. 在開始頁的Projects(工程)頁面中,點(diǎn)擊New project(新建工程)按鈕,或者點(diǎn)擊New(新建)工具條按鈕,或者從主菜單中選擇File|New(文件|新建),或者按鍵盤上的Ctrl+N。此時(shí)即出現(xiàn)New project(新建工程)對(duì)話框。2. 指定新工程的名稱和保存位置。3. 指定你是否希望為此工程創(chuàng)建一個(gè)文件夾。4. 點(diǎn)擊OK。 打開一個(gè)現(xiàn)有的工程1. 在開始頁的Projects(工程)頁面,點(diǎn)擊Browse(瀏覽)按鈕,或者
10、點(diǎn)擊Open(打開)工具條按鈕,或者從主菜單中選擇File|Open(文件|打開),或者按鍵盤上的Ctrl+O。此時(shí)Open(打開)對(duì)話框即顯示。2. 瀏覽找到你希望打開的工程文件,雙擊此文件,或者點(diǎn)擊此文件,然后點(diǎn)擊Open(打開)按鈕。AnyLogicTM提供了對(duì)最近打開過的工程的快捷訪問。 打開一個(gè)最近打開過的工程1. 在AnyLogicTM的File(文件)菜單底部的工程列表中選擇你希望打開的工程,或者點(diǎn)擊開始頁中的Projects(工程)選項(xiàng)卡,從最近打開的工程列表中選擇你希望打開的工程,然后點(diǎn)擊Open(打開)按鈕。如果你正在使用某個(gè)特定的工程,你可以告訴AnyLogicTM不要在
11、程序啟動(dòng)時(shí)顯示開始頁,而是直接打開你最近使用過的工程。 在AnyLogicTM啟動(dòng)時(shí)打開最近使用的工程/開始頁1. 在主菜單中選擇Tools|Options(工具|選項(xiàng).,)。此時(shí)即出現(xiàn)Options(選項(xiàng))對(duì)話框。2. 在Miscellaneous(雜項(xiàng))頁面,選擇/取消Reload last project on startup(在啟動(dòng)時(shí)重新加載前一次使用的工程)選框。3. 點(diǎn)擊OK。AnyLogicTM標(biāo)準(zhǔn)發(fā)行版本中包含了一些最新的范例,這些范例按照主題類別組織(計(jì)算機(jī)和電信網(wǎng)絡(luò),醫(yī)療健康,制造和后勤,交通和運(yùn)輸?shù)龋D憧梢圆榭催@些例子以了解如何開發(fā)你自己的模型。 打開一個(gè)AnyLogi
12、cTM范例1. 在開始頁中點(diǎn)擊Examples(范例)選項(xiàng)卡。AnyLogicTM范例列表即顯示于開始頁的右側(cè)面板中。2. 如有必要,選擇By category(按主題)選項(xiàng),則將這些例子按照AnyLogicTM主題類別進(jìn)行排序。范例主題類別的列表顯示于右側(cè)面板中,為顯示某一類別中的所有范例,請(qǐng)點(diǎn)擊此類別項(xiàng)目左側(cè)的加號(hào)圖標(biāo)。如有必要,選擇Sorted alphabetically(按字母順序排序)選項(xiàng)以將范例按照字母順序排序。3. 點(diǎn)擊一個(gè)范例項(xiàng)目。此時(shí)即顯示此范例的描述信息。4. 點(diǎn)擊Open(打開)按鈕。在開始頁中,你可以查看AnyLogicTM的在線資源和文檔。 查看在線資源1. 在開始
13、頁中,點(diǎn)擊Online Resources(在線資源)選項(xiàng)卡。AnyLogicTM在線資源和文檔列表即顯示于開始頁右側(cè)面板中。2. 點(diǎn)擊你希望查看的在線資源。3. 點(diǎn)擊Open(打開)按鈕。 保存當(dāng)前工程1. 點(diǎn)擊Save(保存)工具條按鈕,或者在主菜單中選擇File|Save(文件|保存),或者按鍵盤上的Ctrl+S。 保存當(dāng)前工程到新的文件名中1. 從主菜單中選擇File|Save As(文件|另存為)。Save As(另存為)對(duì)話框即顯示。2. 指定保存此工程的新文件名稱和位置。3. 點(diǎn)擊Save(保存)按鈕。 保存所有工程1. 點(diǎn)擊Save All(全部保存)工具條按鈕,或者在主菜單中
14、選擇File|Save All(文件|全部保存)。 關(guān)閉當(dāng)前工程1. 在主菜單中選擇File|Close(文件|關(guān)閉)。AnyLogicTM一次可以打開一個(gè)工程。然而,你可以運(yùn)行多個(gè)AnyLogicTM窗口,并在不同的窗口中打開不同的模型。 同時(shí)運(yùn)行兩個(gè)或多個(gè)AnyLogicTM窗口1. 在一個(gè)AnyLogicTM實(shí)例窗口正在運(yùn)行時(shí),從Windows開始菜單中打開AnyLogic快捷方式。2. 在新打開的AnyLogicTM窗口中,打開你所需的工程。這樣你就可以同時(shí)對(duì)多個(gè)工程進(jìn)行操作,并可以將一個(gè)工程中的類復(fù)制到另一個(gè)工程中。1.3 編輯工程AnyLogicTM開發(fā)環(huán)境構(gòu)建于最新的Window
15、s用戶界面技術(shù)之上,其特性包括:l 可自定義的窗口,工具條,顏色,圖像l 鼠標(biāo)拖放編輯l 圖表縮放l 通過類樹在工程中方便地進(jìn)行瀏覽l 動(dòng)態(tài)檢查類型,參數(shù),以及圖表語法l 圖形化高亮顯示錯(cuò)誤你可以在多個(gè)AnyLogicTM編輯器窗口中對(duì)工程進(jìn)行編輯。在創(chuàng)建了一個(gè)新工程之后,Project(工程)窗口和Properties(屬性)窗口即顯示(請(qǐng)參考圖3)。Project(工程)窗口用于創(chuàng)建,查看,和操作模型元素。Properties(屬性)窗口用于查看和修改模型元素的屬性。這一章節(jié)將給出這些窗口的細(xì)節(jié)描述。結(jié)構(gòu)編輯器(Structure editor)工程(Project)窗口狀態(tài)圖(State
16、chart)編輯器動(dòng)畫編輯器(Animation editor)屬性(Properties)窗口代碼(Code)窗口輸出(Output)窗口圖3 用于編輯工程的窗口1.3.1 Project(工程)窗口你可以在Project(工程)窗口(工作區(qū)(Workspace)窗口中的一個(gè)頁面,如圖4所示)中訪問多種工程元素,如包,類等等。由于工程的結(jié)構(gòu)是等級(jí)化的,因此一個(gè)工程將顯示為一個(gè)樹狀結(jié)構(gòu):工程自身構(gòu)成樹的頂層,接著下一層為包,然后下一層是活動(dòng)對(duì)象和消息類,以此類推。工作區(qū)的樹狀視圖使得對(duì)此工程的瀏覽十分便捷。圖4. Project(工程)窗口 顯示Project(工程)窗口1. 點(diǎn)擊Projec
17、t(工程)工具條按鈕,或者在主菜單中選擇View|Project(查看|工程),或者按鍵盤上的Alt+0。對(duì)于Project(工程)窗口中的項(xiàng)目,你可以對(duì)它們實(shí)行一些通用的操作。你可以復(fù)制,移動(dòng),和刪除項(xiàng)目。這樣,你就可以方便地管理你的工程。在復(fù)制或刪除時(shí),你應(yīng)首先選定一個(gè)項(xiàng)目。 選定一個(gè)項(xiàng)目1. 點(diǎn)擊這個(gè)項(xiàng)目。Properties(屬性)窗口中即應(yīng)顯示出被選定項(xiàng)目的屬性。 刪除這個(gè)項(xiàng)目1. 點(diǎn)擊Delete(刪除)工具條按鈕,或者在主菜單中選擇Edit|Delete(編輯|刪除),或者右鍵點(diǎn)擊此項(xiàng)目,然后在彈出菜單中選擇Delete(刪除),或者按鍵盤上的Del鍵。 復(fù)制這個(gè)項(xiàng)目1. 點(diǎn)擊C
18、opy(復(fù)制)工具條按鈕,或者在主菜單中選擇Edit|Copy(編輯|復(fù)制),或者右鍵點(diǎn)擊此項(xiàng)目,然后在彈出菜單中選擇Copy(復(fù)制),或者按鍵盤上的Ctrl+Ins鍵。 剪切這個(gè)項(xiàng)目1. 點(diǎn)擊Cut(剪切)工具條按鈕,或者在主菜單中選擇Edit|Cut(編輯|剪切),或者右鍵點(diǎn)擊此項(xiàng)目,然后在彈出菜單中選擇Cut(剪切),或者按鍵盤上的Shift+Del鍵。 粘貼這個(gè)項(xiàng)目4. 選擇你希望將其粘貼到的父項(xiàng)目。例如,你可以將一個(gè)活動(dòng)對(duì)象類粘貼到一個(gè)包中。5. 點(diǎn)擊Paste(粘貼)工具條按鈕,或者在主菜單中選擇Edit|Paste(編輯|粘貼),或者右鍵點(diǎn)擊父項(xiàng)目,然后在彈出菜單中選擇Paste
19、(粘貼),或者按鍵盤上的Shift+Ins鍵。如有必要,你可以將此工程元素排除在模型之外。這樣,你可以在設(shè)計(jì)時(shí)通過將一個(gè)元素排除在外來調(diào)整你的模型結(jié)構(gòu),并引入其他模型元素。 從模型中排除/向模型中引入一個(gè)項(xiàng)目1. 右鍵點(diǎn)擊此項(xiàng)目,然后從彈出菜單中選擇Exclude from build(從模型中排除)。此項(xiàng)目的圖像即變得模糊/銳利。1.3.2 Properties(屬性)窗口Properties(屬性)窗口用于查看和修改當(dāng)前選定的對(duì)象的屬性。在你選定了某個(gè)對(duì)象之后即,在Project“圖表編輯器,通用操作”)選定一個(gè)對(duì)象Properties(屬性)窗口中(如圖5)將顯示所選定對(duì)象的屬性。圖5.
20、 Properties(屬性)窗口Properties(屬性)窗口由若干個(gè)頁面組成。每個(gè)頁面中都有如編輯框,選框,按鈕等等之類的控件,用于查看和修改屬性。頁面的數(shù)目和每個(gè)頁面的內(nèi)容取決于所選定對(duì)象的類型。你可以直接將一個(gè)項(xiàng)目從模型樹中拖動(dòng)到Properties(屬性)窗口的一個(gè)域內(nèi)。 顯示/隱藏Properties(屬性)窗口1. 點(diǎn)擊Properties(屬性)工具條按鈕,或者在主菜單中選擇View|Properties(查看|屬性),或者按鍵盤上的Alt+Enter鍵。 顯示Properties(屬性)窗口中的特定頁面1. 點(diǎn)擊Properties(屬性)窗口頂部的對(duì)應(yīng)選項(xiàng)卡。每個(gè)模型元素
21、都可以有一條描述性文字與之相聯(lián)系,以使模型更易于理解。 設(shè)置元素描述1. 選擇模型元素2. 在Properties(屬性)窗口的Description(描述)頁面中輸入文字。AnyLogicTM將為當(dāng)前選定的模型元素顯示工具提示,其中顯示此對(duì)象的屬性的細(xì)節(jié)描述。 獲得關(guān)于一條屬性的信息1. 在Properties(屬性)窗口中,將鼠標(biāo)光標(biāo)移動(dòng)到所需的控件上,然后等待顯示工具提示。如有必要,你可以告訴AnyLogicTM不要顯示屬性的工具提示。 顯示/隱藏屬性的工具提示1. 在主菜單中選擇Tools|Options.(工具|選項(xiàng))。此時(shí)即出現(xiàn)Options(選項(xiàng))對(duì)話框。2. 在Miscella
22、neous(雜項(xiàng))頁面中,選中/取消Enable property tips(允許屬性提示)選框。3. 點(diǎn)擊OK。1.3.3 對(duì)窗口進(jìn)行布局在編輯你的工程時(shí),你實(shí)際上是在若干個(gè)窗口中進(jìn)行工作。所打開的窗口的名稱列表顯示于AnyLogicTM的Windows菜單的底部。你可以使用Window菜單的選項(xiàng)對(duì)打開的窗口進(jìn)行布局。 以層疊方式顯示模型窗口1. 在主菜單中選擇Window|Cascade(窗口|層疊)。 將模型窗口沿著AnyLogicTM窗口寬度方向縱向平鋪1. 在主菜單中選擇Window|Tile Vertically(窗口|縱向平鋪)。 將模型窗口沿著AnyLogicTM窗口長(zhǎng)度方向橫
23、向平鋪1. 在主菜單中選擇Window|Tile Horizontally(窗口|橫向平鋪)。 關(guān)閉所有窗口1. 在主菜單中選擇Window|Close All(窗口|關(guān)閉所有窗口)。 激活一個(gè)窗口1. 從Window(窗口)菜單中選擇此窗口的名稱。2. 如果打開了太多的窗口,則窗口列表中只顯示其中的一部分。在主菜單中選擇Window|More Windows(窗口|更多窗口),在Select Window(選擇窗口)對(duì)話框中選擇你希望激活的窗口,然后點(diǎn)擊OK。 激活列表中的下一個(gè)窗口1. 在主菜單中選擇Window|Next(窗口|下一個(gè)窗口),或者按鍵盤上的Ctrl+F6。 激活列表中的上
24、一個(gè)窗口1. 在主菜單中選擇Window|Previous(窗口|上一個(gè)窗口),或者按鍵盤上的Ctrl+Shift+F6。1.4 模型元素AnyLogicTM模型是等級(jí)化地組織起來的。工程(project)由包(package)組成,以便更好地組織一個(gè)工程的結(jié)構(gòu)。一個(gè)工程可以使用其他工程作為庫(kù)(library)庫(kù)是一組針對(duì)特定應(yīng)用領(lǐng)域而開發(fā)的類的集合。為使你的工作更加容易,AnyLogicTM允許你根據(jù)你需要對(duì)模型進(jìn)行的實(shí)驗(yàn),指定若干個(gè)對(duì)應(yīng)于不同模型執(zhí)行參數(shù)的實(shí)驗(yàn)(experiment)。這一章節(jié)將對(duì)這些AnyLogicTM模型元素進(jìn)行介紹。1.4.1 工程AnyLogicTM中的一個(gè)工作單元
25、即稱為一個(gè)工程。在一個(gè)工程中完整地定義了一個(gè)模型或一個(gè)庫(kù)。一個(gè)工程在Project(工程)窗口中將顯示為一個(gè)根項(xiàng)目。下面所述的工程屬性定義于Properties(屬性)窗口的General(常規(guī))頁面中。常規(guī)屬性Name(名稱)工程的名稱,通常與模型的文件名相同。Loaded from(加載位置)只讀工程文件(.alp)的位置。Target file(目標(biāo)文件)可選存儲(chǔ)所生成的代碼的文件的文件名。如果你希望將一個(gè)工程作為庫(kù)來使用,則你需要指定此屬性,請(qǐng)參考第20章“庫(kù)”。Additional library files(附加的庫(kù)文件)可選你所希望在編譯時(shí)加入到此工程的JavaTM庫(kù)列表,由分號(hào)
26、分隔。Folder for generated files(放置所生成的文件的文件夾)可選AnyLogicTM存放所生成的文件的文件夾的路徑。如果未指定,則AnyLogicTM將所生成的文件放置于Windows臨時(shí)文件夾中。AnyLogic可以為整個(gè)工程生成一個(gè)HTML報(bào)告。編輯器可以生成綜合的交叉引用的HTML報(bào)告,其中包括圖表,元素屬性,和代碼。為打印整個(gè)報(bào)告,你可以從瀏覽器中打印此HTML報(bào)告。 生成整個(gè)工程的HTML報(bào)告1. 在主菜單中選擇File|Generate Report(文件|生成報(bào)告)。此時(shí)即打開瀏覽器,并顯示所生成的.html報(bào)告。1.4.2 包工程由包組成。在工程中可以
27、有一個(gè)或多個(gè)包。包中含有活動(dòng)對(duì)象,消息,其他類,和外部文件。包可以用于更好地對(duì)工程的結(jié)構(gòu)進(jìn)行組織。 向工程中加入一個(gè)新的包1. 在主菜單中選擇Insert|New Package(插入|新的包),或者在Project(工程)窗口中,右鍵點(diǎn)擊此工程,然后從彈出菜單中選擇New Package(新建包)此時(shí)即打開New Package(新建包)對(duì)話框。2. 指定新建的包的名稱,然后點(diǎn)擊OK。屬性Name(名稱)此包的名稱。Exclude from build(構(gòu)建時(shí)排除)如果設(shè)置此屬性,則此包將被排除出此模型。當(dāng)AnyLogicTM生成代碼時(shí),它把每個(gè)AnyLogicTM包映射到同名的JavaTM
28、包上。因此,位于不同的AnyLogicTM包中的類被放置到不同的JavaTM包中。使用AnyLogicTM包的規(guī)則與使用JavaTM“導(dǎo)入包”中介紹。如果你不希望與名字空間打交道,你可以在你的模型中只使用一個(gè)包例如,mypackage。默認(rèn)情況下,在你創(chuàng)建一個(gè)新工程時(shí),AnyLogicTM即創(chuàng)建一個(gè)與此工程同名的包。1.4.3 庫(kù)一個(gè)工程可以將其他工程作為庫(kù)來使用。庫(kù)是為特定應(yīng)用領(lǐng)域或建模任務(wù)所開發(fā)的類的集合。AnyLogicTM中提供了若干個(gè)庫(kù),你也可以很容易地創(chuàng)建你自己的庫(kù)。使用庫(kù)具有幾個(gè)優(yōu)點(diǎn):l 提供了在不同模型中對(duì)類的更好的重用。一個(gè)類只需要被開發(fā)和存儲(chǔ)一次,就可以在其他工程中被引用使
29、用。l 庫(kù)使你可以在AnyLogicTM工程中組織團(tuán)隊(duì)工作:模型的一部分由一個(gè)團(tuán)隊(duì)成員開發(fā),并放到庫(kù)中,其他人在他們的工作只需使用相兼容的庫(kù)版本。l 通過開發(fā)合適的庫(kù),你可以將AnyLogicTM轉(zhuǎn)化成針對(duì)特定領(lǐng)域的高層次的建模工具,在此工具中可以通過簡(jiǎn)易的鼠標(biāo)點(diǎn)擊來進(jìn)行操作。AnyLogicTM在Libraries(庫(kù))窗口中顯示了可用的庫(kù)。AnyLogicTM標(biāo)準(zhǔn)發(fā)行版本中包含了若干個(gè)庫(kù),這些庫(kù)位于Lib目錄下。你可以查看這些庫(kù)以了解如何開發(fā)你自己的庫(kù)。創(chuàng)建庫(kù)和使用AnyLogicTM庫(kù)類的細(xì)節(jié)信息將在第20章“庫(kù)和外部文件”中給出。1.4.4 實(shí)驗(yàn)一個(gè)實(shí)驗(yàn)(experiment)中存儲(chǔ)了
30、模型的一組配置參數(shù)。AnyLogicTM支持幾種不同的實(shí)驗(yàn)類型,以用于不同的仿真任務(wù)。當(dāng)創(chuàng)建一個(gè)新工程時(shí),AnyLogicTM即自動(dòng)創(chuàng)建一個(gè)實(shí)驗(yàn),并將其設(shè)置為當(dāng)前實(shí)驗(yàn)(current experiment),即定義了當(dāng)前模型仿真參數(shù)的實(shí)驗(yàn)。這一實(shí)驗(yàn)是一個(gè)仿真實(shí)驗(yàn)(simulation experiment)。它將運(yùn)行模型仿真,并顯示動(dòng)畫,同時(shí)允許對(duì)模型進(jìn)行調(diào)試。大多數(shù)情況下使用的實(shí)驗(yàn)都是仿真實(shí)驗(yàn)。其他的AnyLogicTM實(shí)驗(yàn)類型(優(yōu)化實(shí)驗(yàn)optimization experiment,參數(shù)變化實(shí)驗(yàn)parameter variation experiment)只用于模型參數(shù)起重要作用,并且你需
31、要分析這些參數(shù)如何影響模型行為的情形,或你希望找到你模型對(duì)應(yīng)的最優(yōu)參數(shù)的情形下。自定義參數(shù)(custom parameter)允許你使用JavaTM語言定義自定義的實(shí)驗(yàn)?zāi)_本。實(shí)驗(yàn)和配置參數(shù)具體將在第12章“實(shí)驗(yàn)”中進(jìn)行介紹。1.5 活動(dòng)對(duì)象活動(dòng)對(duì)象是AnyLogicTM模型的主要構(gòu)建模塊。活動(dòng)對(duì)象可以用于建模現(xiàn)實(shí)世界中類型廣泛的各種對(duì)象,例如:加工工作臺(tái),資源,人員,硬件,具體的物體,控制器,等等。一個(gè)活動(dòng)對(duì)象是一個(gè)活動(dòng)對(duì)象類的一個(gè)實(shí)例。活動(dòng)對(duì)象類可以由用戶開發(fā),或者從庫(kù)中得到。 向包中加入一個(gè)新的活動(dòng)對(duì)象類1. 點(diǎn)擊New Active Object Class(新活動(dòng)對(duì)象類)工具條按鈕,或
32、者在主菜單中選擇Insert|New Active Object Class(插入|新活動(dòng)對(duì)象類)。此時(shí)即應(yīng)出現(xiàn)New Active Object Class(新活動(dòng)對(duì)象類)對(duì)話框。指定所要?jiǎng)?chuàng)建的活動(dòng)對(duì)象類的名稱,選擇將要放置此活動(dòng)對(duì)象類的包,然后點(diǎn)擊OK。2. 你也可以在Project(工程)窗口中,用鼠標(biāo)右鍵點(diǎn)擊將要加入活動(dòng)對(duì)象類的包,然后在彈出菜單中選擇New Active Object Class(新活動(dòng)對(duì)象類)菜單項(xiàng)。此時(shí)即應(yīng)出現(xiàn)New Active Object Class(新活動(dòng)對(duì)象類)對(duì)話框。在此對(duì)話框中指定新的活動(dòng)對(duì)象類的名稱,然后點(diǎn)擊OK。每個(gè)活動(dòng)對(duì)象類都有如下屬性:屬性C
33、lass name(類名稱)此類的名稱。Base class(基類)可選基類的名稱。可以為ActiveObject或它的子類。如果未指定,則認(rèn)為基類為ActiveObject。請(qǐng)查看1.5.10,“活動(dòng)對(duì)象繼承”,以了解關(guān)于活動(dòng)對(duì)象繼承的更多信息。Parameters(參數(shù))可選活動(dòng)對(duì)象類的一組形式參數(shù)。Exclude from build(構(gòu)建時(shí)排除)如果設(shè)置了此屬性,則此類被從此工程中排除出去。Show name(顯示名稱)如果設(shè)置了此屬性,則此類的名稱將顯示于其結(jié)構(gòu)圖中。Show object rectangle(顯示對(duì)象矩形)如果設(shè)置了此屬性,則代表此對(duì)象的邊界的矩形將顯示于其結(jié)構(gòu)圖中
34、。Public(exported from library)如果此屬性未被設(shè)置,則在此對(duì)象被用作庫(kù)的情況下,你將無法從其他工程中訪問此類(如果你需要隱藏一些輔助庫(kù)類,你可能需要作此設(shè)置)。1.5.1 結(jié)構(gòu)圖每個(gè)活動(dòng)對(duì)象類都有一個(gè)與之相聯(lián)系的結(jié)構(gòu)圖。結(jié)構(gòu)圖有若干個(gè)作用,它可以:l 定義活動(dòng)對(duì)象類的接口l 定義被封裝的類以及它們之間的相互作用l 定義行為元素,例如定時(shí)器和狀態(tài)圖結(jié)構(gòu)圖由各種不同的形體構(gòu)成,即:當(dāng)前對(duì)象(this object),被封裝的對(duì)象(encapsulated object),端口(port),變量(variable),連接器(connector),圖表定時(shí)器(chart t
35、imer),狀態(tài)圖(statechart),和文本框(text box)(請(qǐng)參考圖6)。圖6. 結(jié)構(gòu)圖你可以在結(jié)構(gòu)圖編輯器中使用結(jié)構(gòu)工具條對(duì)活動(dòng)對(duì)象的結(jié)構(gòu)圖進(jìn)行編輯(圖7)。結(jié)構(gòu)圖編輯器圖7. 結(jié)構(gòu)圖編輯器和工具條 打開一個(gè)活動(dòng)對(duì)象類的結(jié)構(gòu)圖1. 在Project(工程)窗口中右鍵點(diǎn)擊一個(gè)活動(dòng)對(duì)象類,然后在彈出菜單中選擇Open Structure(打開結(jié)構(gòu)圖),或者在Project(工程)窗口中雙擊此活動(dòng)對(duì)象類。活動(dòng)對(duì)象顯示為一個(gè)黑體畫框。畫框代表活動(dòng)對(duì)象類在結(jié)構(gòu)圖中的“邊界”。這一形體表示,位于此畫框中的所有端口和變量都成為此活動(dòng)對(duì)象類的接口元素。這一形體在圖中是可選的(非必需)。這一形體
36、的屬性既是活動(dòng)對(duì)象類的屬性。你可以使用文本框在圖中放置一條注釋。這樣做不會(huì)影響模型的行為。 加入一個(gè)文本框1. 點(diǎn)擊Text Box(文本框)工具條按鈕,或者在主菜單中選擇Draw|Text Box(繪制|文本框)。2. 在圖中點(diǎn)擊你希望放置此文本框的位置。然后拖動(dòng)以設(shè)置文本框形體的大小。 修改文本框中的注釋1. 雙擊此文本框。2. 編輯此文本框中的內(nèi)容。3. 點(diǎn)擊圖中的空白區(qū)域,或按Esc鍵,以保存修改后的文字。4. 你也可以使用文本框的Properties(屬性)窗口來修改其中的文字。1.5.2 圖表編輯器 通用操作AnyLogicTM中有四個(gè)圖表編輯器:結(jié)構(gòu)圖編輯器,狀態(tài)圖編輯器,動(dòng)畫編
37、輯器,以及3D動(dòng)畫編輯器。這些編輯器都是基于同樣的技術(shù)構(gòu)建的,因此它們具有一些共同的通用編輯操作,我們將在這一節(jié)中介紹這些通用操作。各個(gè)編輯器獨(dú)有的操作分別在第1.5.1節(jié)“結(jié)構(gòu)圖”,第9.2節(jié)“狀態(tài)圖”,第11.2節(jié)“動(dòng)畫圖”和第11.3節(jié)“3D動(dòng)畫圖”中介紹。AnyLogicTM圖表由圖形對(duì)象即形體組成。為繪制一個(gè)形體,你需要點(diǎn)擊對(duì)應(yīng)的工具條按鈕,然后在圖中放置此形體。每個(gè)編輯器都有自己對(duì)應(yīng)的工具條,其中有此圖表類型所特有的形體工具條按鈕。選擇形體在圖表中你可以選擇任一形體。在你選擇了一個(gè)形體之后,Properties(屬性)窗口中即顯示此形體的屬性。 選擇一個(gè)形體1. 點(diǎn)擊此形體。 選擇
38、一個(gè)以上的形體1. 拖動(dòng)矩形選擇框以選擇多個(gè)形體。 將形體加入到選擇中/從選擇中去掉一個(gè)形體1. 按下Shift鍵,同時(shí)用鼠標(biāo)點(diǎn)擊此形體。 選擇圖中的所有形體1. 從主菜單中選擇Edit|Select All(編輯|全選),或者按Ctrl+A鍵。復(fù)制,移動(dòng),和刪除形體你可以復(fù)制,移動(dòng),和刪除形體。 復(fù)制所選內(nèi)容到剪貼板1. 點(diǎn)擊Copy(復(fù)制)工具條按鈕,或者在主菜單中選擇Edit|Copy(編輯|復(fù)制),或者右鍵點(diǎn)擊所選內(nèi)容,然后從彈出菜單中選擇Copy(復(fù)制),或者按Ctrl+Ins鍵。 剪切所選內(nèi)容1. 點(diǎn)擊Cut(剪切)工具條按鈕,或者在主菜單中選擇Edit|Cut(編輯|剪切),或者
39、右鍵點(diǎn)擊所選內(nèi)容,然后從彈出菜單中選擇Cut(剪切),或者按Shift+Del鍵。 粘貼剪貼板中的內(nèi)容1. 點(diǎn)擊Paste(粘貼)工具條按鈕,或者在主菜單中選擇Edit|Paste(編輯|粘貼),或者右鍵點(diǎn)擊圖中的空白區(qū)域,從彈出菜單中選擇Paste(粘貼),或者按Shift+Ins鍵。被粘貼的形體即顯示,并且其輪廓線為藍(lán)色。2. 將被粘貼的形體移動(dòng)到所需位置。 復(fù)制所選內(nèi)容1. 按下Ctrl鍵,同時(shí)拖動(dòng)所選內(nèi)容。 移動(dòng)所選內(nèi)容1. 拖動(dòng)所選內(nèi)容,或者使用方向鍵。 刪除所選內(nèi)容1. 點(diǎn)擊Delete(刪除)工具條按鈕,或者在主菜單中選擇Edit|Delete(編輯|刪除),或者右鍵點(diǎn)擊所選內(nèi)容
40、,然后從彈出菜單中選擇Delete(刪除),或者按Del鍵。 隱藏所選內(nèi)容1. 在主菜單中選擇Draw|Hide(繪制|隱藏)。 取消隱藏所有被隱藏的形體1. 在主菜單中選擇Draw|Unhide All(繪制|取消隱藏所有)。 將整個(gè)圖表的圖像復(fù)制到剪貼板1. 在主菜單中選擇Draw|Copy Image(繪制|復(fù)制圖像),或者右鍵點(diǎn)擊圖中的空白區(qū)域,然后從彈出菜單中選擇Copy Image(復(fù)制圖像)。你可以取消前一個(gè)操作。 取消前一個(gè)操作1. 點(diǎn)擊Undo(取消)工具條按鈕,或者在主菜單中選擇Edit|Undo(編輯|取消),或者按Alt+Backspace鍵,或者Ctrl+Z鍵。 重復(fù)
41、前一個(gè)被取消的動(dòng)作1. 點(diǎn)擊Redo(重復(fù))工具條按鈕,或者在主菜單中選擇Edit|Redo(編輯|重復(fù)),或者按Ctrl+Y鍵。你可以移動(dòng),中心放置,或縮放圖表,以更好地觀察圖表中的特定部分。 移動(dòng)圖表1. 用右鍵點(diǎn)擊圖表,然后一直按下右鍵,移動(dòng)鼠標(biāo)。 中心放置圖表1. 在主菜單中選擇Draw|Go to Center(繪制|移動(dòng)到中心),或者右鍵點(diǎn)擊圖中的空白區(qū)域,然后從彈出菜單中選擇Go to Center(移動(dòng)至中心)。圖表即被中心放置。 縮放圖表以適合所有形體1. 在主菜單中選擇Draw|Zoom|Zoom to Fit(繪制|縮放|縮放到合適大小),或者右鍵點(diǎn)擊圖中的空白區(qū)域,然后
42、從彈出菜單中選擇Zoom to Fit(縮放到合適大小)。此時(shí)圖表即被中心放置,并且縮放到合適大小以適合所有形體。 放大圖表1. 點(diǎn)擊Zoom In(放大)工具條按鈕,或者在主菜單中選擇Draw|Zoom|Zoom In(繪制|縮放|放大)。 縮小圖表1. 點(diǎn)擊Zoom Out(縮小)工具條按鈕,或者在主菜單中選擇Draw|Zoom|Zoom Out(繪制|縮放|縮小)。 縮放到指定的矩形1. 在主菜單中選擇Draw|Zoom|Zoom to Rectangle(繪制|縮放|縮放到矩形)。2. 在圖中你希望縮放至的區(qū)域拖動(dòng)鼠標(biāo)以選擇此矩形區(qū)域。 縮放到默認(rèn)大小1. 在主菜單中選擇Draw|Zo
43、om|Zoom to Default(繪制|縮放|縮放到默認(rèn)大小)。你可以控制圖表網(wǎng)格的外觀。 啟用/關(guān)閉網(wǎng)格1. 點(diǎn)擊Enable Grid(啟用網(wǎng)格)工具條按鈕,或者在主菜單中選擇Draw|Grid|Enable Grid(繪制|網(wǎng)格|啟用網(wǎng)格)。 顯示/隱藏網(wǎng)格1. 在主菜單中選擇Draw|Grid|Show Grid(繪制|網(wǎng)格|顯示網(wǎng)格)。 將一個(gè)形體對(duì)齊到網(wǎng)格上1. 選擇一個(gè)形體。2. 點(diǎn)擊Snap to Grid(與網(wǎng)格對(duì)齊)工具條按鈕,或者在主菜單中選擇Draw|Grid|Snap to Grid(繪制|網(wǎng)格|與網(wǎng)格對(duì)齊)。默認(rèn)情況下,當(dāng)你縮放,拖動(dòng),或移動(dòng)一個(gè)形體時(shí),其他與之
44、邏輯關(guān)聯(lián)的形體也將發(fā)生移動(dòng)。例如,連接器與端口一起移動(dòng),被封裝的對(duì)象與封裝對(duì)象一起移動(dòng),簡(jiǎn)單狀態(tài)將反映復(fù)合狀態(tài)的改變,等等。有時(shí)候我們不想要這樣的行為,這種情況下你通常可以關(guān)閉智能拖動(dòng)特性。 在操作時(shí)關(guān)閉智能拖動(dòng)1. 在完成操作時(shí)按住Shift鍵。 編輯一個(gè)形體的名稱1. 雙擊此形體的名稱,或者右鍵點(diǎn)擊此形體,然后從彈出菜單中選擇Edit Name(編輯名稱),或者按F2。2. 輸入此形體的新名稱。3. 按Enter或點(diǎn)擊圖中的空白區(qū)域以保存修改后的名稱,或按Esc以取消修改。你也可以通過Properties(屬性)窗口來編輯形體的名稱。 旋轉(zhuǎn)一個(gè)形體1. 在主菜單中選擇Draw|Rotate
45、(繪制|旋轉(zhuǎn))。2. 使用旋轉(zhuǎn)手柄來旋轉(zhuǎn)一個(gè)結(jié)構(gòu)元素。 獲得形體屬性的簡(jiǎn)要信息1. 將鼠標(biāo)光標(biāo)移動(dòng)到此形體上,并等待出現(xiàn)工具提示。1.5.3 活動(dòng)對(duì)象的圖標(biāo)每個(gè)活動(dòng)對(duì)象類都有自己特有的圖標(biāo)。每當(dāng)這個(gè)類的實(shí)例在結(jié)構(gòu)圖中或在動(dòng)畫圖(請(qǐng)參考10.2.2節(jié)“結(jié)構(gòu)圖動(dòng)畫”)中顯示為被封裝的對(duì)象時(shí),即顯示此圖標(biāo)。請(qǐng)注意這一圖標(biāo)圖像與AnyLogicTM動(dòng)畫無關(guān),并且不顯示于此活動(dòng)對(duì)象類自身的結(jié)構(gòu)圖中。1.5.3.1 圖標(biāo)圖活動(dòng)對(duì)象圖標(biāo)由圖標(biāo)圖定義。你可以使用動(dòng)畫工具條在圖標(biāo)編輯器(圖8)中對(duì)圖標(biāo)圖進(jìn)行編輯。圖8. 圖標(biāo)編輯器 創(chuàng)建一個(gè)活動(dòng)對(duì)象類的圖標(biāo)1. 點(diǎn)擊New Icon(新建圖標(biāo))工具條按鈕,或者在
46、主菜單中選擇Insert|New Icon(插入|新圖標(biāo))。此時(shí)即顯示New Icon(新建圖標(biāo))對(duì)話框窗口。指定新圖標(biāo)的名稱,選擇此圖標(biāo)將要對(duì)應(yīng)的活動(dòng)對(duì)象類,然后點(diǎn)擊OK。2. 你也可以在Project(工程)窗口中,右鍵點(diǎn)擊此圖標(biāo)將要對(duì)應(yīng)的活動(dòng)對(duì)象類,然后從彈出菜單中選擇New Icon(新建圖標(biāo))。此時(shí)即顯示New Icon(新建圖標(biāo))對(duì)話框窗口。指定新圖標(biāo)的名稱,然后點(diǎn)擊OK。3. 此時(shí)即出現(xiàn)圖標(biāo)編輯器窗口。每個(gè)活動(dòng)對(duì)象類都只能有一個(gè)對(duì)應(yīng)的圖標(biāo)。 打開活動(dòng)對(duì)象類的現(xiàn)有圖標(biāo)1. 在Project(工程)窗口中,右鍵點(diǎn)擊活動(dòng)對(duì)象類的圖標(biāo)(Icon)項(xiàng)目,然后從彈出菜單中選擇Open Ico
47、n(打開圖標(biāo))。此時(shí)即顯示圖標(biāo)編輯器窗口。圖標(biāo)編輯器具有1.5.2節(jié)“圖表編輯器,通用操作”中所描述的通用編輯操作。藍(lán)色十字表示圖標(biāo)圖的原點(diǎn)(0, 0)。一個(gè)圖標(biāo)由多個(gè)形體,例如圓圈,矩形,線段,以及標(biāo)記等,組合繪制而成。請(qǐng)查看11.2.2節(jié)“動(dòng)畫形體”和11.2.3節(jié)“標(biāo)記”以了解關(guān)于這些形體的細(xì)節(jié)描述。圖標(biāo)大小將自動(dòng)設(shè)置以適合其中所有的形體。每個(gè)形體都有一組屬性,以定義其視覺外觀:位置,高度,寬度,顏色,等等。形體的通用屬性將在11.2.1.2節(jié)“動(dòng)畫形體的通用屬性”中介紹。1.5.3.2 圖標(biāo)動(dòng)畫概念每個(gè)形體都具有許多屬性以定義其視覺外觀,這些屬性包括:位置,高度,寬度,顏色,等等。典型
48、情況下這些屬性將按照如圖9所示進(jìn)行組織:圖9. 圖標(biāo)形體的屬性這些概念與AnyLogicTM動(dòng)畫概念類似圖標(biāo)圖將形體的屬性與活動(dòng)對(duì)象的數(shù)據(jù)聯(lián)系起來。左側(cè)的靜態(tài)值顯示了在編輯器中進(jìn)行繪制時(shí)所定義的此屬性的值。這一值也將作為默認(rèn)值。右側(cè)的表達(dá)式定義了在仿真過程中這一屬性的實(shí)際值。在這里你可以將形體的外觀與活動(dòng)對(duì)象的任意數(shù)據(jù)聯(lián)系起來。數(shù)據(jù)可以發(fā)生改變,并且這些改變將在圖中反映出來。如果這一表達(dá)式為空,則在整個(gè)仿真過程中此屬性的值將一直保留為默認(rèn)的靜態(tài)值。圖10顯示了一個(gè)將圖標(biāo)形體的圖形屬性與活動(dòng)對(duì)象數(shù)據(jù)相聯(lián)系起來的例子。這里圓圈的坐標(biāo)由活動(dòng)對(duì)象的參數(shù)x和y動(dòng)態(tài)定義,矩形的旋轉(zhuǎn)角度由活動(dòng)對(duì)象的成員變量
49、alpha定義。圖10. 將圖形屬性與模型數(shù)據(jù)相聯(lián)系起來這樣,通過將形體屬性與活動(dòng)對(duì)象數(shù)據(jù)相聯(lián)系起來,你就可以在模型運(yùn)行時(shí)在結(jié)構(gòu)圖動(dòng)畫中動(dòng)態(tài)地顯示活動(dòng)對(duì)象。1.5.3.3 活動(dòng)對(duì)象的圖像活動(dòng)對(duì)象圖標(biāo)是AnyLogicTM5的新特性。在以前版本的AnyLogicTM中,你只能在來自于文件的靜態(tài)圖像與活動(dòng)對(duì)象類之間建立關(guān)聯(lián)。實(shí)際上,在這一版本中保留活動(dòng)對(duì)象圖像特性的目的只是為了與較早的版本相兼容。我們推薦你為活動(dòng)對(duì)象類創(chuàng)建圖標(biāo),然后將圖像形體加到此圖標(biāo)中,而不是直接使用活動(dòng)對(duì)象圖像。請(qǐng)注意,如果定義了活動(dòng)對(duì)象類的圖標(biāo),則活動(dòng)對(duì)象類的圖像不起作用。活動(dòng)對(duì)象的圖像通過活動(dòng)對(duì)象的Properties(屬
50、性)窗口的Image(圖像)頁面定義(如圖11)。圖11. 活動(dòng)對(duì)象Properties(屬性)窗口的Image(圖像)頁面 為活動(dòng)對(duì)象定義一個(gè)圖像1. 在Project(工程)窗口中點(diǎn)擊此活動(dòng)對(duì)象。2. 點(diǎn)擊Properties(屬性)窗口的Image(圖像)頁面中的Image(圖像)按鈕。此時(shí)即顯示Choose Image(選擇圖像)對(duì)話框。此對(duì)話框中顯示了預(yù)定義的圖像。3. 為使用一個(gè)預(yù)定義的圖像:雙擊此圖像,或者點(diǎn)擊此圖像,然后點(diǎn)擊OK。4. 如果需要從文件加載圖像:點(diǎn)擊Browse(瀏覽)按鈕。此時(shí)即打開Open(打開)對(duì)話框。瀏覽找到你希望使用的圖像文件。雙擊此文件,或者點(diǎn)擊此文件
51、,然后點(diǎn)擊Open(打開)按鈕,以選擇此文件。所指定的圖像即顯示于Properties(屬性)窗口的Image(圖像)頁面中。 移除已指定的活動(dòng)對(duì)象的圖像1. 在Project(工程)窗口中點(diǎn)擊此活動(dòng)對(duì)象類。2. 點(diǎn)擊Properties(屬性)窗口中的Image(圖像)頁面內(nèi)的Reset(復(fù)位)按鈕。1.5.4 被封裝的對(duì)象活動(dòng)對(duì)象可以在任意所需的深度層次上封裝其他活動(dòng)對(duì)象。被封裝的對(duì)象是其他活動(dòng)對(duì)象類的實(shí)例,并且將被此活動(dòng)對(duì)象類的每個(gè)實(shí)例封裝。封裝一個(gè)類是創(chuàng)建模型等級(jí)結(jié)構(gòu)的必須步驟。 向一個(gè)活動(dòng)對(duì)象類中加入一個(gè)被封裝的對(duì)象1. 將活動(dòng)對(duì)象類從Project(工程)窗口中拖動(dòng)到父活動(dòng)對(duì)象的結(jié)
52、構(gòu)圖中。如果為父活動(dòng)對(duì)象定義了形體,則所有的被封裝對(duì)象都應(yīng)放置于此父對(duì)象形體內(nèi)部。被封裝的對(duì)象顯示為被填充的矩形(如圖12所示)。如果AnyLogicTM無法找到所引用的類,則被封裝的對(duì)象將顯示為紅色。圖12 被封裝的對(duì)象被封裝的對(duì)象具有如下屬性屬性Name(名稱)被封裝的對(duì)象的名稱。Type(類型)只讀被封裝的對(duì)象所屬的類。Parameters(參數(shù))可選被封裝的對(duì)象的一系列形式參數(shù)。每個(gè)參數(shù)都應(yīng)以如下形式給出:Name Value,其中Name是參數(shù)的名稱,Value是參數(shù)的值。Exclude from build(構(gòu)建時(shí)排除)如果設(shè)置了此屬性,則此被封裝的對(duì)象被排除出模型。Show na
53、me(顯示名稱)如果設(shè)置了此屬性,則此被封裝的對(duì)象的名稱將顯示于結(jié)構(gòu)圖中。Auto create(自動(dòng)創(chuàng)建)如果設(shè)置了此屬性,則AnyLogicTM將自動(dòng)創(chuàng)建被封裝的對(duì)象。否則這一對(duì)象應(yīng)通過手動(dòng)創(chuàng)建。你可以打開被封裝對(duì)象類的結(jié)構(gòu)圖。 打開被封裝對(duì)象的結(jié)構(gòu)圖1. 雙擊被封裝的對(duì)象,或者右鍵點(diǎn)擊被封裝的對(duì)象,從彈出菜單中選擇Open Structure(打開結(jié)構(gòu)圖)。如有必要,你可以在結(jié)構(gòu)圖中翻轉(zhuǎn)被封裝對(duì)象的圖像。 水平翻轉(zhuǎn)被封裝對(duì)象1. 選中此被封裝的對(duì)象2. 點(diǎn)擊Flip Horizontal(水平翻轉(zhuǎn))工具條按鈕,或者在結(jié)構(gòu)圖中右鍵點(diǎn)擊被封裝的對(duì)象,然后從彈出菜單中選擇Flip Horizo
54、ntal(水平翻轉(zhuǎn)),或者在主菜單中選擇Draw|Flip Horizontal(繪制|水平翻轉(zhuǎn))。被封裝的對(duì)象可以為單一對(duì)象,或者復(fù)數(shù)對(duì)象(請(qǐng)不要將這個(gè)概念與模型重復(fù)混淆)。一個(gè)復(fù)數(shù)對(duì)象代表一組屬于同一類的活動(dòng)對(duì)象。對(duì)象重復(fù)使你可以非常經(jīng)濟(jì)地表述由具有任意相互連接的對(duì)象所組成的復(fù)雜結(jié)構(gòu)。在父類的結(jié)構(gòu)圖中,顯示的復(fù)數(shù)對(duì)象名稱后面將加上一個(gè)星號(hào)(如圖12)。請(qǐng)查看第2章“復(fù)數(shù)對(duì)象”,以了解關(guān)于復(fù)數(shù)對(duì)象的細(xì)節(jié)描述。1.5.5 根對(duì)象一個(gè)AnyLogicTM模型是由互相封裝的活動(dòng)對(duì)象類所構(gòu)成的一棵樹(如圖13)。由于每個(gè)活動(dòng)對(duì)象通常代表模型中的一個(gè)邏輯部分,因此一個(gè)模型可以被分解到若干個(gè)細(xì)節(jié)層次。樹
55、的根稱之為根對(duì)象。根對(duì)象代表了你的模型中的最高抽象層次。當(dāng)你指定根對(duì)象的類時(shí),你即告訴了AnyLogicTM在何處開始創(chuàng)建模型。圖13. 活動(dòng)對(duì)象樹由于你可以修改模型的根對(duì)象,這樣AnyLogicTM就可以支持簡(jiǎn)單的模型修改方法。你可以在同一個(gè)工程中創(chuàng)建若干個(gè)具有不同根對(duì)象的實(shí)驗(yàn)。這樣你就可以通過改變當(dāng)前實(shí)驗(yàn)來方便地調(diào)整你的模型結(jié)構(gòu)。 為一個(gè)實(shí)驗(yàn)設(shè)置根對(duì)象1. 在Project(工程)窗口中點(diǎn)擊此實(shí)驗(yàn)。2. 在Properties(屬性)窗口,從Root object(根對(duì)象)下拉列表中選擇此實(shí)驗(yàn)的根對(duì)象。例如,你可以建模一輛汽車。你定義了Automobile類,這個(gè)類代表了你的模型中的最高抽
56、象層次,因此你設(shè)置這個(gè)類為根對(duì)象類。此類中封裝了代表汽車零部件的對(duì)象:輪胎,發(fā)動(dòng)機(jī),化油器,等等。這些部件也可以封裝其他代表其中零件的對(duì)象,依此類推。然而,你可能需要將注意力集中在汽車的發(fā)動(dòng)機(jī)上。因此你可以簡(jiǎn)單地設(shè)置Engine類為你模型的根對(duì)象類。反之亦然,你可能需要建模一個(gè)車庫(kù)。這種情況下你需要在你的模型中創(chuàng)建新的抽象層次,并將其設(shè)置為模型等級(jí)樹的頂層。與其他一些已對(duì)模型根對(duì)象進(jìn)行詳細(xì)定義的建模工具不同,在AnyLogicTM中你可以用非常簡(jiǎn)單的方法改變模型的結(jié)構(gòu)。例如,在上面所述的例子中,進(jìn)行如下操作:1. 定義類Garage,以代表車庫(kù)。2. 將已經(jīng)創(chuàng)建好的代表汽車的類封裝到Garage類中。3. 創(chuàng)建一個(gè)新的仿真實(shí)驗(yàn),并將它設(shè)置為當(dāng)前實(shí)驗(yàn)。4. 將類Garage作為所創(chuàng)建的實(shí)驗(yàn)的根對(duì)象類。1.5.6 活動(dòng)對(duì)象的數(shù)據(jù)你可以通過定義參數(shù)和變量來定義活動(dòng)對(duì)象的數(shù)據(jù)。你也可以通過編寫你自己的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年轉(zhuǎn)租房合同協(xié)議書模板
- 2025建筑工程防水補(bǔ)漏合同
- 2024年太陽能電池背膜投資申請(qǐng)報(bào)告代可行性研究報(bào)告
- 2025辦公室租賃合同「范本」
- 2025年廣州市教育行業(yè)職工勞動(dòng)合同
- 2025合作伙伴經(jīng)營(yíng)合同
- 租賃合同簽訂流程優(yōu)化與風(fēng)險(xiǎn)管理考核試卷
- 2025寫字樓租賃合同范本參考
- 2025工程合同管理 高速公路工程建設(shè)合同索賠研究
- 2025智能鎖購(gòu)買合同范本
- 大學(xué)武術(shù)知到智慧樹章節(jié)測(cè)試課后答案2024年秋浙江大學(xué)
- DB33 1121-2016 民用建筑電動(dòng)汽車充電設(shè)施配置與設(shè)計(jì)規(guī)范
- 2025年中移鐵通限公司公開招聘工作人員100名高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025年度學(xué)院學(xué)術(shù)委員會(huì)專家聘用合同3篇
- 建筑業(yè)職業(yè)危害防治措施
- IATF16949基礎(chǔ)知識(shí)培訓(xùn)教材
- 《基于機(jī)器視覺的激光焊縫跟蹤系統(tǒng)研究》
- 互聯(lián)網(wǎng)行業(yè)海外垂類AI專題(8):AI激發(fā)SAAS新一輪產(chǎn)品創(chuàng)新周期美股軟件板塊反轉(zhuǎn)確立
- UL1059標(biāo)準(zhǔn)中文版-2020接線端子UL標(biāo)準(zhǔn)中文版
- 中國(guó)慢性阻塞性肺疾病基層診療指南(2024年)解讀
- 消化道疾病護(hù)理
評(píng)論
0/150
提交評(píng)論