| |||||||||
Burglar - In-memory data exchange between Mosel models Description
Source Files By clicking on a file name, a preview is opened at the bottom of this page. runburglardistr.mos (!******************************************************* Mosel Example Problems ====================== file runburglardistr.mos ````````````````````` Running a remote model from another Mosel model. Data exchange using binary format. Information saved in memory on the local host. (c) 2013 Fair Isaac Corporation author: S. Heipcke, Apr. 2013 *******************************************************!) model "Run model burglar remotely IO" uses "mmjobs", "mmsystem" declarations modBurg: Model ! Submodel moselInst: Mosel ! Mosel instance ISet,SSet: set of string ! Index set for data arrays V,W: array(ISet) of real ! Data arrays SolTake: array(SSet) of real ! Solution values end-declarations V:: (["camera","necklace","vase","picture","tv","video","chest","brick"]) [15, 100, 90, 60, 40, 15, 10, 1] W:: (["camera","necklace","vase","picture","tv","video","chest","brick"]) [ 2, 20, 20, 30, 40, 30, 60, 10] !!! Select the (remote) machines to be used: !!! Use names, IP addresses, or empty string for the node running this model MOSINST:= "" ! Connect to a remote instance if connect(moselInst, MOSINST)<>0 then exit(1); end-if ! Compile the model remotely if compile(moselInst, "", "rmt:burglar2m.mos", "shmem:burglar.bim")<>0 then exit(2); end-if load(moselInst, modBurg, "shmem:burglar.bim") ! Load the bim file fdelete("rmt:["+getnode(moselInst)+"]shmem:burglar.bim") ! bim file is no longer needed ! setdefstream(modBurg, F_OUTPUT, "null:") ! Disable output from submodel ! Save data in shared memory initializations to "bin:shmem:burgdata" [V, W] as "BurgData" end-initializations ! Start model execution, setting parameters run(modBurg, "DATA='bin:rmt:shmem:burgdata',SOL='bin:rmt:shmem:burgsol'") wait ! Wait for model termination dropnextevent ! Ignore termination event message ! Retrieve solution from shared memory initializations from "bin:shmem:burgsol" SolTake end-initializations forall(i in SSet) writeln(" take(", i, "): ", SolTake(i)) end-model | |||||||||
© Copyright 2024 Fair Isaac Corporation. |