To take a look at the protocol we just generated, select Protocols in the middle pane of the Relationships Browser and then double-click on <Catalog>. A browser opens from which we can explore the <Catalog> protocol.
In the new browser, select Messages in the middle pane. In the rightmost pane, you should see a list of the message specifications that were automatically generated for the protocol, based upon the responsibilities we defined earlier. UML Designer uses a straightforward transformation to convert responsibility names into message names that could eventually become Smalltalk or Java method names. If the generated message names are not satisfactory, you can change them.
For the <Catalog> protocol, the following message specifications were automatically generated from the responsibilities of the Catalog thing:
Note that some of the generated message specifications end in colons, indicating that they take parameters. This is because the corresponding responsibilities each has a collaborating participant defined. To see more information about parameters, double-click on #addCatalogEntry:. A browser opens on the #addCatalogEntry: message specification, showing additional details of the message specification.
Select Parameters in the middle pane of the browser. In the rightmost pane, you should see a single parameter listed: aCatalogEntry. This parameter was automatically generated because the Add catalog entry responsibility had a link to Catalog entry as a collaborating participant. Because of this relationship, UML Designer assumes that an object representing the participating Catalog entry thing will have to be passed to the method implementing the Add catalog entry responsibility.
The type of a parameter must be defined by a protocol, and at this stage we have not defined a protocol for Catalog entry. Therefore, the parameters of the generated message specifications all have the default type <Object>, even though the generated parameter names (such as aCatalogEntry) might suggest a different type. Later, after you have generated protocols for all of the things in your design, you can change the parameters of the message specifications to the correct types.