Flexible and scalable consistency checking on product line variability models 韩广乐 2012/03/14 中国科学院软件研究所基础软件工程研究中心 主要内容 论文及作者信息 问题和背景 研究内容 实验及结果 结论 2 论文及作者信息 题目:Flexible and scalable consistency checking on product line variability models 会议:ASE10 作者:Johannes Kepler University Linz, Linz, Austria: Michael Vierhauser:学生,现在在西门子研究院 Paul Grünbacher:副教授,ase/splc/re/ VaMoS Alexander Egyed:南加州、Teknowledge公司,icse/ase/re Rick Rabiser:ase/ splc Wolfgang Heider:ase/splc/ VaMos 3 主要内容 论文及作者信息 问题和背景 研究内容 实验及结果 结论 4 问题和背景 产品线(product line): A software product line is a set of software-intensive systems sharing a common, managed set of features that satisfy the specific needs of a particular market segment or mission and that are developed from a common set of core assets in a prescribed way. • a new application of a proven concept • an innovative, growing concept in software engineering 可变性模型(variability models): commonality and variability feature model, decision model … 5 问题和背景 现状: 1. Product line variability models are inherently complex. They can easily contain thousands of elements with diverse and often complex dependencies. Hard to maintain the consistency. 2. Tools: batch- oriented manner, no immediate feedback. 本文的方案: 1. A tool-supported approach for incremental consistency checking on variability models. 2. Flexible scalable and immediate feedback. 6 问题和背景 PP: using concepts from the problem domain, e.g., in the language of the users in a specific domain. SS: provides a representation of the variable system from a technical point of view CC: code consistency Checking and maintaining consistency between the three levels is challenging. 7 问题和背景 8 问题和背景 Three challenges for consistency checking: 1.Dealing with variability and multiple levels of abstraction Consistency needs to be checked within and between different spaces. Existing checkers are often limited to either models or to code and do not check across boundaries. 2.Addressing the scale and complexity of product lines batch-oriented manner no immediate user feedback 3.Providing support for domain-specific checks improve the extensibility 9 主要内容 论文及作者信息 问题和背景 研究内容 实验及结果 结论 10 研究内容 Incremental consistency checking on variability models 1. Adapt an existing incremental checker 2. A consistency constraint needs to be re-evaluated if one of these model elements changes scope of a consistency constraint scope database 3. elements: consistency constraint = n: m e1 cc1 e2 cc2 e3 cc3 11 研究内容 SC1: Deburrer Deburrer.xml NozzieCheck nozzleCheck.xml Caster Caster.xml SC2: Deburrer Caster Deburrer.xml Caster.xml 12 研究内容 13 主要内容 论文及作者信息 问题和背景 研究内容 实验及结果 结论 14 实验及结果 实验指标和准备 1. 初始化时间:打开变量模型、加载库文件、创建scope database 2. 初始化后的内存空间(用对象的个数来表示) 3. 原子操作所需时间:添加、修改、删除元素 4. 原子操作后需要重新评估的约束实例个数 15 实验及结果 实验环境:Intel Pentium Dual Core 1.8Ghz 3G main memory PC 16 主要内容 论文及作者信息 问题和背景 研究内容 实验及结果 结论 17 结论 Support different types of consistency checks. Use a model-based representation to check consistency Decide whether to allow inconsistencies or to avoid them in the first place. Go for incremental checking. Support the evolution of constraints. How to connect this to the product line? 18 结论 谢谢 19