Здравствуйте, не могу найти ссылку на скачивание курса «Визуальное моделирование: теория и практика»
Номер платежа 6400454020565 |
О строении визуальных языков
Семиотика: понятия "язык" и "текст"
В контексте DSM-подхода язык и текст являются важнейшими, базовыми понятиями. Рассмотрим эти понятия, обратившись к семиотике - науке о знаковых системах (языках). Эта наука рассматривает языки и тексты в самых разных областях знания и человеческой деятельности: древние и современные языки и диалекты, литературу (современную, средневековую, античную и т. д.), символику - религиозную и культовую, - кинематограф, театр, геологические отложения, звездное небо, музыку, математику, программирование и т. д. Как писал Юрий Лотман, весь мир - это текст…
Конечно, одна наука не может вобрать в себя все перечисленное выше области, а также и то, что могло бы быть еще здесь перечислено. Семиотика изучает общие закономерности языков и текстов произвольной природы. Фактически она является особой парадигмой познания, ориентируя человека на поиск вокруг себя текстов и постижение языков, на которых они написаны, а также на создание новых языков для самовыражения и групповой практической деятельности. Важно отметить, что семиотика не просто рассматривает внутреннее устройство разных текстов и языков, но делает акцент на их связях с внешним миром - тем контекстом, который их породил, который их использует. Без этих связей семиотика мало чем отличалась бы от кибернетики и информатики, тоже рассматривающих языки и тексты, но с точки зрения передачи и автоматизированной обработки информации. Ключевые понятия семиотики - синтаксис, семантика и прагматика, предметная область и пользователи языка - как раз и отражают эти связи.
DSM-подход является семиотическим подходом. Основу каждого DSM-решения составляет формально определенный визуальный язык. Спецификации языка служат главным артефактом автоматизированной разработки DSM-пакета. Вот пример другого, несемиотического подхода к созданию DSM-решений - построение и формализация искомого эффективного и "правильного" процесса работы, а потом, исходя из этого процесса, создание языков и программных средств. Еще одним примером не семиотического подходом является парадигма бизнес-процессов. И, напротив, существуют семиотические подходы к бизнесу, которые описывают его как информационную систему, работающую с различными текстами и знаками.
Этот подход носит название семиотики организации (organisational semiotics) и развивается в работах [11.3], [11.4]. С точки зрения этого подхода бизнес-компанию можно рассматривать как систему, которая оперирует акциями, заказами, квитанциями, кредитами и, разумеется, деньгами. Акцентируя отличие языков, текстов и знаков семиотики от IT-информации здесь отмечается, что, например, денежная банкнота - это нечто большее, чем набор букв и цифр на цветной бумаге. Она, банкнота, определяет покупательную способность ее владельца, а также состояние экономики той страны, чьей валютой она является. Например, доллары США свободно обращаются в любой стране, чего не скажешь, например, о тайских батах.
Семиотический подход обращает внимание на то, что информация в целом является огромным явлением, не сводимым только лишь к битам и байтам, к отправителю и получателю, как указывал Джон Гибсон [11.5], известный американский психолог, исследовавший зрительное восприятие.
Определим текст как последовательность знаков произвольной природы, которую человек может воспринять и извлечь оттуда информацию. Тогда соответствующую систему знаков, с помощью которой составлен текст, будем называть языком. Тот фрагмент реальности, который описывают тексты на некотором языке, будем называть предметной областью языка. А человека или группу людей, которые пользуются данным языком и читают (а, возможно, и составляют) на нем тексты будем называть пользователями языка. Все это изображено на рис. 11.1.
Рис. 11.1. Пользователь, воспринимая тексты на некотором языке, получает информацию о соответствующей предметной области
И для текста, и для языка важен пользователь - тот, кто будет читать эти тексты. Тот, кто их создает, важен в меньшей степени. В самом деле, кто создал звездное небо, которое читают мореходы, астрологи, астрономы? И кстати, эти категории "пользователей" неба видят его по-разному, по-разному его читают… Тексты/языки появляются и существуют, когда у них есть пользователи. И когда пользователи уходят, и тот и другой умирают… Например, есть такой термин "мертвый язык", который обозначает язык, не имеющий живых носителей, для которых он является родным. К таким языкам относятся латынь, древнерусский, древнеегипетский, шумерский, древнегреческий и т.д. Оставшиеся письменные источники с текстами на этих языках являются предметом изучения для узких специалистов.
Очень важно понимать специфику пользователей визуального языка. Особенно для DSL, который ориентируется на конкретных людей, а не на абстрактные категории пользователей. Ошибки здесь часто ведут к провалу проекта по разработке DSM-решений - пользователям неудобно работать с DSM-инструментами или последние не помогают им справиться с реальными нуждами и проблемами. И тогда пользователи начинают, например, тихо саботировать внедрение DSM-инструментов.
Предметная область языка также очень важна. Попытка применить тот или иной язык к неподходящей предметной области приводит в лучшем случае к курьезам. В частности, при разработке нового DSL нужно хорошо понимать тот целевой контекст, где язык будет применяться: процесс, в рамках которого DSL будет использоваться, те проблемы и задачи, которые язык должен решать. Например, главная проблема языка UML - это всеобщность, попытка адресоваться любому возможному применению в рамках любой области в контексте разработки ПО. Но предметная область разработки ПО очень обширна и многообразна, не существует стандартного, единого и однозначного ее описания. В итоге ключевые абстракции и понятия UML оказываются неясными и трудно постижимыми, а его внутренняя структура - сложной и запутанной. Это, в свою очередь, препятствует его практическому использованию1Я ни в коей мере не подвергаю сомнению ценноcть UML, а лишь отмечаю его проблемы, к оторые активно обсуждаются в мировом сообществе - см., например, работу [11.12]
Семиотика выделяет три измерения языка - синтаксис, семантику и прагматику. Синтаксис - это взаимосвязи знаков языка, которые определяют правила построения из них текстов. Семантика языка - это значение его знаков, их проекции в предметную область. Прагматика языка - это способы его применения пользователями. Обратившись к рис. 11.2 можно сказать, что синтаксис - это связь языка самого с собой (его знаков друг с другом), семантика - связь языка с предметной областью, а прагматика - связь языка с пользователем.
Рассмотрим синтаксис, семантику и прагматику подробнее, применительно к визуальным языкам.