[glue-wg] ComputingService and Endpoints, a point of view
Florido Paganelli
florido.paganelli at hep.lu.se
Thu Aug 23 12:48:39 EDT 2012
Hi all,
I've been thinking about this ComputingService <- exposes -> Endpoints association
and if it's possible to do it based on the UML diagrams contained in GFD1.47.
(see figures on page 7, 22)
I think the UML diagram doesn't clarify what happens to the association
<- exposes ->
with respect to inheritance when it comes to the specialized
classes ComputingService,ComputingEndpoint.
What we have is
Service <- exposes -> Endpoints
ComputingService <- exposes -> ComputingEndpoints
Now if we could write this as a piece of object oriented pseudocode, we would have
Class Service {
// a list of exposed Endpoints
Endpoint MyEndpoints
}
Class ComputingService extends Service {
// a list of exposed ComputingEndpoints
ComputingEndpoint MyComputingEndpoints
}
What happens with inheritance wrt <- exposes -> ?
I think there can be two implementations for a ComputingService constructor:
1) ComputingService includes the <- exposes -> from Service, that is,
an instance of ComputingService would have both MyEndpoints and MyComputingEndpoints:
ComputingService( EndpointList someEndpoints , ComputingEndpointList someComputingEndpoints ) {
this.MyEndpoints = someEndpoints;
this.MyComputingEndpoints = someComputingEndpoints;
}
2) ComputingService overrides the <- exposes -> from Service, that is
an instance of ComputingService has
ComputingService( ComputingEndpointList someComputingEndpoints ) {
this.MyEndpoints = someComputingEndpoints
}
I favour the 1) as it makes possible to have Endpoints inside a ComputingService, that
would give better readability and clarity to Endpoints which are NOT ComputingEndpoints.
these two implementation are, in my opinion, both possible as UML does not really scope associations with inheritance.
What do you think? Which one should we favour?
I am really annoyed of calling ComputingEndpoint an Endpoint that has nothing to do with computing!
Thanks for your answers,
--
Florido Paganelli
Lund University - Particle Physics
ARC Middleware
EMI Project
More information about the glue-wg
mailing list