Порождающее моделирование и моделеориентированная системная инженерия

Sep 18, 2009 14:59

Современное употребление слова "модель" по смыслу размыто не меньше, чем его обобщение -- "описание". Когда мы пишем "моделе-ориентированная системная инженерия" (model-based systems engineering, MBSE, http://www.incose.org/newsevents/news/details.aspx?id=151Read more... )

Leave a comment

Comments 18

gr_s September 18 2009, 11:07:41 UTC
Толя, ты стал понятно писать. Это очень хорошо.

Reply

ailev September 18 2009, 11:15:13 UTC
Да я всегда понятно пишу, когда не "просто в ЖЖ в порядке журналирования исследований". Этот текст получен переводом с английского моего "текста не в ЖЖ", т.е. даже не "текст", а "статья". :)

Reply

gr_s September 18 2009, 11:19:36 UTC
т.е. даже не "текст", а "статья". :) - т.е. такой текст, который не ЖЖ-ный постинг, а вне-ЖЖ-шная статья.

На самом деле, контраст поразительный. Все-таки, ЖЖ при всех его неоспариваемых и огромных достоинствах не позволяет качественно писать (отчасти, именно вследствие своих достоинств, типа скорости реагирования, связанной с ней непосредственности и "прямости" отклика, возможности уточнить мысль в ответе на комменты, причем "пока не остыл" и т.п.).

Reply

ailev September 18 2009, 11:27:14 UTC
Это одна сторона медали. А другая сторона медали -- я пишу в него в десяток раз больше, чем раньше писал в журналы и вообще писал. Я отказался от колонки в Компьютерре (и продолжаю отказываться от всех предложений по авторской колонке), когда понял про ЖЖ. Но если я пишу не в ЖЖ, то пишу совсем по-другому (ибо понимаю, что речь идет не о постинге в контексте других постингов для аудитории из моих френдов и часто заглядывающих сотруников клиента, а об отдельном тексте и совсем другой аудитории).

Еще мне забавно, что при переводе этого собственного текста с английского (писал ведь сразу на английском) на русский, я еще и затруднялся время от времени с переводом :)

Reply


(The comment has been removed)

ailev September 18 2009, 11:28:52 UTC
Мне кажется, я именно об этом и написал.

Reply

(The comment has been removed)

ailev September 18 2009, 12:48:31 UTC
Моделирование как меняет язык по сравнению с непосредственным программированием (на доступный экспертам-предметникам), так и уменьшает объем кода (а значит и время программирования/отладки) по сравнению с непосредственным программированием. И добавляет еще много чего (например, добавляет повторноиспользуемости).

Еще нужно обязательно учесть, что моделирование я рассматриваю не в рамках программной инженерии, а в рамках системной инженерии -- т.е. в том числе моделирование для железных систем (и поэтому пример у меня в этом тексте -- гидравлические процессные модели из насосов, трубопроводов и резервуаров, те самые P&ID диаграммы).

Reply


avlasov September 18 2009, 15:57:57 UTC
Разработка "языконезависимого интерпретатора/компилятора" и "языконезависимого (в т.ч. графического) редактора" является очень сложной задачей. Зато перспективы очень заманчивы: каждый эксперт-непрограммист может получить собственный кастомизированный (инженерный, финансовый, управленческий и т.д.) DSL, и все эти DSL, адресующие множество различных интересов заинтересованных сторон, будут работать совместно.Заманчиво-то заманчиво, но утопично. Тут не только задача сложная, а и требования совсем другие: в ситуации комплексирования разных языков, софт должен быть на порядок более качественным. Ибо ошибки будут вылезать при стыковке разнородных языков и моделей. И вероятность этого растет пропорционально кол-ву DSL/concerns ( ... )

Reply

ailev September 18 2009, 16:19:16 UTC
А Лоусон называет это не "революцией", а rebirth (после винтелевского застоя ;)

Заманчиво, и не утопично. С другой стороны -- пока это очень сложно, поэтому в мире в этом направлении пока движутся всего пять-шесть фирм, никакой давки за место под солнцем.

Я не приписал тут, чтобы отделить личные предпочтения от описания тренда: я бы сам брал за основу софт COLA для подобной разработки. Это ведь как раз детальки для многоязыкового компилятора-интерпретатора. Правда, пока там не наблюдается деталек для "браузера-редактора", но в эту сторону все движется довольно быстро. А качество софта обеспечивается крайне малым результирующим объемом кода.

Там ведь еще и коллаборативная часть развивается в виде Croquet Cobalt, тоже нельзя сбрасывать со счетов, если делать такую работу (ибо за отдельными языками сидят отдельные люди, но все они работают с общей моделью).

Reply

avlasov September 21 2009, 13:28:25 UTC
Я вот подумал на досуге, и понял, что именно качество софта является принципиальным затыком в системных проектах. Т.е. в плане софта это я знал давно (ибо 60-80% затрат идет на тестирование в софтовых проектах). Но поскольку сейчас в основе всего (инженерного по крайней мере) лежит софт (и железо), то основной затык происходит обычно в обеспечении качества софта. Явно или неявно.
А проблема с качеством сводится к тому, что каждый прирост "единицы" качества сопровождается очень быстрым ростом затрат на его обеспечение. Т.е. 90% качество стоит столько, сколько прирост с 90% до 95%, и а прирост с 95% до 98% стоит уже в два раза больше, ну и т.д.
При этом Яны Пиумарты не масштабируются :).

Reply

ailev September 21 2009, 14:03:13 UTC
Самое забавное, что в текстах Пиумарты и Кея по проекту STEP главное слово как раз "масштабируемость" (они там ищут масштабируемость используемых методов и приемов: чтобы иметь возможность их использовать на самом околомашинном низу и на самом околопользовательском предметном верху).

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

Так что я бы не на масштабируемость самого Пиумарты напирал, а на что-то более содержательное.

Reply


Терминологический вопрос cornerles September 30 2009, 11:06:03 UTC
Спасибо очень познавательно :-)

Множество методов описания (viewpoints),
Множество групп описаний (views)

подскажите пожалуйста это устоявшаяся терминология , и если да то где она зафиксирована ?

Reply

Re: Терминологический вопрос ailev September 30 2009, 11:14:10 UTC
Это наши терминологические предложения, которые мне кажутся чрезвычайно удачными. Мы фиксируем их, например, в переводах стандарта ISO42010 (который как раз и определяет эти понятия), а также активно используем в наших работах.

А дальше уж -- как будет принято сообществом.

Сейчас эти view и viewpoint переводят кто во что горазд, и их содержание зачастую совсем не соотносится с терминологией из ISO 42010 (и далее -- ISO 15288 и многих других стандартов). Мы гармонизировали переводы этих стандартов и старались консистентно это переводить.

Переводы эти как раз сейчас активно обсуждаются в сообщесте Русского отделения INCOSE (как раз три дня назад была рассылка пяти переведенных текстов стандартов с активным использованием слов view и viewpoint).

Reply

Re: Терминологический вопрос cornerles September 30 2009, 12:18:54 UTC
Ясно спасибо большое, я как раз и переводил во что горазд :-) !
Перспектива,разрез очень сюда просятся, но к ним нет хороших дополнений.

Reply

Re: Терминологический вопрос ailev September 30 2009, 13:20:47 UTC
Там еще много интересных находок. Так, model -- это "описание", а не "модель". Архитектурное описание (architectural description) состоит из множества групп описаний (views), каждое из которых состоит из [частных, отдельных] описаний (model), а каждая группа описаний порождается (соответствует) одним и ровно одним методом описаний (viewpoint), который может быть или "библиотечным" (и тогда в обязательном порядке дается ссылка на литературу), или специально разработанным для данного проекта (и тогда кроме группы описаний обязательно приводится еще и описание этого метода описаний).

Ну, и так далее...

Reply


Leave a comment

Up