BSP is about message passing, so we decided to put up some conventions.
- Every message is a subclass of BSPMessage, hence it implements getTag(), getData(), read(IN) and write(OUT).
- If you are using subclasses of Object in your tag and data field, feel free to change the return type of the overridden methods getTag() and getData() to the types you've provided.
- The default type for a "tag" is always String.
If we implement a Message that has a primitive as the data field and the tag is default, we call the class PrimitiveMessage e.g., BooleanMessage for boolean as data and String as tag.
If we use another type as a "tag" than String we use a combined name: TagDataMessage e.g., IntegerDoubleMessage for integer as a tag and double as the data.