| |
[Download PDF here!]
Authors: Alexander Egyed
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
|
|