Skip to main content

A Tutorial on Feature Oriented Programming and the AHEAD Tool Suite

  • Chapter
Generative and Transformational Techniques in Software Engineering (GTTSE 2005)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4143))

Abstract

Feature oriented programming (FOP) is the study of feature mod ularity and its use in program synthesis. AHEAD is a theory of FOP that is based on a fundamental concept of generative programming that functions map programs. This enables the design of programs to be expressed compo sitionally as algebraic expressions, which are suited for automated analysis, manipulation, and program synthesis. This paper is a tutorial on FOP and AHEAD. We review AHEAD’s theory and the tool set that implements it.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. AHEAD Tool Suite, http://www.cs.utexas.edu/users/schwartz/ATS.html (ATS documentation)

  2. Balzer, R.: A Fifteen-Year Perspective on Automatic Programming. IEEE Trans. Software Engineering, 1257–1267 (November 1985); Mid-80’s state-of-art-report on automatic programming

    Google Scholar 

  3. Batory, D., O’Malley, S.: The Design and Implementation of Hierarchical Software Systems with Reusable Components. ACM Trans. Software Engineering and Methodology, 355–398 (October 1992); The GenVoca Model.

    Google Scholar 

  4. Batory, D.: The Road to Utopia: A Future for Generative Programming. In: Lengauer, C., Batory, D., Consel, C., Odersky, M. (eds.) Domain-Specific Program Generation. LNCS, vol. 3016, pp. 1–18. Springer, Heidelberg (2004); Rela¬tionship of query optimization to AHEAD

    Chapter  Google Scholar 

  5. Batory, D., Sarvela, J.N., Rauschmayer, A.: Scaling Stepwise Refinement. IEEE Trans. Software Engineering, 355–371 (2004); The AHEAD model

    Google Scholar 

  6. Batory, D., Liu, J., Sarvela, J.N.: Refinements and Multi-Dimensional Separation of Concerns. In: ACM SIGSOFT 2003, pp. 48–57 (2003); A sophisticated example of Origami

    Google Scholar 

  7. Batory, D., Johnson, C., MacDonald, R., von Heeder, D.: Achieving Extensibility Through Product-Lines and Domain-Specific Languages: A Case Study. ACM Transactions on Software Engineering and Methodology, 191–214 (April 2002); A product-line that needs both extensions and embedded DSLs

    Google Scholar 

  8. Batory, D., Chen, G., Robertson, E., Wang, T.: Design Wizards and Visual Programming Environments for GenVoca Generators. IEEE Transactions on Software Engineering, 441–452 (May 2000); Explains relationship between automatic programming and GenVoca equation optimization

    Google Scholar 

  9. Batory, D., Geraci, B.J.: Composition Validation and Subjectivity in GenVoca Generators. IEEE Transactions on Software Engineering, 67–82 (1997); Early form of design rule checking

    Google Scholar 

  10. Batory, D.: Feature Models, Grammars, and Propositional Formulas. In: Software Product-Line Conference (SPLC) 2005, pp. 7–20 (2005); Generalizes results in

    Google Scholar 

  11. de Jong, M., Visser, J.: Grammars as Feature Diagrams. In: Workshop on Generative Programming (GP 2002), April 15, Austin Texas, USA (2002); Relates feature diagrams to grammars

    Google Scholar 

  12. Jung, E.J.: Feature Oriented Programming and Product Line Architectures for Open Architecture Robot Software, M.Sc. Thesis, Dept. Mechanical Engineering, University of Texas at Austin (2004); Application of FOP ideas to robotics, Origami

    Google Scholar 

  13. Kang, K., Cohen, S., Hess, J., Nowak, W., Peterson, S.: Feature-Oriented Domain Analysis (FODA) Feasibility Study. Technical Report, CMU/SEI-90TR-21, Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA (November 1990); First significant paper on features and product-lines

    Google Scholar 

  14. Liu, J., Batory, D.: Automatic Remodularization and Optimized Synthesis of Product-Families. In: Generative Programming and Component Engineering (GPCE), pp. 379–395 (October 2004); Shows how sets of equations can be optimized

    Google Scholar 

  15. Lopez-Herrejon, R.E., Batory, D.: A Standard Problem for Evaluating Product-Line Methodologies. In: Bosch, J. (ed.) GCSE 2001. LNCS, vol. 2186, pp. 10–24. Springer, Heidelberg (2001); A simple product-line defined using the GenVoca model

    Chapter  Google Scholar 

  16. Kohlbecker, E., Friedman, D.P., Felleisen, M., Duba, B.: Hygienic Macro Expansion. In: SIGPLAN 1986 ACM Conference on Lisp and Functional Programming, pp. 151–161 (1986); Classic paper on the inadvertent capture problem

    Google Scholar 

  17. Product-Line Architecture Research Group, http://www.cs.utexas.edu/users/schwartz/

  18. Lopez-Herrejon, R., Batory, D., Cook, W.: Evaluating Support for Features in Advanced Modularization Technologies. In: Black, A.P. (ed.) ECOOP 2005. LNCS, vol. 3586, pp. 169–194. Springer, Heidelberg (2005); Using the expression problem to evaluate different modularization technologies

    Chapter  Google Scholar 

  19. Lopez-Herrejon, R., Batory, D., Lengauer, C.: A Disciplined Approach to Aspect Composition. In: Program Evaluation and Program Manipulation (PEPM), pp. 68–77 (2005); Formalizes the AspectJ composition model

    Google Scholar 

  20. Selinger, P.P., Astrahan, M.M., Chamberlin, D.D., Lorie, R.A., Price, T.G.: Access Path Selection in a Relational Database System. In: ACM SIGMOD 1979, pp. 23–34 (1979); Classic paper on relational query optimizers

    Google Scholar 

  21. Teitelbaum, T., Reps, T.: The Cornell Program Synthesizer: a Syntax-Directed Programming Environment. CACM 24(9), 563–573 (1981); Classic paper on syntax-directed editors

    Google Scholar 

  22. Torgersen, M.: The Expression Problem Revisited. Four New Solutions Using Generics. In: ECOOP 2004, pp. 123–146 (2004); A recent paper on the Expression problem

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Batory, D. (2006). A Tutorial on Feature Oriented Programming and the AHEAD Tool Suite. In: Lämmel, R., Saraiva, J., Visser, J. (eds) Generative and Transformational Techniques in Software Engineering. GTTSE 2005. Lecture Notes in Computer Science, vol 4143. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11877028_1

Download citation

  • DOI: https://doi.org/10.1007/11877028_1

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-45778-7

  • Online ISBN: 978-3-540-46235-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics