Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| mdd:bottom_up [2016/12/25 11:56] – created kirivasile | mdd:bottom_up [2026/08/29 07:59] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Bottom-up adoption of software product lines: a generic and extensible approach ====== | ||
| + | Jabier Martinez, Tewfik Ziadi, Tegawendé F. Bissyandé, Jacques Klein, and Yves Le Traon. 2015. Bottom-up adoption of software product lines: a generic and extensible approach. In Proceedings of the 19th International Conference on Software Product Line (SPLC '15). ACM, New York, NY, USA, 101-110. DOI=http:// | ||
| + | |||
| + | ===== Введение ===== | ||
| + | |||
| + | Переиспользование программного обеспечения - процесс создания нового ПО, используя куски уже существующего кода. Обычно это делается для удобства, | ||
| + | * // | ||
| + | * // | ||
| + | * // | ||
| + | |||
| + | В этой статье, | ||
| + | |||
| + | ===== Описание подхода ===== | ||
| + | |||
| + | Основными принципами фреймворка являются: | ||
| + | - Декомпозиция артефактов на отдельные элементы, | ||
| + | - Для каждой пары определённого типа артефактов определена метрика, | ||
| + | - Создание набора Элементов, | ||
| + | |||
| + | Для поддержки разных типов артефактов мы будем полагаться на Адаптеры, | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Создание Адаптера включает в себя следующие действия: | ||
| + | - Идентификация элементов, | ||
| + | - Определение метрики между парами Элементов. | ||
| + | - Определение условий для Элементов, | ||
| + | - Создание переиспользуемых шаблонов(assets). | ||
| + | |||
| + | Описание подхода bottom-up: | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Архитектура фреймворка представляет из себя несколько слоёв: | ||
| + | - Слой адаптеров, | ||
| + | - Идентификация блоков. Блок – это набор Элементов, | ||
| + | - Идентификация и локализация фичей. | ||
| + | - Определение ограничений на блоки. | ||
| + | - Синтез модели фичей. | ||
| + | - Создание шаблонов. | ||
| + | - Визуализация процесса. | ||
| + | |||
| + | ===== BUT4Reuse ===== | ||
| + | |||
| + | BUT4Reuse является реализацией представленного выше фреймворка. В нём присутствует 10 адаптеров, | ||
| + | |||
| + | 1. Идентификация блоков. | ||
| + | Пусть A – это множество артефактов. Два элемента e, f объединяются в один блок тогда и только тогда, когда: | ||
| + | ∃a∈A e∈a ∧ f∈a | ||
| + | ∀a∈A e∈a ⇔ f∈a | ||
| + | 2. Идентификация и локализация фичей. | ||
| + | Идея состоит в том, что изначально фичи выбираются экспертом. | ||
| + | А затем для локализации фичей высчитывается доля артефактов, | ||
| + | 3. Определение ограничений. | ||
| + | В BUT4Reuse имеется два вида ограничений на блоки: | ||
| + | 1) A requires B – наличие блока А требует наличия блока В. | ||
| + | 2) Mutual exclusion – когда два блока не могут находиться вместе. | ||
| + | 4. Cинтез модели фичей. | ||
| + | В BUT4Reuse имеется два вида ограничений на блоки: | ||
| + | 1) Диаграмма всех ограничений, | ||
| + | 2) Построение альтернатив, | ||
| + | 5. Визуализация | ||
| + | Используются различные виды реализации, | ||
| + | ===== Заключение ===== | ||
| + | |||
| + | В статье было представлено общий и расширяемый фреймворк для подхода bottom-up для SPLE. Этот фреймворк может быть легко адаптирован для различных типов артефактов. Также была представлена реализация этого фреймворка – BUT4Reuse. Используя различные расширения и парадигмы, | ||
| + | | ||