Carl Schumann 1 June 2012.

Slides:



Advertisements
Similar presentations
Introduction To GIT Rob Di Marco Philly Linux Users Group July 14, 2008.
Advertisements

Simple Git Steve Pieper. Topics Git considerations and Slicer Git as if it were svn Git the way it is meant to be.
© by Pearson Education, Inc. All Rights Reserved.
Copyright 2004 Monash University IMS5401 Web-based Systems Development Topic 2: Elements of the Web (g) Interactivity.
Conference Calendar CS 337 Project Supervised by Professor Russell Abbott. Alexandre Lomovtsev, Haritha Sankavaram, Lewis Chen, Rasha Mohamed.
CS 501 : An Introduction to SCM & GForge An Introduction to SCM & GForge Lin Guo
Low level CASE: Source Code Management. Source Code Management  Also known as Configuration Management  Source Code Managers are tools that: –Archive.
Introduction to CVS 7/3/20151UMBC CMSC 341. Outline Introduction to Source Code Management What is CVS? CVS for Project Submission Basic commands Checkout,
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Chapter 2: Operating-System Structures Modified from the text book.
Automated Tests in NICOS Nightly Control System Alexander Undrus Brookhaven National Laboratory, Upton, NY Software testing is a difficult, time-consuming.
CMSC 104, Version 9/011 Introduction to C Topics Compilation Using the gcc Compiler The Anatomy of a C Program 104 C Programming Standards and Indentation.
What is so good about Archie and RevMan 5
Database Updates Made Easy In WebFocus Using SQL And HTML Painter Sept 2011 Lender Processing Services 1.
SubVersioN – the new Central Service at DESY by Marian Gawron.
1 SEEM3460 Tutorial Unix Introduction. 2 Introduction What is Unix? An operation system (OS), similar to Windows, MacOS X Why learn Unix? Greatest Software.
Source Code Revision Control Software CVS and Subversion (svn)
Version Control with git. Version Control Version control is a system that records changes to a file or set of files over time so that you can recall.
Console Application Programming Brian Hendricks. Getting Started On the web –New user help adcon.fnal.gov/controls/clib/new_user.html –Library help adcon.fnal.gov/controls/libraries.html.
BIT 285: ( Web) Application Programming Lecture 07 : Tuesday, January 27, 2015 Git.
Git for Version Control These slides are heavily based on slides created by Ruth Anderson for CSE 390a. Thanks, Ruth! images taken from
Open Source Workshop1 IBM Software Group Working with Apache Tuscany A Hands-On Workshop Luciano Resende Haleh.
COMP1070/2002/lec3/H.Melikian COMP1070 Lecture #3 v Operating Systems v Describe briefly operating systems service v To describe character and graphical.
Unix Primer. Unix Shell The shell is a command programming language that provides an interface to the UNIX operating system. The shell is a “regular”
Subversion. What is Subversion? A Version Control System A successor to CVS and SourceSafe Essentially gives you a tracked, shared file system.
What is Sure BDCs? BDC stands for Batch Data Communication and is also known as Batch Input. It is a technique for mass input of data into SAP by simulating.
Tutorial 1 Getting Started with Adobe Dreamweaver CS3
Introduction to Visual Basic. Quick Links Windows Application Programming Event-Driven Application Becoming familiar with VB Control Objects Saving and.
Git – versioning and managing your software L. Grewe.
JTIMS Lesson Learned Initial Observation Capability LCDR Steven Jaureguizar JTIMS Program Manager.
HTML Hyper Text Markup Language A simple introduction.
Creating your first C++ program
SWEN 302: AGILE METHODS Roma Klapaukh & Alex Potanin.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 3: Operating-System Structures System Components Operating System Services.
Copyright © 2015 – Curt Hill Version Control Systems Why use? What systems? What functions?
Progress with migration to SVN Part3: How to work with g4svn and geant4tags tools. Geant4.
DireXions – Your Tool Box just got Bigger PxPlus Version Control System Using TortoiseSVN Presented by: Jane Raymond.
Practice and Evaluation. Practice Develop a java class called: SumCalculator.java which computes a sum of all integer from 1 to 100 and displays the result.
CVS – concurrent versions system Network Management Workshop intERlab at AIT Thailand March 11-15, 2008.
Study for Migration from CVS to SubVersion (SVN) Gunter Folger CERN/PH/SFT.
Microsoft Visual SourceSafe “(VSS) does not eliminate the need for discipline and coordination. It only makes discipline and coordination easier to live.
Algorithms  Problem: Write pseudocode for a program that keeps asking the user to input integers until the user enters zero, and then determines and outputs.
CVS – concurrent versions system AROC Guatemala July 19-23, 2010 Guatemala City, Guatemala.
South Dakota Library Network MetaLib Management Basics Categories Administration South Dakota Library Network 1200 University, Unit 9672 Spearfish, SD.
CMSC 104, Lecture 111 Introduction to C Topics l Compilation l Using the gcc Compiler l The Anatomy of a C Program l 104 C Programming Standards and Indentation.
CMSC 1041 Introduction to C Creating your first C program.
L.T.E :: Learning Through Experimenting Using google-svn for MtM Docs Development Denis Thibault Version 3.2 Mar 12 th, 2009.
Monitoring Directory Tutorial.
12 CVS Mauro Jaskelioff (originally by Gail Hopkins)
Version Control System
Yannick Patois - Datagrid Software Repository Presentation - March, n° 1 Datagrid Software Repository Presentation CVS, packages and automatic.
Laboratory 2 Group 19 The Group of Destiny. User Interface - Debugging Objectives:  Display: Sensor data (telemetry) – including IR sensors, status of.
Part 4: FCM and the UM University of Reading, December 2015.
Presentation OLOMOLA,Afolabi( ). Update Changes in CSV/SVN.
Introduction to Git Yonglei Tao GVSU. Version Control Systems  Also known as Source Code Management systems  Increase your productivity by allowing.
BESIII Offline Software Development Environment Ma qiumei * Development environment * Configuration & management tool * Software development.
Recitation 2: Abhijit Warkhedi2/25/20161 Today’s Agenda u CVS u GDB.
Linux Tutorial Lesson Two *Getting Help in Linux *Data movement and manipulation *Relative and Absolute path *Processes Note: see chapter 1,2,3 from Linux.
L071 Introduction to C Topics Compilation Using the gcc Compiler The Anatomy of a C Program Reading Sections
CVS repositories, and how to set them up for using CCPN.
OPERATING SYSTEMS (OS) By the end of this lesson you will be able to explain: 1. What an OS is 2. The relationship between the OS & application programs.
Git workflows: using multiple branches for parallel development SE-2800 Dr. Mark L. Hornick 1.
Problem Solving With C++ SVN ( Version Control ) April 2016.
Introduction to C Topics Compilation Using the gcc Compiler
Chapter 2: System Structures
Algorithms Problem: Write pseudocode for a program that keeps asking the user to input integers until the user enters zero, and then determines and outputs.
Gaudi software release procedures
Introduction to C Topics Compilation Using the gcc Compiler
Introduction to C Topics Compilation Using the gcc Compiler
Creating your first C program
Git started with git: 2018 edition
Presentation transcript:

Carl Schumann 1 June 2012

Assumptions You are familiar with the control system as a user. You are familiar with the Linux prompt. You know how to program in C. However, if I use terms without explanation that you don’t understand ask for clarification please. This presentation will get you started it will not make you an expert.

Types of C/C++ Development Applications Primary Applications (PA), e.g., Parameter Page “Text” May be mapped to index page(s) Secondary Applications (SA), e.g., Fast Time Plot “Graphics” Typically started by a PA User Libraries “clib” is the most prominent Users may create their own to share code across applications Services

Sample PA (Parameter Page)

Sample SA (Lex SA display)

The Tool Chest Mecca (now a meaningless acronym) Source code capture (CVS) Build system (make) Insures that all production code is captured User libraries (ULs), including “clib” Testing environments Z Page – test PA changes without committing W Page – allow others to try out your changes D7 – test SA changes without committing Debuggers – step through source code, etc. DDD - default Totalview

Documentation Controls Home Page "Linux Mecca“ under heading “Linux Controls” "Linux Mecca“ "Program Libraries“ in list across top of home page "Program Libraries“ Index Page and D7 – "Applications Linux“ next to “Program Libraries” on home page"Applications Linux“ PA Index Page PA0001 PA0323 – D7 PA0323 Example PAs on the X index page "New User“ – Introductions to several topics "New User“

The Index Page (a PA itself)

D7 (PA used for SA testing)

C vs C++ C++ is a complicated language. To use it properly takes some investment. C takes much less investment. You can create useful applications without using C++ features. For nearly all users I recommend sticking to the C subset.

PA Event Loop Event loop is responsible for handling user input Use PA4014 as a starting point PA4014’s main routine

Scenario – PA Modification Check out the existing source code mkdir cd mecca –-copy Modify the source code Build the changes, place on Z page, and test mecca –-dev debug_slot Commit changes mecca –-commit

A Note about mecca --copy The term copy is historical. (It was actually a copy for VMS Mecca.) On Linux it is really either Checkout if the directory is empty Update if the directory is non-empty This allows concurrent development. Copy semantics are simple but were error prone.

Scenario – PA Creation Create a working directory and allocate a PA number mkdir cd Mecca –-copy mecca –-newpa Provide description Rename working directory with PA name Build, place on Z page, and test mecca –-dev debug_slot Commit changes mecca –-commit

Scenario – Mapping a PA

Scenario – Using Test Libraries Edit depends.opt, e.g., change ul_clib to /export/home1/hendricks/cns/mecca/uls/ul_clib On the command line use testclib command to indicate which slots should use the test library. All user libraries are dynamic/shared so both steps are needed. depends.opt used to find headers at compile time testclib used to find shared library at run time

Scenario – Undoing Changes Modifications may be retreated. This can be done by anyone that notices or suspects an issue with a “recent” change. Use the mecca –-retreat command. The user will be given a history of changes and prompted for how far back to retreat.

Scenario – Examining History Mecca uses CVS (Concurrent Version System). So one can use CVS to do all sorts of useful things. There is a web interface to the CVS repository: “Linux CVS Repository" under “Linux Controls “ Two useful things to do: Look at “annotated” source code Look at differences Directory structure, i.e., mecca/pas/

Scenario – Monitoring Changes Mecca sends s to interested parties when code is changed. These s include links that allow one to see differences from on-site or via VPN. Use the mecca –-subscribe command.

Briefly Mecca maintains meta-information about applications, e.g., keeper and status. Mecca has diagnostic capabilities, e.g., the ability to run just the preprocessor. Use the.E target.

Q & A What was not clear? What more do you want to know? Thanks for taking time to educate yourselves about the control system.