arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 1001.3604cs.SEcs.PL
收藏

面向类型安全封装的产品线

Type-Safe Feature-Oriented Product Lines

Sven Apel, Christian Kaestner, Armin Groesslinger, Christian Lengauer

摘要:

面向特性的产品线是一系列共享一组公共特性的程序。特性实现了涉众的需求,代表了设计决策和配置选项,当添加到程序中时,涉及到新结构的引入,如类和方法,以及现有结构的细化,如扩展方法。通过面向特征的分解,程序可以仅仅根据用户对特征的选择,通过组合相应的特征代码来生成。面向特征的产品线工程的一个关键挑战是如何保证整个面向特征的产品线的正确性,即,从不同的功能组合产生的所有成员程序。由于有效特征组合的数量随着特征的数量逐渐增长,因此检查所有单独的程序是不可行的。唯一可行的方法是让类型系统检查面向功能的产品线的整个代码库。我们已经开发了这样一个类型系统的基础上,一个面向功能的Java类语言的正式模型。我们证明了类型系统确保面向特征的产品线的每一个有效的程序是良好类型的,类型系统是完整的。

英文摘要:

A feature-oriented product line is a family of programs that share a common set of features. A feature implements a stakeholder's requirement, represents a design decision and configuration option and, when added to a program, involves the introduction of new structures, such as classes and methods, and the refinement of existing ones, such as extending methods. With feature-oriented decomposition, programs can be generated, solely on the basis of a user's selection of features, by the composition of the corresponding feature code. A key challenge of feature-oriented product line engineering is how to guarantee the correctness of an entire feature-oriented product line, i.e., of all of the member programs generated from different combinations of features. As the number of valid feature combinations grows progressively with the number of features, it is not feasible to check all individual programs. The only feasible approach is to have a type system check the entire code base of the feature-oriented product line. We have developed such a type system on the basis of a formal model of a feature-oriented Java-like language. We demonstrate that the type system ensures that every valid program of a feature-oriented product line is well-typed and that the type system is complete.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑