acm-header
登录

ACM通信

软件产品线工程

功能模型的自动化分析:未来的挑战


一个功能是产品功能的一个增量。feature通常用于指定和区分产品线中的产品[8].它们以一种易于理解的方式传达产品功能,简洁地捕获功能,并帮助描述一个领域的共性和可变性。特性可以具有属性(就像图形用户界面组件可以通过属性列表进行定制一样),其中某些属性的值是从其他特性的属性计算出来的(例如,产品的成本是其组成特性成本的总和)。特性的使用通常也有限制:选择一个特性可能会排除或要求选择其他特性。

当前工具对特性模型的支持是特别的,很少或根本不支持调试特性模型或优化特性选择。最近的工作显示了特征模型如何被简化为命题公式或约束满足问题,对于这些问题,现成的工具可以验证模型的属性(例如确认一组给定的特征是不兼容或兼容的)或优化特征的选择(例如,性能)[124510].这为下一代工具在软件产品线中指定产品提供了新的可能性。

当然,特征模型是后端综合技术的前端,后端综合技术获取特征模型的输出(也就是程序规范)并将其转换为程序本身。有许多技术可以做到这一点,对它们进行审查超出了本文的范围。我们的目标是提醒读者注意功能模型形式化方面的最新进展,以及自动化产品规格和设计方面的挑战。


最近的工作表明,特征模型可以被简化为命题公式或约束满足问题。


回到顶部

开放问题和研究议程

模型的一致性。汽车行业拥有多达1万个功能的功能车型。众所周知,这些模型充满了难以检测的不一致性。作为一个基本的说明,假设一个特征模型要求(1)if特征一个然后使用B也必须使用(这意味着B),和(2)如果特征B使用,功能一个不能使用(B暗示不是A).显然这里有一个矛盾:如果一个我们可以得出这样的结论一个是假的。这种矛盾在实践中很少这么简单。现在发现它们的方式是偶然地发现它们:必须选择正确的功能集来暴露错误。不幸的是,要检查的子公式的数量是O(2n),n是公式中变量的个数。是否有自动的方法来发现模型的不一致?

的解释。特性可以通过数值约束(如性能)自动取消选择。用户可以指定不能满足的约束(例如,程序的内存需求不能超过x而且程序必须有特色Y,在那里memoryRequirements (Y) > x)。解释为什么没有针对给定约束集的产品,也许更重要的是,如何纠正这种情况是关键。找到违反约束的最小数量是一个困难的问题,这对于理解解释是至关重要的。模型诊断研究可能是相关的[12].

模型驱动的开发(MDD)。将特性模型中的特性选择映射到其他开发工件(需求、架构、代码模块、测试用例、文档)是MDD的基础。作为模型和代码集成的一个例子,假设特性的实现F引用特性的一部分的变量或方法G.这意味着如果F被选中,然后G也必须选择。不应该可以指定产品P在哪里F选择和G不是。特征模型满足该约束条件,可通过SAT求解器进行验证。更一般地说,验证其他程序表示与其特征模型是否一致是一个重大的研究挑战[3.711].

人工智能配置器.以航空母舰为例。每一艘航母可能包含几种不同种类的飞机(短距离和远程战斗机),每一架飞机都可能是一条产品线的成员。航母上的飞机限制了航母的设计。需要一组可定制的对象来描述一个载体(或其他复杂的产品)[6].特征模型必须一般化来描述这些“超级”产品,分析和可视化这些模型的工具也必须一般化。人工智能配置器,配置对象星座的工具,可能对分析任务很重要[19].

性能可伸缩性。SAT求解器、BDD工具、CSP求解器和AI配置器在大型模型中的表现如何?(我们甚至可以想象使用基于描述逻辑的推理机来分析特征模型。)尽管在过去的十年中,计算能力有了巨大的提高,但特征组合的问题仍然是NP-hard。并不是所有的工具和方法都会有同样好的表现。应该在什么时候使用哪些工具?可以自动选择使用哪些工具来最小化分析特征模型的时间吗?是否有必要整合不同的求解器?

回到顶部

结论

验证和分析产品规格将会有显著的实际回报。它的好处是传播约束的工具(这样就可以自动检测不正确的规范),在到达设计死胡同时提供解释(以及如何修复这样的设计),以及自动针对特定需求优化配置(以简化程序设计)。揭示强调特征模型的理论是这个目标的核心。应对这些挑战需要产品线工程师和研究人员之间的密切合作。

回到顶部

参考文献

1.Asikainen, T., Männistö, T.和Soininen, T.使用配置器来建模和配置基于特征模型的软件产品线。在产品衍生的软件可变性管理研讨会论文集,软件产品线会议(SPLC3),2004年。

2.特征模型、语法和命题公式。在软件产品线会议论文集,2005年。

3.Batory, D.和Thaker, S.迈向产品线的安全组成。技术报告,计算机科学系,德克萨斯大学,TR-06-33, 2006。

4.Benavides, D., Trinidad, P.和Ruiz-Cortés, A.特征模型的自动推理。在先进信息系统工程会议论文集.船舶编号3520,2005年7月。

5.Benavides, D., Segura, S., Trinidad, P.,和Ruiz-Cortés, A.在特征模型的自动分析中使用Java CSP求解器。在软件工程生成与转换技术暑期班(GTTSE)后记.信号4143,2006。

6.Czarnecki, K.和Kim, C.H.P.基于基数的特征建模和约束:进展报告。在软件工厂OOPSLA研讨会论文集,2005年。

7.Czarnecki, K.和Pietroszek, K.根据格式良好的OCL约束验证基于特征的模型模板。生成编程与构件工程, 2006年。

8.Kang, K., Cohen, S., Hess, J., Nowak, W., and Peterson, S.面向特征的领域分析(FODA)可行性研究。技术报告,CMU/SEI-90TR-21 1990年11月。

9.Mittal, S.和Frayman, F.对配置任务的一般模型的研究。在第十一届人工智能国际会议论文集, 1989, 13911401。

10.Neema, S., Sztipanovits, J., Karsai, G.。基于约束的设计空间探索与模型综合。在emsoft2003论文集, LNCS 2855,290305。

11.波尔,K,波克尔,G,林登,F。软件生产线工程:基础,原理和技术.施普林格,2005年。

12.从基本原理出发的诊断理论。人工智能32, 1(1987), 5796。

回到顶部

作者

唐Batory(batory@cs.utexas.edu)是德克萨斯大学奥斯汀分校计算机科学系的教授。

大卫Benavides(benavides@tdg.lsi.us.es)是西班牙塞维利亚大学计算机科学语言与系统系的博士生。

安东尼奥Ruiz-Cortes(aruiz@tdg.lsi.us.es)是西班牙塞维利亚大学计算机科学语言与系统系的副教授。

回到顶部

脚注

本研究得到了国家科学基金会设计科学项目#CCF-0438786和西班牙科技部TIC2003-02737-C02-01和TIN2006-00472的部分资助。


©2006 acm 0001-0782/06/1200 $5.00

允许制作本作品的全部或部分的数字或硬拷贝用于个人或课堂使用,但前提是该拷贝不是为了盈利或商业利益而制作或分发,并且该拷贝在第一页上带有本通知和完整引用。以其他方式复制、重新发布、在服务器上发布或重新分发到列表,需要事先获得特定的许可和/或付费。

数字图书馆是由计算机协会出版的。版权所有©2006 ACM有限公司


没有发现记录

Baidu
map