Системная инженерия на основе поиска
Системная инженерия на основе поиска (search-based systems engineering) - исследуемое пока программистами более далёкое инженерное будущее. Сейчас существует только программная инженерия на основе поиска (SBSE, термин появился в 2001 году).
Сравнение с MBSE
Если в MBSE набором моделей формализуется сам объект работы инженеров (целевая система), а затем эти модели подвергаются анализу солверов, то в SBSE формализуются также и синтетические практики системной инженерии: инженерии требований, инженерии системной архитектуры и инженерии проверки и приемки.
Прежде всего, нужно указать на возможность постановки всех расчётных и даже геометрических моделей (которые тут тоже можно считать "расчётными") под управление оптимизатора. Это самый простой случай. Настолько простой, что его часто даже не считают следующим поколением системной инженерией, а просто частным примером использования методов MBSE.
Но вот если мы хотим, чтобы менялись не параметры модели, а сами модели определения системы, их структура - это совсем другое дело. Человек при этом будет задавать (функциональные) требования, а вот модели для удовлетворения этих требований с учётом всех возникающих технических противоречий, будет делать компьютер. То есть мы задаём пространство технических решений, и будем искать в этом пространстве оптимальные решения - "поиск" технических решений тут ключевое слово. Отсюда и search-based systems engineering.
Тем самым по сравнению с MBSE для компьютерного поиска решений нужно дополнительно формализовать предмет системной инженерии:
- формализовать пространство решений;
- предъявить формальные количественные и качественные (пример - формализовать понятие "элегантности" для архитектуры) критерии к результату.
Основные направления
- тестирование и отладка (порядка половины всех работ),
- проектирование (например, качественная модуляризация),
- требования/спецификации (какими требованиями пренебречь с минимальным ущербом для пользы)
Ссылки
- краткая справка
- слайды и видео полуторачасовой презентации
- презентация "Genetic Improvement for Adaptive Software Engineering"
- тьюториал и "таксономия"
- репозиторий свежей литературы по теме
- ежегодный симпозиум
Для SBSE есть и много других названий и ключевых слов:
- Metaheuristics & Software Engineering (метаэвристики - эвристики об инженерных эвристиках. Помним, что инженерия базируется не на науке, а на эвристиках, как хорошо показано в работах Billy Koen об инженерном методе
- Dynamic Adaptive Automatied Software Engineering (проект четырёх британских университетов)
- Genetic and Evolutionary Computation (см. success stories).