ABSTRACT
The confluence of component based development, model driven development and software product lines forms an approach to application development based on the concept of software factories. This approach promises greater gains in productivity and predictability than those produced by incremental improvements to the current paradigm of object orientation, which have not kept pace with innovation in platform technology. Software factories promise to make application assembly more cost effective through systematic reuse, enabling the formation of supply chains and opening the door to mass customization.
- D. Alur, J. Crupi and D. Malks. Core J2EE Patterns, Best Practices and Design Strategies. Sun Microsystems Press, 2001. Google ScholarDigital Library
- K. Beck. Extreme Programming Explained: Embrace Change. Addison-Wesley, 1999. Google ScholarDigital Library
- G. Booch. Object Oriented Analysis and Design With Applications. Second Edition. Addison-Wesley, 1994. Google ScholarDigital Library
- F. Brooks. No Silver Bullet: Essence and Accidents of Software Engineering. Computer Magazine, 1987. Google ScholarDigital Library
- C. Christensen. The Innovator's Dilemma, Harvard Business School Press, 1997.Google Scholar
- J. Cheesman and J. Daniels. UML Components: A Simple Process for Specifying Component-Based Software. Addison-Wesley, 2000. Google ScholarDigital Library
- J. Cleaveland <http://www.amazon.com/exec/obidos/search-handle-url/index=books&field-author=J.%20Craig%20Cleaveland/103-7071651-6053424>>. Program Generators with XML and Java. Prentice Hall PTR, 2001. Google ScholarDigital Library
- A. Cockburn. Writing Effective Use Cases, Addison Wesley, 2000. Google ScholarDigital Library
- S. Cook. The UML Family: Profiles, Prefaces and Packages. Proceedings of UML2000, edited by A. Evans, S. Kent and B. Selic. 2000, Springer-Verlag LNCS. Google ScholarDigital Library
- P. Clements <http://www.amazon.com/exec/obidos/search-handle-url/index=books&field-author=Clements%2C%20Paul/103-7071651-6053424>> and L. Northrop <http://www.amazon.com/exec/obidos/search-handle-url/index=books&field-author=Northrop%2C%20Linda%20M./103-7071651-6053424>>. Software Product Lines: Practices and Patterns. Addison-Wesley, 2001.Google ScholarDigital Library
- J. Coplien. Multi-paradigm design. In Proceedings of the GCSE '99 (co-hosted with the STJA 99).Google Scholar
- B. Cox. Planning the Software Industrial Revolution. IEEE Software Magazine, November 1990. Google ScholarDigital Library
- B. Cox. No Silver Bullet Revisted. American Programmer Journal, November 1995Google Scholar
- K. Czarnecki and U. Eisenecker, Genererative Programming: Methods, Tools, and Applications, Addison-Wesley, 2000. Google ScholarDigital Library
- D. D'Souza and A. Wills. Objects, Components And Frameworks With UML. Addison-Wesley, 1998. Google ScholarDigital Library
- M. Fowler. Refactoring: Improving The Design Of Existing Code. Addison-Wesley, 1999. Google ScholarDigital Library
- E. Gamma, R. Helm, R. Johnson and J. Vlissides. Design Patterns, Elements of Reusable Object-Oriented Software. 1995, Addison-Wesley. Google ScholarDigital Library
- P. Herzum and O. Sims. Business Component Factory, A Comprehensive Overview of Component Based Development for the Enterprise. March 2000, John Wiley and Sons. Google ScholarDigital Library
- M. Jackson <http://www.amazon.com/exec/obidos/search-handle-url/index=books&field-author=Jackson%2C%20Michael/103-7071651-6053424>>. Problem Frames: Analyzing and Structuring Software Development Problems. Addison Wesley, 2000. Google ScholarDigital Library
- R. Johnson. Documenting Frameworks Using Patterns. ACM SIGPLAN Notices, volume 27, number 10. Google ScholarDigital Library
- G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W. Griswold. An overview of AspectJ. In Proceedings of the European Conference on Object-Oriented Programming, 2001. Google ScholarDigital Library
- T. Kuhn. The Structure Of Scientific Revolutions. The University Of Chicago Press, 1970.Google Scholar
- D. Parnas. On the Design and Development of Program Families. IEEE Transactions on Software Engineering, March 1976.Google ScholarDigital Library
- J. Greenfield and K. Short. Software Factories: Assembling Applications with Patterns, Frameworks, Models and Tools. John Wiley and Sons. 2004. Google ScholarDigital Library
- F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, M. Stal. Pattern-Oriented Software Architecture, Volume 1. A System Of Patterns. John Wiley and Sons, 1996. Google ScholarDigital Library
- J. Smith and D. Stotts. Elemental Design Patterns - A Link Between Architecture and Object Semantics. Proceedings of OOPSLA 2002.Google Scholar
- Standish Group, Chaos - A Recipe for Success, 1999, available online at http://www.standishgroup.com/sample_research/Google Scholar
- <http://www.w3.org/>.Google Scholar
- D.M. Weiss, C.T. Robert Lai. Software Product-Line Engineering, Addison-Wesley , 1999. Google ScholarDigital Library
- http://www.ws-i.org/.Google Scholar
Index Terms
- Software factories: assembling applications with patterns, models, frameworks and tools
Recommendations
Increasing software product reusability and variability using active components: a software product line infrastructure
ECSA '10: Proceedings of the Fourth European Conference on Software Architecture: Companion VolumeSoftware Product Lines are typically used to support development of a software product family and not a software product population, which denotes a broader and more diverse range of software products. We present a Software Product Line Infrastructure (...
Leveraging integrated model-driven development and software product line development technologies
OOPSLA '07: Companion to the 22nd ACM SIGPLAN conference on Object-oriented programming systems and applications companionAs emerging Software Product Line (SPL) technologies have evolved, Model-Driven Development (MDD) has remained an under-served part of the SPL portfolio development lifecycle, making it difficult to simultaneously leverage the benefits of both ...
An Essay on Software Reuse
This paper explores software reuse. It discusses briefly some economic incentives for developing effective software reuse technology and notes that different kinds of software reuse, such as direct use without modification and reuse of abstract software ...
Comments