J-Sim

We are moving to Google Sites.
Please visit the future J-Sim official site and let us know if you have any comments.
Latest Version: version 1.3 + patch4

General Information

Documentation/White Papers

Network Simulation Packages

Contributions / J-Sim Add-On

References

Miscellany

 
Why JavaSim is Renamed to J-Sim?

Due to confliction with Sun Microsystems' Java trademark: "Sun does not permit any other person or company to use product, service or technology names containing the JAVA element in any format, including "JAVAXYZ," "XYZJAVA," "JAVA XYZ" or "XYZ JAVA."


 

 

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

We are currently working on the GUI support and expect to release more components soon.

Software Architecture Designer: Hung-ying Tyan

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.

 
  SourceForge.net Logo   This project is registered at
http://sourceforge.net/projects/j-sim/

 

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 Spanish

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 Graphical Editor v0.6
2/20/2004 Release1.3
9/16/2003 Registered at sourceforge
6/30/2003 Renamed to J-Sim
2/24/2003 Graphical Editor v0.4
12/12/2002 Release1.2.1
11/15/2002 Release1.2
11/30/2001 Graphical Editor v0.3
10/20/2001 Release1.0 (build#21)
8/3/2001 pre-release8 (build#20)
7/3/2001 pre-release7 (build#19)
4/29/2001 pre-release4.2 (build#16)
4/17/2001 pre-release4.1 (build#15)
4/11/2001 pre-release4 (build#14)
4/11/2001 GUI editor! 
1/29/2001 pre-release3 (build#12)
12/27/2000 pre-release2 (build#11)
10/18/2000 pre-release1 (build#10)
3/5/2000 build#9
1/12/2000 build#8
12/7/1999 build#7
9/20/1999 build#6
8/23/1999 build#5
8/17/1999 build#4
8/13/1999 build#3
7/23/1999 build#1