Introduction to the Objecteering metamodel

Presentation

Welcome to the Objecteering Metamodel User Guide!

The Objecteering metamodel contains the most accurate description of the information managed by Objecteering, as well as its definition and links.

This user guide describes all predefined J classes (Objecteering metaclasses), and constitutes a working base for J programmers and MDA Modeler users wishing to implement new services based on the metamodel (such as model transformation, code or documentation generation, metrics calculation or model requests.

What is a metamodel?

A metamodel is the model of a model, and the Objecteering metamodel provides a detailed description of the model supported by Objecteering.

The Objecteering tool is built using automated model transformation and code generation techniques, based on the presented metamodel. All its component elements (model dialog boxes, graphic editors, model manager, ...) are deduced from the metamodel, meaning that you have here the model of the actual model of Objecteering itself.

Using the metamodel

Within the Objecteering metamodel, each metaclass is documented by a description of its attributes and relationships directed to and from it.

The names used in the Objecteering metamodel are exactly those that must be used in the J language, when working with the metamodel (attribute names, names of the roles concatenated with those of the opposite classes, and class names).

The services provided by each metaclass are also presented. In addition, element composition graphs are provided, thereby illustrating the way in which new instances are created.

A standard reference

This Objecteering metamodel corresponds to the first iteration of UML 2.0 implementation. Objecteering will progressively implement all UML 2.0 semantics.

The semantics of the models supported remain the same. However, the metamodel corresponds to Objecteering's implementation of the UML model. Correspondence is generally simple and straightforward, and differences are the result of backward compatibility, the single generalization constraint within Objecteering, and a pragmatic vision of the best way to support UML.

Softeam, one of the main contributors to the definition of the UML standard, knows UML's strong and weak points, as well as those areas where compromises have led to intermediary proposals within the standard, and is therefore ideally positioned to implement a useful solution.

Classes

AbstractPseudoState ConnectionPointReference InformationFlow DurationConstraint InformationItem BPMNEvent MessageFlow UseCaseDependency UseCase Usage Transition TemplateParameterSubstitution TemplateParameter TemplateBinding TaggedValue TagType TagParameter Substitution StructuredActivityNode Stereotype StateVertex StateMachine StateInvariant State Signal SendSignalAction RequiredInterface RaisedException PseudoState ProvidedInterface Project Port Pin PartDecomposition Parameter PackageMerge PackageImport Package OutputPin Operation OpaqueBehavior OpaqueAction OccurrenceSpecification ObjectNode ObjectFlow NoteType Note Node NameSpace MpGenProduct ModelTree ModelElement MessageEnd Message Manifestation LoopNode LinkEnd Link Lifeline Item InterruptibleActivityRegion InternalTransition InternalProduct InterfaceRealization Interface InteractionUse InteractionOperand InteractionFragment Interaction InstanceNode Instance InputPin InitialNode Generalization GeneralOrdering GeneralClass Gate ForkJoinNode FlowFinalNode FinalNode Feature ExtensionPoint ExecutionSpecification ExecutionOccurenceSpecification Event EnumerationLiteral Enumeration ElementRealization ElementImport Element Diagram Dependency DecisionMergeNode DataType DataStoreNode DataFlow ControlNode ControlFlow Constraint ConnectorEnd Connector ConditionalNode Condition Component CommunicationNode CommunicationMessage CommunicationInteraction CommunicationChannel CombinedFragment CollaborationUse Collaboration Clause Classifier ClassAssociation Class CentralBufferNode CallOperationAction CallBehaviorAction CallAction Binding BindableInstance BehaviorParameter Behavior AttributeLink Attribute AssociationEnd Association Artifact Actor ActivityPartition ActivityParameterNode ActivityNode ActivityGroup ActivityFinalNode ActivityEdge ActivityAction Activity AcceptTimeEventAction AcceptSignalAction AcceptChangeEventAction AcceptCallEventAction Abstraction
NameSummary
AbstractionRelationship relating two Elements that represent the same concept at different levels of abstraction.
AcceptCallEventActionRepresents the receipt of a synchronous call request.
AcceptChangeEventActionAction that waits for the specified condition to be true.
AcceptSignalActionAction waiting for the occurrence of a specific signal being sent.
AcceptTimeEventActionAction that waits for the occurrence of a time event meeting a specified condition.
ActivitySpecification of a behavior with coordinated actions.
ActivityActionFundamental unit of executable functionality.
ActivityEdgeAbstract class for directed connections between two activity nodes.
ActivityFinalNodeFinal node that stops all flows in an activity.
ActivityGroupGeneric grouping construct for nodes and edges.
ActivityNodeExecutable activity node that is the fundamental unit of executable functionality in an activity, as opposed to control and data flow among actions.
ActivityParameterNodeObject node for inputs and outputs to activities.
ActivityPartitionKind of activity group for identifying actions that have some characteristic in common.
ActorActive element external to the system, and cooperating with it.
ArtifactRepresentation of a physical piece of information that is used or produced by a software development process, and that can be deployed to Nodes. Examples of Artifacts include model files, source files, scripts and binary executable files.
AssociationDefinition of links that may exist between objects.
AssociationEndConnection of an Association to one of its related Classes.
AttributeProperty of a Class.
AttributeLinkNamed slot in an instance, which holds the value of an Attribute.
BehaviorImplementation of a behavioral Feature or of a Classifier.
BehaviorParameterParameter of a behavior.
BindableInstanceA UML 2.0 Part.
BindingMapping between the Features of the Collaboration type and the Features of the Classifier or Operation.
CallActionAbstract class for actions that invoke behavior and receive return values.
CallBehaviorActionCall action that invokes a behavior directly.
CallOperationActionAction that transmits an operation call request to the target object.
CentralBufferNodeObject node for managing flows from multiple sources and destinations.
ClassDescription of a set of objects that share the same Attributes, Operations, methods, relationships and semantics.
ClassAssociationClass relating other Classes. It is both a Class and an Association.
ClassifierA classification of instances. A Classifier describes a set of instances that have something in common. A Classifier can have Features that characterize those instances.
ClauseRepresents a single branch of a conditional construct.
CollaborationDescription of how a Classifier or Operation is realized by a set of Classifiers used and related in a specific way.
CollaborationUseRepresentation of a particular use of a Collaboration.
CombinedFragmentDefines an expression of interaction fragments.
CommunicationChannelRepresents the channel that communication messages follow
CommunicationInteraction 
CommunicationMessageOccurrence of an Operation, processed by Instances.
CommunicationNodeRepresents an individual participant in the communication interaction.
ComponentA modular part of a system that encapsulates its contents and whose manifestation is replaceable within its environment.
ConditionBoolean expression used to make a choice.
ConditionalNodeRepresents an exclusive choice among some number of alternatives.
ConnectorLink between Parts.
ConnectorEndEndpoint of a Connector.
ConstraintA condition or restriction expressed in natural language text or in a machine readable language, for the purposes of declaring some of the semantics of an element.
ControlFlowEdge that starts an activity node after the previous one is finished.
ControlNodeAbstract activity node that coordinates flows in an activity.
DataFlowCirculation of information between ModelElements.
DataStoreNodeCentral buffer node for non-transient information.
DataTypeA type whose values have no identity (that is, they are pure values). DataTypes include primitive built-in types (such as integer and string) as well as enumeration types.
DecisionMergeNodeControl node that brings together multiple alternate flows then chooses between outgoing flows.
DependencyStatement that the implementation or functioning of one or more elements requires the presence of one or more other elements.
DiagramGraphical representation of a model.
ElementAtomic constituent of a model.
ElementImportIdentification of an element in another Package, and allows the element to be referenced using its name without a qualifier.
ElementRealizationSpecialized Abstraction relationship between two sets of ModelElements.
EnumerationSpecial kind of DataType whose range is a list of predefined values, called EnumerationLiterals.
EnumerationLiteralDefinition of an atom (that is, with no relevant substructure) that represents one in a list of values that an enumeration may have.
EventSpecification of a significant occurrence that has a location in time and space.
ExecutionOccurenceSpecificationSpecifies the occurrence of sending and receiving of signals or operation calls.
ExecutionSpecificationSpecification of the execution of a unit of behavior or action within the Lifeline.
ExtensionPointPoint in the behavior where it can be extended
FeatureProperty, like Operation or Attribute, which is encapsulated within another entity, such as an Interface, a Class or a DataType.
FinalNodeAbstract control node at which a flow in an activity stops.
FlowFinalNodeFinal node that terminates a flow.
ForkJoinNodeControl node that splits and/or synchronizes multiple flows.
GateConnection point for relating a Message outside an InteractionFragment with a Message inside the InteractionFragment.
GeneralClassGeneral definition of a Class.
GeneralOrdering(not implemented) Describes that one OccurrenceSpecification must occur before the other
GeneralizationTaxonomic relationship between a more general Classifier and a more specific Classifier.
InitialNodeControl node at which flow starts when the activity is invoked.
InputPinObject nodes that receive values from other actions through object flows.
InstanceRepresentation of an Instance in a modeled system, or role played by Instances in a certain context.
InstanceNodeInstance of a particular classifier, possibly in a particular state, available at a particular point in the activity.
InteractionUnit of behavior that focuses on the observable exchange of information between Instances.
InteractionFragmentPiece of an interaction.
InteractionOperandRepresents one operand of the enclosing CombinedFragment.
InteractionUseReference to an Interaction.
InterfaceA kind of Classifier that represents a declaration of a set of coherent public Features and obligations.
InterfaceRealizationImplementation link between a Class and its Interface, or between a Component and its Interface.
InternalProductAdditional elements attached to ModelElements.
InternalTransitionTransition that is internal to a State.
InterruptibleActivityRegionActivity group that supports termination of tokens flowing in the portions of an activity.
ItemItem that can be specialized to add new elements to UML.
LifelineRepresents an individual participant in the Interaction.
LinkConnection between Instances.
LinkEndEnd point of a Link.
LoopNodeRepresents a loop with setup, test, and body sections.
ManifestationThe concrete physical rendering of one or more ModelElements by an Artifact.
MessageOccurrence of an Operation, processed by Instances.
MessageEndRepresents what can occur at the end of a Message.
ModelElementNamed entity in a Model.
ModelTreeModelTree is the abstraction of each element organizing ModelElements using an OwnerShip association.
MpGenProductWork product produced automatically by Objecteering.
NameSpaceElement in a model that contains a set of named elements that can be identified by name.
NodeComputational resource on which Artifacts may be deployed for execution. Nodes can be interconnected through communication paths to define network structures.
NoteText attached to a ModelElement.
NoteTypeDefines a specific kind of Note.
ObjectFlowModels the flow of values to or from object nodes.
ObjectNodeAbstract activity node that is part of defining object flow in an activity.
OccurrenceSpecificationBasic semantic unit of Interaction.
OpaqueActionAn action with implementation-specific semantics.
OpaqueBehaviorA behavior with implementation-specific semantics.
OperationIndividual pieces of invocable behavior.
OutputPinHolds output values produced by an action.
PackageDecomposition unit of a model.
PackageImportRelationship that allows the use of unqualified names to refer to Package members from other NameSpaces.
PackageMergeDefinition of how one Package extends another Package by merging their contents.
ParameterSpecification of an argument used to pass information into or out of an invocation of a behavioral Feature.
PartDecompositionDescription of the internal interactions of one Lifeline relative to an Interaction.
PinProvides values to actions and accept result values from them.
PortSpecification of an interaction point of the Classifier.
ProjectWorkspace inside which a Model is built.
ProvidedInterfacePort provided Interface link.
PseudoStateAbstraction of different types of Nodes in the StateMachine graph.
RaisedExceptionException raised by an Operation link.
RequiredInterfacePort required Interface link.
SendSignalActionAction that creates and sends a signal instance.
SignalSpecification of an asynchronous stimulus communicated between Instances.
StateNotable situation or condition during the life of an object.
StateInvariantRuntime constraint on the participants of the interaction.
StateMachineGraph of States and Transitions that describes the dynamic behavior of objects.
StateVertexAbstraction of a Node in a statechart graph.
StereotypeSpecific adaptation of ModelElement semantics.
StructuredActivityNodeRepresents a structured portion of the activity that is not shared with any other structured node.
SubstitutionRelationship between two Classifiers signifying that the substituting Classifier complies with the contract specified by the contract Classifier.
TagParameterParameter for TaggedValues.
TagTypeDefinition of the TaggedValues permitted for a given metaclass.
TaggedValueAttachment of a piece of information to a ModelElement.
TemplateBindingRepresentation of a relationship between a templateable element and a template.
TemplateParameterParameter for templated elements.
TemplateParameterSubstitutionRelation of the actual parameter(s) to a formal template parameter as part of a TemplateBinding.
TransitionPath from one State to another.
UsageUse dependency.
UseCaseUnit of externally visible functionality provided by part of a system.
UseCaseDependencyInheritance or Dependency link (Uses) between UseCases.

Enumerate types

NameDescription
AggregationKind (KindIsAssociation, KindIsAggregation, KindIsComposition)Definition of whether or not an Association is an aggregation, a shared aggregation or a true composition.
EventType (SignalEvent, CallEvent, TimeEvent, ChangeEvent)Definition of each possible type of Event, which can be receiving a signal, receiving or sending a message, time event (clock), change defined by a boolean expression.
KindOfAccess (Read, Write, ReadWrite, AccesNone)Different kinds of access that an Attribute may have.
KindOfControl (If, Case) 
KindOfStateMachine (protocol, dynamic)Definition of whether or not a StateMachine describes the dynamics of a ModelElement (Class, UseCase, Package), or is a protocol StateMachine.
MethodPassingMode (MethodIn, MethodOut)Definition of whether or not the receiver object will be modified by the Operation.
ObjectFlowEffectKind (CreateFlow, ReadFlow, Updateflow, DeleteFlow, ExceptionFlow)Indicates the effect of an ObjectFlow on values passed on it.

Objecteering specific:
This enumeration kind does not exist in the OMG metamodel.
ObjectNodeOrderingKind (Unordered, Ordered, LIFO, FIFO)ObjectNodeOrderingKind is an enumeration indicating queuing order within a node.
ParameterEffectKind (CreateEffect, ReadEffect, UpdateEffect, DeleteEffect)The ParameterEffectKind datatype is an enumeration that indicates the effect of a behavior on values passed in or out of its parameters.
PassingMode (In, Out, Inout)Passing mode of a Parameter in an Operation.
PredefinedEventType (DoEvent, EntryEvent, ExitEvent, OtherEvent)Definition of all predefined types of event. InternalTransitions may be of one of these predefined types.
StateKind (InitialState, DeepHistoryState, ShallowHistoryState, JoinState, ForkState, BranchState, FinalState, SignalReceiptState, SignalSendingState, SynchronizationState)Definition of all types of PseudoState, each of which has specific notation and semantics.
VisibilityMode (Public, Protected, Private, VisibilityUndefined, PackageVisibility)Visibility that a Feature or a component of a NameSpace may have.
InteractionOperator (SeqOp, AltOp, OptOp, BreakOp, ParOp, StrictOp, LoopOp, CriticalOp, NegOp, AssertOp, IgnoreOp, ConsiderOp) 
MessageKind (CompleteKind, LostKind, FoundKind, UnknownKind)MessageKind is an enumeration of the following values:
MessageSort (SyncCall, ASyncCall, ASyncSignal, CreateMessage, DestroyMessage, ReturnMessage)MessageSort is an enumeration of the following values: