1). First thing to do is to read both Xiaorongand Jingping’s master theses in this order. They are the developers of the NOM project.
Xiaorong– Agent Based Scientific Applications and Collaboration using Java
Jingping – Infrastructure, Query Optimization, Data Warehousing and Data Mining for Scientific Simulation.
Both of these master theses will help you get familiar with the NOM project; it will provide you with the information of the features and components that are part of the project, purpose, capabilities, infrastructure etc.
2). The second essential factor is to get familiar with the technology used to access and manipulate the files belonging to the NOM project (Linux, emacs editor)
It is imperative that you know how to use at least the basic commands of the Linux system, which is related to Unix (see Basic Linux Tutorial).
You will need several accounts, one on the tobit cluster and one or more for the databases. Jingping will be the person in charge of providing you with the necessary accounts in order for you to be able to work in the tobit cluster and databases since he is the one administering the databases and servers (see Tobit Cluster Tutorial)
In addition, you will need to get familiar with the emacs/xemacs editor, which is the editor used to access and modify files (see emacs Tutorial)
3). You will need to get familiar with the Java programming language. By now you should now that the NOM project was developed in the J2EE platform. For this reason, knowing Java and the components that are mainly used by this project will allow you to better understand the interaction between the different technologies, work with them, and their role in this project. You may obtain some excellent books from Dr. Madey.
You should read Java related books and learn as much as you can about this language’s capacities such as classes and packages.
You should put special attention to the chapters related to Servlets, Java Server Pages (JSPs), Java Naming and Directory Interface (JNDI), Java Database Connectivity (JDBC), and JavaBeans. All of these Java components are specially used by the NOM project.
Basic emacs Tutorial emacs - is a popular text editor used mainly on Unix and Linux based systems by programmers, scientists, engineers, students, and system administrators. Emacs provides typed commands and special key combinations that let you add, delete, insert, and otherwise manipulate words, letters, lines, and other units of text. Emacs is commonly used to enter the source statements for programs.
“C” means (Ctrl key)
-g the letter following is just the g letter keyboard key.
exp: C-x C-f this means to press the Ctrl key then the xkey and Ctrl key and then the f key
exp: C –x u this means to hold the Ctrl key then press the x key and then the u key
C-x C-c Quits emacs
C-g Sometimes you can get all tripped up with commands, if you do, use this command to be put back in the text doc you were working on.
C-h Online help. I suggest you use this. It is well written so new users to emacs should easily understand it.
C-x C-f Opens a file into emacs.
C-x C-v Open another file in place of the current one.
C-x C-s Save
C-x C-w Save as
C-x u Undo. Multiple undo is supported in emacs.
C-x i Insert a file at where the cursor (referred to as pointer by most emacs users)
Software Engineering Standards. Institute of Electrical and Electronics Engineers, Inc., (829) pages 9-16, 1984.
Schach R. Stephen. Software Engineering. Asken Associates Inc., pages 112,113, 1993.
http://www.google.com – use google to search for information on the different commands on Linux and emacs.
http://xemacs.org – this website provides information on the xemacs editor.
http://java.sun.com/j2se/1.4.2/docs/api/overview-summary.html - this site will provide important information on the packages and the classes and subclasses contained in each.
In general the first thing you need to do is to read the master theses, obtain the necessary accounts on tobit and databases, read and learn about Java, run some stand alone Java programs on the tobit cluster, learn the Linux basic commands, and learn how to use emacs.