Easy Java Simulation is a java program that enables both programmers and novices to quickly and prototype, test , and distribute package of Java simulation. It can be downloaded from the EJS website and installed (unzipped) into a directory of their choice. Executing the EjsConsole.jar file in the installation directory creates an empty Ejs workspace, as shown in this figure.
Picture 1. The Easy Java Simulations user interface (with annotations)
Easy Java Simulation is well-suited for education because it is simple to use and combines authoring with powersful modeling tools. Its dynamic and highly interactive user interface gratly reduces the amount of programming repuired to implement an idea. Even experienced programmers find Ejs useful, because it is faster and easier to:
- Develop a prototype of an application in order to test an idea of algorithm.
- Create user interface without programming.
- Create models whose structure and algorithms nonprogrammers can inspect and understand.
- Encourage students or colleagues (who may be new to Java) to create their own simulation.
- Quickly prepare simulations to be distributed as applets or as stand-alone programs.
- Create a package containing multiple programs and the associated curricular material.
Easy Java Simulations simplifies the modeling process by breaking it into activities that are selected using radio buttons: (1) documentation, (2) modeling, (3) interface design. The model’s html-based documentation is accessed by selecting “Description”, The physics is accessed by selecting “Model”, which provides access to the data and the methods (Java Code) by which the model can change. A plot is a visual representation of data and is an example of a “View”. Because it is possible to have multiple views of the same data and because the model and its view are controlled by buttons and other on-screen components, Ejs provides a graphical drag-and-drop editor for the user interface, which eliminates much coding. The Ejs model-view-controller paradigm is well known in computer science and provides a solid foundation for software development.