Skip to main content
Log in

Supporting high interoperability of components by adopting an agent-based approach

  • Published:
Software Quality Journal Aims and scope Submit manuscript

Abstract

While integrating components into systems, we will be confronted with problems concerned with the interoperability of components due to the interaction mismatches at multiple levels, such as interaction behaviors between components and features imposed by architectural styles. In this paper, we studied the interoperability of components and explored the approach to supporting high interoperability of components involved in mismatching interactions. First, we formalized components involved in different architectural styles in the pi-calculus. Next, we studied the formal foundation of the interoperability of components for reasoning about the conditions under which two heterogeneous components are possible to interoperate and interconnect together properly. Then, we described a wrapper-based solution for integrating components into systems that impose mismatching assumptions about usage of the components. In the end, we presented an agent-based implementation for the solution, in which agents are used to wrap components and can automatically resolve multiple levels of interaction mismatches between components. We also gave a simple example to illustrate our approach.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6

Similar content being viewed by others

Notes

  1. If there is more than one complementary action, we can select any one and remove it.

  2. We assume that there is a naming process for registering and looking for services, which will collect services and their identifiers and wait for queries from service requesters.

    $${\begin{array}{l} NS=Registration|LookFor \\ Registration=(vxy)reg(x,y) \\ LookFor=(vx)naming(x){\bullet}\overline {sname} (sid) \\ \end{array}}$$

References

  • Abd-Allah, A. (1996). Composing heterogeneous software architectures. Doctoral Dissertation, Center for Software Engineering, University of Southern California.

  • Allen, R., Douence, R., & Garlan, D. (1998). Specifying and analyzing dynamic software architectures. In Proceedings of conference on fundamental approach to software engineering, LNCS 1382, 21–37.

  • Allen, R. J., & Garlan, D. (1997). A formal basis for architectural connection. ACM Transactions on Software Engineering and Methodology, 6(3), 213–249.

    Article  Google Scholar 

  • Balzer, R., & Goldman, N. (1999). Mediating connectors. In Proceedings of the 19th IEEE international conference on distributed computing systems, pp. 73–77.

  • Bracciali, A., Brogi, A., & Canal, C. (2002). Systematic component adaptation. Electronic Notes in Theoretical Computer Science, 66(4).

    Article  Google Scholar 

  • Bray, T., Paoli, J., Sperberg-McQueen, C. M., & Maler, E. (2000). Extensible markup language (XML) 1.0 (Second Edition) Specification, World Wide Web Consortium (W3c). http://www.w3.org/TR/REC-xml.

  • Canal, C., Pimentel, E., & Troya, J. M. (2001). Compatibility and inheritance in software architectures. Science of Computer Programming, 41, 105–138.

    Article  MathSciNet  Google Scholar 

  • Chiang, C. C. (2003). The use of adapters to support interoperability of components for reusability. Information and Software Technology, 45(3), 149–156(8).

    Article  Google Scholar 

  • Compare, D., Inverardi, P., & Wolf, A. L. (1999). Uncovering architectural mismatch in component behavior. Science of Computer Programming, 33(2), 101–131.

    Article  Google Scholar 

  • Davis, L., Gamble, R. F., & Payton, J. (2002). The impact of component architectures on interoperability. Journal of Systems and Software, 61(11), 31–45.

    Article  Google Scholar 

  • Drools (2006). http://drools.org/.

  • Ducasse, S., & Richner, T. (1997). Executable connectors: Towards reusable design elements. In ACM Foundations of Software Engineering (ESEC/FSE’97), LNCS 1301 (pp. 483–500). Springer Verlag.

  • Egyed, A., & Balzer, R. (2006). Integrating COTS software into systems through instrumentation and reasoning. Automated Software Engineering, 13(1), 41–64.

    Article  Google Scholar 

  • Egyed, A., Medvidovic, N., & Gacek, C. (2000). Component-based perspective on software mismatch detection and resolution. IEE Proceedings-Software, 147(6), 225–236.

    Article  Google Scholar 

  • Finin, T., Labrou, Y., & Mayfield, J. (1997). KQML as an agent communication language. In J. M. Bradshaw (Ed.), Software agents (pp. 291–316). Menlo Park, California: AAAI Press/MIT Press.

    Google Scholar 

  • Forgy, C. L. (1982). Rete: A fast algorithm for the many pattern/ many object pattern match problem. Artificial Intelligence, 19(1982), 17–37.

    Article  Google Scholar 

  • Foundation for Intelligent Physical Agents (2002). http://www.fipa.org.

  • Gacek, C. (1997). Detecting architectural mismatches during systems composition—an extension to the AAA model. Technical Report USC/CSE-97-TR-502, Center for Software Engineering, University of Southern California.

  • Garlan, D., Allen, R., & Ockerbloom, J. (1995). Architectural mismatch or why it’s hard to build systems out of existing parts. IEEE Software, 12(6), 17–26.

    Article  Google Scholar 

  • Jiao, W., & Mei, H. (2003). Eliminating mismatching connections between components by adopting an agent-based approach. In Proceedings of the 15th IEEE international conference on tools with artificial intelligence, Sacramento, California, pp. 358–365.

  • Jin, Y., & Han, J. (2005). Specifying interaction constraints of software components for better understandability and interoperability. In X. Franch & D. Port (Eds.), Proceedings of 4th international conference, ICCBSS 2005, Bilbao, Spain, LNCS 3412, pp. 54–64.

  • Mei, H., Chen, F., Wang, Q., & Feng, Y. (2002). ABC/ADL: An ADL supporting component composition. In Chris George & Huaikou Miao (Eds.), Formal methods and software engineering, LNCS 2495 (pp. 38–47). Springer-Verlag.

  • de Lemos, R., Gacek, C., & Romanovsky, A. (2003). Tolerating Architectural Mismatches. In R. de Lemos, C. Gacek, & A. Romanovsky (Eds.), Architecting dependable systems, LNCS 2677 (pp. 175–194). Berlin: Springer-Verlag.

    Chapter  Google Scholar 

  • Medvidovic, N., Oreizy, P., & Taylor, R. N. (1997). Reuse of off-the-shelf components in C2-style architectures. In Proceedings of the 1997 international conference on software engineering (ICSE’97), Boston, MA, pp. 692–700.

  • Milner, R. (1993). The polyadic π-calculus: A tutorial. In W. Brauer, F. L. Bauer, H. Schwichtenberg (Eds.), Logic and algebra of specification. Springer-Verlag.

  • Shaw, M., & Garlan, D. (1996). Software architecture: Perspectives on an emerging discipline. Prentice Hall.

  • Wooldridge, M. J. (2002). Introduction to multiagent systems. New York: John Wiley and Sons.

    Google Scholar 

  • Yellin, D. M., & Strom, R. E. (1997). Protocol specifications and components adaptors. ACM Transaction on Programming Languages and Systems, 19(2), 292–333.

    Article  Google Scholar 

  • Zhu, P. (2005). Modeling and implementing autonomous components. Master Degree Thesis, Peking University.

Download references

Acknowledgements

This work is partially sponsored by the National Basic Research Program of China (973) under Grant No. 2002CB312003, the National Natural Science Foundation of China (Grant No. 60233010, 60303004, and 90412011), and the National High-Tech Research and Development Program of China (863) under Grant No. 2005AA112030.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Wenpin Jiao.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Jiao, W., Mei, H. Supporting high interoperability of components by adopting an agent-based approach. Software Qual J 15, 283–307 (2007). https://doi.org/10.1007/s11219-007-9016-5

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11219-007-9016-5

Keywords

Navigation