Advertisement

Dynamic Deployment of Executing and Simulating Software Components

  • Alexander Egyed
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3083)

Abstract

Physical boundaries have caused software systems to become less monolithic and more distributed. The trend is progressing to a point where software systems will consist of numerous, loosely-coupled, heterogeneous software components. Increased software dynamism will allow these components to be composed, interchanged, upgraded, or even moved without shutting down the system itself. This form of dynamism is already well-supported through new programming constructs and support libraries (i.e., late binding, introspection); however, we are currently ill-equipped to analyze and simulate those kinds of systems. This paper demonstrates that software dynamism requires not only new modeling constructs but also new simulation environments. While in the past, simulation merely mimicked some real-world behavior, we argue that in the future it will become necessary to intertwine the model world with the real world. This will be essential but not limited to cases where (1) one has incomplete access to models (i.e., proprietary COTS components), (2) it is too expensive to model (i.e., Internet as a connector between software components), or (3) one has not complete faith in models (i.e., legacy components). This paper presents our approach to the concurrent execution and simulation of deployed software components. It will also discuss key differences to ”traditional” simulation, emulation, and other similar concepts that are being used to integrate the model world with the real world.

Keywords

Dynamic Simulation Software Component Real Component Model World Simulated World 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Abi-Antoun, M., Medvidovic, N.: Enabling the Refinement of a Software Architecture into a Design. In: France, R.B., Rumpe, B. (eds.) UML 1999. LNCS, vol. 1723, pp. 17–31. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  2. 2.
    Dohyung, K.: Java MPEG Player (1999), http://peace.snu.ac.kr/dhkim/java/MPEG/
  3. 3.
    Egyed, A., Wile, D.: Statechart Simulator for Modeling Architectural Dynamics. In: Proceedings of the 2nd Working International Conference on Software Architecture (WICSA), pp. 87–96 (August 2001)Google Scholar
  4. 4.
    Garlan, D., Monroe, R., Wile, D.: ACME: An Architecture Description Interchange Language. In: Proceedings of CASCON 1997 (November 1997)Google Scholar
  5. 5.
    Grundy, J.C., Ding, G.: Automatic Validation of Deployed J2EE Components Using Aspects. In: Proceedings of the 17th International Conference on Automated Software Engineering (ASE), Edinburgh, Scottland, UK (September 2002)Google Scholar
  6. 6.
    Harel, D.: Statecharts: A Visual Formalism for Complex Systems. Science of Computer Programming 8 (1987)Google Scholar
  7. 7.
    Harel, D., Gery, E.: Executable Object Modeling with Statecharts. In: Proceedings of the 18th International Conference on Software Engineering, pp. 246–257 (March 1996)Google Scholar
  8. 8.
    iLogix: Rhapsody, at http://www.ilogix.com/
  9. 9.
    Jackson, D., Rinard, M.: Software Analysis: A Roadmap. In: Proceedings of the 20th International Conference on Software Engineering (ICSE), Limerick, Ireland, pp.133–145 (June 2000)Google Scholar
  10. 10.
    Luckham, D.C., Vera, J.: An Event-Based Architecture Definition Language. IEEE Transactions on Software Engineering (1995)Google Scholar
  11. 11.
    Magee, J.: Behavioral Analysis of Software Architecture using LTSA. In: Proceedings of the 21st International Conference on Software Engineering, Los Angeles, CA (May 1999)Google Scholar
  12. 12.
    Magee, J., Kramer, J.: Dynamic Structure in Software Architectures. In: Proceedings of the 4th ACM SIGSOFT Symposium on the Foundations of Software Engineering (October 1996)Google Scholar
  13. 13.
    Object Management Group: The Common Object Request Broker: Architecture and Specification (1995)Google Scholar
  14. 14.
    Perry, D.E., Wolf, A.L.: Foundations for the Study of Software Architectures. ACM SIGSOFT Software Engineering Notes (1992)Google Scholar
  15. 15.
    Sanders, P.: Study on the Effectiveness of Modeling and Simulation in the Weapon System Acqusition Process, Report, Test Systems Engineering and Evaluation, Office of the Under Secretary of Defense (Acqusition & Technology) (1996)Google Scholar
  16. 16.
    Shaw, M., Garlan, D.: Software Architecture: Perspectives on an Emerging Discipline. Prentice Hall, Englewood Cliffs (1996)zbMATHGoogle Scholar
  17. 17.
    Sun Microsystems: Java Beans Specification, at http://java.sun.com/beans/docs/beans.101.pdf
  18. 18.
    Sun Microsystems: Java Remote Method Invocation - Distributed Computing for Java (2001) (UnPub)Google Scholar
  19. 19.
    Taylor, R.N., Medvidovic, N., Anderson, K.N., Whitehead Jr., E.J., Robbins, J.E., Nies, K.A., Oreizy, P., Dubrow, D.L.: A Component- and Message-Based Architectural Style for GUI Software. IEEE Transactions on Software Engineering 22(6), 390–406 (1996)CrossRefGoogle Scholar
  20. 20.
    Wile, D., Egyed, A.: An Architectural Style for Self Healing Systems, under submission to WICSA 2004 (2004)Google Scholar
  21. 21.
    Williams, S., Kindel, C.: The Component Object Model: A Technical Overview. Dr. Dobb’s Journal (1994)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Alexander Egyed
    • 1
  1. 1.Teknowledge CorporationMarina Del ReyUSA

Personalised recommendations