Draw on the right, write (Umple) model code on the left. Analyse models and generate code. This tool stores your data in cookies and on a server. I understand. Click to learn about privacy. Download Donate For help: User manual Ask questions Report issue
// This example shows a valid specialization // of the friends association in which the // multiplicity 0..3 is refined to 0..2, so a // person in general may have 0 to 3 dogs but // students are limited to 2. // This conforms to the Liskov substitution // principle: The data invariant on Person // which limits them to 3 dogs // is still true in the subclass Student. class Person { * -> 0..3 Dog friends; } class Student { isA Person; * -> 0..2 Dog friends; } class Dog { }