Communication/block/Henderson/collaboration diagrams?

0 votes
asked Jan 8, 2020 in Question / help by lockywolf (360 points)
edited Jan 8, 2020 by lockywolf

My goal is to redraw the following diagram (by the way taken from the famous Structure and Interpretation of Computer Programs book) in some way preserving semantic structure.

PlantUML seems to adhere to the UML standard, and thus to preserve the information quite closely. I wonder what would be the best way to draw such a diagram in PlantUML. For me it seems that the Component diagram is the correct choice. There are two difficulties, however: (a)one would be the point marked "integral", a connector splits there, but this doesn't seem to be supported; (b) the shape of "add" and "cons" would be another problem, as far as I understand, all components have the same shape in the UML standard, but what about at least placing a triangle at the corner of a shape?

My initial attempt is the following:

skinparam monochrome true
skinparam componentStyle uml2
component [scale: dt] as scale
component [add] as add
component [cons] as cons
interface input as input
interface "initial-value" as initialvalue
interface " " as fake
interface integral as integral
input -> scale
scale -> add
add   -> cons
initialvalue ..> cons
cons - fake
fake -> add
fake -> integral

Your answer

Your name to display (optional):
Privacy: Your email address will only be used for sending these notifications.
Anti-spam verification:

[Antispam2 Feature: please please wait 1 or 2 minutes (this message will disappear) before pressing the button otherwise it will fail](--------)
To avoid this verification in future, please log in or register.