[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