XML-based method and tool for handling variant requirements in domain models

A domain model describes common and variant requirements for a system family. UML notations used in requirements analysis and software modeling can be extended with variation points to cater for variant requirements. However, UML models for a large single system are already complicated enough. With variants UML domain models soon become too complicated to be useful. The main reasons are the explosion of possible variant combinations, complex dependencies among variants and inability to trace variants from a domain model down to the requirements for a specific system, member of a family. We believe that the above mentioned problems cannot be solved at the domain model description level alone. We propose a novel solution based on a tool that interprets and manipulates domain models to provide analysts with customized, simple domain views. We describe a variant configuration language that allows us to instrument domain models with variation points and record variant dependencies. An interpreter of this language produces customized views of a domain model, helping analysts understand and reuse software models. We describe the concept of our approach and its simple implementation based on XML and XMI technologies.

[1]  John Mylopoulos,et al.  From object-oriented to goal-oriented requirements analysis , 1999, CACM.

[2]  Stan Jarzabek,et al.  Modelling Variant User Requirements in Domain Engineering for Reuse , 1998, EJC.

[3]  Gang Chen,et al.  Design Wizards and Visual Programming Environments for GenVoca Generators , 2000, IEEE Trans. Software Eng..

[4]  Martin Becker,et al.  Mapping requirements to reusable components using Design Spaces , 2000, Proceedings Fourth International Conference on Requirements Engineering. ICRE 2000. (Cat. No.98TB100219).

[5]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[6]  Klaus Schmid,et al.  A systematic approach to derive the scope of software product lines , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[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.

[10]  Neil A. M. Maiden,et al.  Exploiting reusable specifications through analogy , 1992, CACM.

[11]  Rudolph E. Seviora,et al.  Engineering components for ease of customisation and evolution , 2000, IEE Proc. Softw..

[12]  Krzysztof Czarnecki,et al.  Generative programming - methods, tools and applications , 2000 .

[13]  M.L. Griss,et al.  Software reuse architecture, process, and organization for business success , 1997, Proceedings of the Eighth Israeli Conference on Computer Systems and Software Engineering.