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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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)
Dohyung, K.: Java MPEG Player (1999), http://peace.snu.ac.kr/dhkim/java/MPEG/
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)
Garlan, D., Monroe, R., Wile, D.: ACME: An Architecture Description Interchange Language. In: Proceedings of CASCON 1997 (November 1997)
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)
Harel, D.: Statecharts: A Visual Formalism for Complex Systems. Science of Computer Programming 8 (1987)
Harel, D., Gery, E.: Executable Object Modeling with Statecharts. In: Proceedings of the 18th International Conference on Software Engineering, pp. 246–257 (March 1996)
iLogix: Rhapsody, at http://www.ilogix.com/
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)
Luckham, D.C., Vera, J.: An Event-Based Architecture Definition Language. IEEE Transactions on Software Engineering (1995)
Magee, J.: Behavioral Analysis of Software Architecture using LTSA. In: Proceedings of the 21st International Conference on Software Engineering, Los Angeles, CA (May 1999)
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)
Object Management Group: The Common Object Request Broker: Architecture and Specification (1995)
Perry, D.E., Wolf, A.L.: Foundations for the Study of Software Architectures. ACM SIGSOFT Software Engineering Notes (1992)
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)
Shaw, M., Garlan, D.: Software Architecture: Perspectives on an Emerging Discipline. Prentice Hall, Englewood Cliffs (1996)
Sun Microsystems: Java Beans Specification, at http://java.sun.com/beans/docs/beans.101.pdf
Sun Microsystems: Java Remote Method Invocation - Distributed Computing for Java (2001) (UnPub)
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)
Wile, D., Egyed, A.: An Architectural Style for Self Healing Systems, under submission to WICSA 2004 (2004)
Williams, S., Kindel, C.: The Component Object Model: A Technical Overview. Dr. Dobb’s Journal (1994)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Egyed, A. (2004). Dynamic Deployment of Executing and Simulating Software Components. In: Emmerich, W., Wolf, A.L. (eds) Component Deployment. CD 2004. Lecture Notes in Computer Science, vol 3083. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24848-4_8
Download citation
DOI: https://doi.org/10.1007/978-3-540-24848-4_8
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-22059-6
Online ISBN: 978-3-540-24848-4
eBook Packages: Springer Book Archive