I know I’m late to the discussion, but still hope I can add something useful. I’m also not a BPMN expert but I do know my way around the concepts.
Generally speaking VP follows the official specification first. This applies to basically every modelling language such as BPMN, UML, etc. So: the specification as laid out by the OMG (Object Management Group). However, as @peter.wong also mentioned, VP also extends on those specifications. So if you want to you can overrule certain aspects. Of course that could result in your diagram being not fully compliant with the official specification, but quite frankly I think that’s not always a bad thing.
So… pools (also called swim lanes) are mainly used to organize and categorize your activities. You probably know that already, but I just want to provide the complete description. A pool usually represents a participant whereas a lane is used to further structure the activities. However, the whole “participant” can be used very broadly, for example by using the so called “black box” function.
This also implies that it is important to use a descriptive name for the pool. But what that is heavily depends on your diagram and the situation. Personally I’d keep focussed on what the pool should represent: a participant. So name it accordingly, there isn’t really a set standard. My suggestion is to always ensure that it’s descriptive.
And this is also where it gets interesting because the lanes within a pool are a total free for all. There is nothing about a lane naming scheme in the official specification.
That’s why I think a good strategy is to use a broad but descriptive name for your pool and if you need more details then simply add a lane which name can then provide that extra detail (also: the lane itself can be used to group your tasks as such).
I know this is a bit vague but I still hope it can give you some ideas.
Well, to be honest I seldomly use this approach myself because I consider the pool to be the actual participant. However, not a physical one. Also keep in mind that this is just my own personal take on all this.
A pool is usually a large entity. For example: “Customer” which could have several lanes to further detail its different aspects. I could imagine “Administration”, “Management”, “Procurement”.
So what if you have a contact person at this customer? Then it makes sense to add a participant, and then use that to store information specific for your contact person. So if you need to address them in another diagram you don’t have to pull the full customer company into it, but can limit that to just the participant: your contact person.
While working on your diagram open the view tab, select panes and open the Model Explorer. There you’ll find the model element for the participant, ready to be used in other areas of your project.
That’s usually what I use (but as said: I use this seldomly).
To show the message envelope on the diagram, let’s take the “Provide solutions” choreography task as an example:
You should have first drawn something like this to model the participants (visualized as Pools here) and the message flow between them.
Open specification of the message flow to create a message for it, this message would be the model element of the envelope shape, so name it “Solution” as in this example:
Now this step is not related to your question, but I guess you would wonder why the message icon is not shown in the message flow after we defined it. If you would like to show it, select the presentation option like this: