Attention: We are in the process of moving J-Sim to Google Sites. Many links still go back to the original site. The situation will be getting better in a few months. Latest
Version: version 1.3 + patch4
J-Sim (formerly
known as JavaSim) is a component-based, compositional simulation
environment. It has been built upon the notion of the autonomous component programming
model. Similar to COM/COM+,
JavaBeansTM,
or CORBA, the
basic entity in J-Sim is components, but unlike the other
component-based software packages/standards, components in J-Sim are
autonomous and are realization of software ICs (see the white paper "autonomous component architecture"
for details).
The autonomous component architecture
mimics the IC design architecture in the closest possible way. The
behavior of J-Sim components are defined in terms of contracts (in much
the same way IC chips are defined in the specification in the cookbook)
and can be individually designed, implemented, tested, and
incrementally deployed in a software system. A system can be
composed of individual components in much the same way a hardware
module is composed of IC chips. Moreover, components can be plugged
into a software system, even during execution.
For the purpose of network modeling and
simulation, we have defined, on top of the autonomous component
architecture, a generalized
packet switched network model. The model defines
the generic structure of a node (either an end host or a router) and
the generic network components, both of which
can then be used as base classes to implement protocols
across various layers. Although the model is derived by
featuring out the common attributes of network entities in the current
best-effort Internet, it is general enough to accommodate other network
architectures, such as the IETF differentated
services architecture, the mobile wireless network architecture, and
the WDM-based optical network architecture.
J-Sim has been developed entirely in JavaTM.
This, coupled with the autonomous component architecture, makes J-Sim a
truly platform-neutral, extensible, and reusable environment.
J-Sim also provides a script interface to allow integration with
different script languages such as Perl, Tcl,
or Python. In
the current release, we
have fully integrated J-Sim with a Java implementation of the Tcl interpreter (with the Tcl/Java extension), called Jacl.
So, similar to ns-2, J-Sim is a dual-language simulation environment in
which classes are written in Java (for ns-2, in C++) and "glued"
together using Tcl/Java.
However, unlike ns-2, classes/methods/fields in Java need not be
explicitly exported in order to be accessed in the Tcl environment.
Instead, all the public classes/methods/fields in Java can be accessed
(naturally) in the Tcl
environment.
We outline the salient features of J-Sim
below:
J-Sim consists of several packages,
containing about 125K lines of source codes. The current
release can be approximately broken down as follows (size as in class
files, uncompressed):
| The base package that
defines the component-based architecture, along with the simulation
runtime (drcl.comp, drcl.sim) |
359KB |
| The NET package (drcl.net) |
129KB |
| The INET package (drcl.inet) |
825KB |
| The Diffserv package (drcl.diffserv) |
48KB |
| The Intserv package (drcl.intserv) |
67KB |
| The RUV system (drcl.ruv) |
158KB |
| Common class library (drcl.data, drcl.util) |
204KB |
| J-Sim Total (uncompressed) |
1,790KB |
| Third
party: |
|
|
Jacl 1.3.1 (tcl) |
872KB |
|
Jython (org.python, jxxload_help, org.apache.oro.text.regex) |
1,010KB |
| PtPlot 5.1 (ptolemy.gui, ptolemy.plot, com.microstar.xml) |
192KB |
| Grand Total (J-Sim + 3rd party, uncompressed) |
3,864KB |
| Grand Total (J-Sim + 3rd party, .zip) |
1,955KB |
Active Contributors
(in alphabetical order): Wei-peng Chen, Ye Ge, Guanghui He, Chunyu Hu, Hwangnam
Kim, Lu-chan Kung, Ning Li, Hyuk Lim, Ahmed Sobeih, Hung-ying Tyan,
Honghai Zhang, Rong Zheng.
Past Contributors:
Yuan Gao, Yifei Hong, Yung-Ching Hsiao, Shankar Kalyanaraman, Wei Lin,
Seok-Bae Park, Ling Su, Bin Wang, Yi Ye, Jing Zhang.
Project Supervisor: Jennifer Hou.
Sponsors:
This project has been partially supported by NSF Next Generation
Software program, DARPA/IPTO
network modeling and simulation program, MURI/AFOSR,
Cisco Systems, Inc.,
Ohio State University,
and University of Illinois
at Urbana-Champaign.
Last
updated:
01/28/2005
*
JAVA and all JAVA-based marks are trademarks or registered trademarks
of Sun Microsystems, Inc. in the U.S. and other countries.
 
|
|
News
2006/07/05 v1.3-patch4
Much belated patch, including bug fixes over the past two years...
2006/05/13 Component architecture whitepaper in Spanis
A kind contribution from Juan Martinez Romo.
2005/01/18 sensorsim-patch
Localization
and Diffusion protocols are added. Some classes are added and modified
to extend the previous version.
2005/01/14 GPSR
Greedy
Perimeter Stateless Routing (GPSR) protocol is contributed by Wei-peng
Chen, Honghai Zhang and Hyuk Lim at UIUC.
2004/09/18 gEditor v0.6
The
J-Sim Graphical Editor v0.6! Brought to you by Dan Clemmensen.
2004/05/14 v1.3-patch3
Enhancements
to allow real applications to run in simulation runtime; many other
enhancements and a few bug fixes.
2004/03/16 v1.3-patch2
Enhancements
and a correction over a fix in patch1.
2004/03/05 Infonet Suite 1.3
The
code contributed by the Infonet group (ie, MPLS, BGP4...) is revised to
be compatible with J-Sim v1.3-patch1.
2004/03/05 v1.3-patch1
A
few enhancements and adjustments.
2004/02/20 Release1.3
This
release has included
extension to wireless/mobile networks and sensor networks:
drcl.inet.mac, drcl.inet.sensorsim, and drcl.inet.protocol.aodv.
~ Past News Here
~
Milestones
9/18/2004 gEditor v0.6
2/20/2004 Release1.3
9/16/2003 Registered at sourceforge
6/30/2003 Renamed to J-Sim
2/24/2003 gEditor v0.4
12/12/2002 Release1.2.1
11/15/2002 Release1.2
11/30/2001 gEditor v0.3
10/20/2001 Release1.0 (build#21)
7/23/1999 build#1 |
|