Is there a list of things like <<sdlreceive>>?

0 votes
asked Aug 14 in Question / help by FrankP
I'm drawing some state diagrams.

In the PlantUML Language Reference Guide (I have 1.2023.11 which was the latest one I could find), in the State Diagram chapter, there is this:

  9.8 Conditional [choice]
  The stereotype <<choice>> can be used to use conditional state.
  @startuml
  state "Req(Id)" as ReqId <<sdlreceive>>

I cannot figure out what <<sdlreceive>> means. This is the only occurrence of sdlreceive in the pdf, if Adobe's "search" function is working. Also when I googled sdlreceive most of the results seem to be relating to PlantUML and don't tell me any more than searching the pdf. (Also, many of the pages found don't seem to have sdlreceive anywhere that Firefox can find it, which I find strange.)

So I don't know what <<sdlreceive>> means, but it seems it can give me a different shape on my state diagram, which could be useful.

So my question is, what other <<>> things could be used? Is there a list somewhere of things like <<sdlreceive>> which could be used to make items on the diagram look different when I want to make them stand out somehow?

Thanks

Frank

1 Answer

0 votes
answered Aug 14 by The-Lu (69,220 points)

Hello F.,

According §9.8 Conditional [choice]  and §9.9 Stereotypes full example [start, choice, fork, join, end], here is the minimal list for stereotype on State diag.:

@startuml
state start1  <<start>>
state choice1 <<choice>>
state fork1   <<fork>>
state join2   <<join>>
state end3    <<end>>
state sdlreceive <<sdlreceive>>
@enduml

And for the record, here is a search on the forum:

And on the source-code:

If that can help,
Enjoy,

Regards,
Th.

commented Aug 14 by FrankP
Thanks Th.

So <<sdlreceive>> is a stereotype, ok, I see the other elements like <<choice>> and <<fork>> in the manual, but they are things that I might expect in a UML diagram. <<sdlreceive>> seems a bit random by comparison.

The other questions mention some other stereotypes, in passing, so I can try them to see if they look good on my diagram. The link to source code is unfortunately beyond my ability to follow at the moment. I can see "<<sdlreceive>>" is there as a literal, but I don't see any other similar literals close to it and it would take me a long time to figure out what else I was looking at.

Still have no idea what an sdlreceive is though, or why... I know that SDL is a C/C++ cross-platform library for audio and such, so I was wondering if <<sdlreceive>> is left over from some UML diagrams modelling a project that was using SDL? The fact that sdlreceive does not seem to occur elsewhere in the manual makes me think it might have been put in ad-hoc for something. That is why I was asking if there is a list of other built-in stereotypes inherited from other projects?
commented Aug 14 by albert (3,540 points)

Aren't there also <<history>> and <<history*>>  ?

(see: src/net/sourceforge/plantuml/statediagram/command/CommandCreateState.java)

...