
Here is another proposal, on Adaptation. Serial compound links can be SPECIFIED using a "serial_compound" relation between Link objects. Serial compound links can also be DERIVED from the source and sink relation between Links and Ports. If Link A has sink Port X, and Link B has source Port X, then it follows that Link A and B are placed in series. Proposal: I think we should treat adaptation similar to links. This means that we need two thinks: - a "Adaptation" object that describes the adaptation (data encoding) function between Ports, similar to how a Link describes a data transport function. - a "adaptation" relation between Links, meaning that one Link (on the 'server' layer) provides connectivity to another Link (on the 'client' layer) The adaptation relation can thus be SPECIFIED between Links using a "adaptation" relation, and it can also be DERIVED by considering the source and sink relations between Links and Ports and between Adaptations and Ports. In this proposal, the "adaptation" relation only exists between Links, not between Ports. This is different from the description of adaptation in NDL (which is defined as a Predicate between Interface -- similar to a relation between Ports). Open issues: - it may be confusing to have both a "Adaptation" object and "adaptation" relation with the same name (especially if the "adaptation" relation is between Links, not to/from a "Adaptation" object. I gladly accept proposals for a better name. - Link and Adaptation are similar. Rather than a new object in the UML schema, it is possible to create a common parent class (e.g. create a "DataTransport" class below the "Network Object" class, and make Link and Adaptation class children of "DataTransport"). It may be possible to use the same class for Link and Adaptation (and distinguish between e.g. a "Type" attribute -- and yes, that is ironic, given the proposal in my previous email). I think just adding a new class is easiest, but I gladly hear other opinions. Regards, Freek