<commit_before><!DOCTYPE doctype PUBLIC "-//w3c//dtd html 4.0 transitional//en"> 

<html>

<head>

<meta http-equiv="Content-Type"

 content="text/html; charset=iso-8859-1">

<link rel="Edit-Time-Data" href="index_files/editdata.mso">

<title>ALMA Common Software</title>

<o:smarttagtype

 namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="time"></o:smarttagtype> 

<meta name="editor" content="<EMAIL>">

<meta name="maintainer" content="<NAME> <EMAIL>">

<meta name="organisation" content="ESO, VLT, ELE/Software Group">

<meta name="Template" content="D:\MSOFFICE\OFFICE\html.dot">

<style type="text/css">
<!--
.style2 {color: #FF0000}
-->
</style></head>

<body bgcolor="#FFFFFF" lang="EN-US" link="blue" vlink="purple">
<table class="MsoNormalTable" border="0"

 cellpadding="0" cellspacing="0" width="780">
    <tbody> 
    <tr> 
      <td colspan="3">&nbsp; </td>
    </tr>
    <tr> 
      <td valign="top"> 
        <p class="MsoNormal"><span style="font-size: 10pt;"><a

 href="http://www.eso.org/projects/alma/"><span

 style="text-decoration: none;"><img id="_x0000_i1025"

 src="alma_art_3.jpg" alt="[ ALMA ]" border="0" height="117" width="91"></span></a></span></p>
      </td>
      <td> 
        <p class="MsoNormal"><b><span style="font-size: 18pt;">ALMA Common Software</span></b><span style="font-size: 10pt;"></span></p>
      </td>
      <td valign="top"> 
        <p class="MsoNormal"><span style="font-size: 10pt;"><a

 href="http://www.eso.org/"><span style="text-decoration: none;"><img

 id="_x0000_i1026" src="eso-logo.gif" border="0" height="117" width="91"></span></a></span></p>
      </td>
    </tr>
    </tbody> 
</table>
  <div class="MsoNormal" style="text-align: center;" align="center"> 
    <hr align="center" size="2" width="100%">
  </div>
  <h1 class="H1" style="text-align: center;" align="center">ACS 4 days (1-week) 
    Course in Garching </h1>
  <p class="H2"><b>Next ACS Course: 15th to 19th of January 2007, ESO Headquarters, Gaching </b> </p>
  <p class="MsoBodyText">This document contains the Agenda<strong><em> (under preparation) </em></strong>for a 1-week ACS Course that will be held in Garching.</p>
  <p class="MsoBodyText">The first day of the week will be dedicated to an ACS Workshop with all ACS users from various projects.</p>
  <p class="MsoBodyText">For more details on the whole event see the wiki page:</p>
  <ul>
    <li>http://almasw.hq.eso.org/almasw/bin/view/ACS/ACSWorkshopAndAdvancedCourse2007 </li>
  </ul>
  <p class="MsoBodyText">The following four days see a beginner's and an advanced parallels tracks.</p>
  <p class="MsoBodyText">It is the first time we have two parallel track and so many participants to an ACS course and we hope we will be able to provide a good pregram and good course material. </p>
  <p class="MsoBodyText"><i>Each item in the agenda links to the corresponding 
    course material (typically Power Point presentations). Many presentations linked until now come from previous courses and are being updated. Still a number of presentations 
    contain little or no material, since the presentations have been given directly 
    on the whiteboard or with a PC live demonstration, but we want to improve 
    and extend this material in and for future issues of this course. If you have 
    suggestions or material that can integrate what available now, you are encouraged 
    to contribute it.</i></p>
  <h2 class="MsoBodyText">Beginner's track </h2>
  <p class="MsoBodyText">The first day provides a general introduction to ACS. 
  </p>
  <p class="MsoBodyText">The following days are dedicated to an in-depth analysis 
    of ACS for people having to start soon developing code with it. </p>
  <p class="MsoBodyText">Although the Agenda looks quite detailed, the idea is 
    to be flexible and adapt dynamically the program to the needs and knowledge 
    of the participants. This means that we expand and contract the time allocated 
    to the various topics based on the feedback collected during the course.</p>
  <p class="MsoBodyText">We assign plenty of time for exercises, because we want 
    the participants to get an actual on-hands experience. Part of this time is 
    dedicated to a &#8220;real project&#8221;, i.e. to a work that is of real 
    practical use for the work to be done afterwards with ACS. Again, if needs 
    arises, exercise time can be traded with discussions and with extensions to 
    tutorial topics.</p>
  <p class="MsoBodyText">We assume to start at about <st1:time minute="0"

 hour="9">10:00</st1:time> in the morning and close &#8220;official activities&#8221; 
    at about <st1:time minute="30" hour="17">16:00</st1:time> in the afternoon.</p>
  <p class="H3"><b><span style="font-size: 11pt;">Tuesday the 16th: </span><span>Get 
    your hands on ACS</span><span style="font-size: 11pt;">!</span></b></p>
  
  <table border="1" cellpadding="0" cellspacing="0" width="100%">
  <tbody> 
  <tr align="left"> 
    <td valign="top" width="10%"> <b>Time</b></td>
    <td valign="top" width="50%"> <b>Program</b></td>
    <td valign="top" width="40%"> <b>Notes</b></td>
  </tr>
  <tr align="left"> 
    <td valign="top"> <st1:time minute="0" hour="11">09:15<br>
      09:30</st1:time></td>
    <td valign="top"> <a href="ACSCourse-Wellcome.ppt">Welcome</a><br>
      Course organization and setup.Agenda overview.</td>
    <td valign="top"><p><em><strong>Joint tracks</strong></em></p>
      <p> G.Chiozzi</p></td>
  </tr>
  <tr align="left"> 
    <td valign="top">09:30<br>
      10:00</td>
    <td valign="top"><a href="ACSBigPicture.ppt">The Big Picture</a></td>
    <td valign="top">H.Sommer</td>
  </tr>
  <tr align="left"> 
    <td valign="top"> <st1:time minute="45" hour="14">10:00<br>
      10:30</st1:time></td>
    <td valign="top"> <a href="ACSCourse-01c-ContComp.ppt">Component Container 
      and Lifecycle Management</a> Part.1 </td>
    <td valign="top"> 
      <div align="left">H.Sommer</div>
    </td>
  </tr>
  <tr align="left">
    <td valign="top"><st1:time minute="45" hour="14">10:30<br>
    10:50</st1:time></td>
    <td valign="top">Coffee break </td>
    <td valign="top">&nbsp;</td>
  </tr>
  <tr align="left">
    <td valign="top"><st1:time minute="45" hour="14">10:50<br>
    11:10</st1:time></td>
    <td valign="top"><a href="ACSCourse-01c-ContComp.ppt">Component Container and Lifecycle Management</a> Part.2</td>
    <td valign="top"><div align="left">H.Sommer</div></td>
  </tr>
  <tr>
    <td valign="top"><p>11:10<br>
      12:00
    </p>
      </td>
    <td align="left" valign="top"><p><a href="ACSCourse-RunACS.ppt">Running ACS:</a><br>
    Starting up and stopping ACS. Running the examples<br>
    Using the basic ACS tools: Object Explorer, Logging Client<br>
    <a href="ACSCourse-Demo.ppt">Demo Setup</a><br>
    <a href="ACSEnvironmentVariables.htm">ACS Environment Variables</a></p>
        <p><a href="ACS-Cheatsheet.doc">ACS Cheatsheet</a></p></td>
    <td align="left" valign="top"><div align="left">B.Jeram</div></td>
  </tr>
  <tr> 
    <td valign="top">12:00<br>
      13:00</td>
    <td valign="top">Lunch break</td>
    <td valign="top">&nbsp;</td>
  </tr>
  <tr align="left"> 
    <td valign="top">13:00<br>
      14:00</td>
    <td valign="top"> 
      <p>Group exercises<br>
        Start and stop ACS, play with demo components</p>
    </td>
    <td valign="top">Exercise time</td>
  </tr>
  <tr align="left">
    <td valign="top">14:00<br>
      14:30</td>
    <td valign="top">Lifecycle of a project based on ACS:<br>
      - Identify requirements<br>
      - Identify interfaces<br>
      - Create a subsystem/module <br>
      - Implement the interfaces<br>
      - Implement a simulation<br>
      - Implement a test<br>
      - Implement the real functionality<br>
      - Integration with the rest of the world</td>
    <td valign="top">G.Chiozzi</td>
  </tr>
  <tr align="left">
    <td valign="top">14:30<br>
      15:00</td>
    <td valign="top"><p>Define our project: brainstorming about the project we want to build and how to split it into components, assignments to groups </p>
      </td>
    <td valign="top">&nbsp;</td>
  </tr>
  <tr align="left">
    <td valign="top">15:00<br>
      15:30</td>
    <td valign="top">Coffee break </td>
    <td valign="top">&nbsp;</td>
  </tr>
  <tr align="left">
    <td valign="top">15:30<br>
    15:50</td>
    <td valign="top">Software Engineering basic rules:<br>
    - The <em>subsystem</em> and <em>module</em> structure <br>
    - The <em>ACS Makefile </em></td>
    <td valign="top">M.Zamparelli</td>
  </tr>
  <tr align="left">
    <td valign="top">15:50<br>
      16:10</td>
    <td valign="top"><div align="left">Defining the interface for a component:<br>
    The <a href="ACSCourse-ComponentIDL.ppt">Mount1 IDL interface</a></div></td>
    <td valign="top"><div align="left">H.Sommer</div></td>
  </tr>
  <tr align="left">
    <td valign="top">16:10<br>
      17:00</td>
    <td valign="top"><p>Group exercises<br>
    Build your first component<br>
    - Setup the module structure for your project <br>
          - Define your own IDL interface<br>
          - See what gets generated by the IDL compilers.</p>
      </td>
    <td valign="top">Exercise time</td>
  </tr>
  <tr align="left"> 
    <td valign="top">17:00<br>
      17:30</td>
    <td valign="top">Day wrap-up: questions and doubts</td>
    <td valign="top">&nbsp;</td>
  </tr>
  <tr align="left"> 
    <td valign="top"> 17:30</td>
    <td valign="top"> <i>End of day. Exercise/discussion time for the ones that 
      want to stay longer </i></td>
    <td valign="top">&nbsp; </td>
  </tr>
  </tbody> 
</table>
  
<p class="MsoNormal"><b><span style="font-size: 11pt;">Wednesday the 17th: </span><span>Building 
  the first component</span></b></p>
  
<table border="1" cellpadding="0" cellspacing="0" width="100%">
  <tbody> 
  <tr align="left"> 
    <td valign="top" width="10%"> <b>Time</b></td>
    <td valign="top" width="50%"> <b>Program</b></td>
    <td valign="top" width="40%"> <b>Notes</b></td>
  </tr>
  <tr align="left"> 
    <td valign="top">09:00<br>
      09:30 </td>
    <td valign="top" class="MsoNormalTable"><p class="MsoNormal">What ACS nightmares did you have? Questions and answers.</p></td>
    <td valign="top" class="MsoNormalTable">This should be a little discussion at the start of each course day.</td>
  </tr>
  <tr>
    <td valign="top">09:30<br>
      10:00</td>
    <td valign="top">The ACS Component's Simulator and other strategies for simulation </td>
    <td valign="top">J.Ibsen</td>
  </tr>
  <tr>
    <td valign="top">10:00<br>
      10:40</td>
    <td valign="top">Group exercises<br>
      Build a simulator for your Component </td>
    <td valign="top">Exercise time </td>
  </tr>
  <tr>
    <td valign="top">10:40<br>
      11:00</td>
    <td valign="top">Coffee break </td>
    <td valign="top">&nbsp;</td>
  </tr>
  <tr>
    <td valign="top">11:00<br>
      11:30</td>
    <td valign="top">Archiving your project, sharing it with others and building it:<br>
      introduction to CVS, INTROOT and project builds </td>
    <td valign="top">M.Zamparelli</td>
  </tr>
  <tr>
    <td valign="top">11:30<br>
      12:00</td>
    <td valign="top"><p>Group exercises<br>
      - Archive your project<br>
      - Setup an integration area<br>
      - Build all projects together<br>
      Create a project/subsystem Makefile
    </p>
      </td>
    <td valign="top">&nbsp;</td>
  </tr>
  <tr> 
    <td valign="top">12:00<br>
      13:00</td>
    <td valign="top">Lunch break</td>
    <td valign="top">&nbsp;</td>
  </tr>
  <tr align="left">
    <td valign="top"><p>13:00<br>
      13:30
    </p>
      </td>
    <td valign="top">Setup a testing environment: TAT and trivial Python clients to test a Component.<br>
      <span class="MsoNormal"><a href="ACSCourse-TAT.ppt">Automatic modular testing using TAT</a></span></td>
    <td valign="top">P.Sivera</td>
  </tr>
  <tr align="left">
    <td valign="top">13:30<br>
    14:30</td>
    <td valign="top"><p>Group exercises.<br>
      Create a basic TAT test to exercise the simulator using scripts and Python </p></td>
    <td valign="top">Exercise time</td>
  </tr>
  <tr align="left">
    <td valign="top">14:30<br>
      15:00</td>
    <td valign="top">Coffee break </td>
    <td valign="top">&nbsp;</td>
  </tr>
  <tr align="left"> 
    <td valign="top">15:00<br>
      15:30</td>
    <td valign="top"> 
      <p>Build the first component.<br>
        Watch Gianluca create a <a href="ACSCourse-ComponentCPP.ppt">MOUNT1 implementation 
        in C++</a> using the ACS generator. </p>
    </td>
    <td valign="top">G.Chiozzi</td>
  </tr>
  <tr align="left"> 
    <td valign="top">15:30<br>
      16:30</td>
    <td valign="top"> 
      <p>Group exercises.<br>
        Run the MOUNT1 component.<br>
        Build your first component<br>
        - Develop an implementation with support from the instructors</p>
    </td>
    <td valign="top">Exercise time</td>
  </tr>
  <tr align="left">
    <td valign="top">16:30<br>
      17:00</td>
    <td valign="top"><p>Build the first component.<br>
    Watch Heiko create a <a href="ACSCourse-ComponentJava.ppt">MOUNT1 implementation in Java</a></p></td>
    <td valign="top">H.Sommer</td>
  </tr>
  <tr align="left">
    <td valign="top">17:00<br>
    17:30</td>
    <td valign="top">Day wrap-up: questions and doubts</td>
    <td valign="top">&nbsp;</td>
  </tr>
  <tr align="left">
    <td valign="top"> 17:30</td>
    <td valign="top"><i>End of day. Exercise/discussion time for the ones that want to stay longer </i></td>
    <td valign="top">&nbsp;</td>
  </tr>
  <tr align="left">
    <td valign="top"><em><strong> 18:30</strong></em></td>
    <td valign="top"><div align="center"><em><strong>Social dinner at the <a href="Seehaus%20Restaurant%20">Seehaus Restaurant </a></strong></em></div></td>
    <td valign="top">&nbsp;</td>
  </tr>
  </tbody> 
</table>
  
<p class="MsoNormal"><b><span style="font-size: 11pt;">Thursday the 18<sup>th: 
  </sup></span>Configuration database and deployment. Exercises.</b></p>
  
<table border="1" cellpadding="0" cellspacing="0" width="100%">
  <tbody> 
  <tr align="left"> 
    <td valign="top" width="10%"> <b>Time</b></td>
    <td valign="top" width="50%"> <b>Program</b></td>
    <td valign="top" width="40%"> <b>Notes</b></td>
  </tr>
  <tr align="left"> 
    <td valign="top">09:00<br>
09:30 </td>
    <td valign="top" class="MsoNormalTable"><p class="MsoNormal">What ACS nightmares did you have? Questions and answers.</p></td>
    <td valign="top" class="MsoNormalTable">This should be a little discussion at the start of each course day.</td>
  </tr>
  <tr>
    <td valign="top">09:30<br>
10:00</td>
    <td valign="top"><p class="MsoNormal">Introduction to ACS Logging System.<br>
      See <a href="ACSCourse-ACSLoggingSystem.ppt">ACS Logging System: Tutorial</a></p></td>
    <td valign="top"><p class="MsoNormal">H.Sommer, G.Chiozzi</p>
        <p class="MsoNormal">Discussion about the ACS logging system and short introduction, freely base on the slides.</p></td>
  </tr>
  <tr>
    <td valign="top">10:00<br>
10:30</td>
    <td valign="top"><p class="MsoNormal"><span lang="FR">ACS Logging System APIs: <br>
              <a href="ACSCourse-LoggingCPP.ppt">C++</a>, Java </span></p></td>
    <td valign="top"><p class="MsoNormal">H.Sommer, G.Chiozzi<br>
    </p></td>
  </tr>
  <tr>
    <td valign="top">10:30<br>
    11:00</td>
    <td valign="top">Coffee break </td>
    <td valign="top">&nbsp;</td>
  </tr>
  <tr align="left"> 
    <td valign="top">11:00<br>
      12:00</td>
    <td valign="top"> 
      <p>Group exercises<br>
        Select the implementation language for you first component and <br>
         Continue developing an implementation with support from the instructors</p>
    </td>
    <td valign="top">Exercise time</td>
  </tr>
  <tr>
    <td valign="top">12:00<br>
    13:00</td>
    <td valign="top">Lunch</td>
    <td valign="top">&nbsp;</td>
  </tr>
  <tr> 
    <td valign="top">13:00<br>
      13:30</td>
    <td valign="top"> 
      <p>Deployment of ACS Components, manager, multiple containers and CDB configuration, 
        multiple hosts</p>
      <p><a href="ACSCourse-CDB-Short.ppt">Configuration Database concepts and 
        deployment</a></p>
    </td>
    <td valign="top"> 
      <p>H.Sommer</p>
    </td>
  </tr>
  <tr>
    <td valign="top">13:30<br>
      14:00</td>
    <td valign="top">Exercises:<br>
  Deployment and configuration database.<br>
  Deploy your own components across multiple machines.</td>
    <td valign="top">Exercise time. </td>
  </tr>
  <tr>
    <td valign="top">14:00<br>
      14:30</td>
    <td align="left" valign="top"><p>Java client, Eclipse, JUnit test for our component</p>
        <p>Reference presentations:</p>
        <p><a href="ACSCourse-05d-JUnit.ppt">JUnit</a> demo and ACS testing example<br>
            <a href="http://almasw.hq.eso.org/almasw/bin/view/ACS/FAQJCompEclipse">Eclipse setup (ACS FAQ)</a></p></td>
    <td align="left" valign="top"><p>H.Sommer</p>
        <p>This has been an interactive presentation and the slides have not been used.<br>
    Heiko has shown Eclipse, how to write a Java client in a JUnit environment and how to use it in a JUnit test run from eclipse to test the component developed together.<br>
    Everybody has done the same step by step following Heiko.<br>
    The presentations listed here are &quot;post session&quot; readings containing all infornation shown during the session itself.</p></td>
  </tr>
  <tr align="left">
    <td valign="top">14:30<br>
    15:00</td>
    <td valign="top">Coffee break </td>
    <td valign="top">&nbsp;</td>
  </tr>
  <tr>
    <td valign="top">15:00<br>
    16:00</td>
    <td valign="top">Exercises:<br>
    Implement JUnit tests for your component. </td>
    <td valign="top">Exercise time. </td>
  </tr>
  <tr>
    <td valign="top">16:00<br>
16:30</td>
    <td valign="top"><p>Quick overview of <a href="ACSCourse-ErrorSystem.ppt">ACS Error System : Concepts</a>. Already during the presentation we define Exceptions (or Completions) for the car component (XML, IDL, <span class="MsoNormal"><span lang="FR"><a href="ACSCourse-ErrorSystemCPP.ppt">C++</a></span></span>).<br>
      (including a discussion about C++ filename conventions to track from errors back to files.) </p>
        <p>We add at least one log message to the component, and use the jlog tool.</p></td>
    <td valign="top"><NAME>, <NAME> <br>
    Guided exercise -- every group makes similar additions to their component. </td>
  </tr>
  <tr>
    <td valign="top">16:30<br>
    17:00</td>
    <td valign="top">Exercises:<br>
    Setup error handling in the component implementation. </td>
    <td valign="top">Exercise time. </td>
  </tr>
  <tr align="left">
    <td valign="top">17:00<br>
    17:30</td>
    <td valign="top">Day wrap-up: questions and doubts</td>
    <td valign="top">&nbsp;</td>
  </tr>
  <tr align="left">
    <td valign="top"> 17:30</td>
    <td valign="top"><i>End of day. Exercise/discussion time for the ones that want to stay longer </i></td>
    <td valign="top">&nbsp;</td>
  </tr>
  </tbody> 
</table>
  
<p class="MsoNormal"><b><span style="font-size: 11pt;">&nbsp;Friday the 19<sup>th:</sup> 
  </span>Project integration </b></p>
  <div class="Section1"> 
    
  <table border="1" cellpadding="0" cellspacing="0" width="100%">
    <tbody> 
    <tr align="left"> 
      <td valign="top" width="10%"> <b>Time</b></td>
      <td valign="top" width="50%"> <b>Program</b></td>
      <td valign="top" width="40%"> <b>Notes</b></td>
    </tr>
    <tr align="left"> 
      <td valign="top">09:00<br>
09:30 </td>
      <td valign="top" class="MsoNormalTable"><p class="MsoNormal">What ACS nightmares did you have? Questions and answers.</p></td>
      <td valign="top" class="MsoNormalTable">This should be a little discussion at the start of each course day.</td>
    </tr>
    <tr> 
      <td valign="top">09:30<br>
        10:00</td>
      <td valign="top">Baci properties: <a
 href="ACSCourse-CharComp.ppt">Concepts</a></td>
      <td valign="top">G.Chiozzi</td>
    </tr>
    <tr> 
      <td valign="top">10:00<br>
        10:30</td>
      <td valign="top">Baci properties: <a href="ACSCourse-Mount2.ppt">C++ API</a></td>
      <td valign="top">G.Chiozzi</td>
    </tr>
    <tr align="left">
      <td valign="top">10:30<br>
    11:00</td>
      <td valign="top">Coffee break </td>
      <td valign="top">&nbsp;</td>
    </tr>
    <tr>
      <td valign="top">11:00<br>
        12:00</td>
      <td valign="top">Exercises:<br>
    Extend the interface of your Component with properties and implement it. Use ObjectExplorer to create monitors and diagrams. </td>
      <td valign="top">Exercise time. </td>
    </tr>
    <tr>
      <td valign="top">12:00<br>
  13:00</td>
      <td valign="top">Lunch</td>
      <td valign="top">&nbsp;</td>
    </tr>
    <tr>
      <td valign="top">13:00<br>
        14:00</td>
      <td valign="top">Integration of our project and integration tests. </td>
      <td valign="top">&nbsp;</td>
    </tr>
    <tr class="MsoNormalTable">
      <td height="59" valign="top">14:00<br>
    15:00</td>
      <td valign="top">Course wrap-up, summary, feedback, etc </td>
      <td valign="top">&nbsp;</td>
    </tr>
    <tr>
      <td valign="top">15:00</td>
      <td valign="top"><p class="MsoNormal"><i>End of course</i></p></td>
      <td valign="top"><em>ACS team available until 17:00 for discussions. </em></td>
    </tr>
    </tbody> 
  </table>
    <p>&nbsp;</p>
</div>
  
<div class="Section1">
    <h2 class="MsoNormal">Advanced track</h2>
    <p class="MsoNormal">In the advanced track we plan to have the days split normally in two sections:</p>
    <ul>
      <li>Advanced lesson topics<br>
      One section will go in depth with important ACS topics.<br>
      This will have the form of lesson/presentation, with exercices and dsicussions.</li>
      <li>Design workshop.<br>
      One section will see a group presenting the design/architecture for one of their subsystems or a problem to discuss.<br>
      The participants will discuss together and with the help of the ACS team we will come with a solution that uses at the best the features and facilities provided by ACS.<br>
      This will be great opportunity for different groups to compare the approach they have taken to solve their problems and to get fresh ideas from other groups. </li>
    </ul>
  <p class="style2"><strong><em>You are all invited to propose topics for the two types of sections as soon as possible, so that material can be prepared in advance. </em></strong></p>
    <p><em>Here a preliminary list of topics for lessons (we should agree on 5 or 6 topics at most):</em></p>
    <ul>
      <li><em>ACS Logging, Errors and Alarm Systems.<br>
      Usage and guedilines.</em></li>
      <li><em>Multi-threading with ACS libraries in CPP and/or Java.<br>
        Management of multiple threads.<br>
        Component's threads.<br>
        Synchronisation.</em></li>
      <li><em>Understanding ACS Properties: creating DevIOs, monitoring, alarms </em></li>
      <li><em>Using the ACS Bulk Data to transfer big amounts of data (images, scientific data) (constraints: can be only Wednesday orThursday)</em></li>
      <li><em>Using the ACS Notification Channel </em></li>
      <li><em>ACS Code Generation. The ACS Generator</em></li>
      <li><em>ACS IDL Simulator</em></li>
      <li><em> Real time control with ACS:</em>
        <ul>
          <li><em>RTAI support (B.Jeram) </em></li>
          <li><em>Building a kernel module (T.Juerges) </em></li>
          <li><em>Other options: VxWork</em></li>
        </ul>
      </li>
      <li><em>Generalized TCS (gTCS) (from R.Lemke)<br>
      What would interest me are the following questions:
      </em>
        <ul>
        <li><em>  Where is the border line between real time and non real time OS (minimal
      real time, or simply everything in RT)? <br>
      Here it would be good if all
      available TCS system could be presented and it should made clear where the
      line is.</em></li>
        <li><em> What should be supported in the initial gTCS IDL?</em></li>
        <li><em> Where will be the different modes (scanning, pointing corrections,
          guiding) implemented (all in one IDL, or different modules, what are the
          real time requirements?)?        </em></li>
        <li><em> Is there an acceptance from the other teams? Would they allow to test out
            the gTCS, or even maybe adapt it to their running systems?
            
          <br>
        Of cause we should iterate.</em></li>
      </ul>
      </li>
      <li><em>Design discussions:</em>
        <ul>
          <li>Architecture and design of the ATM (atmospheric) software for ALMA</li>
        </ul>
      </li>
    </ul>
    <p class="MsoNormal"><b><span style="font-size: 11pt;">&nbsp;</span></b><b><span

 style="font-size: 11pt;">Tuesday the 16<sup>th</sup>: </span></b></p>
    <div class="Section1">
      <table border="1" cellpadding="0" cellspacing="0" width="100%">
        <tbody>
          <tr align="left">
            <td valign="top" width="10%"><b>Time</b></td>
            <td valign="top" width="50%"><b>Program</b></td>
            <td valign="top" width="40%"><b>Notes</b></td>
          </tr>
          <tr>
            <td valign="top">09:00<br>
          --:--</td>
            <td valign="top">ACS Logging and Error Systems </td>
            <td valign="top">&nbsp;</td>
          </tr>
          <tr>
            <td valign="top">12:00<br>
          13:00</td>
            <td valign="top">Lunch</td>
            <td valign="top">&nbsp;</td>
          </tr>
          <tr>
            <td valign="top">09:00<br>
    --:--</td>
            <td valign="top">ACS Logging and Error Systems </td>
            <td valign="top">&nbsp;</td>
          </tr>
          <tr>
            <td valign="top">17:30</td>
            <td valign="top"><p class="MsoNormal"><i>End of day </i></p></td>
            <td valign="top">&nbsp;</td>
          </tr>
        </tbody>
      </table>
    </div>
    <p class="MsoNormal"><b><span

 style="font-size: 11pt;">Wednesday the 17<sup>th</sup>: </span></b></p>
    <div class="Section1">
      <table border="1" cellpadding="0" cellspacing="0" width="100%">
        <tbody>
          <tr align="left">
            <td valign="top" width="10%"><b>Time</b></td>
            <td valign="top" width="50%"><b>Program</b></td>
            <td valign="top" width="40%"><b>Notes</b></td>
          </tr>
          <tr>
            <td valign="top">09:00<br>
          --:--</td>
            <td valign="top">&nbsp;</td>
            <td valign="top">&nbsp;</td>
          </tr>
          <tr>
            <td valign="top">12:00<br>
13:00</td>
            <td valign="top">Lunch</td>
            <td valign="top">&nbsp;</td>
          </tr>
          <tr>
            <td valign="top">09:00<br>
    --:--</td>
            <td valign="top">ACS Logging and Error Systems </td>
            <td valign="top">&nbsp;</td>
          </tr>
          <tr>
            <td valign="top">17:30</td>
            <td valign="top"><p class="MsoNormal"><i>End of day </i></p></td>
            <td valign="top">&nbsp;</td>
          </tr>
        </tbody>
      </table>
      <p class="MsoNormal"><b><span

 style="font-size: 11pt;">Thursday the 18<sup>th</sup>: </span></b></p>
      <div class="Section1">
        <table border="1" cellpadding="0" cellspacing="0" width="100%">
          <tbody>
            <tr align="left">
              <td valign="top" width="10%"><b>Time</b></td>
              <td valign="top" width="50%"><b>Program</b></td>
              <td valign="top" width="40%"><b>Notes</b></td>
            </tr>
            <tr>
              <td valign="top">09:00<br>
          --:--</td>
              <td valign="top">&nbsp;</td>
              <td valign="top">&nbsp;</td>
            </tr>
            <tr>
              <td valign="top">12:00<br>
13:00</td>
              <td valign="top">Lunch</td>
              <td valign="top">&nbsp;</td>
            </tr>
            <tr>
              <td valign="top">09:00<br>
    --:--</td>
              <td valign="top">ACS Logging and Error Systems </td>
              <td valign="top">&nbsp;</td>
            </tr>
            <tr>
              <td valign="top">17:30</td>
              <td valign="top"><p class="MsoNormal"><i>End of day </i></p></td>
              <td valign="top">&nbsp;</td>
            </tr>
          </tbody>
        </table>
      </div>
      <p class="MsoNormal"><b><span

 style="font-size: 11pt;">Friday the 19<sup>th</sup>: </span></b></p>
      <div class="Section1">
        <table border="1" cellpadding="0" cellspacing="0" width="100%">
          <tbody>
            <tr align="left">
              <td valign="top" width="10%"><b>Time</b></td>
              <td valign="top" width="50%"><b>Program</b></td>
              <td valign="top" width="40%"><b>Notes</b></td>
            </tr>
            <tr>
              <td valign="top">09:00<br>
          --:--</td>
              <td valign="top">&nbsp;</td>
              <td valign="top">&nbsp;</td>
            </tr>
            <tr>
              <td valign="top">12:00<br>
13:00</td>
              <td valign="top">Lunch</td>
              <td valign="top">&nbsp;</td>
            </tr>
            <tr>
              <td valign="top">09:00<br>
    --:--</td>
              <td valign="top">ACS Logging and Error Systems </td>
              <td valign="top">&nbsp;</td>
            </tr>
            <tr>
              <td valign="top">14:00</td>
              <td valign="top"><p class="MsoNormal"><i>Joint final session </i></p></td>
              <td valign="top">&nbsp;</td>
            </tr>
            <tr>
              <td valign="top">15:00</td>
              <td valign="top"><p class="MsoNormal"><i>Real end of course</i></p></td>
              <td valign="top">&nbsp;</td>
            </tr>
          </tbody>
        </table>
      </div>
    </div>
    <p class="MsoNormal">&nbsp; </p>
    <h2 class="MsoNormal">&nbsp;</h2>
    <p class="MsoNormal"><b><span

 style="font-size: 11pt;">-----------------------</span></b><b><span

 style="font-size: 11pt;">&nbsp;</span></b></p>
    <h2 class="H2">Course examples</h2>
    <p>During the whole course, the presentations will mostly develop one single example 
      (a telescope Mount).</p>
    <p>The code for the example is in the ACS CVS archive under: ACS/LGPL/CommonSoftware/acscourse.</p>
    <p>You can fing here:</p>
</div>
  
<ul>
  <li> 
    <div class="Section1">The <a href="acscourse">directory structure of the acscourse 
      module</a></div>
  </li>
  <li>The <a href="acscourse/ws/doc/idl/html/index.html">IDL</a> and <a

 href="acscourse/ws/doc/api/html/index.html">API</a> documentation for the module 
    generated by doxygen</li>
</ul>
<div class="Section1"> 
  <h2 class="H2">Course exercises</h2>
  <p class="MsoNormal">During the course we will form groups that will develop 
    and exend an exercise.</p>
  <p class="MsoNormal">The main idea is to think about a project where every group will have to develop a part.</p>
  <p class="MsoNormal">At the end of the course, all parts will have to be integrated together and function as a single system.</p>
  <p class="MsoNormal">In this way we will go through all phases of a project using ACS and the Software Engineering practices supported and fostered by ACS, from inception to definition of interfaces, implementation, testing and integration. A major part of the work will actually to understand (and apply) the lilfe-cycle of a project using ACS and the SE practices use in the ALMA project.</p>
  <p class="MsoNormal style2"><strong><em>---&gt; What could be the project we want to develop together? Any suggestions?</em></strong></p>
  <p class="MsoNormal">These are <strong>examples from previous courses:</strong><br>
  </p>
</div><commit_msg>Completed preliminary agenda.<commit_after><!DOCTYPE doctype PUBLIC "-//w3c//dtd html 4.0 transitional//en"> 

<html>

<head>

<meta http-equiv="Content-Type"

 content="text/html; charset=iso-8859-1">

<link rel="Edit-Time-Data" href="index_files/editdata.mso">

<title>ALMA Common Software</title>

<o:smarttagtype

 namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="time"></o:smarttagtype> 

<meta name="editor" content="<EMAIL>">

<meta name="maintainer" content="<NAME> <EMAIL>">

<meta name="organisation" content="ESO, VLT, ELE/Software Group">

<meta name="Template" content="D:\MSOFFICE\OFFICE\html.dot">

<style type="text/css">
<!--
.style2 {color: #FF0000}
.style3 {
	font-weight: bold;
	font-style: italic;
}
-->
</style></head>

<body bgcolor="#FFFFFF" lang="EN-US" link="blue" vlink="purple">
<table class="MsoNormalTable" border="0"

 cellpadding="0" cellspacing="0" width="780">
    <tbody> 
    <tr> 
      <td colspan="3">&nbsp; </td>
    </tr>
    <tr> 
      <td valign="top"> 
        <p class="MsoNormal"><span style="font-size: 10pt;"><a

 href="http://www.eso.org/projects/alma/"><span

 style="text-decoration: none;"><img id="_x0000_i1025"

 src="alma_art_3.jpg" alt="[ ALMA ]" border="0" height="117" width="91"></span></a></span></p>
      </td>
      <td> 
        <p class="MsoNormal"><b><span style="font-size: 18pt;">ALMA Common Software</span></b><span style="font-size: 10pt;"></span></p>
      </td>
      <td valign="top"> 
        <p class="MsoNormal"><span style="font-size: 10pt;"><a

 href="http://www.eso.org/"><span style="text-decoration: none;"><img

 id="_x0000_i1026" src="eso-logo.gif" border="0" height="117" width="91"></span></a></span></p>
      </td>
    </tr>
    </tbody> 
</table>
  <div class="MsoNormal" style="text-align: center;" align="center"> 
    <hr align="center" size="2" width="100%">
  </div>
  <h1 class="H1" style="text-align: center;" align="center">ACS 4 days (1-week) 
    Course in Garching </h1>
  <p class="H2"><b>Next ACS Course: 15th to 19th of January 2007, ESO Headquarters, Gaching </b> </p>
  <p class="MsoBodyText">This document contains the Agenda<strong><em> (under preparation) </em></strong>for a 1-week ACS Course that will be held in Garching.</p>
  <p class="MsoBodyText">The first day of the week will be dedicated to an ACS Workshop with all ACS users from various projects.</p>
  <p class="MsoBodyText">For more details on the whole event see the wiki page:</p>
  <ul>
    <li>http://almasw.hq.eso.org/almasw/bin/view/ACS/ACSWorkshopAndAdvancedCourse2007 </li>
  </ul>
  <p class="MsoBodyText">The following four days see a beginner's and an advanced parallels tracks.</p>
  <p class="MsoBodyText">It is the first time we have two parallel track and so many participants to an ACS course and we hope we will be able to provide a good pregram and good course material. </p>
  <p class="MsoBodyText"><i>Each item in the agenda links to the corresponding 
    course material (typically Power Point presentations). Many presentations linked until now come from previous courses and are being updated. Still a number of presentations 
    contain little or no material, since the presentations have been given directly 
    on the whiteboard or with a PC live demonstration, but we want to improve 
    and extend this material in and for future issues of this course. If you have 
    suggestions or material that can integrate what available now, you are encouraged 
    to contribute it.</i></p>
  <h2 class="MsoBodyText">Beginner's track </h2>
  <p class="MsoBodyText">The first day provides a general introduction to ACS. 
  </p>
  <p class="MsoBodyText">The following days are dedicated to an in-depth analysis 
    of ACS for people having to start soon developing code with it. </p>
  <p class="MsoBodyText">Although the Agenda looks quite detailed, the idea is 
    to be flexible and adapt dynamically the program to the needs and knowledge 
    of the participants. This means that we expand and contract the time allocated 
    to the various topics based on the feedback collected during the course.</p>
  <p class="MsoBodyText">We assign plenty of time for exercises, because we want 
    the participants to get an actual on-hands experience. Part of this time is 
    dedicated to a &#8220;real project&#8221;, i.e. to a work that is of real 
    practical use for the work to be done afterwards with ACS. Again, if needs 
    arises, exercise time can be traded with discussions and with extensions to 
    tutorial topics.</p>
  <p class="MsoBodyText">We assume to start at about <st1:time minute="0"

 hour="9">10:00</st1:time> in the morning and close &#8220;official activities&#8221; 
    at about <st1:time minute="30" hour="17">16:00</st1:time> in the afternoon.</p>
  <p class="H3"><b><span style="font-size: 11pt;">Tuesday the 16th: </span><span>Get 
    your hands on ACS</span><span style="font-size: 11pt;">!</span></b></p>
  
  <table border="1" cellpadding="0" cellspacing="0" width="100%">
  <tbody> 
  <tr align="left"> 
    <td valign="top" width="10%"> <b>Time</b></td>
    <td valign="top" width="50%"> <b>Program</b></td>
    <td valign="top" width="40%"> <b>Notes</b></td>
  </tr>
  <tr align="left"> 
    <td valign="top"> <st1:time minute="0" hour="11">09:15<br>
      09:30</st1:time></td>
    <td valign="top"> <a href="ACSCourse-Wellcome.ppt">Welcome</a><br>
      Course organization and setup.Agenda overview.</td>
    <td valign="top"><p><em><strong>Joint tracks</strong></em></p>
      <p> G.Chiozzi</p></td>
  </tr>
  <tr align="left"> 
    <td valign="top">09:30<br>
      10:00</td>
    <td valign="top"><a href="ACSBigPicture.ppt">The Big Picture</a></td>
    <td valign="top">H.Sommer</td>
  </tr>
  <tr align="left"> 
    <td valign="top"> <st1:time minute="45" hour="14">10:00<br>
      10:30</st1:time></td>
    <td valign="top"> <a href="ACSCourse-01c-ContComp.ppt">Component Container 
      and Lifecycle Management</a> Part.1 </td>
    <td valign="top"> 
      <div align="left">H.Sommer</div>
    </td>
  </tr>
  <tr align="left">
    <td valign="top"><st1:time minute="45" hour="14">10:30<br>
    10:50</st1:time></td>
    <td valign="top">Coffee break </td>
    <td valign="top">&nbsp;</td>
  </tr>
  <tr align="left">
    <td valign="top"><st1:time minute="45" hour="14">10:50<br>
    11:10</st1:time></td>
    <td valign="top"><a href="ACSCourse-01c-ContComp.ppt">Component Container and Lifecycle Management</a> Part.2</td>
    <td valign="top"><div align="left">H.Sommer</div></td>
  </tr>
  <tr>
    <td valign="top"><p>11:10<br>
      12:00
    </p>
      </td>
    <td align="left" valign="top"><p><a href="ACSCourse-RunACS.ppt">Running ACS:</a><br>
    Starting up and stopping ACS. Running the examples<br>
    Using the basic ACS tools: Object Explorer, Logging Client<br>
    <a href="ACSCourse-Demo.ppt">Demo Setup</a><br>
    <a href="ACSEnvironmentVariables.htm">ACS Environment Variables</a></p>
        <p><a href="ACS-Cheatsheet.doc">ACS Cheatsheet</a></p></td>
    <td align="left" valign="top"><div align="left">B.Jeram</div></td>
  </tr>
  <tr> 
    <td valign="top">12:00<br>
      13:00</td>
    <td valign="top">Lunch break</td>
    <td valign="top">&nbsp;</td>
  </tr>
  <tr align="left"> 
    <td valign="top">13:00<br>
      14:00</td>
    <td valign="top"> 
      <p>Group exercises<br>
        Start and stop ACS, play with demo components</p>
    </td>
    <td valign="top">Exercise time</td>
  </tr>
  <tr align="left">
    <td valign="top">14:00<br>
      14:30</td>
    <td valign="top">Lifecycle of a project based on ACS:<br>
      - Identify requirements<br>
      - Identify interfaces<br>
      - Create a subsystem/module <br>
      - Implement the interfaces<br>
      - Implement a simulation<br>
      - Implement a test<br>
      - Implement the real functionality<br>
      - Integration with the rest of the world</td>
    <td valign="top">G.Chiozzi</td>
  </tr>
  <tr align="left">
    <td valign="top">14:30<br>
      15:00</td>
    <td valign="top"><p>Define our project: brainstorming about the project we want to build and how to split it into components, assignments to groups </p>
      </td>
    <td valign="top">&nbsp;</td>
  </tr>
  <tr align="left">
    <td valign="top">15:00<br>
      15:30</td>
    <td valign="top">Coffee break </td>
    <td valign="top">&nbsp;</td>
  </tr>
  <tr align="left">
    <td valign="top">15:30<br>
    15:50</td>
    <td valign="top">Software Engineering basic rules:<br>
    - The <em>subsystem</em> and <em>module</em> structure <br>
    - The <em>ACS Makefile </em></td>
    <td valign="top">M.Zamparelli</td>
  </tr>
  <tr align="left">
    <td valign="top">15:50<br>
      16:10</td>
    <td valign="top"><div align="left">Defining the interface for a component:<br>
    The <a href="ACSCourse-ComponentIDL.ppt">Mount1 IDL interface</a></div></td>
    <td valign="top"><div align="left">H.Sommer</div></td>
  </tr>
  <tr align="left">
    <td valign="top">16:10<br>
      17:00</td>
    <td valign="top"><p>Group exercises<br>
    Build your first component<br>
    - Setup the module structure for your project <br>
          - Define your own IDL interface<br>
          - See what gets generated by the IDL compilers.</p>
      </td>
    <td valign="top">Exercise time</td>
  </tr>
  <tr align="left"> 
    <td valign="top">17:00<br>
      17:30</td>
    <td valign="top">Day wrap-up: questions and doubts</td>
    <td valign="top">&nbsp;</td>
  </tr>
  <tr align="left"> 
    <td valign="top"> 17:30</td>
    <td valign="top"> <i>End of day. Exercise/discussion time for the ones that 
      want to stay longer </i></td>
    <td valign="top">&nbsp; </td>
  </tr>
  </tbody> 
</table>
  
<p class="MsoNormal"><b><span style="font-size: 11pt;">Wednesday the 17th: </span><span>Building 
  the first component</span></b></p>
  
<table border="1" cellpadding="0" cellspacing="0" width="100%">
  <tbody> 
  <tr align="left"> 
    <td valign="top" width="10%"> <b>Time</b></td>
    <td valign="top" width="50%"> <b>Program</b></td>
    <td valign="top" width="40%"> <b>Notes</b></td>
  </tr>
  <tr align="left"> 
    <td valign="top">09:00<br>
      09:30 </td>
    <td valign="top" class="MsoNormalTable"><p class="MsoNormal">What ACS nightmares did you have? Questions and answers.</p></td>
    <td valign="top" class="MsoNormalTable">This should be a little discussion at the start of each course day.</td>
  </tr>
  <tr>
    <td valign="top">09:30<br>
      10:00</td>
    <td valign="top">The ACS Component's Simulator and other strategies for simulation </td>
    <td valign="top">J.Ibsen</td>
  </tr>
  <tr>
    <td valign="top">10:00<br>
      10:40</td>
    <td valign="top">Group exercises<br>
      Build a simulator for your Component </td>
    <td valign="top">Exercise time </td>
  </tr>
  <tr>
    <td valign="top">10:40<br>
      11:00</td>
    <td valign="top">Coffee break </td>
    <td valign="top">&nbsp;</td>
  </tr>
  <tr>
    <td valign="top">11:00<br>
      11:30</td>
    <td valign="top">Archiving your project, sharing it with others and building it:<br>
      introduction to CVS, INTROOT and project builds </td>
    <td valign="top">M.Zamparelli</td>
  </tr>
  <tr>
    <td valign="top">11:30<br>
      12:00</td>
    <td valign="top"><p>Group exercises<br>
      - Archive your project<br>
      - Setup an integration area<br>
      - Build all projects together<br>
      Create a project/subsystem Makefile
    </p>
      </td>
    <td valign="top">&nbsp;</td>
  </tr>
  <tr> 
    <td valign="top">12:00<br>
      13:00</td>
    <td valign="top">Lunch break</td>
    <td valign="top">&nbsp;</td>
  </tr>
  <tr align="left">
    <td valign="top"><p>13:00<br>
      13:30
    </p>
      </td>
    <td valign="top">Setup a testing environment: TAT and trivial Python clients to test a Component.<br>
      <span class="MsoNormal"><a href="ACSCourse-TAT.ppt">Automatic modular testing using TAT</a></span></td>
    <td valign="top">P.Sivera</td>
  </tr>
  <tr align="left">
    <td valign="top">13:30<br>
    14:30</td>
    <td valign="top"><p>Group exercises.<br>
      Create a basic TAT test to exercise the simulator using scripts and Python </p></td>
    <td valign="top">Exercise time</td>
  </tr>
  <tr align="left">
    <td valign="top">14:30<br>
      15:00</td>
    <td valign="top">Coffee break </td>
    <td valign="top">&nbsp;</td>
  </tr>
  <tr align="left"> 
    <td valign="top">15:00<br>
      15:30</td>
    <td valign="top"> 
      <p>Build the first component.<br>
        Watch Gianluca create a <a href="ACSCourse-ComponentCPP.ppt">MOUNT1 implementation 
        in C++</a> using the ACS generator. </p>
    </td>
    <td valign="top">G.Chiozzi</td>
  </tr>
  <tr align="left"> 
    <td valign="top">15:30<br>
      16:30</td>
    <td valign="top"> 
      <p>Group exercises.<br>
        Run the MOUNT1 component.<br>
        Build your first component<br>
        - Develop an implementation with support from the instructors</p>
    </td>
    <td valign="top">Exercise time</td>
  </tr>
  <tr align="left">
    <td valign="top">16:30<br>
      17:00</td>
    <td valign="top"><p>Build the first component.<br>
    Watch Heiko create a <a href="ACSCourse-ComponentJava.ppt">MOUNT1 implementation in Java</a></p></td>
    <td valign="top">H.Sommer</td>
  </tr>
  <tr align="left">
    <td valign="top">17:00<br>
    17:30</td>
    <td valign="top">Day wrap-up: questions and doubts</td>
    <td valign="top">&nbsp;</td>
  </tr>
  <tr align="left">
    <td valign="top"> 17:30</td>
    <td valign="top"><i>End of day. Exercise/discussion time for the ones that want to stay longer </i></td>
    <td valign="top">&nbsp;</td>
  </tr>
  <tr align="left">
    <td valign="top"><em><strong> 18:30</strong></em></td>
    <td valign="top"><div align="center"><em><strong>Social dinner at the <a href="Seehaus%20Restaurant%20">Seehaus Restaurant </a></strong></em></div></td>
    <td valign="top">&nbsp;</td>
  </tr>
  </tbody> 
</table>
  
<p class="MsoNormal"><b><span style="font-size: 11pt;">Thursday the 18<sup>th: 
  </sup></span>Configuration database and deployment. Exercises.</b></p>
  
<table border="1" cellpadding="0" cellspacing="0" width="100%">
  <tbody> 
  <tr align="left"> 
    <td valign="top" width="10%"> <b>Time</b></td>
    <td valign="top" width="50%"> <b>Program</b></td>
    <td valign="top" width="40%"> <b>Notes</b></td>
  </tr>
  <tr align="left"> 
    <td valign="top">09:00<br>
09:30 </td>
    <td valign="top" class="MsoNormalTable"><p class="MsoNormal">What ACS nightmares did you have? Questions and answers.</p></td>
    <td valign="top" class="MsoNormalTable">This should be a little discussion at the start of each course day.</td>
  </tr>
  <tr>
    <td valign="top">09:30<br>
10:00</td>
    <td valign="top"><p class="MsoNormal">Introduction to ACS Logging System.<br>
      See <a href="ACSCourse-ACSLoggingSystem.ppt">ACS Logging System: Tutorial</a></p></td>
    <td valign="top"><p class="MsoNormal">H.Sommer, G.Chiozzi</p>
        <p class="MsoNormal">Discussion about the ACS logging system and short introduction, freely base on the slides.</p></td>
  </tr>
  <tr>
    <td valign="top">10:00<br>
10:30</td>
    <td valign="top"><p class="MsoNormal"><span lang="FR">ACS Logging System APIs: <br>
              <a href="ACSCourse-LoggingCPP.ppt">C++</a>, Java </span></p></td>
    <td valign="top"><p class="MsoNormal">H.Sommer, G.Chiozzi<br>
    </p></td>
  </tr>
  <tr>
    <td valign="top">10:30<br>
    11:00</td>
    <td valign="top">Coffee break </td>
    <td valign="top">&nbsp;</td>
  </tr>
  <tr align="left"> 
    <td valign="top">11:00<br>
      12:00</td>
    <td valign="top"> 
      <p>Group exercises<br>
        Select the implementation language for you first component and <br>
         Continue developing an implementation with support from the instructors</p>
    </td>
    <td valign="top">Exercise time</td>
  </tr>
  <tr>
    <td valign="top">12:00<br>
    13:00</td>
    <td valign="top">Lunch</td>
    <td valign="top">&nbsp;</td>
  </tr>
  <tr> 
    <td valign="top">13:00<br>
      13:30</td>
    <td valign="top"> 
      <p>Deployment of ACS Components, manager, multiple containers and CDB configuration, 
        multiple hosts</p>
      <p><a href="ACSCourse-CDB-Short.ppt">Configuration Database concepts and 
        deployment</a></p>
    </td>
    <td valign="top"> 
      <p>H.Sommer</p>
    </td>
  </tr>
  <tr>
    <td valign="top">13:30<br>
      14:00</td>
    <td valign="top">Exercises:<br>
  Deployment and configuration database.<br>
  Deploy your own components across multiple machines.</td>
    <td valign="top">Exercise time. </td>
  </tr>
  <tr>
    <td valign="top">14:00<br>
      14:30</td>
    <td align="left" valign="top"><p>Java client, Eclipse, JUnit test for our component</p>
        <p>Reference presentations:</p>
        <p><a href="ACSCourse-05d-JUnit.ppt">JUnit</a> demo and ACS testing example<br>
            <a href="http://almasw.hq.eso.org/almasw/bin/view/ACS/FAQJCompEclipse">Eclipse setup (ACS FAQ)</a></p></td>
    <td align="left" valign="top"><p>H.Sommer</p>
        <p>This has been an interactive presentation and the slides have not been used.<br>
    Heiko has shown Eclipse, how to write a Java client in a JUnit environment and how to use it in a JUnit test run from eclipse to test the component developed together.<br>
    Everybody has done the same step by step following Heiko.<br>
    The presentations listed here are &quot;post session&quot; readings containing all infornation shown during the session itself.</p></td>
  </tr>
  <tr align="left">
    <td valign="top">14:30<br>
    15:00</td>
    <td valign="top">Coffee break </td>
    <td valign="top">&nbsp;</td>
  </tr>
  <tr>
    <td valign="top">15:00<br>
    16:00</td>
    <td valign="top">Exercises:<br>
    Implement JUnit tests for your component. </td>
    <td valign="top">Exercise time. </td>
  </tr>
  <tr>
    <td valign="top">16:00<br>
16:30</td>
    <td valign="top"><p>Quick overview of <a href="ACSCourse-ErrorSystem.ppt">ACS Error System : Concepts</a>. Already during the presentation we define Exceptions (or Completions) for the car component (XML, IDL, <span class="MsoNormal"><span lang="FR"><a href="ACSCourse-ErrorSystemCPP.ppt">C++</a></span></span>).<br>
      (including a discussion about C++ filename conventions to track from errors back to files.) </p>
        <p>We add at least one log message to the component, and use the jlog tool.</p></td>
    <td valign="top"><NAME>, <NAME> <br>
    Guided exercise -- every group makes similar additions to their component. </td>
  </tr>
  <tr>
    <td valign="top">16:30<br>
    17:00</td>
    <td valign="top">Exercises:<br>
    Setup error handling in the component implementation. </td>
    <td valign="top">Exercise time. </td>
  </tr>
  <tr align="left">
    <td valign="top">17:00<br>
    17:30</td>
    <td valign="top">Day wrap-up: questions and doubts</td>
    <td valign="top">&nbsp;</td>
  </tr>
  <tr align="left">
    <td valign="top"> 17:30</td>
    <td valign="top"><i>End of day. Exercise/discussion time for the ones that want to stay longer </i></td>
    <td valign="top">&nbsp;</td>
  </tr>
  </tbody> 
</table>
  
<p class="MsoNormal"><b><span style="font-size: 11pt;">&nbsp;Friday the 19<sup>th:</sup> 
  </span>Project integration </b></p>
  <div class="Section1"> 
    
  <table border="1" cellpadding="0" cellspacing="0" width="100%">
    <tbody> 
    <tr align="left"> 
      <td valign="top" width="10%"> <b>Time</b></td>
      <td valign="top" width="50%"> <b>Program</b></td>
      <td valign="top" width="40%"> <b>Notes</b></td>
    </tr>
    <tr align="left"> 
      <td valign="top">09:00<br>
09:30 </td>
      <td valign="top" class="MsoNormalTable"><p class="MsoNormal">What ACS nightmares did you have? Questions and answers.</p></td>
      <td valign="top" class="MsoNormalTable">This should be a little discussion at the start of each course day.</td>
    </tr>
    <tr> 
      <td valign="top">09:30<br>
        10:00</td>
      <td valign="top">Baci properties: <a
 href="ACSCourse-CharComp.ppt">Concepts</a></td>
      <td valign="top">G.Chiozzi</td>
    </tr>
    <tr> 
      <td valign="top">10:00<br>
        10:30</td>
      <td valign="top">Baci properties: <a href="ACSCourse-Mount2.ppt">C++ API</a></td>
      <td valign="top">G.Chiozzi</td>
    </tr>
    <tr align="left">
      <td valign="top">10:30<br>
    11:00</td>
      <td valign="top">Coffee break </td>
      <td valign="top">&nbsp;</td>
    </tr>
    <tr>
      <td valign="top">11:00<br>
        12:00</td>
      <td valign="top">Exercises:<br>
    Extend the interface of your Component with properties and implement it. Use ObjectExplorer to create monitors and diagrams. </td>
      <td valign="top">Exercise time. </td>
    </tr>
    <tr>
      <td valign="top">12:00<br>
  13:00</td>
      <td valign="top">Lunch</td>
      <td valign="top">&nbsp;</td>
    </tr>
    <tr>
      <td valign="top">13:00<br>
        14:00</td>
      <td valign="top">Integration of our project and integration tests. </td>
      <td valign="top">&nbsp;</td>
    </tr>
    <tr class="MsoNormalTable">
      <td height="59" valign="top">14:00<br>
    15:00</td>
      <td valign="top">Course wrap-up, summary, feedback, etc </td>
      <td valign="top">&nbsp;</td>
    </tr>
    <tr>
      <td valign="top">15:00</td>
      <td valign="top"><p class="MsoNormal"><i>End of course</i></p></td>
      <td valign="top"><em>ACS team available until 17:00 for discussions. </em></td>
    </tr>
    </tbody> 
  </table>
    <p>&nbsp;</p>
</div>
  
<div class="Section1">
    <h2 class="MsoNormal">Advanced track</h2>
    <p class="MsoNormal">In the advanced track we plan to have the days split normally in two/three sections:</p>
    <ul>
      <li>Advanced lesson topics<br>
      One section will go in depth with important ACS topics.<br>
      This will have the form of lesson/presentation, with exercices and dsicussions.</li>
      <li>Design workshop.<br>
      One section will see a group presenting the design/architecture for one of their subsystems or a problem to discuss.<br>
      The participants will discuss together and with the help of the ACS team we will come with a solution that uses at the best the features and facilities provided by ACS.<br>
      This will be great opportunity for different groups to compare the approach they have taken to solve their problems and to get fresh ideas from other groups.</li>
  </ul>
    <p>The selection of topics is flexible and we can also split the class in two separate groups if we have highly relevant topics that are of interest only to a subset of the participants. </p>
    <p class="MsoNormal"><b><span style="font-size: 11pt;">&nbsp;</span></b><b><span

 style="font-size: 11pt;">Tuesday the 16<sup>th</sup>: </span></b></p>
    <div class="Section1">
      <table border="1" cellpadding="0" cellspacing="0" width="100%">
        <tbody>
          <tr align="left">
            <td valign="top" width="10%"><b>Time</b></td>
            <td valign="top" width="50%"><b>Program</b></td>
            <td valign="top" width="40%"><b>Notes</b></td>
          </tr>
          <tr>
            <td valign="top">09:00<br>
              09:30</td>
            <td align="left" valign="top" class="MsoNormalTable"><p class="MsoNormal">What ACS nightmares did you have? Questions and answers.</p></td>
            <td align="left" valign="top" class="MsoNormalTable">This should be a little discussion at the start of each course day.</td>
          </tr>
          <tr>
            <td valign="top">09:30<br>
          12:00</td>
            <td valign="top">ACS Logging and Error Systems: usage and applications</td>
            <td valign="top">&nbsp;</td>
          </tr>
          <tr>
            <td valign="top">12:00<br>
          13:00</td>
            <td valign="top">Lunch</td>
            <td valign="top">&nbsp;</td>
          </tr>
          <tr>
            <td valign="top">13:00<br>
    15:00</td>
            <td valign="top">ACS Alarm System: usage and applications </td>
            <td valign="top">&nbsp;</td>
          </tr>
          <tr>
            <td valign="top">15:00<br>
              17:30</td>
            <td valign="top"><em>Design workshop.</em></td>
            <td valign="top"><em>A group proposes a tipoic to be discussed: the design and/or the architecture or an applications or an implementation problem to be analyzed together.</em></td>
          </tr>
          <tr>
            <td valign="top">17:30</td>
            <td valign="top"><p class="MsoNormal"><i>End of day </i></p></td>
            <td valign="top">&nbsp;</td>
          </tr>
        </tbody>
      </table>
    </div>
    <p class="MsoNormal"><b><span

 style="font-size: 11pt;">Wednesday the 17<sup>th</sup>: </span></b></p>
    <div class="Section1">
      <table border="1" cellpadding="0" cellspacing="0" width="100%">
        <tbody>
          <tr align="left">
            <td valign="top" width="10%"><b>Time</b></td>
            <td valign="top" width="50%"><b>Program</b></td>
            <td valign="top" width="40%"><b>Notes</b></td>
          </tr>
          <tr>
            <td valign="top">09:00<br>
    09:30</td>
            <td align="left" valign="top" class="MsoNormalTable"><p class="MsoNormal">What ACS nightmares did you have? Questions and answers.</p></td>
            <td align="left" valign="top" class="MsoNormalTable">This should be a little discussion at the start of each course day.</td>
          </tr>
          <tr>
            <td valign="top">09:30<br>
12:00</td>
            <td valign="top"><p>Multi-threading with ACS libraries in CPP and/or Java.</p>
              <ul>
                <li> Management of multiple threads.</li>
                <li> Component's threads.</li>
                <li> Synchronisation.</li>
            </ul></td>
            <td valign="top">&nbsp;</td>
          </tr>
          <tr>
            <td valign="top">12:00<br>
13:00</td>
            <td valign="top">Lunch</td>
            <td valign="top">&nbsp;</td>
          </tr>
          <tr>
            <td valign="top">13:00<br>
    15:00</td>
            <td valign="top">Using the ACS Bulk Data to transfer big amounts of data (images, scientific data) (constraints: can be only Wednesday orThursday)</td>
            <td valign="top">&nbsp;</td>
          </tr>
          <tr>
            <td valign="top">15:00<br>
17:30</td>
            <td valign="top"><em>Design workshop.<br>
            Architecture and design of the ATM (atmospheric) software for ALMA            </em></td>
            <td valign="top"><em>A group proposes a tipoic to be discussed: the design and/or the architecture or an applications or an implementation problem to be analyzed together.</em></td>
          </tr>
          <tr>
            <td valign="top">17:30</td>
            <td valign="top"><p class="MsoNormal"><i>End of day </i></p></td>
            <td valign="top">&nbsp;</td>
          </tr>
        </tbody>
      </table>
      <p class="MsoNormal"><b><span

 style="font-size: 11pt;">Thursday the 18<sup>th</sup>: </span></b></p>
      <div class="Section1">
        <table border="1" cellpadding="0" cellspacing="0" width="100%">
          <tbody>
            <tr align="left">
              <td valign="top" width="10%"><b>Time</b></td>
              <td valign="top" width="50%"><b>Program</b></td>
              <td valign="top" width="40%"><b>Notes</b></td>
            </tr>
            <tr>
              <td valign="top">09:00<br>
    09:30</td>
              <td align="left" valign="top" class="MsoNormalTable"><p class="MsoNormal">What ACS nightmares did you have? Questions and answers.</p></td>
              <td align="left" valign="top" class="MsoNormalTable">This should be a little discussion at the start of each course day.</td>
            </tr>
            <tr>
              <td valign="top">09:30<br>
12:00</td>
              <td valign="top">Using the ACS Notification Channel </td>
              <td valign="top">&nbsp;</td>
            </tr>
            <tr>
              <td valign="top">12:00<br>
13:00</td>
              <td valign="top">Lunch</td>
              <td valign="top">&nbsp;</td>
            </tr>
            <tr>
              <td valign="top">13:00<br>
    15:00</td>
              <td valign="top"> Real time control with ACS:
                <ul>
                  <li>RTAI support (B.Jeram) </li>
                  <li>Building a kernel module (T.Juerges) </li>
                  <li>Other options: VxWork</li>
              </ul></td>
              <td valign="top">&nbsp;</td>
            </tr>
            <tr>
              <td valign="top">15:00<br>
17:30</td>
              <td valign="top"><em>Design workshop.</em></td>
              <td valign="top"><em>A group proposes a tipoic to be discussed: the design and/or the architecture or an applications or an implementation problem to be analyzed together.</em></td>
            </tr>
            <tr>
              <td valign="top">17:30</td>
              <td valign="top"><p class="MsoNormal"><i>End of day </i></p></td>
              <td valign="top">&nbsp;</td>
            </tr>
          </tbody>
        </table>
      </div>
      <p class="MsoNormal"><b><span

 style="font-size: 11pt;">Friday the 19<sup>th</sup>: </span></b></p>
      <div class="Section1">
        <table border="1" cellpadding="0" cellspacing="0" width="100%">
          <tbody>
            <tr align="left">
              <td valign="top" width="10%"><b>Time</b></td>
              <td valign="top" width="50%"><b>Program</b></td>
              <td valign="top" width="40%"><b>Notes</b></td>
            </tr>
            <tr>
              <td valign="top">09:00<br>
    09:30</td>
              <td align="left" valign="top" class="MsoNormalTable"><p class="MsoNormal">What ACS nightmares did you have? Questions and answers.</p></td>
              <td align="left" valign="top" class="MsoNormalTable">This should be a little discussion at the start of each course day.</td>
            </tr>
            <tr>
              <td valign="top">09:30<br>
11:00</td>
              <td valign="top"><p>Testing strategies in distributed and asynchronous systems </p>
              </td>
              <td valign="top">&nbsp;</td>
            </tr>
            <tr>
              <td valign="top">11:00<br>
    12:00</td>
              <td valign="top"><p>Understanding ACS Properties: creating DevIOs, monitoring, alarms </p>
              </td>
              <td valign="top">&nbsp;</td>
            </tr>
            <tr>
              <td valign="top">12:00<br>
13:00</td>
              <td valign="top">Lunch</td>
              <td valign="top">&nbsp;</td>
            </tr>
            <tr>
              <td valign="top">13:00<br>
17:30</td>
              <td valign="top">Generalized TCS (gTCS) (from R.Lemke)<br>
What would interest me are the following questions: 
                <ul>
                  <li> Where is the border line between real time and non real time OS (minimal real time, or simply everything in RT)? <br>
    Here it would be good if all available TCS system could be presented and it should made clear where the line is.</li>
                  <li> What should be supported in the initial gTCS IDL?</li>
                  <li> Where will be the different modes (scanning, pointing corrections, guiding) implemented (all in one IDL, or different modules, what are the real time requirements?)? </li>
                  <li> Is there an acceptance from the other teams? Would they allow to test out the gTCS, or even maybe adapt it to their running systems? <br>
    Of cause we should iterate.</li>
              </ul></td>
              <td valign="top">&nbsp;</td>
            </tr>
            <tr>
              <td valign="top">14:00</td>
              <td valign="top"><p class="MsoNormal"><i>Joint final session </i></p></td>
              <td valign="top">&nbsp;</td>
            </tr>
            <tr>
              <td valign="top">15:00</td>
              <td valign="top"><p class="MsoNormal"><i>Real end of course</i></p></td>
              <td valign="top">&nbsp;</td>
            </tr>
          </tbody>
        </table>
      </div>
    </div>
    <p class="style3">Here are a few other topics that could be interesting for a discussion. <br>
    Please let us have as soon a possible  further suggestions and proposals for the design workshops:</p>
    <ul>
      <li><strong><em>ACS Code Generation. The ACS Generator</em></strong></li>
      <li><strong><em>ACS IDL Simulator</em></strong></li>
    </ul>
    <p class="MsoNormal"><b><span

 style="font-size: 11pt;">-----------------------</span></b><b><span

 style="font-size: 11pt;">&nbsp;</span></b></p>
    <h2 class="H2">Course examples</h2>
    <p>During the whole course, the presentations will mostly develop one single example 
      (a telescope Mount or something similar).</p>
    <p>The code for the example is in the ACS CVS archive under: ACS/LGPL/CommonSoftware/acscourse.</p>
    <p>You can fing here:</p>
</div>
  
<ul>
  <li> 
    <div class="Section1">The <a href="acscourse">directory structure of the acscourse 
      module</a></div>
  </li>
  <li>The <a href="acscourse/ws/doc/idl/html/index.html">IDL</a> and <a

 href="acscourse/ws/doc/api/html/index.html">API</a> documentation for the module 
    generated by doxygen</li>
</ul>
<div class="Section1"> 
  <h2 class="H2">Course exercises</h2>
  <p class="MsoNormal">During the course we will form groups that will develop 
    and exend an exercise.</p>
  <p class="MsoNormal">The main idea is to think about a project where every group will have to develop a part.</p>
  <p class="MsoNormal">At the end of the course, all parts will have to be integrated together and function as a single system.</p>
  <p class="MsoNormal">In this way we will go through all phases of a project using ACS and the Software Engineering practices supported and fostered by ACS, from inception to definition of interfaces, implementation, testing and integration. A major part of the work will actually to understand (and apply) the lilfe-cycle of a project using ACS and the SE practices use in the ALMA project.</p>
  <p class="MsoNormal style2"><strong><em>---&gt; What could be the project we want to develop together? Any suggestions?</em></strong></p>
  <p class="MsoNormal">These are <strong>examples from previous courses:</strong><br>
  </p>
</div>
{'fraction_non_alphanumeric': 0.1794664268585132, 'fraction_numerical': 0.02636390887290168, 'mean_word_length': 2.896799439317837, 'pattern_counts': {'":': 0, '<': 2839, '<?xml version=': 0, '>': 2839, 'https://': 0, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4416334', 'n_tokens_mistral': 24129, 'n_tokens_neox': 22077, 'n_words': 6148}