Tutorial build Main ideas –Reuse as much previously obtained configuration information as possible: from Babel, cca-spec-babel, etc. –Extract all irrelevant.

Slides:



Advertisements
Similar presentations
EPrints Web Configuratio n Management. SQL database Web server Scripts to configure repository activities Configuration files EPrints - the Administrator's.
Advertisements

Configuration management
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.
Building Localized Applications with Microsoft.NET Framework and Visual Studio.NET Achim Ruopp International Program Manager Microsoft Corp.
BASIS Quick Start Guide by Andreas Schuh.  Introduction  Installing BASIS  Creating a New Project  Installing Your Project  Adding Executables 
Mr. D. J. Patel, AITS, Rajkot 1 Operating Systems, by Dhananjay Dhamdhere1 Static and Dynamic Memory Allocation Memory allocation is an aspect of a more.
 Copyright 2005 Digital Enterprise Research Institute. All rights reserved. The Web Services Modeling Toolkit Mick Kerrigan.
Software Frame Simulator (SFS) Technion CS Computer Communications Lab (236340) in cooperation with ECI telecom Uri Ferri & Ynon Cohen January 2007.
Java Integrated Development Environments: ECLIPSE Part1 Installation.
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of Creating Eclipse plug-ins.
7 th ACS Workshop 2010 Antofagasta, Chile ACS Project Lifecycle Matias Mora (based on presentation by G. Chiozzi and J. Ibsen)
BizTalk Deployment using Visual Studio Release Management
Apache : Installation, Configuration, Basic Security Presented by, Sandeep K Thopucherela, ECE Department.
Web Applications Basics. Introduction to Web Web features Clent/Server HTTP HyperText Markup Language URL addresses Web server - a computer program that.
Using Ant to build J2EE Applications Kumar
Linux Operations and Administration
Deploying Dynamics Applications Thomas Hansen – Director, appSolutions a|s
DAT602 Database Application Development Lecture 15 Java Server Pages Part 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.
This chapter is extracted from Sommerville’s slides. Text book chapter
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
SCRAM Software Configuration, Release And Management Background SCRAM has been developed to enable large, geographically dispersed and autonomous groups.
DEPARTMENT OF COMPUTER SCIENCE & TECHNOLOGY FACULTY OF SCIENCE & TECHNOLOGY UNIVERSITY OF UWA WELLASSA ‏ Packages.
Apache Server The Apache Server Apache is a WWW server that implements the HTTP protocol. Apache runs as a daemon. This means that it is a resident.
Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary.
CCA Port, Component & Application Build Skeleton Templates “A new script toolkit for generating CCA build skeletons” Torsten Wilde and James Kohl Oak Ridge.
Project Source Code Structure and Build Process ● Remember consistency matters as source code structure, build process, and release processes are all intertwined.
C Copyright © 2009, Oracle. All rights reserved. Appendix C: Service-Oriented Architectures.
Lab 11 Department of Computer Science and Information Engineering National Taiwan University Lab11 - Porting 2014/12/9/ 26 1.
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
Operating Systems Lecture 4. Agenda for Today Review of previous lecture Operating system structures Operating system design and implementation UNIX/Linux.
Makefiles. makefiles Problem: You are working on one part of a large programming project (e. g., MS Word).  It consists of hundreds of individual.cpp.
Kernel Modules Giving your Linux more pop since 1995.
Managing SX.e and TWL with MARC and Scripts Jeremiah Curtis
Ant & Jar Ant – Java-based build tool Jar – pkzip archive, that contains metadata (a manifest file) that the JRE understands.
Roll Screen Development Debugging assistance for building Rocks Rolls with screens OSGC, May 2008 Nadya Williams University of Zurich.
Guide to Linux Installation and Administration, 2e1 Chapter 11 Using Advanced Administration Techniques.
October 10-11, 2002 Houston, Texas Erik DeBenedictis William McLendon Mike Carifio Sandia is a multiprogram laboratory operated by Sandia Corporation,
Good Morning! f Tuesday, 28 January FPCLTF and CLHEP Walter E. Brown f Fermi National Accelerator Laboratory Z O O M.
ASP (Active Server Pages) by Bülent & Resul. Presentation Outline Introduction What is an ASP file? How does ASP work? What can ASP do? Differences Between.
14th Oct 2005CERN AB Controls Development Process of Accelerator Controls Software G.Kruk L.Mestre, V.Paris, S.Oglaza, V. Baggiolini, E.Roux and Application.
Managing SX.e and TWL with scripts and MARC 02/12/04 Jeremiah Curtis.
J.P. Wellisch, CERN/EP/SFT SCRAM Information on SCRAM J.P. Wellisch, C. Williams, S. Ashby.
1 Chapter 12 Configuration management This chapter is extracted from Sommerville’s slides. Text book chapter 29 1.
Building Packages BCIS 3680 Enterprise Programming.
1 G52IWS: Example Web-services Chris Greenhalgh. 2 Contents Software requirements AXIS web service run-time components Getting started with Jetty & AXIS.
Modern Programming Language. Web Container & Web Applications Web applications are server side applications The most essential requirement.
1 Object-Oriented Analysis and Design with the Unified Process Figure 13-1 Implementation discipline activities.
Multiple File Compilation and linking By Bhumik Sapara.
Hyperion Artifact Life Cycle Management Agenda  Overview  Demo  Tips & Tricks  Takeaways  Queries.
Lab 8 Overview Apache Web Server. SCRIPTS Linux Tricks.
Working with Packages BCIS 3680 Enterprise Programming.
Build Tools 1. Building a program for a large project is usually managed by a build tool that controls the various steps involved. These steps may include:
Scripting Languages Info derived largely from Programming Language Pragmatics, by Michael Scott.
January 9, 2001 Router Plugins (Crossbow) 1 Washington WASHINGTON UNIVERSITY IN ST LOUIS Exercises.
CCA Common Component Architecture CCA Forum Tutorial Working Group Contributors: Introduction to the Ccaffeine Framework.
Tivoli Provisioning Manager V5.1 FP1 © 2006 IBM Corporation L2 GO Training Local TCA Install Przemyslaw Maciolek
Visual Programming Borland Delphi. Developing Applications Borland Delphi is an object-oriented, visual programming environment to develop 32-bit applications.
“Port Monitor”: progress & open questions Torsten Wilde and James Kohl Oak Ridge National Laboratory CCA Forum Quarterly Meeting Santa Fe, NM ~ October.
Aa Scripting SPM analyses using aa Rhodri Cusack.
An Introduction to Ant. What is Ant? How do you use it? Why would you want to?
9/21/04 James Gallagher Server Installation and Testing: Hands-on ● Install the CGI server with the HDF and FreeForm handlers ● Link data so the server.
Stephanie Allison Software Mar 2, 2006 IOC Applications Host Applications Directory Structure Environment Setup Issues.
Node.js Modules Header Mastering Node.js, Part 2 Eric W. Greene
BASIS Quick Start Guide
Scripting Languages Info derived largely from Programming Language Pragmatics, by Michael Scott.
Writing simple Java Web Services using Eclipse
PHP / MySQL Introduction
ESIS Consulting LLC (C) ESIS Consulting LLC. All rights reserved
SPL – PS1 Introduction to C++.
Presentation transcript:

Tutorial build Main ideas –Reuse as much previously obtained configuration information as possible: from Babel, cca-spec-babel, etc. –Extract all irrelevant (from the user’s point of view) makefile details into a few templates and top-level makefiles

User point of view To add a new port and/or component –Place sidl definitions in ports/sidl/ or components/sidl/ for ports/components, respectively –For components, edit components/MakeIncl.components, specifying the fully qualified component name and implementation language, e.g., integrators.MonteCarlo-f90 –Type ‘make’: XML generated and placed in xml_repository, port libraries built, server code generated with Babel and placed in directories corresponding to package hierarchy, dynamic and static server libraries built

Tutorial build Directory structure: src portscomponentslegacyxml_repositoryutils sidlpackage dirssidlpackage dirs Deployment: –install targets following toolkit conventions –tutorial-specific: student source tree creation

Makefiles Top-level simple configure (in src) –All Babel- and component-related configuration information reused from the Babel and cca-spec- babel configurations Top-level makefile Independent makefiles in port, component, and legacy subdirectories Makefile templates for building and installing –Port libraries –Component libraries and associated metadata (port & component makefile templates are very similar)

Deficiencies Rather rigid directory structure; not much flexibility in organization (e.g., configure only at top level) Small, but annoying differences in SIDL  XML processing for ports and components More common data can be extracted, e.g., from client and server makefile templates Required separation of ports and components SIDL packages. External dependencies must be added manually to 1.configure 2.MakeIncl.user for each component Helper scripts collection in utils/ is pretty haphazard More…

Things that will help Sniffing through the SIDL XML to discover what package component/port and whether it meets some sanity checks. –No longer require component and port to be in separate packages. –Better chance of doing the auto-install targets correctly Less of this -->

Eliminate Boyana Hack-Magic Less of this: #### Set path in RC files for the various tasks #### The wack-o sed command is necessary to escape the "/" in directories. #### Believe me, it works. Don't mess with it! -e "\n#### Creating Ccaffeine RC scripts for tutorial hands-on tasks"; \ escaped_dir=`echo $(LIB_DIR) | sed "s/\//\\\\\\\\\\\//g"` ;\ tasks="`ls examples/*.incl`"; \ for taskrc in $$tasks ; do \ newname="`echo $$taskrc | sed -e 's|\.incl||'`"; \ sed $$taskrc > $$newname ; \ done

Overlays in the Tutorial Src Tree Rob Armstrong

Take a hint from the Apache2 and Linux Modules Config Linux Kernel Modules –Dir /etc/modules.d Each file in that dir is interpreted as an autonomous configuration file: Typing “modules-update” picks up the info in modules.d and puts it in the operative /etc/modules.conf. capt-january$ ls /etc/modules.d #thinkpad# alsa cdma-card i386 svgalib thinkpad~ aliases alsa~ cdma-card~ ppp thinkpad xfree-drm capt-january$

Take a hint from the Apache2 and Linux Modules Config Apache2 has a similar augmentable config directory: –Here apache “sources” all of these as startup, there is no need for a second config file that combines these. capt-january$ ls /etc/apache2/conf/modules.d/ 00_apache_manual.conf 41_mod_ssl.default-vhost.conf 70_mod_php.conf 20_mod_ruby.conf 45_mod_dav.conf 40_mod_ssl.conf 47_mod_dav_svn.conf capt-january$

Tutorial-src would work in much the same way MakeIncl.user, components/Makeincl.components, become directories with separable files that provide config info. Advantage of placing components' source code in there is unclear, –probably not necessary if the config is detailed enough.

What it would look like. Each component would have its individual config file: The build system would source these individual files to determine where and how to build the components. –Advantage: extensible –The config directives can become richer over time but default to the ones we have now. capt-january$ ls components/config.d/ Function_F90 Integrator_CXX MyComponent_PY capt-january$