I try to represent in a UML Class Diagram the following object and features:
- The Object: A System (e.g. an electronic device) that can be of Type A, B or C
- If the System is of type A, it has a specific extra attribute (let say "sub-type", which values can be A1 or A2)
I created a Class named "System" and:
- Created a class "System_TypeA" that holds an extra attribute named "subSystem" that can take any value within A1 and A2.
- Created a generalization relationship beteween the two classes ("System_TypeA" is a "System")
So far, so good.
Now, each System can be the backup system of other Systems. If this is the case, the System should hold a collection of references of the systems it is backing-up
So for this feature, I also created a Class named "Backup_System" and created generalization between the two classes, since a "Backup_System" is a "System".
So how to represent in the Class Diagram the fact that there can be Systems of Type A that are Backup systems (i.e. the problem of multiple inheritance)??
(For info, the implementation should be done in java, so the same problem of multi-inheritance will be faced at implementation.)