David Nickerson wrote:
> I'd just like to check my understanding of this. When I start pcenv the 
> first time, a cellml_corba_server process is started up (if its not 
> already running, I assume) and forked into the background. When I exit 
> pcenv the cellml_corba_server process continues to run, unknown to the 
> user. And then the cellml_corba_server will continue to run, hidden in 
> the background doing who knows what
It should be idle unless there are clients using it.
>  until I either kill it or reboot my 
> machine?
>
> If that is the case, this really concerns me and is something that pcenv 
> should definitely not be doing.
>   
By doing this, it allows several features to work:
1) You can have two PCEnv windows open at the same time on your 
computer, and they will correctly interact with each other (e.g. changes 
to the loaded model list made in one window will take effect in the 
other instance).
2) In the future, there is likely to be more than one type of CellML 
tool available. As long as they all follow the standardised interface 
for the CellML context, the tools will be able to interoperate (for 
example, in the future there could be CellML Context aware command line 
tools, or tools which perform very domain specific operations).
> As I understand it, pcenv should be a standalone application for people 
> to run. Why does it need to start up a independent server of any kind 
>   
PCEnv is a standalone application, but it comes bundled with its 
dependencies, one of which is cellml_corba_server. CellML CORBA server 
is a shared component which can also be used by products other than PCEnv.
> and why does it then leave that server running once you exit the 
> application?
>   
1) We don't currently have any way of keeping track of who is using it. 
There could potentially be more than one app using the same 
cellml_corba_server, so if it was to exit, there would need to be some 
sort of reference count (this is doable, but see below for why it isn't 
a good idea).
2) The user can currently close the PCEnv main window, and then start it 
again and come back to the models they have already loaded, without 
having to wait for CellML CORBA server to start up, and without having 
to re-load their models. This mode of operation will be even more 
important when we get some context-aware command-line tools, as the user 
will expect that the command line program exits immediately, but 
obviously the effects on the context have to persist.

The default configuration for the server is to bind to localhost only, 
so there are no issues of programs on other computers getting access to 
the models you are working on (although this could easily be enabled in 
the future if we need it, presumably with some security interceptors to 
check access).

The only time this should affect the user is when they install a new 
version (I could try to get the Windows installer to kill the process, 
which could help).

Best regards,
Andrew

_______________________________________________
cellml-discussion mailing list
[email protected]
http://www.cellml.org/mailman/listinfo/cellml-discussion

Reply via email to