О сложности и DSL
Переведенный на русский кусочек из презентации Microsoft на тему сложности и как с ней бороться.



Типовой пример.
Новоиспеченный инженер после 5 лет обучения, имеющий базовые знания Java, XML и UML после свего прихода на предприятие и перед началом работы был привлечен в понедельник к чтению публичного отчета по J2EE v1.4 на 228 страницах.
На шести первых страницах этого отчета значились ссылки на: EJB, JSP, JMS, JMX, JCA, JAAS, JAXP, JDBC, JNDI.
Эта новая версия J2EE и веб-служб предполагала знание концепций SOAP, SAAJ, JAX-RPC и JAXR. Каждый из этих акронимов имеет соответствующую спецификацию.
Спецификация EJB 2.1 - это документ PDF на 640 страниц, который будет прочтен во вторник
Среда будет посвящена чтению документации по сервлетам Servlet 2.4 PFD на 307 страницах.
В чеверг он штурмует документ JSP 2.0 PFD на 374 страницах. И так далее...
После месяца интенсивных чтений наш инженер наконец готов начать продуктивную работу...
Взято из статьи Jason Weiss "Is complexity hurting Java?", Java Developer’s Journal, Vol. 7, Issue 10, Octobre 2002

Теперь собственно, что предлагает MS. Половина презентации посвящена DSL - Domain Specific Language - Язык Предметной Области. Надо, говорят, поднять абстракции на уровень требований к программному обеспечению. Описать их на формальном языке и генерировать код для целевых платформ. Создавая фабрики программного обеспечения.
Свежо предание, да верится с трудом.
Действительно, для повышения уровня абстракций понадобится соответствующий язык. Это не новость, вспомним 70-80-е годы, языки четвертого поколения (4GL) и CASE-инструменты. Проблема этого подхода собственно в моделировании.
Описывая модель на специфичном языке нам понадобятся средства проверки нашей частной модели, как минимум, на:
- полноту
- непротиворечивость
Для проверок такого рода нам нужно иметь обобщенные модели более высокого уровня - уровня предметной области. Создание подобных моделей - огромная исследовательская и аналитическая работа. Без гарантий успеха.
В некоторых областях, например, разработка аппаратуры, такой подход работате давно и успешно. Но в большинстве предметных областей общих моделей, как правило, нет. Есть частные случаи вроде MRP/ERP (см. ARIS toolset). И эти частные случаи суть концентрат опыта, полученного во множестве предыдщих проектов, а не выводы из какой либо теории.
Совершенно непонятно, как авторы подхода DSL предлагают решить столь давнюю проблему.
У нас есть 4G, CASE, IDEF, UML... У нас есть OMG SysML (systems modelling langauge) и сотни (sic!) специфичных языков предметной области (кое-что можно посмотреть здесь: http://www.omg.org/homepages/index.htm). У нас будет DSL. Что дальше?
- Блог пользователя Serguei_Tarassov
- Добавить комментарий
- Просмотров 868
