CellML Discussion List

Text archives Help


[cellml-discussion] pcenv and cellml_corba_server


Chronological Thread 
  • From: ak.miller at auckland.ac.nz (Andrew Miller)
  • Subject: [cellml-discussion] pcenv and cellml_corba_server
  • Date: Fri, 20 Oct 2006 15:24:46 +1300

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





Archive powered by MHonArc 2.6.18.

Top of page