Structural Diagrams: Package Diagrams
SysML Structural Diagram Types
Structural Related
Block Definition Diagrams (bdd)
System elements
Internal Block Diagrams (ibd)
Interactions between parts
Package Diagrams (pkg)
structure of the model not the system
Parametric Diagram (par)
mathematical constraints
Definitions of a Package Diagram (pkg)
What is a SysML Package Diagram? Several Different Definitions from the Experts
Package diagram (pkg): A Package diagram is a static structural diagram that shows the relationships among packages and their contents. Package can be stereotyped (customized) for organizing model elements into models, views, model libraries, and frameworks.
The SysML Package diagram is used to define or view the Packages that provide the fundamental organization of the repository. These can include name-spaces and their sub-Packages and other less formally defined groups of elements. The Packages that appear in diagrams can also be viewed in the Browser window and their hierarchy can be navigated by expanding and collapsing the tree.
The main element that is represented in the Package diagram is the Package itself, with the elements it contains. There are a number of important relationships between Packages, including Dependencies that show that one Package is dependent on one more other Packages. Packages can be organized into a number of different types of hierarchy.
Main Takeaway: The package diagram shows how the model is organized/decomposed while block definition diagrams shows how the system of interest is organized/decomposed.
In most modeling tools there is a "containment tree" window which shows the package/file structure of the model. This will usually suffice to explain the decomposition of the model. Therefore the package diagram is not used all that often because the containment tree efficiently explains the model's structure.
Package diagrams are used for "Start Here" or "Navigation" pages within your model. It will allow new modelers to more efficiently navigate around the model as the containment tree can be overwhelming to new modelers not familiar with the organization.
Package Diagram (pkg) Example
In this example, we see several packages with relationships between them. Packages are portrayed by the folder icon. Package diagrams are meant to show how the model is organized rather than how the system is organized. Package diagrams show the meta-model information.
In experience, these diagrams are used less than the other diagram types because an experienced modeler can usually get the same information by looking at the containment tree. Another reason these diagrams are not built by the modeler that frequently is because normally, a common package structure & methodology is used between business area so these metamodel package diagrams can be placed in libraires and project used by the modeler's project.
When to use an pkg
Definition 1:
The Package diagram can be used to describe the relationship between Packages and the elements that they contain. While structural information is visible in the Browser window there is a range of relationships that can exist between Packages themselves and between Packages and elements, that cannot be visualized in the Browser window. Package diagrams can also be included in documentation and can assist in orientating an audience by giving them an overview of a section of the architecture or design in a similar way to providing a table of contents in a publication.
What is the purpose of a pkg?
Definition 1:
The purpose of Package diagram is to support the organization and management of large, complex System Architecture Models (SAMs).
Cameo pkg Toolbar
Elements within a Package Diagram
Package:
A Package (notation: "folder" icon) is a general-purpose mechanism for organizing model elements and diagrams into groups. Packages define unique namespaces for model elements defined within their scope.
namespace = a declarative region that provides scope for the identifiers contained within
Additional Elements:
Model
Model Library
View
View Point
Stakeholder
The main connectors that can appear in Package diagrams are:
Conform
Dependency
Import
Containment
Realization
Refine
Expose