FESA Step-By-Step


FESA@GSI Infrastructure


Server, User, Password

For testing FESA the server asl715.acc.gsi.de for FESA Version 2.9 may be used. For FESA 2.10 the server asl713.acc.gsi.de was recently installed. Open a terminal window via: ssh username@asl715.acc.gsi.de (or asl713 for 2.10). The acc.gsi.de may be skipped, when you are working within the GSI accelerator network. There are two predefined users: fesauser and fesaadm, the password for both is assumed to be known to all people in the project (something related to VME). For an own user account you may ask WolfgangSchiebel. If you have in mind to operate from your own Linux PC you have to fulfill all settings described in the next chapter. So far it does not work completely to manage all required Fesa steps (in work). Be aware to use the same uid for your local and the asl account.

Environment Variables, Bash Settings, Startup Script

TODO: Put some infos here TODO: Put some infos here

Creation of a class


You can start by opening a xterm on asl715 or asl713 and cd to folder /home/fesa/fesauser/lnx/fesawork. Type 'runfesamodeller' and press enter, the FESA SHELL is opened. The Fesa shell is the JAVA GUI where Design-, Deploy-, Instantiation- and Test-Tool are combined. The Java tools can also be started from the webpage http://asl715.acc.gsi.de/FESA.html for Fesa 2.9 or http://asl713.acc.gsi.de/FESA.html for Fesa 2.10.

  • Take the FESA Primer and the
    FesaMethodOverview
    (see below, attached files) and create your own design.
  • If you have a valid design, store and name it. Use a name which makes clear, that it is from you (e.g. thoffman_tutorial)
  • Change to the xterm in /home/fesa/fesauser/lnx/fesawork and call the Fesa script to create an brand new FESA class. Fesa Setup
    MyClassName
    0 scratch
  • cd to
    MyClassName/v0/
    and run script Fesa Synchronize
    MyClassName
    0
    This creates the source code.
NOTE: EVERYTIME you have changed something in the design you have to run Fesa Synchronize! You also can enter Fesa Deliver
MyClassName 0 ppc4
, this also compiles and moves the executable to the TEST subfolder.
  • Enter your C/C++ code and do a 'make'
  • Deploy the class to the FEC (Front-end computer, we have z.acc.gsi.de and sddsc001.acc.gsi.de). Therefore change to the Deploy tool. (Usage in the primer). When you store it, you are asked for a name. Use the same name as the FEC you deployed to.
  • Change to the instantiation tool. (see primer) Enter your settings and store it. Now change to the xterm. Being in the v0 folder enter Fesa Instantiate
    MyClassName 0 FECname
    TEST
NOTE: Here at GSI you always have to change the NONE_device-instance name with each new change to the instantiation. This is a bug, which will hopefully be corrected one day.
  • Now you can start the executable: open another xterm and do a ssh root@z or root@sddscoo1. Cd to
    /home/fesa/fesauser/lnx/fesawork/MyClassName/v0/TEST 
    and run the class with: ./MyClassName_M.ppc4 -name
    MyClassName.FECname
  • Call the startcmwadmin script in the fesawork folder. An error appears, just click it away. Rightclick on
    AllGSI
    and add a new server called
    MyClassName.FECname
    You can click on the new box, which will appear and you can read the job-data in the table below.
  • Now click on Directory Servers and then on the box dirGSI. Now you can refresh the service by pressing restart and enter the password: somepassword
  • Now for better working restart the complete Fesa Shell (runfesamodeller), open your class and change to the Test tool (Navigator). Select your instance (top) and the property (bottom, doubleclick). You should have access to your device. This part works not perfect so far. Use the cmwadmintool and restart shell in case of problems.

Working with FESA 2.9, work flow in principle


main sources: FESA Primer, FESA Essentials

where details what command comment
FESA
Shell
Design design Class/Interface,
define properties, variables and dependancies
   
Terminal Setup scratch generates sorce code, commits source code to CVS Fesa Setup <> <> scratch creates directory tree /common/software/Fesa/CVS/
and commits the source code
Terminal Setup edit creates the working copy Fesa Setup <> <> edit creates the directory tree
/home/fesa/fesauser/lnx/fesawork/
including the source code for editing
Terminal Implementation implement server- and realtime-activities in
function <>::execute() in file <>.cpp
  Don't forget to comment the throw at the end of the execute-function
Terminal Compiling and Linking run make in /home/fesa/fesauser/
lnx/fesawork/<>/<>/
make it's also possible to run make in subdirectories RT and/or SERVER
Terminal Delivery Deliver binary components to operation Fesa Deliver <> <> <> current C++-source files are committed to CVS, equipment libraries are delivered to the target system
FESA
Shell
Deployment deploy the class to the FEC (Front End Computer) Retrieve,
Store
retrieve class from database;
choose FEC;
influence performance of class while
choosing the mode of interprocess communication,
select startup mode;
store class to database
FESA
Shell
Instantiation defines amount and type of devices that are run with the class independent of any timing system Retrieve,
Store
define final parameters/settings
Terminal Instantiation switch to directory /home/fesa/fesauser/
lnx/fesawork/<>/<>/TEST for creating the instantiation xml file
Fesa Instantiate <> <> <> <> creates an instance of the class on FEC
Terminal test on FEC start the binaries on FEC login: ssh root@z.acc.gsi.de;
cd to: /home/fesa/
fesauser/lnx/fesawork/
<>/<>/TEST/;
run: ./<>.ppc4 -name
<>.<>
 
Terminal Restart service     start the startcmwadmin-tool (see above)
FESA
Shell
Test view the results choose device, cycle, property on the
left hands side, select viewer and subscribe
 
Terminal End stop test   login as root in second shell, view all root processes with ps -ax, kill stops the process

-- restructured wiki - AlexanderSchwinn - 03 Nov 2009
Topic revision: r1 - 03 Nov 2009, AlexanderSchwinn
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback