71
UML SysML и пр. / Re: UML 2: Activity diagram: Отличие элементов действий
« Последний ответ от [прилетело НЛО и...] 15 Июня 2022, 03:14:16 »Тема -- жир для некрокопателей.
Behavior -- это глыба, про которую у нас может быть повод нарисовать диаграмму деятельности / диаграмму состояний / диаграмму взаимодействия, чтобы прояснить, что там внутри.
Opaque Behavior -- это глыба, устройство которой мы не хотим описывать визуально на UML (это так в стандарте сформулировано). Её описание мы составим на _текстуальном_ языке, не являющимся UML (вероятно, авторы стандарта считают, что UML может быть текстуальным, невизуальным).
Action -- это кирпичик, строительный материал при описании глыб -- Behavior-ов. Кирпичик проще глыбы, настолько, что для него собственная диаграмма не нужна.
Opaque Action -- это кирпичик с пояснением/телом на текстуальном языке, не являющимся UML. Эти Action-ы используются чаще всего. Авторы стандарта даже считают, что при рисовании диаграмм деятельности (или диаграмм состояний) рисовальщик сначала кладёт Opaque-кирпичик, кумекает, и потом заменяет на что-нибудь более приличное (вспоминаем Рамбо: "В ставке Гитлера все...").
Add Feature Value Action -- это кирпичик не требующий пояснения, т. к. про него всё поясняет UMLьный стандарт. У него есть входной пин. На пин приходит значение. Когда кипричик запущен, он присваивает это значение в поле объекта (иногда затирая старое, если оно было).
Call Behavior Action -- это кирпичик (не требующий пояснения и т. д.). Он запускает чего-то сложное, то есть глыбу-Behavior, для которой может быть нарисована своя UML-диаграмма. Запуск может быть синхронным или асинхронным. Если запускаемое поведение является деятельностью, то на кирпичике ставят визуальный значок-"рубильник". На практике, если диаграмма деятельности получается большой, то бьём её на части и на основном осколке ставим Call Behavior(Activity) Action-ы как ссылки на осколки-продолжения.
Call Operation Action -- это кирпичик (не требующий пояснения и т. д.). У него есть входной пин. На пин приходит объект. Когда кирпичик запущен, он посылает этому объекту сообщение, вызывающее определённую операцию этого объекта.
Create Object Action -- это кирпичик (не требующий пояснения и т. д.). У него есть выходной пин. На пин выдаётся экземпляр класса, создаваемого, когда кирпичик запущен. Это голенький экземпляр объекта, у которого нет никаких значений, ссылок. Примечательность этого кирпичика в том, что он служит не только на диаграммах. С его помощью стандарт UML объясняет жизненный цикл экземпляров объектов.
Value Specification Action -- это кирпичик (не требующий пояснения и т. д.). У него есть выходной пин с именем result. На него выдаётся значение, которое является результатом вычисления спецификации значения (например, выражения). Само вычисление стартует, когда кирпичик запущен. Пример: пишем выражение "1". Получаем Value Specification Action-кирпичик, выдающий при его запуске единицу.
Behavior -- это глыба, про которую у нас может быть повод нарисовать диаграмму деятельности / диаграмму состояний / диаграмму взаимодействия, чтобы прояснить, что там внутри.
Opaque Behavior -- это глыба, устройство которой мы не хотим описывать визуально на UML (это так в стандарте сформулировано). Её описание мы составим на _текстуальном_ языке, не являющимся UML (вероятно, авторы стандарта считают, что UML может быть текстуальным, невизуальным).
Action -- это кирпичик, строительный материал при описании глыб -- Behavior-ов. Кирпичик проще глыбы, настолько, что для него собственная диаграмма не нужна.
Opaque Action -- это кирпичик с пояснением/телом на текстуальном языке, не являющимся UML. Эти Action-ы используются чаще всего. Авторы стандарта даже считают, что при рисовании диаграмм деятельности (или диаграмм состояний) рисовальщик сначала кладёт Opaque-кирпичик, кумекает, и потом заменяет на что-нибудь более приличное (вспоминаем Рамбо: "В ставке Гитлера все...").
Add Feature Value Action -- это кирпичик не требующий пояснения, т. к. про него всё поясняет UMLьный стандарт. У него есть входной пин. На пин приходит значение. Когда кипричик запущен, он присваивает это значение в поле объекта (иногда затирая старое, если оно было).
Call Behavior Action -- это кирпичик (не требующий пояснения и т. д.). Он запускает чего-то сложное, то есть глыбу-Behavior, для которой может быть нарисована своя UML-диаграмма. Запуск может быть синхронным или асинхронным. Если запускаемое поведение является деятельностью, то на кирпичике ставят визуальный значок-"рубильник". На практике, если диаграмма деятельности получается большой, то бьём её на части и на основном осколке ставим Call Behavior(Activity) Action-ы как ссылки на осколки-продолжения.
Call Operation Action -- это кирпичик (не требующий пояснения и т. д.). У него есть входной пин. На пин приходит объект. Когда кирпичик запущен, он посылает этому объекту сообщение, вызывающее определённую операцию этого объекта.
Create Object Action -- это кирпичик (не требующий пояснения и т. д.). У него есть выходной пин. На пин выдаётся экземпляр класса, создаваемого, когда кирпичик запущен. Это голенький экземпляр объекта, у которого нет никаких значений, ссылок. Примечательность этого кирпичика в том, что он служит не только на диаграммах. С его помощью стандарт UML объясняет жизненный цикл экземпляров объектов.
Value Specification Action -- это кирпичик (не требующий пояснения и т. д.). У него есть выходной пин с именем result. На него выдаётся значение, которое является результатом вычисления спецификации значения (например, выражения). Само вычисление стартует, когда кирпичик запущен. Пример: пишем выражение "1". Получаем Value Specification Action-кирпичик, выдающий при его запуске единицу.