Comments 12
Интересно. Спасибо за обзор. Было бы неплохо все-таки дать расшифровку DSL, ибо неоднозначна.
+4
В предыдущей статье более конкретно по DSL, здесь, скорее, откуда мы пришли к языкам описания предметной области. В ближайшее время еще одна будет, с полным обзором DSL, классификацией, возможностями, тулзами.
0
Там тоже нет расшифровки, только в комментариях. Да и заголовки с неоднозначными аббревиатурами иногда вводят в ступор.
+2
Domain specific language :)
В русскоязычной литературе обычно употребляют термин «предметно-ориентированный язык программирования» или «язык описания предметной области», хотя последнее понятие более широко
В русскоязычной литературе обычно употребляют термин «предметно-ориентированный язык программирования» или «язык описания предметной области», хотя последнее понятие более широко
0
Просто когда просматриваешь заголовки статей первой при виде аббревиатуры DSL понимается тот по которому интернет в дома приходит, а начинаешь читать и видишь что речь совсем о другом.
Надо в заголовке писать полную расшифровку чтобы не было неоднозначностей.
Надо в заголовке писать полную расшифровку чтобы не было неоднозначностей.
+1
Тоже просмотрел обе статьи, и весьма удивился, не найдя определения термина DSL, используемого в заголовке.
Внесите в обес татьи пожалуйста.
Внесите в обес татьи пожалуйста.
0
Вы путаете.
То, что вы описываете как табличное представление — это не знание о предметной области, это и есть объекты предметной области.
Знание о предметной области — это то, что есть сущность «замер», и она характеризуется атрибутами «дата, осадки, температура, давление, влажность» (кстати, сразу становится очевидно, что, возможно, предметная область проанализирована неверно, и в ней существуют объекты «группа замеров», состоящие из объектов «замер», каждый из которых характеризуется показателем и типом замера, и тогда ваша таблица — не объект-свойство, а объект-объект в вашей терминологии).
При этом, скажем, «техническое задание (структурированный и даже гостированный документ, содержащий общую информацию о предметной области)» — это как раз знание о предметной области. (А еще вы тут спутали, потому что ТЗ более детально, нежели BRD, но это совсем нюансы).
И, очевидно, кстати, что разница между этими двумя вещами — это и есть разница между «языком описания предметной области» и «предметным языком программирования».
«Как видим из классификации, среди структурированных моделей представления знаний, которыми может оперировать пользователь, являющийся экспертом предметной области, но ничуть не являющийся программистом, присутствуют:
1. Техническое задание
2. Набор бизнес-функций
3. DSL»
Ну а это просто не правда. Не всякий пользователь-эксперт-непрограммист сможет работать со всяким dsl, и, с другой стороны, графические представления вполне позволяют оперировать с ними экспертам-непрограммистам. Учитывая, что графические представления бывают исполняемыми, ваш тезис «на текущий момент DSL – единственный способ описания своих знаний о предметной области экспертом, не имеющим подготовки в программировании» оказывается ошибочным.
То, что вы описываете как табличное представление — это не знание о предметной области, это и есть объекты предметной области.
Знание о предметной области — это то, что есть сущность «замер», и она характеризуется атрибутами «дата, осадки, температура, давление, влажность» (кстати, сразу становится очевидно, что, возможно, предметная область проанализирована неверно, и в ней существуют объекты «группа замеров», состоящие из объектов «замер», каждый из которых характеризуется показателем и типом замера, и тогда ваша таблица — не объект-свойство, а объект-объект в вашей терминологии).
При этом, скажем, «техническое задание (структурированный и даже гостированный документ, содержащий общую информацию о предметной области)» — это как раз знание о предметной области. (А еще вы тут спутали, потому что ТЗ более детально, нежели BRD, но это совсем нюансы).
И, очевидно, кстати, что разница между этими двумя вещами — это и есть разница между «языком описания предметной области» и «предметным языком программирования».
«Как видим из классификации, среди структурированных моделей представления знаний, которыми может оперировать пользователь, являющийся экспертом предметной области, но ничуть не являющийся программистом, присутствуют:
1. Техническое задание
2. Набор бизнес-функций
3. DSL»
Ну а это просто не правда. Не всякий пользователь-эксперт-непрограммист сможет работать со всяким dsl, и, с другой стороны, графические представления вполне позволяют оперировать с ними экспертам-непрограммистам. Учитывая, что графические представления бывают исполняемыми, ваш тезис «на текущий момент DSL – единственный способ описания своих знаний о предметной области экспертом, не имеющим подготовки в программировании» оказывается ошибочным.
+2
Простите, но разве выделение объектов предметной области — это ли не часть представления знаний о предметной области?
И еще один момент. Предметный язык программирования — это частность от языка описания предметной области, а не вообще левое понятие. Или вы не это имели в виду?
По второму моменту вы меня плохо поняли, похоже, я недостаточно подробно описал то, что имелось в виду. Просто DSL тоже бывают графическими, и реализация ПрО на них для нерограммиста гораздо проще, чем в UML, плюс к тому, реализация архитектуры программного прлдукта с помощью созданного DSL может быть полной и требовать незначительного допиливания на языке реализации, чего не скажешь о UML
В любом случае спасибо за конструктив
И еще один момент. Предметный язык программирования — это частность от языка описания предметной области, а не вообще левое понятие. Или вы не это имели в виду?
По второму моменту вы меня плохо поняли, похоже, я недостаточно подробно описал то, что имелось в виду. Просто DSL тоже бывают графическими, и реализация ПрО на них для нерограммиста гораздо проще, чем в UML, плюс к тому, реализация архитектуры программного прлдукта с помощью созданного DSL может быть полной и требовать незначительного допиливания на языке реализации, чего не скажешь о UML
В любом случае спасибо за конструктив
+1
«Простите, но разве выделение объектов предметной области — это ли не часть представления знаний о предметной области?»
Выделение объектов — да. А вот то, что у вас в таблице — это не выделение объектов, это объекты и есть.
«И еще один момент. Предметный язык программирования — это частность от языка описания предметной области, а не вообще левое понятие. Или вы не это имели в виду?»
Не это. Язык описания предметной области — это, скажем, enity: Document (properties: Title, Content; methods: Sign, Verify): мы описали предметную область, содержащую объекты одного типа (документы), каковой тип содержит свойства название и содержимое и операции подписи и проверки. Язык программирования для этой предметной области может быть любым, хоть графическим — например, стрелочки и кружочки, описывающие последовательность сбора подписей для документа.
«Просто DSL тоже бывают графическими»
… а бывают и не-DSL графические представления, которые тем не менее вполне себе структурны и исполнимы.
Выделение объектов — да. А вот то, что у вас в таблице — это не выделение объектов, это объекты и есть.
«И еще один момент. Предметный язык программирования — это частность от языка описания предметной области, а не вообще левое понятие. Или вы не это имели в виду?»
Не это. Язык описания предметной области — это, скажем, enity: Document (properties: Title, Content; methods: Sign, Verify): мы описали предметную область, содержащую объекты одного типа (документы), каковой тип содержит свойства название и содержимое и операции подписи и проверки. Язык программирования для этой предметной области может быть любым, хоть графическим — например, стрелочки и кружочки, описывающие последовательность сбора подписей для документа.
«Просто DSL тоже бывают графическими»
… а бывают и не-DSL графические представления, которые тем не менее вполне себе структурны и исполнимы.
0
0
Три буржуйских буквы заставили думать, что я в «телекомах».
Простите, ошибся дверью :)
Простите, ошибся дверью :)
0
Sign up to leave a comment.
Введение в DSL. Часть 0. Анализ существующих ИТ как средства решения проблемы представления знаний о предметных областях