“Fat software” significantly reduces the effect of new and faster computer hardware. Such software is only possible due to the impressive success of the hardware developers. The main reason for this trend is the users’ demand for new gimmicks driving the software developers to include all possible features into their systems. Those features are loaded every time the program is executed and make the system bulky. The fact that most add-ons are simply integrated without a clear interface only adds insult to the injury. This paper shows a way to design software which helps to battle this development of bulky systems. The well-known plug-in concept is formally described as a design pattern. Based on this pattern a development principle is proposed. As a special case, GUI development is considered.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Adobe Plug-in Component Architecture (PICA)-The Adobe PICA API Reference. Adobe Systems Incorporated, Version 1.1 3/97 (1997) http://partners.adobe.com/asn/developer/graphics/docs/TheAdobePICAAPI.pdf
  2. 2.
    Bailer, W.: Writing ImageJ PlugIns-A Tutorial. (2001) http://webster.fhs-hagenberg.ac.at/staff/burger/ImageJ/tutorial/
  3. 4.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley (1995)Google Scholar
  4. 5.
    Joehanes, R.: Pascal Lesson 2 Contents: Chapter 8-Overlays. (2000) http://www.geocities.com/SiliconValley/Park/3230/pas/pasl2008.html
  5. 6.
    Le Berre, D.: Java Tip 113: Identify subclasses at runtime. Java World (2001) http://www.javaworld.com/javaworld/javatips/jw-javatip113.html
  6. 7.
    Marquardt, K.: Patterns for Plug-Ins. In: Proceedings of the Fourth European Conference on Pattern Languages of Programming and Computing, EuroPLoP’ 99, Bad Irsee, Germany (1999)Google Scholar
  7. 8.
    Mayer, J.: Graphical User Interfaces Composed of Plug-ins. In: Proceedings of the GCSE Young Researchers Workshop 2002, Frauenhofer IESE Technical Report No. 053.02/E, Kaiserslautern, Germany (2002) 25–29Google Scholar
  8. 9.
    McCabe, T.J.: Structured Testing. IEEE Computer Society (1983)Google Scholar
  9. 10.
    McCabe, T.J.: Structured Testing. IEEE Transactions on Software Engineering 2 (1976) 308–320MathSciNetCrossRefGoogle Scholar
  10. 11.
    Melzer, I.: An Abstraction to Implement Internet Portals. PhD Thesis, University of Ulm, 2002.Google Scholar
  11. 12.
    Norton, J.: Dynamic Class Loading in C++. Linux Journal 73 (2000)Google Scholar
  12. 13.
    Plug-in Guide for Communicator 4.0. Netscape Communications Corporation (1998) http://developer.netscape.com/docs/manuals/communicator/plugin/index.htm
  13. 14.
    Rich, C., Lesh, N., Rickel, J.: A Plug-in Architecture for Generating Collaborative Agent Responses. In: Proceedings of Autonomous Agents and Multi-Agent Systems 2002, AAMAS 2002, Bologna, Italy, ACM Press (to appear)Google Scholar
  14. 15.
    Shalloway, A., Trott, J.R.: Design Patterns Explained: A New Perspective on Object-Oriented Design. Addison-Wesley (2002)Google Scholar
  15. 16.
    The Component Object Model Specification. Microsoft Corporation, Version 0.9 (1995) http://www.microsoft.com/Com/resources/comdocs.asp
  16. 17.
    Tu, M.T., Griffel, F., Merz, M., Lamersdorf, W.: A Plug-in Architecture Providing Dynamic Negotiation Capabilities for Mobile Agents. In: Proceedings of the Second International Workshop on Mobile Agents, MA’ 98, Stuttgart, Germany. Lecture Notes in Computer Science, Vol. 1477. Springer-Verlag (1998) 222–236Google Scholar
  17. 18.
    Unified Modeling Language (UML), version 1.4. Object Management Group (OMG), formal/2001-09-67 (2001) http://www.omg.org/technology/documents/formal/uml.htm
  18. 19.
    Völter, M.: Pluggable Components-A Pattern for Interactive System Configuration. In: Proceedings of the Fourth European Conference on Pattern Languages of Programming and Computing, EuroPLoP’ 99, Bad Irsee, Germany (1999)Google Scholar
  19. 20.
    Wirth, N.: A Plea for Lean Software. IEEE Computer 28 (1995) 64–68Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Johannes Mayer
    • 1
  • Ingo Melzer
    • 1
  • Franz Schweiggert
    • 1
  1. 1.Department of Applied Information ProcessingUniversity of UlmUlmGermany

Personalised recommendations