XVCL (XML-based Variant Configuration Language) is a general-purpose mark-up language for configuring variants in programs and other types of documents. We can apply XVCL to configure variants in a variety of software assets such as software architecture, program code, test cases, technical and user-level program documentation or requirement specifications. The principles of the XVCL have been thoroughly tested in practice. XVCL is based on the same concepts as the frame technology [1]. Frame technology has been extensively applied in industry to manage variants and evolve multi-million-line, COBOL-based, information systems. An independent analysis showed that frame technology has reduced large software project costs by over 84% and their times-to-market by 70%, when compared to industry norms [1, 2]. At the same time, we found that the principles of XVCL are not easy to communicate. In this paper, we describe a subset of XVCL. We trust this subset of XVCL is easy to understand and still effectively communicates essential XVCL concepts. To illustrate the XVCL method, we further describe an XVCL solution to handling variants in a Notepad system.
[1]
Krzysztof Czarnecki,et al.
Generative Programming
,
2001,
ECOOP Workshops.
[2]
Paul Bassett,et al.
The Theory and Practice of Adaptive Components
,
2000,
GCSE.
[3]
Jacqueline Floch,et al.
Enabling reuse with a configuration language
,
1996,
Proceedings of Fourth IEEE International Conference on Software Reuse.
[4]
Stan Jarzabek,et al.
XML-based method and tool for handling variant requirements in domain models
,
2001,
Proceedings Fifth IEEE International Symposium on Requirements Engineering.
[5]
Rudolph E. Seviora,et al.
Engineering components for ease of customisation and evolution
,
2000,
IEE Proc. Softw..
[6]
Krzysztof Czarnecki,et al.
Generative programming - methods, tools and applications
,
2000
.
[7]
P. Bassctt.
Framing software reuse - lessons from real world
,
1997
.
[8]
Stan Jarzabek,et al.
XML implementation of frame processor
,
2001,
SSR '01.
[9]
Stan Jarzabek,et al.
Frame-based method for customizing generic software architectures
,
1999,
SSR '99.