The Common.Change_control package contains a number of
minor problems or inconsistencies, as follows:
- the attribute 'node' in the class AUDIT_DETAILS is poorly named
- the 'description' attribute the CONTRIBUTION class should be in
the AUDIT_DETAILS class, since any kind of audit record might
include a description. For example, BitKeeper has description
for both change-set and for every file changed in a change set.
- rather than inheriting from AUDIT_DETAILS, the CONTRIBUTION
class should have an association relation with it, because
CONTRIBUTIONS are not as such, audit objects.
- it would be simpler if the 'change_type' attribute of the class
VERSION_AUDIT were moved to AUDIT_DETAILS, since this attribute
could be used for audits pertaining to CONTRIBUTIONs as well.
- following the above changes, the class VERSION_AUDIT can be
removed, and the class AUDIT_DETAILS made concrete.