Stephanie Allison Software Mar 2, 2006 IOC Applications Host Applications Directory Structure Environment Setup Issues.

Slides:



Advertisements
Similar presentations
Epics Configuration Management Steve Hunt v1.0. Goals Maximize control system availability Minimize development cycle time Reduce risk.
Advertisements

05/11/2001 CPT week Natalia Ratnikova, FNAL 1 Software Distribution in CMS Distribution unitFormContent Version of SCRAM managed project.
Introduction to Maven 2.0 An open source build tool for Enterprise Java projects Mahen Goonewardene.
1 1999/Ph 514: Working With an IOC EPICS Working with an IOC Marty Kraimer APS.
1 2003/P571: IOC Development Environment EPICS IOC Development Environment with EPICS on Ubuntu Based on “IOC Development Envirnment” by Andrew Johnson,
Developing in CAS. Why? As distributed you edit CAS 3 with Eclipse and build with Maven 2 – Best Practice for Release Engineering – Difficult edit-debug.
Status of VDCT Mark Pleško, Matej Šekoranja, John Maclean EPICS Meeting – Japan, 2004.
EPICS Noboru Yaamamoto Jan 27, 2009 for EPICS seminar at RRCAT, Indore Installing EPICS.
Using Eclipse. Getting Started There are three ways to create a Java project: 1:Select File > New > Project, 2 Select the arrow of the button in the upper.
® IBM Software Group © 2010 IBM Corporation What’s New in Profiling & Code Coverage RAD V8 April 21, 2011 Kathy Chan
LINUX-WINDOWS INTERACTION. One software allowing interaction between Linux and Windows is WINE. Wine allows Linux users to load Windows programs while.
OpenVMS System Management A different perspective by Andy Park TrueBit b.v.
MC365 Ant. Today We Will Cover: Overview of Ant Installing Ant Using the Ant command line tool Various Ant commands available Using Ant in Eclipse.
Low level CASE: Source Code Management. Source Code Management  Also known as Configuration Management  Source Code Managers are tools that: –Archive.
Packaging of EPICS-basedControl System Software
The easy way to a nice looking website design By a total non-designer (Me!)
Automating the Build Process using ANT SE-2030 Dr. Mark L. Hornick 1.
Introduction to The Linaro Toolchain Embedded Processors Training Multicore Software Applications Literature Number: SPRPXXX 1.
1 Introduction to Tool chains. 2 Tool chain for the Sitara Family (but it is true for other ARM based devices as well) A tool chain is a collection of.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
Input/Output Controller (IOC) Overview Andrew Johnson Computer Scientist, AES Controls Group.
Project Source Code Structure and Build Process ● Remember consistency matters as source code structure, build process, and release processes are all intertwined.
SKA/KAT SPIN Presentation Software Engineering (!?) Robert Crida.
Automating the Build Process using Ant SE-2030 Dr. Rob Hasker 1 Based on material by Dr. Mark L. Hornick.
Handling of Unix Application Software Stephan Wiesand DESY -DV - May 25, 2004.
Section 1: Introducing Group Policy What Is Group Policy? Group Policy Scenarios New Group Policy Features Introduced with Windows Server 2008 and Windows.
Main Bullet #1 Main Bullet #2 Main Bullet #3 EPICS and CLS September 18, 2009.
Guideline: How to build AMSS source code? History: 01/02/ Make Draft 05/02/2010 – Release /02/2010 – Updated.
INFSOM-RI Juelich, 10 June 2008 ETICS - Maven From competition, to collaboration.
Ant Build Tools.  Creating a product from source may take several steps: Compile Link Copy files to various directories Remove intermediate files Generate.
Tutorial build Main ideas –Reuse as much previously obtained configuration information as possible: from Babel, cca-spec-babel, etc. –Extract all irrelevant.
1 1999/Ph 514: IOC Development Environment EPICS IOC Development Environment Marty Kraimer APS.
Automating the Build Process using ANT SE-2030 Dr. Rob Hasker 1 Based on material by Dr. Mark L. Hornick.
Final Review of ITER PBS 45 CODAC – PART 1 – 14 th, 15 th and 16 th of January CadarachePage 1 FINAL DESIGN REVIEW OF ITER PBS 45 CODAC – PART 1.
CERN-PH-SFT-SPI August Ernesto Rivera Contents Context Automation Results To Do…
Ant & Jar Ant – Java-based build tool Jar – pkzip archive, that contains metadata (a manifest file) that the JRE understands.
Disk Layout/Productization Proposal Ron Rechenmacher and Geoff Savage.
ALICE Use of CMF (CC) for the installation of OS and basic S/W OPC servers and other special S/W installed and configured by hand PVSS project provided.
EPICS Application Development At The Canadian Light Source Glen Wright.
Surya Bahadur Kathayat Outline  Ramses  Installing Ramses  Ramses Perspective (Views and Editors)  Importing/Exporting Example.
More Unix Naomi Altman. Directories Directory = folder mkdir - makes a new directory rmdir - removes an empty directory cd mydirectory - moves you into.
Yannick Patois - Datagrid Software Repository Presentation - March, n° 1 Datagrid Software Repository Presentation CVS, packages and automatic.
® IBM Software Group © 2006 IBM Corporation Rational Asset Manager v7.2 Using Scripting Tutorial for using command line and scripting using Ant Tasks Carlos.
EPICS Noboru Yaamamoto July 11, 2006 for EPICS seminar at VECC,Kolkata Installing EPICS.
How to configure, build and install Trilinos November 2, :30-9:30 a.m. Jim Willenbring.
(1) Code Walkthrough robocode-pmj-dacruzer Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of.
Disk Layout/Productization Proposal Ron Rechenmacher and Geoff Savage.
Stanford Linear Accelerator Center Stephanie AllisonEPICS Meeting June, Porting EtherIP to EPICS 3.14 Usage at SPEAR IOC Software Porting Notes 3.13/3.14.
EPEL All Hands Meeting, Padova, Mattias Ellert Uppsala University.
EPIC S Noboru Yaamamoto July 11, 2006 for EPICS seminar at VECC,Kolkata Installing EPICS.
IOC Application Development / Debugging
CSC 215 : Procedural Programming with C
Play Framework: Introduction
Download TPL.zip to some directory
EPICS and CLS September 18, 2009.
Relational Database Collaboration
Testing Activities on the CERT-TB Status report
June 2011 David Front Weizmann Institute
More Scripting & Chapter 11
CMPE 152: Compiler Design ANTLR 4 and C++
Building Web Applications
JavaTeaching and Importing a github repository
Software Installation
Tonga Institute of Higher Education
Installing and running the local check and grader projects in Eclipse
Carthage ios 8 onwards Dependency manager that streamlines the process of integrating the libraries into the project.
PyWBEM Python WBEM Client: Overview #2
Nominal Technologies for Modelling and High Level Applications of LCLS
A New Production Environment for LCLS Controls System
Plug-In Architecture Pattern
Presentation transcript:

Stephanie Allison Software Mar 2, 2006 IOC Applications Host Applications Directory Structure Environment Setup Issues and To-Do Software Infrastructure LCLS Control SW Meeting, Mar 2, 2006

Stephanie Allison Software Mar 2, 2006 IOC Applications Base SLC Restore IPAC App-Unique App-Shared RTEMS Apps RTEMS Loads on top of RTEMS Apps built from many pieces Some pieces shared with other projects and sites Some pieces shared between apps but not other projects Other pieces are unique to the specific app Sequences and DBs Very special record, device, drivers Test programs (ie, test some functionality on soft IOC or w/o EPICS) What else

Stephanie Allison Software Mar 2, 2006 EPICS-version dependent File I/O mostly on startup Use small set of standard packages – rtems, gcc, perl, gnumake, snc, debugger Collaboration development environment pretty mature Not all pieces work for all target architectures (linux, beatnik, uC5282) IOC Applications (cont)

Stephanie Allison Software Mar 2, 2006 Host Applications Usually large programs Taylor to fit Lots of file I/O Not all EPICS- version dependent Some require “exotic” packages More system management needs Config Files Data Files Env VarsStartup Options

Stephanie Allison Software Mar 2, 2006 Source sometimes needs tweaks to meet site-unique requirements rtemizing adding more env vars and startup options for more flexibility patches (ie, EPICS base) File backup – AFS for source Source control – CVS Data output files - NFS IOC and Host Applications

Stephanie Allison Software Mar 2, 2006 /afs/slac/g/lcls ($LCROOT) 3.14.x.x-epics – epics version-dependent source epics ($EPICS) – link to latest version of epics tools ($TOOLS) – epics version-independent host tools, scripts, config files (except for large packages below) xal ($XAL) – high-level physics apps and XAL “base” cmlog $(CMLOG) – common message logger matlab $(MAT) – xal and epics version-independent matlab scripts and config files maintained by controls Reference Area Directory Structure

Stephanie Allison Software Mar 2, 2006 /afs/slac/g/lcls/epics – epics-version dependent base - from APS site – from other sites or developed here and shared, in general, only ioc code here (exception – SNC) ioc – ioc apps and startup scripts extensions – host tools, some executable scripts, NO ioc code here *config – setup scripts (no executable scripts) *edm – config files and displays *other extension config files * note – see issues later base, site, extensions installed bin and lib areas in PATH and LD_LIBRARY_PATH

Stephanie Allison Software Mar 2, 2006 /afs/slac/g/lcls/epics/base, site, extensions Directories imported into CVS and then checked out: configure – 3.14-style configuration files for gnumake config – 3.13-style configuration files for gnumake (extensions-only) src – top level directory of source for various packages Directories installed by gnumake: bin – RTEMS loadable objects and host executable scripts and executables lib – static and dynamic shared libraries javalib – jar and java files (extensions only) db, dbd – db, template, and db definition files (base and site only) include – shared include files doc and html – documentation (copy to wiki) Only bin, lib, javalib, db, and dbd needed for running base built for all targets site built for subset of targets extensions built for host target only

Stephanie Allison Software Mar 2, 2006 /afs/slac/g/lcls/epics/ioc – ioc apps and startup scripts configure - build configuration files App – applications iocBoot – startup files and ioc-related configuration files for iocConsole, dhcp, etc installation directories (bin, db, dbd), expect very few files under include and lib Only bin, db, dbd needed for running Apps are target-dependent

Stephanie Allison Software Mar 2, 2006 /afs/slac/g/lcls/tools – epics-version independent Directories imported into CVS and then checked out: vdct, archiveViewer, etc – so far, only java apps script – executable scripts, included in PATH, all non-XAL java apps should have a script here, scripts to run extensions, etc, no non-exec setup scripts Directories created by build (or manually): javalib – jar and java files TBD Only script and javalib needed for running Some packages require manual copy of jar file from source area to javalib (unless build.xml is changed to do it) Built for host target only.

Stephanie Allison Software Mar 2, 2006 In general, CVS repository structure matches reference area Once in production, reference area becomes read-only and is updated using only CVS Add README file to each significant directory Add Makefile at all levels, when possible All non-exec setup scripts, config files, and standalone startup files go under a directory called “config” All executable scripts go under “script” which is then added to PATH (exception – those that come with epics packages) No data files in the reference area. Reference area is for source and installed files only. Reference Area Comments

Stephanie Allison Software Mar 2, 2006 Right now, $EPICS/config/epicsReset.bash and.csh will reset any existing environment and set it to LCLS. Use epicsSetup.* if you don’t want PATH, etc, reset. When a new extension or tool is added that needs env vars, add defaults to epicsSetup. If a tool requires many variables, create a config setup file and change epicsSetup to call it. CLASSPATH is not set here – instead set using java option in exec script. Nothing should be done in epicsSetup that changes a user’s home area (adds or removes files). Put that in the exec script. Environment Setup

Stephanie Allison Software Mar 2, 2006 Some files under $EPICS are not epics-version independent and need to be moved out. Environment setup files should allow selection of epics version with default being the one in production. How to use the same RELEASE file for different EPICS versions. Need plan for moving files to production. Also, plan for CVS branches. Other production issues … Better way to choose which site packages and which ioc apps are built for uC5282 too (or only). Be nice if the shared NFS data area had a similar structure as the source area. Issues and To-Do