DSSA (Domain-Specific Software Architecture): pedagogical example
ACM SIGSOFT Software Engineering Notes
Framing software reuse: lessons from the real world
Framing software reuse: lessons from the real world
Software reuse: architecture, process and organization for business success
Software reuse: architecture, process and organization for business success
Objects, components, and frameworks with UML: the catalysis approach
Objects, components, and frameworks with UML: the catalysis approach
The Unified Modeling Language reference manual
The Unified Modeling Language reference manual
Supporting Scenario-Based Requirements Engineering
IEEE Transactions on Software Engineering
Generative programming: methods, tools, and applications
Generative programming: methods, tools, and applications
FORM: A feature-oriented reuse method with domain-specific reference architectures
Annals of Software Engineering
Portlet syndication: Raising variability concerns
ACM Transactions on Internet Technology (TOIT)
Comparing requirements analysis methods for developing reusable component libraries
Journal of Systems and Software
A Case Study of Variation Mechanism in an Industrial Product Line
ICSR '09 Proceedings of the 11th International Conference on Software Reuse: Formal Foundations of Reuse and Domain Engineering
Information and Software Technology
Towards automatization of domain modeling
Data & Knowledge Engineering
Automated reasoning on feature models
CAiSE'05 Proceedings of the 17th international conference on Advanced Information Systems Engineering
Using java CSP solvers in the automated analyses of feature models
GTTSE'05 Proceedings of the 2005 international conference on Generative and Transformational Techniques in Software Engineering
A unified tabular method for modeling variants of software product line
ACM SIGSOFT Software Engineering Notes
Hi-index | 0.00 |
Domain models describe common and variant requirements for a family of similar systems. Although most of the notations, such as UML, are meant for modeling a single system, they can be extended to model variants. We have done that and applied such extended notations in our projects. We soon found that our models with variants were becoming overly complicated, undermining the major role of domain analysis which is understanding. One variant was often reflected in many models and any given model was affected by many variants. The number of possible variant combinations was growing rapidly and mutual dependencies among variants even further complicated the domain model. We realized that our purely descriptive domain model was only useful for small examples but it did not scale up. In this paper, we describe a modeling method and a Flexible Variant Configuration tool (FVC for short) that alleviate the above mentioned problems. In our approach, we start by modeling so-called domain defaults, i.e., requirements that characterize a typical system in a domain. Then, we describe variants as deltas in respect to domain defaults. The FVC interprets variants to produce customized domain model views for a system that meets specific requirements. We implemented the above concepts using commercial tools Netron FusionTM and Rational RoseTM. In the paper, we illustrate our domain modeling method and tool with examples from the Facility Reservation System domain.