|
||||||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
See:
Description
Interface Summary | |
---|---|
CallOperationAction | |
Constraint | |
SendSignalAction | |
TypedElement | A representation of the model object 'Typed Element' |
UMLFactory | The Factory for the model. |
UMLPackage | The Package for the model. |
UMLPackage.Literals | Defines literals for the meta objects that represent each class, each feature of each class, each enum, and each data type |
Extensions to the Ecore metamodel for UML-specific concepts supported by the OCL language.
This package extends the Ecore metamodel to support UML concepts required by
the OCL language that Ecore does not implement. These extensions are not
required for the use of OCL on Ecore models, but would be necessary for other
metamodels that support some of these UML concepts. For example, a metamodel
describing SQL might map the intersection table of a many-to-many relationship
as an org.eclipse.emf.ocl.uml.AssociationClass
rather than a
many-to-many EReference
, especially as it may
have additional columns (attributes) of its own.
The following Ecore extensions are defined:
org.eclipse.emf.ocl.uml.Operation
: extends the
EOperation
metaclass to add the
query
boolean attribute. OCL constraints may be defined
on any kind of operation, but may only invoke query operations (that are
therefore guaranteed not to modify the system state). This metaclass is
useful to indicate which EOperation
s are (not) queries.org.eclipse.emf.ocl.uml.Signal
: extends the
EClass
metaclass to indicate that a type
corresponds to a UML Signal. Only Signal
s can be sent
by OCL messages.org.eclipse.emf.ocl.uml.AssociationEnd
: extends the
EReference
metaclass represent a navigable
end of a UML association. This is most useful for association ends that
have qualifiers, represented by org.eclipse.emf.ocl.uml.Qualifier
s.
For other associations, the EReference
metaclass is sufficient
to model the ends. Qualifier
s have type, multiplicity,
and ordering/uniqueness as do other
ETypedElement
s.org.eclipse.emf.ocl.uml.AssociationClassEnd
: extends the
EReference
metaclass represent a navigable
end of a UML association class (rather than just an association).
The AssociationClassEnd
references the
EClass
representing the association class, which
is used to resolve the navigation to association classes (navigation being
implied by the source's navigable association class ends).The other types in this package model portions of the OCL abstract syntax tree, not extending the Ecore language as such:
Constraint
: top-level construct in
the AST; contains an OCLExpression
in some constraint context.CallOperationAction
: represents an invocation
of an EOperation
in the OCL message model.SendSignalAction
: represents the sending of
a Signal
in the OCL message model.
The IOCLHelper
also provides simple, but
flexible, support for
parsing OCL expressions: invariants in a classifier context, and pre/post
conditions and body conditions in an operation context. Evaluation is also
supported for invariant constraints. The helper is constructed with an
EnvironmentFactory
that creates the
necessary environments for parsing the client's metamodel. This allows clients
of other metamodels than Ecore (e.g., SQL, UML2) that describe software
systems in terms of classifiers to use OCL to expression constraints.
An environment maps the metamodel in question to the OCL parser's extended
Ecore metamodel.
|
Copyright 2002, 2006 IBM Corporation and others. All Rights Reserved. |
|||||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |