MagicBeans: a Platform for Deploying Plugin Components

  • Robert Chatley
  • Susan Eisenbach
  • Jeff Magee
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3083)


Plugins are optional components which can be used to enable the dynamic construction of flexible and complex systems, passing as much of the configuration management effort as possible to the system rather than the user, allowing graceful upgrading of systems over time without stopping and restarting. Using plugins as a mechanism for evolving applications is appealing, but current implementations have limited functionality. In this paper we present a framework that supports the construction and evolution of applications with a plugin architecture.


Message Sequence Chart Open Service Gateway Initiative Architecture Description Language Proxy Object Eclipse Platform 
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.
    Applets. Technical report, Sun Microsystems, Inc. (1995-2003),
  2. 2.
    Bierman, G., Hicks, M., Sewell, P., Stoyle, G.: Formalising dynamic software updating. In: Second International Workshop on Unanticipated Software Evolution at ETAPS 2003 (2003)Google Scholar
  3. 3.
    Szyperski, C.: Component Software: Beyond Object-Oriented Programming. Addison-Wesley Pub. Co., Reading (1997)Google Scholar
  4. 4.
    Clifton, C., Leavens, G.T., Chambers, C., Millstein, T.: MultiJava: Modular open classes and symmetric multiple dispatch for Java. In: OOPSLA 2000 Conference on Object-Oriented Programming, Systems, Languages, and Applications, Minneapolis, Minnesota, vol. 35(10), pp. 130–145 (2000)Google Scholar
  5. 5.
    Dmitriev, M.: HotSwap Client Tool. Technical report, Sun Microsystems, Inc. (2002-2003),
  6. 6.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Pub. Co., Reading (1995)Google Scholar
  7. 7.
    Gosling, J., Joy, B., Steele, G., Bracha, G.: The Java Language Specification, 2nd edn. June 2000. Addison Wesley, Reading (2000)Google Scholar
  8. 8.
    Green, D.: The Reflection API. Technical report, Sun Microsystems, Inc. (1997-2001),
  9. 9.
    Hall, R.S.: Oscar. Technical report (2003),,
  10. 10.
    Magee, J., Kramer, J.: Concurrency - State Models and Java Programs. John Wiley & Sons, Chichester (1999)Google Scholar
  11. 11.
    Javabeans. The Only Component Architecture for Java Technology. Technical report, Sun Microsystems, Inc. (1997),
  12. 12.
    JINI. DJ - Discovery and Join. Technical report, Sun Microsystems, Inc. (1997-2001),
  13. 13.
    Kramer, J., Magee, J.: The evolving philosophers problem: Dynamic change management. IEEE TSE 16(11), 1293–1306 (1990)Google Scholar
  14. 14.
    Liang, S., Bracha, G.: Dynamic class loading in the Java virtual machine. In: Conference on Object-oriented programming, systems, languages, and applications (OOPSLA 1998), pp. 36–44 (1998)Google Scholar
  15. 15.
    Mayer, J., Melzer, I., Schweiggert, F.: Lightweight plug-in-based application development (2002)Google Scholar
  16. 16.
    Microsoft Corporation. How to Write and Use ActiveX Controls for Windows CE 2.1. Technical report, Microsoft Developer Network (1999),
  17. 17.
    Object Technology International, Inc. Eclipse Platform Technical Overview. Technical report, IBM (July 2001),
  18. 18.
    Oriezy, P., Medvidovic, N., Taylor, R.: Architecture-based runtime software evolution. In: ICSE 1998 (1998)Google Scholar
  19. 19.
    Oriol, M.: Luckyj: an asynchronous evolution platform for component-based applications. In: Second International Workshop on Unanticipated Software Evolution at ETAPS 2003 (2003)Google Scholar
  20. 20.
    OSGi. Open Services Gateway initiative specification. Technical report, OSGi (2001),
  21. 21.
    Chatley, R., Kramer, J., Magee, J., Uchitel, S.: Model-based Simulation of Web Applications for Usability Assessment. In: Bridging the Gaps Between Software Engineering and Human-Computer Interaction (May 2003)Google Scholar
  22. 22.
    Eisenbach, S., Sadler, C., Shaikh, S.: Evolution of Distributed Java Programs. In: Bishop, J.M. (ed.) CD 2002. LNCS, vol. 2370, Springer, Heidelberg (2002)CrossRefGoogle Scholar
  23. 23.
    Uchitel, S., Chatley, R., Kramer, J., Magee, J.: LTSA-MSC: Tool Support for Behaviour Model Elaboration Using Implied Scenarios. In: Garavel, H., Hatcliff, J. (eds.) TACAS 2003. LNCS, vol. 2619, pp. 597–601. Springer, Heidelberg (2003)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Robert Chatley
    • 1
  • Susan Eisenbach
    • 1
  • Jeff Magee
    • 1
  1. 1.Dept of ComputingImperial College LondonLondonUK

Personalised recommendations