Как стать автором
Обновить

Комментарии 12

Интересно. Спасибо за обзор. Было бы неплохо все-таки дать расшифровку DSL, ибо неоднозначна.
В предыдущей статье более конкретно по DSL, здесь, скорее, откуда мы пришли к языкам описания предметной области. В ближайшее время еще одна будет, с полным обзором DSL, классификацией, возможностями, тулзами.
Там тоже нет расшифровки, только в комментариях. Да и заголовки с неоднозначными аббревиатурами иногда вводят в ступор.
Domain specific language :)

В русскоязычной литературе обычно употребляют термин «предметно-ориентированный язык программирования» или «язык описания предметной области», хотя последнее понятие более широко
Просто когда просматриваешь заголовки статей первой при виде аббревиатуры DSL понимается тот по которому интернет в дома приходит, а начинаешь читать и видишь что речь совсем о другом.
Надо в заголовке писать полную расшифровку чтобы не было неоднозначностей.
Тоже просмотрел обе статьи, и весьма удивился, не найдя определения термина DSL, используемого в заголовке.
Внесите в обес татьи пожалуйста.
Вы путаете.

То, что вы описываете как табличное представление — это не знание о предметной области, это и есть объекты предметной области.

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

При этом, скажем, «техническое задание (структурированный и даже гостированный документ, содержащий общую информацию о предметной области)» — это как раз знание о предметной области. (А еще вы тут спутали, потому что ТЗ более детально, нежели BRD, но это совсем нюансы).

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

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

1. Техническое задание
2. Набор бизнес-функций
3. DSL»

Ну а это просто не правда. Не всякий пользователь-эксперт-непрограммист сможет работать со всяким dsl, и, с другой стороны, графические представления вполне позволяют оперировать с ними экспертам-непрограммистам. Учитывая, что графические представления бывают исполняемыми, ваш тезис «на текущий момент DSL – единственный способ описания своих знаний о предметной области экспертом, не имеющим подготовки в программировании» оказывается ошибочным.
Простите, но разве выделение объектов предметной области — это ли не часть представления знаний о предметной области?

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

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

В любом случае спасибо за конструктив
«Простите, но разве выделение объектов предметной области — это ли не часть представления знаний о предметной области?»
Выделение объектов — да. А вот то, что у вас в таблице — это не выделение объектов, это объекты и есть.

«И еще один момент. Предметный язык программирования — это частность от языка описания предметной области, а не вообще левое понятие. Или вы не это имели в виду?»
Не это. Язык описания предметной области — это, скажем, enity: Document (properties: Title, Content; methods: Sign, Verify): мы описали предметную область, содержащую объекты одного типа (документы), каковой тип содержит свойства название и содержимое и операции подписи и проверки. Язык программирования для этой предметной области может быть любым, хоть графическим — например, стрелочки и кружочки, описывающие последовательность сбора подписей для документа.

«Просто DSL тоже бывают графическими»
… а бывают и не-DSL графические представления, которые тем не менее вполне себе структурны и исполнимы.
Три буржуйских буквы заставили думать, что я в «телекомах».
Простите, ошибся дверью :)
А я подумал, что это что-то ITIL'овское, ибо DSL — Definitive Software Library.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории