Hi, Thank you for the clear explanation and the solution you suggested did work indeed.
Thanks again. 2012/1/16 Wolfgang Meyer <[email protected]> > Hi Khadija, > > the problem with the code is in this part: > > > define > RF=functor > import > Pickle > Module > > export > done:D > define > AgentServer={Pickle.load "agents.ozf"} > [D]={Module.apply [AgentServer]} % (1) > {D.publishserver ""} > end > > RM={New Remote.manager init} > > M={RM apply(RF $)} > > GetServer=M.done.getserver % (2) > > > The module AgentServer is created at (1) in code that is executed via > Remote.manager. In other words, AgentServer is created in a different > process or even on a different computer. > AgentServer.ozf itself uses the module Pickle. Pickle is one of the > SITED modules, i.e. it can only be used in the same process where it > was created. > That makes AgentServer a sited module, too. > > At (2) you are accessing a method from AgentServer in the local > process. When you are trying to use GetServer, it will fail because it > will try to use the remote instance of the Pickle module in the local > process. > > To fix this problem, you should create a local version of AgentServer, > for example by simply adding "Agents" to the toplevel imports section > and then using Agents.getserver. > > Hope this helps, > > Wolfgang > > > > On Mon, Jan 16, 2012 at 11:55 AM, Khadija EL MAHRSI > <[email protected]> wrote: > > > > Hello, > > Since I still can't figure out the problem, I decided to give you the > code so that you can try it out and hopefully solve my problem. The only > changes that must be done are the ones related to the files' paths in > AgentRemote.oz (and eventually any mistakes that I may have done). > > > > Thanks. > > > > > > 2011/12/23 Khadija EL MAHRSI <[email protected]> > >> > >> Hi, > >> I've been working on the remote agent server and I think I managed to > correct the given code (hopefully). However, I keep getting the exception > "serverUnavailable" even though the creation of the server is done > successfully. Maybe I'm not accessing the server correctly (the getserver > part after applying the functor to the remote manager). Can someone tell me > how it should be done so that I can compare it to my code and see if I made > any mistakes? > >> > >> Thanks. > >> > >> > >> 2011/12/15 Khadija EL MAHRSI <[email protected]> > >>> > >>> Hello, > >>> I just wanted to add that I think the code for the remote agent server > is also incorrect. I'm doing the same previous example but with a remote > agent server and trying to correct the provided code so if anyone can help > me with it I'd appreciate it. > >>> > >>> Thanks. > >>> > >>> > >>> 2011/12/14 Khadija EL MAHRSI <[email protected]> > >>>> > >>>> Hello, > >>>> I can't thank you enough for your help, I added ! and everything > worked perfectly. I've been trying to figure out the problem for quite some > time now and I was starting to get really frustrated. I think it would be > better to correct the document and update it (since there are some > unfinished parts). Maybe this document is an old version and a more > complete one exists which I somehow missed? > >>>> > >>>> Again, thank you for the help. > >>>> > >>>> > >>>> 2011/12/14 Wolfgang Meyer <[email protected]> > >>>>> > >>>>> Hi, > >>>>> > >>>>> this is an error in the source code. > >>>>> In this line: > >>>>> > >>>>> {Server2 functor import OS define D1={OS.time} end} > >>>>> > >>>>> the "define" statement introduces a NEW variable D1. The line does > not assign to the "D1" variable in the outer scope. > >>>>> (Maybe this code is from an earlier Mozart version??) > >>>>> > >>>>> The correct way to write this is to use an "!" to suppress the > declaration of a new variable: > >>>>> > >>>>> {Server2 functor import OS define !D1={OS.time} end} > >>>>> > >>>>> "!" can also be useful in the patterns of case-statement or when > using unification within a variable definition > >>>>> (see also > http://www.mozart-oz.org/documentation/tutorial/node5.html#control.anonymous). > >>>>> > >>>>> Hope this helps, > >>>>> > >>>>> Wolfgang > >>>>> > >>>>> > >>>>> > >>>>> On Wed, Dec 14, 2011 at 11:30 AM, Khadija EL MAHRSI < > [email protected]> wrote: > >>>>>> > >>>>>> Hi, > >>>>>> I've been doing some more tests and any use of D1 after the functor > is sent to the server results in an endless wait. Instead of using {Wait > D1}, I used another variable D2 that uses D1 and the block still remains > (since D2 waits for D1 to be bound before continuing). What could be the > problem? > >>>>>> > >>>>>> Thanks > >>>>>> > >>>>>> > >>>>>> 2011/12/13 Khadija EL MAHRSI <[email protected]> > >>>>>>> > >>>>>>> Hello, > >>>>>>> I've been trying to do the Agent Server example from the Mobile > agents part in the following link ( > http://graubart.rz.ifi.lmu.de/programming/mozart/print/tutorial/DistributedProgramming.pdf) > but for some reason couldn't succeed. > >>>>>>> I used the Agent Server code provided in 4.1.6 and the last code > for agents provided in 4.1.2. I think there is a missing line in this agent > code which is {AS.publishserver "/usr/staff/pvr/public_html/as2"} before > Server2={GetServer "http://www.info.ucl.ac.be/~pvr/as2"} (Nothing worked > before I added this line). I also changed both of ".../as2" into "as2" and > ".../agents.ozf" into "agents.ozf" for simplicity. > >>>>>>> In my agent code, I added {Wait D1} to be able to see D1's value. > However, The program seems to block when trying to show this value. Can > anyone tell me why? > >>>>>>> > >>>>>>> Thanks > >>>>>> > >>>>>> > >>>>>> > >>>>>> > _________________________________________________________________________________ > >>>>>> mozart-users mailing list > [email protected] > >>>>>> http://www.mozart-oz.org/mailman/listinfo/mozart-users > >>>>> > >>>>> > >>>>> > >>>>> > _________________________________________________________________________________ > >>>>> mozart-users mailing list > [email protected] > >>>>> http://www.mozart-oz.org/mailman/listinfo/mozart-users > >>>> > >>>> > >>> > >> > > > > > > > _________________________________________________________________________________ > > mozart-users mailing list > [email protected] > > http://www.mozart-oz.org/mailman/listinfo/mozart-users > > _________________________________________________________________________________ > mozart-users mailing list > [email protected] > http://www.mozart-oz.org/mailman/listinfo/mozart-users >
_________________________________________________________________________________ mozart-users mailing list [email protected] http://www.mozart-oz.org/mailman/listinfo/mozart-users
