Abstract
Software variability management deals with the adaptation of reusable artifacts, such as models, specifications, and code, for particular requirements. External variability, which refers to software functionality as visible to users, deserves a special attention as it is closely linked to requirements and hence to early development stages. Errors or inaccuracies in these stages are relatively inexpensive to detect and easy to correct, yet can lead to expensive outcomes if not corrected. Nevertheless, the analysis of external variability in the literature is done ad-hoc and requires improvement.
In this paper we introduce a framework for classifying external variability types based on ontological principles. The framework defines the external view of software in terms of the behavior of the application domain. Behavior is formalized as state changes in response to external stimuli. Based on this view we classify the possible similarities and differences among applications and identify an integrated similarity measurement. We demonstrate the usage of this classification framework for feasibility studies in system development.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Asikainen, T., Männistöa, T., Soininena, T.: Kumbang: A domain ontology for modelling variability in software product families. Advanced Engineering Informatics 21(1), 23–40 (2007)
Becker, J., Delfmann, P., Knackstedt, R.: Adaptive Reference Modeling: Integrating Configurative and Generic Adaptation Techniques for Information Models. In: Becker, J., Delfmann, P. (eds.) Reference Modeling – Efficient Information Systems Design through Reuse of Information Models, pp. 27–58. Physica-Verlag HD, Heidelberg (2006)
Bentley, L., Whitten, J.: System Analysis and Design for the Global Enterprise, 7th edn. (2007)
Böckle, G., Clements, P., McGregor, J.D., Muthig, D., Schmid, K.: A Cost Model for Software Product Lines. In: van der Linden, F.J. (ed.) PFE 2003. LNCS, vol. 3014, pp. 310–316. Springer, Heidelberg (2004)
Brocke, J.: Design Principles for Reference Modelling - Reusing Information Models by Means of Aggregation, Specialisation, Instantiation, and Analogy. In: Fettke, P., Loos, P. (eds.) Reference Modeling for Business Systems Analysis, pp. 47–75 (2007)
Bunge, M.: Treatise on Basic Philosophy, Ontology I: The Furniture of the World, vol. 3. Reidel, Boston (1977)
Bunge, M.: Treatise on Basic Philosophy, Ontology II: A World of Systems, vol. 4. Reidel, Boston (1979)
Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley, Reading (2007)
Coplien, J., Hoffman, D., Weiss, D.: Commonality and Variability in Software Engineering. IEEE Software 15(6), 37–45 (1998)
Czarnecki, K., Eisenecker, U.W.: Generative Programming - Methods, Tools, and Applications. Addison-Wesley, Reading (2000)
Gomaa, H.: Designing Software Product Lines with UML: From Use Cases to Pattern-Based Software Architectures. Addison-Wesley Professional, Reading (2004)
Halmans, G., Pohl, K.: Communicating the Variability of a Software-Product Family to Customers. Software and Systems Modeling 2(1), 15–36 (2003)
Her, J.S., Oh, S.H., Rhew, S.Y., Kim, S.D.: A framework for evaluating reusability of core asset in product line engineering. Information and Software Technology 49(7), 740–760 (2007)
Jacobson, I., Griss, M., Jonsson, P.: Software Reuse-Architecture. Process and Organization for Business Success. ACM Press, New York (1997)
Kim, S.D., Her, J.S., Chang, S.H.: A Theoretical Foundation of Variability in Component-Based Development. Information and Software Technology 47, 663–673 (2005)
Moon, M., Yeom, K., Chae, H.S.: An Approach to Developing Domain Requirements as a Core Asset Based on Commonality and Variability Analysis. IEEE Transactions on Software Engineering 31(7), 551–569 (2005)
Pohl, K., Böckle, G., van der Linden, F.: Software Product Line Engineering: Foundations, Principles, and Techniques. Springer, Heidelberg (2005)
Svahnberg, M., van Gurp, J., Bosch, J.: A taxonomy of variability realization techniques. Software – Practice and Experience 35(8), 705–754 (2006)
Wand, Y., Weber, R.: On the deep structure of information systems. Journal of Information Systems 5(3), 203–223 (1995)
Wand, Y., Weber, R.: An Ontological Model of an Information System. IEEE Transactions on Software Engineering 16, 1282–1292 (1990)
Weiss, D., Lai, R.: Software Product-Line Engineering: A Family-Based Software Development Process. Addison-Wesley, Reading (1999)
Young, G.I.M.: Feasibility studies. Appraisal Journal 38(3), 376–383 (1970)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Reinhartz-Berger, I., Sturm, A., Wand, Y. (2011). External Variability of Software: Classification and Ontological Foundations. In: Jeusfeld, M., Delcambre, L., Ling, TW. (eds) Conceptual Modeling – ER 2011. ER 2011. Lecture Notes in Computer Science, vol 6998. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-24606-7_21
Download citation
DOI: https://doi.org/10.1007/978-3-642-24606-7_21
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-24605-0
Online ISBN: 978-3-642-24606-7
eBook Packages: Computer ScienceComputer Science (R0)