Skip to main content

Utilizing Application Frameworks: A Domain Engineering Approach

  • Chapter
  • First Online:
Domain Engineering

Abstract

Application frameworks aim to provide coherent code to be used and reused. The primary benefits of application frameworks stem from the modularity, reusability, extensibility, and inversion of control they provide to developers. Yet, as these frameworks become more extensive and complex, their usage becomes a burden and requires further effort. In this chapter we adopt the Application-based DOmain Modeling (ADOM), a domain engineering approach offering guidance and validation for developers when using existing knowledge, as in the case of application frameworks. The approach is adopted in the context of a programming language and demonstrated with the use of Java and is thus denoted as ADOM-JAVA. The approach preserves the regular development environment and requires minimal adaptation for using the proposed approach. We also demonstrate the use of ADOM-JAVA as a vehicle for defining and using domain-specific languages. Finally, we evaluate the use of ADOM when applied to a Java-based development. Following the guidance and validation capabilities provided by the proposed approach, the experiment shows that the productivity of the developers in terms of time and quality is expected to increase.

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 EPUB and 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
Hardcover Book
USD 54.99
Price excludes VAT (USA)
  • Durable hardcover 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

Notes

  1. 1.

    In this work we use the Java Annotation called @Java [4].

References

  1. Ali, Z., Bolinger, J., Herold, M., Lynch, T., Ramanathan, J., Ramnath, R.: Teaching object-oriented software design within the context of software frameworks. In: Frontiers in Education Conference (FIE), pp. S3G-1–S3G-5. IEEE, Washington, DC (2011)

    Google Scholar 

  2. Becker, J., Janiesch, C., Pfeiffer, D.: Reuse mechanisms in situational method engineering. In: Ralyte, J., Brinkkemper, S., Henderson-Sellers, B. (eds.) Situational Method Engineering: Fundamentals and Experiences. Springer, Boston (2007)

    Google Scholar 

  3. vom Brocke, J.: Design principles for reference modelling—reusing information models by means of aggregation, specialisation, instantiation, and analogy. In: Fettke, L. (ed.) Reference Modeling for Business Systems Analysis, pp. 47–75. Idea Group Publishing, Hershey (2007)

    Google Scholar 

  4. Cazzola, W.: @Java: A Java Annotation extension. http://cazzola.di.unimi.it/atjava.html. Last accessed April 2013

  5. Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley Professional, Boston (2001)

    Google Scholar 

  6. Czarnecki, K., Eisenecker, U.W.: Generative Programming—Methods, Tools, and Applications. Addison-Wesley, Boston (2000)

    Google Scholar 

  7. Czarnecki, K.: Overview of generative software development. In: Proceedings of the European Commission and US National Science Foundation Strategic Research Workshop on Unconventional Programming Paradigms, France (2004)

    Google Scholar 

  8. Fayad, M., Schmidt, D.C.: Object-oriented application frameworks. Commun. ACM 40(10), 32–38 (1997)

    Article  Google Scholar 

  9. Fayad, M., Schmidt, D.C., Johnson, R.: Implementing Application Frameworks: Object-Oriented Frameworks at Work, 1st edn. Wiley, New York (1999)

    Google Scholar 

  10. Fayad, M., Johnson, R.: Domain-Specific Application Frameworks. Wiley, New York (2000)

    Google Scholar 

  11. Fowler, M.: Domain-Specific Languages. Addison-Wesley Professional, Boston (2010)

    Google Scholar 

  12. Freeman, S., Pryce, N.: Evolving an embedded domain-specific language in Java. In: Companion to the 21st ACM SIGPLAN Symposium on Object-Oriented Programming Systems, Languages, and Applications, pp. 855–865. ACM, New York (2006)

    Google Scholar 

  13. Harsu, M.: A survey on domain engineering. Report 31, Institute of Software Systems, Tampere University of Technology (2002)

    Google Scholar 

  14. ISO 9126.: ISO/IEC TR 9126-software engineering, product quality, quality model. International Organization for Standardization, Geneva (2001)

    Google Scholar 

  15. Jacobson, I., Griss, M., Jonsson, P.: Software Reuse: Architecture, Process and Organization for Business Success. ACM, New York (1997)

    Google Scholar 

  16. Jones, C.: Estimating Software Costs. McGraw-Hill, New York (2007)

    Google Scholar 

  17. Kabanov, J., Raudjärv, R.: Embedded typesafe domain specific languages for Java. In: Proceedings of the 6th International Symposium on Principles and Practice of Programming in Java, pp 189–197. ACM, New York (2008)

    Google Scholar 

  18. Kelly, S., Tolvanen, J.P.: Domain-Specific Modeling: Enabling Full Code Generation. Wiley, New Jersey (2008)

    Book  Google Scholar 

  19. Kieburtz, R.B., McKinney, L., Bell, J.M., Hook, J., Kotov, A., Lewis, J., Oliva, D.P., Sheard, T., Smith, I., Walton, L.: A software engineering experiment in software component generation. In: Proceedings of the 18th International Conference on Software Engineering, pp. 542–552. IEEE Computer Society, Washington, DC (1996)

    Google Scholar 

  20. Lowell, A.J.: Programmer Productivity: Myths, Methods, and Murphology. A Guide for Managers, Analysts, and Programmers. Wiley, New York (1983)

    Google Scholar 

  21. Mernik, M., Heering, J., Sloane, A.M.: When and how to develop domain-specific languages. ACM Comput. Survev. 37(4), 316–344 (2005)

    Article  Google Scholar 

  22. Polancic, G., Hericko, M., Pavlic, L.: An empirical examination of application frameworks success based on technology acceptance model. J. Syst. Softw. 83, 574–584 (2010)

    Article  Google Scholar 

  23. Polancic, G., Hericko, M., Pavlic, L.: Developers’ perceptions of object-oriented frameworks—an investigation into the impact of technological and individual characteristics. Comput. Hum. Behav. 27, 730–740 (2011)

    Article  Google Scholar 

  24. Pohl, K., Böckle, G., van der Linden, F.: Software Product Line Engineering: Foundations, Principles, and Techniques. Springer, New York (2005)

    Google Scholar 

  25. Reinhartz-Berger, I., Sturm, A.: Enhancing UML models: a domain analysis approach. J. Database. Manag. 19(1), 74–94 (2008). Special issue on UML Topics

    Article  Google Scholar 

  26. Reinhartz-Berger, I., Sturm, A.: Utilizing domain models for application design and validation. Info. Software. Technol. 51(8), 1275–1289 (2009)

    Article  Google Scholar 

  27. Tilab.: JADE—Java Agent DEvelopment Framework. http://jade.tilab.com/index.html. Last accessed April 2013

  28. Weiss, D.M., Tau, C., Lai, R.: Software Product Line Engineering: A Family-Based Software Development Process. Addison-Wesley, Boston (1999)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Arnon Sturm .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Sturm, A., Kramer, O. (2013). Utilizing Application Frameworks: A Domain Engineering Approach. In: Reinhartz-Berger, I., Sturm, A., Clark, T., Cohen, S., Bettin, J. (eds) Domain Engineering. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-36654-3_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-36654-3_5

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-36653-6

  • Online ISBN: 978-3-642-36654-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics