public interface DependencyRelationship extends Relationship
Dependency relationships describe how elements support or are used by other elements. Three types of dependency relationship are distinguished:
Note that, although the notation of these relationships resembles the notation of the dependency relationship in UML, these relationships have distinct meanings in ArchiMate notation and (usually) point in the opposite direction.
One advantage of this is that it yields models with directionality, where most 2 of the arrows that represent such supporting, influencing, serving, or realizing dependencies point 'upwards' towards the client/user/business.
Another reason for this direction, in particular for the serving relationship, is that it abstracts from the 'caller' or 'initiator', since a service may be delivered proactively or reactively.
The direction of delivery is always the same, but the starting point for the interaction can be on either end.
UML's dependency is often used to denote the latter, showing that the caller depends on some operation that is called.
However, for modeling this type of initiative, the ArchiMate language provides the triggering relationship , which can be interpreted as a dynamic (i.e., temporal) dependency. Similarly, the flow relationship is used to model how something (usually information) is transferred from one element to another, which is also a dynamic kind of dependency.
[2] : Note that the direction of access depends on the type of access (read versus write access) as described in its section.
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
MNAME
The metaclass simple name.
|
static java.lang.String |
MQNAME
The metaclass qualified name.
|
getFrom, getTo, setFrom, setTo
getOwnerFolder, getRelatedFrom, getRelatedFrom, getRelatedTo, getRelatedTo, setOwnerFolder
addStereotype, getAttached, getAttached, getDependsOnDependency, getDependsOnDependency, getDescriptor, getDescriptor, getExtension, getExtension, getImpactDependsOn, getImpactDependsOn, getImpactedDependency, getImpactedDependency, getImpactImpacted, getImpactImpacted, getLocalProperties, getLocalProperty, getMatrix, getMatrix, getName, getNote, getNote, getNote, getNoteContent, getNoteContent, getNoteContent, getProduct, getProduct, getProperties, getProperties, getProperties, getProperties, getProperties, getProperty, getProperty, getProperty, getProperty, getStereotype, getTag, getTag, getTag, getTag, getTag, getTagValue, getTagValue, getTagValue, getTagValues, getTagValues, getTagValues, isStereotyped, isStereotyped, isTagged, isTagged, isTagged, putNoteContent, putNoteContent, putNoteContent, putTagValue, putTagValue, putTagValue, putTagValues, putTagValues, putTagValues, removeNotes, removeNotes, removeNotes, removeStereotypes, removeTags, removeTags, removeTags, setLocalProperties, setLocalProperty, setName, setProperty, setProperty, setProperty, setProperty
getAddedToQuery, getAddedToQuery, getCausedImpact, getCausedImpact, getDiagramElement, getDiagramElement
eAllContents, eClass, eContainer, eContainingFeature, eContainmentFeature, eContents, eCrossReferences, eGet, eGet, eInvoke, eIsProxy, eIsSet, eResource, eSet, eUnset
eAdapters, eDeliver, eNotify, eSetDeliver
accept, delete, getCompositionChildren, getCompositionOwner, getMClass, getStatus, getUuid, isDeleted, isModifiable, isShell, isValid, mGet, mGet, mSet
static final java.lang.String MNAME
static final java.lang.String MQNAME