x-Frame Approach for Handling Variants within Concerns
Hongyu Zhang,Stan Jarzabek,Soe Myat Swe
2001-01-01
Abstract:In this paper, we describe an XML-based language, called XVCL, for managing variants in product families. Using XVCL, we can organize product family assets and instrument them to accommodate variants. A tool that interprets XVCL and provides semi-automatic support for asset customization is also introduced. In our projects, we applied XVCL to manage variants in UML domain models and in generic architectures for product families. We have achieved simple forms of separation of concerns (in both models and architectures) and we are investigating advanced forms in current work. During the workshop, we wish to discuss the XVCL approach and compare it to other emerging techniques that lead to separating of concerns in software models, documents, architectures and code. Advanced separation of concerns is now emerging as a new area in software engineering field. Advanced separation of concerns suggests that concerns in different dimensions are useful for different reasons for different stakeholder, thus it's necessary for developers to be able to identify, encapsulate and integrate any kinds or dimensions of concerns simultaneously. Much work described in the literature focuses on the separation and composition of the concerns in the class (object), function, feature, artifact and aspect dimensions. In this paper, we describe an XML-based language and tool to manage variants within concerns. Variants are raised from the needs of product family (PARN76). A product family (or product line) is a set of products that share a common set of requirements, but also differ in certain features. The variants within concerns are imposed, as we have to handle the variabilties among different product family members. Like concerns, variants may cut across - the impact of variants may scatter across many modules, and may be also tangled with the impact of other variants. As the number of variants increases, the explosion of possible variant combinations and complex inter- dependencies among variants may further complicate the maintenance and evolution of the systems.