Defining the Scope of a Container
The scope of a container is defined by the set of building blocks accessible from this container via two possible links:
• an ownership link,
• an import link.
A building block can be owned by a container:
• explicitly, if the container owns it directly,
• implicitly, if its owner (or the owner of the owner, etc.) is itself in the container.
The name of the object is unique only within the context of its owner.
For example, let us look at two different containers:
- a library dedicated to architecture building blocks related to “Public Transport”.
- a library dedicated to the "Accounting" public transport department.
If the "Accounting" library is specialized in transport business functions, it will be owned by the "Public transport" library. The objects owned by the "Accounting" library will also be held by the "Public transports" library.
However, an object owned by a container can be used in the context of another container.
For example, let us look at the container associated with a "Public transport" client company.
The container that represents the client company can import equipment or human resources from the "Public transport" container.
Lastly, to prevent working on objects common to two different containers, you should create an additional container for the shared objects. There will be no name conflict as the users in each company work in their own container.
For example, if the “Accounting” container is sufficiently generic to be common to the "Public transport" company and its client company, it can also be imported in the container that represents the client company, on the one hand, and in the "Public transport" container, on the other hand.
In this case, it is no longer owned by the container associated with the transport company.
Thus, the users of one container can refer to, in their models, other objects created by the users in the other container. They can also share common objects in a third container.
Defining the object owned by a container
Defining the Object Owner
Defining objects contained using a navigation tree
Importing other objects in a container
Defining the building blocks imported in a container
Defining the containers imported in a container