Webel: MBSE: SysMLv1: Prefer a custom «actor» extension of a Block (such as the non-normative External) over UML-style Actor for use as parts in IBDs and on allocation swimlanes. You can also have a Trace from a block-based «actor» to a UML-style Actor.

Icon class
icon_class
far fa-sticky-note
icon_class_computed
far fa-sticky-note
Note kind
Policy level
UML keywords
SysMLv1.x keywords
Keywords
Click on the image to view it full size

UML-Style Actors don't play nicely with SysML Internal Block Diagrams, even if they may be shown on some SysML spec sample diagrams. For example, they don't carry Ports, and they also don't work with the powerful SysML-compartments on features in IBDs.

Use of a customised block-based «actor» is now something of a de facto convention in SysMLv1. Webel recommends creating a custom «actor» stereotype that extends External, together with a suitable icon. Imitating the classic UML stick figure is ok, but it's also expedient to use something slightly different (FontAwesome is always your very good friend).

You can in fact even use your SysML block-based «actor» on SysML Use Case Diagrams in Cameo/MagicDraw (there are some pros and cons).

Not every "actor" need be external to the primary system of interest so by all means have others internal or local variants as required.

If you do also want to still have UML-style actors, such as for use in traditional Use Case Diagrams, you can have both in parallel (typically packaged together), and use a Trace from your custom block-based «actor» to the UML-style Actor.

Visit also:

And a wider related discussion:

For experts: On "internal actors".

Some purists may insist that a UML Actor "should" be external to the system of interest:

But the 'subject' of a UseCase can be a component internal to the primary system of interest. A side-door for a belligerent on-site Hacker "actor" anyone? Perhaps a disgruntled employee with access to an internal component that the primary system of interest relies on.

You can reconcile this by simply "upgrading" your notion of the system with which the "internal actor" is interacting to a more local one as 'subject' of a UseCase. The special role of an "internal actor" can also be documented on a custom «actor:internal» stereotype or elsewhere clearly in your model.

If you need to argue about it with a UML-purist at the pub over beers, this offers a loop-hole for the use of (relatively) "internal actors":

And if that doesn't work, just say:
I'm doing MBSE with SysML, I just want to get useful stuff done.

Besides, when not using UML-Style actors there is more leeway anyway.


For experts: About the SysML1.7 ActorPart

Table 8.3. Graphical nodes defined in Internal Block diagrams on p.40 of the SysML1.7beta1 spec still shows an inconsistent notation under the ActorPart row. There is a discussion under the OMG JIRA ticket (requires OMG access) under OMG SysML RTF: SYSML17-286: Remove notation form ActorPart which as of Feb 2024 is still [UNRESOLVED]
Relates to
Related notes
Related notes (backlinks)
Related snippets (extracts)
Visit also
Visit also (backlinks)
External links