Objects, components, and frameworks with UML: the catalysis approach
Objects, components, and frameworks with UML: the catalysis approach
Software product-line engineering: a family-based software development process
Software product-line engineering: a family-based software development process
Component-based software engineering
Component-based product line engineering with UML
Component-based product line engineering with UML
Lessons learned from a nationwide CBD promotion project
Communications of the ACM
Commonality and Variability in Software Engineering
IEEE Software
Model-Driven Product Line Architectures
SPLC 2 Proceedings of the Second International Conference on Software Product Lines
On the Influence of Variabilities on the Application-Engineering Process of a Product Family
SPLC 2 Proceedings of the Second International Conference on Software Product Lines
Comprehensive Variability Modelling to Facilitate Efficient Variability Treatment
PFE '01 Revised Papers from the 4th International Workshop on Software Product-Family Engineering
COMO: A UML-Based Component Development Methodology
APSEC '99 Proceedings of the Sixth Asia Pacific Software Engineering Conference
A framework for evaluating reusability of core asset in product line engineering
Information and Software Technology
A Systematic Process for Developing High Quality SaaS Cloud Services
CloudCom '09 Proceedings of the 1st International Conference on Cloud Computing
A theoretical framework of component-based software development phases
ACM SIGMIS Database
Practical methods for adapting services using enterprise service bus
ICWE'07 Proceedings of the 7th international conference on Web engineering
An analysis of object oriented variability implementation mechanisms
ACM SIGSOFT Software Engineering Notes
External variability of software: classification and ontological foundations
ER'11 Proceedings of the 30th international conference on Conceptual modeling
An overview of techniques for detecting software variability concepts in source code
ER'11 Proceedings of the 30th international conference on Advances in conceptual modeling: recent developments and new directions
A technique to represent product line core assets in MDA/PIM for automation
RISE'05 Proceedings of the Second international conference on Rapid Integration of Software Engineering Techniques
A variability-centric approach to instantiating core assets in product line engineering
PROFES'06 Proceedings of the 7th international conference on Product-Focused Software Process Improvement
An extreme approach to automating software development with CBD, PLE and MDA integrated
PROFES'06 Proceedings of the 7th international conference on Product-Focused Software Process Improvement
Process and techniques to generate components in MDA/CB-PIM for automation
ICCSA'06 Proceedings of the 2006 international conference on Computational Science and Its Applications - Volume Part IV
A technique to represent and generate components in MDA/PIM for automation
FASE'06 Proceedings of the 9th international conference on Fundamental Approaches to Software Engineering
A component-based process for developing automotive ECU software
PROFES'07 Proceedings of the 8th international conference on Product-Focused Software Process Improvement
A systematic approach to service-oriented analysis and design
PROFES'07 Proceedings of the 8th international conference on Product-Focused Software Process Improvement
Comparing functionality of software systems: An ontological approach
Data & Knowledge Engineering
Hi-index | 0.01 |
Component-Based Development (CBD) is revolutionizing the process of building applications by assembling pre-built reusable components. Components should be designed more for inter-organizational reuse, rather than intra-organization reuse through domain analysis which captures the commonality of the target domain. Moreover, the minor variations within the commonality should also be modeled and reflected in the design of components so that family members can effectively customize the components for their own purpose. To carry out domain analysis effectively and design widely reusable components, precise definitions of variability-related terms and a classification of variability types must be made. In this paper, we identify the fundamental difference between conventional variability and component variability, and present five types of variability and three kinds of variability scopes. Each type of variability is precisely defined for its applicable situations and guidelines. Having a formal view on variability, not only the domain analysis but also component customization can be effectively carried out in a precise manner.