Посмотрим, что говорит UML 2.5 spe c.
9.2.4.1 Классификаторы (стр. 99)
Обозначением по умолчанию для классификатора является контурный прямоугольник solid, содержащий имя классификатора и с отделениями, разделенными горизонтальными линиями под именем. Название классификатора должно быть выделено жирным шрифтом. Для тех языков, которые различают guish между заглавными и строчными буквами, имена классификаторов должны начинаться с заглавных букв.
Я не могу найти ни одной точки в UML spe c, которая ограничивает имена для любого данного набора символов (Unicode). Возможно, по той причине, что вам понадобится еще одна книга для этого. Таким образом, все, что мы можем извлечь из вышесказанного, это то, что
Valuation = std::map<char,int>
является идентификатором так же, как, например,
wiec8736b(/&& 3l?!blurb
быть (странным) идентификатором. Но это ни в коем случае не будет оператором, в котором вы можете интерпретировать символ =
как присваивание или равенство.
tl; dr Это руби sh. Go и спросите автора, что он имел в виду. Скажите ему, чтобы он использовал либо комментарий и понятное текстовое описание, либо придерживался действительной нотации UML.
В качестве дополнительного примечания: автор этой UML-диаграммы использует нотацию в операционном отсеке, которая не является определены.
9.6.4 Обозначения (стр. 115)
Если показано на диаграмме, операция отображается в виде текстовой строки вида:
[<visibility>] <name> ‘(‘ [<parameter-list>] ‘)’
[‘:’ [<return-type>] [‘[‘ <multiplicity-range> ‘]’]
[‘{‘ <oper-property> [‘,’ <oper-property>]* ‘}’]]
где:
/
не определена видимость. Скорее всего, автор взял за свободу использовать //
в качестве обычного комментария. Это, вероятно, приемлемо, но не отображает действительный UML.
И как примечание 2-й стороны: n*n
в правом верхнем углу также выглядит suspi cios. Это, вероятно, множественность и в этом формате также недействительным. Но это только предположение.