> Although multiple inheritance is allowed in UML 2.0 (I don't know > about > previous versions), it is stated as not recommended to use as many > programming languages do not support multiple inheritence.
Multiple inheritance has been provided in all versions of UML, and I am unaware of any recommendation in a UML standard to avoid the use of multiple inheritance. Could you please give me a more precise reference to this recommendation? There is some advice in the UML 2.0 standard regarding the use of powertypes and their implementation in certain programming languages (see para below). Could this be the recommendation you are thinking of? If so, it is not a recommendation against multiple inheritance. "Power types are a conceptual, or analysis, notion. They express a real-world situation. Implementing, however, them may not be easy and efficient. To implement power types with a relational database would mean that the instances of a relation could also be relations in their own right. In object-oriented implementations, the instances of a class could also be classes. However, if the software implementation can not directly support classes being objects and vice versa, redundant structures must be defined. In other words, unless you're programming in Smalltalk or CLOS, the designer must be aware of the integrity problem of keeping the list of power type instances in sync with the existing subclasses." Thanks Kerry Dr Kerry Raymond Distinguished Research Leader CRC for Enterprise Distributed Systems Technology University of Queensland 4072 Australia Ph: +61 7 3365 4310, Fax: +61 7 3365 4311, www.dstc.edu.au - If you have any questions about using this list, please send a message to d.lloyd at openehr.org

