Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/2430502.2430510acmotherconferencesArticle/Chapter ViewAbstractPublication PagesvamosConference Proceedingsconference-collections
research-article

A design feature-based approach to deriving program code from features: a step towards feature-oriented software development

Published: 23 January 2013 Publication History

Abstract

Feature-oriented software development is a software development paradigm that uses "features" as the first class objects in designing program instead of objects as with the object-orientation. Most of researches on feature-oriented software development attempt to derive program code directly from a feature model, which presents several problems: there is no explicit attempt to embed required quality attributes into code; and features tend to cut across program units and it is difficult to derive program units from the features. To address these problems, a design-feature-based approach is proposed in this paper. Design feature model captures implementation-level design decisions explicitly. It bridges the abstraction gap between features (i.e., functionalities in abstraction) and program units (i.e., concrete implementation). Design features of a design feature model are identified based on required quality attributes. We demonstrated the feasibility of the proposed approach by providing a case study of an arcade game software product line. Initial lessons learned and research agenda are also introduced in the paper.

References

[1]
Kang, K. C., Cohen, S. G., Hess, J. A., Novak, W. E., and Peterson, A. S. 1990. Feature-Oriented Domain Analysis (FODA) Feasibility Study. Technical Report, CMU/SEI-90-TR-02. Software Engineering Institute, Carnegie Mellon University.
[2]
Czarnecki, K. and Antkiewicz, M. 2005. Mapping features to models: a template approach based on superimposed variants. In Proceedings of the 4th International Conference on Generative Programming and Component Engineering. (Tallinn, Estonia, September 29 -- October 1, 2005). GPCE '05. LNCS 3676, Springer-Verlag, 422--437.
[3]
Trujillo, S., Batory, D., and Dìaz, O. 2007. Feature oriented model driven development: a case study for Portlets. In Proceedings of the 29th International Conference on Software Engineering (Minneapolis, MN, May 19--27, 2007). ICSE '07. IEEE CS Press, 44--53.
[4]
Batory, D. From implementation to theory in product synthesis. 2007. In Proceedings of the International Symposium on Principles of Programming Languages. POPL '07. ACM Press, 135--136.
[5]
Batory, D. 2007. Program Refactoring, Program Synthesis, and Model-Driven Development. In Proceedings of the International Conference on Compiler Construction. Springer-Verlag, LNCS 4420, 156--171.
[6]
Batory, D., Azanza, M., and Saraiva. J. 2008. The Objects and Arrows of Computational Design. In Proceedings of the International Conference on Model Driven Engineering Languages and Systems. MODELS '08. Springer-Verlag, LNCS 5301, 1--20.
[7]
Heidenreich, F., Kopcsek, J., and Wende, C. 2008. FeatureMapper: mapping features to models. In Proceedings of the 30th International Conference on Software Engineering. ICSE '08. 943--944.
[8]
Fuentes, L., Nebrera, C., and Sánchez, P. 2009. Feature-oriented model-driven software product lines: the TENTE approach," In Proceedings of the Forum of the 21st International Conference on Advanced Information Systems. CAiSE Forum '09.
[9]
Liu, J., Batory, D., and Lengauer, C. 2006. Feature oriented refactoring of legacy applications. In Proceedings of the 28th International Conference on Software Engineering. ICSE '06. ACM, New York, NY, 112--121. DOI=http://doi.acm.org/10.1145/1134285.1134303.
[10]
Lopez-Herrejon, R. E., Montalvillo-Mendizabal, L. and Egyed, A. 2011. From requirements to features: an exploratory study of feature-oriented refactoring. In Proceedings of the 15th International Software Product Line Conference. SPLC '11. 181--190.
[11]
Kästner, C., Apel, S., and Kuhlemann, M. 2009. A model of refactoring physically and virtually separated features. In Proceedings of 8th International Conference on Generative Programming and Component Engineering (Denver, Colorado, October 4--5, 2009). GPCE '09, ACM, 157--166.
[12]
Batory, D., Sarvela, J. N., and Rauschmayer. A. 2004. Scaling step-wise refinement. IEEE Trans. Softw. Eng. (TSE). 30, 6 (2004), 355--371.
[13]
Prehofer, C. 1997. Feature-oriented programming: a fresh look at objects. In Proceedings of the European Conference on Object-Oriented Programming. ECOOP '97. Springer-Verlag, LNCS 1241, 419--443.
[14]
Apel, S., Leich, T., Rosenmüller, M., and Saake, G. 2005. FeatureC++: feature-oriented and aspect-oriented programming in C++. In Proceedings of 4th International Conference on Generative Programming and Component Engineering (Tallinn, Estonia, September 29 -- October 1, 2005). GPCE '05. Springer-Verlag, LNCS 3676.
[15]
Anfurrutia, F., Díaz, O., and Trujillo, S. 2007. On refining XML artifacts. In Proceedings of International Conference on Web Engineering. ICWE '07. Springer-Verlag, LNCS 4607, 473--478.
[16]
Chae, W. and Blume, M. 2009. Language support for feature-oriented product line engineering. In Proceedings of the 1st International Workshop on Feature-Oriented Software Development. FOSD '09. ACM, New York, NY, 3--10. DOI= http://doi.acm.org/10.1145/1629716.1629727.
[17]
Günther, S. and Sunkle, S. 2009. Feature-oriented programming with Ruby. In Proceedings of the 1st International Workshop on Feature-Oriented Software Development. FOSD '09. ACM, New York, NY, 11--18. DOI= http://doi.acm.org/10.1145/1629716.1629727.
[18]
Batory, D. 2004. Feature-oriented programming and the AHEAD tool suite. In Proceedings of the 26th International Conference on Software Engineering. ICSE '04. 702--703.
[19]
Kästner, C., Thüm, T., Saake, G., Feigenspan, J., Leich, T., Wielgorz, F., and Apel, S. 2009. FeatureIDE: A tool framework for feature-oriented software development. In Proceedings of the 31st International Conference on Software Engineering. ICSE '09. 611--614.
[20]
Apel, S., Kästner, C., and Lengauer, C. 2009. FeatureHouse: language-independent, automated software composition. In Proceedings of the 31st International Conference on Software Engineering. ICSE '09, 221--231.
[21]
Ge, X., Paige, R. F., and McDermid, J. A. 2009. Domain analysis on an electronic health records system. In Proceedings of the 1st International Workshop on Feature-Oriented Software Development. FOSD '09. ACM, New York, NY, 49--54. DOI= http://doi.acm.org/10.1145/1629716.1629727.
[22]
Feigenspan, J., Kästner, C., Apel, S., and Leich, T. 2009. How to compare program comprehension in FOSD empirically - an experience report. In Proceedings of the 1st International Workshop on Feature-Oriented Software Development. FOSD '09. ACM, New York, NY, 55--62. DOI= http://doi.acm.org/10.1145/1629716.1629727.
[23]
Mezini, M. and Ostermann, K. 2004. Variability management with feature-oriented programming and aspects. In Proceedings of the International Symposium on Foundations of Software Engineering. FSE '04. ACM Press, 127--136.
[24]
Chung, L., Nixon, B. A., Yu, E., and Mylopoulos, J. 1999. Non-Functional Requirements in Software Engineering. Kluwer Academic Publishers, Boston.
[25]
Arcade Game Maker Pedagogical Product Line, CMU/SEI. http://www.sei.cmu.edu/productlines/ppl/
[26]
SourceInsight, Issaquah, WA. http://www.sourceinsight.com/
[27]
Chen, Z. and Xu, B. 2001. Slicing object-oriented Java programs. ACM SIGPLAN Notices, 36, 4, (April 1, 2001), 33--40.

Index Terms

  1. A design feature-based approach to deriving program code from features: a step towards feature-oriented software development

      Recommendations

      Comments

      Please enable JavaScript to view thecomments powered by Disqus.

      Information & Contributors

      Information

      Published In

      cover image ACM Other conferences
      VaMoS '13: Proceedings of the 7th International Workshop on Variability Modelling of Software-Intensive Systems
      January 2013
      136 pages
      ISBN:9781450315418
      DOI:10.1145/2430502
      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Sponsors

      • ICAR, National Research Council, Section of Naples, Italy: ICAR, National Research Council, Section of Naples, Italy
      • CNR: Istituto di Scienza e Tecnologie dell Informazione

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 23 January 2013

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. design feature model
      2. feature-oriented software development
      3. quality attribute

      Qualifiers

      • Research-article

      Conference

      VaMoS '13
      Sponsor:
      • ICAR, National Research Council, Section of Naples, Italy
      • CNR

      Acceptance Rates

      Overall Acceptance Rate 66 of 147 submissions, 45%

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • 0
        Total Citations
      • 216
        Total Downloads
      • Downloads (Last 12 months)0
      • Downloads (Last 6 weeks)0
      Reflects downloads up to 26 Sep 2024

      Other Metrics

      Citations

      View Options

      Get Access

      Login options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media