Abstract
Frameworks are composed of concrete and abstract classes implementing the functionality of a domain. Applications can reuse framework design and code to improve their quality and be developed more efficiently. However, framework development is a complex task, since it must be adaptable enough to be reused by several applications. In this chapter we present the From Features to Framework (F3) approach, which aims to facilitate the development of frameworks. This approach is divided in two steps: Domain Modeling, in which framework domain is defined in a extended feature model; and Framework Construction, in which the framework is designed and implemented by following a set of patterns from its feature model. Since these steps can be systematically applied, we also present the design of a tool that supports the use of the F3 approach on framework development. Moreover, we performed an experiment that showed that the F3 approach makes framework development easier and more efficient.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Pressman, R.S.: Software Engineering: A Practitioner’s Approach, 7th edn. McGraw-Hill Science, New York (2009)
Shiva, S.G., Shala, L.A.: Software reuse: research and practice. In: Fourth International Conference on Information Technology, April 2007. pp 603–609
Johnson, R.E.: Frameworks = (Components + Patterns). Commun. ACM 40(10), 39–42 (1997)
Srinivasan, S.: Design patterns in object-oriented frameworks. Computer 32(2), 24–32 (1999)
Abi-Antoun, M.: Making frameworks work: a project retrospective. In: Companion to the 22nd ACM SIGPLAN Conference on Object-Oriented Programming Systems and Applications, OOPSLA ’07, pp. 1004–1018. ACM, New York (2007)
Kirk, D., Roper, M., Wood, M.: Identifying and addressing problems in object-oriented framework reuse. Empirical Softw. Eng. 12(3), 243–274 (2007)
Stanojevic, V., Vlajic, S., Milic, M., Ognjanovic, M.: Guidelines for framework development process. In: Software Engineering Conference in Russia (CEE-SECR), 7th Central and Eastern European, Nov 2011, pp. 1–9
Viana, M., Penteado, R., do Prado, A.: Generating applications: framework reuse supported by domain-specific modeling languages. In: 14th International Conference on Enterprise Information Systems (ICEIS’14), June 2012
Fowler, M.: Patterns. IEEE Softw. 20(2), 56–57 (2003)
Lee, K., Kang, K.C., Lee, J.: Concepts and guidelines of feature modeling for product line software engineering. In: 7th International Conference on Software Reuse: Methods, Techniques and Tools, pp. 62–77. Springer, London ( 2002)
Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, A.S.: Feature-Oriented Domain Analysis (FODA): Feasibility Study. Carnegie-Mellon University Software Engineering Institute, Technical report (Nov 1990)
Jezequel, J.M.: Model-driven engineering for software product lines. ISRN Softw. Eng. 2012, (2012)
Gomaa, H.: Designing Software Product Lines with UML: From Use Cases to Pattern-Based Software Architectures. Addison-Wesley, Upper Saddle River (2004)
Bayer, J., Flege, O., Knauber, P., Laqua, R., Muthig, D., Schmid, K., Widen, T., DeBaud, J.: PuLSE: a methodology to develop software product lines. In: Proceedings of the Symposium on Software Reusability, pp. 122–131. ACM (1999)
Gronback, R.C.: Eclipse Modeling Project: A Domain-Specific Language (DSL) Toolkit. Addison-Wesley, Upper Saddle River (2009)
The Eclipse Foundation. Eclipse Modeling Project. http://www.eclipse.org/modeling Jan (2013)
Wohlin, C., Runeson, P., Höst, M., Ohlsson, M.C., Regnell, B., Wesslén, A.: Experimentation in Software Engineering: An Introduction. Kluwer Academic Publishers, Norwell (2000)
Xu, L., Butler, G.: Cascaded refactoring for framework development and evolution. In: Software Engineering Conference. pp. 319–330. Australian (2006)
Zhang, T., Xiao, X., Wang, H., Qian, L.: A feature-oriented framework model for object-oriented framework: an MDA approach. In: 9th IEEE International Conference on Computer and Information Technology, vol. 2, pp. 199–204 (2009)
Amatriain, X., Arumi, P.: Frameworks generate domain-specific languages: a case study in the multimedia domain. IEEE Trans. Softw. Eng. 37(4), 544–558 (2011)
Oliveira, T.C., Alencar, P., Cowan, D.: Design patterns in object-oriented frameworks. Reusetool: an extensible tool support for object-oriented framework reuse. J. Syst. Softw. 84(12), 2234–2252 (2011)
Rouille, E., Combemale, B., Barais, O., Touzet, D., Jezequel, J-M.: Leveraging CVL to manage variability in software process lines. In: 19th Asia-Pacific Software Engineering Conference (APSEC). vol. 1, pp. 148–157. (2012)
Pure Systems. Pure::Variants. http://www.pure-systems.com/pure_variants. 49.0.html, Feb 2013
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer International Publishing Switzerland
About this chapter
Cite this chapter
Viana, M., Penteado, R., Prado, A.d., Durelli, R. (2014). Developing Frameworks from Extended Feature Models. In: Bouabana-Tebibel, T., Rubin, S. (eds) Integration of Reusable Systems. Advances in Intelligent Systems and Computing, vol 263. Springer, Cham. https://doi.org/10.1007/978-3-319-04717-1_12
Download citation
DOI: https://doi.org/10.1007/978-3-319-04717-1_12
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-04716-4
Online ISBN: 978-3-319-04717-1
eBook Packages: EngineeringEngineering (R0)