skip to main content
research-article

Adding genericity to a plug-in framework

Published:10 October 2010Publication History
Skip Abstract Section

Abstract

Plug-in components are a means for making feature-rich applications customizable. Combined with plug-and-play composition, end users can assemble customized applications without programming. If plug-and-play composition is also dynamic, applications can be reconfigured on the fly to load only components the user needs for his current work. We have created Plux.NET, a plug-in framework that supports dynamic plug-and-play composition. The basis for plug-and-play in Plux is the composer which replaces programmatic composition by automatic composition. Components just specify their requirements and provisions using metadata. The composer then assembles the components based on that metadata by matching requirements and provisions. When the composer needs to reuse general-purpose components in different parts of an application, the component model requires genericity. The composer depends on metadata that specify which components should be connected and for general-purpose components those metadata need to be different on each reuse. We present an approach for generic plug-ins with component templates and an implementation for Plux. The general-purpose components become templates and the templates get parameterized when they are composed.

References

  1. }}Wolfinger, R.: Dynamic Application Composition with Plux.NET: Composition Model, Composition Infrastructure. Dissertation, Johannes Kepler University, Linz, Austria, 2010.Google ScholarGoogle Scholar
  2. }}Birsan, D.: On Plug-ins and Extensible Architectures. ACM Queue, 3(2):40--46, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. }}OSGi Service Platform, Release 4. The Open Services Gateway Initiative, http:/ /www.osgi.org, July 2006.Google ScholarGoogle Scholar
  4. }}Eclipse Platform Technical Overview. Object Technology International, Inc., http:/ /www.eclipse.org, February 2003.Google ScholarGoogle Scholar
  5. }}Boudreau, T., Tulach, J., Wielenga, G.: Rich Client Programming, Plugging into the NetBeans Platform, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. }}Microsoft: Microsoft C# Language Specifications. Microsoft Press, Redmond, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. }}Jahn, M., Löberbauer, M., Wolfinger, R., Mössenböck, H.: Rule-based Composition Behaviors in Dynamic Plug-in Systems. Submitted to The 17th Asia-Pacific Software Engineering Conference, APSEC 2010, Sydney, Australia, November 30-December 3, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. }}Jahn, M., Wolfinger, R., Mössenböck, H.: Extending Web Applications with Client and Server Plug-ins. Software Engineering 2010, SE 2010, Paderborn, Germany, February 22--26, 2010.Google ScholarGoogle Scholar
  9. }}Wolfinger, R., Reiter, S., Dhungana, D., Grünbacher, P., and Prähofer, H.: Supporting Runtime System Adaptation through Product Line Engineering and Plug-in Techniques. 7th IEEE International Conference on Composition-Based Software Systems, ICCBSS 2008, Madrid, Spain, February 25--29, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. }}Rabiser, R., Wolfinger, R., Grunbacher, P.: Three-level Customization of Software Products Using a Product Line Approach. 42nd Hawaii International Conference on System Sciences, HICSS-42, Big Island, Hawaii, USA, January 5--8, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. }}Reiter, S., Wolfinger, R.: Erfahrungen bei der Portierung von Delphi Legacy Code nach .NET. Nachwuchs-Workshop, SE 2007 - the Conference on Software Engineering, Hamburg, Germany, March 27--30, 2007.Google ScholarGoogle Scholar
  12. }}Barnes, J.: Programming in Ada 95. Addison-Wesley Longman, Amsterdam, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. }}Sun Microsystems: Java Platform, Standard Edition 6, API Specification. http://java.sun.com/javase/6/docs, 2006.Google ScholarGoogle Scholar
  14. }}Richter, J.: CLR via C#. Applied Microsoft .NET Framework 2.0 Programming. Second Edition, Microsoft Press, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. }}Stroustrup, B.: The C++ Programming Language. Addison-Wesley Longman, Amsterdam, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Adding genericity to a plug-in framework

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader
    About Cookies On This Site

    We use cookies to ensure that we give you the best experience on our website.

    Learn more

    Got it!