OCUP 2 Advanced study materials
OCUP 2 Advanced study resources

OCUP 2 Advanced cheat sheet

OCUP 2 Advanced · Keep the key ideas within reach.

Quick reference

Complete UML Palette of Elements and Attributes for Structure and Behavior

  • Classifier metatypes: Class, Interface, DataType, PrimitiveType, Enumeration, Association, Component, Node, Artifact, Signal, Actor, UseCase, Collaboration, Activity, Interaction, StateMachine, ProtocolStateMachine; each is a Type and a Namespace.

  • Structural feature kinds: Property (owned by Classifier or Association memberEnd), Port (typed by Interface or Class, isBehavior/isService flags), and Connector; Operation is a BehavioralFeature with owned Parameter sets (in, out, inout, return).

  • Multiplicity is a MultiplicityElement: lowerValue/upperValue (ValueSpecification), isOrdered, isUnique; default is 1..1, unbounded upper is LiteralUnlimitedNatural(*).

  • Association ends: navigability via ownedEnd vs memberEnd, aggregation (none/shared/composite), isDerived, isReadOnly, isStatic; a binary association with navigable end maps to a reference property, composite aggregation to owned part.

  • Behavior hierarchy: Behavior is a Class; Activity (token flow, ObjectFlow, ControlFlow, ActivityPartition, Pin subtypes InputPin/OutputPin/ValuePin), Interaction (Lifeline, Message, OccurrenceSpecification, CombinedFragment operator enum seq/alt/loop/par/opt), StateMachine (Region, Vertex, State, Transition with trigger/guard/effect).

  • UseCases: Include and Extend are directed relationships; Extend carries condition and extensionLocation (ExtensionPoint); Generalization sets isSubstitutable, and RedefinableElement supports isLeaf, redefinitionContext.

  • Deployment and packaging: Package (PackageMerge, PackageImport with visibility), Component with provided/required InterfaceRealization and Usage, Node with Deployment and DeploymentSpecification, Artifact manifesting Components.

  • Constraint and template detail: Constraint with OpaqueExpression/namespace, TemplateSignature plus TemplateParameter and TemplateBinding (ParameterSubstitution), and classifier-owned Attribute/Operation ordering via isOrdered on the feature list.

Quick reference

Metamodeling Based on UML-Family Specifications (ALF, fUML, MOF)

  • MOF four-layer architecture: M3 MOF/EMOF metamodel, M2 user metamodel, M1 model, M0 runtime instances; a UML Class is an M2 element whose metaclass is an M3 MOF Class.

  • MOF reflection: every M2 element is an instance of a metaclass; getMetaClass(), isInstanceOfType(), and the Reflection package (Factory, Object, Property) permit runtime metamodel navigation.

  • EMOF restricts MOF: no multiple inheritance of classes, no association classes, no derived unions, single containment, and mandatory opposite ends - used for XMI interchange.

  • fUML (Semantics of a Foundational Subset) defines an executable UML subset: Activity execution via token semantics, Loci/Executor, EventDispatchLoop, and the base types (Integer, Boolean, String, UnlimitedNatural, Real).

  • fUML execution model: ActivityExecution owns ActivationGroup and Token; ObjectActivation holds FIFO offers; structured nodes (ExpansionRegion, StructuredActivityNode) follow specific firing rules; ChangeEvent/TimeEvent handled by the EventDispatchLoop.

  • ALF (Action Language for fUML) is a textual surface syntax mapping to fUML Activities: mapping produces Activity nodes; Alf defines statements, expressions, and a namespace/import model aligned with UML Package.

  • ALF/fUML mapping rules: an Alf statement maps to a StructuredActivityNode or a single action; sequencing yields ControlFlow; an Alf assignment maps to AddStructuralFeatureValueAction or WriteVariableAction.

  • Conformance and profiles: a metamodel conforms to MOF when it instantiates MOF metaclasses; UML Profiles extend UML via Stereotype, Extension (required), and TaggedValue; fUML conformance requires an execution engine honoring token semantics.