Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[hyades-dev] [YOUR ACTION REQUIRED] Discussion points from Tuesday's Executio n Team meeting:

Reposting this message to the public hyades-dev list.  This is a request for
input on issues that were raised during the 26-Mar-03 meeting of the
execution environment/control working group.

Thanks,
--Joe


A number of interesting discussion points surfaced during today's meeting,
and we agreed to try to continue the discussions via e-mail instead of
taking up everyone's time in more meetings.  Please take the time to review
this list of issues and comment on any issues that you can contribute to.

The issues that were raised were:

1) Roles.  In discussing the capabilities of IExecutors and
IRemoteHyadesComponents, it became clear that we need to distinguish between
IRemoteHyadesComponents that are simply monitoring a
process/application/entity, and an IExecutor that was responsible for
launching the process/application/entity.  Both IExecutors and
IRemoteHyadesComponents are IExecutionComponents -- should
IExecutionComponents have a role?  Thoughts?

2) "Publishing".  In reviewing the sequence diagram that Kris presented for
"run and monitor a single test", it became clear that we need to provide a
way to engage monitoring before the test is actually "launched", or else we
would have a race condition trying to start up the IRemoteHyadesComponent to
monitor the test.  It was suggested that we should split up the launch()
method of IExecutor into two methods, one of which "publishes" (instantiates
the actual remote components), and another that actually invokes the
IExecutableObject.  Thoughts?

3) Factory pattern.  While the use of the factory pattern seems desirable,
it looks rather inelegant that we are creating objects with a factory and
then adding them as children of a IExecutionComponent.  In thinking about
this more, I think the factory pattern may still be a good approach, because
we'll need an extensibility point for creating alternative implementations
of IExecutor and IRemoteHyadesComponent.  Registering with a factory seems
like a reasonable way to accomplish this.  Thoughts?

4) Semantic of IExecutableObject.getChildren().  We agreed that
IExecutableObject.getChildren() would only retrieve the direct children of
the IExecutableObject on which it was invoked.  We also agreed that it may
be worthwhile to expose an additional API to walk the tree and retrieve all
of the children, although a client could obviously implement their own
traversal.  Thoughts?

Thanks,
--Joe


Joe Toomey
Senior Staff Software Engineer
Rational Software
IBM Software Group
tel: (781) 676-7668
fax: (781) 676-7640


Back to the top