OCUP 2 Advanced study materials
OCUP 2 Advanced study resources

OCUP 2 Advanced: Complete UML palette of elements and attributes for modeling structure and behavior in up to the largest system models

OCUP 2 Advanced · Work through your exam, one topic at a time.

All guide sections

Complete UML palette of elements and attributes for modeling structure and behavior in up to the largest system models

Scope and intent

This domain tests whether you can select the correct UML 2.5 metaclass and set its attributes when a model grows beyond a few diagrams. Structure questions turn on Class, Property, Association, AssociationClass, DataType, Interface, Component, Port, Connector, Collaboration, Artifact, Node and DeploymentSpecification. Behavior questions turn on Activity/Action/ControlFlow/ObjectFlow, StateMachine/Region/Vertex/Transition, Interaction/Lifeline/Message/CombinedFragment, and UseCase. You must know which attributes are owned where: Property.multiplicity, aggregation, isComposite, isDerived, isReadOnly, isStatic; Association.memberEnd and navigableOwnedEnd; Classifier.isAbstract and isFinalSpecialization; Transition.trigger, guard, effect; Message.sort; Pin.type and multiplicity.

Core rules

  • An Association owns its memberEnds only when the ends are ownedEnd; an end may be owned by a classifier as a Property and still be a memberEnd. Navigability is separate from ownership.
  • Composition is Property.isComposite=true and implies aggregation=composite; shared aggregation is weaker and often semantically vague.
  • Redefinition and subsetting are constraints among properties; a redefining property must be compatible in type and multiplicity.
  • Behavior is token-based: ActivityNodes consume and produce tokens; ObjectFlow carries values; ControlFlow carries control. Initial nodes create tokens; final nodes consume them.
  • A StateMachine's Region has one initial Pseudostate; a Transition may have multiple triggers but one guard and one effect.

Worked example

A gateway class has a composite part sensor typed by Sensor; Sensor owns a Port p typed by ISensor, and a Connector links p to a peer port. Which metaclass owns the part, and where does the port live? The part is a Property of Gateway with isComposite=true and type Sensor. The Port is an owned Property of Sensor, not of Gateway; its type is the interface ISensor. The ConnectorEnd roles reference the two ports. Reasoning: separate whole-part structure from interface points; a port is a property of its owning classifier, and a connector is not an association.

Traps

  • Treating association-end ownership as navigation.
  • Marking an association class as a subclass of its association.
  • Giving an action output pin a multiplicity that cannot satisfy a downstream input.
  • Forgetting that a region can have several final states but one initial pseudostate.
  • Using aggregation=composite instead of the boolean isComposite.