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.
- }}Wolfinger, R.: Dynamic Application Composition with Plux.NET: Composition Model, Composition Infrastructure. Dissertation, Johannes Kepler University, Linz, Austria, 2010.Google Scholar
- }}Birsan, D.: On Plug-ins and Extensible Architectures. ACM Queue, 3(2):40--46, 2005. Google Scholar
Digital Library
- }}OSGi Service Platform, Release 4. The Open Services Gateway Initiative, http:/ /www.osgi.org, July 2006.Google Scholar
- }}Eclipse Platform Technical Overview. Object Technology International, Inc., http:/ /www.eclipse.org, February 2003.Google Scholar
- }}Boudreau, T., Tulach, J., Wielenga, G.: Rich Client Programming, Plugging into the NetBeans Platform, 2007. Google Scholar
Digital Library
- }}Microsoft: Microsoft C# Language Specifications. Microsoft Press, Redmond, 2001. Google Scholar
Digital Library
- }}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 Scholar
Digital Library
- }}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 Scholar
- }}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 Scholar
Digital Library
- }}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 Scholar
Digital Library
- }}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 Scholar
- }}Barnes, J.: Programming in Ada 95. Addison-Wesley Longman, Amsterdam, 2006. Google Scholar
Digital Library
- }}Sun Microsystems: Java Platform, Standard Edition 6, API Specification. http://java.sun.com/javase/6/docs, 2006.Google Scholar
- }}Richter, J.: CLR via C#. Applied Microsoft .NET Framework 2.0 Programming. Second Edition, Microsoft Press, 2006. Google Scholar
Digital Library
- }}Stroustrup, B.: The C++ Programming Language. Addison-Wesley Longman, Amsterdam, 2000. Google Scholar
Digital Library
Index Terms
Adding genericity to a plug-in framework
Recommendations
Adding genericity to a plug-in framework
GPCE '10: Proceedings of the ninth international conference on Generative programming and component engineeringPlug-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 ...
Plug-in architecture and design guidelines for customizable enterprise applications
OOPSLA Companion '08: Companion to the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applicationsCustomizability and extensibility are important goals for enterprise application software. Complex enterprise applications should be made customizable to the needs of individual users, in order to simplify and streamline them. Enterprise applications ...
Rule-Based Composition Behaviors in Dynamic Plug-In Systems
APSEC '10: Proceedings of the 2010 Asia Pacific Software Engineering ConferencePlug-in frameworks facilitate the development of customizable and extensible software, yet they often lack support for flexible and dynamic (re)configuration. We have created Plux.NET, a novel plug-in framework for plug-and-play composition. In Plux, a ...







Comments