Функциональная модель линейки программных продуктов

Помогите мне, пожалуйста. Я хочу найти все возможные комбинации функций, учитывая ограничения модели функций. как указано на рисунке. Есть ли какая-нибудь формула или инструмент для общего? Пожалуйста, предложите мне любой автоматический метод.

Функциональная модель:

введите здесь описание изображения


person Asad Abbas    schedule 31.08.2016    source источник


Ответы (3)


Общий подход состоял бы в том, чтобы преобразовать Feature Model в логическую формулу предиката (используя импликации, или, xor... вам нужно делать это автоматически!? Я не уверен, насколько это сложно) и преобразовать ее в дизъюнктивную нормальную форму. Это дизъюнкция конъюнкций — каждая конъюнкция обозначает набор решений; литералы, которые не упомянуты, не имеют никакого значения.

Доступна научная работа, ищите, например, «Логическая проверка требований к варианту линейки продуктов» или «Использование логики первого порядка для проверки модели линейки продуктов».

person Hans Huckebein    schedule 19.09.2016

братан! Вы читаете следующую статью?

Хенард, Кристофер и др. «PLEDGE: редактор линейки продуктов и инструмент для создания тестов». Совместные семинары Международной конференции по линейке программных продуктов. 2013: 126-129.

Есть несколько языков, которые описывают ограничения в модели объектов. Но думаю формулы надо писать вручную, например файл cnf может быть,

c 1 Mobilephone
c 2 Calls
c 3 GPS
...
p cnf 10 X
-1 2 0 
-1 3 0
...
person Yongfeng    schedule 27.09.2018

Вы можете попробовать FeatureIDE. Вам нужно создать модель объектов для рисунка 1 с ограничениями. Затем вам нужно сделать одну конфигурацию, не выбирая никаких функций. Он покажет вам количество доступных конфигураций (или комбинаций, как вы это называете), которые можно сгенерировать.

person Abdulaziz    schedule 07.01.2019