Научная статья на тему 'Объектное описание систем на императивно-семантическом языке'

Объектное описание систем на императивно-семантическом языке Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
112
18
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ФОРМАЛИЗАЦИЯ / ОТЧУЖДЕНИЕ ЗНАНИЙ / ГРАФИЧЕСКОЕ ПРОГРАММИРОВАНИЕ / ПРОГРАММНАЯ ИНЖЕНЕРИЯ / ГРАФИТ-МЕТОД / СТРУКТУРНОЕ ПРОГРАММИРОВАНИЕ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Жаринов В. Н.

В докладе предлагается структуризация представления и организация редактирования программы на императивно-семантическом языке на примере Semantic Language в среде Semantic IDE. Ключевые слова: Формализация, Отчуждение знаний, Графическое программирование, Программная инженерия, Графит-метод, Структурное программирование

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Object Descriptions of Systems in the Imperative Language pp. 35-43 Vladislav N. Zharinov In the report structurization of representation and the organization of editing the program in imperative and semantic language on the example of Semantic Language in the environment of Semantic IDE is offered. Keywords: Formalization, Estranging the knowledges, Graphic programming, Program engineering, Grafit-method, Structured programming

Текст научной работы на тему «Объектное описание систем на императивно-семантическом языке»

11. Вирт Н. От разработки языков программирования к конструированию компьютеров. // Микропроцессорные средства и системы. - 1989. - №4. - С. 42-48.

12. Жаринов В.Н. Некоторые вопросы графического представления потока управления императивных знаний. // Интеллектуальные технологии обработки информации и управления: Труды второй междун. конф. Междун. науч. изд. - Уфа: ФГБОУ ВПО УГАТУ, 2014. - Т.1. -С.59-64.

13. Паронджанов В.Д. Как улучшить работу ума. - М.: Дело, 2001.

14. Поликарпова Н.И., Шалыто А.А. Автоматное программирование. - СПб.: Питер, 2010.

15. Жаринов В.Н. Некоторые вопросы графического представления потока управления императивных знаний. // Интеллектуальные технологии обработки информации и управления: Труды второй междун. конф. Междун. науч. изд. - Уфа: ФГБОУ ВПО УГАТУ, 2014. - Т.1. -С.59-64.

16. Жаринов В.Н. Императивная и дескриптивная семантика в описании профессионального контента. // Интеллектуальные технологии обработки информации и управления: Труды третьей междун. конф. Междун. науч. изд. - Уфа: УГАТУ, 2015. - Т.1. - С.114-120.

17. Аджиев В. Мифы о безопасном ПО: уроки знаменитых катастроф. // Открытые системы. -1998. - №6. - С.50-51. URL: http://www.osp.ru/os/1998/06/179592/ (пров.: 23.11.2015).

УДК 003+004.5

ОБЪЕКТНОЕ ОПИСАНИЕ СИСТЕМ НА ИМПЕРАТИВНО-СЕМАНТИЧЕСКОМ

ЯЗЫКЕ

Жаринов Владислав Николаевич, преподаватель, Московский институт государственного и корпоративного управления, Россия, Уфа, vladcontact@yandex.ru

Введение

В настоящее время развиваются новые подходы к алгоритмике как части общеобразовательной информатики и к программной инженерии как профессиональной дисциплине. Они нужны как для обучения, так и в исследованиях и в практической деятельности. Обоснование этому дано, в частности, в работе [1].

Актуальным является так называемый императивно-семантический (ИС-)подход, заявленный в работах [2] и [3]. В его рамках созданы базис понятий, язык SL и среда Semantic IDE (доступная по адресу: http://sem-tech.net). Тестовое использование среды автором и начальное освоение языка показывают возможности развития представления SL-программ и редактирования в среде документов-проектов (включающих или нет программы). Этому и посвящена данная статья.

1. Модели описаний систем

Программа погружена в документ среды, входя в один или более докэлементов как часть содержания каждого. Другими частями прежде всего будут модели назначения, программы как сети процедур (представляющих операционные продукции в смысле [4]), наборы утверждений и комментариев к шагам техноалгоритмического процесса, реализуемого исполнителем (организованные в математическую и качественную полосы, как определено в [5, Рис.3]). В документ могут входить вспомогательные представления программы, другие сведения для участников её ЖЦ.

1.1. Структуризация документов описания

Общая структура описания была предложена ранее в [6, Разд. 2]. Указанные там рода деревьев могут существовать самостоятельно, образуя «лес». Также м.б. рассмотрена их интеграция в единую структуру. Представляется корректным, что деревья связываются

«прошивками» между отдельными их узлами; при этом «прошивки» имеют смысл отношений, возникающих в ЖЦ системы.

Предложенная модель позволяет представить обобщение содержания предметики (в смысле [4]) до т.н. терминосистемы — структуры элементов-понятий, контекстно-зависимых по внутреннему содержанию и связям в системе. Понятие является модельным объектом, именной частью которого выступает т.н. терминосостав - совокупность определяемых терминов, отнесённая к данному понятию, а содержательной — т.н. опредсостав как совокупность определений терминов, включаемых в данное понятие; внешние отношения явно устанавливаются с другими понятиями по их терминам. При этом действуют следующие закономерности построения модели:

• внутренние отношения могут определяться обычными словарными пометами, совпадающими для некоторых терминов и определений понятия;

• совпадение помет для разных понятий означает неявное установление внешнего отношения этих понятий;

• отношения м.б. как регулярной структуры (один к одному/многим), так и произвольной (многие ко многим).

Сказанное можно проиллюстрировать на модели документа или системы документации. Для обычного (структурируемого мягко) документа модельными объектами будут прежде всего докэлементы основного содержания. Они подчиняются отношению главного порядка в тексте (внешнему для них), т.е. располагаются последовательно. Другой порядок можно выбирать через оглавление, сделав его «активным», т.е. со ссылками на входящие заголовки; при этом удобно реализовать возврат к оглавлению через «активные колонтитулы» как ссылки на позицию в оглавлении. Образуемый тезаурус модели в общем случае включает и «квазипонятия», вводимые для связи изложения в главный порядок. Сущности-выноски из главного порядка традиционно существуют как обычные и/или концевые сноски. Для них в машинных документах уже принято определять внешние отношения перехода через «активную привязку» и возврата через «активный номер» сноски как части единой перекрёстной ссылки. Переходить или нет, решает пользователь, безусловно относительно содержания (результаты восприятия и обработки не документированы).

Если документ структурирован жёстко (как-то по типу курса у Чошанова), то блоки курса и будут модельными объектами. При этом для них определены внешние отношения конкретных типов, образующие довольно развитую структуру. Отдельные типы отношений предполагают выбор следующего объекта для обращения из вариантов, в т.ч. условный в зависимости от результатов ознакомления с содержанием предыдущих объектов. Такой выбор при автоматизации нужно реализовать в среде моделирования, которая запрашивает у пользователя сведения о содержании объектов и делает вывод о результатах по заданным критериям.

Как пример документирования инфопрограммных изделий представлены результаты тестирования среды поддержки программирования микроконтроллеров ДАЛВЯЗ (см. Рис. 1).

На примере выявляются основные вопросы реализации:

• в предметике нужно выделять объекты, трактуемые как понятия для документирования;

• с объектами (в т.ч. программными, как-то элементами форм интерфейса) нужно связывать элементы метаинформации (как-то комментарии);

• документ д.б. структурирован и связан предметными отношениями с понятиями и вне его.

По-видимому, технологически удобно решение таких вопросов в среде типа «Оберон», в силу её особенностей, прежде всего обсуждавшихся в [6, с. 166, 168].

[родной-Граф|

итСинт-Рус/БР-

СетьСтр-Г

1аГраф< =

11' =1' '

ерш

=0' ='Заг.'>

I

Жар

ДАЛВЯЗ2 - промежуточное издание.. (1/2) — захват на рабочем столе, Ш98/1152х864р, с пояснениями и оценками

../Экранная форма —

основные окна и их элементы

Описание процедуры

Глаеноеокно профазы. ~'гЛав'иовменю программы. Охвачено Открывается при запуске основной прокруткой по главному окну !

М

Окно схемы программы. Оформлено как вкладка со своей прокруткой схемы

Окно атрибуции вершины схемы. Открывается при выборе вершины (щелчком)

Допформат текста модели выделяет особенности версии, оцениваемые как: оранж.1 со штрихом - преимущества; коричневый - нейтральные; красный с волной— недостатки. Используется наряду с Цвета текста.

Схема здесь отображается в режиме «Полная» (переключается командой программы <Р2>; устанавливается при открытии). В этой версии режим идентичен отображению содержания " вершин в окне атрибуции Показан один блок «Действие» схемы (частично);

! Окно закрытия программы (от-| буксировано из центра экрана). Открывается по команде закрытия главного окна (щелчком на кнопке <Х>); в этой версии команда выхода не предусмотрена

В этой версии на плат-(; форме до Р!!!-10/512МВ/; ДЗР16МВ (минимально проверенная) с этим проектом запуск программы и отработка ввода атрибутов убъектив-! ; но мгновенные;

В этой версии разрешение экрана 1152х864

- минимальное для ! корректного отображе-! ния окон программы; для корректности мо- !

жет потребоваться перетрансляция на рабочей платформе. Кур-! | сором растягивается только главное окно

ДАЛВЯЗ2-направления развития

На примерах показаны некого -

представления ЯВУ-процедур в ДАЛВЯЗ

Слова и смысл1 .

Цвета текста

Нужны, если

цветка текста в модели интуи-

\ Панель справки по командам программы. Охва- ; I Прокрутка схемы — охватывает область содержания окна ■ I Основная прокрутка - охваты-чена основной, прокруткой, по главному окну.*' '.схемы программы. В этой редакции — без_ кнопки «вниз».вает главное^ окно_ программы.

Смотреть для примера по иРЬ: Ийр://дгаМ-basis.narod.ru/L3/complex_viz_know-РОР.Мт!#Рп13-п223

5

ДАЛВЯЗ2 - промежуточное издание/ (1/2) - далее: Описание процедуры [.. <имя-кон-статъи>]

ДАЛВЯЗ2 - промежуточное издание/.. (2/2) - ранее: [<имя-нач-статьи> .. ].Экранная форма

../Описание процедуры —

основные окна и их элементы

Экранная форма

Доступные в данной инсталляции программы процедуры представлены в выпадающем списке выбора текущей процедуры. -Было бы желательно представлять компоновку процедур в про-; граммы (ДАЛВЯЗ-проекты).

Окно логической структуры процедуры (ЛСП). Показывает маршруты схемы как таблицу (неразграфлен-ную). Открывается по команде (щелчком на <ЛСП>)

Цикл 1

Команда захвата текущей

схемы. В этой версии единственная возможность

; документирования программ для пользовател .

В дальнейшем желательно ! реализовать составные доку-| менты, в которые подставля-! лись бы команды вызова и I результаты работы программ

В этой версии курсором ■ раскягиваекся только глав-

ное окно. Менять размер других окон невозможно

ДАЛВЯЗ2-направления развития

>

ДАЛВЯЗ2 - промежуточное издание/ (2/2)

Рис. 1 - Пример графического представления описания системы

37

Цикл '

[Род ной/Сеть-Плана Граф] <Мод.№= 1 7'Сх.№ = 1'-'В р.№ = 0'Тип = 'Загол овок">

С

Конкретней модель алгоритмического процессе В среде разрз ботки-доку М е Н ТИ рова Н И Я — графит-модель, смешанная

ОС

к о

к> £

ее о я

о ь

о Й 17"

■ё о с

со Е

(*Формулы (выражения) выводятся по методикам алгоритмизации для заданных типов данных и ис -полнителей задачи. Т.к. сама алгоритмизация неал -горитмизуема, то методики эвристичны.*)

[Специф-ГрафПро-Рус/МодКомп-Алго-ПланаГраф

'Имя процессаУ :'

<Модель№= 17'Схема№-1'-'Вершина№=0'Тип='Заг. т и п-Процесса Фун кции]

(*Как массив обозначается локальная для процесса память исполнителя, а также общая с другими процессами.*) Л

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

<ИмяОб{призн-об}>

['('[ПЕР]ФормПрм[': 'тип-Прм')']1с{',' ИмяФормПарм\: = < Н3> т#сГмФ°рм

(*По И/ИЛИ указы -вается, что «предметные типы» элементов данных задачи м.б. различными.*)

(*Указы вается получение данных (по объектам задачи) от других процессов. Другой процесс также может подразумевать другого исполнителя. В частности, пользователя. Это указывается при описании исполнителей задачи.*)

<И мяОб{призн-об}>

['('[ПЕР] ФактПрм[: 'тип-Прм')'] И','< ИмяФактПарм\НЗ\ЗУ> #с}+мфакт

кЬ

¡5

и/или

А/Р-шг=1ЧШГнач

Л

и/или

н^нлн

11

ИмяОб{прз-об}>

{ИмяЭлУ"

(*Все действия происходят в основной памяти исполнителя («информационном пространстве» по

Б.А. Бабаяну). Эквивалентом для

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

(*Передача в канал, файл и/или порт может потребовать запроса или прерывания.*)

40

ЕИЯОТТПрРоВ?

_ {И мяЭл}'»

/ <имяОб{ >1 ^ призн-об}> 1 J \ {ИмяЗапр}У

■ ¿имнищЧ \

призн-об}> \ I / !

I

г?>

___у

! ^ Н/ЦЛН 1- _____,

^ I результатных данных:-

А»т-и-и------------!■

Определение

рг

'От

<№-шг>':<№-оп> <описание--средств--исполнения> (*Схем ы/чертежи систем, агрегатов, трактов по ГОСТ ЕСКД 2.*/19.701-90*) <№-шг>\'<№-оп> 'До'

<ИмяОб{прз-об}>

{ИмяЭлУ"

I

Г<И Мяи^Тфз-оо ">1 L (ИмяЭлУНал Л

[взять-в_осн^ИЛИ^внеш__памяти]

+N,1

Получить исходные данные.

ДЛЯ КАЖДОЙ Величины-предмета ЕСЛИ Источник— другой процесс

ТО <0просить[Запросить[Прервать>; Ждать события-<разрешения^росрочки>. ЕСЛИ Источник— рандеву-процесс

ТО Получить значение из сообщения. ИНАЧЕСЛИ Источник— файл-процесс

ТО Извлечь значение из файла. ИНАЧЕСЛИ Источник— порт-процесс

ТО Ввести значение из порта ввода. ИНАЧЕ. (*Это д.б. в памяти контекста.*)

ВСЁ ^.................................Й

Определить результатные данные.

ДЛЯ КАЖДОЙ Величины-результата

Получить значение по рабочимформулам. ЕСЛИ что-то где-то НЕ получается

ТО Фиксировать событие исключения; Обработать исключение данного вида. ВСЁ. (*Вид определяют зафиксированные значен и^^^ели^ш^троцесс^^о^ояни^^ри

I Передача результатных данных:1

I

Передать результатные данные.

ДЛЯ КАЖДОЙ Величины-результата ЕСЛИ Адресат— другой процесс

ТО <0просить|3апросить[Прервать>; Ждать <события-разрешения|просрочки>. ЕСЛИ Адресат — рандеву-процесс

ТО Передать значение сообщением. ИНАЧЕСЛИ Адресат— файл-процесс

ТО Сохранить значение в файл. ИНАЧЕСЛИ Адресат— порт-процесс

ТО Вывести значение в порт. ИНАЧЕ. (*Это будет в памяти контекста.*

■ о -----^

(*Возврат возможен, если про -цесс организован как транс -формационный. Если процесс реагирующий, то он только передаёт результаты.*)

Восстановление контекста I возврата

О

<И мяОб{призн-об}>

['('[ПЕР]ФактРезЦ\ 'тип-Рез')']

1 5 0 И I 0 3 I р

.» ., 2010-12

,т>—

»' Предусловие: \

» <такие-то> ограничения на ; ; (<такие-то> величины (процес- \ 1 са И состояния исполнителя И \ внешней среды) И/ИЛИ <такие- » > то> соотношения между ними), * »логически выраженные, выпол-/ '«няются изначально? = для сты-; \ куем ости по входу J

} "Динусловие: •

/ <такие-то> ограничения на \ » (<такие-то> величины И/И Л И « ' <такие-то> соотношения между ними), логически вы - •

V раженные, выполняются в ? \ течение данного шага про - / \цесса? = формулируются по / 1 смыслу шага !

/ Ст ату слов ие: Л / Для каждой ли Величины- \ / предмета получено (её Зна- *, » чение ИЛИ Признак ошибки / « получения)? = тогда следу- ! » ющий шаг процесса испол- / ним корректно !

! НЕ вышло ли ни для одной » величины (процесса И со- \

V стояния) её значение за <та -

\ кие-то> ограничения = фор- / эмулируются по смыслу шагау [ Ст ату слов ие: \ .—'Для каждой ли Величины-ре-\ / зультата определено (её Зна- * \ чение ИЛИ Признак ошибки / \ определения)? = тогда еле- ! \ -. ^ЗУЮ-Щ-ИЙ _Щ.а г .исполним___/

f Динусловие: \

« НЕ вышло ли ни для одной \ величины (процесса И со- \ \ стояния) её значение за <та - /

V кие-то> ограничения = фор- / Эмулируются по смыслу шага/

Г Статусловие: \

/ Для каждой ли Величины- \ результата передано (её \ \ Значение ИЛИ Признак / \ошибки передачи)? = значит, '

I1™. £. /

Г----------------------------------»

! Постусловие: \

*<такие-то> ограничения на (<та-1 * кие-то> величины И/ИЛИ <та- \ ' кие-то> соотношения между / » ними), логически выраженные, / ■»выполняются по завершении? =' » для стыкуемости по выходу ,*

Целесообразно определить схемы для представления программ в целом. Если принять, что порядок передачи управления и данных представляется одновременно и взаимосвязанно, то можно представить отдельно взятую процедуру (как единицу декомпозиции) схемой (см. Рис. 2). Которая является, по сути, развитием схем программ Лаврова.

Видно, что тело процедуры (описывающее собственно процесс получения результата) подразделяется на блоки по этапам процесса. Далее согласно принципам структурного инфор-моделирования каждый блок м.б. подразделён на подблоки или сразу раскрыт в операциях и величинах модели (определяемых как языком, так и его расширениями). При этом изначально язык м.б. и нестрогим, чтобы зафиксировать общую идею его содержания. В дальнейшем каждый блок описывается более строгим языком, вплоть до программного. Разумеется, это касается любой составляющей описания (комментарии и утверждения также м.б. более или менее формальными).

Эти описания оформляются как варианты; переключая их, можно получать разные формализации процедуры. Также любой шаг можно реализовать как вызов другой процедуры (или той же самой — тогда возникнет рекурсия).

Конкретное решение по графической форме представления потока управления предложено в [7]. Далее обсуждается представление программы в целом как ИС-текста на БЬ.

1.2. Структура императивно-семантической программы

В содержании программы, представленной в ИС-базисе, предлагается выделить следующие уровни иерархии:

• модуль/процедура;

• секция модуля/процедуры;

• блок секции;

• предписание как элемент блока;

• имя как элемент предписания.

Совмещение модуля и процедуры на одном уровне отражает, что ИС-подход по сути является интегрированным процедурно-модульным. При этом определения модуля (величины, типы, операторы) логически объединяются в «безымянную» процедуру. Тем самым специфический смысл модуля сводится к его главному системному (эмерджентному) эффекту — отношению импорта /экспорта интерфейсов. Что и отражено (в общем) в [7, Рис. 1]. Объявления величин и типов могут быть организованы древовидно, в таблицу или схему типизации. В любом случае они отражают морфологию системы через абстрактные типы языка в частях предметов и процессов.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Система-исполнитель программы (вычислительные мощности) отражается неявно, через базовые типы языка. Алгоритмика здесь выражается через предписания-директивы в операторной части программы, задающие последовательность объявления как «разметки» основной памяти исполнителя.

Секции выделяются следующим образом (в порядке следования):

1. заголовочная;

2. объявлений (декларативная);

3. операторная (императивная);

4. концевая.

Состав блоков зависит от вида секции:

• в заголовочной — имени/аргументов/типа функции;

• в декларативной — локальных/общих имён;

• в операторной — маршевый/кроссовый (см. определения в [10]);

• в концевой — имени/результатов функции.

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

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

2. оператор — предписывает действие, совместимое с типами объектов;

3. охрана — предписывает акт выбора, исходя из состояния объектов и/или исполнителя;

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

включены действия, целесообразный круг которых рассмотрен в [8, п. 4.5].

Учитывая замечания о самостоятельности действий сохранения/извлечения в [9], в ИС-язык должны включаться операторы работы с хранилищами (можно считать, что они выполняют т.н. «сериализацию/десериализацию» объектов кода/данных в программных реализациях).

Имя в общем бывает видов:

• действия — представляет операцию, допустимую для исполнителя;

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

структуры, на каком бы уровне иерархии её ни рассматривать.

Кроме иерархии определений, введённой выше, существует также иерархия определяемого описания (скажем, когда определены возможности вложений). Для удобства восприятия и оперирования её следует как-то представлять в записи. Соответствующие предложения даны в [10, с.115].

Форма записи грамматики возможна различная. В [10, Разд.4] принята табличная.

2. Реализация редактирования структуры

Редактирование описания, структурированного вышеописанным образом, можно реализовать на основе структурно-иерархической навигации по описанию (далее будем подразумевать текстовую форму записи, пока не будет указано другое). Её суть — движение постоянного фокуса по тексту в порядке чтения (записи согласно грамматике языка) и независимый выбор масштаба фокуса по введённой иерархии.

В зависимости от установленного масштаба (по уровню иерархии) меняется:

1. гранулярность выделения и логика его движения;

2. состав доступных операций редактирования.

Выделение служит курсором. Масштаб читатель переключает отдельно (текущий уровень должен наглядно показываться в среде). Состав операций, доступных в фокусе, показывается контекстным меню (как вариант по выбору пользователя — «хинтом»). При выделении прежде всего определяется общий принцип подсветки:

1. «фон-курсор» - элемент в фокусе форматирован иначе, остальные единообразно;

2. «структура-положение» - все элементы форматированы согласно своим структурным типам, а элемент в фокусе — с отличием, явным для каждого формата.

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

Второй принцип применим с тем ограничением, что видов формата не должно быть слишком много, иначе картина для развитого описания получается слишком «пёстрой».

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

Предлагается в реализации:

1. принять второй принцип выделения;

2. для уровня имён варьировать по видам шрифт (а для имён, имеющих смысл ссылок — вводить подчёркивание), для предписаний — цвет текста, для уровней блоков и выше — цвет фона и форму выделения.

Принцип выделения кросса может соответствовать Scratch-нотации, представленной в

[11].

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

Логика движения прежде всего определяет принципы для смены уровня:

• уровень, изначально устанавливаемый в текущем сеансе работы с данным описанием;

• новое положение более крупного/мелкого курсора при смене уровня.

Предлагается в реализации:

• изначально сохранять ранее выбранный уровень навигации (самый крупный/мелкий);

• при укрупнении уровня раздвигать границы фокуса к границам нового элемента (крупного), подэлементом которого является прежний (уровнем мельче);

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

Предполагается, что такая общая логика будет приемлемой для читателя.

Далее, для движения определяются принципы:

• порядка перемещения курсора читателем — последовательно или произвольно;

• порядка последовательного обхода элементов на текущем уровне навигации;

• порядка выделения и редактирования предписаний и/или имён с учётом их структуры (прежде всего арности) и семантики (арифметико-логической или предметной).

Предлагается:

• курсор в режиме редактирования перемещать только последовательно;

• для произвольного перемещения (например, за указателем «мыши») использовать вспомогательные представления;

• на высшем уровне выделяется сначала модуль и затем — каждая его процедура;

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

• в нелинейной операторной секции сначала выделяется кросс секции в целом, затем все марши как его содержимое;

• для нелинейного опер-блока сначала выделяется кросс отдельного маршрутизатора, затем каждый его марш (по порядку вложенности, если есть вложение);

• для нелинейного кросса предписаниями считаются охраны, т.к. переходы по правилам структурности формируются однозначно и не могут быть отредактированы;

• на низшем уровне фокус перемещается по горизонтали, т.к. имена образуют текст предписания, как слова в абзаце;

• для имён операций может быть определён особый порядок выделения и редактирования.

Подразумевается, что «сначала» и «затем» - это позиции фокуса по мере подачи команд на перемещение в направлении следования по ИС-тексту. Для противоположного направления и порядок следования фокуса будет обратным. Зависимая (безымянная) процедура — первая.

Основной способ произвольного перемещения, совместимый с концепцией Semantic IDE, - по АСД документа, т.е. дереву узлов, - реализуется, например, подобно вспомогательной странице навигации редактора DesignlDEF (описан в [12, Приложение П3]). Другой способ - по схеме некоторого вида, специально определяемого для ИС-программы.

Тогда единица зависит от определения схемы (минимально - имя величины/типа/процедуры/модуля).

Упорядочение элементов сообразно структуре по категориям и не зависит от формы записи.

Более точно видовые различия форматов и логика движения могут быть определены по результатам эргономических исследований методами наук о труде (производственной технологии, управления, инженерной психологии). Эмпирически они должны отвечать «принципу наименьшего удивления» читателя (построителя) описаний.

При определении состава операций редактирования учитывается прежде всего:

• системная их классификация (наиболее общая — на прибавления элементов, их вычитания, преобразования структуры элементов и изменения их атрибутов);

• способ построения описания.

По мнению автора, ИС-подходу отвечает построение описаний путём вывода в некоей дедуктивной системе — исчислении над заданным алфавитом конструкций. Вложение структурных знаков, имеющих один вход и выход, возможно в конкретную связь структуры.

Среди операций можно выделить типы по области действия:

• общезначимые (как создание/удаление/архивация элемента данного масштаба/вида);

• специфические (скажем, в кроссах разной структуры можно поменять состав/порядок ветвей по-своему, у разных имён действий/предметов м.б. свои способы атрибуции).

Дальнейшая структуризация предполагается для разработки конкретной среды.

Выводы

Предлагаемая иерархия ИС-программы, по сути, задаёт «новое измерение структурности» в сравнении с [13] - к осям «последовательность состояний (в порядке чтения/исполнения)» и «переключение состояний» добавляется третья - это гранулярность состояний, масштаб их рассмотрения. В зависимости от масштаба курсор перемещается по тексту большими или меньшими шагами. Такое поведение будет более ожидаемым, что д.б. эргономичнее, чем произвольное перемещение или последовательное, но без учёта структуры.

В условиях исчисления вложениями рациональная структуризация выводимого также позволяет привязать максимум операций редактирования к типам элементов структуры. Тем самым можно развить реализацию модели, подобную описанной в [14]. Необходимо дальнейшее развитие графических нотаций документирования.

Литература

1. Ермаков И.Е. От ремесла — к инженерии, от мастерской - к заводу программных систем // Доклад на конференции. - Судак, 2010. ИКЬ: http://ermakov.net.ru/pub/EIE-28-2010.pdf.

2. Лаптев В.В. Требования к современной обучающей среде по программированию // Объектные системы-2010 (Зимняя сессия): матер. II Междун. научно-практич. конф.. Россия, Ростов-на-Дону, 10-12 ноября 2010 г. / Под общ. ред. П.П. Олейника. - Ростов-на-Дону, 2010. - с. 104110.

3. Лаптев В.В., Грачёв Д.А. Разработка учебного языка программирования и интерпретатора // Объектные системы-2012: матер. VI Междун. научно-практич. конф.. Россия, Ростов-на-Дону, 10-12 ноября 2010 г. / Под общ. ред. П.П. Олейника. - Ростов-на-Дону, 2012. - с. 92-101.

4. Тюрганов А.Г., Галимов А.К,. Сафин Э. В. Система операционных продукций для моделирования деятельности образовательного учреждения. // XII Научно-практич. конф. «Реинжиниринг бизнес-процессов на основе современных информационных технологий. Системы управления знаниями» (РБП-СУЗ-2010): Сб. научных трудов / Московский государственный университет экономики, статистики и информатики - М., 2009. - С.273-278.

5. Жаринов В.Н. Графическое моделирование процессов в обучении. // «Информационные и коммуникационные технологии в образовании»: Сб. материалов XIV Междун. научно-

практической конференции / Борисоглебск, ноябрь 2013 г. - Борисоглебск: ФГБОУ ВПО «БГПИ», 2013.-С. 14-25.

6. Жаринов В.Н. Объектное описание образовательного контента на императивно-семантическом языке. // Интеллектуальные технологии обработки информации и управления: Труды второй междун. конф. Междун. науч. изд. - Уфа: ФГБОУ ВПО УГАТУ, 2014. - Т.1 — С.164-170.

7. Жаринов В.Н. Некоторые вопросы графического представления потока управления императивных знаний. - В том же сборнике, 2014. - Т.1. - С.59-64.

8. Жаринов В.Н. Построение и языки учебно-производственных графических моделей процессов. // «Информационные и коммуникационные технологии в образовании»: Сб. материалов XIV Междун. научно-практической конференции / Борисоглебск, ноябрь 2013 г. -Борисоглебск: ФГБОУ ВПО «БГПИ», 2013. - С. 165-189.

9. Гегечкори А. Проблемы обучения информатике. // Информатика и образование. - 1988. - №4.

10. Жаринов В.Н. Императивная и дескриптивная семантика в описании профессионального контента. // Интеллектуальные технологии обработки информации и управления: Труды третьей междун. конференции. Междун. науч. изд. - Уфа: УГАТУ, 2015. - Т.1. - С.114-120.

11. МБОУ ДПО УМЦ г. Челябинска. Уроки Scratch. [Электронный ресурс]. [2011] URL: http://zarapina.blogspot.ru/p/scratch_2116.html (пров.: 3.05.2013).

12. Черемных С.В., Семёнов И.О., Ручкин В.С. Структурный анализ систем: IDEF-технологии. -М.: Финансы и статистика, 2001.

13. Ермаков И. Е., Жигуненко Н. А. Двумерное структурное программирование; класс устремлённых графов. (Теоретические изыскания из опыта языка «ДРАКОН») // Сборник трудов V Международной конференции «Инновационные информационно-педагогические технологии в системе ИТ-образования», Москва, 8-10 ноября 2010. - М.: Изд-во Московского ун-та имени М. В. Ломоносова, 2010. - с. 452-461. URL: http://2010.it; edu.ru/docs/C4/a4a%20Ермаков%20И.Е1287620722076198.doc.

14. Лаптев В.В., Грачёв Д.А. Разработка многоязыкового редактора на основе семантической модели программы // Вестник АГТУ. Сер.: Управление, вычислительная техника и информатика. - 2013. - №2. - С. 191-202.

УДК 004.942:81 '322.2(062)

ПРИМЕНЕНИЕ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПОДХОДА К ПРОЕКТИРОВАНИЮ ИНФОРМАЦИОННОЙ СИСТЕМЫ ИДЕНТИФИКАЦИИ ЛИЦ, ПРИЧАСТНЫХ К СФЕРЕ НЕЗАКОННОГО ОБОРОТА НАРКОТИЧЕСКИХ СРЕДСТВ И ПСИХОТРОПНЫХ ВЕЩЕСТВ В ВИРТУАЛЬНЫХ СОЦИАЛЬНЫХ СЕТЯХ, С ИСПОЛЬЗОВАНИЕМ БАЗЫ ДАННЫХ ЖАРГОНИЗМОВ

Савва Юрий Болеславович, к.т.н., доцент кафедры «Информационные системы», Приокский государственный университет, Россия, г. Орел, 8и fio@mail.ru Давыдова Юлия Витальевна, ведущий программист ИВЦ, Приокский государственный университет, Россия, г. Орел, alfa-antares@yandex.ru

Анонимность в Интернете создает благоприятные условия для развития девиантного поведения среди пользователей. Сервисы виртуальных социальных сетей предоставляют широкие возможности для коммуникации. Ряд особенностей этих сетей, таких как высокая скорость реагирования, вирусный характер распространения информации, делают их хорошими средствами для пропаганды и реализации злоумышленных намерений криминальных и террористических организаций, в частности в сфере незаконного оборота наркотических средств и психотропных веществ. В настоящее время опасность распространения наркомании резко возросла в связи с тем, что наиболее популярными становятся «легкие» наркотики. По сравнению с «тяжелыми» видами, такие как героин,

i Надоели баннеры? Вы всегда можете отключить рекламу.