SysML Package Diagram

From Training Material
Jump to navigation Jump to search


SysML Package Diagram⌘

Package⌘

  • A Package is used to group elements, and provides a namespace for the grouped elements.
  • All the members of a namespace are distinguishable within it. A Packageable Element is a model element that may be owned directly by a Package.
  • The visibility of a packaged element (private or public) may be used to specify which elements can be imported into another package (default public)
  • A qualified name syntax:
package name::element name

Package nesting⌘

  • Packages support package hierarchies.

Package relationship⌘

  • Some elements from package B depends on some elements from package A

Package Import, Access⌘

A package import is defined as a directed relationship that identifies a source package whose members are to be imported by a target namespace.

Two types:

  • «import» for a public package import
    • transitive: if A imports B and B imports C then A indirectly imports C
  • «access» for a private package import
    • intransitive (elements are imported as private members of the target package)

Package Import Example 1⌘

  • elements in Types are imported to ShoppingCart, and then further imported to WebShop
  • elements of Auxiliary are only accessed from ShoppingCart, and cannot be referenced from WebShop

Package Import Example 2⌘

Model⌘

  • A Model is a description of a system - not only software and hardware but organizations and processes.
  • It describes the system from a certain viewpoint, for a certain category of stakeholders, and at a certain level of abstraction.
  • A Model is a Package.

Package diagram example⌘

Stakeholder, View and Viewpoint⌘

  • A stakeholder represents a role, group, or individual who has concerns that will be addressed by the View of the model.
  • A view is a representation of the system from defined viewpoint.
  • The viewpoint describes the point of view of a set of stakeholders, specifies conventions and rules for constructing and using a view.

View and Viewpoint example⌘