Def.- A package is a collection of model elements that can be of arbitrary types and that are used to structure the entire model in smaller, easily manageable units.
Package can contain all elements that are derived from PackageableElement.
A package defines a namespace (the names of the elements in a package have to be unique).
Packages can contain other packages.
Notation & Semantics
Packages can contain various model elements (e.g. classes and use cases).
They can be also contain other packages.
A model element, such as a class, can be used in several packages, but every class has its home package.
All other packages would merely mention it by its qualified name: package name::class name
This causes dependencies to form between the packages involved; a package uses classes of another package.
Packages
Notation & Semantics
package name::class name