38
Моделеориентированность в инженерии Анатолий Левенчук Москва 24 сентября 2014г.

Моделеориентированность в инженерии

Embed Size (px)

DESCRIPTION

Доклад А.Левенчука "Моделеориентированность в инженерии" на 93 заседании Русского отделения INCOSE, 24 сентября 2014г.

Citation preview

Page 1: Моделеориентированность в инженерии

Моделеориентированность в инженерии

Анатолий Левенчук

Москва24 сентября 2014г.

Page 2: Моделеориентированность в инженерии

Развитие и совершенствование инженерии

2

РЕЗУЛЬТАТЫ

ВРЕМЯ

III поколениеМоделе-ориентированная (model-based) инженерия: формальные языки (вычисляемый «код»)

II поколениеСовременная («классическая») инженерия: диаграммы и чертежи («псевдокод»)

I поколение«Алхинженерия»: неформальные тексты и эскизы

199018601400

IV поколениеИскусственный интеллект: гибридные вычисления

2020

Page 3: Моделеориентированность в инженерии

Смена технологий системной инженерии

• Технология – way of working (практики и поддерживающие их инструменты, обученные этим практикам работы люди с нужным уровнем компетенций)

Сейчас (классика): фронтир -- управление жизненным циклом. Идея: «пусть сломается в компьютере» -- поиск и предотвращение коллизий. Защищаем от убытков и задержек. Управление жизненным циклом.

Завтра: фронтир -- generative design and manufacturing.Идея: «пусть думает компьютер, от нас нужно только сообщить намерение». Даём дешевизну и скорость. Моделирование и преобразование моделей

3

Page 4: Моделеориентированность в инженерии

Мечта о формализме• «Псевдокод» – это когда нет формальной семантики.• «Код» – это когда есть формальная семантика (в инженерии по

факту не используется, редко – в программной инженерии).• Идут эксперименты в рамках MBSE инициативы INCOSE (группа

онтологии: http://www.omgwiki.org/MBSE/doku.php?id=mbse:ontology). What an engineer calls a model a logician calls an axiom set; what a logician calls a model an engineer calls a simulation. This equivalence of concepts leads to application of well-established methods of logic to engineering. (Henson Graves, http://www.omgwiki.org/MBSE/lib/exe/fetch.php?media=mbse:mathemataical_foundation_engineering.pdf)

• Не стоит забывать: «чем больше формализация, тем меньше люди обращают внимание на смысл» (vit_r в ЖЖ).

• Пример: OWL и ISO 15926.

4

Page 5: Моделеориентированность в инженерии

Порождающее проектирование и производство

«Порождение» против «редактирования»

Generative design (биты в биты)• Информационная модель-1 + справочные данные =

информационная модель-2

Generative manufacturing (биты в атомы)• Информационная модель + справочные данные =

оформленное вещество5

Page 6: Моделеориентированность в инженерии

Принципы порождения

• Постепенное уменьшение доли «редактирования» в пользу автоматизированного порождения (как в проектировании, так и в изготовлении)

• Автоматизация инженерных обоснований – доказательства (в отличие от тестирования), порождение объяснений

• Использование справочных данных (общей для многих проектов информации)

6

Page 7: Моделеориентированность в инженерии

Порождающее проектирование/конструирование (generative design)

• Параметризованные проекты• Языки программирования в составе современных САПР• Порождение не только геометрии! • Генерация гипотез и совмещение с экспериментом

(эксперимент=испытания).

• Порождающая архитектура – работы группы Henry Broodney (http://incose-ru.livejournal.com/31890.html).

• Другие парадигмы: search-based SE (http://ailev.livejournal.com/1122876.html).

7

Page 8: Моделеориентированность в инженерии

Что в эпицентре

Jean Bezivin:• CAD – уже не признак чего-то особенного• Софт – тоже уже везде• Модели – эпицентр нового [прежде всего,

трансформация моделей: порождение!]

• Не только трансформация моделей, но и другие парадигмы (поиск-ориентированная системная инженерия)

8

Page 9: Моделеориентированность в инженерии

Один язык или много?

• В программировании: – Универсальные мультипарадигмальные языки– Расширяемые языки

• В моделировании:• Слишком много парадигм: – DSL (универсальных языков моделирования по

факту нет). – Попытки «UML с профилями».– Инициативы типа Modelica

9

Page 10: Моделеориентированность в инженерии

Стандарты и моделирование

• Предмет/метамодель: ответ на вопрос «что есть в мире» (онтика, часто называют онтологией, путают с онтологическим описанием).

• Онтология – это разделяемая людьми (shared) спецификация концептуализации (Том Грубер)

• Стандарты дают:– По форме – спецификацию (т.е. онтологическое описание)– какую-то гарантию разделяемости людьми (т.е. коллективную

работу по проверке описания)– проверяемы использованием в деятельности

• В моделировании: стандарты метамоделей и метаметамоделей (часто оформляются как языковые стандарты – не только отношения, но и языки).

10

Page 11: Моделеориентированность в инженерии

Программирование, моделирование, онтологизирование

• Какое вычисление будет с моделью?!• Языки моделей и языки запросов [модель

= база данных]• Языки моделей: – онтологические-лингвистические (языки GORE), – истинно онтологические (ISO 15926)– Мультифизические (Modelica),

• Языки программирования

11

Page 12: Моделеориентированность в инженерии

12

«Хорошая» модель• Разделяемая– Известная всем участникам– Та, с которой все участники согласны

• Понятная– Людям и компьютерам– А что значит «понятна компьютерам»?

• Описывающая реальный мир– А какой мир «реален»?– Страшное слово – «онтология»

Page 13: Моделеориентированность в инженерии

13

Онтологии

• Онтология является формальной и явной спецификацией разделяемой концептуализации.

• An ontology is a formal, explicit specification of a shared conceptualization.

Т. Груббер, Р.Стадер, Р.Бенджамин, Д.Фенсел

Что есть в мире?

Платон, Аристотель («Категории» - сущности, универсалии, количества, качества, отношения, действия,…), Хайдегер, Поппер, субъективизм, объективизм, релятивизм,…

Page 14: Моделеориентированность в инженерии

14

От словарей…• Глоссарий (уст.)

Слово• Словарь

Слово – Определение• Тезаурус

Слово – Определение – Лингвистические отношения (синоним, гипероним, гипоним, антоним)

• ТаксономияКласс – подкласс (тип – подтип, предок – потомок, …)

• ОнтологияПонятие – Отношения (классификации, специализации,

часть-целое, причина-следствие, знак-значение,…)

Page 15: Моделеориентированность в инженерии

15

Онтологические вопросы• В философии:– О природе универсалий (классов и категорий)– О природе времени и пространства– О природе языка, знания и информации– О природе человека

• В моделировании данных:– … те же самые!– О формальном машиннобрабатываемом языке для

ответов на эти вопросы• Онтологические ответы – выбор онтологических

оснований моделирования

Page 16: Моделеориентированность в инженерии

Почему модели?!

• Не тратим силы на обсуждение ненужных деталей – модели это «правильные упрощения»

• Проверяем компьютером (model checking) • Компьютерная оптимизация• Порождение того, что невозможно породить руками

(решение проблемы сложности): сверхсложные формы, сверхбольшие объемы данных

Итого: работаем быстрее и дешевле (а не только избегаем ошибок, как в «классике»).

16

Page 17: Моделеориентированность в инженерии

Пробы и ошибки против моделирования

• Kerbal space program (https://kerbalspaceprogram.com)

• Моделирование Grasshopper

17

Page 18: Моделеориентированность в инженерии

18

Информационная модель = прибор (видеть невидимое: в том числе еще

несуществующие инженерные объекты!)

Где прибыль?!

Где мощность?

Page 19: Моделеориентированность в инженерии

Что такое модель?• Система А по которой мы судим о поведении системы B

• Моделирование в широком смысле – это эффективное по затратам использование чего-то одного вместо чего-то другого для мыслительных целей. Это позволяет нам использовать вместо реальности что-то такое, что проще, безопаснее или дешевле чем реальность для заданной цели; модель является абстракцией реальности в том смысле, что она не может представить все аспекты реальности. Это позволяет нам иметь дело с миром упрощённым способом, обходя сложность, опасность и необратимость реальности.

• Modeling, in the broadest sense, is the cost -effective use of something in place of something else for some cognitive purpose. It allows us to use something that is simpler, safer or cheaper than reality instead of reality for some purpose. A model represents reality for the given purpose; the model is an abstraction of reality in the sense that it cannot represent all aspects of reality. This allows us to deal with the world in a simplified manner, avoiding the complexity, danger and irreversibility of reality.

"The Nature of Modeling."Jeff Rothenbergin Artificial Intelligence, Simulation, and Modeling,L.E. William, K.A. Loparo, N.R. Nelson, eds.New York, John Wiley and Sons, Inc., 1989, pp. 75 -92http://poweredge.stanford.edu/BioinformaticsArchive/PrimarySite/NIHpanelModeling/RothenbergNatureModeling.pdf

19

Page 20: Моделеориентированность в инженерии

Принцип ограниченной замещаемости

• Для наблюдателя объект M является моделью объекта S до того момента, пока наблюдатель может использовать М для получения ответов на вопросы, которые интересуют наблюдателя в отношении S.

• Никакой особой теории на счёт отношений «representation» нет. В терминах теории множеств отношение repOf ВОЗМОЖНО интерпретировать так же корректно, как отношение instanceOf в объектах или классах.

20

Page 21: Моделеориентированность в инженерии

21Jean Bezivin

Page 22: Моделеориентированность в инженерии

Два моделирования

• Имитационное (мультифизическое, матан)• Структурное («логическое»)

• MBSE в узком понимании – это SysML в системной инженерии

• Model-based vs Model-driven

22

Page 23: Моделеориентированность в инженерии

Структурные модели• Technical Space – алгебраическая структура (графы, гиперграфы, деревья,

строки и т.д.), используемая для model management. Пример: XML, RDF, EBNF

23

Page 24: Моделеориентированность в инженерии

Поколения инженерных информационных систем: от «машинночитаемости» к «машинообрабатываемости»

1. Электронная бумага (.pdf, .tiff, .jpeg и т.д.)2. «Документооборот»: отдельные файлы в формате САПР.

Выборок по факту нет («нет индексации» – по аналогу с поисковыми системами). Поддерживается только подписывание и визирование (административная работа).

3. Гибридные (файлы в формате САПР+база данных существенной информации). Intergraph SPF. Ограниченные инженерные выборки, учёт и почта.

4. Датацентричные системы. ENOVIA V6, 3DExperience. Неограниченные инженерные выборки, верификация.

5. Семантические системы (пока нет). Возможности искусственного интеллекта (нахождение неочевидных инженерных коллизий).

24

Page 25: Моделеориентированность в инженерии

Модульная структура объективации/метамоделирования/онтологизирования. • Философские логики – знаковые системы и их связь с окружающим

миром, предельные онтологи• Рефлексирующие модельеры данных – MOF, Part 2 (Upper ontology,

foundational ontology). Компьютерщики: преобразования одних выражений мысли в другие (теоркатегорное представление, не теория множеств – операции главные, вычисление)

• Модельеры данных/intermediate ontology – одна логика, помогают выразить мысль непротиворечиво (теоретико-множественное представление – объекты главные).

• Ситуационные инженеры методов, кейс менеджмент, BPM, проектные управленцы, оргдизайнеры – мысли о деятельности

• Рефлексирующие инженеры/микротеоретики=онтики – мысли о своей дисциплине (объекты-предметы: системная инженерия, программная инженерия, инженерия предприятия, инженерия психика)

• Профессионалы-инженеры – мысли о своих конкретных целевых объектах (софтинках, самолётиках) и обеспечивающих объектах (то бишь субъектах).

25

Page 26: Моделеориентированность в инженерии

4 уровня метамоделированияв OMG ESSENCE

• Level 3 – Meta- Language: the specification language, i.e. the different constructs used for expressing this specification, like “meta - class” and “binary directed relationship.”

• Level 2 – Construct: the language constructs, i.e. the different types of constructs expressed in this specification, like “Alpha” and “Activity.”

• Level 1 – Type: the specification elements, i.e. the elements expressed in specific kernels and practices, like “Requirements” and “Find Actors and Use Cases.”

• Level 0 – Occurrence: the run - time instances, i.e. these are the representations of real - life elements in a running development effort.

Page 27: Моделеориентированность в инженерии

Моделирование, мультимоделирование, мегамоделирование

Материалы группы AtlanMOD• Мультимоделирование – это совместное

использование [для collaborative reasoning] множества [соответствующих разным метамоделям и видам знаний] моделей, представляющих одну систему.

• Мегамоделирование – это когда (мета)модель описывает набор других моделей и отношения между ними. Поскольку мегамодель – это сама по себе модель, то это позволяет представлять холоны систем.

27

Page 28: Моделеориентированность в инженерии

Главная проблема: мультимоделирование (multidomain modeling)

• «Единое информационное пространство» как линия горизонта• Федерирование структурных моделей (ISO 15926)• Федерирование имитационных моделей:

– Modelica 3.3– Simantics 1.7 – MIC (Model-integrated computing)– ANSYS Simplorer + Modelica– FMI (functional mockup interface) 2.0

28https://modelica.org/, http://simantics.org/ https://www.fmi-standard.org/, http://www.isis.vanderbilt.edu/research/MIC

http://www.tenlinks.com/news/ansys-to-incorporate-modelica-for-virtual-systems-prototyping/

Page 29: Моделеориентированность в инженерии

«Кибер»: hardware+software

Два разных hardware• «Simplorer can emulate hardware and simulate

software»

• AADL also can model hardware and software 29

Page 30: Моделеориентированность в инженерии

Тренды для всех видов моделирования

• Все поставщики САПР имеют линейки продуктов моделирования• Интеграция «анализа» (но пока не оптимизации!) и

конструирования/проектирования.• Вычисления уходят в облако (Autodesk SIM 360 – пока только

имитационное). • Унификация языков моделирования (от каузальных к

акаузальным – от MathCAD и SimuLink к Modelica, плюс SysML и AADL)

• Расширяемость языков (профили), • Библиотеки моделей (накопление знаний)• Коллаборация и управление конфигурацией моделей

(мегамоделирование)• Мультимоделирование, множество view• Попытки говорить о семантике в интеграции моделей 30

Page 31: Моделеориентированность в инженерии

Оценка времени обучения «моделеориентированности»

31

После магистрата (1800 часов):320 часов + 6 месяцев стажировка

http://www.emn.fr/z-info/atlanmod/index.php/The_MDE_Diploma

Page 32: Моделеориентированность в инженерии

MBSE в версии INCOSE

32

Page 33: Моделеориентированность в инженерии

Что важного считают в INCOSE

33

Page 34: Моделеориентированность в инженерии

Пример: методологии MBSE(согласованные между собой наборы

практик)• IBM Telelogic Harmony-SE • INCOSE Object-Oriented Systems Engineering • Method (OOSEM) • IBM Rational Unified Process-Systems Engineering • (RUP-SE) for Model-Driven System Design (MDSD) • Vitech MBSE (STRATA)• JPL State Analysis • Object Process Methodology (OPM) • Weiliens Systems Modeling Process (SYSMOD)• Fernandez Process Pipelines in OO Architectures (PPOA)• An Ontology for State Analysis Formalizing the Mapping to SysML• ISO15288, OOSEM and Model-based Sembarine Design• SysML JumpStart Training with Enterprise Architect• MBSE Framework for Concept Development (http://seari.mit.edu/documents/theses/SDM_LONDON.pdf)

• ... их тысячи (сколько проектов, столько методов)

• Архитектурные методологии -- http://www.iso-architecture.org/ieee-1471/afs/frameworks-table.html34

http:

//w

ww

.om

gwik

i.org

/MBS

E/do

ku.p

hp?i

d=m

bse:

met

hodo

logy

Page 35: Моделеориентированность в инженерии

Дисциплины жизненного цикла моделеориентированной системной инженерии

• Инженерия системных целей• Высокоуровневое моделирование (инженерия системной

архитектуры)• Низкоуровневое моделирование – мультифизика,

мегамоделирование• Обеспечение качества (верификация)• Порождающее производство (из битов в атомы)• Приёмка (валидация)• Эксплуатация и поддержка• Мусоропереработка• Инженерия знаний, НСИ, справочных данных

35

Page 36: Моделеориентированность в инженерии

Что делаем: SysMoLan

SysMoLan (Systemese): System Modeling Languagehttp://ailev.livejournal.com/1127145.html

«Иметь возможность нарисовать на одной схеме системы то, что раньше рисовалось только на двух разных, чтобы явно указать связи и обсудить».

• Ничего нового: такая была дизайн-цель ArchiMate (прожекторный язык, факт-ориентированный).

• Отличия от SysML: в самом SysML множество диаграмм изначально, нет языка запросов и мэппинга, нет факт-ориентированности, нет upper ontology и т.д.

• Одновременно product и project модели

36

Page 37: Моделеориентированность в инженерии

SysMoLan• Три языка в одном (данных, прожективный-запросы, синтетический-мэппинг для

«инженерии в большом»). Проблема.• Факт-ориентированный [как Архимейт], со внешним представлением, но не

семантический веб. Проблема.• Графический и текстовый синтаксисы. Проблема• Онтологический (конфигуратор для дисциплин: upper ontology, общая модель мира –

против онтик-микротеорий-без-объединения) – как ISO 15926, но со внешним представлением. Проблема.

• Требования и архитектура [как SysML]• Гибридные вычисления [тексты и эскизы, псевдокод, код в одном флаконе]. Выход на

поиск-ориентированность. Проблема.• Аказуальное моделирование [как Modelica и SyM]• Киберфизические системы [как AADL]. Исполняемость [как xUML] – проблема.• Язык как стандарт отдельно, моделеры как софт отдельно.• Архитектурные библиотеки (как в Modelica) + каталоги продукции (как ISO 15926):

поддержка языком «инженерии в большом»• Жизненный цикл и ситуационность (независимость от проекта) [как Essence]. • Стык product model и project model (case management и project management). Проблема.

• 20% выразительных фич должны закрыть 80% случаев использования. Проблема. Но это и есть определение предметной области.

37

Page 38: Моделеориентированность в инженерии

38

Спасибо за внимание!

Анатолий Левенчук,[email protected]Президент русского отделения INCOSEБлог: http://ailev.ru

Виктор Агроскин,[email protected]