ISO-15926 DiagramDesigner (инсталлятор и инструкция)

Вопросы баз знаний, надсистем и искусственных интеллектов

Модератор: al_mt

Ответить
Аватара пользователя
ko4evnik
Сообщения: 13376
Зарегистрирован: 11 апр 2010 16:25

ISO-15926 DiagramDesigner (инсталлятор и инструкция)

Сообщение ko4evnik » 19 окт 2011 20:58

ISO-15926 DiagramDesigner

программа для построения и визуализации схем в стиле стандарта ISO-15926 (part 2, в части "диаграмм экземпляров" ("instance diagram") ).

программа написана на C# под Windows и .NET 4.0 ( необходимо также присутствие .NET 3.5 и .NET 3.5 sp1). требует инсталляции.

инструкция по установке:
распаковать .zip-архив и запустить setup.exe.

на 2011-10-19: версия 1.0.0.3. (альфа).

на текущий момент - инсталлятор действует по технологии ClickOnce (http://ru.wikipedia.org/wiki/ClickOnce) что означает:

1) программа самостоятельно установится в папку вида:
C:\Documents and Settings\[имя-юзера]\Local Settings\Apps\2.0\[длинная-неосмысленная-строка]\

2) в меню "Пуск" добавится как:
Start\Programs\House of Lazy Dragon\ISO_15926_DiagramDesigner
(или Пуск\Программы\House of Lazy Dragon\ISO_15926_DiagramDesigner)

3) в случае, если в системе отсутствуют необходимые для работы компоненты - инсталлятор самостоятельно выкачает их с сайта Microsoft и установит (если не повезет - процесс выкачивания может оказаться длительным - вплоть до пары десятков минут) .

4) в процессе установки появится окошко, в котором Windows будет запрашивать - следует ли доверять предоставленному сертификату, на что следует ответить утвердительно (в ином случае установка прекратится).

5) удаление программы производится стандартно - через Пуск\Настройки\Установка и удаление программ.

вложение: архив .zip (420 Кб)
Вложения
ISO_15926_DiagramDesigner_v_1_0_0_3.zip
(410.81 КБ) 308 скачиваний

Аватара пользователя
ko4evnik
Сообщения: 13376
Зарегистрирован: 11 апр 2010 16:25

Re: ISO-15926 DiagramDesigner (инсталлятор и инструкция)

Сообщение ko4evnik » 19 окт 2011 21:01

1.Инструкция по применению

1.1. Общий вид:
Вложения
01-1.png
01-1.png (137.76 КБ) 19039 просмотров

Аватара пользователя
ko4evnik
Сообщения: 13376
Зарегистрирован: 11 апр 2010 16:25

Re: ISO-15926 DiagramDesigner (инсталлятор и инструкция)

Сообщение ko4evnik » 19 окт 2011 21:21

1.2. Рабочий процесс. Построение схем вручную.

1.2.1. Последовательность действий.

1.2.1.1. необходимое количество элементов перетаскиваются на поверхность холста ( в смысле drag'n'drop ) из вкладок "Entities" ("Сущности" в смысле стандарта 15926 ) и "Resources" ("Ресурсы" - дополнительные поясняющие картину внешние данные, текст, изображения и т.п.).

1.2.1.2. элементы нужным образом размещаются на холсте, упорядочиваются, группируются, редактируются, связываются между собой.

1.2.1.3. полученная картина сохраняется в виде файла .xml ( импорт и экспорт в .owl на данный момент не поддерживаются ) или изображения .png.

Аватара пользователя
ko4evnik
Сообщения: 13376
Зарегистрирован: 11 апр 2010 16:25

Re: ISO-15926 DiagramDesigner (инсталлятор и инструкция)

Сообщение ko4evnik » 19 окт 2011 21:50

1.2.2. Редактирование элемента с "сущностью".

при наведении мышки на элемент с "сущностью" проявляются дополнительные детали : некоторый набор коннекторов и кнопка "edit", нажатие на которую открывает окошко, в котором можно настраивать разнообразные детали. в принципе, путем настройки из одной наперед заданной сущности можно получить любую другую.

ID : редактируемая текстовая строка - имя/идентификатор сущности.

EntityType : точный тип сущности - выбирается из выпадающего списка "201-сущности-описанной-в-стандарте-15926-части-2".

TypeOf : более грубая градация - используется для выбора внешнего вида элемента (в следующих версиях программы исчезнет, так как дублирует собой функциональнсть EntityType).

AboutRdl: (на данной момент используется лишь для изменения цвета элемента в целях повышения выразительности ).

флаг IsEntity : если включен, не будет показываться строка ID.

флаг IsInstance : если включен, не будет показываться строка EntityType.

примечание: в случае если элемент содержит в себе сущность типа Relationship (либо производную от нее) установка обоих флагов IsEntity и IsInstance - практикуется чтобы получить часто используемую на практике нотацию "чистого 'ромба' без всяких сопроводительных надписей".

Аватара пользователя
ko4evnik
Сообщения: 13376
Зарегистрирован: 11 апр 2010 16:25

Re: ISO-15926 DiagramDesigner (инсталлятор и инструкция)

Сообщение ko4evnik » 19 окт 2011 21:51

иллюстрация к редактированию сущностей:
Вложения
06-3.png
06-3.png (95.18 КБ) 19036 просмотров

Аватара пользователя
ko4evnik
Сообщения: 13376
Зарегистрирован: 11 апр 2010 16:25

Re: ISO-15926 DiagramDesigner (инсталлятор и инструкция)

Сообщение ko4evnik » 19 окт 2011 21:53

иллюстрация: действие флагов IsEntity и IsInstance:
Вложения
06-4.png
06-4.png (44.29 КБ) 19036 просмотров

Аватара пользователя
ko4evnik
Сообщения: 13376
Зарегистрирован: 11 апр 2010 16:25

Re: ISO-15926 DiagramDesigner (инсталлятор и инструкция)

Сообщение ko4evnik » 19 окт 2011 22:06

1.2.3. Связывание сущностей:

спроектировано таким образом, чтобы "в одно касание" зафиксировать между парой элементов с сущностями связь определенного типа.

последовательность действий:
- навести указатель мыши на потребный элемент - на нем подсветятся призрачные квадратики коннекторов;
- навести мышкой на один из коннекторов ;
- нажать правую кнопку мыши;
- потянуть указатель мыши на другой элемент;
- навестись на тот его коннектор, который подсветится зеленым (хотя допустимо и на любой другой - но тогда полученная связь не будет "корректной") ;
- отпустить кнопку мыши.
Вложения
08.png
08.png (45.88 КБ) 19034 просмотра

Аватара пользователя
ko4evnik
Сообщения: 13376
Зарегистрирован: 11 апр 2010 16:25

Re: ISO-15926 DiagramDesigner (инсталлятор и инструкция)

Сообщение ko4evnik » 19 окт 2011 22:12

у разных типов сущностей - набор коннекторов и их расположение несколько отличается.
Вложения
07.png
07.png (33.15 КБ) 19033 просмотра

Аватара пользователя
ko4evnik
Сообщения: 13376
Зарегистрирован: 11 апр 2010 16:25

Re: ISO-15926 DiagramDesigner (инсталлятор и инструкция)

Сообщение ko4evnik » 19 окт 2011 22:38

корректными-с-точки-зрения-стандарта-15926 будут такие связи:

связь между коннекторами [classification_out] и [classification_in] обозначает "классификацию" ( на рисунке связь между "СlassOfClass(1)" и "Class(2)" ).

связь между коннекторами [specialization_out] и [specialization_in] обозначает "специализацию" ( на рисунке связь между "Class(3)" и "Class(4)" ).

связь между коннекторами [role_out] и [role_in] означает "роль в отношении" ( на рисунке "Class(5)" связан с "#6" посредством отношения "xyz-relation". причем "Class(5)" играет в нем роль "role A", а "#6" - соответственно "role B" ).

связь между коннекторами [multidimensional] и [role_in] означает "агрегацию" - "включение" одного элемента в другой ( на рисунке "Multidimensional(9)" включает в себя "#(7)" и "#(8)" - причем первому назначен индекс "1", а второму - индекс "2" ).

некорректные связи между элементами с сущностями выделяются пунктиром. пунктиром же обозначаются связи между "элементами с сущностями" и "элементами с ресурсами" (на рисунке - связь "ClassOfClass(10)" с "some text" ).

примечание: нотация агрегации ( "ромб" и "круг" на концах связи) здесь отличается от той, что определена в стандарте - в целях выразительности.
Вложения
09.png
09.png (76.98 КБ) 19031 просмотр

Аватара пользователя
ko4evnik
Сообщения: 13376
Зарегистрирован: 11 апр 2010 16:25

Re: ISO-15926 DiagramDesigner (инсталлятор и инструкция)

Сообщение ko4evnik » 19 окт 2011 22:48

1.2.4. Редактирование связи.

связь можно дополнительно настраивать, редактируя текст меток и включая/отключая их показ.

последовательность действий:
- выбрать связь (щелчком на линии);
- вызвать контекстное меню (щелчок правой кнопки мыши);
- выбрать пункт выпавшего меню 'Edit';
- внести требуемые изменения.
Вложения
06-1.png
06-1.png (57.92 КБ) 19030 просмотров

Аватара пользователя
ko4evnik
Сообщения: 13376
Зарегистрирован: 11 апр 2010 16:25

Re: ISO-15926 DiagramDesigner (инсталлятор и инструкция)

Сообщение ko4evnik » 19 окт 2011 22:58

1.2.5. Ресурсы.

здесь подразумеваются как разнообразные внешние данные, поясняющие схему:
- текст,
- текстовые файлы разных форматов и кодировок (в текущей версии программы : FlowDocument в .xaml, .rtf, unicode UTF8, windows-1251 ),
- изображения из файлов,
- рисунки пером,
и их комбинации.
Вложения
02.png
02.png (200.4 КБ) 18791 просмотр

Аватара пользователя
ko4evnik
Сообщения: 13376
Зарегистрирован: 11 апр 2010 16:25

Re: ISO-15926 DiagramDesigner (инсталлятор и инструкция)

Сообщение ko4evnik » 19 окт 2011 23:02

один элемент может иметь одновременно несколько типов содержимого. настраивается это путем установки соотвествующих флажков в Редакторе Ресурса (вызывается путем нажатия все той же кнопки "edit", появляющейся над элементом при наведении на него курсора мыши ).
Вложения
03.png
03.png (194.77 КБ) 18791 просмотр

Аватара пользователя
ko4evnik
Сообщения: 13376
Зарегистрирован: 11 апр 2010 16:25

Re: ISO-15926 DiagramDesigner (инсталлятор и инструкция)

Сообщение ko4evnik » 19 окт 2011 23:07

1.3. Рабочий процесс. Автоматическая генерация схемы.

/// завтра.....

Чибрикин Илья
Сообщения: 11076
Зарегистрирован: 14 апр 2010 08:36

Re: ISO-15926 DiagramDesigner (инсталлятор и инструкция)

Сообщение Чибрикин Илья » 20 окт 2011 13:12

Вопрос.
Возможно ли на базе приведеннйо технологии построить смысловую валидацию документов?
Например уже есть и вполе себе работает грамматическая валидация.
Если пользоваться не вордом в стиле нотепада а чем-нибудь приличным типа DOCBOOK то можно очень успешно делать структурную валидацию. В Джете Легендарный Боря Тоботрас это пытался наладить. Продвинутые лавки, работающие с документацией чрезвычайно это дело любят.
В во на следующий уровень прейти можно?
Например отлавливать логические противоречия в документах. Вприведенные выше механизм - он же типа ловит сущности. Стало быть у сущности не может быть противоречивых атрибутов, так?
Маша она типа не может быть одновременно и над медмведем и подмедведем?
Навеяно дискуссией про легитимизацию. Может быть выход состоит в том, что все руководящие документы следует пропускать через формально-математическую программную валидацию?

Аватара пользователя
ko4evnik
Сообщения: 13376
Зарегистрирован: 11 апр 2010 16:25

Re: ISO-15926 DiagramDesigner (инсталлятор и инструкция)

Сообщение ko4evnik » 20 окт 2011 22:01

Чибрикин Илья писал(а): Возможно ли на базе приведеннйо технологии построить смысловую валидацию документов?
...
В во на следующий уровень прейти можно?
Например отлавливать логические противоречия в документах.
можно.
только тут подход к этому делу несколько с другого краю:
"изначально создавать документы по некоторым шаблонам, не позволяющим появляться логическим противоречиям."


Чибрикин Илья
Сообщения: 11076
Зарегистрирован: 14 апр 2010 08:36

Re: ISO-15926 DiagramDesigner (инсталлятор и инструкция)

Сообщение Чибрикин Илья » 20 окт 2011 22:45

А есть какой-нибудь пример производственного текста, разобранного таким образом?
Ну и с валидацией точно не вьехал

Аватара пользователя
ko4evnik
Сообщения: 13376
Зарегистрирован: 11 апр 2010 16:25

Re: ISO-15926 DiagramDesigner (инсталлятор и инструкция)

Сообщение ko4evnik » 20 окт 2011 22:57

1.4. Пошаговый пример генерации схемы:

1.4.1. в окне редактора набить, например, такой текст:

Код: Выделить всё

летательный аппарат
самолет
пассажирский самолет
1.4.2. выделить текст мышкой и нажать на кнопку 'Class'.
получится:

Код: Выделить всё

{летательный аппарат} c [Class][летательный аппарат]
{самолет} c [Class][самолет]
{пассажирский самолет} c [Class][пассажирский самолет]
при автогенерации, по умолчанию, 'ключ' сущности совпадает с ее 'идентификатором'.
для экономии места допустимо сокращать запись - лишь бы ключ оставался уникальным для каждой отдельной сущности.

Код: Выделить всё

{a} c [Class][летательный аппарат]
{b} c [Class][самолет]
{c} c [Class][пассажирский самолет]

1.4.3. для сущности 'летательный аппарат' изменить селектор на 'cc' (что означает 'Class Of Class' ), и изменить тип сущности на, например, 'ClassOfClassOfIndividual'. сделать это можно либо вручную, либо выделив соотвествующий текст мышкой - и вызвав контекстное меню нажатием на правую клавишу мыши - выбрать его из выпадающего списка.

Код: Выделить всё

{a} cс [ClassOfClassOfIndividual][летательный аппарат]
{b} c [ClassOfIndividual][самолет]
{c} c [ClassOfIndividual][пассажирский самолет]
1.4.4. аналогично действуем для следующей тройки строк, только воспользуемся кнопкой 'PossibleIndividual' :

Код: Выделить всё

"Сухой Суперджет" летный экземпляр №1
пилот
второй пилот
получится, например так:

Код: Выделить всё

{d} s# [PossibleIndividual][#"Сухой Суперджет" летный экземпляр №1]
{p1} s# [PossibleIndividual][#пилот]
{p2} s# [PossibleIndividual][#второй пилот]
1.4.5. для описания отношения - набить текст: выделить текст мышкой и нажать на кнопку 'Relation'.
получится шаблон из одной 'вершины' и двух 'ребер':

Код: Выделить всё

{f} r [Relationship][f]
{f}-r{} []
{f}-r{} []
1.4.6. 'копированием/вставкой' или вручную записать:
- во 'вторые фигурные скобки' - ключи пары сущностей, которые мы хотим связать отношением;
- в 'квадратные скобки' - имена ролей, которые эти сущности будут играть в этом отношениии;
- 'тип сущности отношения' заменить с базового 'Relationship', на более подходящий, например, на 'Specialization'.

в результате получится, например, такое:

Код: Выделить всё

{f} er [Specialization][]
{f} -r {b} [superclass - одна из ролей отношения специализации]
{f} -r {c} [subclass - вторая из ролей отношения специализации]

1.4.7. действуя по аналогии с предыдущими пунктами, добавим такие сущности:

Код: Выделить всё

{xx} cс [ClassOfClassOfIndividual][класс транспортных средств]
{yy} cс [ClassOfClassOfIndividual][класс транспортных средств оборудованных для перевозки пассажиров]
и такой "класс отношения специализации"

Код: Выделить всё

{g} ecr [ClassOfSpecialization][]
{g} -r {xx} [class_of_superclass]
{g} -r {yy} [class_of_subclass]

1.4.8. чтобы создать пример сложного составного объекта (MultidimensionalObject) набить текст: выделить текст мышкой и нажать на кнопку 'Multidimensional'.
получится шаблон из одной 'вершина' и трех 'ребер':

Код: Выделить всё

{multi} a [MultidimensionalObject][multi]
{multi} -m {} [][][1]
{multi} -m {} [][][2]
{multi} -m {} [][][3]

1.4.9. 'копированием/вставкой' или вручную записать:
- во 'вторые фигурные скобки' - ключи сущностей, которые требуется включить;
- в 'соответствующие квадратные скобки' - номера индексов которыми следует их охаракетризовать;
по необходимости - добавить недостающие ребра, либо стереть лишние.
в результате получится, например, такое:

Код: Выделить всё

{multi} a [MultidimensionalObject][экипаж]
{multi} -m {p1} [][][1]
{multi} -m {p2} [][][2]
1.4.10 нажатие на кнопку 'Classification' предоставляет для последующего заполнения шаблон для описания ребра такого вида:

Код: Выделить всё

{} -> {}
в нашем случае уместными будут такие записи о таких связях:

Код: Выделить всё

{a} -> {b}
{c} -> {e}
{g} -> {f}
{c} -> {d}
{yy} -> {c}
1.4.11. нажатие на кнопку 'Specialization' предоставляет для последующего заполнения следующий шаблон:

Код: Выделить всё

{} -0 {}
в нашем случае уместными будут такие записи о таких связях:

Код: Выделить всё

{b} -0 {c}
{xx} -0 {a}
Вложения
11.png
11.png (100.92 КБ) 18759 просмотров

Аватара пользователя
ko4evnik
Сообщения: 13376
Зарегистрирован: 11 апр 2010 16:25

Re: ISO-15926 DiagramDesigner (инсталлятор и инструкция)

Сообщение ko4evnik » 20 окт 2011 23:01

1.4.12. результом генерации схемы на основе такого примера:

Код: Выделить всё

{a} cc [ClassOfClassOfIndividual][летательный аппарат]
{b} c [ClassOfIndividual][самолет]
{c} c [ClassOfIndividual][пассажирский самолет]

{d} s# [PossibleIndividual][#"Сухой Суперджет" летный экземпляр №1]

{p1} s# [PossibleIndividual][#пилот]
{p2} s# [PossibleIndividual][#второй пилот]

{f} er [Specialization][]
{f} -r {b} [superclass - одна из ролей отношения специализации]
{f} -r {c} [subclass - вторая из ролей отношения специализации]

{xx} cc [ClassOfClassOfIndividual][класс транспортных средств]
{yy} cc [ClassOfClassOfIndividual][класс транспортных средств оборудованных для перевозки пассажиров]

{g} ecr [ClassOfSpecialization][]
{g} -r {xx} [class_of_superclass]
{g} -r {yy} [class_of_subclass]

{multi} a [MultidimensionalObject][экипаж]
{multi} -m {p1} [][][1]
{multi} -m {p2} [][][2]

{a} -> {b}
{c} -> {e}
{g} -> {f}
{c}->{d}
{yy}->{c}

{b} -0 {c}
{xx} -0 {a}
будет примерно следующая картина:
Вложения
generator-result-1.png
generator-result-1.png (116.16 КБ) 18758 просмотров

Аватара пользователя
ko4evnik
Сообщения: 13376
Зарегистрирован: 11 апр 2010 16:25

Re: ISO-15926 DiagramDesigner (инсталлятор и инструкция)

Сообщение ko4evnik » 20 окт 2011 23:02

творчески применив к ней феньшуй, можно добиться примерно следующего:
Вложения
generator-result-3.png
generator-result-3.png (140.98 КБ) 18918 просмотров

Аватара пользователя
ko4evnik
Сообщения: 13376
Зарегистрирован: 11 апр 2010 16:25

Re: ISO-15926 DiagramDesigner (инсталлятор и инструкция)

Сообщение ko4evnik » 20 окт 2011 23:27

Чибрикин Илья писал(а):Этот как, простите?
если вы намерены "качественно" что-то описывать - то вы задаете не только то, как вы трактуете данные, но и то как вы их трактовать не намерены.

"самое главное в магии - это то, как-ее-не-надо-использвать" (tm)

"логические противоречия" не самозарождаются как мыши в тряпках. они появляются если не следовать четко очерченным процедурам работы с данными.

возьмем пример с Джеком из соседней ветки.
там имеется кусочек с классификацией 'животных/птичек/людей' с вершиной в "животное".

т.е. для определенной задачи - эта классификация была задана и признана соответсвующей. основываясь на ней - вы определяете все свои остальные данные - кота, пса, синицу, петухов и т.п. и это означает что вы их рассматриваете четко через эту классификацию и никаким иным способом.

если же в дальнейшем вам требуется - например чтобы 'сшить' этот документ с кучей других, где для подобной вещи используется стандартная биологическая классификация ( с узлами 'Homo sapience', 'Felis felis', 'теплокровные', 'парнокопытные' и прочие 'непарнозубые' ) - вы аккуратно выкусываете из схему эту классификацию, заменяете на ту, попутно устранив возможные неоднозначности - и в дальнейшем трактуете свои данные в соотвествии с ней и никак иначе.

Чибрикин Илья
Сообщения: 11076
Зарегистрирован: 14 апр 2010 08:36

Re: ISO-15926 DiagramDesigner (инсталлятор и инструкция)

Сообщение Чибрикин Илья » 21 окт 2011 08:06

Хорошо, вопрос.
Можно ли указанную схему применитьь для компактизации текста? Можно ли построить скажем техническую инстукцию в терминах этого ISO? Мной под Вашим руководством.

Аватара пользователя
ko4evnik
Сообщения: 13376
Зарегистрирован: 11 апр 2010 16:25

Re: ISO-15926 DiagramDesigner (инсталлятор и инструкция)

Сообщение ko4evnik » 21 окт 2011 21:23

Чибрикин Илья писал(а): Можно ли указанную схему применитьь для компактизации текста?
слова "компактизация" для обозначения процесса подходит не вполне.

на примере того же "Дома Джека" - количество фиксирумых данных, деталей и нюансов - ощутимо растет по отношению к исходному тексту.

я этот процесс внутренне про себя обзываю "стратификация + картографирование".
Чибрикин Илья писал(а): Можно ли построить скажем техническую инстукцию в терминах этого ISO? Мной под Вашим руководством.
да, можно.
собственно этот ISO в том числе и для таких целей предназначен.
но - требуется владеть терминологией.

Чибрикин Илья
Сообщения: 11076
Зарегистрирован: 14 апр 2010 08:36

Re: ISO-15926 DiagramDesigner (инсталлятор и инструкция)

Сообщение Чибрикин Илья » 21 окт 2011 22:41

А есть какая мурзилка почитать?

Аватара пользователя
ko4evnik
Сообщения: 13376
Зарегистрирован: 11 апр 2010 16:25

Re: ISO-15926 DiagramDesigner (инсталлятор и инструкция)

Сообщение ko4evnik » 21 окт 2011 22:59

Чибрикин Илья писал(а):А есть какая мурзилка почитать?
в том то и трабл - что мурзилки нет.

есть текст ИСО - на английском (могу частным порядком подсказать где его найти).

есть например это : http://15926.info/data-model/index.htm
и еще некотрое количество рассеянной по инету информации.

есть мой майский перевод - как оказалось - некоторой выжимки из главы-5-ИСО. но он, скажем так, - местами ориентирующ, а местами наоборот.

остального можно достигнуть только набивая собственные шишки...

Чибрикин Илья
Сообщения: 11076
Зарегистрирован: 14 апр 2010 08:36

Re: ISO-15926 DiagramDesigner (инсталлятор и инструкция)

Сообщение Чибрикин Илья » 22 окт 2011 16:40

Ну давайте набивать собственные шишки.
Вопрос: что есть и какие есть минимально неделимые единицы всего остального?

Аватара пользователя
ko4evnik
Сообщения: 13376
Зарегистрирован: 11 апр 2010 16:25

Re: ISO-15926 DiagramDesigner (инсталлятор и инструкция)

Сообщение ko4evnik » 25 окт 2011 19:29

Чибрикин Илья писал(а):Ну давайте набивать собственные шишки.
ну что ж, если Вы всерьез решились - ссылка на материалы в личке.
Чибрикин Илья писал(а): Вопрос: что есть и какие есть минимально неделимые единицы всего остального?
об таких вещах лучше беседовать в отдельной ветке.
http://www.igstab.net/viewtopic.php?f=39&t=680&start=0

Ответить

Вернуться в «Золотая рыбка»