Improve Component-Based Programs with Connectors

  • Joachim H. Fröhlich
  • Manuel Schwarzinger
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4228)


Interfaces rather than components carry component-based software architectures. This follows directly from the design of component interfaces and contractual obligations before the implementation of components. We suggest separating component interfaces and component services such as protocol checking, synchronization, parallelization and caching into dedicated components which we call connectors. Connectors channel the communication so that components do not communicate directly with each other. Thus connectors foster the standardization of identifiable component contracts, accelerate the development of complementing or competing components, and improve the test ability, portability and maintainability of component-based programs.


Functional Component Object Constraint Language Component Service Component Interface Contractual Obligation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Cheesmann, J., Daniels, J.: UML Components. Addison-Wesley, Reading (2001)Google Scholar
  2. 2.
    Clements, P., Bachmann, F., Bass, L., Garlan, D., Ivers, J., Little, R., Nord, R., Stafford, J.: Documenting Software Architectures – Views and Beyond. Addison-Wesley, Reading (2002)Google Scholar
  3. 3.
    Cunnigham, W.: Design Methodology for Object-Oriented Programming. In: Addendum to the Proceedings of OOPSLA 1987. ACM SIGPLAN Notices, vol. 23(5), pp. 94–95 (1987)Google Scholar
  4. 4.
    D’Souza, D.F., Wills, A.C.: Objects, Components and Frameworks with UML: The Catalysis Approach. Addison-Wesley, Reading (1999)Google Scholar
  5. 5.
    Fröhlich, J.H., Wolfinger, R.N.: NET Profiling: Write Profilers with Ease Using High-Level Wrapper Classes. MSDN Magazine 21(5), 85–93 (2006)Google Scholar
  6. 6.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)Google Scholar
  7. 7.
    Gunnerson, E.: AppDomains and Dynamic Loading (2002),
  8. 8.
    Harrop, R., Machacek, J.: Pro Spring. Apress (2005)Google Scholar
  9. 9.
    Löwy, J.: Programming .NET Components. O’Reilly, Sebastopol (2003)MATHGoogle Scholar
  10. 10.
    Mehta, M.R., Medvidovic, N., Phadke, S.: Towards a Taxonomy of Connectors. In: ICSE 2000, Proceedings of the 22nd International Conference on Software Engineering, Limerick Ireland, June 4-11, pp. 178–187 (2000)Google Scholar
  11. 11.
    Object Management Group: Unified Modeling Language: Superstructure. Version 2.0 (2005),
  12. 12.
    Paulish, D.J.: Architecture-Centric Software Project Management. Addison-Wesley, Reading (2002)Google Scholar
  13. 13.
    Shaw, M., Garlan, D.: Software Architecture-Perspectives on an Emerging Discipline. Prentice-Hall, Englewood Cliffs (1996)Google Scholar
  14. 14.
    Skonnard, A.: SOA: More Integration, Less Renovation. MSDN Magazine 20(2), 107–111 (2005)Google Scholar
  15. 15.
    Szyperski, C., Gruntz, D., Murer, S.: Component Software: Beyond Object-Oriented Programming. Addison-Wesley, Reading (2002)Google Scholar
  16. 16.
    Wienholt, N.: Maximizing. .NET Performance. Apress (2003)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Joachim H. Fröhlich
    • 1
  • Manuel Schwarzinger
    • 2
  1. 1.Department of Business Informatics – Software EngineeringJohannes Kepler University of LinzLinzAustria
  2. 2.Racon Software GmbHLinzAustria

Personalised recommendations