Extending Component Interoperability Standards to Support Architecture-Based Development

Components have increasingly become the unit of development of software. In industry, there has been considerable work in the development of standard component interoperability models, such as ActiveX, CORBA and JavaBeans. In academia, there has been intensive research in developing a notion of software architecture. Both of these efforts use software components as the basic building blocks, and both address concerns of structure and reuse. With component interoperability models, the focus is on specifying interfaces, binding mechanisms, packaging, intercomponent communication protocols, and expectations regarding the runtime environment. With software architecture, the focus is on specifying systems of communicating components, analyzing system properties, and generating "glue" code that binds system components. Our research involves studying how standard component models can be extended to accommodate important issues of architecture, including a notion of architectural style and support for explicit connectors. For our initial effort in this work, we have enhanced the JavaBeans component model to support component composition according to the C2 architectural style. Our approach enables the design and development of applications in the C2 style using off-theshelf Java components or “beans" that are available to the designer. In this paper, we describe the techniques underlying our approach, and we identify the important issues that surface when attempting this type of extension.

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

[2]  Jeff Magee,et al.  Dynamic structure in software architectures , 1996, SIGSOFT '96.

[3]  Raghu V. Hudli,et al.  CORBA fundamentals and programming , 1996 .

[4]  Peyman Oreizy,et al.  Software Architecture and Component Technologies: Bridging the Gap , 1997 .

[5]  David A Chappell Understanding ActiveX and OLE , 1996 .

[6]  Richard N. Taylor,et al.  A Component- and Message-Based Architectural Style for GUI Software , 1995, 1995 17th International Conference on Software Engineering.

[7]  Jeff Magee,et al.  Composing distributed objects in CORBA , 1997, Proceedings of the Third International Symposium on Autonomous Decentralized Systems. ISADS 97.

[8]  Mary Shaw,et al.  Abstractions for Software Architecture and Tools to Support Them , 1995, IEEE Trans. Software Eng..

[9]  Peyman Oreizy,et al.  Reuse of Off-the-Shelf Components in C2-Style Architectures , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[10]  Naranker Dulay,et al.  Regis: a constructive development environment for distributed programs , 1994, Distributed Syst. Eng..

[11]  Richard N. Taylor,et al.  A language and environment for architecture-based software development and evolution , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[12]  Nenad Medvidovic,et al.  Integrating architecture description languages with a standard design method , 1998, Proceedings of the 20th International Conference on Software Engineering.