Instance Diagram
Given a class diagram described in umple the instance diagram generator will create a valid random instance diagram from the class diagram.
Instance names and ids
If the first attribute of a class is a String name then the name of the instance will match the randomly generated attribute value.
If the first attribute of a class is id or ends in Id (case sensitive such as productId and not cupid) the instance name will be className + id.
Suboptions
- Instance Links: Determines the amount of links between created instances for any associations with variable multiplicities.
- randomInstLinks (default): Creates a random valid number of links between generated instances.
- minInstLinks: Creates the minimum required number of links between generated instances based on their associations.
- maxInstLinks: Creates the maximum valid number of links between generated instances.
- Initial Instance Count: Determines the number of instances to create for each concrete class.
- randomInitialInstCount (default): Creates a random number of initial instances for each concrete class. Instances required by associations will still be created.
- initialInstCount (integer): Creates a minimum number of initial instances for each concrete class based on the passed value.
- maxInstIterations (integer, default: 100): Acts as a timeout for creating many instances dependent on one another. If the diagram is very large with long chains of associations, increase this suboption accordingly.
- maxInstClassCount (integer, default: 200): Determines the maximum number of instances in the generated diagram.
Possible Errors
- Reached maximum iterations. Ensure that the system is instantiable and non-infinite
- If this error occurs it is likely that the given system is too large for the given iterations. Increase the maxInstIterations if a large diagram is needed.
- Reached maximum class count. Ensure that the system is instantiable and non-infinite
- If this error occurs the generator attempted to generate more instances than the maxInstClassCount suboption. Either decrease the size of the multiplicities or increase the suboption as needed.
- Inheritance unresolvable. Ensure that all abstract/interface classes have concrete implementations that can be instantiated
- The given system has invalid inheritance from associations to abstract classes or interfaces which can't be instantiated.
- Infinite loop detected. Instantiating the following classes will lead to an infinite number of instances: (list of classes)
- The given system has multiplicities which lead to an infinite number of class instances. Check the associations between the listed classes.
- Generated InstanceDiagram is empty. For random diagrams, consider trying again or setting the initial class counts to a constant
- This occurs when randomInitialInstCount generates no instances at all, and occurs more often with small systems. Set an initialInstCount suboption or try again.
|