UML Structural Elements and Attributes in Complex Models
What the domain tests
This domain checks whether you can read and write the UML 2.5 structural metamodel, not just draw boxes. Expect questions on Class, Property, Association, MultiplicityElement, Port, Connector, Collaboration, Component, Interface, and the attributes that distinguish them in large models.
Core rules
- A Property is a structural feature with a type, multiplicity (
lower..upper),isComposite,isDerived,isReadOnly,isOrdered, andisUnique.aggregationisnone,shared, orcomposite; only composite aggregation implies unique ownership and existence dependency. - An Association has
memberEnds; a binary association has two ends. An end is navigable when the opposite classifier owns it as a property. Qualifiers narrow the lookup of an end. - A Port is a Property with
isPort=true, typed by an Interface or Class, with its own multiplicity.isConjugated=truereverses provided and required interfaces. - A Connector is a feature with connector ends. An assembly connector links a required interface to a provided interface; a delegation connector links an outer port to an internal part port.
Worked example
Model a SensorBus component with port bus: BusIF [1] and conjugated port diag: ~DiagIF. Inside, part ctrl: Controller requires BusIF; parts s1 and s2 provide BusIF. An assembly connector joins ctrl's required BusIF to s1's provided BusIF. A delegation connector joins bus to ctrl's port. Reasoning: the external provided interface is delegated inward; the assembly connector satisfies the controller's requirement; conjugation means diag requires what DiagIF provides.
Traps
Do not treat a port as a mere attribute or a connector as a dependency arrow. Shared aggregation is not composite. Port multiplicity is not connector-end multiplicity. A part is a Property typed by a Classifier, not an association end.