Software component composition based on ADL and Middleware

How to compose prefabricated components is a key issue in component-based reuse. Research on Software Architecture (SA) and Component-based Software Development (CBSD) provides two hopeful solutions from different perspectives. SA provides a top-down approach to realizing component-based reuse. However, it pays insufficient attention to the refinement and implementation of the architectural descriptions, and does not provide the necessary capability to automate the transformation or composition to form a final executable application. CBSD provides a bottom-up way by using existing middleware infrastructures. However, these technologies do not take into account the systematic methodology that can guide the CBSD process, especially the component composition at higher abstract levels. We argue that it is a natural solution to combine these two approaches.In this paper, an architecture-based component composition approach is presented. In this way, SA description, using mapping rules and mini-tools to narrow the gap between design and implementation, is used as the blueprint and middleware technology as the runtime scaffold for component composition. Our approach presents an ADL, which supports user-defined connectors and has an extensible framework, to specify software architectures. To map a SA description into implementation, it is necessary to map it first to an OO design model described in UML, then to the final implementation. The architectural description can be mapped into source code or executable code by using some ORB conforming to CORBA standard. Also a toolkit is provided to support this approach efficiently.

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

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

[3]  David Garlan,et al.  A formal basis for architectural connection , 1997, TSEM.

[4]  Mary Shaw,et al.  An Introduction to Software Architecture , 1993, Advances in Software Engineering and Knowledge Engineering.

[5]  Ron Ben-Natan,et al.  CORBA - a guide to common object request broker architecture , 1995, J. Ranade Workstation series.

[6]  David Garlan,et al.  Formalizing architectural connection , 1994, Proceedings of 16th International Conference on Software Engineering.

[7]  Mei Hong,et al.  JBCDL: an object-oriented component description language , 1997, Proceedings. Technology of Object-Oriented Languages. TOOLS 24 (Cat. No.97TB100240).

[8]  David S. Rosenblum,et al.  Exploiting ADLs to specify architectural styles induced by middleware infrastructures , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[9]  David C. Luckham,et al.  An Event-Based Architecture Definition Language , 1995, IEEE Trans. Software Eng..

[10]  Bertrand Meyer,et al.  Component-Based Development: From Buzz to Spark - Guest Editors' Entroduction , 1999, Computer.

[11]  Alexander L. Wolf,et al.  Acm Sigsoft Software Engineering Notes Vol 17 No 4 Foundations for the Study of Software Architecture , 2022 .

[12]  Xiaolei Qian,et al.  Correct Architecture Refinement , 1995, IEEE Trans. Software Eng..

[13]  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).

[14]  Richard N. Taylor,et al.  Using off-the-shelf middleware to implement connectors in distributed software architectures , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).