Access Control Lists Usage Between Components

A development component (DC) can restrict the number of components that are allowed to use it. To do this, it defines an Access Control List (ACL). Only those components that are named in this access control list are allowed to declare dependencies to the component. In the same sense, a public part may grant access only to selected other components. Access can be granted on any level of a component hierarchy. However, not even by defining an access control list can you allow a component to directly access an inner component. The purpose of an ACL is to restrict the number of allowed dependencies.

In the following figure, objects of public part ppY of child DC Y are propagated to a public part ppA of parent DC A. This public part grants access only to a certain DC C. Component C can declare a dependency to ppA only if its parent component B allows it. This is shown in the example. Note that component B itself is not allowed to declare dependencies to ppA, even though, according to the general rules, ppA would actually be visible to B. Neither is component D allowed to use ppA, even though it is on the same hierarchy level as C.

In addition, component Z defines a public part ppZ, whose use of component D is restricted. Nevertheless, component D is not allowed to declare a dependency to ppZ, since its parent component B prohibits this.

ACL restrictions between components.