Хотел бы продолжить обсуждение Product-related классов, начатое в записи Виктора (
http://community.livejournal.com/praxos/4595.html).
Там не были затронуты классы, связанные с моделированием: ModelUnitUsage, Language, Notation. При типизации ISO 24744 у меня был ряд сомнений, поэтому прошу оценить, предложенный вариант. Получилось воспользоваться Template DSL (
http://community.livejournal.com/dot15926/1239.html) и приведу иллюстрацию рассматриваемых классов. (Note: Могу теперь отрисовать другие случаи при необходимости.)
1. 24744 Language типизирован как 15926 Language (A [language] is a [class_of_class_of_information_representation] whose members are all the information representations made in the language). ModelKind и ModelUnitKind типизированы как class_of_class_of_information_representation. Логично ли, что тип ModelKind и ModelUnitKind является надклассом типа 24744 Language?
2. Класс Notation типизирован как Representation Form (A [representation_form] is a [class_of_class_of_information_representation] that distinguishes the form of representation. EXAMPLE Hexadecimal, text, script, symbol, picture, diagram, semaphore, Morse code, music score, MIDI file format, and XML can each be represented by instances of [representation_form].) Но те примеры, которые приведены в 15926 вызывают сомнения в правильности выбора.
Есть класс ClassOfInformationPresentation (A [class_of_information_presentation] is a [class_of_arranged_individual] that distinguishes styles for presenting information. EXAMPLE The character styles bold, italic, Times New Roman, and 16pt can be represented as instances of [class_of_information_presentation].) Может ли он быть типом для Notation? Но он относится к ClassOfIndividual.
3. Экземпляр ModelUnitUsage определяется как связь между экземляром ModelUnit и экземпляром Model. Типизирую как RelationshipWithSignature.
Дополнительно:
4. "HardwareItem классифицирован как class_of_inanimate_physical_object. На мой взгляд, ClassOfFunctionalObject не подходит - нас может и не интересовать функция данного материального объекта, но точно необходимо отразить его неодушевлённость."
С другой стороны нужен ли нам в методе какой-либо WorkProduct, который не имеет функции? На то он и WorkProduct. Может быть это тот случай, когда надо типизировать двумя классами. Особенно склоняюсь к этому варианту, когда читаю примеры для ClassOfFuntionalObject: "EXAMPLE Pump, valve, and car are examples of [class_of_functional_object]. Particular models of pump, valve, car, etc are instances of [class_of_inanimate_physical_object] that are specializations of these instances of [class_of_functional_object]."