Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[hyades-dev] Detailed Agenda for today's Agent Controller Meeting

Expanded Agenda and list of questions to be discussed in today's meeting.

1. Execution Internal API v/s External API: A number of packages other than external API packages make use of the internal APIs. During the Santa Clara F2F meeting, we talked about how internal API can be changed as long as external API does not. We need further discussion on this topic.

    1.1 Is there any clear separation between external interfaces and internal classes of Execution API (communication with Agent Controller related) on the Hyades client side? The definition of external interfaces being the interfaces being used by the  Eclipse workbench plugins. And internal being the classes that provide implementation for the external interfaces and communicate with the agent controller.

    1.2. Are the interfaces like INode, IControlMessage, IDataProcessor (defined in org.eclipse.hyades.execution.core package) external interfaces of the Execution API? If so, why are the interfaces like Process, Agent not included in it? Are these interfaces not expected to be used by a Client.

    1.3. What is the purpose of NodeImpl class in org.eclipse.hyades.execution.local package? Is this the class supposed to be used by the client application for communicating with the agent controller? In that case, why there is only one method connect() defined in this class? Why is it returning ISession as it appears that ISession is used only in secure communication?

    1.4. It is noticed that classes like PDCoreUtil in Trace UI package use interfaces and classes (NodeFactory, Node, ProcessFactory, Process, etc.) defined in org.eclipse.hyades.internal.execution.local.control. Aren't these the internal classes and not supposed to be used by the workbench directly?

    1.5. What is the purpose of interfaces like IExecutionComponent, IExecutor, IExecutableObject defined in org.eclipse.hyades.execution.core package and also their implementation classes? Are these used solely on the agent controller side? Are they in some way related to classes in org.eclipse.hyades.execution.local package and it's sub packages.

    1.6. Are the classes in following packages used only on the agent controller side?

        - org.eclipse.hyades.execution.remote

        - org.eclipse.hyades.collection.framework

    1.7 It appears that the concept of session is applicable only in case of secured communication where user credentials are supplied. Are the session related classes defined in (SessionImpl, SessonStub, etc.) org.eclipse.hyades.execution.local package used only in case of secured connection.?

    1.8. Is the package org.eclipse.hyades.execution.security package external interface for secured connection?

    1.9. The package org.eclipse.hyades.execution.invocation contains set of classes that help in remote object and method invocation and provides marshalling and unmarshalling capabilities for sending objects across the wire. Where are these classes used in the context of external and internal interfaces described above?

2. Discussion of Pluggable Transport Layer Requirement: How will this feature be deployed? Does server configuration specify transport layer per port? Does WB plugins specify transport layer at the time of creating a node or a connection? Alternately, does the TPTP (Hyades Platform) configuration specify these, freeing WB plugins from the burden of determining available transport layers for a given node?

3. Agent Type:  discuss the concept of agent types and how integral that is to the current implementation; In the current implementation, agents are identified by type and name. In the proposed enhancements, we introduced the concept of interfaces and how an agent can implement multiple interfaces. We should discuss how this relates to agent type.


Back to the top