Group Exercises
This page contains information about the general setup for the course project and the initial setup of the ACS development environment. It assumes that you are working within the standard virtual machine prepared for the course.
General Setup
Course virtual machine
To run the SL5 vmware virtual machine SL5 (32 bits) containing the ACS release 2014.2 you'll need the latest version of vmware player (linux, windows), vmware workstation (linux, windows) or vmware fusion (mac). To reduce the load on the host machine, each machine is running at user level 3 (no graphical environment). Your host environment should be able to open xterms and ssh connections to the guest OS.
Network
The network is configured to assign a fix IP address to each virtual machine. The course virtual machines will be named:
- dba
- ins
- tel
- sch
- its and each machine will have the following users:
- tel
- ins
- sch
- dba
- its
Group Exercise #1: Setting up an ACS work environment
Before you begin
- Check that your machine is booting correctly and getting a fix IP address
- Check that
almamgr
account exits and that you can login to it
- Check that the
/alma/ACS-2014.2/
directory exists and is populated
- Check that your development account is using a bash shell
- Simply run
echo $SHELL
and check that the output reads /bin/bash
Setting up the ACS environment variables
- Login as the main user assign to your machine (f.i.
tel
)
- Create a
.acs
directory
-
cp -r /alma/ACS-2014.2/ACSSW/config/.acs $HOME
- Source the ACS bash profile
- add the following lines to your
$HOME/.bashrc
file
export INTROOT=$HOME/introot
source .acs/.bash_profile.acs
- Logout and login your account and open an xterm. The prompt should read
your_user>
Starting/stopping ACS services and running the tools
- Start the ACS Command Center typing
acscommandcenter
at the command line
- Start ACS services and manager pressing the start button on the GUI. Alternatively, type
acsStart
at the command line
- Start containers. ACS default demo containers are named:
- bilboContainer (C++)
- frodoContainer (Java)
- aragornContainer (Python)
- You can use the ACS Command Center or alternatively the following command lines:
acsStartContainer -<lang> <name>
acsStopContainer <name>
- Start the tools from the Tools menu. Object Explorer and Logging Client in particular. Alternatively you can start the tools from the command line with the following commands:
objexp
, jlog
- Activate and deactivate ACS components from the object explorer
- Stop ACS and all running containers by pressing the stop button on the GUI or using the command
acsStop
Group Exercise #2: Setting up a development environment
Setting up the your local git repository
Git is used as the source code repository. Below are the elementary working commands. A more complete git commands reference is here. Before you start you need to define your git user name (same as development account) and e-mail:
-
git-config --global user.name $USER
-
git-config --global user.email $USER@$HOSTNAME
Cloning the course repository
There is a central git repository at the integration server. You will clone that repository and do all further changes locally by issuing:
-
git clone ssh://integration/opt/git/los.git
Pulling from the repository to get updates
You can get the latests updates for your local repository from the central server:
Pushing to the repository to provide your updates
To commit changes to your local repository:
-
git add [changed files]
-
git commit
And to push your changes back to the central server (and make them available to others):
If you are not sure you can always check the change status:
Setting up your INTROOT area
Create an integration root area for your personal account (INTROOT) by issuing the following commands:
rm –rf $INTROOT
getTemplateForDirectory INTROOT $INTROOT
Setting up your your first software module
Documentation about tools and module structure: ALMA Software Development Tools and Integration Procedures.
Create a new module using the getTemplate command:
-
cd ~/
-
getTemplate
-> directoryStructure
-> create WS_MODROOT area
->
Inside the ICD module, run make all to compile the IDL files and generate all stubs and skeletons.
Group Exercise #N: LOS Development
Assignments
The suggested development teams composition is:
- Database (C++):
- Scheduler (C++):
- Instrument (C++):
- Telescope (C++):
- Integration: Jorge, Tomás
First Day
Second Day
Group Exercise #N: LOS Integration
Third Day
Conclusions and Final Remarks
--
Jorge Ibsen - 2014-08-22