TSM — комплекс средств описания s-моделей

© А.В. ИльинВ.Д. Ильин, 1989, 2007, 2009, 2014

□ TSM ‑ комплекс средств описания s‑моделей (англ. TSM) –

расширяемый набор средств унифицированного описания s‑моделей систем понятий и систем знаний. Включает средства одноуровневой записи формул, выделения частей гипермедийных описаний s-моделей и замены выбранными сокращениями часто повторяющихся фрагментов. □

Первая версия TSM была предложена при работе над теорией порождения программ, где TSM служил средством записи спецификаций задачных конструктивных объектов [1].

Изложенная здесь версия содержит ряд синтаксических улучшений варианта TSM, развитого в [2].

Одноуровневые TSM‑описания соответствуют стилю, принятому в языках программирования.

Для TSM-описаний достаточно стандартной клавиатуры и набора специальных символов, имеющихся в составе текстовых редакторов Word (пакета MS Office), Pages (пакета iWork), Writer (пакетов LibreOffice или OpenOffice) или др., что существенно для успешного развития TSM.

Универсализации TSM способствовало применение этого комплекса при формировании образовательных ресурсов и разработке системы знаний информатики СИНФ.

Уровни фрагментов описания

□ Фрагмент TSM‑описания – часть описания, включающая не менее одного полного абзаца (без заголовка или с заголовком). □

Выделяется косыми (slashes), размещаемыми в начале фрагмента: /k/ (k – номер уровня вложенности).

Для первого и второго уровней значения k не указываются (/ – первый уровень вложенности; // – второй); для третьего и последующих уровней можно указывать (начало фрагмента третьего уровня можно обозначить как /// или как /3/).

Выделения

Для выделения определений, замечаний, примеров, имен понятий и отдельных частей описания используются следующие средства:

⌂ <фрагмент описания> ⌂ ≈ часть описания с фиксированными в ее пределах обозначениями (здесь и далее символ ≈ заменяет слово означает);

□ <фрагмент описания> □ ≈ утверждение (определение, аксиома и др.);

◊ <фрагмент описания> ◊ ≈ замечание;

☼ <фрагмент описания> ☼ ≈ пример;

∆ <фрагмент описания> ∆ ≈ рекомендация или комментарий составителя описания;

{S<фрагмент описания><список>S} ≈ здесь <фрагмент описания> ≈ набранный курсивом текст (может быть пустым), который следует интерпретировать как расширенный префикс s-<фрагмент описания> для выделенных курсивом элементов списка;

☼ {S-модель<список>S} – здесь расширенным префиксом служит s‑модель;

{S<список>S} – здесь префикс s— ☼.

Курсивом могут быть выделены:

первые вхождения названий понятий [определяемых или определённых (последние могут быть гиперссылками)];

фрагменты описания, к которым автор хочет привлечь внимание;

формулы.

Сокращения

Для часто повторяющихся названий понятий:

СМ ≈ символьное моделирование;

S-моделирование ≈ СМ произвольных объектов в человеко‑машинной среде;

s-машина ≈ машина, помогающая создавать и применять s‑модели;

s-среда ≈ совокупность взаимодействующих людей и управляемых ими s-машин, предназначенная для решения задач S-моделирования.

Умолчания

Так как в s-среде имеем дело только с s-моделями, вместо s‑модель символа, s-модель кода, s-модель сообщения, s-модель информации и т.д., пишем s-символ, s-код, s-сообщение, s‑информация и т.д. Слово s‑модель не опускаем лишь там, где может возникнуть контекстная неясность.

Формулы

Для теоретико-множественных и других формул применяется одноуровневая форма записи.

/ Индексы, пометы

Не накладывается никаких ограничений на максимальное число индексов для переменных и помечающих символов (помет).

Все индексы и пометы записываются в строчку внутри квадратных скобок, следующих сразу за индексируемой (или/и помеченной) переменной.

Индексы, определяющие элемент массива, отделяются запятыми, индексированные индексы – косой чертой «/».

Верхний индекс от нижнего отделяется точкой с запятой «;». Если в описании индекса точка с запятой не встречается, то индекс считается нижним. Если сразу после точки с запятой стоит закрывающая вертикальная черточка, то — задан только верхний индекс.

☼ x[out; j=1…n] ≈ вектор x из n компонент, имеющий помету out;

a[inp; i=1…m, j=1…n] ≈ матрица a размера m*n, имеющая помету inp;

c[′; 1] ≈ c-один со штрихом (штрих «′» – верхняя помета, 1 – нижний индекс);

d[j/i;] ≈ d с верхним индексированным индексом j i-тое (чтобы показать отсутствие нижних индексов, поставлена точка с запятой, за которой сразу следует закрывающая вертикальная черточка);

d[j/i] ≈ d с нижним индексированным индексом j i-тое (отсутствие точки с запятой указывает на отсутствие верхних индексов) ☼.

/ Теоретико – множественные

a: elem A ≈ a является элементом множества A;

a, b: elem C ≈ a, b — элементы множества С (число элементов, разделённых запятыми, может быть любым);

A: set a ≈ A – множество, содержащее элемент a;

A<B (когда оговорено, что A и B рассматриваются как множества) ≈ A – подмножество B;

B=D ≈ множества D и B совпадают;

C≤B ≈ C является подмножеством B или совпадает с ним;

B>A ≈ B содержит A;

A≥E ≈ A содержит E или совпадает с E;

A˅B ≈ объединение множеств A и B;

A˄B ≈ пересечение множеств A и B;

A\B ≈ разность множеств A и B;

A*B ≈ декартово произведение множеств A и B;

R≤A * B ≈ бинарное отношение, заданное на множествах A и B.

Символ 0 обозначает пустое множество или нуль (в зависимости от контекста);

cимвол # обозначает «не равно».

☼ Если x: elem X, y: elem Y и x = y, то x: elem (X ˄ Y);

если X: set x, Y: set y и пара (x, y): elem R, где R≤A*B, то (X*Y)˄(A*B)#0. ☼

/ Функции

Аргументы функции размещаются в круглых скобках, стоящих сразу за идентификатором, обозначающим функцию.

☼ f(x) ≈ f от x; f[max;](x[i=1…n]) ≈ f с верхней пометой max от x[i = 1…n]. ☼

При записи операций символы «+», «–«, «*», «/» обозначают соответственно сложение, вычитание, умножение, деление, а символ «**» – возведение в степень.

Для записи суммы вместо символа «Σ» используется «sum»; при этом индекс суммирования, его начальное и конечное значения записываются в квадратных скобках справа от «sum».

☼ sum[i=1…n]x[i] ≈ сумма x[i] по i от 1 до n. ☼

Типы: специализация и обобщение

□ Тип X ≈ множество X, элементы которого имеют фиксированные набор атрибутов и семейство допустимых операций.

Может иметь подтипы, называемые специализациями типа X, и надтипы, называемые обобщениями типа X. □

/ Специализация типа

□ Специализация типа X – порождение подтипа X[::rule] (здесь сдвоенное двоеточие «::» — символ специализации) с семейством связей, расширенным добавлением связи rule.

Выделяет подмножество X[::rule] множества X.

Специализацией называем и результат X[::rule] этого порождения (X>X [::rule]). □

// Специализация типа, заданная последовательностью добавленных связей

X[::(rule1)::rule2] – специализация типа X[::rule1] по связи rule2.

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

/ Обобщение типа

□ Обобщение типа Z – это порождение его надтипа Z[rule] путём ослабления (здесь # – символ ослабления) связи rule из семейства связей, соответствующей типу Z. Исключение связи считаем её предельным ослаблением. □

Графическая форма записи определений

Как обычно, определение даётся путём построения дерева атрибутов изучаемого понятия.

Сначала атрибуты перечисляются, а затем, в свою очередь, определяются (если это необходимо).

Листьями так построенного дерева являются терминальные атрибуты (не требующие в данном контексте дальнейшего определения).

Другой способ описания понятия — указание на понятия, связанные с определяемым.

Важной особенностью введённой формы определения понятий являются средства явного указания на ТОЧКУ ЗРЕНИЯ (КОРРЕСПОНДЕНТА, которому адресовано определение), СТАДИЮ (на которой в процессе изучения или работы определение может быть полезно) и ЦЕЛЬ (в процессе достижения которой определение имеет смысл).

Эта триада задаётся явно в тех случаях, когда по контексту её значения могут быть неясны.

Важность явного указания точки зрения не требует пространного комментария:

достаточно заметить, что масса недоразумений при определении понятий и их истолковании значительно уменьшилась, если бы авторы точно указывали, КОМУ, на какой СТАДИИ и для какой ЦЕЛИ может пригодиться определение.

Предложенная форма не требует изображения дерева атрибутов определяемого понятия в виде графа.

Определение выглядит как последовательность взятых в рамку утверждений.

Часть площади внутри рамки отведена для значений ТОЧКИ ЗРЕНИЯ (если по контексту эти значения неясны).

Все утверждения, размещённые в рамке, имеют одинаковую структуру:

|<определяемое>| @ |<определяющее>|.

Левая и правая части ограничены вертикальными чёрточками, а связывающий их символ @ принимает одно из трёх следующих значений: @ = (:, ->, ~).

Первое значение «:» (двоеточие) является заменителем слова «это».

Утверждение вида

|<определяемое>| : |<определяющее>|

означает, что текст справа рассматривается как определяющий (основанный на известных понятиях) по отношению к тексту слева, содержащему определяемое понятие.

Второе значение «->» (стрелка) заменяет слова «связано с».

Утверждение вида

|<определяемое>| -> |<определяющее>|

истолковывается, как определяемое понятие (слева) связано с другими (важными в данном контексте) понятиями (справа).

И, наконец, значение » ~ » (эквивалентность) используется для переобозначения определяемого понятия.

То есть утверждение вида

|<определяемое>| ~ |<определяющее>|

означает, что справа введено обозначение того, что имеем слева.

Содержимое, заключенное между вертикальными чёрточками, может быть текстом, графическим изображением или их сочетанием.

Никаких синтаксических ограничений, накладываемых на представление такого содержимого, предложенная форма не вводит.

Таким образом, форма позволяет представить определение понятия в виде последовательности утверждений трёх типов, имеющих заданную графику.

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

Важно и то, что она дисциплинирует работу того, кто формулирует определения.

Применимость

TSM рассчитан на формирование строчных одноуровневых описаний s‑моделей посредством QWERTY-клавиатуры.

Применим при s‑моделировании объектов любой предметной области.

Литература

1. В.Д. Ильин. Система порождения программ. М.: Наука, 1989, 264с.

2. А.В. Ильин. Конструирование разрешающих структур на задачных графах системы знаний о программируемых задачах. Информационные технологии и вычислительные системы, №3, 2007, с.30-36.

PDF-файл статьи

Эта статья — в сети ResearchGate.net

Реклама

Добавить комментарий

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

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s