In the GLUE Specification v. 2.0, page 9, there is the Location class, which has:

Association.End:
Service.ID
Domain.ID

Inherited association end:
Extension.Key
ComputingService.ID
StorageService.ID
AdminDomain.ID
UserDomain.ID

This seems to try to represent the fact that making a relationship with a class, you are also making it with all its subclasses. From the theoretical point of view, you can not imply that pointing to a class you have access to its subclasses, but just to its superclasses because of the definition of inheritance in the object oriente programming. Moreover, this is misleading because it depends on the implementation language whether you can cast a subclass of the current class without knowing exactly the current class.

So I would propose two solutions here depending on what you wanted to describe:

1) Add ComputingService, StorageService, AdminDomain and UserDomain to the Association End list if you really want to access attributes exclusively from those in the Location class, which will add more Foreign Key attributes.

2) Just taking them out from the Inherited Association End list if in the Location class you just want to have access to the attributes of the Service and Domain classes.

Regards,
David

--
David Horat
Software Engineer specialized in Grid and Web technologies
IT Department – Grid Deployment Group
CERN – European Organization for Nuclear Research » Where the web was born
Phone +41 22 76 77996

http://davidhorat.com/
http://cern.ch/horat
http://www.linkedin.com/in/davidhorat