http://www.ccs.neu.edu/research/demeter/papers/derived-edges/derived-edges.pdf @TECHREPORT{greg:derived-edges, AUTHOR = "Greg Sullivan and Karl Lieberherr", TITLE = "An Object-oriented Design Methodology", INSTITUTION = "Northeastern University", YEAR = 1995, MONTH = "January", NUMBER = "NU-CCS-95-1", NOTE = "Was completed in December 1992" } There is an interesting connection between relationship aspects and derived edges. First, at the example level both papers use a shortest path problem in a network of tracks or roads. Higher level correspondences are: derived edges relationship aspects ---------------------------------------------------- edge (relation) specified by relation specified by traversal subschema aspect relation edges relationship specializations: several specializations: functions unidirectional repetitions alternations relation interface add add match to, from matchall ======== In both cases relationships are specified separately from the classes. In both cases actual implementation strategies for the relations may be deferred. Derived edges compose relations by using traversal schemas that are evaluated using an evaluation by preparedness approach.