Software IDEs
Integrated Development Environments are software tools for developing new software. They offer such benefits as editors that automatically format code, finding and helping fix mistakes, automating common tasks such as writing import statements and getter and setter methods, and debuggers that let you step through a code's execution to find mistakes and understand what your model is doing.
Contents |
Eclipse for Java platforms
Eclipse is one of the most widely used and powerful IDEs, is free and open-source, and is distributed for Windows, Mac, and Unix-like environments. (Eclipse is included in some Linux distributions now.) Additional information (including the Eclipse wiki) and downloads are at http://www.eclipse.org/
Eclipse currently supports Java programming (and C/C++, but not Objective-C) so it is useful for Java Swarm, Repast, and MASON.
Eclipse is a large, complex program, and getting started with it is not trivial. However, our (Steve Lytinen and Steve Railsback) experience has been that even new programmers can make effective use of Eclipse and platforms like Repast within a day or two, if they have someone to answer questions. Experienced programmers lacking experience with IDEs should be able use Eclipse effectively within a few hours---once they get the ABM platform installed.
Hence, we prepared detailed instructions on installing and using Java ABM platforms within Eclipse. They also introduce the basic features of Eclipse. The following three documents are similar, but with important differences.
PLEASE if you find mistakes or ambiguities in these documents, try to post solutions (by getting a login and editing this part of the wiki) or at least contact Steve L or Steve R.
Using Eclipse with Java Swarm
Here is a document with instructions for installing and using Java Swarm in Eclipse (PDF). (Updated May 2007 to correct a small error in how PATH and SWARMHOME are set.)
Using Eclipse with Repast
Here are instructions for using Repast with Eclipse (PDF).
There are links to additional materials on setting Eclipse up with Repast and using it on Leigh Tesfatsion's site here: http://www.econ.iastate.edu/tesfatsi/repastsg.htm#RepastProgB
Using Eclipse with MASON
Here are instructions for using MASON with Eclipse (PDF).
Using Eclipse with metaABM, Repast Simphony and Ascape targets
The following instructions walk through setting up metaABM projects for Ascape and Repast Simphony. As metaABM provides wizards for creating both kinds of projects and they can be used for building and running plain old Ascape and Simphony projects, this could be a good option for those platforms as well. [1] (HTML) .
Plain old Ascape installation: Building in Eclipse
Using Eclipse on MacIntosh
Repast user Mark McBride posted these instructions (Aug. 2006) for using Eclipse on a MacIntosh with Repast. They probably are also helpful for MASON and JavaSwarm users.
- Start up Eclipse and set your workspace directory if you've not already done so.
- In the Finder unzip and put the Repastj directory in your Eclipse workspace directory.
- Create a new project in the package explorer in Eclipse by either going to File - New - Project or right-clicking (option click) in the package explorer.
- In the new project wizard, select Java Project and then click the "Next>" button.
- For the project name, type Repastj. Be sure the "Create new project in workspace" button is selected in the contents area of the wizard. You should see a message at the bottom of the wizard "that the specified external location already exists. If a project is created ...." What this is telling you is that Eclipse will figure out all the folder structures for you, etc.
- Click the "Next>" button
- After working for a minute or so depending on your machine, the wizard will drop you in dialog with four tabs: source, projects, libraries and order & export. The first three should be fine as Eclipse structured them. Click on "Order and Export"
- Now select everything in the window (the repast sources and jars) except the JRM System Library (JVM). Click "Finish"
Your repast build may have some errors. Evidently some of the demos aren't quite right but it's never stopped me from working quite successfully in Repastj using Eclipse on the Mac. Now, when you create a new repast project, use steps 3-6 and in step 7 click on Projects. You should see the RePastj project, select it. Now all the Repast jars will be on your project's build path.
What about Objective-C Swarm?
Eclipse does not support Objective-C. Swarm users discussed alternatives on the swarm support email list in October, 2005. Here are some comments:
Emacs
- Russell Standish:
Truth is, emacs _is_ an IDE. Along with the kitchen sink, it can do:
1) Language sensitive editing - eg C++ keyword highlighting, brace matching etc.
2) Compile (I have this bound to F1), which immediately opens your source files and places the cursor on the line where your compiler barfs
3) Debug mode - gdb runs in one window, and your source code is in the other window, cursor tracing the program flow.
What else could it do, but doesn't AFAIK?
4) Profiling: I use gprof, vprof
5) Static code analysis: I use doxygen (and web browser to view)
6) Parallel programming analysis (I just look at compiler log files)
And just as Paul Box wrote, I tend to keep an xterm open for those sporadic commands - eg "make clean" to start a build from a known state. One could do this in an emacs shell window, of course!
- Paul Johnson:
I urge people not to try anything except Emacs, because it
1) will always exist, for all platforms
2) does not hide vital details from users
3) is as integrated as a person needs.
jGRASP
- David Camacho Trujillo:
When I started to work with Swarm e-macs was for me the only objective–c IDE available, but I found it not so friendly for beginners. Some time ago I found jGrasp which I found is one of the very few IDE for objective-c. It is very friendly, and I found it very good for newcomers. (Therefore I change the title of this message, I hope it could be easy for a newcomer to find this information. Should I put it on the wiki?) It is relative very small program, but is has several fetures. I recommend you to take a look on it: http://www.jgrasp.org
“GRASP is a lightweight development environment, created specifically to provide automatic generation of software visualizations to improve the comprehensibility of software. jGRASP is implemented in Java, and runs on all platforms with a Java Virtual Machine (Java version 1.3 or higher). jGRASP produces Control Structure Diagrams (CSDs) for Java, C, C++, Objective-C, Ada, and VHDL; CPG diagrams for Java and Ada; UML diagrams for Java; and has an integrated debugger and workbench for Java.”
![[Main Page]](/stylesheets/images/wiki.png)