Object-oriented application frameworks

Computing power and network bandwidth have increased dramatically over the past decade. However, the design and implementation of complex software remains expensive and error-prone. Much of the cost and effort stems from the continuous rediscovery and re-invention of core concepts and components across the software industry. In particular, the growing heterogeneity of hardware architectures and diversity of operating system and communication platforms makes it hard to build correct, portable, efficient, and inexpensive applications from scratch. Object-oriented (OO) application frameworks are a promising technology for reifying proven software designs and implementations in order to reduce the cost and improve the quality of software. A framework is a reusable, ``semi-complete'' application that can be specialized to produce custom applications [Johnson:88]. In contrast to earlier OO reuse techniques based on class libraries, frameworks are targeted for particular business units (such as data processing or cellular communications) and application domains (such as user interfaces or real-time avionics). Frameworks like MacApp, ET++, Interviews, ACE, Microsoft's MFC and DCOM, JavaSoft's RMI, and implementations of OMG's CORBA play an increasingly important role in contemporary software development.

[1]  Guillermo Arango,et al.  Domain Analysis and Software Systems Modeling , 1991 .

[2]  Roy H. Campbell,et al.  A technique for documenting the framework of an object-oriented system , 1992, [1992] Proceedings of the Second International Workshop on Object Orientation in Operating Systems.

[3]  Andreas Birrer,et al.  Frameworks in the Financial Engineering Domain - An Experience Report , 1993, ECOOP.

[4]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[5]  Ted G. Lewis Object oriented application frameworks , 1995 .

[6]  Ralph Johnson,et al.  A framework for network protocol software , 1995, OOPSLA.

[7]  Sean Cotter,et al.  Inside Taligent Technology , 1995 .

[8]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .

[9]  Gregory F. Rogers,et al.  Framework-Based Software Development in C++ , 1997 .

[10]  D. Schmidt,et al.  Applying Design Patterns and Frameworks to Develop Object-Oriented Communication Software , 1997 .

[11]  Greg Butler,et al.  Documenting Frameworks to Assist Application Developers , 1997 .

[12]  Wolfgang Pree,et al.  Design Patterns for Object-Oriented Software Development , 1994, Proceedings of the (19th) International Conference on Software Engineering.

[13]  Hans Albrecht Schmid,et al.  Systematic framework design by generalization , 1997, CACM.

[14]  Douglas C. Schmidt Using Design Patterns & Frameworks to Develop Object-Oriented Communication Systems , 1997, Proceedings. Technology of Object-Oriented Languages and Systems, TOOLS 25 (Cat. No.97TB100239).

[15]  Ivar Jacobson,et al.  Software Reuse: Architecture, Process And Organization For Business Success , 1998, Proceedings. Technology of Object-Oriented Languages. TOOLS 26 (Cat. No.98EX176).

[16]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.