Pattern asymmetricOneToMany

SVG plug-in required to display this diagram


Description This pattern implements an asymmetric One-to-many relationship where the relationship asset becomes a subordinate of "One" entity.
Default Namespace http://www.aoModeling.org/patterns/generic/relationship/asymmetricOneToMany
Namespace Prefixes {none}
Scope Definitions {none}
Default Type System {none}
Type System Prefixes {none}
Default Constraint Language {none}
Constraint Language Prefixes {none}
Default Operation Vocabulary {none}
Operation Vocabulary Prefixes {none}
Design Patterns {none}
Included Models {none}

Pattern Info

Category generic/relationship
Keywords relationship
Alias names {none}
Purpose The purpose of this pattern is to establish an asymmetric relationship between a single entity of type A to multiple entities of type B.
Motivation One-to-many relationships occur quite often in real world scenarios, for example the relationship between manager and staff, or between a tutorial and the students attending the tutorial.
Applicability This design pattern should be applied for binary one-to-many relationships. It should not be applied to one-to-one relationships or many-to-many relationships. It is also not suitable for ternary, or even higher n-ary relationships, or for composite/part situations.
Consequences

This pattern implements the given one-to-many relationship as a separate asset. An arc with the cardinality constraint [1..1] points from the single entity A to the relationship asset, and an arc with the cardinality of [1..*] points from the relationship asset to the entity type B possibly representing multiple entities.

Advantages: This pattern can be used in situations where the entities are located in different containers (L2S) without the risk of creating orphan assets.

Disadvantages: The hierarchy between relationships and entities is not visualized well.

Known Applications Examples are: Relationship between manager and staff. Relationship between a tutorial and students attending the tutorial.
Related Patterns
composite http://www.aoModeling.org/patterns/generic/aggregation/composite
Use the composite pattern when dealing with aggregations.
oneToMany http://www.aoModeling.org/patterns/generic/relationship/oneToMany
Use the oneToMany pattern in containerless models or when both entities are located in the same container.
asymmetricOneToOne http://www.aoModeling.org/patterns/generic/relationship/asymmetricOneToOne
Use the asymmetricOneToOne relationship if the relationship relates an asset of type A to exacly one asset of type B.
Level 2 Structures EntityOne
Assets EntityMany
Annotations {none}
Errors {none}
Warnings {none}
Infos {none}
Status Pattern contains 0 errors, 0 warnings, and 0 infos

Graphics Index