An Approach to Developing Domain Architectures Based on Variability Analysis
Software product line engineering is a method that prepares for future reuse and supports seamless reuse in the application development process. A domain architecture, sharing a common software architecture across a product line, brings a core set of knowledge and assets to the development process. Domain architectures reduce the complexity and cost of developing and maintaining code. However, technically excellent domain architectures do fail, often because they are not effectively developed. The key concept in the development of domain architecture is variability, the ability to derive various products from the product family. Variability occurs at different levels. It is important to consider variability at the higher architectural levels, and not only at the code level. In this paper, we suggest a method of producing architectures that will be core assets in the product line. We describe a domain architecture where commonality and variability are explicitly considered.
KeywordsProduct Family Variation Point Software Product Line Domain Architecture Object Management Group
Unable to display preview. Download preview PDF.
- 2.The Object Management Group (OMG), Reusable Asset Specification (RAS) Version 2.2 (November 2005), http://www.omg.org/technology/documents/formal/ras.htm
- 5.Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, S.: Feature-Oriented Domain Analysis (FODA) Feasibility Study. Technical Report CMU/SEI-90-TR-21, Software Engineering Institute, Carnegie Mellon University (November 1990)Google Scholar
- 7.Gomma, H.: Designing Software Product Lines with UML. In: From Use Cases to Pattern-Based Software Architectures. Addison-Wesley, Reading (2004)Google Scholar